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

Side by Side Diff: content/browser/web_contents/web_contents_impl.h

Issue 2384813002: Don't wait to close tabs waiting for JavaScript dialogs. (Closed)
Patch Set: now a bit on webcontents, no timer fiddling Created 4 years, 2 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 #ifndef CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ 5 #ifndef CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_
6 #define CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ 6 #define CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <functional> 10 #include <functional>
(...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after
459 const ContextMenuParams& params) override; 459 const ContextMenuParams& params) override;
460 void RunJavaScriptMessage(RenderFrameHost* render_frame_host, 460 void RunJavaScriptMessage(RenderFrameHost* render_frame_host,
461 const base::string16& message, 461 const base::string16& message,
462 const base::string16& default_prompt, 462 const base::string16& default_prompt,
463 const GURL& frame_url, 463 const GURL& frame_url,
464 JavaScriptMessageType type, 464 JavaScriptMessageType type,
465 IPC::Message* reply_msg) override; 465 IPC::Message* reply_msg) override;
466 void RunBeforeUnloadConfirm(RenderFrameHost* render_frame_host, 466 void RunBeforeUnloadConfirm(RenderFrameHost* render_frame_host,
467 bool is_reload, 467 bool is_reload,
468 IPC::Message* reply_msg) override; 468 IPC::Message* reply_msg) override;
469 bool IsJavaScriptDialogShowing() const override;
469 void RunFileChooser(RenderFrameHost* render_frame_host, 470 void RunFileChooser(RenderFrameHost* render_frame_host,
470 const FileChooserParams& params) override; 471 const FileChooserParams& params) override;
471 void DidAccessInitialDocument() override; 472 void DidAccessInitialDocument() override;
472 void DidChangeName(RenderFrameHost* render_frame_host, 473 void DidChangeName(RenderFrameHost* render_frame_host,
473 const std::string& name) override; 474 const std::string& name) override;
474 void DocumentOnLoadCompleted(RenderFrameHost* render_frame_host) override; 475 void DocumentOnLoadCompleted(RenderFrameHost* render_frame_host) override;
475 void UpdateStateForFrame(RenderFrameHost* render_frame_host, 476 void UpdateStateForFrame(RenderFrameHost* render_frame_host,
476 const PageState& page_state) override; 477 const PageState& page_state) override;
477 void UpdateTitle(RenderFrameHost* render_frame_host, 478 void UpdateTitle(RenderFrameHost* render_frame_host,
478 int32_t page_id, 479 int32_t page_id,
(...skipping 809 matching lines...) Expand 10 before | Expand all | Expand 10 after
1288 // Indicates whether we should notify about disconnection of this 1289 // Indicates whether we should notify about disconnection of this
1289 // WebContentsImpl. This is used to ensure disconnection notifications only 1290 // WebContentsImpl. This is used to ensure disconnection notifications only
1290 // happen if a connection notification has happened and that they happen only 1291 // happen if a connection notification has happened and that they happen only
1291 // once. 1292 // once.
1292 bool notify_disconnection_; 1293 bool notify_disconnection_;
1293 1294
1294 // Pointer to the JavaScript dialog manager, lazily assigned. Used because the 1295 // Pointer to the JavaScript dialog manager, lazily assigned. Used because the
1295 // delegate of this WebContentsImpl is nulled before its destructor is called. 1296 // delegate of this WebContentsImpl is nulled before its destructor is called.
1296 JavaScriptDialogManager* dialog_manager_; 1297 JavaScriptDialogManager* dialog_manager_;
1297 1298
1299 // Set to true when there is an active JavaScript dialog showing.
1300 bool is_showing_javascript_dialog_ = false;
1301
1298 // Set to true when there is an active "before unload" dialog. When true, 1302 // Set to true when there is an active "before unload" dialog. When true,
1299 // we've forced the throbber to start in Navigate, and we need to remember to 1303 // we've forced the throbber to start in Navigate, and we need to remember to
1300 // turn it off in OnJavaScriptMessageBoxClosed if the navigation is canceled. 1304 // turn it off in OnJavaScriptMessageBoxClosed if the navigation is canceled.
1301 bool is_showing_before_unload_dialog_; 1305 bool is_showing_before_unload_dialog_;
1302 1306
1303 // Settings that get passed to the renderer process. 1307 // Settings that get passed to the renderer process.
1304 RendererPreferences renderer_preferences_; 1308 RendererPreferences renderer_preferences_;
1305 1309
1306 // The time that this WebContents was last made active. The initial value is 1310 // The time that this WebContents was last made active. The initial value is
1307 // the WebContents creation time. 1311 // the WebContents creation time.
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
1486 // Adds/removes a callback called on creation of each new WebContents. 1490 // Adds/removes a callback called on creation of each new WebContents.
1487 static void AddCreatedCallbackForTesting(const CreatedCallback& callback); 1491 static void AddCreatedCallbackForTesting(const CreatedCallback& callback);
1488 static void RemoveCreatedCallbackForTesting(const CreatedCallback& callback); 1492 static void RemoveCreatedCallbackForTesting(const CreatedCallback& callback);
1489 1493
1490 DISALLOW_COPY_AND_ASSIGN(FriendZone); 1494 DISALLOW_COPY_AND_ASSIGN(FriendZone);
1491 }; 1495 };
1492 1496
1493 } // namespace content 1497 } // namespace content
1494 1498
1495 #endif // CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_ 1499 #endif // CONTENT_BROWSER_WEB_CONTENTS_WEB_CONTENTS_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698