[chromium] Fix threaded compositor HUD crash
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 12 Apr 2012 17:16:46 +0000 (17:16 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 12 Apr 2012 17:16:46 +0000 (17:16 +0000)
https://bugs.webkit.org/show_bug.cgi?id=83778

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-04-12
Reviewed by James Robinson.

Don't try to read font metrics in threaded compositing mode, since we
currently can't render HUD text with the threaded compositor.

HUD is not testable in WebKit.

* platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
(WebCore::CCHeadsUpDisplay::drawHudContents):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114000 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp

index 12262e7..1f66ad2 100644 (file)
@@ -1,3 +1,18 @@
+2012-04-12  Sami Kyostila  <skyostil@chromium.org>
+
+        [chromium] Fix threaded compositor HUD crash
+        https://bugs.webkit.org/show_bug.cgi?id=83778
+
+        Reviewed by James Robinson.
+
+        Don't try to read font metrics in threaded compositing mode, since we
+        currently can't render HUD text with the threaded compositor.
+
+        HUD is not testable in WebKit.
+
+        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
+        (WebCore::CCHeadsUpDisplay::drawHudContents):
+
 2012-04-11  Andrey Kosyakov  <caseq@chromium.org>
 
         Web Inspector: zoom timeline frame on dblclick on the frame bar
index 58f3d05..fe2e520 100644 (file)
@@ -203,7 +203,10 @@ void CCHeadsUpDisplay::drawHudContents(GraphicsContext* context, const IntSize&
         context->fillRect(FloatRect(0, 0, hudSize.width(), hudSize.height()));
     }
 
-    int fpsCounterHeight = m_mediumFont->fontMetrics().floatHeight() + 40;
+    int fpsCounterHeight = 40;
+    if (!CCProxy::implThread())
+        fpsCounterHeight += m_mediumFont->fontMetrics().floatHeight();
+
     int fpsCounterTop = 2;
     int platformLayerTreeTop;
     if (settings().showFPSCounter)