| OLD | NEW |
| 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 var WALLPAPER_PICKER_WIDTH = 574; | 5 var WALLPAPER_PICKER_WIDTH = 574; |
| 6 var WALLPAPER_PICKER_HEIGHT = 420; | 6 var WALLPAPER_PICKER_HEIGHT = 420; |
| 7 | 7 |
| 8 var wallpaperPickerWindow; | 8 var wallpaperPickerWindow; |
| 9 | 9 |
| 10 var surpriseWallpaper = null; | 10 var surpriseWallpaper = null; |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 wallpaperPickerWindow = w; | 230 wallpaperPickerWindow = w; |
| 231 chrome.wallpaperPrivate.minimizeInactiveWindows(); | 231 chrome.wallpaperPrivate.minimizeInactiveWindows(); |
| 232 w.onClosed.addListener(function() { | 232 w.onClosed.addListener(function() { |
| 233 chrome.wallpaperPrivate.restoreMinimizedWindows(); | 233 chrome.wallpaperPrivate.restoreMinimizedWindows(); |
| 234 }); | 234 }); |
| 235 WallpaperUtil.testSendMessage('wallpaper-window-created'); | 235 WallpaperUtil.testSendMessage('wallpaper-window-created'); |
| 236 }); | 236 }); |
| 237 }); | 237 }); |
| 238 | 238 |
| 239 chrome.syncFileSystem.onFileStatusChanged.addListener(function(detail) { | 239 chrome.syncFileSystem.onFileStatusChanged.addListener(function(detail) { |
| 240 WallpaperUtil.enabledExperimentalFeatureCallback(function() { | 240 WallpaperUtil.enabledSyncThemesCallback(function() { |
| 241 if (detail.status == 'synced' && | 241 WallpaperUtil.enabledExperimentalFeatureCallback(function() { |
| 242 detail.direction == 'remote_to_local') { | 242 if (detail.status == 'synced' && |
| 243 if (detail.action == 'added') { | 243 detail.direction == 'remote_to_local') { |
| 244 Constants.WallpaperLocalStorage.get( | 244 if (detail.action == 'added') { |
| 245 Constants.AccessLocalWallpaperInfoKey, | 245 Constants.WallpaperLocalStorage.get( |
| 246 function(items) { | 246 Constants.AccessLocalWallpaperInfoKey, |
| 247 var localData = items[Constants.AccessLocalWallpaperInfoKey]; | 247 function(items) { |
| 248 if (localData && localData.url == detail.fileEntry.name && | 248 var localData = items[Constants.AccessLocalWallpaperInfoKey]; |
| 249 localData.source == Constants.WallpaperSourceEnum.Custom) { | 249 if (localData && localData.url == detail.fileEntry.name && |
| 250 WallpaperUtil.setCustomWallpaperFromSyncFS(localData.url, | 250 localData.source == Constants.WallpaperSourceEnum.Custom) { |
| 251 localData.layout); | 251 WallpaperUtil.setCustomWallpaperFromSyncFS(localData.url, |
| 252 } else if (localData.url != | 252 localData.layout); |
| 253 detail.fileEntry.name.replace( | 253 } else if (localData.url != |
| 254 Constants.CustomWallpaperThumbnailSuffix, '')) { | 254 detail.fileEntry.name.replace( |
| 255 WallpaperUtil.storeWallpaperFromSyncFSToLocalFS( | 255 Constants.CustomWallpaperThumbnailSuffix, '')) { |
| 256 detail.fileEntry); | 256 WallpaperUtil.storeWallpaperFromSyncFSToLocalFS( |
| 257 } | 257 detail.fileEntry); |
| 258 }); | 258 } |
| 259 } else if (detail.action == 'deleted') { | 259 }); |
| 260 var fileName = detail.fileEntry.name.replace( | 260 } else if (detail.action == 'deleted') { |
| 261 Constants.CustomWallpaperThumbnailSuffix, ''); | 261 var fileName = detail.fileEntry.name.replace( |
| 262 WallpaperUtil.deleteWallpaperFromLocalFS(fileName); | 262 Constants.CustomWallpaperThumbnailSuffix, ''); |
| 263 WallpaperUtil.deleteWallpaperFromLocalFS(fileName); |
| 264 } |
| 263 } | 265 } |
| 266 }); |
| 267 }); |
| 268 }); |
| 269 |
| 270 chrome.storage.onChanged.addListener(function(changes, namespace) { |
| 271 WallpaperUtil.enabledSyncThemesCallback(function() { |
| 272 WallpaperUtil.enabledExperimentalFeatureCallback(function() { |
| 273 WallpaperUtil.requestSyncFS(function() {}); |
| 274 }); |
| 275 if (changes[Constants.AccessSurpriseMeEnabledKey]) { |
| 276 if (changes[Constants.AccessSurpriseMeEnabledKey].newValue) { |
| 277 SurpriseWallpaper.getInstance().next(); |
| 278 } else { |
| 279 SurpriseWallpaper.getInstance().disable(); |
| 280 } |
| 281 } |
| 282 |
| 283 if (changes[Constants.AccessSyncWallpaperInfoKey]) { |
| 284 var newValue = changes[Constants.AccessSyncWallpaperInfoKey].newValue; |
| 285 Constants.WallpaperLocalStorage.get(Constants.AccessLocalWallpaperInfoKey, |
| 286 function(items) { |
| 287 // Normally, the wallpaper info saved in local storage and sync storage |
| 288 // are the same. If the synced value changed by sync service, they may |
| 289 // different. In that case, change wallpaper to the one saved in sync |
| 290 // storage and update the local value. |
| 291 var localValue = items[Constants.AccessLocalWallpaperInfoKey]; |
| 292 if (localValue == undefined || |
| 293 localValue.url != newValue.url || |
| 294 localValue.layout != newValue.layout || |
| 295 localValue.source != newValue.source) { |
| 296 if (newValue.source == Constants.WallpaperSourceEnum.Online) { |
| 297 // TODO(bshe): Consider schedule an alarm to set online wallpaper |
| 298 // later when failed. Note that we need to cancel the retry if user |
| 299 // set another wallpaper before retry alarm invoked. |
| 300 WallpaperUtil.setOnlineWallpaper(newValue.url, newValue.layout, |
| 301 function() {}, function() {}); |
| 302 } else if (newValue.source == Constants.WallpaperSourceEnum.Custom) { |
| 303 WallpaperUtil.enabledExperimentalFeatureCallback(function() { |
| 304 WallpaperUtil.setCustomWallpaperFromSyncFS(newValue.url, |
| 305 newValue.layout); |
| 306 }); |
| 307 } else if (newValue.source == Constants.WallpaperSourceEnum.Default) { |
| 308 chrome.wallpaperPrivate.resetWallpaper(); |
| 309 } |
| 310 WallpaperUtil.saveToStorage(Constants.AccessLocalWallpaperInfoKey, |
| 311 newValue, false); |
| 312 } |
| 313 }); |
| 264 } | 314 } |
| 265 }); | 315 }); |
| 266 }); | 316 }); |
| 267 | 317 |
| 268 chrome.storage.onChanged.addListener(function(changes, namespace) { | |
| 269 WallpaperUtil.enabledExperimentalFeatureCallback(function() { | |
| 270 WallpaperUtil.requestSyncFS(function() {}); | |
| 271 }); | |
| 272 if (changes[Constants.AccessSurpriseMeEnabledKey]) { | |
| 273 if (changes[Constants.AccessSurpriseMeEnabledKey].newValue) { | |
| 274 SurpriseWallpaper.getInstance().next(); | |
| 275 } else { | |
| 276 SurpriseWallpaper.getInstance().disable(); | |
| 277 } | |
| 278 } | |
| 279 | |
| 280 if (changes[Constants.AccessSyncWallpaperInfoKey]) { | |
| 281 var newValue = changes[Constants.AccessSyncWallpaperInfoKey].newValue; | |
| 282 Constants.WallpaperLocalStorage.get(Constants.AccessLocalWallpaperInfoKey, | |
| 283 function(items) { | |
| 284 // Normally, the wallpaper info saved in local storage and sync storage | |
| 285 // are the same. If the synced value changed by sync service, they may | |
| 286 // different. In that case, change wallpaper to the one saved in sync | |
| 287 // storage and update the local value. | |
| 288 var localValue = items[Constants.AccessLocalWallpaperInfoKey]; | |
| 289 if (localValue == undefined || | |
| 290 localValue.url != newValue.url || | |
| 291 localValue.layout != newValue.layout || | |
| 292 localValue.source != newValue.source) { | |
| 293 if (newValue.source == Constants.WallpaperSourceEnum.Online) { | |
| 294 // TODO(bshe): Consider schedule an alarm to set online wallpaper | |
| 295 // later when failed. Note that we need to cancel the retry if user | |
| 296 // set another wallpaper before retry alarm invoked. | |
| 297 WallpaperUtil.setOnlineWallpaper(newValue.url, newValue.layout, | |
| 298 function() {}, function() {}); | |
| 299 } else if (newValue.source == Constants.WallpaperSourceEnum.Custom) { | |
| 300 WallpaperUtil.enabledExperimentalFeatureCallback(function() { | |
| 301 WallpaperUtil.setCustomWallpaperFromSyncFS(newValue.url, | |
| 302 newValue.layout); | |
| 303 }); | |
| 304 } else if (newValue.source == Constants.WallpaperSourceEnum.Default) { | |
| 305 chrome.wallpaperPrivate.resetWallpaper(); | |
| 306 } | |
| 307 WallpaperUtil.saveToStorage(Constants.AccessLocalWallpaperInfoKey, | |
| 308 newValue, false); | |
| 309 } | |
| 310 }); | |
| 311 } | |
| 312 }); | |
| 313 | |
| 314 chrome.alarms.onAlarm.addListener(function() { | 318 chrome.alarms.onAlarm.addListener(function() { |
| 315 SurpriseWallpaper.getInstance().next(); | 319 SurpriseWallpaper.getInstance().next(); |
| 316 }); | 320 }); |
| OLD | NEW |