GraphicsLayer's repaint count should update even when debugging option to show it...
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 17 Dec 2012 17:19:20 +0000 (17:19 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 17 Dec 2012 17:19:20 +0000 (17:19 +0000)
https://bugs.webkit.org/show_bug.cgi?id=105178

Patch by Antoine Quint <graouts@apple.com> on 2012-12-17
Reviewed by Simon Fraser.

Update the repain count even if the debug option to show them is turned off.
This allows the count to be accurate in between toggles of the debug option
and to allow the InspectorLayerTreeAgent to get accurate results any time
the layer tree is requested (see webkit.org/b/105024).

* platform/graphics/mac/WebLayer.mm:
(drawLayerContents):

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

Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/mac/WebLayer.mm

index 7619066..bc78326 100644 (file)
@@ -1,3 +1,18 @@
+2012-12-17  Antoine Quint  <graouts@apple.com>
+
+        GraphicsLayer's repaint count should update even when debugging option to show it is off
+        https://bugs.webkit.org/show_bug.cgi?id=105178
+
+        Reviewed by Simon Fraser.
+
+        Update the repain count even if the debug option to show them is turned off.
+        This allows the count to be accurate in between toggles of the debug option
+        and to allow the InspectorLayerTreeAgent to get accurate results any time
+        the layer tree is requested (see webkit.org/b/105024).
+
+        * platform/graphics/mac/WebLayer.mm:
+        (drawLayerContents):
+
 2012-12-17  Hans Muller  <hmuller@adobe.com>
 
         [CSS Exclusions] Add helper functions for converting floats to LayoutUnits
index e4663ab..565a118 100644 (file)
@@ -128,11 +128,16 @@ void drawLayerContents(CGContextRef context, CALayer *layer, WebCore::PlatformCA
     // Re-fetch the layer owner, since <rdar://problem/9125151> indicates that it might have been destroyed during painting.
     layerContents = platformLayer->owner();
     ASSERT(layerContents);
+
+    // Always update the repain count so that it's accurate even if the count itself is not shown. This will be useful
+    // for the Web Inspector feeding this information through the LayerTreeAgent. 
+    int repaintCount = layerContents->platformCALayerIncrementRepaintCount();
+
     if (!platformLayer->usesTileCacheLayer() && layerContents && layerContents->platformCALayerShowRepaintCounter(platformLayer)) {
         bool isTiledLayer = [layer isKindOfClass:[CATiledLayer class]];
 
         char text[16]; // that's a lot of repaints
-        snprintf(text, sizeof(text), "%d", layerContents->platformCALayerIncrementRepaintCount());
+        snprintf(text, sizeof(text), "%d", repaintCount);
 
         CGRect indicatorBox = layerBounds;
         indicatorBox.size.width = 12 + 10 * strlen(text);