Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / android / java / src / org / chromium / chrome / browser / infobar / DataReductionProxyInfoBar.java
index eb79f99..10976ae 100644 (file)
@@ -4,10 +4,6 @@
 
 package org.chromium.chrome.browser.infobar;
 
-import android.content.Context;
-import android.content.Intent;
-import android.preference.PreferenceActivity;
-
 import org.chromium.content_public.browser.WebContents;
 
 /**
@@ -24,21 +20,36 @@ public class DataReductionProxyInfoBar extends ConfirmInfoBar {
      * Launch a data reduction proxy {@link InfoBar} with the specified title and link
      * text. Clicking the link will open the specified settings page.
      * @param webContents The {@link WebContents} in which to open the {@link InfoBar}.
-     * @param settingsClassName. The settings class to open.
+     * @param settingsClassName The settings class to open.
      * @param drpSettingsClassName The {@link PreferenceActivity} fragment to show.
      * @param title The text to display in the {@link InfoBar}.
      * @param linkText The text to display in the link in the {@link InfoBar}.
+     * @param linkUrl The URL to be loaded when the link text is clicked.
      */
     public static void launch(WebContents webContents,
             String settingsClassName,
             String drpSettingsClassName,
             String title,
-            String linkText) {
+            String linkText,
+            String linkUrl) {
         sSettingsClassName = settingsClassName;
         sDataReductionProxySettingsClassName = drpSettingsClassName;
         sTitle = title;
         sLinkText = linkText;
-        DataReductionProxyInfoBarDelegate.launch(webContents);
+        DataReductionProxyInfoBarDelegate.launch(webContents, linkUrl);
+    }
+
+    /**
+     * Callers should now pass a linkUrl, which is loaded when the user clicks on linkText. See
+     * {@link #launch} above. See http://crbug.com/383988.
+     */
+    @Deprecated
+    public static void launch(WebContents webContents,
+            String settingsClassName,
+            String drpSettingsClassName,
+            String title,
+            String linkText) {
+        launch(webContents, settingsClassName, drpSettingsClassName, title, linkText, "");
     }
 
     DataReductionProxyInfoBar(long nativeInfoBar, int iconDrawableId) {
@@ -47,15 +58,13 @@ public class DataReductionProxyInfoBar extends ConfirmInfoBar {
     }
 
     @Override
-    public void onLinkClicked() {
-        Context context = getContext();
-        if (context == null) return;
-        Intent intent = new Intent(Intent.ACTION_VIEW);
-        intent.setClassName(context, sSettingsClassName);
-        intent.setFlags(
-                Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_SINGLE_TOP);
-        intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT,
-                sDataReductionProxySettingsClassName);
-        context.startActivity(intent);
+    public void createContent(InfoBarLayout layout) {
+        layout.setButtons(sLinkText, null);
+    }
+
+    @Override
+    public void onButtonClicked(boolean isPrimaryButton) {
+        if (!isPrimaryButton) return;
+        onLinkClicked();
     }
 }