diff options
author | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-13 04:12:21 +0000 |
---|---|---|
committer | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-13 04:12:21 +0000 |
commit | 5e6c226780eb1617aa9ed980c627af66685d52e4 (patch) | |
tree | bf2fbfd417ef3d2aa42f0f6ac504bcc18dfe1c42 /content | |
parent | 95b11e8db1b609a943428af96ef06571d3c98385 (diff) | |
download | chromium_src-5e6c226780eb1617aa9ed980c627af66685d52e4.zip chromium_src-5e6c226780eb1617aa9ed980c627af66685d52e4.tar.gz chromium_src-5e6c226780eb1617aa9ed980c627af66685d52e4.tar.bz2 |
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
Diffstat (limited to 'content')
-rw-r--r-- | content/renderer/render_widget_fullscreen_pepper.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/content/renderer/render_widget_fullscreen_pepper.cc b/content/renderer/render_widget_fullscreen_pepper.cc index b8d144d..923cb48 100644 --- a/content/renderer/render_widget_fullscreen_pepper.cc +++ b/content/renderer/render_widget_fullscreen_pepper.cc @@ -462,10 +462,10 @@ bool RenderWidgetFullscreenPepper::InitContext() { } bool RenderWidgetFullscreenPepper::CheckCompositing() { - bool compositing = webwidget_->isAcceleratedCompositingActive(); - if (compositing != is_accelerated_compositing_active_) { + bool compositing = + webwidget_ && webwidget_->isAcceleratedCompositingActive(); + if (compositing != is_accelerated_compositing_active_) didActivateAcceleratedCompositing(compositing); - } return compositing; } @@ -489,6 +489,7 @@ void RenderWidgetFullscreenPepper::OnLostContext( program_ = 0; buffer_ = 0; OnSwapBuffersAborted(); + CheckCompositing(); } void RenderWidgetFullscreenPepper::OnSwapBuffersCompleteByRendererGLContext() { |