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

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

Issue 2342873005: Disable Reader Mode when requesting desktop site (Closed)
Patch Set: fix tests Created 4 years, 3 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/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 3bce7bd471d20e02513583692616aa8e7ff086e8..649366aac8040b4084c34d34056d3083990a0e0f 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
@@ -92,6 +92,9 @@ public class ReaderModeManager extends TabModelSelectorTabObserver
// InfoBar tracking.
private boolean mIsInfoBarContainerShown;
+ // If Reader Mode is detecting all pages as distillable.
+ private boolean mIsReaderHeuristicAlwaysTrue;
+
public ReaderModeManager(TabModelSelector selector, ChromeActivity activity) {
super(selector);
@@ -99,6 +102,15 @@ public class ReaderModeManager extends TabModelSelectorTabObserver
mTabModelSelector = selector;
mChromeActivity = activity;
mTabStatusMap = new HashMap<>();
+ mIsReaderHeuristicAlwaysTrue = isDistillerHeuristicAlwaysTrue();
+ }
+
+ /**
+ * This function wraps a method that calls native code and is overridden by tests.
+ * @return True if the heuristic is ALWAYS_TRUE.
+ */
+ protected boolean isDistillerHeuristicAlwaysTrue() {
+ return DomDistillerTabUtils.isHeuristicAlwaysTrue();
}
/**
@@ -508,7 +520,14 @@ public class ReaderModeManager extends TabModelSelectorTabObserver
int currentTabId = mTabModelSelector.getCurrentTabId();
if (currentTabId == Tab.INVALID_TAB_ID) return;
+ // Test if the user is requesting the desktop site. Ignore this if distiller is set to
+ // ALWAYS_TRUE.
+ boolean usingRequestDesktopSite = getBasePageWebContents() != null
+ && getBasePageWebContents().getNavigationController().getUseDesktopUserAgent()
+ && !mIsReaderHeuristicAlwaysTrue;
+
if (mReaderModePanel == null || !mTabStatusMap.containsKey(currentTabId)
+ || usingRequestDesktopSite
|| mTabStatusMap.get(currentTabId).getStatus() != POSSIBLE
|| mTabStatusMap.get(currentTabId).isDismissed()
|| mIsInfoBarContainerShown

Powered by Google App Engine
This is Rietveld 408576698