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

Unified Diff: content/renderer/render_widget_fullscreen_pepper.cc

Issue 12673002: pepper: Use the RenderThread's shared context as the parent context. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 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: content/renderer/render_widget_fullscreen_pepper.cc
diff --git a/content/renderer/render_widget_fullscreen_pepper.cc b/content/renderer/render_widget_fullscreen_pepper.cc
index 3154bbbda7b6c14e0c3b2621ca6c5c04daa8be93..9ddaf8522879824edeb84f7db544e567a7eb1677 100644
--- a/content/renderer/render_widget_fullscreen_pepper.cc
+++ b/content/renderer/render_widget_fullscreen_pepper.cc
@@ -451,17 +451,12 @@ void RenderWidgetFullscreenPepper::DidChangeCursor(
webkit::ppapi::PluginDelegate::PlatformContext3D*
RenderWidgetFullscreenPepper::CreateContext3D() {
#ifdef ENABLE_GPU
- return new PlatformContext3DImpl(this);
+ return new PlatformContext3DImpl;
#else
return NULL;
#endif
}
-void RenderWidgetFullscreenPepper::ReparentContext(
- webkit::ppapi::PluginDelegate::PlatformContext3D* context) {
- static_cast<PlatformContext3DImpl*>(context)->SetParentContext(this);
-}
-
bool RenderWidgetFullscreenPepper::OnMessageReceived(const IPC::Message& msg) {
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(RenderWidgetFullscreenPepper, msg)
@@ -565,7 +560,7 @@ void RenderWidgetFullscreenPepper::CreateContext() {
attributes.depth = false;
attributes.stencil = false;
attributes.antialias = false;
- attributes.shareResources = false;
+ attributes.shareResources = true;
attributes.preferDiscreteGPU = true;
context_ = WebGraphicsContext3DCommandBufferImpl::CreateViewContext(
RenderThreadImpl::current(),
@@ -684,6 +679,18 @@ bool RenderWidgetFullscreenPepper::InitContext() {
}
bool RenderWidgetFullscreenPepper::CheckCompositing() {
+ if (webwidget_) {
+ if (context_ && context_->isContextLost()) {
+ DestroyContext(context_, program_, buffer_);
+ context_ = NULL;
+ }
+ if (!context_)
+ CreateContext();
piman 2013/03/08 04:43:16 We should only create the context if the plugin ha
danakj 2013/03/08 18:13:34 Done.
+ } else if (context_) {
piman 2013/03/08 04:43:16 I don't really think you need this clause. The web
danakj 2013/03/08 18:13:34 Done.
+ DestroyContext(context_, program_, buffer_);
+ context_ = NULL;
+ }
+
bool compositing =
webwidget_ && webwidget_->isAcceleratedCompositingActive();
if (compositing != is_accelerated_compositing_active_) {
@@ -704,14 +711,4 @@ void RenderWidgetFullscreenPepper::SwapBuffers() {
didCommitAndDrawCompositorFrame();
}
-WebGraphicsContext3DCommandBufferImpl*
-RenderWidgetFullscreenPepper::GetParentContextForPlatformContext3D() {
- if (!context_) {
- CreateContext();
- }
- if (!context_)
- return NULL;
- return context_;
-}
-
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698