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

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Oct 1 21:49:50 PDT 2012


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





--- Comment #10 from Takashi Sakamoto <tasak at google.com>  2012-10-01 21:50:13 PST ---
(From update of attachment 166444)
View in context: https://bugs.webkit.org/attachment.cgi?id=166444&action=review

Thank you for reviewing.

>> Source/WebCore/rendering/RenderInline.cpp:176
>> +        if (hasPseudoAfter && !currCont->inlineElementContinuation())
> 
> These two lines are unneeded i think since you update :before, :after content later.
> 
> 197 if (!isAnonymous() && document()->styleSheetCollection()->usesBeforeAfterRules()) {
> 198        children()->updateBeforeAfterContent(this, BEFORE);
> 199        children()->updateBeforeAfterContent(this, AFTER);
> 200    }

I see.
This is my mistake.

>> Source/WebCore/rendering/RenderInline.cpp:182
>> +    if (hasPseudoAfter)
> 
> I don't like the setting/unsetting :after style hack. Also, i don't think we want to create :before content here. So, it should be better to have like a global bool in RenderObjectChildList and then use it to bail out in RenderObjectChildList::updateBeforeAfterContent. Then you can set/unset it here with a TemporaryChange around the for loop. Basically the gist is we shouldn't be updating our :before, :after while we are inside the for loop.

I see.
I added a new static method, i.e. enableUpdateBeforeAfterContent to class RenderObjectChildList to control creating :before / :after content.

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