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

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

Issue 338883004: Show third party wallpaper app name in wallpaper picker (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 *
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 i18nTemplate.process(this.document_, loadTimeData); 246 i18nTemplate.process(this.document_, loadTimeData);
247 this.initCategoriesList_(); 247 this.initCategoriesList_();
248 this.initThumbnailsGrid_(); 248 this.initThumbnailsGrid_();
249 this.presetCategory_(); 249 this.presetCategory_();
250 250
251 $('file-selector').addEventListener( 251 $('file-selector').addEventListener(
252 'change', this.onFileSelectorChanged_.bind(this)); 252 'change', this.onFileSelectorChanged_.bind(this));
253 $('set-wallpaper-layout').addEventListener( 253 $('set-wallpaper-layout').addEventListener(
254 'change', this.onWallpaperLayoutChanged_.bind(this)); 254 'change', this.onWallpaperLayoutChanged_.bind(this));
255 255
256 if (loadTimeData.valueExists('wallpaperAppName')) {
257 $('wallpaper-set-by-message').hidden = false;
flackr 2014/06/17 15:20:34 Use the :empty CSS selector to automatically hide
bshe 2014/06/17 19:01:44 Done.
258 $('wallpaper-set-by-message').innerText = loadTimeData.getStringF(
flackr 2014/06/17 15:20:34 s/innerText/textContent
bshe 2014/06/17 19:01:44 Done.
259 'currentWallpaperSetByMessage', str('wallpaperAppName'));
260 }
261
256 if (this.enableOnlineWallpaper_) { 262 if (this.enableOnlineWallpaper_) {
257 var self = this; 263 var self = this;
258 $('surprise-me').hidden = false; 264 $('surprise-me').hidden = false;
259 $('surprise-me').addEventListener('click', 265 $('surprise-me').addEventListener('click',
260 this.toggleSurpriseMe_.bind(this)); 266 this.toggleSurpriseMe_.bind(this));
261 Constants.WallpaperSyncStorage.get(Constants.AccessSurpriseMeEnabledKey, 267 Constants.WallpaperSyncStorage.get(Constants.AccessSurpriseMeEnabledKey,
262 function(items) { 268 function(items) {
263 // Surprise me has been moved from local to sync storage, prefer 269 // Surprise me has been moved from local to sync storage, prefer
264 // values from sync, but if unset check local and update synced pref 270 // values from sync, but if unset check local and update synced pref
265 // if applicable. 271 // if applicable.
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 return; 351 return;
346 this.removeCustomWallpaper(item.baseURL); 352 this.removeCustomWallpaper(item.baseURL);
347 wallpaperGrid.dataModel.splice(selectedIndex, 1); 353 wallpaperGrid.dataModel.splice(selectedIndex, 1);
348 // Calculate the number of remaining custom wallpapers. The add new button 354 // Calculate the number of remaining custom wallpapers. The add new button
349 // in data model needs to be excluded. 355 // in data model needs to be excluded.
350 var customWallpaperCount = wallpaperGrid.dataModel.length - 1; 356 var customWallpaperCount = wallpaperGrid.dataModel.length - 1;
351 if (customWallpaperCount == 0) { 357 if (customWallpaperCount == 0) {
352 // Active custom wallpaper is also copied in chronos data dir. It needs 358 // Active custom wallpaper is also copied in chronos data dir. It needs
353 // to be deleted. 359 // to be deleted.
354 chrome.wallpaperPrivate.resetWallpaper(); 360 chrome.wallpaperPrivate.resetWallpaper();
361 this.hideWallpaperSetByMessage_();
flackr 2014/06/17 15:20:34 Rather than sprinkling this throughout the code, c
bshe 2014/06/17 19:01:44 Unfortunately, there are a few private APIs(setWal
flackr 2014/06/18 00:59:48 Even if the only thing "onWallpaperChanged" does i
bshe 2014/06/18 21:07:42 make sense. Added a onWallpaperChanged function an
355 } else { 362 } else {
356 selectedIndex = Math.min(selectedIndex, customWallpaperCount - 1); 363 selectedIndex = Math.min(selectedIndex, customWallpaperCount - 1);
357 wallpaperGrid.selectionModel.selectedIndex = selectedIndex; 364 wallpaperGrid.selectionModel.selectedIndex = selectedIndex;
358 } 365 }
359 event.cancelBubble = true; 366 event.cancelBubble = true;
360 } 367 }
361 }; 368 };
362 369
363 /** 370 /**
364 * Decides if a command can be executed on current target. 371 * Decides if a command can be executed on current target.
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 this.wallpaperRequest_.addEventListener('loadend', function() { 473 this.wallpaperRequest_.addEventListener('loadend', function() {
467 // Close window on wallpaper loading finished. 474 // Close window on wallpaper loading finished.
468 window.close(); 475 window.close();
469 }); 476 });
470 } else { 477 } else {
471 window.close(); 478 window.close();
472 } 479 }
473 }; 480 };
474 481
475 /** 482 /**
483 * Hides the wallpaper set by message. It should be called after user changed
484 * wallpaper through wallpaper picker.
485 */
486 WallpaperManager.prototype.hideWallpaperSetByMessage_ = function() {
487 $('wallpaper-set-by-message').hidden = true;
488 $('wallpaper-set-by-message').innerText = '';
flackr 2014/06/17 15:20:34 s/innerText/textContent
bshe 2014/06/17 19:01:44 Done. There is only one line left in this function
489 }
490
491 /**
476 * Sets wallpaper to the corresponding wallpaper of selected thumbnail. 492 * Sets wallpaper to the corresponding wallpaper of selected thumbnail.
477 * @param {{baseURL: string, layout: string, source: string, 493 * @param {{baseURL: string, layout: string, source: string,
478 * availableOffline: boolean, opt_dynamicURL: string, 494 * availableOffline: boolean, opt_dynamicURL: string,
479 * opt_author: string, opt_authorWebsite: string}} 495 * opt_author: string, opt_authorWebsite: string}}
480 * selectedItem the selected item in WallpaperThumbnailsGrid's data 496 * selectedItem the selected item in WallpaperThumbnailsGrid's data
481 * model. 497 * model.
482 */ 498 */
483 WallpaperManager.prototype.setSelectedWallpaper_ = function(selectedItem) { 499 WallpaperManager.prototype.setSelectedWallpaper_ = function(selectedItem) {
484 var self = this; 500 var self = this;
485 switch (selectedItem.source) { 501 switch (selectedItem.source) {
486 case Constants.WallpaperSourceEnum.Custom: 502 case Constants.WallpaperSourceEnum.Custom:
487 var errorHandler = this.onFileSystemError_.bind(this); 503 var errorHandler = this.onFileSystemError_.bind(this);
488 var setActive = function() { 504 var setActive = function() {
489 self.wallpaperGrid_.activeItem = selectedItem; 505 self.wallpaperGrid_.activeItem = selectedItem;
490 self.currentWallpaper_ = selectedItem.baseURL; 506 self.currentWallpaper_ = selectedItem.baseURL;
507 self.hideWallpaperSetByMessage_();
491 }; 508 };
492 var success = function(dirEntry) { 509 var success = function(dirEntry) {
493 dirEntry.getFile(selectedItem.baseURL, {create: false}, 510 dirEntry.getFile(selectedItem.baseURL, {create: false},
494 function(fileEntry) { 511 function(fileEntry) {
495 fileEntry.file(function(file) { 512 fileEntry.file(function(file) {
496 var reader = new FileReader(); 513 var reader = new FileReader();
497 reader.readAsArrayBuffer(file); 514 reader.readAsArrayBuffer(file);
498 reader.addEventListener('error', errorHandler); 515 reader.addEventListener('error', errorHandler);
499 reader.addEventListener('load', function(e) { 516 reader.addEventListener('load', function(e) {
500 self.setCustomWallpaper(e.target.result, 517 self.setCustomWallpaper(e.target.result,
501 selectedItem.layout, 518 selectedItem.layout,
502 false, selectedItem.baseURL, 519 false, selectedItem.baseURL,
503 setActive, errorHandler); 520 setActive, errorHandler);
504 }); 521 });
505 }, errorHandler); 522 }, errorHandler);
506 }, errorHandler); 523 }, errorHandler);
507 } 524 }
508 this.wallpaperDirs_.getDirectory(WallpaperDirNameEnum.ORIGINAL, 525 this.wallpaperDirs_.getDirectory(WallpaperDirNameEnum.ORIGINAL,
509 success, errorHandler); 526 success, errorHandler);
510 break; 527 break;
511 case Constants.WallpaperSourceEnum.OEM: 528 case Constants.WallpaperSourceEnum.OEM:
512 // Resets back to default wallpaper. 529 // Resets back to default wallpaper.
513 chrome.wallpaperPrivate.resetWallpaper(); 530 chrome.wallpaperPrivate.resetWallpaper();
531 this.hideWallpaperSetByMessage_();
514 this.currentWallpaper_ = selectedItem.baseURL; 532 this.currentWallpaper_ = selectedItem.baseURL;
515 this.wallpaperGrid_.activeItem = selectedItem; 533 this.wallpaperGrid_.activeItem = selectedItem;
516 WallpaperUtil.saveWallpaperInfo(wallpaperURL, selectedItem.layout, 534 WallpaperUtil.saveWallpaperInfo(wallpaperURL, selectedItem.layout,
517 selectedItem.source); 535 selectedItem.source);
518 break; 536 break;
519 case Constants.WallpaperSourceEnum.Online: 537 case Constants.WallpaperSourceEnum.Online:
520 var wallpaperURL = selectedItem.baseURL + 538 var wallpaperURL = selectedItem.baseURL +
521 Constants.HighResolutionSuffix; 539 Constants.HighResolutionSuffix;
522 var selectedGridItem = this.wallpaperGrid_.getListItem(selectedItem); 540 var selectedGridItem = this.wallpaperGrid_.getListItem(selectedItem);
523 541
524 chrome.wallpaperPrivate.setWallpaperIfExists(wallpaperURL, 542 chrome.wallpaperPrivate.setWallpaperIfExists(wallpaperURL,
525 selectedItem.layout, 543 selectedItem.layout,
526 function(exists) { 544 function(exists) {
527 if (exists) { 545 if (exists) {
528 self.currentWallpaper_ = wallpaperURL; 546 self.currentWallpaper_ = wallpaperURL;
529 self.wallpaperGrid_.activeItem = selectedItem; 547 self.wallpaperGrid_.activeItem = selectedItem;
548 self.hideWallpaperSetByMessage_();
530 WallpaperUtil.saveWallpaperInfo(wallpaperURL, selectedItem.layout, 549 WallpaperUtil.saveWallpaperInfo(wallpaperURL, selectedItem.layout,
531 selectedItem.source); 550 selectedItem.source);
532 return; 551 return;
533 } 552 }
534 553
535 // Falls back to request wallpaper from server. 554 // Falls back to request wallpaper from server.
536 if (self.wallpaperRequest_) 555 if (self.wallpaperRequest_)
537 self.wallpaperRequest_.abort(); 556 self.wallpaperRequest_.abort();
538 557
539 self.wallpaperRequest_ = new XMLHttpRequest(); 558 self.wallpaperRequest_ = new XMLHttpRequest();
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after
886 chrome.runtime.lastError.message != str('canceledWallpaper')) { 905 chrome.runtime.lastError.message != str('canceledWallpaper')) {
887 self.showError_(chrome.runtime.lastError.message); 906 self.showError_(chrome.runtime.lastError.message);
888 $('set-wallpaper-layout').disabled = true; 907 $('set-wallpaper-layout').disabled = true;
889 failure(); 908 failure();
890 } else { 909 } else {
891 success(opt_thumbnail); 910 success(opt_thumbnail);
892 // Custom wallpapers are not synced yet. If login on a different 911 // Custom wallpapers are not synced yet. If login on a different
893 // computer after set a custom wallpaper, wallpaper wont change by sync. 912 // computer after set a custom wallpaper, wallpaper wont change by sync.
894 WallpaperUtil.saveWallpaperInfo(fileName, layout, 913 WallpaperUtil.saveWallpaperInfo(fileName, layout,
895 Constants.WallpaperSourceEnum.Custom); 914 Constants.WallpaperSourceEnum.Custom);
915 self.hideWallpaperSetByMessage_();
896 } 916 }
897 }; 917 };
898 918
899 chrome.wallpaperPrivate.setCustomWallpaper(wallpaper, layout, 919 chrome.wallpaperPrivate.setCustomWallpaper(wallpaper, layout,
900 generateThumbnail, 920 generateThumbnail,
901 fileName, onFinished); 921 fileName, onFinished);
902 }; 922 };
903 923
904 /** 924 /**
905 * Sets wallpaper finished. Displays error message if any. 925 * Sets wallpaper finished. Displays error message if any.
906 * @param {WallpaperThumbnailsGridItem=} opt_selectedGridItem The wallpaper 926 * @param {WallpaperThumbnailsGridItem=} opt_selectedGridItem The wallpaper
907 * thumbnail grid item. It extends from cr.ui.ListItem. 927 * thumbnail grid item. It extends from cr.ui.ListItem.
908 * @param {{baseURL: string, layout: string, source: string, 928 * @param {{baseURL: string, layout: string, source: string,
909 * availableOffline: boolean, opt_dynamicURL: string, 929 * availableOffline: boolean, opt_dynamicURL: string,
910 * opt_author: string, opt_authorWebsite: string}=} 930 * opt_author: string, opt_authorWebsite: string}=}
911 * opt_selectedItem the selected item in WallpaperThumbnailsGrid's data 931 * opt_selectedItem the selected item in WallpaperThumbnailsGrid's data
912 * model. 932 * model.
913 */ 933 */
914 WallpaperManager.prototype.onFinished_ = function(opt_selectedGridItem, 934 WallpaperManager.prototype.onFinished_ = function(opt_selectedGridItem,
915 opt_selectedItem) { 935 opt_selectedItem) {
916 if (opt_selectedGridItem) 936 if (opt_selectedGridItem)
917 this.progressManager_.hideProgressBar(opt_selectedGridItem); 937 this.progressManager_.hideProgressBar(opt_selectedGridItem);
918 938
919 if (chrome.runtime.lastError != undefined && 939 if (chrome.runtime.lastError != undefined &&
920 chrome.runtime.lastError.message != str('canceledWallpaper')) { 940 chrome.runtime.lastError.message != str('canceledWallpaper')) {
921 this.showError_(chrome.runtime.lastError.message); 941 this.showError_(chrome.runtime.lastError.message);
922 } else if (opt_selectedItem) { 942 } else if (opt_selectedItem) {
923 this.wallpaperGrid_.activeItem = opt_selectedItem; 943 this.wallpaperGrid_.activeItem = opt_selectedItem;
944 this.hideWallpaperSetByMessage_();
924 } 945 }
925 }; 946 };
926 947
927 /** 948 /**
928 * Handles the layout setting change of custom wallpaper. 949 * Handles the layout setting change of custom wallpaper.
929 */ 950 */
930 WallpaperManager.prototype.onWallpaperLayoutChanged_ = function() { 951 WallpaperManager.prototype.onWallpaperLayoutChanged_ = function() {
931 var layout = getSelectedLayout(); 952 var layout = getSelectedLayout();
932 var self = this; 953 var self = this;
933 chrome.wallpaperPrivate.setCustomWallpaperLayout(layout, function() { 954 chrome.wallpaperPrivate.setCustomWallpaperLayout(layout, function() {
934 if (chrome.runtime.lastError != undefined && 955 if (chrome.runtime.lastError != undefined &&
935 chrome.runtime.lastError.message != str('canceledWallpaper')) { 956 chrome.runtime.lastError.message != str('canceledWallpaper')) {
936 self.showError_(chrome.runtime.lastError.message); 957 self.showError_(chrome.runtime.lastError.message);
937 self.removeCustomWallpaper(fileName); 958 self.removeCustomWallpaper(fileName);
938 $('set-wallpaper-layout').disabled = true; 959 $('set-wallpaper-layout').disabled = true;
939 } else { 960 } else {
940 WallpaperUtil.saveToStorage(self.currentWallpaper_, layout, false); 961 WallpaperUtil.saveToStorage(self.currentWallpaper_, layout, false);
962 self.hideWallpaperSetByMessage_();
941 } 963 }
942 }); 964 });
943 }; 965 };
944 966
945 /** 967 /**
946 * Handles user clicking on a different category. 968 * Handles user clicking on a different category.
947 */ 969 */
948 WallpaperManager.prototype.onCategoriesChange_ = function() { 970 WallpaperManager.prototype.onCategoriesChange_ = function() {
949 var categoriesList = this.categoriesList_; 971 var categoriesList = this.categoriesList_;
950 var selectedIndex = categoriesList.selectionModel.selectedIndex; 972 var selectedIndex = categoriesList.selectionModel.selectedIndex;
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
1055 } 1077 }
1056 } 1078 }
1057 } 1079 }
1058 this.wallpaperGrid_.dataModel = wallpapersDataModel; 1080 this.wallpaperGrid_.dataModel = wallpapersDataModel;
1059 this.wallpaperGrid_.selectedItem = selectedItem; 1081 this.wallpaperGrid_.selectedItem = selectedItem;
1060 this.wallpaperGrid_.activeItem = selectedItem; 1082 this.wallpaperGrid_.activeItem = selectedItem;
1061 } 1083 }
1062 }; 1084 };
1063 1085
1064 })(); 1086 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698