Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / android / password_ui_view_android.cc
index e26c552..bb3cb5e 100644 (file)
@@ -6,8 +6,12 @@
 
 #include "base/android/jni_string.h"
 #include "base/android/jni_weak_ref.h"
+#include "base/command_line.h"
+#include "base/metrics/field_trial.h"
 #include "chrome/browser/profiles/profile_manager.h"
+#include "chrome/common/url_constants.h"
 #include "components/autofill/core/common/password_form.h"
+#include "components/password_manager/core/common/password_manager_switches.h"
 #include "jni/PasswordUIView_jni.h"
 
 using base::android::ConvertUTF16ToJavaString;
@@ -93,6 +97,30 @@ void PasswordUIViewAndroid::HandleRemoveSavedPasswordException(
   password_manager_presenter_.RemovePasswordException(index);
 }
 
+jstring GetAccountDashboardURL(JNIEnv* env, jclass) {
+  return ConvertUTF8ToJavaString(
+      env, chrome::kPasswordManagerAccountDashboardURL).Release();
+}
+
+static jboolean ShouldDisplayManageAccountLink(
+    JNIEnv* env, jclass) {
+  std::string group_name =
+      base::FieldTrialList::FindFullName("AndroidPasswordLinkInSettings");
+
+  CommandLine* command_line = CommandLine::ForCurrentProcess();
+  if (command_line->HasSwitch(
+          password_manager::switches::kDisableAndroidPasswordLink)) {
+    return false;
+  }
+
+  if (command_line->HasSwitch(
+          password_manager::switches::kEnableAndroidPasswordLink)) {
+    return true;
+  }
+
+  return group_name == "Enabled";
+}
+
 // static
 static jlong Init(JNIEnv* env, jobject obj) {
   PasswordUIViewAndroid* controller = new PasswordUIViewAndroid(env, obj);