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

Unified Diff: webkit/plugins/ppapi/ppb_surface_3d_impl.cc

Issue 7669055: Remove webkit::ppapi::Resource. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix self-assignment Created 9 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: webkit/plugins/ppapi/ppb_surface_3d_impl.cc
diff --git a/webkit/plugins/ppapi/ppb_surface_3d_impl.cc b/webkit/plugins/ppapi/ppb_surface_3d_impl.cc
index fe2651475aeecffb3accf444d600f1d564d076b4..fe5aa932f75a24c8ef04b24813a24996f12524c9 100644
--- a/webkit/plugins/ppapi/ppb_surface_3d_impl.cc
+++ b/webkit/plugins/ppapi/ppb_surface_3d_impl.cc
@@ -13,13 +13,14 @@
#include "webkit/plugins/ppapi/plugin_module.h"
#include "webkit/plugins/ppapi/ppapi_plugin_instance.h"
#include "webkit/plugins/ppapi/ppb_context_3d_impl.h"
+#include "webkit/plugins/ppapi/resource_helper.h"
using ppapi::thunk::PPB_Surface3D_API;
namespace webkit {
namespace ppapi {
-PPB_Surface3D_Impl::PPB_Surface3D_Impl(PluginInstance* instance)
+PPB_Surface3D_Impl::PPB_Surface3D_Impl(PP_Instance instance)
: Resource(instance),
bound_to_instance_(false),
swap_initiated_(false),
@@ -32,7 +33,7 @@ PPB_Surface3D_Impl::~PPB_Surface3D_Impl() {
}
// static
-PP_Resource PPB_Surface3D_Impl::Create(PluginInstance* instance,
+PP_Resource PPB_Surface3D_Impl::Create(PP_Instance instance,
PP_Config3D_Dev config,
const int32_t* attrib_list) {
scoped_refptr<PPB_Surface3D_Impl> surface(
@@ -71,8 +72,10 @@ int32_t PPB_Surface3D_Impl::SwapBuffers(PP_CompletionCallback callback) {
if (!context_)
return PP_ERROR_FAILED;
- swap_callback_ = new TrackedCompletionCallback(
- instance()->module()->GetCallbackTracker(), pp_resource(), callback);
+ PluginModule* module = ResourceHelper::GetPluginModule(this);
+
+ swap_callback_ = new TrackedCompletionCallback(module->GetCallbackTracker(),
+ pp_resource(), callback);
gpu::gles2::GLES2Implementation* impl = context_->gles2_impl();
if (impl)
context_->gles2_impl()->SwapBuffers();
@@ -95,8 +98,10 @@ bool PPB_Surface3D_Impl::BindToContext(PPB_Context3D_Impl* context) {
if (context == context_)
return true;
+ PluginInstance* instance = ResourceHelper::GetPluginInstance(this);
+
if (!context && bound_to_instance_)
- instance()->BindGraphics(instance()->pp_instance(), 0);
+ instance->BindGraphics(pp_instance(), 0);
// Unbind from the current context.
if (context_ && context_->platform_context())
@@ -106,7 +111,7 @@ bool PPB_Surface3D_Impl::BindToContext(PPB_Context3D_Impl* context) {
// TODO(alokp): This should be the responsibility of plugins.
gpu::gles2::GLES2Implementation* impl = context->gles2_impl();
if (impl) {
- const gfx::Size& size = instance()->position().size();
+ const gfx::Size& size = instance->position().size();
impl->ResizeCHROMIUM(size.width(), size.height());
}
@@ -138,7 +143,8 @@ unsigned int PPB_Surface3D_Impl::GetBackingTextureId() {
void PPB_Surface3D_Impl::OnSwapBuffers() {
if (bound_to_instance_) {
- instance()->CommitBackingTexture();
+ PluginInstance* instance = ResourceHelper::GetPluginInstance(this);
+ instance->CommitBackingTexture();
swap_initiated_ = true;
} else if (swap_callback_.get() && !swap_callback_->completed()) {
// If we're off-screen, no need to trigger compositing so run the callback
@@ -152,7 +158,7 @@ void PPB_Surface3D_Impl::OnSwapBuffers() {
void PPB_Surface3D_Impl::OnContextLost() {
if (bound_to_instance_)
- instance()->BindGraphics(instance()->pp_instance(), 0);
+ ResourceHelper::GetPluginInstance(this)->BindGraphics(pp_instance(), 0);
// Send context lost to plugin. This may have been caused by a PPAPI call, so
// avoid re-entering.
@@ -161,17 +167,19 @@ void PPB_Surface3D_Impl::OnContextLost() {
}
void PPB_Surface3D_Impl::SendContextLost() {
+ PluginInstance* instance = ResourceHelper::GetPluginInstance(this);
+
// By the time we run this, the instance may have been deleted, or in the
// process of being deleted. Even in the latter case, we don't want to send a
// callback after DidDestroy.
- if (!instance() || !instance()->container())
+ if (!instance || !instance->container())
return;
const PPP_Graphics3D_Dev* ppp_graphics_3d =
static_cast<const PPP_Graphics3D_Dev*>(
- instance()->module()->GetPluginInterface(
+ instance->module()->GetPluginInterface(
PPP_GRAPHICS_3D_DEV_INTERFACE));
if (ppp_graphics_3d)
- ppp_graphics_3d->Graphics3DContextLost(instance()->pp_instance());
+ ppp_graphics_3d->Graphics3DContextLost(pp_instance());
}
} // namespace ppapi

Powered by Google App Engine
This is Rietveld 408576698