Title: [230139] trunk/Tools
- Revision
- 230139
- Author
- [email protected]
- Date
- 2018-03-31 19:44:49 -0700 (Sat, 31 Mar 2018)
Log Message
[LayoutReloaded] FloatingContext does not need a parent formatting context.
https://bugs.webkit.org/show_bug.cgi?id=184219
Reviewed by Antti Koivisto.
We don't need the formatting context in the FloatingContext now that margins are moved over to Display.Box.
This is in preparation for being able to create a FloatingContext for an inline formatting context,
when the inline context actually inherits the floating state from its formatting root.
* LayoutReloaded/FormattingContext/FloatingContext.js:
(FloatingContext):
(FloatingContext.prototype._availableSpace):
(FloatingContext.prototype._adjustedFloatingPosition):
(FloatingContext.prototype._addFloatingBox):
(FloatingContext.prototype._formattingContext): Deleted.
* LayoutReloaded/FormattingContext/FormattingContext.js:
(FormattingContext):
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (230138 => 230139)
--- trunk/Tools/ChangeLog 2018-04-01 02:24:32 UTC (rev 230138)
+++ trunk/Tools/ChangeLog 2018-04-01 02:44:49 UTC (rev 230139)
@@ -1,5 +1,25 @@
2018-03-31 Zalan Bujtas <[email protected]>
+ [LayoutReloaded] FloatingContext does not need a parent formatting context.
+ https://bugs.webkit.org/show_bug.cgi?id=184219
+
+ Reviewed by Antti Koivisto.
+
+ We don't need the formatting context in the FloatingContext now that margins are moved over to Display.Box.
+ This is in preparation for being able to create a FloatingContext for an inline formatting context,
+ when the inline context actually inherits the floating state from its formatting root.
+
+ * LayoutReloaded/FormattingContext/FloatingContext.js:
+ (FloatingContext):
+ (FloatingContext.prototype._availableSpace):
+ (FloatingContext.prototype._adjustedFloatingPosition):
+ (FloatingContext.prototype._addFloatingBox):
+ (FloatingContext.prototype._formattingContext): Deleted.
+ * LayoutReloaded/FormattingContext/FormattingContext.js:
+ (FormattingContext):
+
+2018-03-31 Zalan Bujtas <[email protected]>
+
[LayoutReloaded] Do not clone Display.Box for FloatingState stacks.
https://bugs.webkit.org/show_bug.cgi?id=184218
Modified: trunk/Tools/LayoutReloaded/FormattingContext/FloatingContext.js (230138 => 230139)
--- trunk/Tools/LayoutReloaded/FormattingContext/FloatingContext.js 2018-04-01 02:24:32 UTC (rev 230138)
+++ trunk/Tools/LayoutReloaded/FormattingContext/FloatingContext.js 2018-04-01 02:44:49 UTC (rev 230139)
@@ -25,9 +25,8 @@
// All geometry here is absolute to the formatting context's root.
class FloatingContext {
- constructor(floatingState, parentFormattingContext) {
+ constructor(floatingState) {
this.m_floatingState = floatingState;
- this.m_parentFormattingContext = parentFormattingContext;
}
computePosition(layoutBox) {
@@ -123,7 +122,7 @@
}
_availableSpace(containingBlock, floatingPair) {
- let containingBlockContentBox = this._formattingContext().displayBox(containingBlock);
+ let containingBlockContentBox = this._formattingState().displayBox(containingBlock);
if (floatingPair.left && floatingPair.right)
return floatingPair.right.left() - floatingPair.left.right();
if (floatingPair.left) {
@@ -162,9 +161,10 @@
right = floatingBoxLeft;
}
}
- left += this._formattingContext().marginLeft(floatingBox);
- right -= this._formattingContext().marginRight(floatingBox);
- verticalPosition += this._formattingContext().marginTop(floatingBox);
+ let floatingDisplayBox = this._formattingState().displayBox(floatingBox);
+ left += floatingDisplayBox.marginLeft();
+ right -= floatingDisplayBox.marginRight();
+ verticalPosition += floatingDisplayBox.marginTop();
// No convert them back relative to the floatingBox's containing block.
let containingBlockLeft = this._mapBorderBoxToFormattingRoot(containingBlock).left();
let containingBlockTop = this._mapBorderBoxToFormattingRoot(containingBlock).top();
@@ -174,7 +174,7 @@
if (Utils.isFloatingLeft(floatingBox) || !Utils.isFloatingPositioned(floatingBox))
return new LayoutPoint(verticalPosition, left);
- return new LayoutPoint(verticalPosition, right - this._formattingContext().displayBox(floatingBox).rect().width());
+ return new LayoutPoint(verticalPosition, right - floatingDisplayBox.rect().width());
}
_bottom(floatingStack) {
@@ -187,7 +187,7 @@
}
_addFloatingBox(layoutBox) {
- this._floatingState().addFloating(this._formattingContext().displayBox(layoutBox), Utils.isFloatingLeft(layoutBox));
+ this._floatingState().addFloating(this._formattingState().displayBox(layoutBox), Utils.isFloatingLeft(layoutBox));
}
_mapMarginBoxToFormattingRoot(layoutBox) {
@@ -216,10 +216,6 @@
return this.m_floatingState;
}
- _formattingContext() {
- return this.m_parentFormattingContext;
- }
-
_formattingRoot() {
return this._formattingState().formattingRoot();
}
Modified: trunk/Tools/LayoutReloaded/FormattingContext/FormattingContext.js (230138 => 230139)
--- trunk/Tools/LayoutReloaded/FormattingContext/FormattingContext.js 2018-04-01 02:24:32 UTC (rev 230138)
+++ trunk/Tools/LayoutReloaded/FormattingContext/FormattingContext.js 2018-04-01 02:44:49 UTC (rev 230139)
@@ -26,7 +26,7 @@
class FormattingContext {
constructor(formattingState) {
this.m_formattingState = formattingState;
- this.m_floatingContext = new FloatingContext(formattingState.floatingState(), this);
+ this.m_floatingContext = new FloatingContext(formattingState.floatingState());
this.m_layoutStack = new Array();
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes