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

Unified Diff: content/browser/browser_plugin/browser_plugin_host.h

Issue 10735010: 3D Compositing in <browser>, first draft. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Major changes to clean up deadlock & other issues Created 8 years, 4 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/browser_plugin/browser_plugin_host.h
diff --git a/content/browser/browser_plugin/browser_plugin_host.h b/content/browser/browser_plugin/browser_plugin_host.h
index 1f6cc0a6055716c1525b8ff6cb22728ce7b04c76..8fbaf0b3419dddd04f667b05296335fd3e53a721 100644
--- a/content/browser/browser_plugin/browser_plugin_host.h
+++ b/content/browser/browser_plugin/browser_plugin_host.h
@@ -9,6 +9,7 @@
#include "base/compiler_specific.h"
#include "base/id_map.h"
+#include "content/common/browser_plugin_info.h"
scshunt 2012/08/12 01:42:45 This header seems really bad. How do other clients
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
#include "content/public/browser/web_contents_delegate.h"
@@ -21,6 +22,7 @@
#include "webkit/glue/webcursor.h"
class WebContentsImpl;
+struct BrowserPlugin_SwapInfo;
struct BrowserPluginHostMsg_PostMessage_Params;
struct ViewHostMsg_UpdateRect_Params;
@@ -53,9 +55,10 @@ class BrowserPluginHost : public WebContentsObserver,
// a new WebContentsImpl for the guest, associates it with its embedder, sets
// its size and navigates it to the src URL.
void NavigateOrCreateGuest(RenderViewHost* render_view_host,
- int instance_id,
- long long frame_id,
- const std::string& src);
+ int instance_id,
+ long long frame_id,
+ const std::string& src,
+ const BrowserPluginHostMsg_Surface_Params& params);
void ResizeGuest(int instance_id,
TransportDIB* damage_buffer,
@@ -89,6 +92,16 @@ class BrowserPluginHost : public WebContentsObserver,
float scale_factor);
TransportDIB* damage_buffer() const { return damage_buffer_; }
const gfx::Size& damage_buffer_size() const { return damage_buffer_size_; }
+
+ void SendBuffersSwappedToEmbedder(
+ uint64 surface_handle,
+ const BrowserPlugin_SwapInfo& info);
+ void SendSurfaceResizeToEmbedder(const gfx::Size& size);
+
+ void set_surface_params(const BrowserPluginHostMsg_Surface_Params& params) {
+ surface_params_ = params;
+ }
+
float damage_buffer_scale_factor() const {
return damage_buffer_scale_factor_;
}
@@ -119,7 +132,7 @@ class BrowserPluginHost : public WebContentsObserver,
void DestroyGuestByInstanceID(int instance_id);
// WebContentsDelegate implementation.
- virtual bool TakeFocus(bool reverse) OVERRIDE;
+ virtual bool TakeFocus(WebContents* source, bool reverse) OVERRIDE;
scshunt 2012/08/12 01:42:45 This change shouldn't be here.
virtual void RendererUnresponsive(WebContents* source) OVERRIDE;
// WebContentsObserver implementation.
@@ -156,6 +169,7 @@ class BrowserPluginHost : public WebContentsObserver,
IDMap<RenderViewHost> pending_updates_;
int pending_update_counter_;
scoped_ptr<IPC::Message> pending_input_event_reply_;
+ BrowserPluginHostMsg_Surface_Params surface_params_;
gfx::Rect guest_rect_;
WebCursor cursor_;

Powered by Google App Engine
This is Rietveld 408576698