RESOLVED FIXED Bug 140015
Remove GlyphPageTree
https://bugs.webkit.org/show_bug.cgi?id=140015
Summary Remove GlyphPageTree
Antti Koivisto
Reported 2014-12-31 09:02:06 PST
This arcane data structure maps characters to glyphs taking font fallbacks into account. We can replace it with a simpler and more efficient caching scheme.
Attachments
wip (31.86 KB, patch)
2014-12-31 09:09 PST, Antti Koivisto
no flags
wip2 (33.54 KB, patch)
2014-12-31 09:31 PST, Antti Koivisto
buildbot: commit-queue-
Archive of layout-test-results from ews106 for mac-mountainlion-wk2 (1.04 MB, application/zip)
2014-12-31 10:29 PST, Build Bot
no flags
Archive of layout-test-results from ews102 for mac-mountainlion (1.06 MB, application/zip)
2014-12-31 10:29 PST, Build Bot
no flags
wip3 (80.13 KB, patch)
2015-01-02 07:53 PST, Antti Koivisto
no flags
wip4 (99.81 KB, patch)
2015-01-02 08:07 PST, Antti Koivisto
buildbot: commit-queue-
Archive of layout-test-results from ews103 for mac-mountainlion (331.78 KB, application/zip)
2015-01-02 08:58 PST, Build Bot
no flags
Archive of layout-test-results from ews107 for mac-mountainlion-wk2 (343.07 KB, application/zip)
2015-01-02 09:00 PST, Build Bot
no flags
patch (103.09 KB, patch)
2015-01-02 09:11 PST, Antti Koivisto
buildbot: commit-queue-
Archive of layout-test-results from ews101 for mac-mountainlion (787.02 KB, application/zip)
2015-01-02 10:18 PST, Build Bot
no flags
patch (106.75 KB, patch)
2015-01-02 10:20 PST, Antti Koivisto
no flags
patch (113.84 KB, patch)
2015-01-02 11:11 PST, Antti Koivisto
darin: review+
buildbot: commit-queue-
Archive of layout-test-results from ews104 for mac-mountainlion-wk2 (526.40 KB, application/zip)
2015-01-02 12:15 PST, Build Bot
no flags
patch (115.64 KB, patch)
2015-01-03 04:37 PST, Antti Koivisto
buildbot: commit-queue-
Archive of layout-test-results from ews102 for mac-mountainlion (1.26 MB, application/zip)
2015-01-03 05:41 PST, Build Bot
no flags
Archive of layout-test-results from ews107 for mac-mountainlion-wk2 (1.05 MB, application/zip)
2015-01-03 05:41 PST, Build Bot
no flags
another (117.09 KB, patch)
2015-01-04 07:57 PST, Antti Koivisto
no flags
Antti Koivisto
Comment 1 2014-12-31 09:09:37 PST
WebKit Commit Bot
Comment 2 2014-12-31 09:12:13 PST
Attachment 243844 [details] did not pass style-queue: ERROR: Source/WebCore/platform/graphics/SimpleFontData.cpp:196: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/WebCore/platform/graphics/SimpleFontData.cpp:255: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] Total errors found: 2 in 10 files If any of these errors are false positives, please file a bug against check-webkit-style.
Antti Koivisto
Comment 3 2014-12-31 09:31:20 PST
WebKit Commit Bot
Comment 4 2014-12-31 09:32:14 PST
Attachment 243846 [details] did not pass style-queue: ERROR: Source/WebCore/platform/graphics/SimpleFontData.cpp:196: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/WebCore/platform/graphics/SimpleFontData.cpp:255: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] Total errors found: 2 in 12 files If any of these errors are false positives, please file a bug against check-webkit-style.
Build Bot
Comment 5 2014-12-31 10:28:57 PST
Comment on attachment 243846 [details] wip2 Attachment 243846 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/5704538879164416 New failing tests: fast/css/font-face-unicode-range.html editing/deleting/5144139-2.html http/tests/webfont/fallback-font-while-loading.html fast/css/font-face-multiple-ranges-for-unicode-range.html svg/custom/svg-fonts-segmented.xhtml fast/css/font-face-implicit-local-font.html transforms/2d/hindi-rotated.html fast/css/font-face-download-error.html fast/css/font-face-locally-installed.html svg/custom/glyph-selection-non-bmp.svg svg/custom/glyph-selection-bidi-mirror.svg svg/custom/glyph-selection-arabic-forms.svg
Build Bot
Comment 6 2014-12-31 10:29:01 PST
Created attachment 243848 [details] Archive of layout-test-results from ews106 for mac-mountainlion-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews106 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Build Bot
Comment 7 2014-12-31 10:29:07 PST
Comment on attachment 243846 [details] wip2 Attachment 243846 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/5125486556479488 New failing tests: fast/css/font-face-unicode-range.html editing/deleting/5144139-2.html http/tests/webfont/fallback-font-while-loading.html fast/css/font-face-multiple-ranges-for-unicode-range.html svg/custom/svg-fonts-segmented.xhtml fast/css/font-face-implicit-local-font.html transforms/2d/hindi-rotated.html fast/css/font-face-download-error.html fast/css/font-face-locally-installed.html svg/custom/glyph-selection-non-bmp.svg svg/custom/glyph-selection-bidi-mirror.svg svg/custom/glyph-selection-arabic-forms.svg
Build Bot
Comment 8 2014-12-31 10:29:11 PST
Created attachment 243849 [details] Archive of layout-test-results from ews102 for mac-mountainlion The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews102 Port: mac-mountainlion Platform: Mac OS X 10.8.5
Myles C. Maxfield
Comment 9 2014-12-31 21:46:22 PST
Woah.
Antti Koivisto
Comment 10 2015-01-02 07:53:55 PST
WebKit Commit Bot
Comment 11 2015-01-02 07:55:11 PST
Attachment 243889 [details] did not pass style-queue: ERROR: Source/WebCore/platform/graphics/SimpleFontData.cpp:196: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/WebCore/platform/graphics/SimpleFontData.cpp:255: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] Total errors found: 2 in 18 files If any of these errors are false positives, please file a bug against check-webkit-style.
Antti Koivisto
Comment 12 2015-01-02 08:07:40 PST
WebKit Commit Bot
Comment 13 2015-01-02 08:10:29 PST
Attachment 243890 [details] did not pass style-queue: ERROR: Source/WebCore/platform/graphics/mac/GlyphPageMac.cpp:84: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] ERROR: Source/WebCore/platform/graphics/SimpleFontData.cpp:196: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/WebCore/platform/graphics/SimpleFontData.cpp:255: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] Total errors found: 3 in 19 files If any of these errors are false positives, please file a bug against check-webkit-style.
Build Bot
Comment 14 2015-01-02 08:58:29 PST
Comment on attachment 243890 [details] wip4 Attachment 243890 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/5070704785489920 Number of test failures exceeded the failure limit.
Build Bot
Comment 15 2015-01-02 08:58:34 PST
Created attachment 243892 [details] Archive of layout-test-results from ews103 for mac-mountainlion The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews103 Port: mac-mountainlion Platform: Mac OS X 10.8.5
Build Bot
Comment 16 2015-01-02 09:00:35 PST
Comment on attachment 243890 [details] wip4 Attachment 243890 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/6574334583767040 Number of test failures exceeded the failure limit.
Build Bot
Comment 17 2015-01-02 09:00:47 PST
Created attachment 243893 [details] Archive of layout-test-results from ews107 for mac-mountainlion-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Antti Koivisto
Comment 18 2015-01-02 09:11:12 PST
WebKit Commit Bot
Comment 19 2015-01-02 09:21:11 PST
Attachment 243894 [details] did not pass style-queue: ERROR: Source/WebCore/platform/graphics/mac/GlyphPageMac.cpp:84: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] ERROR: Source/WebCore/platform/graphics/SimpleFontData.cpp:196: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/WebCore/platform/graphics/SimpleFontData.cpp:255: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] Total errors found: 3 in 22 files If any of these errors are false positives, please file a bug against check-webkit-style.
Build Bot
Comment 20 2015-01-02 10:18:11 PST
Comment on attachment 243894 [details] patch Attachment 243894 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/6376431214919680 New failing tests: http/tests/webfont/fallback-font-while-loading.html
Build Bot
Comment 21 2015-01-02 10:18:16 PST
Created attachment 243898 [details] Archive of layout-test-results from ews101 for mac-mountainlion The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews101 Port: mac-mountainlion Platform: Mac OS X 10.8.5
Antti Koivisto
Comment 22 2015-01-02 10:20:40 PST
WebKit Commit Bot
Comment 23 2015-01-02 10:22:01 PST
Attachment 243900 [details] did not pass style-queue: ERROR: Source/WebCore/platform/graphics/mac/GlyphPageMac.cpp:84: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] ERROR: Source/WebCore/platform/graphics/SimpleFontData.cpp:198: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/WebCore/platform/graphics/SimpleFontData.cpp:260: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/WebKit2/WebProcess/WebProcess.cpp:73: Alphabetical sorting problem. [build/include_order] [4] Total errors found: 4 in 24 files If any of these errors are false positives, please file a bug against check-webkit-style.
Antti Koivisto
Comment 24 2015-01-02 11:11:55 PST
WebKit Commit Bot
Comment 25 2015-01-02 11:14:22 PST
Attachment 243903 [details] did not pass style-queue: ERROR: Source/WebCore/platform/graphics/SimpleFontData.cpp:198: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/WebCore/platform/graphics/SimpleFontData.cpp:260: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] Total errors found: 2 in 26 files If any of these errors are false positives, please file a bug against check-webkit-style.
Build Bot
Comment 26 2015-01-02 12:15:19 PST
Comment on attachment 243903 [details] patch Attachment 243903 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/6568718511374336 New failing tests: mathml/opentype/munderover-layout-resize.html
Build Bot
Comment 27 2015-01-02 12:15:26 PST
Created attachment 243907 [details] Archive of layout-test-results from ews104 for mac-mountainlion-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews104 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Darin Adler
Comment 28 2015-01-02 14:04:36 PST
Comment on attachment 243903 [details] patch Any concern about the test failures?
Antti Koivisto
Comment 29 2015-01-02 14:39:36 PST
Yeah, looks related. Can't repro locally easily. I'll figure it out before landing. Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x00000000000004c8 CRASHING TEST: mathml/opentype/munderover-layout-resize.html Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 com.apple.WebCore 0x000000010c33d358 WebCore::RenderMathMLOperator::advanceForGlyph(WebCore::GlyphData const&) const + 24 (SimpleFontData.h:165) 1 com.apple.WebCore 0x000000010c33c92e WebCore::RenderMathMLOperator::updateStyle() + 446 (RenderMathMLOperator.h:68) 2 com.apple.WebCore 0x000000010c33ea87 WebCore::RenderMathMLOperator::rebuildTokenContent(WTF::String const&) + 343 (RenderObject.h:943) 3 com.apple.WebCore 0x000000010c33b88f WebCore::RenderMathMLOperator::RenderMathMLOperator(WebCore::MathMLElement&, WTF::Ref<WebCore::RenderStyle>&&) + 207 (RefPtr.h:59) 4 com.apple.WebCore 0x000000010c1afba5 WebCore::MathMLTextElement::createElementRenderer(WTF::Ref<WebCore::RenderStyle>&&) + 133 (RenderPtr.h:158)
Antti Koivisto
Comment 30 2015-01-02 15:15:56 PST
That's a clean null despite the high offset.
Antti Koivisto
Comment 31 2015-01-03 04:37:57 PST
WebKit Commit Bot
Comment 32 2015-01-03 04:39:52 PST
Attachment 243914 [details] did not pass style-queue: ERROR: Source/WebCore/platform/graphics/SimpleFontData.cpp:203: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/WebCore/platform/graphics/SimpleFontData.cpp:262: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] Total errors found: 2 in 26 files If any of these errors are false positives, please file a bug against check-webkit-style.
Build Bot
Comment 33 2015-01-03 05:41:29 PST
Comment on attachment 243914 [details] patch Attachment 243914 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/5378610990940160 New failing tests: fast/css/font-face-implicit-local-font.html fast/css/font-face-weight-matching.html fast/css/font-face-multiple-ranges-for-unicode-range.html fast/css/font-face-multiple-faces.html fast/css/font-face-unicode-range.html fast/css/font-face-in-media-rule.html fast/css/font-face-default-font.html svg/custom/font-face-cascade-order.svg fast/css/font-face-download-error.html fast/css/font-face-locally-installed.html
Build Bot
Comment 34 2015-01-03 05:41:34 PST
Created attachment 243915 [details] Archive of layout-test-results from ews102 for mac-mountainlion The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews102 Port: mac-mountainlion Platform: Mac OS X 10.8.5
Build Bot
Comment 35 2015-01-03 05:41:40 PST
Comment on attachment 243914 [details] patch Attachment 243914 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/6236357164793856 New failing tests: fast/css/font-face-implicit-local-font.html fast/css/font-face-multiple-faces.html fast/css/font-face-multiple-ranges-for-unicode-range.html fast/css/font-face-weight-matching.html fast/css/font-face-unicode-range.html fast/css/font-face-in-media-rule.html fast/css/font-face-default-font.html svg/custom/font-face-cascade-order.svg fast/css/font-face-download-error.html fast/css/font-face-locally-installed.html
Build Bot
Comment 36 2015-01-03 05:41:45 PST
Created attachment 243916 [details] Archive of layout-test-results from ews107 for mac-mountainlion-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Antti Koivisto
Comment 37 2015-01-04 07:57:36 PST
WebKit Commit Bot
Comment 38 2015-01-04 07:59:13 PST
Attachment 243929 [details] did not pass style-queue: ERROR: Source/WebCore/platform/graphics/SimpleFontData.cpp:203: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/WebCore/platform/graphics/SimpleFontData.cpp:263: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] Total errors found: 2 in 26 files If any of these errors are false positives, please file a bug against check-webkit-style.
Antti Koivisto
Comment 39 2015-01-04 13:26:48 PST
Antti Koivisto
Comment 40 2015-01-04 15:39:07 PST
Antti Koivisto
Comment 41 2015-01-04 15:41:14 PST
Alexey Proskuryakov
Comment 42 2015-01-04 16:19:25 PST
This broke another test on bots: fonts/font-fallback-prefers-pictographs.html WE are actually getting the wrong glyph, see https://build.webkit.org/results/Apple%20MountainLion%20Release%20WK2%20(Tests)/r177878%20(23244)/fonts/font-fallback-prefers-pictographs-diffs.html
Alexey Proskuryakov
Comment 43 2015-01-04 16:21:18 PST
And by "this", I mean the latest follow-up, r177878.
Antti Koivisto
Comment 44 2015-01-04 16:47:11 PST
Note You need to log in before you can comment on or make changes to this bug.