Chromium Code Reviews| Index: chrome/browser/ui/android/javascript_app_modal_dialog_android.cc |
| diff --git a/chrome/browser/ui/android/javascript_app_modal_dialog_android.cc b/chrome/browser/ui/android/javascript_app_modal_dialog_android.cc |
| index 3c7331fa92174fa8076aee21c3abd7d19fef67f1..ceb1f5ebabfd43e8629cb37e934a95c24ef0c265 100644 |
| --- a/chrome/browser/ui/android/javascript_app_modal_dialog_android.cc |
| +++ b/chrome/browser/ui/android/javascript_app_modal_dialog_android.cc |
| @@ -6,13 +6,13 @@ |
| #include "base/android/jni_android.h" |
| #include "base/android/jni_string.h" |
| -#include "base/strings/utf_string_conversions.h" |
| - |
| -#include "chrome/browser/browser_process.h" |
| +#include "chrome/browser/ui/android/javascript_app_modal_dialog_android.h" |
|
msw
2014/11/05 23:34:37
nit: Remove redundant include (same as first).
oshima
2014/11/06 00:04:32
Done.
|
| +#include "chrome/browser/ui/app_modal_dialogs/chrome_javascript_native_dialog_factory.h" |
| #include "components/app_modal_dialogs/app_modal_dialog_queue.h" |
| #include "components/app_modal_dialogs/javascript_app_modal_dialog.h" |
| +#include "components/app_modal_dialogs/javascript_dialog_manager.h" |
| +#include "components/app_modal_dialogs/javascript_native_dialog_factory.h" |
| #include "content/public/browser/browser_thread.h" |
| -#include "content/public/browser/web_contents.h" |
| #include "content/public/common/javascript_message_type.h" |
| #include "jni/JavascriptAppModalDialog_jni.h" |
| #include "ui/base/android/window_android.h" |
| @@ -21,15 +21,6 @@ using base::android::AttachCurrentThread; |
| using base::android::ConvertUTF16ToJavaString; |
| using base::android::ScopedJavaGlobalRef; |
| using base::android::ScopedJavaLocalRef; |
| -using content::BrowserThread; |
| - |
| -// static |
| -NativeAppModalDialog* NativeAppModalDialog::CreateNativeJavaScriptPrompt( |
| - JavaScriptAppModalDialog* dialog, |
| - gfx::NativeWindow parent_window) { |
| - return new JavascriptAppModalDialogAndroid(AttachCurrentThread(), |
| - dialog, parent_window); |
| -} |
| JavascriptAppModalDialogAndroid::JavascriptAppModalDialogAndroid( |
| JNIEnv* env, |
| @@ -45,7 +36,7 @@ int JavascriptAppModalDialogAndroid::GetAppModalDialogButtons() const { |
| } |
| void JavascriptAppModalDialogAndroid::ShowAppModalDialog() { |
| - DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| JNIEnv* env = AttachCurrentThread(); |
| // Keep a strong ref to the parent window while we make the call to java to |
| @@ -165,3 +156,31 @@ JavascriptAppModalDialogAndroid::~JavascriptAppModalDialogAndroid() { |
| Java_JavascriptAppModalDialog_dismiss(env, dialog_jobject_.obj()); |
| } |
| } |
| + |
| +namespace { |
| + |
| +class ChromeJavaScriptNativeDialogAndroidFactory |
| + : public JavaScriptNativeDialogFactory { |
| + public: |
| + ChromeJavaScriptNativeDialogAndroidFactory() {} |
| + ~ChromeJavaScriptNativeDialogAndroidFactory() override {} |
| + |
| + private: |
| + NativeAppModalDialog* CreateNativeJavaScriptDialog( |
| + JavaScriptAppModalDialog* dialog, |
| + gfx::NativeWindow parent_window) override { |
| + return new JavascriptAppModalDialogAndroid( |
| + base::android::AttachCurrentThread(), |
| + dialog, parent_window); |
| + } |
| + |
| + DISALLOW_COPY_AND_ASSIGN(ChromeJavaScriptNativeDialogAndroidFactory); |
| +}; |
| + |
| +} // namespace |
| + |
| +void InstallChromeJavaScriptNativeDialogFactory() { |
| + SetJavaScriptNativeDialogFactory( |
| + make_scoped_ptr(new ChromeJavaScriptNativeDialogAndroidFactory)); |
| +} |
| + |