summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-13 04:12:21 +0000
committerpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-13 04:12:21 +0000
commit5e6c226780eb1617aa9ed980c627af66685d52e4 (patch)
treebf2fbfd417ef3d2aa42f0f6ac504bcc18dfe1c42 /content
parent95b11e8db1b609a943428af96ef06571d3c98385 (diff)
downloadchromium_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.cc7
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() {