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

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

Issue 16290005: Move Pepper to using mailboxes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nits Created 7 years, 6 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 | « webkit/plugins/ppapi/ppapi_plugin_instance.h ('k') | webkit/plugins/ppapi/ppb_graphics_3d_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/plugins/ppapi/ppapi_plugin_instance.cc
diff --git a/webkit/plugins/ppapi/ppapi_plugin_instance.cc b/webkit/plugins/ppapi/ppapi_plugin_instance.cc
index c27720bc14f6a18a1c888b33ec8616cb35fb22e3..6391d95e871ad957bca81611c6720e03f0725338 100644
--- a/webkit/plugins/ppapi/ppapi_plugin_instance.cc
+++ b/webkit/plugins/ppapi/ppapi_plugin_instance.cc
@@ -573,13 +573,6 @@ void PluginInstance::ScrollRect(int dx, int dy, const gfx::Rect& rect) {
}
}
-unsigned PluginInstance::GetBackingTextureId() {
- if (bound_graphics_3d_.get())
- return bound_graphics_3d_->GetBackingTextureId();
-
- return 0;
-}
-
void PluginInstance::CommitBackingTexture() {
if (texture_layer_.get())
texture_layer_->SetNeedsDisplay();
@@ -1583,14 +1576,8 @@ void PluginInstance::UpdateFlashFullscreenState(bool flash_fullscreen) {
}
PPB_Graphics3D_Impl* graphics_3d = bound_graphics_3d_.get();
- if (graphics_3d) {
- if (flash_fullscreen) {
- fullscreen_container_->ReparentContext(graphics_3d->platform_context());
- } else {
- delegate_->ReparentContext(graphics_3d->platform_context());
- }
+ if (graphics_3d)
UpdateLayer();
- }
bool old_plugin_focus = PluginHasFocus();
flash_fullscreen_ = flash_fullscreen;
@@ -1679,10 +1666,7 @@ bool PluginInstance::IsViewAccelerated() {
}
PluginDelegate::PlatformContext3D* PluginInstance::CreateContext3D() {
- if (fullscreen_container_)
- return fullscreen_container_->CreateContext3D();
- else
- return delegate_->CreateContext3D();
+ return delegate_->CreateContext3D();
}
bool PluginInstance::PrintPDFOutput(PP_Resource print_output,
@@ -1781,18 +1765,25 @@ PluginDelegate::PlatformGraphics2D* PluginInstance::GetBoundGraphics2D() const {
return bound_graphics_2d_platform_;
}
+static void IgnoreCallback(unsigned, bool) {}
+
void PluginInstance::UpdateLayer() {
if (!container_)
return;
- bool want_layer = GetBackingTextureId();
+ gpu::Mailbox mailbox;
+ if (bound_graphics_3d_) {
+ PluginDelegate::PlatformContext3D* context =
+ bound_graphics_3d_->platform_context();
+ context->GetBackingMailbox(&mailbox);
+ }
+ bool want_layer = !mailbox.IsZero();
if (want_layer == !!texture_layer_.get() &&
layer_bound_to_fullscreen_ == !!fullscreen_container_)
return;
if (texture_layer_.get()) {
- texture_layer_->ClearClient();
if (!layer_bound_to_fullscreen_)
container_->setWebLayer(NULL);
else if (fullscreen_container_)
@@ -1802,7 +1793,7 @@ void PluginInstance::UpdateLayer() {
}
if (want_layer) {
DCHECK(bound_graphics_3d_.get());
- texture_layer_ = cc::TextureLayer::Create(this);
+ texture_layer_ = cc::TextureLayer::CreateForMailbox(NULL);
web_layer_.reset(new webkit::WebLayerImpl(texture_layer_));
if (fullscreen_container_) {
fullscreen_container_->SetLayer(web_layer_.get());
@@ -1814,6 +1805,8 @@ void PluginInstance::UpdateLayer() {
container_->setWebLayer(web_layer_.get());
texture_layer_->SetContentsOpaque(bound_graphics_3d_->IsOpaque());
}
+ texture_layer_->SetTextureMailbox(
+ cc::TextureMailbox(mailbox, base::Bind(&IgnoreCallback), 0));
}
layer_bound_to_fullscreen_ = !!fullscreen_container_;
}
@@ -2178,20 +2171,6 @@ void PluginInstance::DeliverSamples(PP_Instance instance,
content_decryptor_delegate_->DeliverSamples(audio_frames, block_info);
}
-unsigned PluginInstance::PrepareTexture(cc::ResourceUpdateQueue* queue) {
- return GetBackingTextureId();
-}
-
-WebKit::WebGraphicsContext3D* PluginInstance::Context3d() {
- DCHECK(bound_graphics_3d_.get());
- DCHECK(bound_graphics_3d_->platform_context());
- return bound_graphics_3d_->platform_context()->GetParentContext();
-}
-
-bool PluginInstance::PrepareTextureMailbox(cc::TextureMailbox* mailbox) {
- return false;
-}
-
void PluginInstance::NumberOfFindResultsChanged(PP_Instance instance,
int32_t total,
PP_Bool final_result) {
« no previous file with comments | « webkit/plugins/ppapi/ppapi_plugin_instance.h ('k') | webkit/plugins/ppapi/ppb_graphics_3d_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698