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

Side by Side Diff: components/app_modal/javascript_dialog_manager.cc

Issue 2754143003: For a "cancel" of an alert dialog via HandleJavaScriptDialog, click the only button, "OK". (Closed)
Patch Set: fully qualify Created 3 years, 9 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/app_modal/javascript_dialog_manager.h" 5 #include "components/app_modal/javascript_dialog_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 bool JavaScriptDialogManager::HandleJavaScriptDialog( 241 bool JavaScriptDialogManager::HandleJavaScriptDialog(
242 content::WebContents* web_contents, 242 content::WebContents* web_contents,
243 bool accept, 243 bool accept,
244 const base::string16* prompt_override) { 244 const base::string16* prompt_override) {
245 AppModalDialogQueue* dialog_queue = AppModalDialogQueue::GetInstance(); 245 AppModalDialogQueue* dialog_queue = AppModalDialogQueue::GetInstance();
246 if (!dialog_queue->HasActiveDialog() || 246 if (!dialog_queue->HasActiveDialog() ||
247 !dialog_queue->active_dialog()->IsJavaScriptModalDialog() || 247 !dialog_queue->active_dialog()->IsJavaScriptModalDialog() ||
248 dialog_queue->active_dialog()->web_contents() != web_contents) { 248 dialog_queue->active_dialog()->web_contents() != web_contents) {
249 return false; 249 return false;
250 } 250 }
251
251 JavaScriptAppModalDialog* dialog = static_cast<JavaScriptAppModalDialog*>( 252 JavaScriptAppModalDialog* dialog = static_cast<JavaScriptAppModalDialog*>(
252 dialog_queue->active_dialog()); 253 dialog_queue->active_dialog());
254
255 if (dialog->javascript_dialog_type() ==
256 content::JavaScriptDialogType::JAVASCRIPT_DIALOG_TYPE_ALERT) {
257 // Alert dialogs only have one button: OK. Any "handling" of this dialog has
258 // to be a click on the OK button.
259 accept = true;
260 }
261
253 if (accept) { 262 if (accept) {
254 if (prompt_override) 263 if (prompt_override)
255 dialog->SetOverridePromptText(*prompt_override); 264 dialog->SetOverridePromptText(*prompt_override);
256 dialog->native_dialog()->AcceptAppModalDialog(); 265 dialog->native_dialog()->AcceptAppModalDialog();
257 } else { 266 } else {
258 dialog->native_dialog()->CancelAppModalDialog(); 267 dialog->native_dialog()->CancelAppModalDialog();
259 } 268 }
260 return true; 269 return true;
261 } 270 }
262 271
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 // lazy background page after the dialog closes. (Dialogs are closed before 316 // lazy background page after the dialog closes. (Dialogs are closed before
308 // their WebContents is destroyed so |web_contents| is still valid here.) 317 // their WebContents is destroyed so |web_contents| is still valid here.)
309 extensions_client_->OnDialogClosed(web_contents); 318 extensions_client_->OnDialogClosed(web_contents);
310 319
311 last_close_time_ = base::TimeTicks::Now(); 320 last_close_time_ = base::TimeTicks::Now();
312 321
313 callback.Run(success, user_input); 322 callback.Run(success, user_input);
314 } 323 }
315 324
316 } // namespace app_modal 325 } // namespace app_modal
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698