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

Unified Diff: third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp

Issue 1577433003: Statistics of LayoutBox rare data reasons Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: - Created 3 years, 9 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: third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
diff --git a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
index 34394d9fefa93349d81016ebb644b680f17f947e..ef8626b3c40d7e45661b705fa02867c03c5ac480 100644
--- a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
@@ -250,6 +250,7 @@ LayoutBlockFlow::LayoutBlockFlow(ContainerNode* node) : LayoutBlock(node) {
static_assert(sizeof(MarginInfo) == sizeof(SameSizeAsMarginInfo),
"MarginInfo should stay small");
setChildrenInline(true);
+ m_rareStat.addReason(ReasonLBFAll);
}
LayoutBlockFlow::~LayoutBlockFlow() {}
@@ -286,6 +287,7 @@ void LayoutBlockFlow::setBreakAtLineToAvoidWidow(int lineToBreak) {
ensureRareData();
ASSERT(!m_rareData->m_didBreakAtLineToAvoidWidow);
m_rareData->m_lineBreakToAvoidWidow = lineToBreak;
+ m_rareStat.addReason(ReasonLBFLineBreakToAvoidWidow);
}
void LayoutBlockFlow::setDidBreakAtLineToAvoidWidow() {
@@ -2229,6 +2231,9 @@ void LayoutBlockFlow::setMustDiscardMarginBefore(bool value) {
m_rareData = WTF::makeUnique<LayoutBlockFlowRareData>(this);
m_rareData->m_discardMarginBefore = value;
+
+ if (value)
+ m_rareStat.addReason(ReasonLBFDiscardMargin);
}
void LayoutBlockFlow::setMustDiscardMarginAfter(bool value) {
@@ -2244,6 +2249,9 @@ void LayoutBlockFlow::setMustDiscardMarginAfter(bool value) {
m_rareData = WTF::makeUnique<LayoutBlockFlowRareData>(this);
m_rareData->m_discardMarginAfter = value;
+
+ if (value)
+ m_rareStat.addReason(ReasonLBFDiscardMargin);
}
bool LayoutBlockFlow::mustDiscardMarginBefore() const {
@@ -2304,6 +2312,7 @@ void LayoutBlockFlow::setMaxMarginBeforeValues(LayoutUnit pos, LayoutUnit neg) {
}
m_rareData->m_margins.setPositiveMarginBefore(pos);
m_rareData->m_margins.setNegativeMarginBefore(neg);
+ m_rareStat.addReason(ReasonLBFMargin);
}
void LayoutBlockFlow::setMaxMarginAfterValues(LayoutUnit pos, LayoutUnit neg) {
@@ -2315,6 +2324,7 @@ void LayoutBlockFlow::setMaxMarginAfterValues(LayoutUnit pos, LayoutUnit neg) {
}
m_rareData->m_margins.setPositiveMarginAfter(pos);
m_rareData->m_margins.setNegativeMarginAfter(neg);
+ m_rareStat.addReason(ReasonLBFMargin);
}
bool LayoutBlockFlow::mustSeparateMarginBeforeForChild(
@@ -4137,6 +4147,7 @@ void LayoutBlockFlow::setPaginationStrutPropagatedFromChild(LayoutUnit strut) {
m_rareData = WTF::makeUnique<LayoutBlockFlowRareData>(this);
}
m_rareData->m_paginationStrutPropagatedFromChild = strut;
+ m_rareStat.addReason(ReasonLBFPaginationStrutFromChild);
}
void LayoutBlockFlow::setFirstForcedBreakOffset(LayoutUnit blockOffset) {
@@ -4299,6 +4310,7 @@ void LayoutBlockFlow::createOrDestroyMultiColumnFlowThreadIfNeeded(
LayoutBlockFlowRareData& rareData = ensureRareData();
ASSERT(!rareData.m_multiColumnFlowThread);
rareData.m_multiColumnFlowThread = flowThread;
+ m_rareStat.addReason(ReasonLBFMultiColumnFlowThread);
}
LayoutBlockFlow::LayoutBlockFlowRareData& LayoutBlockFlow::ensureRareData() {
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutBlockFlow.h ('k') | third_party/WebKit/Source/core/layout/LayoutBox.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698