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

Unified Diff: chrome/browser/resources/chromeos/wallpaper_manager/js/event_page.js

Issue 1566713005: Make the third party wallpaper syncable through different devices. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/chromeos/wallpaper_manager/js/event_page.js
diff --git a/chrome/browser/resources/chromeos/wallpaper_manager/js/event_page.js b/chrome/browser/resources/chromeos/wallpaper_manager/js/event_page.js
index eba94a343e034ee748bf9ae6095796fde5995a08..5a63f0f80898e34bed9b493a2eeef3d44eb195e2 100644
--- a/chrome/browser/resources/chromeos/wallpaper_manager/js/event_page.js
+++ b/chrome/browser/resources/chromeos/wallpaper_manager/js/event_page.js
@@ -296,11 +296,6 @@ chrome.syncFileSystem.onFileStatusChanged.addListener(function(detail) {
Constants.CustomWallpaperThumbnailSuffix, '');
WallpaperUtil.deleteWallpaperFromLocalFS(fileName);
}
- } else { // detail.direction == 'local_to_remote'
bshe 2016/01/13 18:43:17 why do you want to remove this?
xdai1 2016/01/14 23:03:51 It's a different issue and it was introduced by me
bshe 2016/01/15 15:52:00 Acknowledged.
- if (detail.action == 'deleted') {
- WallpaperUtil.deleteWallpaperFromSyncFS(detail.fileEntry.name);
- WallpaperUtil.deleteWallpaperFromLocalFS(detail.fileEntry.name);
- }
}
}
});
@@ -320,6 +315,16 @@ chrome.storage.onChanged.addListener(function(changes, namespace) {
}
}
+ if (changes[Constants.AccessLocalWallpaperInfoKey]) {
+ // If the old wallpaper is a third party wallpaper we should remove it
+ // from the local & sync file system to free space.
+ var oldInfo = changes[Constants.AccessLocalWallpaperInfoKey].oldValue;
+ if (oldInfo.url.indexOf(Constants.ThirdPartyWallpaperPrefix) != -1) {
+ WallpaperUtil.deleteWallpaperFromLocalFS(oldInfo.url);
+ WallpaperUtil.deleteWallpaperFromSyncFS(oldInfo.url);
+ }
+ }
+
if (changes[Constants.AccessSyncWallpaperInfoKey]) {
var syncInfo = changes[Constants.AccessSyncWallpaperInfoKey].newValue;
@@ -368,6 +373,15 @@ chrome.storage.onChanged.addListener(function(changes, namespace) {
Constants.WallpaperSourceEnum.Default) {
chrome.wallpaperPrivate.resetWallpaper();
}
+
+ // If the old wallpaper is a third party wallpaper we should
+ // remove it from the local & sync file system to free space.
+ if (localInfo && localInfo.url.indexOf(
+ Constants.ThirdPartyWallpaperPrefix) != -1) {
+ WallpaperUtil.deleteWallpaperFromLocalFS(localInfo.url);
+ WallpaperUtil.deleteWallpaperFromSyncFS(localInfo.url);
+ }
+
WallpaperUtil.saveToLocalStorage(
Constants.AccessLocalWallpaperInfoKey, syncInfo);
}
@@ -394,11 +408,20 @@ chrome.alarms.onAlarm.addListener(function() {
SurpriseWallpaper.getInstance().next();
});
-chrome.wallpaperPrivate.onWallpaperChangedBy3rdParty.addListener(function() {
+chrome.wallpaperPrivate.onWallpaperChangedBy3rdParty.addListener(function(
+ wallpaper, thumbnail, layout) {
WallpaperUtil.saveToLocalStorage(
Constants.AccessLocalSurpriseMeEnabledKey, false, function() {
WallpaperUtil.saveToSyncStorage(Constants.AccessSyncSurpriseMeEnabledKey,
false);
});
SurpriseWallpaper.getInstance().disable();
+
+ // Make third party wallpaper syncable through different devices.
+ var filename = Constants.ThirdPartyWallpaperPrefix + new Date().getTime();
bshe 2016/01/08 19:56:39 We dont need a history of 3rd party wallpapers. Pe
xdai1 2016/01/08 20:17:48 No, I'm afraid we can't use the same file name for
+ var thumbnailFilename = filename + Constants.CustomWallpaperThumbnailSuffix;
+ WallpaperUtil.storeWallpaperToSyncFS(filename, wallpaper);
+ WallpaperUtil.storeWallpaperToSyncFS(thumbnailFilename, thumbnail);
bshe 2016/01/13 18:43:17 why do we want thumbnail for 3rd party wallpaper?
xdai1 2016/01/14 23:03:51 You're right. Ideally we should not show the third
bshe 2016/01/15 15:52:00 I might not understand you correctly, But the 3rd
+ WallpaperUtil.saveWallpaperInfo(filename, layout,
+ Constants.WallpaperSourceEnum.Custom);
});

Powered by Google App Engine
This is Rietveld 408576698