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 2acbb9e8ef30a694f537b16cc3d630e2715dc518..d476c3c42a7af10d5c75e4e1bfb2c1c7153fe2b1 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 |
@@ -13,6 +13,7 @@ import org.chromium.chrome.browser.ChromeActivity; |
import org.chromium.chrome.browser.IntentHandler; |
import org.chromium.chrome.browser.TabState; |
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; |
@@ -233,6 +234,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 Weblite 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().maybeRewriteWebliteUrl(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 |