Title: [153696] trunk/Source/WebCore
Revision
153696
Author
[email protected]
Date
2013-08-04 00:41:28 -0700 (Sun, 04 Aug 2013)

Log Message

[Mac] Disable screen font substitution at WebCore-level in OS X 10.9+
<http://webkit.org/b/119474>
<rdar://problem/14643349>

Reviewed by Dan Bernstein.

Disable screen font substitution by default in Settings so internal WebCore clients
such as SVG-as-image will get the right default setting.

* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::shouldEnableScreenFontSubstitutionByDefault):
(WebCore::Settings::setScreenFontSubstitutionEnabled):
* page/Settings.h:
(WebCore::Settings::screenFontSubstitutionEnabled):
* page/Settings.in:
* page/mac/SettingsMac.mm:
(WebCore::Settings::shouldEnableScreenFontSubstitutionByDefault):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (153695 => 153696)


--- trunk/Source/WebCore/ChangeLog	2013-08-04 04:13:03 UTC (rev 153695)
+++ trunk/Source/WebCore/ChangeLog	2013-08-04 07:41:28 UTC (rev 153696)
@@ -1,3 +1,24 @@
+2013-08-04  Andreas Kling  <[email protected]>
+
+        [Mac] Disable screen font substitution at WebCore-level in OS X 10.9+
+        <http://webkit.org/b/119474>
+        <rdar://problem/14643349>
+
+        Reviewed by Dan Bernstein.
+
+        Disable screen font substitution by default in Settings so internal WebCore clients
+        such as SVG-as-image will get the right default setting.
+
+        * page/Settings.cpp:
+        (WebCore::Settings::Settings):
+        (WebCore::Settings::shouldEnableScreenFontSubstitutionByDefault):
+        (WebCore::Settings::setScreenFontSubstitutionEnabled):
+        * page/Settings.h:
+        (WebCore::Settings::screenFontSubstitutionEnabled):
+        * page/Settings.in:
+        * page/mac/SettingsMac.mm:
+        (WebCore::Settings::shouldEnableScreenFontSubstitutionByDefault):
+
 2013-08-03  Tim Horton  <[email protected]>
 
         Refine the unavailable plug-in indicator

Modified: trunk/Source/WebCore/page/Settings.cpp (153695 => 153696)


--- trunk/Source/WebCore/page/Settings.cpp	2013-08-04 04:13:03 UTC (rev 153695)
+++ trunk/Source/WebCore/page/Settings.cpp	2013-08-04 07:41:28 UTC (rev 153696)
@@ -136,6 +136,7 @@
 #endif
 #endif
     SETTINGS_INITIALIZER_LIST
+    , m_screenFontSubstitutionEnabled(shouldEnableScreenFontSubstitutionByDefault())
     , m_isJavaEnabled(false)
     , m_isJavaEnabledForLocalFiles(true)
     , m_loadsImagesAutomatically(false)
@@ -198,6 +199,13 @@
     return gHiddenPageDOMTimerAlignmentInterval;
 }
 
+#if !PLATFORM(MAC)
+bool Settings::shouldEnableScreenFontSubstitutionByDefault()
+{
+    return true;
+}
+#endif
+
 #if !PLATFORM(MAC) && !PLATFORM(BLACKBERRY)
 void Settings::initializeDefaultFontFamilies()
 {
@@ -465,6 +473,14 @@
     }
 }
 
+void Settings::setScreenFontSubstitutionEnabled(bool enabled)
+{
+    if (m_screenFontSubstitutionEnabled == enabled)
+        return;
+    m_screenFontSubstitutionEnabled = enabled;
+    m_page->setNeedsRecalcStyleInAllFrames();
+}
+
 void Settings::setFontRenderingMode(FontRenderingMode mode)
 {
     if (fontRenderingMode() == mode)

Modified: trunk/Source/WebCore/page/Settings.h (153695 => 153696)


--- trunk/Source/WebCore/page/Settings.h	2013-08-04 04:13:03 UTC (rev 153695)
+++ trunk/Source/WebCore/page/Settings.h	2013-08-04 07:41:28 UTC (rev 153696)
@@ -115,6 +115,9 @@
 
         SETTINGS_GETTERS_AND_SETTERS
 
+        void setScreenFontSubstitutionEnabled(bool);
+        bool screenFontSubstitutionEnabled() const { return m_screenFontSubstitutionEnabled; }
+
         void setJavaEnabled(bool);
         bool isJavaEnabled() const { return m_isJavaEnabled; }
 
@@ -265,6 +268,7 @@
         explicit Settings(Page*);
 
         void initializeDefaultFontFamilies();
+        static bool shouldEnableScreenFontSubstitutionByDefault();
 
         Page* m_page;
 
@@ -280,6 +284,7 @@
 
         SETTINGS_MEMBER_VARIABLES
 
+        bool m_screenFontSubstitutionEnabled : 1;
         bool m_isJavaEnabled : 1;
         bool m_isJavaEnabledForLocalFiles : 1;
         bool m_loadsImagesAutomatically : 1;

Modified: trunk/Source/WebCore/page/Settings.in (153695 => 153696)


--- trunk/Source/WebCore/page/Settings.in	2013-08-04 04:13:03 UTC (rev 153695)
+++ trunk/Source/WebCore/page/Settings.in	2013-08-04 07:41:28 UTC (rev 153696)
@@ -55,7 +55,6 @@
 shouldPrintBackgrounds initial=false
 usesDashboardBackwardCompatibilityMode initial=false, conditional=DASHBOARD_SUPPORT
 
-screenFontSubstitutionEnabled initial=true, setNeedsStyleRecalcInAllFrames=1
 textAreasAreResizable initial=false, setNeedsStyleRecalcInAllFrames=1
 authorAndUserStylesEnabled initial=true, setNeedsStyleRecalcInAllFrames=1
 acceleratedCompositingEnabled initial=true, setNeedsStyleRecalcInAllFrames=1

Modified: trunk/Source/WebCore/page/mac/SettingsMac.mm (153695 => 153696)


--- trunk/Source/WebCore/page/mac/SettingsMac.mm	2013-08-04 04:13:03 UTC (rev 153695)
+++ trunk/Source/WebCore/page/mac/SettingsMac.mm	2013-08-04 07:41:28 UTC (rev 153696)
@@ -28,6 +28,15 @@
 
 namespace WebCore {
 
+bool Settings::shouldEnableScreenFontSubstitutionByDefault()
+{
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
+    return false;
+#else
+    return true;
+#endif
+}
+
 void Settings::initializeDefaultFontFamilies()
 {
 #if !PLATFORM(IOS)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to