Diff
Modified: trunk/Tools/ChangeLog (230655 => 230656)
--- trunk/Tools/ChangeLog 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/ChangeLog 2018-04-14 04:48:35 UTC (rev 230656)
@@ -1,5 +1,43 @@
2018-04-13 Zalan Bujtas <za...@apple.com>
+ [LayoutReloaded] Update class documentation
+ https://bugs.webkit.org/show_bug.cgi?id=184625
+
+ Reviewed by Antti Koivisto.
+
+ * LayoutReloaded/DisplayTree/Box.js:
+ * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
+ * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js:
+ * LayoutReloaded/FormattingContext/FloatingContext.js:
+ * LayoutReloaded/FormattingContext/FormattingContext.js:
+ * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
+ * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
+ * LayoutReloaded/FormattingState/BlockFormattingState.js:
+ * LayoutReloaded/FormattingState/FloatingState.js:
+ * LayoutReloaded/FormattingState/FormattingState.js:
+ * LayoutReloaded/FormattingState/InlineFormattingState.js:
+ * LayoutReloaded/LayoutState.js:
+ * LayoutReloaded/LayoutTree/BlockContainer.js:
+ * LayoutReloaded/LayoutTree/Box.js:
+ * LayoutReloaded/LayoutTree/Container.js:
+ * LayoutReloaded/LayoutTree/InlineBox.js:
+ * LayoutReloaded/LayoutTree/InlineContainer.js:
+ * LayoutReloaded/LayoutTree/Text.js:
+ * LayoutReloaded/misc/headers/BlockContainer.h: Removed.
+ * LayoutReloaded/misc/headers/BlockFormattingContext.h: Removed.
+ * LayoutReloaded/misc/headers/BlockMarginCollapse.h: Removed.
+ * LayoutReloaded/misc/headers/Box.h: Removed.
+ * LayoutReloaded/misc/headers/Container.h: Removed.
+ * LayoutReloaded/misc/headers/FloatingContext.h: Removed.
+ * LayoutReloaded/misc/headers/FormattingContext.h: Removed.
+ * LayoutReloaded/misc/headers/InitialBlockContainer.h: Removed.
+ * LayoutReloaded/misc/headers/InlineBox.h: Removed.
+ * LayoutReloaded/misc/headers/LayoutContext.h: Removed.
+ * LayoutReloaded/misc/headers/Line.h: Removed.
+ * LayoutReloaded/misc/headers/Text.h: Removed.
+
+2018-04-13 Zalan Bujtas <za...@apple.com>
+
[LayoutReloaded] Add simple implementation for FormattingState::markNeedsLayout()
https://bugs.webkit.org/show_bug.cgi?id=184621
Modified: trunk/Tools/LayoutReloaded/DisplayTree/Box.js (230655 => 230656)
--- trunk/Tools/LayoutReloaded/DisplayTree/Box.js 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/LayoutReloaded/DisplayTree/Box.js 2018-04-14 04:48:35 UTC (rev 230656)
@@ -23,6 +23,60 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
+namespace Display {
+class Box {
+ setRect(LayoutRect);
+ setTopLeft(LayoutPoint);
+ setTop(LayoutUnit);
+ setLeft(LayoutUnit);
+ setSize(LayoutSize);
+ setWidth(LayoutUnit);
+ setHeight(LayoutUnit);
+
+ LayoutRect rect();
+
+ LayoutUnit top();
+ LayoutUnit left();
+ LayoutUnit bottom();
+ LayoutUnit right();
+
+ LayoutPoint topLeft();
+ LayoutPoint bottomRight();
+
+ LayoutSize size();
+ LayoutUnit width();
+ LayoutUnit height();
+
+ setMarginTop(LayoutUnit);
+ setMarginLeft(LayoutUnit);
+ setMarginBottom(LayoutUnit);
+ setMarginRight(LayoutUnit);
+
+ LayoutUnit marginTop();
+ LayoutUnit marginLeft();
+ LayoutUnit marginBottom();
+ LayoutUnit marginRight();
+
+ LayoutRect marginBox();
+ LayoutRect borderBox();
+ LayoutRect paddingBox();
+ LayoutRect contentBox();
+
+ void setParent(Display::Box&);
+ void setNextSibling(Display::Box&);
+ void setPreviousSibling(Display::Box&);
+ void setFirstChild(Display::Box&);
+ void setLastChild(Display::Box&);
+
+ Display::Box* parent();
+ Display::Box* nextSibling();
+ Display::Box* previousSibling();
+ Display::Box* firstChild();
+ Display::Box* lastChild();
+};
+}
+*/
var Display = { }
Display.Box = class Box {
Modified: trunk/Tools/LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js (230655 => 230656)
--- trunk/Tools/LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js 2018-04-14 04:48:35 UTC (rev 230656)
@@ -22,6 +22,26 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
+/*
+class BlockFormattingContext : public FormattingContext {
+public:
+ void layout() override;
+
+ void computeWidth(const Layout::Box&) override;
+ void computeHeight(const Layout::Box&) override;
+
+ void marginTop(const Layout::Box&) override;
+ void marginBottom(const Layout::Box&) override;
+
+private:
+ void computeStaticPosition(const Layout::Box&);
+ void computeInFlowHeight(const Layout::Box&);
+ void horizontalConstraint(const Layout::Box&);
+ void contentHeight(const Layout::Box&);
+};
+*/
+
class BlockFormattingContext extends FormattingContext {
constructor(blockFormattingState) {
super(blockFormattingState);
Modified: trunk/Tools/LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js (230655 => 230656)
--- trunk/Tools/LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js 2018-04-14 04:48:35 UTC (rev 230656)
@@ -22,8 +22,29 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
class BlockMarginCollapse {
+public:
+ LayoutUnit marginTop(const Layout::Box&);
+ LayoutUnit marginBottom(const Layout::Box&);
+private:
+ bool isMarginTopCollapsedWithSibling(const Layout::Box&);
+ bool isMarginBottomCollapsedWithSibling(const Layout::Box&);
+ bool isMarginTopCollapsedWithParent(const Layout::Box&);
+ bool isMarginBottomCollapsedWithParent(const Layout::Box&);
+
+ LayoutUnit nonCollapsedMarginTop(const Layout::Box&);
+ LayoutUnit nonCollapsedMarginBottom(const Layout::Box&);
+ LayoutUnit collapsedMarginTopFromFirstChild(const Layout::Box&);
+ LayoutUnit collapsedMarginBottomFromLastChild(const Layout::Box&);
+ LayoutUnit marginValue(currentMarginValue, candidateMarginValue);
+
+ bool hasAdjoiningMarginTopAndBottom(const Layout::Box&);
+};
+*/
+class BlockMarginCollapse {
+
static marginTop(layoutBox) {
if (layoutBox.isAnonymous())
return 0;
Modified: trunk/Tools/LayoutReloaded/FormattingContext/FloatingContext.js (230655 => 230656)
--- trunk/Tools/LayoutReloaded/FormattingContext/FloatingContext.js 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/LayoutReloaded/FormattingContext/FloatingContext.js 2018-04-14 04:48:35 UTC (rev 230656)
@@ -23,6 +23,20 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
+class FloatingContext {
+public:
+ void computePosition(Layout::Box&);
+ LayoutUnit left(LayoutUnit verticalPosition);
+ LayoutUnit right(LayoutUnit verticalPosition);
+ LayoutUnit bottom();
+
+private:
+ LayoutPoint positionForFloating(const Layout::Box&);
+ LayoutPoint positionForClear(const Layout::Box&);
+ LayoutPoint computePositionToAvoidIntrudingFloats(const Layout::Box&);
+};
+*/
// All geometry here is absolute to the formatting context's root.
class FloatingContext {
constructor(floatingState) {
Modified: trunk/Tools/LayoutReloaded/FormattingContext/FormattingContext.js (230655 => 230656)
--- trunk/Tools/LayoutReloaded/FormattingContext/FormattingContext.js 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/LayoutReloaded/FormattingContext/FormattingContext.js 2018-04-14 04:48:35 UTC (rev 230656)
@@ -23,7 +23,42 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
class FormattingContext {
+public:
+ Layout::Container& formattingRoot();
+ FormattingState& formattingState();
+ LayoutState& layoutState();
+ FloatingContext& floatingContext();
+
+ virtual void layout();
+
+ virtual void computeWidth(const Layout::Box&);
+ virtual void computeHeight(const Layout::Box&);
+
+ virtual LayoutUnit marginTop(const Layout::Box&);
+ virtual LayoutUnit marginLeft(const Layout::Box&);
+ virtual LayoutUnit marginBottom(const Layout::Box&);
+ virtual LayoutUnit marginRight(const Layout::Box&);
+
+private:
+ void computeFloatingWidth(const Layout::Box&);
+ void computeFloatingHeight(const Layout::Box&);
+
+ void placeInFlowPositionedChildren(const Layout::Box&);
+ void computeInFlowPositionedPosition(const Layout::Box&);
+ void computeInFlowWidth(const Layout::Box&);
+
+ void layoutOutOfFlowDescendants();
+
+ void computeOutOfFlowWidth(const Layout::Box&);
+ void computeOutOfFlowHeight(const Layout::Box&);
+ void computeOutOfFlowPosition(const Layout::Box&);
+
+ LayoutUnit shrinkToFitWidth(Layout::Box&);
+};
+*/
+class FormattingContext {
constructor(formattingState) {
this.m_formattingState = formattingState;
this.m_floatingContext = new FloatingContext(formattingState.floatingState());
Modified: trunk/Tools/LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js (230655 => 230656)
--- trunk/Tools/LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js 2018-04-14 04:48:35 UTC (rev 230656)
@@ -23,6 +23,20 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
+class InlineFormattingContext {
+public:
+ void layout() override;
+
+private:
+ void handleInlineContainer(const Layout::Container&);
+ void handleInlineBlockContainer(const Layout::Container&);
+ void handleInlineContent(const Layout::Box&);
+ void handleInlineBox(const Layout::InlineBox&);
+ void handleText(const Layout::InlineBox&);
+ void handleFloatingBox(const Layout::Box&);
+};
+*/
class InlineFormattingContext extends FormattingContext {
constructor(inlineFormattingState) {
super(inlineFormattingState);
Modified: trunk/Tools/LayoutReloaded/FormattingContext/InlineFormatting/Line.js (230655 => 230656)
--- trunk/Tools/LayoutReloaded/FormattingContext/InlineFormatting/Line.js 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/LayoutReloaded/FormattingContext/InlineFormatting/Line.js 2018-04-14 04:48:35 UTC (rev 230656)
@@ -23,7 +23,24 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
class Line {
+public:
+ bool isEmpty();
+
+ LayoutUnit availableWidth();
+
+ LayoutRect rect();
+ lineBoxes();
+
+ shrink(float width);
+ adjustWithOffset(LayoutUnit offset);
+ moveContentHorizontally(LayoutUnit offset);
+ addInlineContainerBox(LayoutSize);
+ addTextLineBox(unsigned startPosition, unsigned endPosition, LayoutSize size);
+};
+*/
+class Line {
constructor(topLeft, height, availableWidth) {
this.m_availableWidth = availableWidth;
this.m_lineRect = new LayoutRect(topLeft, new LayoutSize(0, height));
Modified: trunk/Tools/LayoutReloaded/FormattingState/BlockFormattingState.js (230655 => 230656)
--- trunk/Tools/LayoutReloaded/FormattingState/BlockFormattingState.js 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/LayoutReloaded/FormattingState/BlockFormattingState.js 2018-04-14 04:48:35 UTC (rev 230656)
@@ -23,6 +23,11 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
+class BlockFormattingState : public FormattingState {
+
+};
+*/
class BlockFormattingState extends FormattingState {
constructor(formattingRoot, layoutState) {
super(layoutState, formattingRoot);
Modified: trunk/Tools/LayoutReloaded/FormattingState/FloatingState.js (230655 => 230656)
--- trunk/Tools/LayoutReloaded/FormattingState/FloatingState.js 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/LayoutReloaded/FormattingState/FloatingState.js 2018-04-14 04:48:35 UTC (rev 230656)
@@ -23,7 +23,18 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
class FloatingState {
+public:
+ addFloating(Display::Box&, bool isFloatingLeft) {
+ Vector<Display::Box&> leftFloatingStack();
+ Vector<Display::Box&> rightFloatingStack();
+ Display::Box& lastFloating();
+
+ FormattingState& formattingState();
+};
+*/
+class FloatingState {
constructor(parentFormattingState) {
this.m_parentFormattingState = parentFormattingState;
this.m_leftFloatingBoxStack = new Array();
Modified: trunk/Tools/LayoutReloaded/FormattingState/FormattingState.js (230655 => 230656)
--- trunk/Tools/LayoutReloaded/FormattingState/FormattingState.js 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/LayoutReloaded/FormattingState/FormattingState.js 2018-04-14 04:48:35 UTC (rev 230656)
@@ -23,7 +23,25 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
class FormattingState {
+public:
+ Layout::Container& formattingRoot();
+ LayoutState& layoutState();
+ FloatingState& floatingState();
+ Display::Box& createDisplayBox(const Layout::Box&);
+
+ Vector<Display::Box&> displayBoxes();
+ Display::Box& displayBox(const Layout::Box&);
+
+ void markNeedsLayout(const Layout::Box&);
+ void clearNeedsLayout(const Layout::Box&);
+ bool needsLayout(const Layout::Box&);
+
+ bool needsLayout();
+};
+*/
+class FormattingState {
constructor(layoutState, formattingRoot) {
this.m_layoutState = layoutState;
this.m_formattingRoot = formattingRoot;
Modified: trunk/Tools/LayoutReloaded/FormattingState/InlineFormattingState.js (230655 => 230656)
--- trunk/Tools/LayoutReloaded/FormattingState/InlineFormattingState.js 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/LayoutReloaded/FormattingState/InlineFormattingState.js 2018-04-14 04:48:35 UTC (rev 230656)
@@ -23,6 +23,13 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
+class InlineFormattingState : public FormattingState {
+public:
+ Vector<Line> lines();
+ void appendLine(Line);
+};
+*/
class InlineFormattingState extends FormattingState {
constructor(formattingRoot, layoutState) {
super(layoutState, formattingRoot);
Modified: trunk/Tools/LayoutReloaded/LayoutState.js (230655 => 230656)
--- trunk/Tools/LayoutReloaded/LayoutState.js 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/LayoutReloaded/LayoutState.js 2018-04-14 04:48:35 UTC (rev 230656)
@@ -23,7 +23,23 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
class LayoutState {
+public:
+ Container& rootContainer();
+
+ FormattingContext& formattingContext(const Layout::Container& formattingRoot);
+ FormattingState& establishedFormattingState(const Layout::Container& formattingRoot);
+ FormattingState& formattingStateForBox(const Layout::Box&);
+
+ Display::Box* displayBox(const Layout::Box&);
+
+ void markNeedsLayout(const Layout::Box&);
+ bool needsLayout();
+};
+*/
+
+class LayoutState {
constructor(rootContainer, rootDisplayBox) {
ASSERT(rootContainer.establishesFormattingContext());
this.m_rootContainer = rootContainer;
Modified: trunk/Tools/LayoutReloaded/LayoutTree/BlockContainer.js (230655 => 230656)
--- trunk/Tools/LayoutReloaded/LayoutTree/BlockContainer.js 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/LayoutReloaded/LayoutTree/BlockContainer.js 2018-04-14 04:48:35 UTC (rev 230656)
@@ -23,6 +23,14 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
+namespace Layout {
+class BlockContainer : public Continer {
+public:
+ bool establishesInlineFormattingContext() final;
+};
+}
+*/
Layout.BlockContainer = class BlockContainer extends Layout.Container {
constructor(node, id) {
super(node, id);
Modified: trunk/Tools/LayoutReloaded/LayoutTree/Box.js (230655 => 230656)
--- trunk/Tools/LayoutReloaded/LayoutTree/Box.js 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/LayoutReloaded/LayoutTree/Box.js 2018-04-14 04:48:35 UTC (rev 230656)
@@ -23,6 +23,52 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
+namespace Layout {
+class Box {
+public:
+ Layout::Container& parent();
+ Layout::Box* nextSibling();
+ Layout::Box* nextInFlowSibling();
+ Layout::Box* nextInFlowOrFloatSibling();
+ Layout::Box* previousSibling();
+ Layout::Box* previousInFlowSibling();
+
+ void setParent(Layout::Container&);
+ void setNextSibling(Layout::Box&);
+ void setPreviousSibling(Layout::Box&);
+
+ bool isContainer();
+ bool isInlineContainer();
+ bool isInlineBox();
+ bool isBlockLevelBox();
+ bool isBlockContainerBox();
+ bool isInlineBlockBox();
+ bool isInlineLevelBox();
+
+ void setIsAnonymous(bool);
+ bool isAnonymous();
+
+ bool establishesFormattingContext();
+ bool establishesBlockFormattingContext();
+ bool establishesInlineFormattingContext();
+
+ bool isPositioned();
+ bool isRelativelyPositioned();
+ bool isAbsolutelyPositioned();
+ bool isFixedPositioned();
+ bool isInFlow();
+ bool isOutOfFlowPositioned();
+ bool isInFlowPositioned();
+ bool isFloatingPositioned();
+ bool isFloatingOrOutOfFlowPositioned();
+ bool isRootBox();
+ Layout::Container* containingBlock();
+ bool isDescendantOf(Layout::Container&);
+};
+}
+*/
+
var Layout = { }
Layout.Box = class Box {
Modified: trunk/Tools/LayoutReloaded/LayoutTree/Container.js (230655 => 230656)
--- trunk/Tools/LayoutReloaded/LayoutTree/Container.js 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/LayoutReloaded/LayoutTree/Container.js 2018-04-14 04:48:35 UTC (rev 230656)
@@ -23,6 +23,27 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
+namespace Layout {
+class Container : public Box {
+public:
+ setFirstChild(Layout::Box&);
+ setLastChild(Layout::Box&);
+
+ Layout::Box* firstChild();
+ Layout::Box* firstInFlowChild();
+ Layout::Box* firstInFlowOrFloatChild();
+ Layout::Box* lastChild();
+ Layout::Box* lastInFlowChild();
+
+ bool hasChild();
+ bool hasInFlowChild();
+ bool hasInFlowOrFloatChild();
+
+ Vector<Layout::Box&> outOfFlowDescendants();
+};
+}
+*/
Layout.Container = class Container extends Layout.Box {
constructor(node, id) {
super(node, id);
Modified: trunk/Tools/LayoutReloaded/LayoutTree/InlineBox.js (230655 => 230656)
--- trunk/Tools/LayoutReloaded/LayoutTree/InlineBox.js 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/LayoutReloaded/LayoutTree/InlineBox.js 2018-04-14 04:48:35 UTC (rev 230656)
@@ -23,6 +23,15 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
+namespace Layout {
+class InlineBox : public Box {
+public:
+ setText(const String&);
+ const String& text();
+};
+}
+*/
Layout.InlineBox = class InlineBox extends Layout.Box {
constructor(node, id) {
super(node, id);
Modified: trunk/Tools/LayoutReloaded/LayoutTree/InlineContainer.js (230655 => 230656)
--- trunk/Tools/LayoutReloaded/LayoutTree/InlineContainer.js 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/LayoutReloaded/LayoutTree/InlineContainer.js 2018-04-14 04:48:35 UTC (rev 230656)
@@ -23,6 +23,14 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
+namespace Layout {
+class InlineContainer : public Container {
+public:
+
+};
+}
+*/
Layout.InlineContainer = class InlineContainer extends Layout.Container {
constructor(node, id) {
super(node, id);
Modified: trunk/Tools/LayoutReloaded/LayoutTree/Text.js (230655 => 230656)
--- trunk/Tools/LayoutReloaded/LayoutTree/Text.js 2018-04-14 03:21:59 UTC (rev 230655)
+++ trunk/Tools/LayoutReloaded/LayoutTree/Text.js 2018-04-14 04:48:35 UTC (rev 230656)
@@ -23,7 +23,16 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+/*
+namespace Layout {
class Text {
+public:
+ const String& content();
+ LayoutUnit length();
+};
+}
+*/
+class Text {
constructor(node, id, inlineBox) {
this.m_node = node;
this.m_id = id;