Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(62)

Side by Side Diff: chrome/browser/resources/chromeos/wallpaper_manager/js/wallpaper_manager.js

Issue 11028121: Convert wallpaper picker to v2 app (Closed) Base URL: http://git.chromium.org/chromium/src.git@AppsV2
Patch Set: Review this patch Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * WallpaperManager constructor. 6 * WallpaperManager constructor.
7 * 7 *
8 * WallpaperManager objects encapsulate the functionality of the wallpaper 8 * WallpaperManager objects encapsulate the functionality of the wallpaper
9 * manager extension. 9 * manager extension.
10 * 10 *
11 * @constructor 11 * @constructor
12 * @param {HTMLElement} dialogDom The DOM node containing the prototypical 12 * @param {HTMLElement} dialogDom The DOM node containing the prototypical
13 * extension UI. 13 * extension UI.
14 */ 14 */
15 15
16 function WallpaperManager(dialogDom) { 16 function WallpaperManager(dialogDom) {
17 this.dialogDom_ = dialogDom; 17 this.dialogDom_ = dialogDom;
18 this.document_ = dialogDom.ownerDocument; 18 this.document_ = dialogDom.ownerDocument;
19 this.selectedCategory = null; 19 this.selectedCategory = null;
20 this.butterBar_ = new ButterBar(this.dialogDom_); 20 this.butterBar_ = new ButterBar(this.dialogDom_);
21 this.customWallpaperData_ = null; 21 this.customWallpaperData_ = null;
22 this.currentWallpaper_ = null; 22 this.currentWallpaper_ = null;
23 this.fetchManifest_(); 23 this.fetchManifest_();
24 this.initDom_();
25 } 24 }
26 25
27 // Anonymous 'namespace'. 26 // Anonymous 'namespace'.
28 // TODO(bshe): Get rid of anonymous namespace. 27 // TODO(bshe): Get rid of anonymous namespace.
29 (function() { 28 (function() {
30 29
31 /** 30 /**
32 * Base URL of the manifest file. 31 * Base URL of the manifest file.
33 */ 32 */
34 /** @const */ var ManifestBaseURL = 'https://commondatastorage.googleapis.' + 33 /** @const */ var ManifestBaseURL = 'https://commondatastorage.googleapis.' +
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 this.manifest_ = {}; 75 this.manifest_ = {};
77 } 76 }
78 }; 77 };
79 78
80 /** 79 /**
81 * Requests wallpaper manifest file from server. 80 * Requests wallpaper manifest file from server.
82 */ 81 */
83 WallpaperManager.prototype.fetchManifest_ = function() { 82 WallpaperManager.prototype.fetchManifest_ = function() {
84 var xhr = new XMLHttpRequest(); 83 var xhr = new XMLHttpRequest();
85 var locale = navigator.language; 84 var locale = navigator.language;
86 xhr.open('GET', ManifestBaseURL + locale + '.json', false); 85 xhr.open('GET', ManifestBaseURL + locale + '.json', true);
87 xhr.send(null); 86 xhr.send(null);
88 // TODO(bshe): We should save the downloaded manifest to local disk. Other 87 var self = this;
89 // components may want to use it (i.e. screen saver). 88
90 if (xhr.status === 200) { 89 xhr.addEventListener('load', function(e) {
91 this.parseManifest_(xhr.responseText); 90 // TODO(bshe): We should save the downloaded manifest to local disk. Other
92 } else { 91 // components may want to use it (i.e. screen saver).
93 // Fall back to en locale if current locale is not supported.
94 xhr.open('GET', ManifestBaseURL + 'en.json', false);
95 xhr.send(null);
96 if (xhr.status === 200) { 92 if (xhr.status === 200) {
97 this.parseManifest_(xhr.responseText); 93 self.parseManifest_(xhr.responseText);
94 self.initDom_();
98 } else { 95 } else {
99 this.manifest_ = {}; 96 // Fall back to en locale if current locale is not supported.
100 this.butterBar_.showError_(str('connectionFailed')); 97 xhr.open('GET', ManifestBaseURL + 'en.json', true);
98 xhr.send(null);
99 xhr.addEventListener('load', function(e) {
100 if (xhr.status === 200) {
101 self.parseManifest_(xhr.responseText);
102 } else {
103 self.manifest_ = {};
104 self.butterBar_.showError_(str('connectionFailed'));
105 }
106 self.initDom_();
107 });
101 } 108 }
102 } 109 });
103 110
104 // TODO(bshe): Fall back to saved manifest if there is a problem fetching 111 // TODO(bshe): Fall back to saved manifest if there is a problem fetching
105 // manifest from server. 112 // manifest from server.
106 }; 113 };
107 114
108 /** 115 /**
109 * One-time initialization of various DOM nodes. 116 * One-time initialization of various DOM nodes.
110 */ 117 */
111 WallpaperManager.prototype.initDom_ = function() { 118 WallpaperManager.prototype.initDom_ = function() {
112 i18nTemplate.process(this.document_, loadTimeData); 119 i18nTemplate.process(this.document_, loadTimeData);
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 selectedItem = wallpaperInfo; 384 selectedItem = wallpaperInfo;
378 } 385 }
379 } 386 }
380 } 387 }
381 this.wallpaperGrid_.dataModel = wallpapersDataModel; 388 this.wallpaperGrid_.dataModel = wallpapersDataModel;
382 this.wallpaperGrid_.selectedItem = selectedItem; 389 this.wallpaperGrid_.selectedItem = selectedItem;
383 } 390 }
384 }; 391 };
385 392
386 })(); 393 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698