Changeset 147156 in webkit
- Timestamp:
- Mar 28, 2013 2:03:44 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r147155 r147156 1 2013-03-28 Levi Weintraub <leviw@chromium.org> 2 3 Disable font measurement optimization for Chromium-mac when there are font-feature-settings. 4 5 Enable measure-once optimization on Chromium-Mac 6 https://bugs.webkit.org/show_bug.cgi?id=113243 7 8 Reviewed by Eric Seidel. 9 10 * fast/text/shaping/shaping-selection-rect.html: Adding a small-caps case to prevent regressing 11 due to https://bugs.webkit.org/show_bug.cgi?id=113418. 12 1 13 2013-03-28 Zoltan Horvath <zoltan@webkit.org> 2 14 -
trunk/LayoutTests/fast/text/shaping/shaping-selection-rect.html
r122562 r147156 2 2 <head> 3 3 <style> 4 #target{4 div { 5 5 font-family: "times new roman"; /* non AAT font on mac */ 6 } 7 span { 8 direction: rtl; 9 unicode-bidi: bidi-override; 10 } 11 #kerning { 6 12 -webkit-font-feature-settings: 'kern'; 7 }; 13 } 14 #smallcaps { 15 -webkit-font-feature-settings: 'smcp'; 16 } 8 17 </style> 9 18 <script> 10 19 function test() 11 20 { 12 var targetText = document.getElementById("target").firstChild; 13 window.getSelection().setBaseAndExtent(target, 0, target, 9); 21 var start = document.getElementById("kerning").firstChild; 22 var end = document.getElementById("smallcaps").lastChild; 23 window.getSelection().setBaseAndExtent(start, 0, end, 3); 14 24 } 15 25 </script> 16 26 </head> 17 27 <body onload="test()"> 18 <p>The selection should cover the all of the below text. There should be no blank between C and F. 19 <div id="target"> 20 ABC<span style="direction: rtl; unicode-bidi: bidi-override;">DEF</span>GHI 28 <p>The selection should cover the all of the below text. There should be no blank between either C and F. 29 <div id="kerning"> 30 ABC<span>DEF</span>GHI 31 </div> 32 <div id="smallcaps"> 33 ABC<span>DEF</span>GHI 21 34 </div> 22 35 </body> -
trunk/LayoutTests/platform/chromium/TestExpectations
r147149 r147156 3764 3764 webkit.org/b/112369 [ Debug ] inspector/debugger/pause-in-inline-script.html [ Pass Crash Timeout ] 3765 3765 3766 # Needs rebaseline on all platforms 3767 Bug(leviw) fast/text/shaping/shaping-selection-rect.html [ Failure ] 3768 3766 3769 # Flaky tests 3767 3770 webkit.org/b/112598 [ Win Mac Linux ] http/tests/security/mixedContent/insecure-audio-video-in-main-frame.html [ Failure Pass ] -
trunk/Source/WebCore/ChangeLog
r147155 r147156 1 2013-03-28 Levi Weintraub <leviw@chromium.org> 2 3 Enable font measurement optimization for Chromium-mac when there are no font-feature-settings. 4 5 Enable measure-once optimization on Chromium-Mac 6 https://bugs.webkit.org/show_bug.cgi?id=113243 7 8 Reviewed by Eric Seidel. 9 10 Bugs in Chromium-mac's -webkit-font-feature-settings support prevented us from enabling the 11 optimization when it was enabled for all other platforms. This was believed to be related to 12 kerning, but the bug shows up when there are any font-feature-settings specified. For now, 13 optimizing the common case and only turning off the optimization when there are font-feature- 14 settings in play. 15 16 Updated test fast/text/shaping/shaping-selection-rect.html to avoid breaking due to 17 https://bugs.webkit.org/show_bug.cgi?id=113418 18 19 * rendering/RenderBlockLineLayout.cpp: 20 (WebCore::setLogicalWidthForTextRun): 21 1 22 2013-03-28 Zoltan Horvath <zoltan@webkit.org> 2 23 -
trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp
r147155 r147156 785 785 GlyphOverflowAndFallbackFontsMap& textBoxDataMap, VerticalPositionCache& verticalPositionCache, WordMeasurements& wordMeasurements) 786 786 { 787 #if !(PLATFORM(CHROMIUM) && OS(DARWIN))788 UNUSED_PARAM(wordMeasurements);789 #endif790 787 HashSet<const SimpleFontData*> fallbackFonts; 791 788 GlyphOverflow glyphOverflow; … … 813 810 float measuredWidth = 0; 814 811 815 #if !(PLATFORM(CHROMIUM) && OS(DARWIN))816 812 bool kerningIsEnabled = font.typesettingFeatures() & Kerning; 813 814 #if PLATFORM(CHROMIUM) && OS(DARWIN) 815 // FIXME: Having any font feature settings enabled can lead to selection gaps on 816 // Chromium-mac. https://bugs.webkit.org/show_bug.cgi?id=113418 817 bool canUseSimpleFontCodePath = renderer->canUseSimpleFontCodePath() && !font.fontDescription().featureSettings(); 818 #else 819 bool canUseSimpleFontCodePath = renderer->canUseSimpleFontCodePath(); 820 #endif 817 821 818 822 // Since we don't cache glyph overflows, we need to re-measure the run if 819 823 // the style is linebox-contain: glyph. 820 824 821 if (!lineBox->fitsToGlyphs() && renderer->canUseSimpleFontCodePath()) {825 if (!lineBox->fitsToGlyphs() && canUseSimpleFontCodePath) { 822 826 int lastEndOffset = run->m_start; 823 827 for (size_t i = 0, size = wordMeasurements.size(); i < size && lastEndOffset < run->m_stop; ++i) { … … 848 852 } 849 853 } 850 #endif851 854 852 855 if (!measuredWidth)
Note: See TracChangeset
for help on using the changeset viewer.