[Webkit-unassigned] [Bug 93170] Inline continuations create :after generated content on style recalcs

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Oct 2 23:05:26 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=93170





--- Comment #20 from Takashi Sakamoto <tasak at google.com>  2012-10-02 23:05:48 PST ---
(From update of attachment 166633)
View in context: https://bugs.webkit.org/attachment.cgi?id=166633&action=review

Thank you for reviewing.

>> Source/WebCore/rendering/RenderInline.cpp:177
>> +            RenderObjectChildList::m_enableUpdateAfterContent = !nextTarget;
> 
> You don't need lines 176 and 177. As i said in last comment, you are explicitly updating :before, :after content later in function, so it will place it correctly at end.
> 
> nextTarget = currCont->inlineElementContinuation();
> RenderObjectChildList::m_enableUpdateAfterContent = !nextTarget;

Firstly I think so. However I found that I need lines 176 and 177. Talking about the first continuation (= node()->renderer()), I agree that we don't need.
However talking about the rest of the continuation list, this RenderInline::styleDidChange is invoked via line 180's currCont->setStyle(newStyle). 
In such case,  later updating :before and :after content cannot see whether the RenderInline instance is the last node of continuation list. 

I think, currently there is no way to directly invoke RenderInline::styleDidChange for the second, the third continuation ...

>> Source/WebCore/rendering/RenderObjectChildList.cpp:379
>> +    if (type == AFTER && !m_enableUpdateAfterContent)
> 
> You don't need to just check AFTER, make it generic and rename m_enableUpdateAfterContent to s_enableUpdateBeforeAfterContent. For :before content, you will bail early here instead of wasting time and going till " if (newContentWanted && type == BEFORE && owner->isElementContinuation())"

I see. 
I added the flag to just enable/disable updating :after content, but lines 175-182 in RenderInline.cpp, we don't need to update :BEFORE. Because the continuations updated in line 175-182 cannot have :before content style.
Done.

>> Source/WebCore/rendering/RenderObjectChildList.h:64
>> +    static bool m_enableUpdateAfterContent;
> 
> rename to s_enableUpdateBeforeAfterContent. we s_ for statics.

Thanks.
Done.

-- 
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