Changeset 49837 in webkit
- Timestamp:
- Oct 19, 2009 9:37:09 PM (15 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r49836 r49837 1 2009-10-19 Jungshik Shin <jshin@chromium.org> 2 3 Reviewed by Eric Seidel. 4 5 https://bugs.webkit.org/show_bug.cgi?id=20797 6 7 Make generic font family getters/setters accept an additional 8 argument (script code). It has a default value so that if an embedder 9 does not have/want a per-script font family setting, call-sites 10 don't have to be changed. 11 This is to prepare for fixing bug 10874 (font selection is not 12 language-dependent) and bug 18085. 13 14 There should be no change in layout and no new layout test 15 is added. 16 17 * WebCore.base.exp: 18 * page/Settings.cpp: 19 * page/Settings.h: 20 * platform/text/UScriptCode.h: Added. This is for ports that 21 do not use ICU. the part of ICU's common/unicode/uscript.h 22 that defines script code enum was copied. To keep enums compatible 23 with those in ICU, we don't generate the list out of Scripts.txt 24 of the Unicode Data base or CLDR's data. 25 1 26 2009-10-19 Evan Stade <estade@chromium.org> 2 27 -
trunk/WebCore/page/Settings.cpp
r49769 r49837 43 43 for (Frame* frame = page->mainFrame(); frame; frame = frame->tree()->traverseNext()) 44 44 frame->setNeedsReapplyStyles(); 45 } 46 47 static inline void setGenericFontFamilyMap(ScriptFontFamilyMap& fontMap, const AtomicString& family, UScriptCode script, Page* page) 48 { 49 if (fontMap.set(static_cast<int>(script), family).second) 50 setNeedsReapplyStylesInAllFrames(page); 51 } 52 53 static inline const AtomicString& getGenericFontFamilyForScript(const ScriptFontFamilyMap& fontMap, UScriptCode script) 54 { 55 ScriptFontFamilyMap::const_iterator it = fontMap.find(static_cast<int>(script)); 56 if (it != fontMap.end()) 57 return it->second; 58 return emptyAtom; 45 59 } 46 60 … … 130 144 } 131 145 132 void Settings::setStandardFontFamily(const AtomicString& standardFontFamily) 133 { 134 if (standardFontFamily == m_standardFontFamily) 135 return; 136 137 m_standardFontFamily = standardFontFamily; 138 setNeedsReapplyStylesInAllFrames(m_page); 139 } 140 141 void Settings::setFixedFontFamily(const AtomicString& fixedFontFamily) 142 { 143 if (m_fixedFontFamily == fixedFontFamily) 144 return; 145 146 m_fixedFontFamily = fixedFontFamily; 147 setNeedsReapplyStylesInAllFrames(m_page); 148 } 149 150 void Settings::setSerifFontFamily(const AtomicString& serifFontFamily) 151 { 152 if (m_serifFontFamily == serifFontFamily) 153 return; 154 155 m_serifFontFamily = serifFontFamily; 156 setNeedsReapplyStylesInAllFrames(m_page); 157 } 158 159 void Settings::setSansSerifFontFamily(const AtomicString& sansSerifFontFamily) 160 { 161 if (m_sansSerifFontFamily == sansSerifFontFamily) 162 return; 163 164 m_sansSerifFontFamily = sansSerifFontFamily; 165 setNeedsReapplyStylesInAllFrames(m_page); 166 } 167 168 void Settings::setCursiveFontFamily(const AtomicString& cursiveFontFamily) 169 { 170 if (m_cursiveFontFamily == cursiveFontFamily) 171 return; 172 173 m_cursiveFontFamily = cursiveFontFamily; 174 setNeedsReapplyStylesInAllFrames(m_page); 175 } 176 177 void Settings::setFantasyFontFamily(const AtomicString& fantasyFontFamily) 178 { 179 if (m_fantasyFontFamily == fantasyFontFamily) 180 return; 181 182 m_fantasyFontFamily = fantasyFontFamily; 183 setNeedsReapplyStylesInAllFrames(m_page); 146 const AtomicString& Settings::standardFontFamily(UScriptCode script) const 147 { 148 return getGenericFontFamilyForScript(m_standardFontFamilyMap, script); 149 } 150 151 void Settings::setStandardFontFamily(const AtomicString& family, UScriptCode script) 152 { 153 setGenericFontFamilyMap(m_standardFontFamilyMap, family, script, m_page); 154 } 155 156 const AtomicString& Settings::fixedFontFamily(UScriptCode script) const 157 { 158 return getGenericFontFamilyForScript(m_fixedFontFamilyMap, script); 159 } 160 161 void Settings::setFixedFontFamily(const AtomicString& family, UScriptCode script) 162 { 163 setGenericFontFamilyMap(m_fixedFontFamilyMap, family, script, m_page); 164 } 165 166 const AtomicString& Settings::serifFontFamily(UScriptCode script) const 167 { 168 return getGenericFontFamilyForScript(m_serifFontFamilyMap, script); 169 } 170 171 void Settings::setSerifFontFamily(const AtomicString& family, UScriptCode script) 172 { 173 setGenericFontFamilyMap(m_serifFontFamilyMap, family, script, m_page); 174 } 175 176 const AtomicString& Settings::sansSerifFontFamily(UScriptCode script) const { 177 return getGenericFontFamilyForScript(m_sansSerifFontFamilyMap, script); 178 } 179 180 void Settings::setSansSerifFontFamily(const AtomicString& family, UScriptCode script) 181 { 182 setGenericFontFamilyMap(m_sansSerifFontFamilyMap, family, script, m_page); 183 } 184 185 const AtomicString& Settings::cursiveFontFamily(UScriptCode script) const 186 { 187 return getGenericFontFamilyForScript(m_cursiveFontFamilyMap, script); 188 } 189 190 void Settings::setCursiveFontFamily(const AtomicString& family, UScriptCode script) 191 { 192 setGenericFontFamilyMap(m_cursiveFontFamilyMap, family, script, m_page); 193 } 194 195 const AtomicString& Settings::fantasyFontFamily(UScriptCode script) const 196 { 197 return getGenericFontFamilyForScript(m_fantasyFontFamilyMap, script); 198 } 199 200 void Settings::setFantasyFontFamily(const AtomicString& family, UScriptCode script) 201 { 202 setGenericFontFamilyMap(m_fantasyFontFamilyMap, family, script, m_page); 184 203 } 185 204 -
trunk/WebCore/page/Settings.h
r49769 r49837 29 29 30 30 #include "AtomicString.h" 31 #include "AtomicStringHash.h" 31 32 #include "FontRenderingMode.h" 32 33 #include "KURL.h" 34 #if USE(ICU_UNICODE) 35 #include "unicode/uscript.h" 36 #else 37 #include "UScriptCode.h" 38 #endif 39 #include <wtf/HashMap.h> 33 40 34 41 namespace WebCore { … … 65 72 enum EditingBehavior { EditingMacBehavior, EditingWindowsBehavior }; 66 73 74 typedef HashMap<int, AtomicString> ScriptFontFamilyMap; 75 67 76 class Settings { 68 77 public: 69 78 Settings(Page*); 70 79 71 void setStandardFontFamily(const AtomicString& );72 const AtomicString& standardFontFamily( ) const { return m_standardFontFamily; }73 74 void setFixedFontFamily(const AtomicString& );75 const AtomicString& fixedFontFamily( ) const { return m_fixedFontFamily; }76 77 void setSerifFontFamily(const AtomicString& );78 const AtomicString& serifFontFamily( ) const { return m_serifFontFamily; }79 80 void setSansSerifFontFamily(const AtomicString& );81 const AtomicString& sansSerifFontFamily( ) const { return m_sansSerifFontFamily; }82 83 void setCursiveFontFamily(const AtomicString& );84 const AtomicString& cursiveFontFamily( ) const { return m_cursiveFontFamily; }85 86 void setFantasyFontFamily(const AtomicString& );87 const AtomicString& fantasyFontFamily( ) const { return m_fantasyFontFamily; }80 void setStandardFontFamily(const AtomicString&, UScriptCode script=USCRIPT_COMMON); 81 const AtomicString& standardFontFamily(UScriptCode script=USCRIPT_COMMON) const; 82 83 void setFixedFontFamily(const AtomicString&, UScriptCode script=USCRIPT_COMMON); 84 const AtomicString& fixedFontFamily(UScriptCode script=USCRIPT_COMMON) const; 85 86 void setSerifFontFamily(const AtomicString&, UScriptCode script=USCRIPT_COMMON); 87 const AtomicString& serifFontFamily(UScriptCode script=USCRIPT_COMMON) const; 88 89 void setSansSerifFontFamily(const AtomicString&, UScriptCode script=USCRIPT_COMMON); 90 const AtomicString& sansSerifFontFamily(UScriptCode script=USCRIPT_COMMON) const; 91 92 void setCursiveFontFamily(const AtomicString&, UScriptCode script=USCRIPT_COMMON); 93 const AtomicString& cursiveFontFamily(UScriptCode script=USCRIPT_COMMON) const; 94 95 void setFantasyFontFamily(const AtomicString&, UScriptCode script=USCRIPT_COMMON); 96 const AtomicString& fantasyFontFamily(UScriptCode script=USCRIPT_COMMON) const; 88 97 89 98 void setMinimumFontSize(int); … … 289 298 String m_localStorageDatabasePath; 290 299 KURL m_userStyleSheetLocation; 291 AtomicString m_standardFontFamily; 292 AtomicString m_fixedFontFamily; 293 AtomicString m_serifFontFamily; 294 AtomicString m_sansSerifFontFamily; 295 AtomicString m_cursiveFontFamily; 296 AtomicString m_fantasyFontFamily; 300 301 ScriptFontFamilyMap m_fixedFontFamilyMap; 302 ScriptFontFamilyMap m_serifFontFamilyMap; 303 ScriptFontFamilyMap m_sansSerifFontFamilyMap; 304 ScriptFontFamilyMap m_cursiveFontFamilyMap; 305 ScriptFontFamilyMap m_fantasyFontFamilyMap; 306 ScriptFontFamilyMap m_standardFontFamilyMap; 307 297 308 EditableLinkBehavior m_editableLinkBehavior; 298 309 TextDirectionSubmenuInclusionBehavior m_textDirectionSubmenuInclusionBehavior;
Note: See TracChangeset
for help on using the changeset viewer.