diff options
author | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-09 01:54:11 +0000 |
---|---|---|
committer | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-09 01:54:11 +0000 |
commit | a44c1b2e568af71e40ed4245e73a8e03ad3ed949 (patch) | |
tree | 2a81937d9a44c05e006f761f7b2b4fac1f56c602 /content/renderer/render_widget_fullscreen_pepper.h | |
parent | bb4f11b50617015157910fca4e6001d471052d8e (diff) | |
download | chromium_src-a44c1b2e568af71e40ed4245e73a8e03ad3ed949.zip chromium_src-a44c1b2e568af71e40ed4245e73a8e03ad3ed949.tar.gz chromium_src-a44c1b2e568af71e40ed4245e73a8e03ad3ed949.tar.bz2 |
pepper: Use the RenderThread's shared context as the parent context.
Remove the PepperParentContextProvider interface entirely. Have the
pepper PlatformContext3DImpl go directly to RenderThreadImpl and get
the offscreen shared context, and create its texture with that context
and make it the parent of the PlatformContext3DImpl context3d.
Remove the SetParentContext() method from the PlatformContext3DImpl and
the plugin delegate, and the fullscreen widget. Instead, when the plugin
delegate or fullscreen widget become active, in ReparentContext() they
have the PlatformContext3DImpl require access to the offscreen shared
context and create the parent texture id with it, if needed.
The fullscreen widget context management needs to be adjusted. Previously
PlatformContext3DImpl would call back into the fullscreen widget which
would create the fullscreen widget's context. But we have removed that
circular trip. Now in RenderWidgetFullscreenPepper::CheckCompositing() if
compositing mode is being used, we create the fullscreen context3d.
We also recreate it if the old context was lost. When leaving compositing
mode, the fullscreen widget's context is destroyed.
The fullscreen widget's context is now made to share resources so that it
can access the texture created by the RenderThread's context.
This fixes the known issue where fullscreen remains black after a context
loss.
R=piman
BUG=181052
Review URL: https://chromiumcodereview.appspot.com/12673002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187109 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/render_widget_fullscreen_pepper.h')
-rw-r--r-- | content/renderer/render_widget_fullscreen_pepper.h | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/content/renderer/render_widget_fullscreen_pepper.h b/content/renderer/render_widget_fullscreen_pepper.h index a20d53c..c7b5422 100644 --- a/content/renderer/render_widget_fullscreen_pepper.h +++ b/content/renderer/render_widget_fullscreen_pepper.h @@ -9,7 +9,6 @@ #include "base/memory/weak_ptr.h" #include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h" #include "content/renderer/mouse_lock_dispatcher.h" -#include "content/renderer/pepper/pepper_parent_context_provider.h" #include "content/renderer/render_widget_fullscreen.h" #include "third_party/WebKit/Source/Platform/chromium/public/WebGraphicsContext3D.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebWidget.h" @@ -32,7 +31,6 @@ class WebGraphicsContext3DCommandBufferImpl; class RenderWidgetFullscreenPepper : public RenderWidgetFullscreen, public webkit::ppapi::FullscreenContainer, - public PepperParentContextProvider, public WebGraphicsContext3DSwapBuffersClient { public: static RenderWidgetFullscreenPepper* Create( @@ -111,10 +109,6 @@ class RenderWidgetFullscreenPepper : // and notify the browser. bool CheckCompositing(); - // Implementation of PepperParentContextProvider. - virtual WebGraphicsContext3DCommandBufferImpl* - GetParentContextForPlatformContext3D() OVERRIDE; - // URL that is responsible for this widget, passed to ggl::CreateViewContext. GURL active_url_; |