33import { Event , Evented } from '../util/evented' ;
44import { getArrayBuffer } from '../util/ajax' ;
55import browser from '../util/browser' ;
6- import window from '../util/window' ;
76import assert from 'assert' ;
87import { isWorker } from '../util/util' ;
98
@@ -17,8 +16,7 @@ const status = {
1716
1817export type PluginState = {
1918 pluginStatus : $Values < typeof status > ;
20- pluginURL : ?string ,
21- pluginBlobURL : ?string
19+ pluginURL : ?string
2220} ;
2321
2422type ErrorCallback = ( error : ?Error ) => void ;
@@ -28,7 +26,6 @@ let _completionCallback = null;
2826//Variables defining the current state of the plugin
2927let pluginStatus = status . unavailable ;
3028let pluginURL = null ;
31- let pluginBlobURL = null ;
3229
3330export const triggerPluginCompletionEvent = function ( error : ?Error ) {
3431 if ( _completionCallback ) {
@@ -37,7 +34,7 @@ export const triggerPluginCompletionEvent = function(error: ?Error) {
3734} ;
3835
3936function sendPluginStateToWorker ( ) {
40- evented . fire ( new Event ( 'pluginStateChange' , { pluginStatus, pluginURL, pluginBlobURL } ) ) ;
37+ evented . fire ( new Event ( 'pluginStateChange' , { pluginStatus, pluginURL} ) ) ;
4138}
4239
4340export const evented = new Evented ( ) ;
@@ -48,7 +45,7 @@ export const getRTLTextPluginStatus = function () {
4845
4946export const registerForPluginStateChange = function ( callback : PluginStateSyncCallback ) {
5047 // Do an initial sync of the state
51- callback ( { pluginStatus, pluginURL, pluginBlobURL } ) ;
48+ callback ( { pluginStatus, pluginURL} ) ;
5249 // Listen for all future state changes
5350 evented . on ( 'pluginStateChange' , callback ) ;
5451 return callback ;
@@ -57,10 +54,6 @@ export const registerForPluginStateChange = function(callback: PluginStateSyncCa
5754export const clearRTLTextPlugin = function ( ) {
5855 pluginStatus = status . unavailable ;
5956 pluginURL = null ;
60- if ( pluginBlobURL ) {
61- window . URL . revokeObjectURL ( pluginBlobURL ) ;
62- }
63- pluginBlobURL = null ;
6457} ;
6558
6659export const setRTLTextPlugin = function ( url : string , callback : ?ErrorCallback , deferred : boolean = false ) {
@@ -85,12 +78,10 @@ export const downloadRTLTextPlugin = function() {
8578 pluginStatus = status . loading ;
8679 sendPluginStateToWorker ( ) ;
8780 if ( pluginURL ) {
88- getArrayBuffer ( { url : pluginURL } , ( error , data ) => {
81+ getArrayBuffer ( { url : pluginURL } , ( error ) => {
8982 if ( error ) {
9083 triggerPluginCompletionEvent ( error ) ;
9184 } else {
92- const rtlBlob = new window . Blob ( [ data ] , { type : 'application/javascript' } ) ;
93- pluginBlobURL = window . URL . createObjectURL ( rtlBlob ) ;
9485 pluginStatus = status . loaded ;
9586 sendPluginStateToWorker ( ) ;
9687 }
@@ -106,7 +97,7 @@ export const plugin: {
10697 isLoading : ( ) => boolean ,
10798 setState : ( state : PluginState ) => void ,
10899 isParsed : ( ) = > boolean ,
109- getURLs : ( ) => { blob: ?string , host : ? string }
100+ getPluginURL : ( ) => ?string
110101} = {
111102 applyArabicShaping : null ,
112103 processBidirectionalText : null ,
@@ -123,7 +114,6 @@ export const plugin: {
123114
124115 pluginStatus = state . pluginStatus ;
125116 pluginURL = state . pluginURL ;
126- pluginBlobURL = state . pluginBlobURL ;
127117 } ,
128118 isParsed ( ) : boolean {
129119 assert ( isWorker ( ) , 'rtl-text-plugin is only parsed on the worker-threads' ) ;
@@ -132,13 +122,9 @@ export const plugin: {
132122 plugin . processBidirectionalText != null &&
133123 plugin . processStyledBidirectionalText != null ;
134124 } ,
135- getURLs ( ) : { blob : ?string , host : ?string } {
136- assert ( isWorker ( ) , 'rtl-text-plugin urls can only be queried from the worker threads' ) ;
137-
138- return {
139- blob : pluginBlobURL ,
140- host : pluginURL ,
141- } ;
125+ getPluginURL ( ) : ?string {
126+ assert ( isWorker ( ) , 'rtl-text-plugin url can only be queried from the worker threads' ) ;
127+ return pluginURL ;
142128 }
143129} ;
144130
0 commit comments