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

Side by Side Diff: chrome/browser/ui/app_modal_dialogs/javascript_dialog_creator.cc

Issue 10451047: content: Move javascript_message_type.h into content/ from ui/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rm CONTEXT_EXPORT Created 8 years, 6 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 | Annotate | Revision Log
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 "chrome/browser/ui/app_modal_dialogs/javascript_dialog_creator.h" 5 #include "chrome/browser/ui/app_modal_dialogs/javascript_dialog_creator.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
11 #include "base/memory/singleton.h" 11 #include "base/memory/singleton.h"
12 #include "base/utf_string_conversions.h" 12 #include "base/utf_string_conversions.h"
13 #include "chrome/browser/extensions/extension_host.h" 13 #include "chrome/browser/extensions/extension_host.h"
14 #include "chrome/browser/extensions/extension_service.h" 14 #include "chrome/browser/extensions/extension_service.h"
15 #include "chrome/browser/ui/app_modal_dialogs/app_modal_dialog_queue.h" 15 #include "chrome/browser/ui/app_modal_dialogs/app_modal_dialog_queue.h"
16 #include "chrome/browser/ui/app_modal_dialogs/javascript_app_modal_dialog.h" 16 #include "chrome/browser/ui/app_modal_dialogs/javascript_app_modal_dialog.h"
17 #include "chrome/common/chrome_constants.h" 17 #include "chrome/common/chrome_constants.h"
18 #include "chrome/common/chrome_notification_types.h" 18 #include "chrome/common/chrome_notification_types.h"
19 #include "content/public/browser/notification_observer.h" 19 #include "content/public/browser/notification_observer.h"
20 #include "content/public/browser/notification_registrar.h" 20 #include "content/public/browser/notification_registrar.h"
21 #include "content/public/browser/notification_service.h" 21 #include "content/public/browser/notification_service.h"
22 #include "content/public/common/content_client.h" 22 #include "content/public/common/content_client.h"
23 #include "content/public/common/javascript_message_type.h"
23 #include "grit/generated_resources.h" 24 #include "grit/generated_resources.h"
24 #include "net/base/net_util.h" 25 #include "net/base/net_util.h"
25 #include "ui/base/javascript_message_type.h"
26 #include "ui/base/l10n/l10n_util.h" 26 #include "ui/base/l10n/l10n_util.h"
27 27
28 using content::JavaScriptDialogCreator; 28 using content::JavaScriptDialogCreator;
29 using content::WebContents; 29 using content::WebContents;
30 30
31 namespace { 31 namespace {
32 32
33 class ChromeJavaScriptDialogCreator : public JavaScriptDialogCreator, 33 class ChromeJavaScriptDialogCreator : public JavaScriptDialogCreator,
34 public content::NotificationObserver { 34 public content::NotificationObserver {
35 public: 35 public:
36 static ChromeJavaScriptDialogCreator* GetInstance(); 36 static ChromeJavaScriptDialogCreator* GetInstance();
37 37
38 explicit ChromeJavaScriptDialogCreator(ExtensionHost* extension_host); 38 explicit ChromeJavaScriptDialogCreator(ExtensionHost* extension_host);
39 virtual ~ChromeJavaScriptDialogCreator(); 39 virtual ~ChromeJavaScriptDialogCreator();
40 40
41 virtual void RunJavaScriptDialog( 41 virtual void RunJavaScriptDialog(
42 WebContents* web_contents, 42 WebContents* web_contents,
43 const GURL& origin_url, 43 const GURL& origin_url,
44 const std::string& accept_lang, 44 const std::string& accept_lang,
45 ui::JavascriptMessageType javascript_message_type, 45 content::JavaScriptMessageType message_type,
46 const string16& message_text, 46 const string16& message_text,
47 const string16& default_prompt_text, 47 const string16& default_prompt_text,
48 const DialogClosedCallback& callback, 48 const DialogClosedCallback& callback,
49 bool* did_suppress_message) OVERRIDE; 49 bool* did_suppress_message) OVERRIDE;
50 50
51 virtual void RunBeforeUnloadDialog( 51 virtual void RunBeforeUnloadDialog(
52 WebContents* web_contents, 52 WebContents* web_contents,
53 const string16& message_text, 53 const string16& message_text,
54 bool is_reload, 54 bool is_reload,
55 const DialogClosedCallback& callback) OVERRIDE; 55 const DialogClosedCallback& callback) OVERRIDE;
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 114
115 // static 115 // static
116 ChromeJavaScriptDialogCreator* ChromeJavaScriptDialogCreator::GetInstance() { 116 ChromeJavaScriptDialogCreator* ChromeJavaScriptDialogCreator::GetInstance() {
117 return Singleton<ChromeJavaScriptDialogCreator>::get(); 117 return Singleton<ChromeJavaScriptDialogCreator>::get();
118 } 118 }
119 119
120 void ChromeJavaScriptDialogCreator::RunJavaScriptDialog( 120 void ChromeJavaScriptDialogCreator::RunJavaScriptDialog(
121 WebContents* web_contents, 121 WebContents* web_contents,
122 const GURL& origin_url, 122 const GURL& origin_url,
123 const std::string& accept_lang, 123 const std::string& accept_lang,
124 ui::JavascriptMessageType javascript_message_type, 124 content::JavaScriptMessageType message_type,
125 const string16& message_text, 125 const string16& message_text,
126 const string16& default_prompt_text, 126 const string16& default_prompt_text,
127 const DialogClosedCallback& callback, 127 const DialogClosedCallback& callback,
128 bool* did_suppress_message) { 128 bool* did_suppress_message) {
129 *did_suppress_message = false; 129 *did_suppress_message = false;
130 130
131 ChromeJavaScriptDialogExtraData* extra_data = 131 ChromeJavaScriptDialogExtraData* extra_data =
132 &javascript_dialog_extra_data_[web_contents]; 132 &javascript_dialog_extra_data_[web_contents];
133 133
134 if (extra_data->suppress_javascript_messages_) { 134 if (extra_data->suppress_javascript_messages_) {
135 *did_suppress_message = true; 135 *did_suppress_message = true;
136 return; 136 return;
137 } 137 }
138 138
139 base::TimeDelta time_since_last_message = base::TimeTicks::Now() - 139 base::TimeDelta time_since_last_message = base::TimeTicks::Now() -
140 extra_data->last_javascript_message_dismissal_; 140 extra_data->last_javascript_message_dismissal_;
141 bool display_suppress_checkbox = false; 141 bool display_suppress_checkbox = false;
142 // Show a checkbox offering to suppress further messages if this message is 142 // Show a checkbox offering to suppress further messages if this message is
143 // being displayed within kJavascriptMessageExpectedDelay of the last one. 143 // being displayed within kJavascriptMessageExpectedDelay of the last one.
144 if (time_since_last_message < 144 if (time_since_last_message <
145 base::TimeDelta::FromMilliseconds( 145 base::TimeDelta::FromMilliseconds(
146 chrome::kJavascriptMessageExpectedDelay)) { 146 chrome::kJavascriptMessageExpectedDelay)) {
147 display_suppress_checkbox = true; 147 display_suppress_checkbox = true;
148 } 148 }
149 149
150 bool is_alert = javascript_message_type == ui::JAVASCRIPT_MESSAGE_TYPE_ALERT; 150 bool is_alert = message_type == content::JAVASCRIPT_MESSAGE_TYPE_ALERT;
151 string16 dialog_title = GetTitle(origin_url, accept_lang, is_alert); 151 string16 dialog_title = GetTitle(origin_url, accept_lang, is_alert);
152 152
153 if (extension_host_) 153 if (extension_host_)
154 extension_host_->WillRunJavaScriptDialog(); 154 extension_host_->WillRunJavaScriptDialog();
155 155
156 AppModalDialogQueue::GetInstance()->AddDialog(new JavaScriptAppModalDialog( 156 AppModalDialogQueue::GetInstance()->AddDialog(new JavaScriptAppModalDialog(
157 web_contents, 157 web_contents,
158 extra_data, 158 extra_data,
159 dialog_title, 159 dialog_title,
160 javascript_message_type, 160 message_type,
161 message_text, 161 message_text,
162 default_prompt_text, 162 default_prompt_text,
163 display_suppress_checkbox, 163 display_suppress_checkbox,
164 false, // is_before_unload_dialog 164 false, // is_before_unload_dialog
165 false, // is_reload 165 false, // is_reload
166 base::Bind(&ChromeJavaScriptDialogCreator::OnDialogClosed, 166 base::Bind(&ChromeJavaScriptDialogCreator::OnDialogClosed,
167 base::Unretained(this), callback))); 167 base::Unretained(this), callback)));
168 } 168 }
169 169
170 void ChromeJavaScriptDialogCreator::RunBeforeUnloadDialog( 170 void ChromeJavaScriptDialogCreator::RunBeforeUnloadDialog(
(...skipping 11 matching lines...) Expand all
182 182
183 string16 full_message = message_text + ASCIIToUTF16("\n\n") + footer; 183 string16 full_message = message_text + ASCIIToUTF16("\n\n") + footer;
184 184
185 if (extension_host_) 185 if (extension_host_)
186 extension_host_->WillRunJavaScriptDialog(); 186 extension_host_->WillRunJavaScriptDialog();
187 187
188 AppModalDialogQueue::GetInstance()->AddDialog(new JavaScriptAppModalDialog( 188 AppModalDialogQueue::GetInstance()->AddDialog(new JavaScriptAppModalDialog(
189 web_contents, 189 web_contents,
190 extra_data, 190 extra_data,
191 title, 191 title,
192 ui::JAVASCRIPT_MESSAGE_TYPE_CONFIRM, 192 content::JAVASCRIPT_MESSAGE_TYPE_CONFIRM,
193 full_message, 193 full_message,
194 string16(), // default_prompt_text 194 string16(), // default_prompt_text
195 false, // display_suppress_checkbox 195 false, // display_suppress_checkbox
196 true, // is_before_unload_dialog 196 true, // is_before_unload_dialog
197 is_reload, 197 is_reload,
198 base::Bind(&ChromeJavaScriptDialogCreator::OnDialogClosed, 198 base::Bind(&ChromeJavaScriptDialogCreator::OnDialogClosed,
199 base::Unretained(this), callback))); 199 base::Unretained(this), callback)));
200 } 200 }
201 201
202 void ChromeJavaScriptDialogCreator::ResetJavaScriptState( 202 void ChromeJavaScriptDialogCreator::ResetJavaScriptState(
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 } // namespace 267 } // namespace
268 268
269 content::JavaScriptDialogCreator* GetJavaScriptDialogCreatorInstance() { 269 content::JavaScriptDialogCreator* GetJavaScriptDialogCreatorInstance() {
270 return ChromeJavaScriptDialogCreator::GetInstance(); 270 return ChromeJavaScriptDialogCreator::GetInstance();
271 } 271 }
272 272
273 content::JavaScriptDialogCreator* CreateJavaScriptDialogCreatorInstance( 273 content::JavaScriptDialogCreator* CreateJavaScriptDialogCreatorInstance(
274 ExtensionHost* extension_host) { 274 ExtensionHost* extension_host) {
275 return new ChromeJavaScriptDialogCreator(extension_host); 275 return new ChromeJavaScriptDialogCreator(extension_host);
276 } 276 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698