@@ -8,122 +8,49 @@ console.log(' (C)Copyright Mozilla Corp 1998-2015');
8
8
console . log ( '' ) ;
9
9
console . log ( '64K High Memory Area is available.' ) ;
10
10
11
- define ( 'main' , [ 'routes' , 'settings_app' ] , function ( ) {
12
- require ( [ 'init' ] , function ( ) {
13
- require ( [
14
- 'underscore' ,
15
- 'jquery' ,
16
- 'apps_buttons' ,
17
- 'app_list' ,
18
- 'core/cache' ,
19
- 'core/capabilities' ,
20
- 'consumer_info' ,
21
- 'content-ratings' ,
22
- 'flipsnap' ,
23
- 'core/forms' ,
24
- 'image-deferrer' ,
25
- 'image-deferrer-mkt' ,
26
- 'core/l10n' ,
27
- 'lightbox' ,
28
- 'core/log' ,
29
- 'core/login' ,
30
- 'core/models' ,
31
- 'marketplace-elements' ,
32
- 'navbar' ,
33
- 'newsletter' ,
34
- 'overlay' ,
35
- 'perf_events' ,
36
- 'perf_helper' ,
37
- 'previews' ,
38
- 'regions' ,
39
- 'core/requests' ,
40
- 'reviews' ,
41
- 'core/settings' ,
42
- 'core/site_config' ,
43
- 'core/storage' ,
44
- 'templates' ,
45
- 'tracking' ,
46
- 'tracking_events' ,
47
- 'update_banner' ,
48
- 'core/urls' ,
49
- 'core/user' ,
50
- 'user_helpers' ,
51
- 'core/utils' ,
52
- 'utils_local' ,
53
- 'core/views' ,
54
- // These views register global event handlers.
55
- 'views/feedback' ,
56
- 'views/search' ,
57
- 'webactivities' ,
58
- 'core/z'
59
- ] , function ( _ ) {
60
- var apps = require ( 'apps' ) ;
61
- var cache = require ( 'core/cache' ) ;
62
- var capabilities = require ( 'core/capabilities' ) ;
63
- var consumer_info = require ( 'consumer_info' ) ;
64
- var format = require ( 'core/format' ) ;
65
- var $ = require ( 'jquery' ) ;
66
- var settings = require ( 'core/settings' ) ;
67
- var siteConfig = require ( 'core/site_config' ) ;
68
- var l10n = require ( 'core/l10n' ) ;
69
- var newsletter = require ( 'newsletter' ) ;
70
- var nunjucks = require ( 'templates' ) ;
71
- var regions = require ( 'regions' ) ;
72
- var update_banner = require ( 'update_banner' ) ;
73
- var urls = require ( 'core/urls' ) ;
74
- var user = require ( 'core/user' ) ;
75
- var utils = require ( 'core/utils' ) ;
76
- var utils_local = require ( 'utils_local' ) ;
77
- var z = require ( 'core/z' ) ;
78
-
79
- var logger = require ( 'core/log' ) ( 'mkt' ) ;
80
- var gettext = l10n . gettext ;
11
+ define ( 'main' , [ 'init' ] , function ( init ) {
12
+ init . done ( function ( ) {
13
+ require (
14
+ [ // Modules actually used in main.
15
+ 'apps' , 'core/cache' , 'core/capabilities' , 'core/format' , 'core/log' ,
16
+ 'core/navigation' , 'core/nunjucks' , 'core/requests' , 'core/settings' ,
17
+ 'core/site_config' , 'core/l10n' , 'core/urls' , 'core/utils' , 'core/user' ,
18
+ 'core/z' , 'consumer_info' , 'jquery' , 'newsletter' , 'regions' , 'rewriters' ,
19
+ 'underscore' , 'update_banner' , 'user_helpers' , 'utils_local' ,
20
+ // Modules we require to initialize global stuff.
21
+ 'apps_buttons' , 'app_list' , 'content-ratings' , 'core/forms' , 'flipsnap' ,
22
+ 'image-deferrer-mkt' , 'lightbox' , 'core/login' , 'core/models' ,
23
+ 'marketplace-elements' , 'navbar' , 'overlay' , 'perf_events' , 'perf_helper' ,
24
+ 'previews' , 'reviews' , 'startup_errors' , 'tracking_events' ,
25
+ 'views/feedback' , 'views/search' , 'webactivities' ] ,
26
+ function ( apps , cache , caps , format , log ,
27
+ navigation , nunjucks , requests , settings ,
28
+ siteConfig , l10n , urls , utils , user ,
29
+ z , consumerInfo , $ , newsletter , regions , rewriters ,
30
+ _ , updateBanner , userHelpers , utilsLocal ) {
31
+ 'use strict' ;
32
+ var logger = log ( 'mkt' ) ;
81
33
82
34
logger . log ( 'Package version: ' + ( settings . package_version || 'N/A' ) ) ;
83
35
84
- if ( capabilities . device_type ( ) === 'desktop' ) {
36
+ rewriters . forEach ( function ( rewriter ) {
37
+ cache . addRewriter ( rewriter ) ;
38
+ } ) ;
39
+
40
+ if ( caps . device_type ( ) === 'desktop' ) {
85
41
z . body . addClass ( 'desktop' ) ;
86
42
}
87
-
88
- var start_time = performance . now ( ) ;
89
-
90
43
z . body . addClass ( 'html-' + l10n . getDirection ( ) ) ;
91
-
92
44
if ( settings . body_classes ) {
93
45
z . body . addClass ( settings . body_classes ) ;
94
46
}
95
47
96
- if ( ! utils . isSystemDateRecent ( ) ) {
97
- // System date checking.
98
- z . body . addClass ( 'error-overlaid' )
99
- . append ( nunjucks . env . render ( 'errors/date-error.html' ) )
100
- . on ( 'click' , '.system-date .try-again' , function ( ) {
101
- if ( utils . isSystemDateRecent ( ) ) {
102
- window . location . reload ( ) ;
103
- }
104
- } ) ;
105
- } else {
106
- utils_local . checkOnline ( ) . fail ( function ( ) {
107
- logger . log ( 'We are offline. Showing offline message' ) ;
108
- z . body . addClass ( 'error-overlaid' )
109
- . append ( nunjucks . env . render ( 'errors/offline-error.html' ) )
110
- . on ( 'click' , '.offline .try-again' , function ( ) {
111
- logger . log ( 'Re-checking online status' ) ;
112
- utils_local . checkOnline ( ) . done ( function ( ) {
113
- logger . log ( 'Reloading' ) ;
114
- window . location . reload ( ) ;
115
- } ) . fail ( function ( ) {
116
- logger . log ( 'Still offline' ) ;
117
- } ) ;
118
- } ) ;
119
- } ) ;
120
- }
121
-
48
+ var startTime = performance . now ( ) ;
122
49
z . page . one ( 'loaded' , function ( ) {
123
50
if ( z . context . hide_splash !== false ) {
124
51
// Remove the splash screen.
125
52
logger . log ( 'Hiding splash screen (' +
126
- ( ( performance . now ( ) - start_time ) / 1000 ) . toFixed ( 6 ) +
53
+ ( ( performance . now ( ) - startTime ) / 1000 ) . toFixed ( 6 ) +
127
54
's)' ) ;
128
55
var splash = $ ( '#splash-overlay' ) . addClass ( 'hide' ) ;
129
56
z . body . removeClass ( 'overlayed' ) . addClass ( 'loaded' ) ;
@@ -136,21 +63,21 @@ require([
136
63
} ) ;
137
64
138
65
// This lets you refresh within the app by holding down command + R.
139
- if ( capabilities . chromeless ) {
66
+ if ( caps . chromeless ) {
140
67
window . addEventListener ( 'keydown' , function ( e ) {
141
68
if ( e . keyCode == 82 && e . metaKey ) {
142
69
window . location . reload ( ) ;
143
70
}
144
71
} ) ;
145
72
}
146
73
147
- if ( capabilities . webApps ) {
74
+ if ( caps . webApps ) {
148
75
// If Marketplace comes back to the front, refresh the list of apps
149
76
// installed/developed/purchased by the user.
150
77
document . addEventListener ( 'visibilitychange' , function ( ) {
151
78
if ( ! document . hidden ) {
152
79
if ( user . logged_in ( ) ) {
153
- consumer_info . fetch ( true ) ;
80
+ consumerInfo . fetch ( true ) ;
154
81
}
155
82
}
156
83
} , false ) ;
@@ -159,9 +86,8 @@ require([
159
86
// Do some last minute template compilation.
160
87
z . page . on ( 'reload_chrome' , function ( ) {
161
88
logger . log ( 'Reloading chrome' ) ;
162
- var user_helpers = require ( 'user_helpers' ) ;
163
89
var context = {
164
- user_region : user_helpers . region ( 'restofworld' ) ,
90
+ user_region : userHelpers . region ( 'restofworld' ) ,
165
91
z : z
166
92
} ;
167
93
_ . extend ( context , newsletter . context ( ) ) ;
@@ -175,33 +101,31 @@ require([
175
101
logger . log ( 'Adding incompatibility banner' ) ;
176
102
$ ( '#site-nav' ) . after ( nunjucks . env . render ( 'incompatible.html' ) ) ;
177
103
}
178
- } else if ( capabilities . osXInstallIssues ) {
104
+ } else if ( caps . osXInstallIssues ) {
179
105
if ( $ ( 'mkt-banner[name="mac-banner"]' ) . length === 0 ) {
180
106
$ ( '#site-nav' ) . after (
181
107
nunjucks . env . render ( '_includes/os_x_banner.html' ) ) ;
182
108
}
183
109
}
184
110
185
- update_banner . showIfNeeded ( ) ;
186
-
187
- var logged_in = user . logged_in ( ) ;
111
+ updateBanner . showIfNeeded ( ) ;
188
112
189
- if ( ! logged_in ) {
113
+ if ( ! user . logged_in ( ) ) {
190
114
z . body . removeClass ( 'show-recommendations' ) ;
191
115
}
192
116
193
117
siteConfig . promise . then ( function ( ) {
194
- if ( capabilities . nativeFxA ( ) || capabilities . yulelogFxA ( ) ) {
118
+ if ( caps . nativeFxA ( ) || caps . yulelogFxA ( ) ) {
195
119
// Might want to style things differently for native FxA,
196
120
// like log out through settings instead of Marketplace
197
121
// (bug 1073177), but wait for switches to load.
198
122
z . body . addClass ( 'native-fxa' ) ;
199
123
}
200
124
} ) ;
201
125
202
- consumer_info . promise . then ( function ( ) {
126
+ consumerInfo . promise . then ( function ( ) {
203
127
// Re-render footer region if necessary.
204
- var current_region = user_helpers . region ( 'restofworld' ) ;
128
+ var current_region = userHelpers . region ( 'restofworld' ) ;
205
129
if ( current_region !== context . user_region ) {
206
130
logger . log ( 'Region has changed from ' + context . user_region +
207
131
' to ' + current_region + ' since we rendered ' +
@@ -212,12 +136,13 @@ require([
212
136
. text ( regions . REGION_CHOICES_SLUG [ current_region ] ) ;
213
137
}
214
138
// To show or not to show the recommendations nav.
215
- if ( logged_in && user . get_setting ( 'enable_recommendations' ) ) {
139
+ if ( user . logged_in ( ) &&
140
+ user . get_setting ( 'enable_recommendations' ) ) {
216
141
z . body . addClass ( 'show-recommendations' ) ;
217
142
}
218
143
} ) ;
219
144
220
- z . body . toggleClass ( 'logged-in' , logged_in ) ;
145
+ z . body . toggleClass ( 'logged-in' , user . logged_in ( ) ) ;
221
146
z . page . trigger ( 'reloaded_chrome' ) ;
222
147
} ) . trigger ( 'reload_chrome' ) ;
223
148
@@ -228,7 +153,7 @@ require([
228
153
z . body . on ( 'click' , '.site-header .back' , function ( e ) {
229
154
e . preventDefault ( ) ;
230
155
logger . log ( '← button pressed' ) ;
231
- require ( 'core/ navigation' ) . back ( ) ;
156
+ navigation . back ( ) ;
232
157
} ) ;
233
158
234
159
window . addEventListener (
@@ -237,8 +162,8 @@ require([
237
162
false
238
163
) ;
239
164
240
- consumer_info . promise . done ( function ( ) {
241
- logger . log ( 'Triggering initial navigation' ) ;
165
+ consumerInfo . promise . done ( function ( ) {
166
+ logger . log ( 'Initial navigation' ) ;
242
167
if ( ! z . spaceheater ) {
243
168
var navigateArgs = [ window . location . pathname +
244
169
window . location . search ] ;
@@ -253,13 +178,13 @@ require([
253
178
}
254
179
} ) ;
255
180
256
- require ( 'core/ requests' ) . on ( 'deprecated' , function ( ) {
181
+ requests . on ( 'deprecated' , function ( ) {
257
182
// Divert the user to the deprecated view.
258
183
z . page . trigger ( 'divert' , [ urls . reverse ( 'deprecated' ) ] ) ;
259
184
throw new Error ( 'Cancel navigation; deprecated client' ) ;
260
185
} ) ;
261
186
262
- logger . log ( 'Initialization complete ' ) ;
187
+ logger . log ( 'Done ' ) ;
263
188
} ) ;
264
189
} ) ;
265
190
} ) ;
0 commit comments