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

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

Issue 1837243002: Reader Mode support for low-end devices (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: swipe triggers custom tab Created 4 years, 9 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/ChromeTabbedActivity.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
index 3d64a3f58ecafe7d277e8f5fc0420353700e6316..bc304268c0afa9d447340933aab3911cd88e995c 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -57,6 +57,7 @@ import org.chromium.chrome.browser.customtabs.CustomTabIntentDataProvider;
import org.chromium.chrome.browser.device.DeviceClassManager;
import org.chromium.chrome.browser.document.ChromeLauncherActivity;
import org.chromium.chrome.browser.document.DocumentUma;
+import org.chromium.chrome.browser.dom_distiller.ReaderModeManager;
import org.chromium.chrome.browser.firstrun.FirstRunActivity;
import org.chromium.chrome.browser.firstrun.FirstRunFlowSequencer;
import org.chromium.chrome.browser.firstrun.FirstRunSignInProcessor;
@@ -802,7 +803,9 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode
String herbFlavor = FeatureUtilities.getHerbFlavor();
if (isAllowedToReturnToExternalApp
&& ChromeLauncherActivity.canBeHijackedByHerb(intent)
- && TextUtils.equals(ChromeSwitches.HERB_FLAVOR_DILL, herbFlavor)) {
+ && TextUtils.equals(ChromeSwitches.HERB_FLAVOR_DILL, herbFlavor)
+ && !ReaderModeManager.isReaderModeCreatedIntent(
+ ChromeTabbedActivity.this, intent)) {
Log.d(TAG, "Sending to CustomTabActivity");
mActivityStopMetrics.setStopReason(
ActivityStopMetrics.STOP_REASON_CUSTOM_TAB_STARTED);
@@ -1217,6 +1220,20 @@ public class ChromeTabbedActivity extends ChromeActivity implements OverviewMode
return getCurrentTabCreator().launchUrl(url, TabLaunchType.FROM_LINK, intent,
mIntentHandlingTimeMs);
} else {
+ // Check if the tab is being created from a Reader Mode navigation.
+ if (ReaderModeManager.isReaderModeCreatedIntent(this, intent)) {
+ Bundle extras = intent.getExtras();
+ int readerParentId = IntentUtils.safeGetInt(extras,
+ ReaderModeManager.EXTRA_READER_MODE_PARENT, Tab.INVALID_TAB_ID);
+ extras.remove(ReaderModeManager.EXTRA_READER_MODE_PARENT);
+ // Set the parent tab to the tab that Reader Mode started from.
+ if (readerParentId != Tab.INVALID_TAB_ID && mTabModelSelectorImpl != null) {
+ return getCurrentTabCreator().createNewTab(
+ new LoadUrlParams(url, PageTransition.LINK), TabLaunchType.FROM_LINK,
+ mTabModelSelectorImpl.getTabById(readerParentId));
+ }
+ }
+
return getTabCreator(false).launchUrlFromExternalApp(url, referer, headers,
externalAppId, forceNewTab, intent, mIntentHandlingTimeMs);
}

Powered by Google App Engine
This is Rietveld 408576698