1eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 2eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// found in the LICENSE file. 4eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#ifndef CHROME_BROWSER_UI_AUTO_LOGIN_INFOBAR_DELEGATE_ANDROID_H_ 5eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#define CHROME_BROWSER_UI_AUTO_LOGIN_INFOBAR_DELEGATE_ANDROID_H_ 6eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 7eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "base/android/jni_helper.h" 8eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "base/android/scoped_java_ref.h" 9eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "chrome/browser/ui/auto_login_infobar_delegate.h" 10eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 11eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochclass AutoLoginInfoBarDelegateAndroid : public AutoLoginInfoBarDelegate { 12eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch public: 13eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch AutoLoginInfoBarDelegateAndroid(InfoBarService* owner, const Params& params); 14eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual ~AutoLoginInfoBarDelegateAndroid(); 15eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 16eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch // ConfirmInfoBarDelegate: 17eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual bool Accept() OVERRIDE; 18eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual bool Cancel() OVERRIDE; 19eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch virtual string16 GetMessageText() const OVERRIDE; 20eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 21eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch // These methods are defined in downstream code. 22eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch bool AttachAccount(JavaObjectWeakGlobalRef weak_java_translate_helper); 23eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch void LoginSuccess(JNIEnv* env, jobject obj, jstring result); 24eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch void LoginFailed(JNIEnv* env, jobject obj); 25eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch void LoginDismiss(JNIEnv* env, jobject obj); 26eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 27eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch // Register Android JNI bindings. 28eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch static bool Register(JNIEnv* env); 29eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 30eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch private: 31eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch const std::string& realm() const { return params_.header.realm; } 32eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch const std::string& account() const { return params_.header.account; } 33eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch const std::string& args() const { return params_.header.args; } 34eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 35eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch JavaObjectWeakGlobalRef weak_java_auto_login_delegate_; 36eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch std::string user_; 37eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch const Params params_; 38eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 39eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch DISALLOW_COPY_AND_ASSIGN(AutoLoginInfoBarDelegateAndroid); 40eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}; 41eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 42eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 43eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#endif // CHROME_BROWSER_UI_AUTO_LOGIN_INFOBAR_DELEGATE_ANDROID_H_ 44eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 45