Index: chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java |
index 2b1fa7928c7d9db36b96b5c6a6b68b2309ca28b1..366999cc26c9423737bcd757076bb4dba1507a64 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java |
@@ -14,6 +14,7 @@ import org.chromium.chrome.browser.IntentHandler; |
import org.chromium.chrome.browser.TabState; |
import org.chromium.chrome.browser.WarmupManager; |
import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager; |
+import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings; |
import org.chromium.chrome.browser.tab.Tab; |
import org.chromium.chrome.browser.tab.TabDelegateFactory; |
import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; |
@@ -231,6 +232,13 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator { |
String appId, boolean forceNewTab, Intent intent, long intentTimestamp) { |
assert !mIncognito; |
boolean isLaunchedFromChrome = TextUtils.equals(appId, mActivity.getPackageName()); |
+ |
+ // If an external app sends an intent for a Weblite URL and the Data Reduction Proxy is |
+ // using preview mode, then use the URL in the lite_url parameter if its scheme is HTTP. |
+ // This is used by ChromeTabbedActvity intents so that the user does not receive Weblite |
+ // pages when he or she could be served a Data Reduction Proxy preview page. |
+ if (url != null) url = DataReductionProxySettings.getInstance().maybeExtractWebliteUrl(url); |
+ |
if (forceNewTab && !isLaunchedFromChrome) { |
// We don't associate the tab with that app ID, as it is assumed that if the |
// application wanted to open this tab as a new tab, it probably does not want it |