Commit 5e6c2267 authored by piman@chromium.org's avatar piman@chromium.org

Fix lost context race with fullscreen pepper widget.

An ill-timed lost context could destroy the compositor context, while a
composite has been scheduled. This makes sure we reset
is_accelerated_compositing_active_ so that we don't try to use the 3D path in
this case.

BUG=None
TEST=Fullscreen with Pepper Flash on ARM devices


Review URL: http://codereview.chromium.org/7628023

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96677 0039d316-1c4b-4281-b951-d872f2087c98
parent 95b11e8d
...@@ -462,10 +462,10 @@ bool RenderWidgetFullscreenPepper::InitContext() { ...@@ -462,10 +462,10 @@ bool RenderWidgetFullscreenPepper::InitContext() {
} }
bool RenderWidgetFullscreenPepper::CheckCompositing() { bool RenderWidgetFullscreenPepper::CheckCompositing() {
bool compositing = webwidget_->isAcceleratedCompositingActive(); bool compositing =
if (compositing != is_accelerated_compositing_active_) { webwidget_ && webwidget_->isAcceleratedCompositingActive();
if (compositing != is_accelerated_compositing_active_)
didActivateAcceleratedCompositing(compositing); didActivateAcceleratedCompositing(compositing);
}
return compositing; return compositing;
} }
...@@ -489,6 +489,7 @@ void RenderWidgetFullscreenPepper::OnLostContext( ...@@ -489,6 +489,7 @@ void RenderWidgetFullscreenPepper::OnLostContext(
program_ = 0; program_ = 0;
buffer_ = 0; buffer_ = 0;
OnSwapBuffersAborted(); OnSwapBuffersAborted();
CheckCompositing();
} }
void RenderWidgetFullscreenPepper::OnSwapBuffersCompleteByRendererGLContext() { void RenderWidgetFullscreenPepper::OnSwapBuffersCompleteByRendererGLContext() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment