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

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

Issue 2695963005: WIP: redirect some LayoutBox methods to ng fragments
Patch Set: tot Created 3 years, 10 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/LayoutBox.cpp
diff --git a/third_party/WebKit/Source/core/layout/LayoutBox.cpp b/third_party/WebKit/Source/core/layout/LayoutBox.cpp
index 85e242f342eff412113a0fca91f4dfa3ec93e381..7550435827d1589bb85142ff9c8c667e5acfb46c 100644
--- a/third_party/WebKit/Source/core/layout/LayoutBox.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutBox.cpp
@@ -84,12 +84,13 @@ static const int autoscrollBeltSize = 20;
static const unsigned backgroundObscurationTestMaxDepth = 4;
struct SameSizeAsLayoutBox : public LayoutBoxModelObject {
- LayoutRect frameRect;
+// LayoutRect frameRect;
LayoutSize previousSize;
LayoutUnit intrinsicContentLogicalHeight;
LayoutRectOutsets marginBoxOutsets;
LayoutUnit preferredLogicalWidth[2];
void* pointers[3];
+ RefPtr<NGPhysicalBoxFragment> transitionToLayoutNG;
};
static_assert(sizeof(LayoutBox) == sizeof(SameSizeAsLayoutBox),
@@ -97,6 +98,7 @@ static_assert(sizeof(LayoutBox) == sizeof(SameSizeAsLayoutBox),
LayoutBox::LayoutBox(ContainerNode* node)
: LayoutBoxModelObject(node),
+ m_ngPhysicalBoxFragment(adoptRef(new NGPhysicalBoxFragment())),
m_intrinsicContentLogicalHeight(-1),
m_minPreferredLogicalWidth(-1),
m_maxPreferredLogicalWidth(-1),
@@ -511,7 +513,7 @@ LayoutUnit LayoutBox::clientWidth() const {
// padding box. Another reason: While border side values are currently limited
// to 2^20px (a recent change in the code), if this limit is raised again in
// the future, we'd have ill effects of saturated arithmetic otherwise.
- return (m_frameRect.width() - borderLeft() - borderRight() -
+ return (m_ngPhysicalBoxFragment->Width() - borderLeft() - borderRight() -
verticalScrollbarWidth())
.clampNegativeToZero();
}
@@ -522,7 +524,7 @@ LayoutUnit LayoutBox::clientHeight() const {
// padding box. Another reason: While border side values are currently limited
// to 2^20px (a recent change in the code), if this limit is raised again in
// the future, we'd have ill effects of saturated arithmetic otherwise.
- return (m_frameRect.height() - borderTop() - borderBottom() -
+ return (m_ngPhysicalBoxFragment->Height() - borderTop() - borderBottom() -
horizontalScrollbarHeight())
.clampNegativeToZero();
}
@@ -732,15 +734,15 @@ void LayoutBox::absoluteQuads(Vector<FloatQuad>& quads,
flowThread->absoluteQuadsForDescendant(*this, quads, mode);
return;
}
- quads.push_back(
- localToAbsoluteQuad(FloatRect(0, 0, m_frameRect.width().toFloat(),
- m_frameRect.height().toFloat()),
- mode));
+ quads.push_back(localToAbsoluteQuad(
+ FloatRect(0, 0, m_ngPhysicalBoxFragment->Width().toFloat(),
+ m_ngPhysicalBoxFragment->Height().toFloat()),
+ mode));
}
FloatRect LayoutBox::localBoundingBoxRectForAccessibility() const {
- return FloatRect(0, 0, m_frameRect.width().toFloat(),
- m_frameRect.height().toFloat());
+ return FloatRect(0, 0, m_ngPhysicalBoxFragment->Width().toFloat(),
+ m_ngPhysicalBoxFragment->Height().toFloat());
}
void LayoutBox::updateLayerTransformAfterLayout() {
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutBox.h ('k') | third_party/WebKit/Source/core/layout/ng/ng_physical_box_fragment.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698