Title: [143363] trunk/Source/WebCore
Revision
143363
Author
commit-qu...@webkit.org
Date
2013-02-19 11:19:02 -0800 (Tue, 19 Feb 2013)

Log Message

Update FeatureObserver on top level navigation in addition to page destruction.
https://bugs.webkit.org/show_bug.cgi?id=109874

Patch by Kassy Coan <kassyc...@chromium.org> on 2013-02-19
Reviewed by Adam Barth.

No new tests. Only effect is to histogram more frequently.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::dispatchDidCommitLoad):
* page/FeatureObserver.cpp:
(WebCore::FeatureObserver::~FeatureObserver):
(WebCore):
(WebCore::FeatureObserver::updateMeasurements):
(WebCore::FeatureObserver::didCommitLoad):
* page/FeatureObserver.h:
(FeatureObserver):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (143362 => 143363)


--- trunk/Source/WebCore/ChangeLog	2013-02-19 19:15:33 UTC (rev 143362)
+++ trunk/Source/WebCore/ChangeLog	2013-02-19 19:19:02 UTC (rev 143363)
@@ -1,3 +1,22 @@
+2013-02-19  Kassy Coan  <kassyc...@chromium.org>
+
+        Update FeatureObserver on top level navigation in addition to page destruction.
+        https://bugs.webkit.org/show_bug.cgi?id=109874
+
+        Reviewed by Adam Barth.
+
+        No new tests. Only effect is to histogram more frequently.
+
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::dispatchDidCommitLoad):
+        * page/FeatureObserver.cpp:
+        (WebCore::FeatureObserver::~FeatureObserver):
+        (WebCore):
+        (WebCore::FeatureObserver::updateMeasurements):
+        (WebCore::FeatureObserver::didCommitLoad):
+        * page/FeatureObserver.h:
+        (FeatureObserver):
+
 2013-02-19  Morten Stenshorne  <msten...@opera.com>
 
         Remove unnecessary (and problematic) copy-constructor from LayoutUnit

Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (143362 => 143363)


--- trunk/Source/WebCore/loader/FrameLoader.cpp	2013-02-19 19:15:33 UTC (rev 143362)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp	2013-02-19 19:19:02 UTC (rev 143363)
@@ -3264,6 +3264,10 @@
     }
 
     InspectorInstrumentation::didCommitLoad(m_frame, m_documentLoader.get());
+
+    if (m_frame->page()->mainFrame() == m_frame)
+        m_frame->page()->featureObserver()->didCommitLoad();
+
 }
 
 void FrameLoader::tellClientAboutPastMemoryCacheLoads()

Modified: trunk/Source/WebCore/page/FeatureObserver.cpp (143362 => 143363)


--- trunk/Source/WebCore/page/FeatureObserver.cpp	2013-02-19 19:15:33 UTC (rev 143362)
+++ trunk/Source/WebCore/page/FeatureObserver.cpp	2013-02-19 19:19:02 UTC (rev 143363)
@@ -42,6 +42,12 @@
     // We always log PageDestruction so that we have a scale for the rest of the features.
     HistogramSupport::histogramEnumeration("WebCore.FeatureObserver", PageDestruction, NumberOfFeatures);
 
+    updateMeasurements();
+}
+
+void FeatureObserver::updateMeasurements()
+{
+    HistogramSupport::histogramEnumeration("WebCore.FeatureObserver", PageVisits, NumberOfFeatures);
     if (!m_featureBits)
         return;
 
@@ -49,8 +55,15 @@
         if (m_featureBits->quickGet(i))
             HistogramSupport::histogramEnumeration("WebCore.FeatureObserver", i, NumberOfFeatures);
     }
+
+    m_featureBits->clearAll();
 }
 
+void FeatureObserver::didCommitLoad()
+{
+    updateMeasurements();
+}
+
 void FeatureObserver::observe(Document* document, Feature feature)
 {
     if (!document)

Modified: trunk/Source/WebCore/page/FeatureObserver.h (143362 => 143363)


--- trunk/Source/WebCore/page/FeatureObserver.h	2013-02-19 19:15:33 UTC (rev 143362)
+++ trunk/Source/WebCore/page/FeatureObserver.h	2013-02-19 19:19:02 UTC (rev 143363)
@@ -95,12 +95,14 @@
         RequiredAttribute,
         ResultsAttribute,
         StepAttribute,
+        PageVisits,
         // Add new features above this line. Don't change assigned numbers of each items.
         NumberOfFeatures, // This enum value must be last.
     };
 
     static void observe(Document*, Feature);
     static void observe(DOMWindow*, Feature);
+    void didCommitLoad();
 
 private:
     void didObserve(Feature feature)
@@ -114,6 +116,8 @@
         m_featureBits->quickSet(feature);
     }
 
+    void updateMeasurements();
+
     OwnPtr<BitVector> m_featureBits;
 };
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to