Generate inline runs for any type of inline content (replaced, text, float, inline-block etc)
Created attachment 352679 [details] Patch
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.
r=me, looks nice
(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.
Committed r237286: <https://trac.webkit.org/changeset/237286>
<rdar://problem/45406706>