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

Unified Diff: content/public/browser/web_contents_view_delegate.h

Issue 9700023: Move creation of content TabContentsViews to content so that we can hide these headers through DEPS… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix mac Created 8 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 side-by-side diff with in-line comments
Download patch
Index: content/public/browser/web_contents_view_delegate.h
===================================================================
--- content/public/browser/web_contents_view_delegate.h (revision 126521)
+++ content/public/browser/web_contents_view_delegate.h (working copy)
@@ -6,27 +6,42 @@
#define CONTENT_PUBLIC_BROWSER_WEB_CONTENTS_VIEW_WIN_DELEGATE_H_
#pragma once
+#if defined(TOOLKIT_USES_GTK)
+#include <gtk/gtk.h>
+#elif defined(OS_MACOSX)
+#import <Cocoa/Cocoa.h>
+#endif
+
#include "content/common/content_export.h"
#include "ui/gfx/native_widget_types.h"
+#if defined(OS_MACOSX)
+@protocol RenderWidgetHostViewMacDelegate;
+#endif
+
namespace gfx {
class Size;
}
namespace content {
+class RenderWidgetHost;
class WebDragDestDelegate;
struct ContextMenuParams;
-// This interface allows a client to extend the functionality of
-// WebContentsViewWin.
-class CONTENT_EXPORT WebContentsViewWinDelegate {
+// This interface allows a client to extend the functionality of the
+// WebContentsView implementation.
+class CONTENT_EXPORT WebContentsViewDelegate {
public:
- virtual ~WebContentsViewWinDelegate() {}
+ virtual ~WebContentsViewDelegate() {}
// Returns a delegate to process drags not handled by content.
virtual WebDragDestDelegate* GetDragDestDelegate() = 0;
+ // Shows a context menu.
+ virtual void ShowContextMenu(const content::ContextMenuParams& params) = 0;
+
+#if defined(OS_WIN) && !defined(USE_AURA)
// These methods allow the embedder to intercept WebContentsViewWin's
// implementation of these WebContentsView methods. See the WebContentsView
// interface documentation for more information about these methods.
@@ -34,8 +49,36 @@
virtual void RestoreFocus() = 0;
virtual bool Focus() = 0;
virtual void TakeFocus(bool reverse) = 0;
- virtual void ShowContextMenu(const content::ContextMenuParams& params) = 0;
virtual void SizeChanged(const gfx::Size& size) = 0;
+#elif defined(TOOLKIT_USES_GTK)
+ // Initializes the WebContentsViewDelegate.
+ virtual void Initialize(GtkWidget* expanded_container) = 0;
+
+ // Returns the top widget that contains |view| passed in from WrapView. This
+ // is exposed through TabContentsViewGtk::GetNativeView() when a wrapper is
+ // supplied to a TabContentsViewGtk.
+ virtual gfx::NativeView GetNativeView() const = 0;
+
+ // Handles a focus event from the renderer process.
+ virtual void Focus() = 0;
+
+ // Gives the delegate a first chance at focus events from our render widget
+ // host, before the main view invokes its default behaviour. Returns TRUE if
+ // |return_value| has been set and that value should be returned to GTK+.
+ virtual gboolean OnNativeViewFocusEvent(GtkWidget* widget,
+ GtkDirectionType type,
+ gboolean* return_value) = 0;
+#elif defined(OS_MACOSX)
+ // Returns a newly-created delegate for the RenderWidgetHostViewMac, to handle
+ // events on the responder chain.
+ virtual NSObject<RenderWidgetHostViewMacDelegate>*
+ CreateRenderWidgetHostViewDelegate(
+ RenderWidgetHost* render_widget_host) = 0;
+
+ // Notifications that the native view was created/destroyed.
+ virtual void NativeViewCreated(NSView* view) = 0;
+ virtual void NativeViewDestroyed(NSView* view) = 0;
+#endif
};
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698