Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(346)

Side by Side Diff: android_webview/browser/aw_javascript_dialog_manager.cc

Issue 545963002: Android WebView: clean up the AwContentsClientBridge webcontents userdata. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add another missing callback run Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "android_webview/browser/aw_javascript_dialog_manager.h" 5 #include "android_webview/browser/aw_javascript_dialog_manager.h"
6 6
7 #include "android_webview/browser/aw_contents_client_bridge_base.h" 7 #include "android_webview/browser/aw_contents_client_bridge_base.h"
8 #include "content/public/browser/javascript_dialog_manager.h" 8 #include "content/public/browser/javascript_dialog_manager.h"
9 #include "content/public/browser/web_contents.h" 9 #include "content/public/browser/web_contents.h"
10 10
11 namespace android_webview { 11 namespace android_webview {
12 12
13 AwJavaScriptDialogManager::AwJavaScriptDialogManager() {} 13 AwJavaScriptDialogManager::AwJavaScriptDialogManager() {}
14 14
15 AwJavaScriptDialogManager::~AwJavaScriptDialogManager() {} 15 AwJavaScriptDialogManager::~AwJavaScriptDialogManager() {}
16 16
17 void AwJavaScriptDialogManager::RunJavaScriptDialog( 17 void AwJavaScriptDialogManager::RunJavaScriptDialog(
18 content::WebContents* web_contents, 18 content::WebContents* web_contents,
19 const GURL& origin_url, 19 const GURL& origin_url,
20 const std::string& accept_lang, 20 const std::string& accept_lang,
21 content::JavaScriptMessageType message_type, 21 content::JavaScriptMessageType message_type,
22 const base::string16& message_text, 22 const base::string16& message_text,
23 const base::string16& default_prompt_text, 23 const base::string16& default_prompt_text,
24 const DialogClosedCallback& callback, 24 const DialogClosedCallback& callback,
25 bool* did_suppress_message) { 25 bool* did_suppress_message) {
26 AwContentsClientBridgeBase* bridge = 26 AwContentsClientBridgeBase* bridge =
27 AwContentsClientBridgeBase::FromWebContents(web_contents); 27 AwContentsClientBridgeBase::FromWebContents(web_contents);
28 if (!bridge) {
29 callback.Run(false, base::string16());
30 return;
31 }
32
28 bridge->RunJavaScriptDialog(message_type, 33 bridge->RunJavaScriptDialog(message_type,
29 origin_url, 34 origin_url,
30 message_text, 35 message_text,
31 default_prompt_text, 36 default_prompt_text,
32 callback); 37 callback);
33 } 38 }
34 39
35 void AwJavaScriptDialogManager::RunBeforeUnloadDialog( 40 void AwJavaScriptDialogManager::RunBeforeUnloadDialog(
36 content::WebContents* web_contents, 41 content::WebContents* web_contents,
37 const base::string16& message_text, 42 const base::string16& message_text,
38 bool is_reload, 43 bool is_reload,
39 const DialogClosedCallback& callback) { 44 const DialogClosedCallback& callback) {
40 AwContentsClientBridgeBase* bridge = 45 AwContentsClientBridgeBase* bridge =
41 AwContentsClientBridgeBase::FromWebContents(web_contents); 46 AwContentsClientBridgeBase::FromWebContents(web_contents);
47 if (!bridge) {
48 callback.Run(false, base::string16());
49 return;
50 }
51
42 bridge->RunBeforeUnloadDialog(web_contents->GetURL(), 52 bridge->RunBeforeUnloadDialog(web_contents->GetURL(),
43 message_text, 53 message_text,
44 callback); 54 callback);
45 } 55 }
46 56
47 void AwJavaScriptDialogManager::CancelActiveAndPendingDialogs( 57 void AwJavaScriptDialogManager::CancelActiveAndPendingDialogs(
48 content::WebContents* web_contents) { 58 content::WebContents* web_contents) {
49 } 59 }
50 60
51 void AwJavaScriptDialogManager::WebContentsDestroyed( 61 void AwJavaScriptDialogManager::WebContentsDestroyed(
52 content::WebContents* web_contents) { 62 content::WebContents* web_contents) {
53 } 63 }
54 64
55 } // namespace android_webview 65 } // namespace android_webview
OLDNEW
« no previous file with comments | « android_webview/browser/aw_contents_client_bridge_base.cc ('k') | android_webview/native/aw_contents.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698