Commit 3bf89d01 authored by Yafei Duan's avatar Yafei Duan Committed by Commit Bot

[Offline Pages] Fixing prefetched pages shown in notification.

Prefetched pages were shown occasionally since an OnItemUpdate would be
invoked if thumbnail of the page downloaded was fetched.

Issue is fixed by adding early returns in OCANBUi.onItemUpdated, same
check is added for onItemAdded as well.

Bug: 852054
Change-Id: Iccdbf1dda0ebe39a10de954848304988118ba90d
Reviewed-on: https://chromium-review.googlesource.com/1103549
Commit-Queue: Yafei Duan <romax@chromium.org>
Reviewed-by: default avatarDavid Trainor <dtrainor@chromium.org>
Reviewed-by: default avatarDmitry Titov <dimich@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569360}
parent 92006067
...@@ -9,6 +9,7 @@ import org.chromium.chrome.browser.download.DownloadItem; ...@@ -9,6 +9,7 @@ import org.chromium.chrome.browser.download.DownloadItem;
import org.chromium.chrome.browser.download.DownloadNotifier; import org.chromium.chrome.browser.download.DownloadNotifier;
import org.chromium.chrome.browser.download.DownloadServiceDelegate; import org.chromium.chrome.browser.download.DownloadServiceDelegate;
import org.chromium.components.offline_items_collection.ContentId; import org.chromium.components.offline_items_collection.ContentId;
import org.chromium.components.offline_items_collection.LegacyHelpers;
import org.chromium.components.offline_items_collection.OfflineContentProvider; import org.chromium.components.offline_items_collection.OfflineContentProvider;
import org.chromium.components.offline_items_collection.OfflineItem; import org.chromium.components.offline_items_collection.OfflineItem;
import org.chromium.components.offline_items_collection.OfflineItemState; import org.chromium.components.offline_items_collection.OfflineItemState;
...@@ -86,7 +87,6 @@ public class OfflineContentAggregatorNotificationBridgeUi ...@@ -86,7 +87,6 @@ public class OfflineContentAggregatorNotificationBridgeUi
@Override @Override
public void onItemUpdated(OfflineItem item) { public void onItemUpdated(OfflineItem item) {
// Assume that any item sending updates should have them reflected in the UI.
getVisualsAndUpdateItem(item); getVisualsAndUpdateItem(item);
} }
...@@ -147,6 +147,10 @@ public class OfflineContentAggregatorNotificationBridgeUi ...@@ -147,6 +147,10 @@ public class OfflineContentAggregatorNotificationBridgeUi
} }
private void pushItemToUi(OfflineItem item, OfflineItemVisuals visuals) { private void pushItemToUi(OfflineItem item, OfflineItemVisuals visuals) {
// TODO(http://crbug.com/855141): Find a cleaner way to hide unimportant UI updates.
// If it's a suggested page, do not add it to the notification UI.
if (LegacyHelpers.isLegacyOfflinePage(item.id) && item.isSuggested) return;
DownloadInfo info = DownloadInfo.fromOfflineItem(item, visuals); DownloadInfo info = DownloadInfo.fromOfflineItem(item, visuals);
switch (item.state) { switch (item.state) {
case OfflineItemState.IN_PROGRESS: case OfflineItemState.IN_PROGRESS:
......
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