2010-12-02 Vincent Scheib <scheib@chromium.org>
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 2 Dec 2010 16:33:11 +0000 (16:33 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 2 Dec 2010 16:33:11 +0000 (16:33 +0000)
        Reviewed by Darin Fisher.

        [chromium] histograms api updated in WebKitClient and added to ChromiumBridge
        https://bugs.webkit.org/show_bug.cgi?id=50285

        Test by loading "about:histograms" after navigating to accelerated pages.

        * platform/chromium/ChromiumBridge.h: api update.
2010-12-02  Vincent Scheib  <scheib@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] histograms api updated in WebKitClient/ChromiumBridge and histogram "GPU.setIsAcceleratedCompositingActive" added.
        https://bugs.webkit.org/show_bug.cgi?id=50285

        Test by loading "about:histograms" after navigating to accelerated pages.

        * public/WebKitClient.h:
        (WebKit::WebKitClient::histogramCustomCounts): api update.
        (WebKit::WebKitClient::histogramEnumeration): api update.
        * src/ChromiumBridge.cpp:
        (WebCore::ChromiumBridge::histogramCustomCounts): api update.
        (WebCore::ChromiumBridge::histogramEnumeration): api update.
        * src/WebViewImpl.cpp:
        (WebKit::WebViewImpl::setIsAcceleratedCompositingActive): "GPU.setIsAcceleratedCompositingActive" added.

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

WebCore/ChangeLog
WebCore/platform/chromium/ChromiumBridge.h
WebKit/chromium/ChangeLog
WebKit/chromium/public/WebKitClient.h
WebKit/chromium/src/ChromiumBridge.cpp
WebKit/chromium/src/WebViewImpl.cpp

index 752848d..3a8f9dd 100644 (file)
@@ -1,3 +1,14 @@
+2010-12-02  Vincent Scheib  <scheib@chromium.org>
+
+        Reviewed by Darin Fisher.
+
+        [chromium] histograms api updated in WebKitClient and added to ChromiumBridge
+        https://bugs.webkit.org/show_bug.cgi?id=50285
+
+        Test by loading "about:histograms" after navigating to accelerated pages.
+
+        * platform/chromium/ChromiumBridge.h: api update.
+
 2010-12-02  Andras Becsi  <abecsi@webkit.org>
 
         Unreviewed build fix.
index 8ca6434..ab68997 100644 (file)
@@ -239,6 +239,8 @@ namespace WebCore {
         // StatsCounters ------------------------------------------------------
         static void decrementStatsCounter(const char* name);
         static void incrementStatsCounter(const char* name);
+        static void histogramCustomCounts(const char* name, int sample, int min, int max, int bucketCount);
+        static void histogramEnumeration(const char* name, int sample, int boundaryValue);
 
         // Sudden Termination
         static void suddenTerminationChanged(bool enabled);
index bbcdcbd..896fde9 100644 (file)
@@ -1,3 +1,21 @@
+2010-12-02  Vincent Scheib  <scheib@chromium.org>
+
+        Reviewed by Darin Fisher.
+
+        [chromium] histograms api updated in WebKitClient/ChromiumBridge and histogram "GPU.setIsAcceleratedCompositingActive" added.
+        https://bugs.webkit.org/show_bug.cgi?id=50285
+
+        Test by loading "about:histograms" after navigating to accelerated pages.
+
+        * public/WebKitClient.h:
+        (WebKit::WebKitClient::histogramCustomCounts): api update.
+        (WebKit::WebKitClient::histogramEnumeration): api update.
+        * src/ChromiumBridge.cpp:
+        (WebCore::ChromiumBridge::histogramCustomCounts): api update.
+        (WebCore::ChromiumBridge::histogramEnumeration): api update.
+        * src/WebViewImpl.cpp:
+        (WebKit::WebViewImpl::setIsAcceleratedCompositingActive): "GPU.setIsAcceleratedCompositingActive" added.
+
 2010-12-01  Jia Pu  <jpu@apple.com>
 
         Reviewed by Darin Adler.
index 0c4020f..d168d32 100644 (file)
@@ -210,10 +210,11 @@ public:
     virtual void traceEventBegin(const char* name, void* id, const char* extra) { }
     virtual void traceEventEnd(const char* name, void* id, const char* extra) { }
 
-    // Generic callback for reporting histogram data. Range is identified by the min, max pair.
-    // By default, histogram is exponential, so that min=1, max=1000000, bucketCount=50 would do. Setting
-    // linear to true would require bucket count to cover whole min-max range.
-    virtual void histogramCounts(const WebString& name, int sample, int min, int max, int bucketCount, bool linear) { }
+    // Callbacks for reporting histogram data.
+    // CustomCounts histogram has exponential bucket sizes, so that min=1, max=1000000, bucketCount=50 would do.
+    virtual void histogramCustomCounts(const char* name, int sample, int min, int max, int bucketCount) { }
+    // Enumeration histogram buckets are linear, boundaryValue should be larger than any possible sample value.
+    virtual void histogramEnumeration(const char* name, int sample, int boundaryValue) { }
 
 
     // Resources -----------------------------------------------------------
index e7a1305..70ff702 100644 (file)
@@ -679,6 +679,16 @@ void ChromiumBridge::incrementStatsCounter(const char* name)
     webKitClient()->incrementStatsCounter(name);
 }
 
+void ChromiumBridge::histogramCustomCounts(const char* name, int sample, int min, int max, int bucketCount)
+{
+    webKitClient()->histogramCustomCounts(name, sample, min, max, bucketCount);
+}
+
+void ChromiumBridge::histogramEnumeration(const char* name, int sample, int boundaryValue)
+{
+    webKitClient()->histogramEnumeration(name, sample, boundaryValue);
+}
+
 // Sudden Termination ---------------------------------------------------------
 
 void ChromiumBridge::suddenTerminationChanged(bool enabled)
index e44c374..7bec254 100644 (file)
@@ -35,6 +35,7 @@
 #include "AXObjectCache.h"
 #include "BackForwardListImpl.h"
 #include "Chrome.h"
+#include "ChromiumBridge.h"
 #include "ColorSpace.h"
 #include "CompositionUnderlineVectorBuilder.h"
 #include "ContextMenu.h"
@@ -2374,6 +2375,8 @@ void WebViewImpl::invalidateRootLayerRect(const IntRect& rect)
 
 void WebViewImpl::setIsAcceleratedCompositingActive(bool active)
 {
+    ChromiumBridge::histogramEnumeration("GPU.setIsAcceleratedCompositingActive", active * 2 + m_isAcceleratedCompositingActive, 4);
+
     if (m_isAcceleratedCompositingActive == active)
         return;