Bug 185976 - Improve the performance of determining character boundaries in ComplexTextController
Summary: Improve the performance of determining character boundaries in ComplexTextCon...
Status: RESOLVED DUPLICATE of bug 175778
Alias: None
Product: WebKit
Classification: Unclassified
Component: Text (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Myles C. Maxfield
URL:
Keywords: InRadar
Depends on:
Blocks: 206208
  Show dependency treegraph
 
Reported: 2018-05-25 00:46 PDT by Myles C. Maxfield
Modified: 2023-09-14 06:27 PDT (History)
10 users (show)

See Also:


Attachments
Patch (11.78 KB, patch)
2018-05-25 00:52 PDT, Myles C. Maxfield
no flags Details | Formatted Diff | Diff
Patch (11.79 KB, patch)
2018-05-25 00:53 PDT, Myles C. Maxfield
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews103 for mac-sierra (2.35 MB, application/zip)
2018-05-25 02:01 PDT, EWS Watchlist
no flags Details
Archive of layout-test-results from ews106 for mac-sierra-wk2 (2.85 MB, application/zip)
2018-05-25 02:07 PDT, EWS Watchlist
no flags Details
Archive of layout-test-results from ews117 for mac-sierra (3.11 MB, application/zip)
2018-05-25 02:36 PDT, EWS Watchlist
no flags Details
WIP (16.47 KB, patch)
2018-05-25 18:09 PDT, Myles C. Maxfield
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews101 for mac-sierra (2.42 MB, application/zip)
2018-05-25 19:20 PDT, EWS Watchlist
no flags Details
Archive of layout-test-results from ews125 for ios-simulator-wk2 (2.34 MB, application/zip)
2018-05-25 19:58 PDT, EWS Watchlist
no flags Details
Archive of layout-test-results from ews114 for mac-sierra (3.14 MB, application/zip)
2018-05-25 19:58 PDT, EWS Watchlist
no flags Details
Archive of layout-test-results from ews104 for mac-sierra-wk2 (2.85 MB, application/zip)
2018-05-25 21:55 PDT, EWS Watchlist
no flags Details
WIP (12.77 KB, patch)
2018-05-30 16:49 PDT, Myles C. Maxfield
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews100 for mac-sierra (2.42 MB, application/zip)
2018-05-30 18:19 PDT, EWS Watchlist
no flags Details
Archive of layout-test-results from ews121 for ios-simulator-wk2 (2.77 MB, application/zip)
2018-05-30 18:38 PDT, EWS Watchlist
no flags Details
Archive of layout-test-results from ews115 for mac-sierra (3.32 MB, application/zip)
2018-05-30 18:47 PDT, EWS Watchlist
no flags Details
Archive of layout-test-results from ews106 for mac-sierra-wk2 (3.40 MB, application/zip)
2018-05-30 18:48 PDT, EWS Watchlist
no flags Details
WIP (63.71 KB, patch)
2018-05-31 09:30 PDT, Myles C. Maxfield
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews101 for mac-sierra (2.56 MB, application/zip)
2018-05-31 10:22 PDT, EWS Watchlist
no flags Details
Archive of layout-test-results from ews104 for mac-sierra-wk2 (3.04 MB, application/zip)
2018-05-31 10:27 PDT, EWS Watchlist
no flags Details
Archive of layout-test-results from ews115 for mac-sierra (3.08 MB, application/zip)
2018-05-31 11:10 PDT, EWS Watchlist
no flags Details
Patch (66.39 KB, patch)
2018-05-31 17:39 PDT, Myles C. Maxfield
mitz: review-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Myles C. Maxfield 2018-05-25 00:46:18 PDT
Improve the performance of determining character boundaries in ComplexTextController
Comment 1 Myles C. Maxfield 2018-05-25 00:52:09 PDT
Created attachment 341258 [details]
Patch
Comment 2 Myles C. Maxfield 2018-05-25 00:53:30 PDT
Created attachment 341259 [details]
Patch
Comment 3 Myles C. Maxfield 2018-05-25 01:32:32 PDT
16x faster, not 4x faster.
Comment 4 EWS Watchlist 2018-05-25 02:01:00 PDT
Comment on attachment 341259 [details]
Patch

Attachment 341259 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/7797104

New failing tests:
fast/text/arabic-zwj-and-zwnj.html
Comment 5 EWS Watchlist 2018-05-25 02:01:02 PDT
Created attachment 341261 [details]
Archive of layout-test-results from ews103 for mac-sierra

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews103  Port: mac-sierra  Platform: Mac OS X 10.12.6
Comment 6 EWS Watchlist 2018-05-25 02:07:52 PDT
Comment on attachment 341259 [details]
Patch

Attachment 341259 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/7797112

New failing tests:
fast/text/arabic-zwj-and-zwnj.html
Comment 7 EWS Watchlist 2018-05-25 02:07:53 PDT
Created attachment 341263 [details]
Archive of layout-test-results from ews106 for mac-sierra-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106  Port: mac-sierra-wk2  Platform: Mac OS X 10.12.6
Comment 8 EWS Watchlist 2018-05-25 02:36:44 PDT
Comment on attachment 341259 [details]
Patch

Attachment 341259 [details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/7797137

New failing tests:
fast/text/arabic-zwj-and-zwnj.html
Comment 9 EWS Watchlist 2018-05-25 02:36:45 PDT
Created attachment 341265 [details]
Archive of layout-test-results from ews117 for mac-sierra

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews117  Port: mac-sierra  Platform: Mac OS X 10.12.6
Comment 10 Myles C. Maxfield 2018-05-25 13:49:51 PDT
The test is failing because createAndFillGlyphPage() maps zeroWidthNonJoiner (which GeezaPro supports) to zeroWidthSpace (which GeezaPro doesn't support)
Comment 11 Myles C. Maxfield 2018-05-25 18:09:00 PDT
Created attachment 341370 [details]
WIP
Comment 12 EWS Watchlist 2018-05-25 18:10:24 PDT
Attachment 341370 [details] did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:8:  You should remove the 'No new tests' and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 13 EWS Watchlist 2018-05-25 19:20:13 PDT
Comment on attachment 341370 [details]
WIP

Attachment 341370 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/7807537

New failing tests:
fast/text/arabic-zwj-and-zwnj.html
fast/text/format-control.html
Comment 14 EWS Watchlist 2018-05-25 19:20:15 PDT
Created attachment 341375 [details]
Archive of layout-test-results from ews101 for mac-sierra

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-sierra  Platform: Mac OS X 10.12.6
Comment 15 EWS Watchlist 2018-05-25 19:58:34 PDT
Comment on attachment 341370 [details]
WIP

Attachment 341370 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/7807676

New failing tests:
imported/blink/fast/text/international/zerowidthjoiner-should-not-render.html
Comment 16 EWS Watchlist 2018-05-25 19:58:36 PDT
Created attachment 341379 [details]
Archive of layout-test-results from ews125 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews125  Port: ios-simulator-wk2  Platform: Mac OS X 10.13.4
Comment 17 EWS Watchlist 2018-05-25 19:58:52 PDT
Comment on attachment 341370 [details]
WIP

Attachment 341370 [details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/7807721

New failing tests:
fast/text/arabic-zwj-and-zwnj.html
fast/text/format-control.html
Comment 18 EWS Watchlist 2018-05-25 19:58:53 PDT
Created attachment 341380 [details]
Archive of layout-test-results from ews114 for mac-sierra

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews114  Port: mac-sierra  Platform: Mac OS X 10.12.6
Comment 19 EWS Watchlist 2018-05-25 21:55:34 PDT
Comment on attachment 341370 [details]
WIP

Attachment 341370 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/7809084

New failing tests:
fast/text/arabic-zwj-and-zwnj.html
fast/text/format-control.html
Comment 20 EWS Watchlist 2018-05-25 21:55:36 PDT
Created attachment 341387 [details]
Archive of layout-test-results from ews104 for mac-sierra-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews104  Port: mac-sierra-wk2  Platform: Mac OS X 10.12.6
Comment 21 Myles C. Maxfield 2018-05-30 16:49:10 PDT
Created attachment 341622 [details]
WIP
Comment 22 EWS Watchlist 2018-05-30 16:51:27 PDT
Attachment 341622 [details] did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/Font.cpp:204:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/WebCore/platform/graphics/Font.cpp:205:  Should have a space between // and comment  [whitespace/comments] [4]
Total errors found: 2 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 23 EWS Watchlist 2018-05-30 18:19:18 PDT
Comment on attachment 341622 [details]
WIP

Attachment 341622 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/7881306

New failing tests:
fast/text/arabic-zwj-and-zwnj.html
fast/text/format-control.html
Comment 24 EWS Watchlist 2018-05-30 18:19:20 PDT
Created attachment 341630 [details]
Archive of layout-test-results from ews100 for mac-sierra

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews100  Port: mac-sierra  Platform: Mac OS X 10.12.6
Comment 25 EWS Watchlist 2018-05-30 18:38:56 PDT
Comment on attachment 341622 [details]
WIP

Attachment 341622 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/7881004

New failing tests:
imported/blink/fast/text/international/zerowidthjoiner-should-not-render.html
Comment 26 EWS Watchlist 2018-05-30 18:38:57 PDT
Created attachment 341632 [details]
Archive of layout-test-results from ews121 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews121  Port: ios-simulator-wk2  Platform: Mac OS X 10.13.4
Comment 27 EWS Watchlist 2018-05-30 18:47:41 PDT
Comment on attachment 341622 [details]
WIP

Attachment 341622 [details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/7881340

New failing tests:
fast/text/arabic-zwj-and-zwnj.html
fast/text/format-control.html
Comment 28 EWS Watchlist 2018-05-30 18:47:42 PDT
Created attachment 341634 [details]
Archive of layout-test-results from ews115 for mac-sierra

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews115  Port: mac-sierra  Platform: Mac OS X 10.12.6
Comment 29 EWS Watchlist 2018-05-30 18:48:57 PDT
Comment on attachment 341622 [details]
WIP

Attachment 341622 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/7881757

New failing tests:
fast/text/arabic-zwj-and-zwnj.html
fast/text/format-control.html
Comment 30 EWS Watchlist 2018-05-30 18:48:59 PDT
Created attachment 341635 [details]
Archive of layout-test-results from ews106 for mac-sierra-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106  Port: mac-sierra-wk2  Platform: Mac OS X 10.12.6
Comment 31 Myles C. Maxfield 2018-05-31 09:30:47 PDT
Created attachment 341667 [details]
WIP
Comment 32 EWS Watchlist 2018-05-31 09:32:35 PDT
Attachment 341667 [details] did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:8:  You should remove the 'No new tests' and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 33 EWS Watchlist 2018-05-31 10:22:28 PDT
Comment on attachment 341667 [details]
WIP

Attachment 341667 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/7901053

New failing tests:
fast/text/soft-hyphen-min-preferred-width.html
Comment 34 EWS Watchlist 2018-05-31 10:22:29 PDT
Created attachment 341670 [details]
Archive of layout-test-results from ews101 for mac-sierra

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-sierra  Platform: Mac OS X 10.12.6
Comment 35 EWS Watchlist 2018-05-31 10:27:33 PDT
Comment on attachment 341667 [details]
WIP

Attachment 341667 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/7901054

New failing tests:
fast/text/soft-hyphen-min-preferred-width.html
Comment 36 EWS Watchlist 2018-05-31 10:27:34 PDT
Created attachment 341671 [details]
Archive of layout-test-results from ews104 for mac-sierra-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews104  Port: mac-sierra-wk2  Platform: Mac OS X 10.12.6
Comment 37 EWS Watchlist 2018-05-31 11:10:45 PDT
Comment on attachment 341667 [details]
WIP

Attachment 341667 [details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/7901547

New failing tests:
fast/text/soft-hyphen-min-preferred-width.html
Comment 38 EWS Watchlist 2018-05-31 11:10:47 PDT
Created attachment 341675 [details]
Archive of layout-test-results from ews115 for mac-sierra

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews115  Port: mac-sierra  Platform: Mac OS X 10.12.6
Comment 39 Myles C. Maxfield 2018-05-31 17:39:13 PDT
Created attachment 341718 [details]
Patch
Comment 40 Myles C. Maxfield 2018-05-31 17:39:36 PDT
<rdar://problem/37912480>
Comment 41 mitz 2018-05-31 19:54:14 PDT
Comment on attachment 341718 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=341718&action=review

> LayoutTests/ChangeLog:14
> +        * platform/mac/fast/text/format-control-expected.png:
> +        * platform/mac/fast/text/format-control-expected.txt: Rebaseline.

This test is regressing! For example, the presence of a zero-width non-joiner is no longer preventing the fi ligature from forming on the second line.
Comment 42 mitz 2018-05-31 19:55:22 PDT
Comment on attachment 341718 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=341718&action=review

> Source/WebCore/platform/graphics/Font.cpp:-203
> -        overwriteCodePoint(leftToRightMark, zeroWidthSpace);
> -        overwriteCodePoint(rightToLeftMark, zeroWidthSpace);
> -        overwriteCodePoint(leftToRightEmbed, zeroWidthSpace);
> -        overwriteCodePoint(rightToLeftEmbed, zeroWidthSpace);
> -        overwriteCodePoint(leftToRightOverride, zeroWidthSpace);
> -        overwriteCodePoint(rightToLeftOverride, zeroWidthSpace);
> -        overwriteCodePoint(leftToRightIsolate, zeroWidthSpace);
> -        overwriteCodePoint(rightToLeftIsolate, zeroWidthSpace);

I think this may regress behavior with fonts that have glyphs for these control characters (I think Arial Unicode from Microsoft is an example of that).
Comment 43 Myles C. Maxfield 2023-09-14 06:27:04 PDT

*** This bug has been marked as a duplicate of bug 175778 ***