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

Unified Diff: content/browser/web_contents/web_contents_view_mac.h

Issue 2888803002: Handle WebContentsViewMac being destroyed while a <select> menu is showing. (Closed)
Patch Set: respond to comments Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/web_contents/web_contents_view_mac.h
diff --git a/content/browser/web_contents/web_contents_view_mac.h b/content/browser/web_contents/web_contents_view_mac.h
index 4141b7f55f828327b0a5f149b9070313478e4f74..b0a1a1d9959376840664b8186da79e5bffa0b2d1 100644
--- a/content/browser/web_contents/web_contents_view_mac.h
+++ b/content/browser/web_contents/web_contents_view_mac.h
@@ -13,6 +13,7 @@
#include "base/mac/scoped_nsobject.h"
#include "base/macros.h"
+#include "content/browser/frame_host/popup_menu_helper_mac.h"
#include "content/browser/renderer_host/render_view_host_delegate_view.h"
#include "content/browser/web_contents/web_contents_view.h"
#include "content/common/content_export.h"
@@ -25,7 +26,6 @@
@class WebDragSource;
namespace content {
-class PopupMenuHelper;
class RenderWidgetHostViewMac;
class WebContentsImpl;
class WebContentsViewDelegate;
@@ -62,7 +62,8 @@ namespace content {
// Mac-specific implementation of the WebContentsView. It owns an NSView that
// contains all of the contents of the tab and associated child views.
class WebContentsViewMac : public WebContentsView,
- public RenderViewHostDelegateView {
+ public RenderViewHostDelegateView,
+ public PopupMenuHelper::Delegate {
public:
// The corresponding WebContentsImpl is passed in the constructor, and manages
// our lifetime. This doesn't need to be the case, but is this way currently
@@ -100,7 +101,16 @@ class WebContentsViewMac : public WebContentsView,
bool IsEventTracking() const override;
void CloseTabAfterEventTracking() override;
- // Backend implementation of RenderViewHostDelegateView.
+ // RenderViewHostDelegateView:
+ void StartDragging(const DropData& drop_data,
+ blink::WebDragOperationsMask allowed_operations,
+ const gfx::ImageSkia& image,
+ const gfx::Vector2d& image_offset,
+ const DragEventSourceInfo& event_info,
+ RenderWidgetHostImpl* source_rwh) override;
+ void UpdateDragCursor(blink::WebDragOperation operation) override;
+ void GotFocus() override;
+ void TakeFocus(bool reverse) override;
void ShowContextMenu(RenderFrameHost* render_frame_host,
const ContextMenuParams& params) override;
void ShowPopupMenu(RenderFrameHost* render_frame_host,
@@ -112,15 +122,9 @@ class WebContentsViewMac : public WebContentsView,
bool right_aligned,
bool allow_multiple_selection) override;
void HidePopupMenu() override;
- void StartDragging(const DropData& drop_data,
- blink::WebDragOperationsMask allowed_operations,
- const gfx::ImageSkia& image,
- const gfx::Vector2d& image_offset,
- const DragEventSourceInfo& event_info,
- RenderWidgetHostImpl* source_rwh) override;
- void UpdateDragCursor(blink::WebDragOperation operation) override;
- void GotFocus() override;
- void TakeFocus(bool reverse) override;
+
+ // PopupMenuHelper::Delegate:
+ void OnMenuClosed() override;
// A helper method for closing the tab in the
// CloseTabAfterEventTracking() implementation.
« no previous file with comments | « content/browser/frame_host/popup_menu_helper_mac.mm ('k') | content/browser/web_contents/web_contents_view_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698