RESOLVED FIXED 190696
[LFC][IFC] Add generic inline run generator.
https://bugs.webkit.org/show_bug.cgi?id=190696
Summary [LFC][IFC] Add generic inline run generator.
alan
Reported 2018-10-17 19:16:05 PDT
Generate inline runs for any type of inline content (replaced, text, float, inline-block etc)
Attachments
Patch (42.25 KB, patch)
2018-10-17 19:59 PDT, alan
koivisto: review+
alan
Comment 1 2018-10-17 19:59:59 PDT
Antti Koivisto
Comment 2 2018-10-19 07:35:12 PDT
Comment on attachment 352679 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=352679&action=review > Source/WebCore/layout/inlineformatting/InlineRunProvider.h:100 > + Run(const InlineItem&, Type); > + Run(const InlineItem&, Type, TextContext); Could just take std::optional<TextContext> and combine these. > Source/WebCore/layout/inlineformatting/InlineRunProvider.h:108 > + using Runs = Vector<InlineRunProvider::Run>; > + > + const Runs& runs() const { return m_inlineRuns; } Just using Vector<InlineRunProvider::Run> might be clearer an alias. > Source/WebCore/layout/layouttree/LayoutInlineBox.cpp:39 > +InlineBox::InlineBox(std::optional<ElementAttributes> attributes, RenderStyle&& style, BaseTypeFlags baseTypeFlags) BaseTypeFlags stuff should really be using OptionSet these days.
Antti Koivisto
Comment 3 2018-10-19 07:35:23 PDT
r=me, looks nice
alan
Comment 4 2018-10-19 08:49:32 PDT
(In reply to Antti Koivisto from comment #2) > Comment on attachment 352679 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=352679&action=review > > > Source/WebCore/layout/inlineformatting/InlineRunProvider.h:100 > > + Run(const InlineItem&, Type); > > + Run(const InlineItem&, Type, TextContext); > > Could just take std::optional<TextContext> and combine these. > > > Source/WebCore/layout/inlineformatting/InlineRunProvider.h:108 > > + using Runs = Vector<InlineRunProvider::Run>; > > + > > + const Runs& runs() const { return m_inlineRuns; } > > Just using Vector<InlineRunProvider::Run> might be clearer an alias. > > > Source/WebCore/layout/layouttree/LayoutInlineBox.cpp:39 > > +InlineBox::InlineBox(std::optional<ElementAttributes> attributes, RenderStyle&& style, BaseTypeFlags baseTypeFlags) > > BaseTypeFlags stuff should really be using OptionSet these days. Yea, indeed. I'll fix it in a separate patch. Thanks for the review.
alan
Comment 5 2018-10-19 08:52:14 PDT
Radar WebKit Bug Importer
Comment 6 2018-10-19 09:12:40 PDT
Note You need to log in before you can comment on or make changes to this bug.