[webkit-reviews] review granted: [Bug 209312] [LFC][IFC] Bail out when busy looping on partial content : [Attachment 394059] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Mar 19 20:09:22 PDT 2020
Simon Fraser (smfr) <simon.fraser at apple.com> has granted zalan
<zalan at apple.com>'s request for review:
Bug 209312: [LFC][IFC] Bail out when busy looping on partial content
https://bugs.webkit.org/show_bug.cgi?id=209312
Attachment 394059: Patch
https://bugs.webkit.org/attachment.cgi?id=394059&action=review
--- Comment #2 from Simon Fraser (smfr) <simon.fraser at apple.com> ---
Comment on attachment 394059
--> https://bugs.webkit.org/attachment.cgi?id=394059
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=394059&action=review
> Source/WebCore/ChangeLog:3
> + [LFC][IFC] Bail out when busy looping on partial content
"Avoid infinite loop when..."
> Source/WebCore/ChangeLog:9
> + Speculative fix to address busy looping/running out of inline run
vector capacity at InlineFormattingContext::setDisplayBoxesForLine.
"busy looping" sounds like something that happens over time. Is it really an
infinite loop?
> Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp:162
> + // "sp<->litcontent" -> overflow length: 10 -> leading
partial content length: 10.
Weird comment.
> Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp:175
> + ASSERT_NOT_REACHED();
> + // Move over to the next run if we are stuck on this
partial content (when the overflow content length remains the same).
> + // We certainly lose some content, but we would be busy
looping anyway.
> + previousLineEnd = PreviousLineEnd { trailingRunIndex, {
} };
> + layoutRange.start = previousLineEnd->runIndex + 1;
Weird to assert and then run code.
More information about the webkit-reviews
mailing list