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

Unified Diff: content/renderer/render_view_impl.h

Issue 9609008: Implemented Browser Plugin (NOT FOR REVIEW) (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Initial plumbing of a guest flag to RenderViewImpl (cleaner than early prototype) 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
« no previous file with comments | « content/renderer/render_thread_impl.cc ('k') | content/renderer/render_view_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_view_impl.h
diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h
index 8527302bfa2c29b250e896728465f9e134e2ba8a..15e45fe8ce3cb64391fffa34f246937e035ca7c6 100644
--- a/content/renderer/render_view_impl.h
+++ b/content/renderer/render_view_impl.h
@@ -30,6 +30,7 @@
#include "content/public/common/renderer_preferences.h"
#include "content/public/common/stop_find_action.h"
#include "content/public/renderer/render_view.h"
+#include "content/renderer/guest_render_view_observer.h"
#include "content/renderer/pepper/pepper_plugin_delegate_impl.h"
#include "content/renderer/renderer_webcookiejar_impl.h"
#include "content/renderer/render_view_selection.h"
@@ -64,6 +65,7 @@ class DevToolsAgent;
class DomAutomationController;
class ExternalPopupMenu;
class GeolocationDispatcher;
+class GuestRenderViewObserver;
class GURL;
class JavaBridgeDispatcher;
class LoadProgressTracker;
@@ -118,6 +120,7 @@ class WebApplicationCacheHostClient;
class WebDataSource;
class WebDragData;
class WebGeolocationClient;
+class WebGraphicsContext3D;
class WebIconURL;
class WebImage;
class WebMediaPlayer;
@@ -185,7 +188,8 @@ class RenderViewImpl : public RenderWidget,
int64 session_storage_namespace_id,
const string16& frame_name,
int32 next_page_id,
- const WebKit::WebScreenInfo& screen_info);
+ const WebKit::WebScreenInfo& screen_info,
+ bool guest);
// Returns the RenderViewImpl containing the given WebView.
CONTENT_EXPORT static RenderViewImpl* FromWebView(WebKit::WebView* webview);
@@ -201,6 +205,10 @@ class RenderViewImpl : public RenderWidget,
virtual void OnViewContextSwapBuffersComplete() OVERRIDE;
virtual void OnViewContextSwapBuffersAborted() OVERRIDE;
+ // Called by the associated GuestRenderViewObserver when a
+ // guest-to-host channel has been established.
+ void OnGuestReady();
+
int history_list_offset() const { return history_list_offset_; }
const WebPreferences& webkit_preferences() const {
@@ -594,6 +602,10 @@ class RenderViewImpl : public RenderWidget,
virtual WebKit::WebNode GetFocusedNode() const OVERRIDE;
virtual WebKit::WebNode GetContextMenuNode() const OVERRIDE;
virtual bool IsEditableNode(const WebKit::WebNode& node) OVERRIDE;
+ virtual WebKit::WebPlugin* CreateBrowserPlugin(
+ base::ProcessHandle process_handle,
+ const IPC::ChannelHandle& channel_handle,
+ const WebKit::WebPluginParams& params) OVERRIDE;
virtual WebKit::WebPlugin* CreatePlugin(
WebKit::WebFrame* frame,
const webkit::WebPluginInfo& info,
@@ -726,7 +738,8 @@ class RenderViewImpl : public RenderWidget,
int64 session_storage_namespace_id,
const string16& frame_name,
int32 next_page_id,
- const WebKit::WebScreenInfo& screen_info);
+ const WebKit::WebScreenInfo& screen_info,
+ bool guest);
// Do not delete directly. This class is reference counted.
virtual ~RenderViewImpl();
@@ -1183,6 +1196,9 @@ class RenderViewImpl : public RenderWidget,
// The intents host attached to this view. Not lazily initialized.
WebIntentsHost* intents_host_;
+ // The guest observer attached to this view.
+ GuestRenderViewObserver* guest_observer_;
+
// The speech dispatcher attached to this view, lazily initialized.
InputTagSpeechDispatcher* input_tag_speech_dispatcher_;
@@ -1285,6 +1301,9 @@ class RenderViewImpl : public RenderWidget,
// DOM automation bindings are enabled.
scoped_ptr<DomAutomationController> dom_automation_controller_;
+ // Indicates whether this RenderView is a guest.
+ bool guest_;
+
// NOTE: pepper_delegate_ should be last member because its constructor calls
// AddObservers method of RenderViewImpl from c-tor.
PepperPluginDelegateImpl pepper_delegate_;
« no previous file with comments | « content/renderer/render_thread_impl.cc ('k') | content/renderer/render_view_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698