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