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

Unified Diff: chrome/renderer/webplugin_delegate_pepper.h

Issue 6614030: Revert 76840 - Removed GPU plugin.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 10 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 | « chrome/plugin/webplugin_delegate_stub.cc ('k') | chrome/renderer/webplugin_delegate_pepper.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/webplugin_delegate_pepper.h
===================================================================
--- chrome/renderer/webplugin_delegate_pepper.h (revision 76844)
+++ chrome/renderer/webplugin_delegate_pepper.h (working copy)
@@ -16,6 +16,7 @@
#include "base/weak_ptr.h"
#include "base/task.h"
#include "chrome/renderer/pepper_devices.h"
+#include "chrome/renderer/command_buffer_proxy.h"
#include "third_party/npapi/bindings/npapi.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebFileChooserCompletion.h"
@@ -212,6 +213,10 @@
webkit::npapi::PluginInstance *instance);
~WebPluginDelegatePepper();
+ // Set a task that calls the repaint callback the next time the window
+ // is invalid and needs to be repainted.
+ void ScheduleHandleRepaint(NPP npp, NPDeviceContext3D* context);
+
//-----------------------------------------
// used for windowed and windowless plugins
@@ -245,6 +250,27 @@
const gfx::Rect& dest_rect, int canvas_height);
#endif // OS_MACOSX
+#if defined(ENABLE_GPU)
+
+ void ForwardHandleRepaint(NPP npp, NPDeviceContext3D* context);
+
+ // Synchronize a 3D context state with the service.
+ void Synchronize3DContext(NPDeviceContext3D* context,
+ const gpu::CommandBuffer::State& state);
+
+ // Synchronize the 3D context state with the proxy and invoke the async
+ // flush callback.
+ void Device3DUpdateState(NPP npp,
+ NPDeviceContext3D* context,
+ NPDeviceFlushContextCallbackPtr callback,
+ void* user_data);
+#endif
+
+ // Tells the browser out-of-band where the nested delegate lives on
+ // the page.
+ void SendNestedDelegateGeometryToBrowser(const gfx::Rect& window_rect,
+ const gfx::Rect& clip_rect);
+
// Returns the selection. If nothing is selected, returns an empty string.
// If html is true, it will return a string only if html data is available.
string16 GetSelectedText(bool html) const;
@@ -270,6 +296,9 @@
// The url with which the plugin was instantiated.
std::string plugin_url_;
+ // The nested GPU plugin.
+ WebPluginDelegateProxy* nested_delegate_;
+
// The last printable_area passed in to PrintBegin. We remember this because
// we need to stretch the printed raster bitmap to these dimensions. It is
// cleared in PrintEnd.
@@ -294,6 +323,14 @@
bool pdf_output_done_;
#endif // defined(OS_LINUX)
+#if defined(ENABLE_GPU)
+ // The command buffer used to issue commands to the nested GPU plugin.
+ CommandBufferProxy* command_buffer_;
+
+ // Runnable methods that must be cancelled when the 3D context is destroyed.
+ ScopedRunnableMethodFactory<WebPluginDelegatePepper> method_factory3d_;
+#endif
+
// The id of the current find operation, or -1 if none is in process.
int find_identifier_;
« no previous file with comments | « chrome/plugin/webplugin_delegate_stub.cc ('k') | chrome/renderer/webplugin_delegate_pepper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698