[Webkit-unassigned] [Bug 93170] Inline continuations create :after generated content on style recalcs
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Oct 3 08:03:18 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=93170
--- Comment #24 from Abhishek Arya <inferno at chromium.org> 2012-10-03 08:03:41 PST ---
(In reply to comment #23)
> (From update of attachment 166809 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=166809&action=review
>
> > Source/WebCore/rendering/RenderInline.cpp:177
> > + RenderObjectChildList::s_enableUpdateBeforeAfterContent = !nextTarget;
>
> This naming isn't clear. It's not a target of anything and that naming is confusing in the DOM/Rendering area. Could we use next and current instead?
He fixed that in last patch. i had told him informally over chat.
>
> > Source/WebCore/rendering/RenderInline.cpp:181
> > + currCont->setContinuation(nextCont);
>
> Is it ever possible that nextCont is not null, but nextTarget is (meaning nextCont is not isInline())? Looking at the code it doesn't seem like you could have a continuation chain that ends in a non-inline one here which means you could simplify this loop a bunch.
>
> Try adding ASSERT(!current->continuation() || current->inlineElementContinuation()); to this loop and running the tests.
We cannot have non-inline as the last continuation. These continuations are created for the blocks inside inline case [Blocks inside Inline Flows in https://www.webkit.org/blog/115/webcore-rendering-ii-blocks-and-inlines/]. Also, i did thought about simplifying the loop but it does not look straightforward, we need to jump to every next inline element continuation [so it will skip over the block inside inline and also update styles of the inline continuation], whereas the nextCont is always the next continuation which can be the block inside inline or the inline continuation. What was your idea on the simplification ?
>
> > LayoutTests/fast/css-generated-content/after-with-inline-continuation.html:45
> > +<!-- If test passes, you should see A A A B B B. -->
>
Thanks for the layout test suggestions.
> Same, this should be inline like the original test.
>
> > LayoutTests/fast/css-generated-content/dynamic-apply-after-for-inline.html:23
> > + ul.className = '';
>
> Replace all this with ul.classList.toggle('closed')
>
> > LayoutTests/fast/css-generated-content/dynamic-apply-after-for-inline.html:45
> > +<!-- If test passes, only 1 'before' and 1 'after' are shown. -->
>
> Can you put this text inline instead of in a comment?
>
> <p>....</p> It's much easier to tell what's supposed to be going on.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list