summaryrefslogtreecommitdiffstats
path: root/content/renderer/render_widget_fullscreen_pepper.h
diff options
context:
space:
mode:
authordanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-09 01:54:11 +0000
committerdanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-09 01:54:11 +0000
commita44c1b2e568af71e40ed4245e73a8e03ad3ed949 (patch)
tree2a81937d9a44c05e006f761f7b2b4fac1f56c602 /content/renderer/render_widget_fullscreen_pepper.h
parentbb4f11b50617015157910fca4e6001d471052d8e (diff)
downloadchromium_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.h6
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_;