Commit 7d3bdf1f authored by May Lippert's avatar May Lippert Committed by Commit Bot

[Wallpaper] Fix JSON parsing error when no sync-daily-refresh-info-key is available.

If the "Surprise Me" feature has never been activated, the
'sync-daily-refresh-info-key' value from Chrome sync will be empty.
This causes a JSON.parse exception which then causes an early return
from the chrome.storage.onChanged listener.

BUG=687722

Change-Id: I6837faee9d8b5738425e1d760badd9abf4e27f11
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1633025Reviewed-by: default avatarXiaoqian Dai <xdai@chromium.org>
Reviewed-by: default avatarMay Lippert <maybelle@chromium.org>
Commit-Queue: May Lippert <maybelle@chromium.org>
Auto-Submit: May Lippert <maybelle@chromium.org>
Cr-Commit-Position: refs/heads/master@{#666518}
parent ca5a0a49
......@@ -271,8 +271,13 @@ chrome.storage.onChanged.addListener(function(changes, namespace) {
var updateDailyRefreshStates = key => {
if (!changes[key])
return;
var oldDailyRefreshInfo = JSON.parse(changes[key].oldValue);
// If the user did not change Daily Refresh in this sync update,
// changes[key].oldValue will be empty
var oldDailyRefreshInfo =
changes[key].oldValue ? JSON.parse(changes[key].oldValue) : '';
var newDailyRefreshInfo = JSON.parse(changes[key].newValue);
// The resume token is expected to change after a new daily refresh
// wallpaper is set. Ignore it if it's the only change.
if (oldDailyRefreshInfo.enabled === newDailyRefreshInfo.enabled &&
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment