| 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_;
|
|
|
|
|