Title: [132171] trunk/Source/WebCore
Revision
132171
Author
morr...@google.com
Date
2012-10-22 19:05:07 -0700 (Mon, 22 Oct 2012)

Log Message

[Chromium] Needs to track ShadowRoot usage
https://bugs.webkit.org/show_bug.cgi?id=99955

Reviewed by Dimitri Glazkov.

Added an UMA instrumentation.

* dom/ShadowRoot.cpp:
(WebCore::determineUsageType):
(WebCore):
(WebCore::ShadowRoot::create):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (132170 => 132171)


--- trunk/Source/WebCore/ChangeLog	2012-10-23 01:22:48 UTC (rev 132170)
+++ trunk/Source/WebCore/ChangeLog	2012-10-23 02:05:07 UTC (rev 132171)
@@ -1,3 +1,17 @@
+2012-10-22  MORITA Hajime  <morr...@google.com>
+
+        [Chromium] Needs to track ShadowRoot usage
+        https://bugs.webkit.org/show_bug.cgi?id=99955
+
+        Reviewed by Dimitri Glazkov.
+
+        Added an UMA instrumentation.
+
+        * dom/ShadowRoot.cpp:
+        (WebCore::determineUsageType):
+        (WebCore):
+        (WebCore::ShadowRoot::create):
+
 2012-10-22  Kent Tamura  <tk...@chromium.org>
 
         Introduce Localizer::standAloneMonthLabels

Modified: trunk/Source/WebCore/dom/ShadowRoot.cpp (132170 => 132171)


--- trunk/Source/WebCore/dom/ShadowRoot.cpp	2012-10-23 01:22:48 UTC (rev 132170)
+++ trunk/Source/WebCore/dom/ShadowRoot.cpp	2012-10-23 02:05:07 UTC (rev 132171)
@@ -38,6 +38,7 @@
 #include "HTMLInputElement.h"
 #include "HTMLNames.h"
 #include "HTMLTextAreaElement.h"
+#include "HistogramSupport.h"
 #include "InsertionPoint.h"
 #include "NodeRareData.h"
 #include "RuntimeEnabledFeatures.h"
@@ -86,8 +87,28 @@
     return element->areAuthorShadowsAllowed();
 }
 
+enum ShadowRootUsageOriginType {
+    ShadowRootUsageOriginWeb = 0,
+    ShadowRootUsageOriginNotWeb,
+    ShadowRootUsageOriginTypes
+};
+
+static inline ShadowRootUsageOriginType determineUsageType(Element* host)
+{
+    // Enables only on CHROMIUM since this cost won't worth paying for platforms which don't collect this metrics.
+#if PLATFORM(CHROMIUM)
+    if (!host)
+        return ShadowRootUsageOriginWeb;
+    return host->document()->url().string().startsWith("http") ? ShadowRootUsageOriginWeb : ShadowRootUsageOriginNotWeb;
+#else
+    UNUSED_PARAM(host);
+    return ShadowRootUsageOriginWeb;
+#endif
+}
+
 PassRefPtr<ShadowRoot> ShadowRoot::create(Element* element, ExceptionCode& ec)
 {
+    HistogramSupport::histogramEnumeration("WebCore.ShadowRoot.constructor", determineUsageType(element), ShadowRootUsageOriginTypes);
     return create(element, AuthorShadowRoot, ec);
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to