WebKit Bugzilla
Attachment 360545 Details for
Bug 194001
: [LFC][IFC] nextBreakablePosition returns the same position on hyphen characters
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-194001-20190129202946.patch (text/plain), 7.15 KB, created by
zalan
on 2019-01-29 20:29:58 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
zalan
Created:
2019-01-29 20:29:58 PST
Size:
7.15 KB
patch
obsolete
>Subversion Revision: 240657 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 0c1fd2ced14ca4ae3145be2ed07490fd27574c45..7cdc5f732eeaa84faa89deb39f2c161083936acf 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,15 @@ >+2019-01-29 Zalan Bujtas <zalan@apple.com> >+ >+ [LFC][IFC] nextBreakablePosition returns the same position on hyphen characters >+ https://bugs.webkit.org/show_bug.cgi?id=194001 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Skip to the next position manually. This is exactly what we do in simple line layout. >+ >+ * layout/inlineformatting/InlineRunProvider.cpp: >+ (WebCore::Layout::InlineRunProvider::moveToNextBreakablePosition): >+ > 2019-01-29 Zalan Bujtas <zalan@apple.com> > > [LFC][BFC][MarginCollapsing] Remove incorrect downcast<Container> >diff --git a/Source/WebCore/layout/inlineformatting/InlineRunProvider.cpp b/Source/WebCore/layout/inlineformatting/InlineRunProvider.cpp >index 6cea22c4986027210ed50697ccbb4af41f8d939f..9eb20f0afd712b536201d06f7cb4375e8b1e4cd9 100644 >--- a/Source/WebCore/layout/inlineformatting/InlineRunProvider.cpp >+++ b/Source/WebCore/layout/inlineformatting/InlineRunProvider.cpp >@@ -182,8 +182,15 @@ unsigned InlineRunProvider::moveToNextBreakablePosition(const InlineItem& inline > }; > > auto& style = inlineItem.style(); >- auto nextBreakablePosition = findNextBreakablePosition(inlineItem.textContent(), style, currentItemPosition); >- return nextBreakablePosition - currentItemPosition; >+ auto textLength = inlineItem.textContent().length(); >+ ASSERT(textLength); >+ while (currentItemPosition < textLength - 1) { >+ auto nextBreakablePosition = findNextBreakablePosition(inlineItem.textContent(), style, currentItemPosition); >+ if (nextBreakablePosition != currentItemPosition) >+ return nextBreakablePosition - currentItemPosition; >+ ++currentItemPosition; >+ } >+ return textLength; > } > > } >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index 47ef132c9e170c81335e822dd850183f82887dc2..f31b6d04eaa2f47a463d2c45d9fc867e9348b378 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,12 @@ >+2019-01-29 Zalan Bujtas <zalan@apple.com> >+ >+ [LFC][IFC] nextBreakablePosition returns the same position on hyphen characters >+ https://bugs.webkit.org/show_bug.cgi?id=194001 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * LayoutReloaded/misc/LFC-passing-tests.txt: >+ > 2019-01-29 Zalan Bujtas <zalan@apple.com> > > Adding new passing LFC tests. >diff --git a/Tools/LayoutReloaded/misc/LFC-passing-tests.txt b/Tools/LayoutReloaded/misc/LFC-passing-tests.txt >index ffefcca3275da3d8377c88a5c1abf06bbd423400..50a9c925a2c9215c3f14d0eb486ca35893a3db98 100644 >--- a/Tools/LayoutReloaded/misc/LFC-passing-tests.txt >+++ b/Tools/LayoutReloaded/misc/LFC-passing-tests.txt >@@ -373,3 +373,83 @@ fast/body-propagation/background-color/008-xhtml.xhtml > fast/body-propagation/background-color/008.html > fast/body-propagation/background-image/008-xhtml.xhtml > fast/body-propagation/background-image/008.html >+css2.1/20110323/absolute-non-replaced-height-001.htm >+css2.1/20110323/absolute-non-replaced-height-002.htm >+css2.1/20110323/absolute-non-replaced-height-003.htm >+css2.1/20110323/absolute-non-replaced-height-004.htm >+css2.1/20110323/absolute-non-replaced-height-005.htm >+css2.1/20110323/absolute-non-replaced-height-006.htm >+css2.1/20110323/absolute-non-replaced-height-007.htm >+css2.1/20110323/absolute-non-replaced-height-008.htm >+css2.1/20110323/absolute-non-replaced-height-009.htm >+css2.1/20110323/absolute-non-replaced-height-010.htm >+css2.1/20110323/absolute-non-replaced-height-011.htm >+css2.1/20110323/absolute-non-replaced-height-012.htm >+css2.1/20110323/absolute-non-replaced-max-height-001.htm >+css2.1/20110323/absolute-non-replaced-max-height-002.htm >+css2.1/20110323/absolute-non-replaced-max-height-003.htm >+css2.1/20110323/absolute-non-replaced-max-height-004.htm >+css2.1/20110323/absolute-non-replaced-max-height-005.htm >+css2.1/20110323/absolute-non-replaced-max-height-006.htm >+css2.1/20110323/absolute-non-replaced-max-height-007.htm >+css2.1/20110323/absolute-non-replaced-max-height-008.htm >+css2.1/20110323/absolute-non-replaced-max-height-009.htm >+css2.1/20110323/absolute-non-replaced-max-height-010.htm >+css2.1/20110323/absolute-non-replaced-max-height-011.htm >+css2.1/20110323/absolute-non-replaced-max-height-012.htm >+css2.1/20110323/absolute-non-replaced-width-001.htm >+css2.1/20110323/absolute-non-replaced-width-002.htm >+css2.1/20110323/absolute-non-replaced-width-003.htm >+css2.1/20110323/absolute-non-replaced-width-004.htm >+css2.1/20110323/absolute-non-replaced-width-005.htm >+css2.1/20110323/absolute-non-replaced-width-006.htm >+css2.1/20110323/absolute-non-replaced-width-007.htm >+css2.1/20110323/absolute-non-replaced-width-008.htm >+css2.1/20110323/absolute-non-replaced-width-009.htm >+css2.1/20110323/absolute-non-replaced-width-010.htm >+css2.1/20110323/absolute-non-replaced-width-011.htm >+css2.1/20110323/absolute-non-replaced-width-012.htm >+css2.1/20110323/absolute-non-replaced-width-013.htm >+css2.1/20110323/absolute-non-replaced-width-014.htm >+css2.1/20110323/absolute-non-replaced-width-015.htm >+css2.1/20110323/absolute-non-replaced-width-016.htm >+css2.1/20110323/abspos-containing-block-initial-001.htm >+css2.1/20110323/abspos-containing-block-initial-004a.htm >+css2.1/20110323/abspos-containing-block-initial-004b.htm >+css2.1/20110323/abspos-containing-block-initial-005a.htm >+css2.1/20110323/abspos-containing-block-initial-005c.htm >+css2.1/20110323/abspos-containing-block-initial-007.htm >+css2.1/20110323/abspos-containing-block-initial-009b.htm >+css2.1/20110323/abspos-containing-block-initial-009e.htm >+css2.1/20110323/block-non-replaced-height-001.htm >+css2.1/20110323/block-non-replaced-height-003.htm >+css2.1/20110323/block-non-replaced-height-007.htm >+css2.1/20110323/block-non-replaced-height-009.htm >+css2.1/20110323/block-non-replaced-height-011.htm >+css2.1/20110323/block-non-replaced-height-013.htm >+css2.1/20110323/block-non-replaced-height-015.htm >+css2.1/20110323/block-non-replaced-width-003.htm >+css2.1/20110323/block-non-replaced-width-004.htm >+css2.1/20110323/block-non-replaced-width-005.htm >+css2.1/20110323/block-non-replaced-width-006.htm >+css2.1/20110323/block-non-replaced-width-007.htm >+css2.1/20110323/block-non-replaced-width-008.htm >+css2.1/20110323/float-non-replaced-height-001.htm >+css2.1/20110323/float-non-replaced-width-001.htm >+css2.1/20110323/float-non-replaced-width-002.htm >+css2.1/20110323/float-non-replaced-width-003.htm >+css2.1/20110323/float-non-replaced-width-004.htm >+css2.1/20110323/float-non-replaced-width-005.htm >+css2.1/20110323/float-non-replaced-width-006.htm >+css2.1/20110323/float-non-replaced-width-010.htm >+css2.1/20110323/float-non-replaced-width-012.htm >+css2.1/20110323/float-replaced-width-001.htm >+css2.1/20110323/float-replaced-width-002.htm >+css2.1/20110323/float-replaced-width-003.htm >+css2.1/20110323/float-replaced-width-004.htm >+css2.1/20110323/float-replaced-width-005.htm >+css2.1/20110323/floats-001.html >+css2.1/20110323/margin-applies-to-009.htm >+css2.1/20110323/margin-collapse-012.htm >+css2.1/20110323/margin-collapse-clear-015.htm >+css2.1/20110323/margin-collapse-clear-016.htm
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 194001
: 360545