@@ -86,6 +86,8 @@ window.app.profiles[window.app.profiles.HTTP_PROFILER].is_enabled = false;
8686
8787window . app . build_application = function ( on_services_created , on_services_enabled )
8888{
89+ var app_ctx = { } ;
90+ app_ctx . messages = window . messages ;
8991 var _find_compatible_version = function ( version , version_list )
9092 {
9193 var
@@ -148,6 +150,14 @@ window.app.build_application = function(on_services_created, on_services_enabled
148150
149151 window . messages . clear_session_listeners ( ) ;
150152
153+ var session_ctx =
154+ {
155+ messages : app_ctx . messages ,
156+ helpers : app_ctx . helpers ,
157+ tag_manager : app_ctx . tag_manager ,
158+ show_dragonfly_window : app_ctx . show_dragonfly_window
159+ } ;
160+
151161 for ( service_name in service_descriptions )
152162 {
153163 service = service_descriptions [ service_name ] ;
@@ -167,7 +177,10 @@ window.app.build_application = function(on_services_created, on_services_enabled
167177 // service_description is a dict of services
168178 // with name and version for each service
169179 // return false if the service shall not be enabled
170- window . services [ service_name ] . is_implemented = builder ( service , service_descriptions ) ;
180+ var is_implemented = builder ( service ,
181+ service_descriptions ,
182+ session_ctx ) ;
183+ window . services [ service_name ] . is_implemented = is_implemented ;
171184 }
172185 }
173186 }
@@ -225,8 +238,8 @@ window.app.build_application = function(on_services_created, on_services_enabled
225238 window . messages . addListener ( "application-setup" , report_usage , true ) ;
226239
227240 // global objects
228- window . tagManager = window . tag_manager = new window . cls . TagManager ( ) ;
229- window . helpers = new cls . Helpers ( ) ;
241+ window . tagManager = window . tag_manager = app_ctx . tag_manager = new window . cls . TagManager ( ) ;
242+ window . helpers = app_ctx . helpers = new cls . Helpers ( ) ;
230243
231244 // create window.services namespace and register it.
232245 cls . ServiceBase . register_services ( new cls . Namespace ( "services" ) ) ;
@@ -247,6 +260,7 @@ window.app.build_application = function(on_services_created, on_services_enabled
247260 {
248261 cls . debug . create_debug_environment ( params ) ;
249262 }
263+ app_ctx . show_dragonfly_window = Boolean ( params . showdfl ) ;
250264 var namespace = cls . Scope && cls . Scope [ "1.1" ] ;
251265 namespace . Service . apply ( window . services . scope . constructor . prototype ) ;
252266 window . services . scope . is_implemented = true ;
@@ -322,18 +336,14 @@ window.app.helpers.parse_url_arguments = function()
322336 supported arguments:
323337 - debug
324338 - log-filter
339+ - showdfl
325340 */
326- var
327- args = location . search . slice ( 1 ) . split ( ';' ) ,
328- params = { } ,
329- arg = '' ,
330- i = 0 ;
331-
332- for ( ; arg = args [ i ] ; i ++ )
341+ var args = location . search . slice ( 1 ) . split ( / [ ; & ] / ) ;
342+ var params = { } ;
343+ for ( var i = 0 , arg ; arg = args [ i ] ; i ++ )
333344 {
334345 arg = arg . split ( '=' ) ;
335- params [ arg [ 0 ] . replace ( / ^ + / , '' ) . replace ( / + $ / , '' ) ] =
336- arg [ 1 ] && arg [ 1 ] . replace ( / ^ + / , '' ) . replace ( / + $ / , '' ) || true ;
346+ params [ arg [ 0 ] . trim ( ) ] = arg [ 1 ] && arg [ 1 ] . trim ( ) || true ;
337347 }
338348 return params ;
339349}
0 commit comments