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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeManager.java

Issue 2598163002: WebContentsObserver update for PlzNavigate methods (Closed)
Patch Set: Fixed AwWebContentsObserver Created 4 years 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/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeManager.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeManager.java b/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeManager.java
index dde1407799026c24823577eb68948f6a91dd86bd..5a74efd78d01703da9ab91244f731a758723d031 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeManager.java
@@ -31,6 +31,7 @@ import org.chromium.chrome.browser.widget.findinpage.FindToolbarObserver;
import org.chromium.components.dom_distiller.content.DistillablePageUtils;
import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils;
import org.chromium.content_public.browser.LoadUrlParams;
+import org.chromium.content_public.browser.NavigationHandle;
import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.browser.WebContentsObserver;
import org.chromium.ui.UiUtils;
@@ -440,9 +441,8 @@ public class ReaderModeManager extends TabModelSelectorTabObserver
return new WebContentsObserver(webContents) {
@Override
- public void didStartProvisionalLoadForFrame(long frameId, long parentFrameId,
- boolean isMainFrame, String validatedUrl, boolean isErrorPage) {
- if (!isMainFrame) return;
+ public void didStartNavigation(NavigationHandle navigation) {
+ if (!navigation.isInMainFrame()) return;
// If there is a navigation in the current tab, hide the bar. It will show again
// once the distillability test is successful.
if (readerTabId == mTabModelSelector.getCurrentTabId()) {
@@ -453,6 +453,7 @@ public class ReaderModeManager extends TabModelSelectorTabObserver
ReaderModeTabInfo tabInfo = mTabStatusMap.get(readerTabId);
if (tabInfo == null) return;
+ String validatedUrl = navigation.getValidatedURL();
tabInfo.setUrl(validatedUrl);
if (DomDistillerUrlUtils.isDistilledPage(validatedUrl)) {
tabInfo.setStatus(STARTED);
@@ -461,22 +462,20 @@ public class ReaderModeManager extends TabModelSelectorTabObserver
}
@Override
- public void didNavigateMainFrame(String url, String baseUrl,
- boolean isNavigationToDifferentPage, boolean isNavigationInPage,
- int statusCode) {
+ public void didFinishNavigation(NavigationHandle navigation) {
// TODO(cjhopman): This should possibly ignore navigations that replace the entry
// (like those from history.replaceState()).
Maria 2016/12/27 19:31:10 Add a check that inMainFrame()
- if (isNavigationInPage) return;
- if (DomDistillerUrlUtils.isDistilledPage(url)) return;
+ if (navigation.isSamePage()) return;
+ if (DomDistillerUrlUtils.isDistilledPage(navigation.getValidatedURL())) return;
// Make sure the tab was not destroyed.
ReaderModeTabInfo tabInfo = mTabStatusMap.get(readerTabId);
if (tabInfo == null) return;
tabInfo.setStatus(POSSIBLE);
- if (!TextUtils.equals(url,
- DomDistillerUrlUtils.getOriginalUrlFromDistillerUrl(
- mReaderModePageUrl))) {
+ if (!TextUtils.equals(navigation.getValidatedURL(),
+ DomDistillerUrlUtils.getOriginalUrlFromDistillerUrl(
+ mReaderModePageUrl))) {
tabInfo.setStatus(NOT_POSSIBLE);
mIsUmaRecorded = false;
}

Powered by Google App Engine
This is Rietveld 408576698