Changeset 228697 in webkit
- Timestamp:
- Feb 19, 2018 10:47:30 AM (6 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r228694 r228697 1 2018-02-19 Tim Horton <timothy_horton@apple.com> 2 3 Increase text autosizing constants for extra zoom mode 4 https://bugs.webkit.org/show_bug.cgi?id=182919 5 <rdar://problem/37671259> 6 7 Reviewed by Wenson Hsieh. 8 9 * page/Settings.yaml: 10 * page/SettingsBase.cpp: 11 (WebCore::SettingsBase::defaultMinimumZoomFontSize): 12 (WebCore::SettingsBase::defaultOneLineTextMultiplierCoefficient): 13 (WebCore::SettingsBase::defaultMultiLineTextMultiplierCoefficient): 14 (WebCore::SettingsBase::defaultMaxTextAutosizingScaleIncrease): 15 * page/SettingsBase.h: 16 * rendering/RenderBlockFlow.cpp: 17 (WebCore::oneLineTextMultiplier): 18 (WebCore::textMultiplier): 19 (WebCore::RenderBlockFlow::adjustComputedFontSizes): 20 * rendering/TextAutoSizing.cpp: 21 (WebCore::TextAutoSizingValue::adjustTextNodeSizes): 22 Make autosizing constants settings, and change their default values. 23 1 24 2018-02-17 Antoine Quint <graouts@apple.com> 2 25 -
trunk/Source/WebCore/page/Settings.yaml
r228486 r228697 712 712 conditional: TOUCH_EVENTS 713 713 714 oneLineTextMultiplierCoefficient: 715 type: float 716 initial: defaultOneLineTextMultiplierCoefficient() 717 conditional: TEXT_AUTOSIZING 718 719 multiLineTextMultiplierCoefficient: 720 type: float 721 initial: defaultMultiLineTextMultiplierCoefficient() 722 conditional: TEXT_AUTOSIZING 723 724 maxTextAutosizingScaleIncrease: 725 type: float 726 initial: defaultMaxTextAutosizingScaleIncrease() 727 conditional: TEXT_AUTOSIZING 728 714 729 mediaCapabilitiesEnabled: 715 730 initial: false -
trunk/Source/WebCore/page/SettingsBase.cpp
r223728 r228697 80 80 float SettingsBase::defaultMinimumZoomFontSize() 81 81 { 82 #if ENABLE(EXTRA_ZOOM_MODE) 83 return 30; 84 #else 82 85 return 15; 86 #endif 83 87 } 84 88 … … 89 93 } 90 94 #endif 95 96 float SettingsBase::defaultOneLineTextMultiplierCoefficient() 97 { 98 #if ENABLE(EXTRA_ZOOM_MODE) 99 return 2.23125f; 100 #else 101 return 1.7f; 102 #endif 103 } 104 105 float SettingsBase::defaultMultiLineTextMultiplierCoefficient() 106 { 107 #if ENABLE(EXTRA_ZOOM_MODE) 108 return 2.48125f; 109 #else 110 return 1.95f; 111 #endif 112 } 113 114 float SettingsBase::defaultMaxTextAutosizingScaleIncrease() 115 { 116 #if ENABLE(EXTRA_ZOOM_MODE) 117 return 5.0f; 118 #else 119 return 1.7f; 120 #endif 121 } 91 122 92 123 #if !PLATFORM(COCOA) -
trunk/Source/WebCore/page/SettingsBase.h
r228218 r228697 115 115 WEBCORE_EXPORT static bool defaultTextAutosizingEnabled(); 116 116 WEBCORE_EXPORT static float defaultMinimumZoomFontSize(); 117 WEBCORE_EXPORT static float defaultOneLineTextMultiplierCoefficient(); 118 WEBCORE_EXPORT static float defaultMultiLineTextMultiplierCoefficient(); 119 WEBCORE_EXPORT static float defaultMaxTextAutosizingScaleIncrease(); 117 120 118 121 static const unsigned defaultMaximumHTMLParserDOMTreeDepth = 512; -
trunk/Source/WebCore/rendering/RenderBlockFlow.cpp
r228595 r228697 3725 3725 } 3726 3726 3727 // For now, we auto size single lines of text the same as multiple lines. 3728 // We've been experimenting with low values for single lines of text. 3729 static inline float oneLineTextMultiplier(float specifiedSize) 3730 { 3731 return std::max((1.0f / log10f(specifiedSize) * 1.7f), 1.0f); 3732 } 3733 3734 static inline float textMultiplier(float specifiedSize) 3735 { 3736 return std::max((1.0f / log10f(specifiedSize) * 1.95f), 1.0f); 3727 // For now, we auto size single lines of text the same as multiple lines. 3728 // We've been experimenting with low values for single lines of text. 3729 static inline float oneLineTextMultiplier(RenderObject& renderer, float specifiedSize) 3730 { 3731 const float coefficient = renderer.settings().oneLineTextMultiplierCoefficient(); 3732 return std::max((1.0f / log10f(specifiedSize) * coefficient), 1.0f); 3733 } 3734 3735 static inline float textMultiplier(RenderObject& renderer, float specifiedSize) 3736 { 3737 const float coefficient = renderer.settings().multiLineTextMultiplierCoefficient(); 3738 return std::max((1.0f / log10f(specifiedSize) * coefficient), 1.0f); 3737 3739 } 3738 3740 … … 3788 3790 m_widthForTextAutosizing = actualWidth; 3789 3791 3790 float lineTextMultiplier = lineCount == ONE_LINE ? oneLineTextMultiplier( specifiedSize) : textMultiplier(specifiedSize);3792 float lineTextMultiplier = lineCount == ONE_LINE ? oneLineTextMultiplier(text, specifiedSize) : textMultiplier(text, specifiedSize); 3791 3793 float candidateNewSize = roundf(std::min(minFontSize, specifiedSize * lineTextMultiplier)); 3792 3794 if (candidateNewSize > specifiedSize && candidateNewSize != fontDescription.computedSize() && text.textNode() && oldStyle.textSizeAdjust().isAuto()) -
trunk/Source/WebCore/rendering/TextAutoSizing.cpp
r226179 r228697 38 38 #include "RenderTextFragment.h" 39 39 #include "RenderTreeBuilder.h" 40 #include "Settings.h" 40 41 #include "StyleResolver.h" 41 42 … … 68 69 m_autoSizedNodes.add(&node); 69 70 } 70 71 static const float maxScaleIncrease = 1.7f;72 71 73 72 auto TextAutoSizingValue::adjustTextNodeSizes() -> StillHasNodes … … 109 108 110 109 float specifiedSize = renderer.style().fontDescription().specifiedSize(); 110 float maxScaleIncrease = renderer.settings().maxTextAutosizingScaleIncrease(); 111 111 float scaleChange = averageSize / specifiedSize; 112 112 if (scaleChange > maxScaleIncrease && firstPass) {
Note: See TracChangeset
for help on using the changeset viewer.