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

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: 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
Index: Source/core/frame/FrameView.cpp
diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp
index 957f41cbf5f5c4b1a7da913de325bd673447235d..fd84693d678fdf490fa9c1c2c242bfd341771f6b 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.get())
esprehn 2015/04/30 23:32:35 You don't need to call get(), you can just test it
benjhayden 2015/04/30 23:55:33 Done.
+ m_analyzer = adoptPtr(new LayoutAnalyzer());
+ m_analyzer->reset();
+}
+
PassRefPtr<TracedValue> FrameView::analyzerCounters()
{
- RefPtr<TracedValue> value = layoutAnalyzer().toTracedValue();
+ if (!layoutAnalyzer())
+ return TracedValue::create();
+ RefPtr<TracedValue> value = layoutAnalyzer()->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 (layoutAnalyzer())
esprehn 2015/04/30 23:32:35 if (LayoutAnalyzer* analyzer = layoutAnalyzer())
benjhayden 2015/04/30 23:55:33 Changed to m_analyzer.
+ layoutAnalyzer()->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 (layoutAnalyzer())
+ layoutAnalyzer()->recordCounters();
TRACE_EVENT_END1(PERFORM_LAYOUT_TRACE_CATEGORIES, "FrameView::performLayout",
"counters", analyzerCounters());
}

Powered by Google App Engine
This is Rietveld 408576698