Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1058)

Unified Diff: Source/core/frame/FrameView.cpp

Issue 1120833003: Put LayoutAnalyzer back behind disabled-by-default-blink.debug.layout. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: thinger Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/frame/FrameView.h ('k') | Source/core/layout/LayoutAnalyzer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/frame/FrameView.cpp
diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp
index 957f41cbf5f5c4b1a7da913de325bd673447235d..74e23dc96c9f96b191802d21986146f5ae768365 100644
--- a/Source/core/frame/FrameView.cpp
+++ b/Source/core/frame/FrameView.cpp
@@ -812,9 +812,24 @@ static inline void layoutFromRootObject(LayoutObject& root)
root.layout();
}
+void FrameView::prepareLayoutAnalyzer()
+{
+ bool isTracing = false;
+ TRACE_EVENT_CATEGORY_GROUP_ENABLED(TRACE_DISABLED_BY_DEFAULT("blink.debug.layout"), &isTracing);
+ if (!isTracing) {
+ m_analyzer.clear();
+ return;
+ }
+ if (!m_analyzer)
+ m_analyzer = adoptPtr(new LayoutAnalyzer());
+ m_analyzer->reset();
+}
+
PassRefPtr<TracedValue> FrameView::analyzerCounters()
{
- RefPtr<TracedValue> value = layoutAnalyzer().toTracedValue();
+ if (!m_analyzer)
+ return TracedValue::create();
+ RefPtr<TracedValue> value = m_analyzer->toTracedValue();
value->setString("host", layoutView()->document().location()->host());
return value;
}
@@ -826,7 +841,7 @@ void FrameView::performLayout(bool inSubtreeLayout)
ASSERT(inSubtreeLayout || m_layoutSubtreeRoots.isEmpty());
TRACE_EVENT_BEGIN0(PERFORM_LAYOUT_TRACE_CATEGORIES, "FrameView::performLayout");
- layoutAnalyzer().reset();
+ prepareLayoutAnalyzer();
ScriptForbiddenScope forbidScript;
@@ -842,7 +857,8 @@ void FrameView::performLayout(bool inSubtreeLayout)
forceLayoutParentViewIfNeeded();
if (inSubtreeLayout) {
- layoutAnalyzer().increment(LayoutAnalyzer::PerformLayoutRootLayoutObjects, m_layoutSubtreeRoots.size());
+ if (m_analyzer)
+ m_analyzer->increment(LayoutAnalyzer::PerformLayoutRootLayoutObjects, m_layoutSubtreeRoots.size());
while (m_layoutSubtreeRoots.size()) {
LayoutObject& root = *m_layoutSubtreeRoots.takeAny();
if (!root.needsLayout())
@@ -863,7 +879,8 @@ void FrameView::performLayout(bool inSubtreeLayout)
lifecycle().advanceTo(DocumentLifecycle::AfterPerformLayout);
- layoutAnalyzer().recordCounters();
+ if (m_analyzer)
+ m_analyzer->recordCounters();
TRACE_EVENT_END1(PERFORM_LAYOUT_TRACE_CATEGORIES, "FrameView::performLayout",
"counters", analyzerCounters());
}
« no previous file with comments | « Source/core/frame/FrameView.h ('k') | Source/core/layout/LayoutAnalyzer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698