Skip to content
This repository was archived by the owner on Mar 15, 2018. It is now read-only.

Commit 95b1f98

Browse files
committed
mcm v2.4 bump (bug 985552/1144437)
1 parent 21270eb commit 95b1f98

14 files changed

+202
-267
lines changed

bower.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
],
1616
"dependencies": {
1717
"marketplace-constants": "0.6.0",
18-
"marketplace-core-modules": "2.2.0",
18+
"marketplace-core-modules": "2.4.0",
1919
"marketplace-elements": "0.6.1",
2020
"marketplace-jquery": "2.0.2",
21+
2122
"almond": "0.2.9",
2223
"requirejs": "2.1.4",
2324
"underscore": "1.4.4",

karma.conf.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ module.exports = function(config) {
2020
{pattern: 'bower_components/marketplace-core-modules/core/**/*.js', included: false},
2121
{pattern: 'bower_components/squire/src/Squire.js', included: false},
2222
{pattern: 'src/media/js/**/*.js', included: false},
23-
{pattern: 'src/media/js/**/*.js', included: false},
23+
{pattern: 'src/templates.js', included: false},
2424
{pattern: 'tests/unit/*.js', included: false},
2525
],
2626

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"gulp-rename": "1.2.0",
2020
"gulp-replace": "0.4.0",
2121
"jsuri": "1.3.0",
22-
"marketplace-gulp": "3.3.0",
22+
"marketplace-gulp": "3.4.0",
2323
"merge-stream": "0.1.6",
2424
"rimraf": "2.2.8",
2525
"run-sequence": "1.0.1",

src/dev.html

-2
Original file line numberDiff line numberDiff line change
@@ -121,10 +121,8 @@
121121
</div>
122122

123123
{% if compiled %}
124-
<script src="/media/js/l10n.js"></script>
125124
<script src="/media/js/include.js" defer></script>
126125
{% else %}
127-
<script src="/media/js/lib/core/l10n_init.js"></script>
128126
<script data-main="/media/js/main" src="/media/js/lib/require.js"></script>
129127
{% endif %}
130128
</body>

src/media/js/image-deferrer.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
define('image-deferrer', ['underscore', 'core/urls', 'core/z'], function(_, urls, z) {
1+
define('image-deferrer',
2+
['core/urls', 'core/z', 'underscore'],
3+
function(urls, z, _) {
24
'use strict';
35
/*
46
<img class="deferred" data-src="{{ image.src }}" src="{{ placeholderSrc }}">

src/media/js/init.js

+9-7
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1+
/*
2+
Contains things to initialize before we kick off the app.
3+
Exposes a promise that the `main` module should wait on.
4+
*/
15
define('init',
2-
['compat_filter', 'core/cache', 'core/init', 'core/router',
3-
'document-register-element', 'helpers_local', 'rewriters',
4-
'route_api_args', 'user_helpers'],
5-
function(compatFilter, cache, init, router,
6-
documentRegisterElement, helpers_local, rewriters,
7-
userHelpers) {
6+
['core/cache', 'core/init', 'document-register-element', 'helpers_local',
7+
'rewriters', 'routes', 'route_api_args', 'settings_app', 'templates'],
8+
function(cache, init, documentRegisterElement, helpers_local,
9+
rewriters, routes, routeApiArgs, settingsApp) {
810

911
rewriters.forEach(function(rewriter) {
1012
cache.addRewriter(rewriter);
1113
});
1214

13-
// Put code to initialize the app either here or in the dependencies.
15+
return init.ready;
1416
});

src/media/js/main.js

+47-122
Original file line numberDiff line numberDiff line change
@@ -8,122 +8,49 @@ console.log(' (C)Copyright Mozilla Corp 1998-2015');
88
console.log('');
99
console.log('64K High Memory Area is available.');
1010

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');
8133

8234
logger.log('Package version: ' + (settings.package_version || 'N/A'));
8335

84-
if (capabilities.device_type() === 'desktop') {
36+
rewriters.forEach(function(rewriter) {
37+
cache.addRewriter(rewriter);
38+
});
39+
40+
if (caps.device_type() === 'desktop') {
8541
z.body.addClass('desktop');
8642
}
87-
88-
var start_time = performance.now();
89-
9043
z.body.addClass('html-' + l10n.getDirection());
91-
9244
if (settings.body_classes) {
9345
z.body.addClass(settings.body_classes);
9446
}
9547

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();
12249
z.page.one('loaded', function() {
12350
if (z.context.hide_splash !== false) {
12451
// Remove the splash screen.
12552
logger.log('Hiding splash screen (' +
126-
((performance.now() - start_time) / 1000).toFixed(6) +
53+
((performance.now() - startTime) / 1000).toFixed(6) +
12754
's)');
12855
var splash = $('#splash-overlay').addClass('hide');
12956
z.body.removeClass('overlayed').addClass('loaded');
@@ -136,21 +63,21 @@ require([
13663
});
13764

13865
// This lets you refresh within the app by holding down command + R.
139-
if (capabilities.chromeless) {
66+
if (caps.chromeless) {
14067
window.addEventListener('keydown', function(e) {
14168
if (e.keyCode == 82 && e.metaKey) {
14269
window.location.reload();
14370
}
14471
});
14572
}
14673

147-
if (capabilities.webApps) {
74+
if (caps.webApps) {
14875
// If Marketplace comes back to the front, refresh the list of apps
14976
// installed/developed/purchased by the user.
15077
document.addEventListener('visibilitychange', function() {
15178
if (!document.hidden) {
15279
if (user.logged_in()) {
153-
consumer_info.fetch(true);
80+
consumerInfo.fetch(true);
15481
}
15582
}
15683
}, false);
@@ -159,9 +86,8 @@ require([
15986
// Do some last minute template compilation.
16087
z.page.on('reload_chrome', function() {
16188
logger.log('Reloading chrome');
162-
var user_helpers = require('user_helpers');
16389
var context = {
164-
user_region: user_helpers.region('restofworld'),
90+
user_region: userHelpers.region('restofworld'),
16591
z: z
16692
};
16793
_.extend(context, newsletter.context());
@@ -175,33 +101,31 @@ require([
175101
logger.log('Adding incompatibility banner');
176102
$('#site-nav').after(nunjucks.env.render('incompatible.html'));
177103
}
178-
} else if (capabilities.osXInstallIssues) {
104+
} else if (caps.osXInstallIssues) {
179105
if ($('mkt-banner[name="mac-banner"]').length === 0) {
180106
$('#site-nav').after(
181107
nunjucks.env.render('_includes/os_x_banner.html'));
182108
}
183109
}
184110

185-
update_banner.showIfNeeded();
186-
187-
var logged_in = user.logged_in();
111+
updateBanner.showIfNeeded();
188112

189-
if (!logged_in) {
113+
if (!user.logged_in()) {
190114
z.body.removeClass('show-recommendations');
191115
}
192116

193117
siteConfig.promise.then(function() {
194-
if (capabilities.nativeFxA() || capabilities.yulelogFxA()) {
118+
if (caps.nativeFxA() || caps.yulelogFxA()) {
195119
// Might want to style things differently for native FxA,
196120
// like log out through settings instead of Marketplace
197121
// (bug 1073177), but wait for switches to load.
198122
z.body.addClass('native-fxa');
199123
}
200124
});
201125

202-
consumer_info.promise.then(function() {
126+
consumerInfo.promise.then(function() {
203127
// Re-render footer region if necessary.
204-
var current_region = user_helpers.region('restofworld');
128+
var current_region = userHelpers.region('restofworld');
205129
if (current_region !== context.user_region) {
206130
logger.log('Region has changed from ' + context.user_region +
207131
' to ' + current_region + ' since we rendered ' +
@@ -212,12 +136,13 @@ require([
212136
.text(regions.REGION_CHOICES_SLUG[current_region]);
213137
}
214138
// 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')) {
216141
z.body.addClass('show-recommendations');
217142
}
218143
});
219144

220-
z.body.toggleClass('logged-in', logged_in);
145+
z.body.toggleClass('logged-in', user.logged_in());
221146
z.page.trigger('reloaded_chrome');
222147
}).trigger('reload_chrome');
223148

@@ -228,7 +153,7 @@ require([
228153
z.body.on('click', '.site-header .back', function(e) {
229154
e.preventDefault();
230155
logger.log('← button pressed');
231-
require('core/navigation').back();
156+
navigation.back();
232157
});
233158

234159
window.addEventListener(
@@ -237,8 +162,8 @@ require([
237162
false
238163
);
239164

240-
consumer_info.promise.done(function() {
241-
logger.log('Triggering initial navigation');
165+
consumerInfo.promise.done(function() {
166+
logger.log('Initial navigation');
242167
if (!z.spaceheater) {
243168
var navigateArgs = [window.location.pathname +
244169
window.location.search];
@@ -253,13 +178,13 @@ require([
253178
}
254179
});
255180

256-
require('core/requests').on('deprecated', function() {
181+
requests.on('deprecated', function() {
257182
// Divert the user to the deprecated view.
258183
z.page.trigger('divert', [urls.reverse('deprecated')]);
259184
throw new Error('Cancel navigation; deprecated client');
260185
});
261186

262-
logger.log('Initialization complete');
187+
logger.log('Done');
263188
});
264189
});
265190
});

0 commit comments

Comments
 (0)