Title: [239904] trunk
Revision
239904
Author
[email protected]
Date
2019-01-12 21:54:06 -0800 (Sat, 12 Jan 2019)

Log Message

Have prefers-color-scheme: light always match on macOS versions before Mojave.
https://bugs.webkit.org/show_bug.cgi?id=191655
rdar://problem/46074680

Reviewed by Megan Gardner.

Source/_javascript_Core:

* Configurations/FeatureDefines.xcconfig: ENABLE_DARK_MODE_CSS_macosx for all OS versions.

Source/WebCore:

Tests: css-dark-mode/older-systems/prefers-color-scheme.html
       css-dark-mode/older-systems/supported-color-schemes-css.html
       css-dark-mode/older-systems/supported-color-schemes.html

Use new HAVE(OS_DARK_MODE_SUPPORT) to make it easier to find code.
Added HAVE(OS_DARK_MODE_SUPPORT) around more bits to make it work on older systems.

* Configurations/FeatureDefines.xcconfig:
* dom/Document.cpp:
(WebCore::Document::useDarkAppearance const):
* inspector/agents/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::enable):
* page/Page.cpp:
(WebCore::Page::setUseDarkAppearance):
(WebCore::Page::useDarkAppearance const):
(WebCore::Page::setUseDarkAppearanceOverride):
* platform/mac/LocalDefaultSystemAppearance.h:
(WebCore::LocalDefaultSystemAppearance::usingDarkAppearance const):
* platform/mac/LocalDefaultSystemAppearance.mm:
(WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance):
(WebCore::LocalDefaultSystemAppearance::~LocalDefaultSystemAppearance):
* platform/mac/ScrollAnimatorMac.mm:
* rendering/RenderThemeMac.mm:
(-[WebCoreTextFieldCell _adjustedCoreUIDrawOptionsForDrawingBordersOnly:]):
(-[WebListButtonCell drawWithFrame:inView:]):
(WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor const):
(WebCore::RenderThemeMac::platformInactiveSelectionForegroundColor const):
(WebCore::RenderThemeMac::platformActiveListBoxSelectionBackgroundColor const):
(WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor const):
(WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor const):
(WebCore::RenderThemeMac::systemColor const):

Source/WebCore/PAL:

* Configurations/FeatureDefines.xcconfig: ENABLE_DARK_MODE_CSS_macosx for all OS versions.

Source/WebKit:

* Configurations/FeatureDefines.xcconfig: ENABLE_DARK_MODE_CSS_macosx for all OS versions.
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::effectiveAppearanceIsDark):
* UIProcess/RemoteLayerTree/mac/ScrollerMac.mm:

Source/WebKitLegacy/mac:

* Configurations/FeatureDefines.xcconfig: ENABLE_DARK_MODE_CSS_macosx for all OS versions.
* WebView/WebView.mm:
(-[WebView _effectiveAppearanceIsDark]):

Source/WTF:

* wtf/Platform.h: Define HAVE_OS_DARK_MODE_SUPPORT on macOS 10.14.

Tools:

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig: ENABLE_DARK_MODE_CSS_macosx for all OS versions.
* TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle.mm:

LayoutTests:

* css-dark-mode/older-systems/prefers-color-scheme-expected.txt: Added.
* css-dark-mode/older-systems/prefers-color-scheme.html: Added.
* css-dark-mode/older-systems/supported-color-schemes-css-expected.txt: Added.
* css-dark-mode/older-systems/supported-color-schemes-css.html: Added.
* css-dark-mode/older-systems/supported-color-schemes-expected.txt: Added.
* css-dark-mode/older-systems/supported-color-schemes.html: Added.
* platform/mac/TestExpectations:

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (239903 => 239904)


--- trunk/LayoutTests/ChangeLog	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/LayoutTests/ChangeLog	2019-01-13 05:54:06 UTC (rev 239904)
@@ -1,3 +1,19 @@
+2019-01-12  Timothy Hatcher  <[email protected]>
+
+        Have prefers-color-scheme: light always match on macOS versions before Mojave.
+        https://bugs.webkit.org/show_bug.cgi?id=191655
+        rdar://problem/46074680
+
+        Reviewed by Megan Gardner.
+
+        * css-dark-mode/older-systems/prefers-color-scheme-expected.txt: Added.
+        * css-dark-mode/older-systems/prefers-color-scheme.html: Added.
+        * css-dark-mode/older-systems/supported-color-schemes-css-expected.txt: Added.
+        * css-dark-mode/older-systems/supported-color-schemes-css.html: Added.
+        * css-dark-mode/older-systems/supported-color-schemes-expected.txt: Added.
+        * css-dark-mode/older-systems/supported-color-schemes.html: Added.
+        * platform/mac/TestExpectations:
+
 2019-01-11  John Wilander  <[email protected]>
 
         Compile out Web API Statistics Collection

Added: trunk/LayoutTests/css-dark-mode/older-systems/prefers-color-scheme-expected.txt (0 => 239904)


--- trunk/LayoutTests/css-dark-mode/older-systems/prefers-color-scheme-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/css-dark-mode/older-systems/prefers-color-scheme-expected.txt	2019-01-13 05:54:06 UTC (rev 239904)
@@ -0,0 +1,4 @@
+
+PASS Element colors are correct in light color scheme 
+PASS Element colors are correct in light color scheme with boolean context query 
+

Added: trunk/LayoutTests/css-dark-mode/older-systems/prefers-color-scheme.html (0 => 239904)


--- trunk/LayoutTests/css-dark-mode/older-systems/prefers-color-scheme.html	                        (rev 0)
+++ trunk/LayoutTests/css-dark-mode/older-systems/prefers-color-scheme.html	2019-01-13 05:54:06 UTC (rev 239904)
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+
+<!-- webkit-test-runner [ experimental:DarkModeCSSEnabled=true ] -->
+
+<script src=""
+<script src=""
+
+<style>
+div {
+    background-color: red;
+    color: text;
+}
+
+@media (prefers-color-scheme: light) {
+    #test1 {
+        background-color: lime;
+    }
+}
+
+@media (prefers-color-scheme: dark) {
+    /* This is valid, but should not apply for us since there is no dark mode support. */
+    #test1 {
+        background-color: blue;
+    }
+}
+
+@media (prefers-color-scheme: no-preference) {
+    /* This is valid, but should not apply for us since there is no option for no user preference. */
+    #test1 {
+        background-color: cyan;
+    }
+}
+
+@media (prefers-color-scheme: foo) {
+    /* This is invalid and should not apply. */
+    #test1 {
+        background-color: yellow;
+    }
+}
+
+@media (prefers-color-scheme) {
+    /* This is valid and should always apply for us, since there is always a user preference currently. */
+    #test2 {
+        background-color: lime;
+    }
+}
+</style>
+
+<div id="test1"></div>
+<div id="test2"></div>
+
+<script>
+function test_prop(id, prop, expected) {
+    assert_equals(window.getComputedStyle(document.getElementById(id)).getPropertyValue(prop).trim(), expected);
+}
+
+test(function() {
+    // Styled background-color in media query should be lime green.
+    test_prop("test1", "background-color", "rgb(0, 255, 0)");
+
+    // The semantic text color should be black.
+    test_prop("test1", "color", "rgb(0, 0, 0)");
+}, "Element colors are correct in light color scheme");
+
+test(function() {
+    // Styled background-color in media query should be lime green.
+    test_prop("test2", "background-color", "rgb(0, 255, 0)");
+
+    // The semantic text color should be black.
+    test_prop("test2", "color", "rgb(0, 0, 0)");
+}, "Element colors are correct in light color scheme with boolean context query");
+</script>

Added: trunk/LayoutTests/css-dark-mode/older-systems/supported-color-schemes-css-expected.txt (0 => 239904)


--- trunk/LayoutTests/css-dark-mode/older-systems/supported-color-schemes-css-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/css-dark-mode/older-systems/supported-color-schemes-css-expected.txt	2019-01-13 05:54:06 UTC (rev 239904)
@@ -0,0 +1,20 @@
+
+PASS Element colors are correct in light color scheme with only light supported color scheme 
+PASS Supported color schemes changed to light and dark 
+PASS Element colors are correct in light color scheme with light and dark supported color scheme 
+PASS Supported color schemes changed to dark 
+PASS Element colors are correct in light color scheme with only dark supported color scheme 
+PASS Supported color schemes changed to light and a bogus value 
+PASS Element colors are correct in light color scheme with only light supported color scheme 
+PASS Supported color schemes changed to auto value 
+PASS Element colors are correct in light color scheme with implicit light supported color scheme 
+PASS Supported color schemes changed to light and dark via <meta> element 
+PASS Element colors are correct in light color scheme with light and dark supported color scheme via <meta> element 
+PASS Supported color schemes changed to light value 
+PASS Element colors are correct in light color scheme with explicit light, overriding <meta> element 
+PASS Remove test meta element 
+PASS Supported color schemes changed to light and dark 
+PASS Element colors are correct in light color scheme with light and dark supported color scheme 
+PASS Supported color schemes changed to a bogus value and dark 
+PASS Element colors are correct in light color scheme with dark supported color scheme 
+

Added: trunk/LayoutTests/css-dark-mode/older-systems/supported-color-schemes-css.html (0 => 239904)


--- trunk/LayoutTests/css-dark-mode/older-systems/supported-color-schemes-css.html	                        (rev 0)
+++ trunk/LayoutTests/css-dark-mode/older-systems/supported-color-schemes-css.html	2019-01-13 05:54:06 UTC (rev 239904)
@@ -0,0 +1,105 @@
+<!DOCTYPE html>
+
+<!-- webkit-test-runner [ experimental:DarkModeCSSEnabled=true ] -->
+
+<script src=""
+<script src=""
+
+<style>
+#test1 {
+    color: text;
+}
+</style>
+
+<div id="test1"></div>
+
+<script>
+function test_prop(id, prop, expected) {
+    assert_equals(window.getComputedStyle(document.getElementById(id)).getPropertyValue(prop), expected);
+}
+
+function test_color_is_black(id) {
+    test_prop("test1", "color", "rgb(0, 0, 0)");
+}
+
+test(function() {
+    // The semantic text color should be black.
+    test_color_is_black("test1");
+}, "Element colors are correct in light color scheme with only light supported color scheme");
+
+test(function() {
+    document.body.style.setProperty("supported-color-schemes", "light dark");
+}, "Supported color schemes changed to light and dark");
+
+test(function() {
+    // The semantic text color should be black.
+    test_color_is_black("test1");
+}, "Element colors are correct in light color scheme with light and dark supported color scheme");
+
+test(function() {
+    document.body.style.setProperty("supported-color-schemes", "dark");
+}, "Supported color schemes changed to dark");
+
+test(function() {
+    test_color_is_black("test1");
+}, "Element colors are correct in light color scheme with only dark supported color scheme");
+
+test(function() {
+    document.body.style.setProperty("supported-color-schemes", "light foo");
+}, "Supported color schemes changed to light and a bogus value");
+
+test(function() {
+    // The semantic text color should be black again.
+    test_color_is_black("test1");
+}, "Element colors are correct in light color scheme with only light supported color scheme");
+
+test(function() {
+    document.body.style.setProperty("supported-color-schemes", "auto");
+}, "Supported color schemes changed to auto value");
+
+test(function() {
+    // The semantic text color should be black still.
+    test_color_is_black("test1");
+}, "Element colors are correct in light color scheme with implicit light supported color scheme");
+
+test(function() {
+    let meta = document.createElement("meta");
+    meta.id = "test-meta";
+    meta.name = "supported-color-schemes";
+    meta.content = "light dark";
+    document.head.appendChild(meta);
+}, "Supported color schemes changed to light and dark via <meta> element");
+
+test(function() {
+    test_color_is_black("test1");
+}, "Element colors are correct in light color scheme with light and dark supported color scheme via <meta> element");
+
+test(function() {
+    document.body.style.setProperty("supported-color-schemes", "light");
+}, "Supported color schemes changed to light value");
+
+test(function() {
+    // The semantic text color should be black again.
+    test_color_is_black("test1");
+}, "Element colors are correct in light color scheme with explicit light, overriding <meta> element");
+
+test(function() {
+    document.getElementById("test-meta").remove();
+}, "Remove test meta element");
+
+test(function() {
+    document.body.style.setProperty("supported-color-schemes", "light dark");
+}, "Supported color schemes changed to light and dark");
+
+test(function() {
+    test_color_is_black("test1");
+}, "Element colors are correct in light color scheme with light and dark supported color scheme");
+
+test(function() {
+    document.body.style.setProperty("supported-color-schemes", "foo dark");
+}, "Supported color schemes changed to a bogus value and dark");
+
+test(function() {
+    test_color_is_black("test1");
+}, "Element colors are correct in light color scheme with dark supported color scheme");
+</script>

Added: trunk/LayoutTests/css-dark-mode/older-systems/supported-color-schemes-expected.txt (0 => 239904)


--- trunk/LayoutTests/css-dark-mode/older-systems/supported-color-schemes-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/css-dark-mode/older-systems/supported-color-schemes-expected.txt	2019-01-13 05:54:06 UTC (rev 239904)
@@ -0,0 +1,15 @@
+
+PASS Element colors are correct in light color scheme with only light supported color scheme 
+PASS Supported color schemes changed to light and dark 
+PASS Element colors are correct in light color scheme with light and dark supported color scheme 
+PASS Supported color schemes changed to dark 
+PASS Element colors are correct in light color scheme with only dark supported color scheme 
+PASS Supported color schemes changed to light and a bogus value 
+PASS Element colors are correct in light color scheme with only light supported color scheme 
+PASS Supported color schemes changed to empty value 
+PASS Element colors are correct in light color scheme with implicit light supported color scheme 
+PASS Supported color schemes changed to light and dark 
+PASS Element colors are correct in light color scheme with light and dark supported color scheme 
+PASS Supported color schemes changed to a bogus value and dark 
+PASS Element colors are correct in light color scheme with dark supported color scheme 
+

Added: trunk/LayoutTests/css-dark-mode/older-systems/supported-color-schemes.html (0 => 239904)


--- trunk/LayoutTests/css-dark-mode/older-systems/supported-color-schemes.html	                        (rev 0)
+++ trunk/LayoutTests/css-dark-mode/older-systems/supported-color-schemes.html	2019-01-13 05:54:06 UTC (rev 239904)
@@ -0,0 +1,78 @@
+<!DOCTYPE html>
+
+<!-- webkit-test-runner [ experimental:DarkModeCSSEnabled=true ] -->
+
+<script src=""
+<script src=""
+
+<style>
+#test1 {
+    color: text;
+}
+</style>
+
+<meta id="meta" name="supported-color-schemes" content="light">
+
+<div id="test1"></div>
+
+<script>
+function test_prop(id, prop, expected) {
+    assert_equals(window.getComputedStyle(document.getElementById(id)).getPropertyValue(prop).trim(), expected);
+}
+
+function test_color_is_black(id) {
+    test_prop("test1", "color", "rgb(0, 0, 0)");
+}
+
+test(function() {
+    test_color_is_black("test1");
+}, "Element colors are correct in light color scheme with only light supported color scheme");
+
+test(function() {
+    document.getElementById("meta").content = "light dark";
+}, "Supported color schemes changed to light and dark");
+
+test(function() {
+    test_color_is_black("test1");
+}, "Element colors are correct in light color scheme with light and dark supported color scheme");
+
+test(function() {
+    document.getElementById("meta").content = "dark";
+}, "Supported color schemes changed to dark");
+
+test(function() {
+    test_color_is_black("test1");
+}, "Element colors are correct in light color scheme with only dark supported color scheme");
+
+test(function() {
+    document.getElementById("meta").content = "light ,foo ";
+}, "Supported color schemes changed to light and a bogus value");
+
+test(function() {
+    test_color_is_black("test1");
+}, "Element colors are correct in light color scheme with only light supported color scheme");
+
+test(function() {
+    document.getElementById("meta").content = "";
+}, "Supported color schemes changed to empty value");
+
+test(function() {
+    test_color_is_black("test1");
+}, "Element colors are correct in light color scheme with implicit light supported color scheme");
+
+test(function() {
+    document.getElementById("meta").content = "   light, dark ";
+}, "Supported color schemes changed to light and dark");
+
+test(function() {
+    test_color_is_black("test1");
+}, "Element colors are correct in light color scheme with light and dark supported color scheme");
+
+test(function() {
+    document.getElementById("meta").content = ", foo dark";
+}, "Supported color schemes changed to a bogus value and dark");
+
+test(function() {
+    test_color_is_black("test1");
+}, "Element colors are correct in light color scheme with dark supported color scheme");
+</script>

Modified: trunk/LayoutTests/platform/mac/TestExpectations (239903 => 239904)


--- trunk/LayoutTests/platform/mac/TestExpectations	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2019-01-13 05:54:06 UTC (rev 239904)
@@ -1767,8 +1767,12 @@
 
 # Dark Mode is Mojave and later.
 [ Mojave+ ] css-dark-mode [ Pass ]
+[ Mojave+ ] css-dark-mode/older-systems [ Skip ]
 [ Mojave+ ] inspector/css/force-page-appearance.html [ Pass ]
 
+# Test Dark Mode CSS support for light mode on older systems.
+[ Sierra HighSierra ] css-dark-mode/older-systems [ Pass ]
+
 webkit.org/b/185651 legacy-animation-engine/animations/play-state-in-shorthand.html [ Pass Failure ]
 
 webkit.org/b/189686 webgl/2.0.0/conformance/textures/misc/tex-image-and-sub-image-2d-with-array-buffer-view.html [ Slow ]

Modified: trunk/Source/_javascript_Core/ChangeLog (239903 => 239904)


--- trunk/Source/_javascript_Core/ChangeLog	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/_javascript_Core/ChangeLog	2019-01-13 05:54:06 UTC (rev 239904)
@@ -1,3 +1,13 @@
+2019-01-12  Timothy Hatcher  <[email protected]>
+
+        Have prefers-color-scheme: light always match on macOS versions before Mojave.
+        https://bugs.webkit.org/show_bug.cgi?id=191655
+        rdar://problem/46074680
+
+        Reviewed by Megan Gardner.
+
+        * Configurations/FeatureDefines.xcconfig: ENABLE_DARK_MODE_CSS_macosx for all OS versions.
+
 2019-01-12  Yusuke Suzuki  <[email protected]>
 
         Unreviewed, fix scope check assertions

Modified: trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig (239903 => 239904)


--- trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig	2019-01-13 05:54:06 UTC (rev 239904)
@@ -113,8 +113,7 @@
 ENABLE_CUSTOM_SCHEME_HANDLER = ;
 
 ENABLE_DARK_MODE_CSS = $(ENABLE_DARK_MODE_CSS_$(WK_PLATFORM_NAME));
-ENABLE_DARK_MODE_CSS_macosx = $(ENABLE_DARK_MODE_CSS$(WK_MACOS_1014));
-ENABLE_DARK_MODE_CSS_MACOS_SINCE_1014 = ENABLE_DARK_MODE_CSS;
+ENABLE_DARK_MODE_CSS_macosx = ENABLE_DARK_MODE_CSS;
 
 ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(WK_PLATFORM_NAME));
 ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;

Modified: trunk/Source/WTF/ChangeLog (239903 => 239904)


--- trunk/Source/WTF/ChangeLog	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WTF/ChangeLog	2019-01-13 05:54:06 UTC (rev 239904)
@@ -1,3 +1,13 @@
+2019-01-12  Timothy Hatcher  <[email protected]>
+
+        Have prefers-color-scheme: light always match on macOS versions before Mojave.
+        https://bugs.webkit.org/show_bug.cgi?id=191655
+        rdar://problem/46074680
+
+        Reviewed by Megan Gardner.
+
+        * wtf/Platform.h: Define HAVE_OS_DARK_MODE_SUPPORT on macOS 10.14.
+
 2019-01-11  David Kilzer  <[email protected]>
 
         Follow-up: WorkQueue::concurrentApply() passes a raw pointer to a temporary String to Thread::create().

Modified: trunk/Source/WTF/wtf/Platform.h (239903 => 239904)


--- trunk/Source/WTF/wtf/Platform.h	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WTF/wtf/Platform.h	2019-01-13 05:54:06 UTC (rev 239904)
@@ -1417,6 +1417,10 @@
 #endif
 
 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#define HAVE_OS_DARK_MODE_SUPPORT 1
+#endif
+
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
 #define HAVE_CG_FONT_RENDERING_GET_FONT_SMOOTHING_DISABLED 1
 #endif
 

Modified: trunk/Source/WebCore/ChangeLog (239903 => 239904)


--- trunk/Source/WebCore/ChangeLog	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WebCore/ChangeLog	2019-01-13 05:54:06 UTC (rev 239904)
@@ -1,3 +1,43 @@
+2019-01-12  Timothy Hatcher  <[email protected]>
+
+        Have prefers-color-scheme: light always match on macOS versions before Mojave.
+        https://bugs.webkit.org/show_bug.cgi?id=191655
+        rdar://problem/46074680
+
+        Reviewed by Megan Gardner.
+
+        Tests: css-dark-mode/older-systems/prefers-color-scheme.html
+               css-dark-mode/older-systems/supported-color-schemes-css.html
+               css-dark-mode/older-systems/supported-color-schemes.html
+
+        Use new HAVE(OS_DARK_MODE_SUPPORT) to make it easier to find code.
+        Added HAVE(OS_DARK_MODE_SUPPORT) around more bits to make it work on older systems.
+
+        * Configurations/FeatureDefines.xcconfig:
+        * dom/Document.cpp:
+        (WebCore::Document::useDarkAppearance const):
+        * inspector/agents/InspectorPageAgent.cpp:
+        (WebCore::InspectorPageAgent::enable):
+        * page/Page.cpp:
+        (WebCore::Page::setUseDarkAppearance):
+        (WebCore::Page::useDarkAppearance const):
+        (WebCore::Page::setUseDarkAppearanceOverride):
+        * platform/mac/LocalDefaultSystemAppearance.h:
+        (WebCore::LocalDefaultSystemAppearance::usingDarkAppearance const):
+        * platform/mac/LocalDefaultSystemAppearance.mm:
+        (WebCore::LocalDefaultSystemAppearance::LocalDefaultSystemAppearance):
+        (WebCore::LocalDefaultSystemAppearance::~LocalDefaultSystemAppearance):
+        * platform/mac/ScrollAnimatorMac.mm:
+        * rendering/RenderThemeMac.mm:
+        (-[WebCoreTextFieldCell _adjustedCoreUIDrawOptionsForDrawingBordersOnly:]):
+        (-[WebListButtonCell drawWithFrame:inView:]):
+        (WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor const):
+        (WebCore::RenderThemeMac::platformInactiveSelectionForegroundColor const):
+        (WebCore::RenderThemeMac::platformActiveListBoxSelectionBackgroundColor const):
+        (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor const):
+        (WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor const):
+        (WebCore::RenderThemeMac::systemColor const):
+
 2019-01-12  Zalan Bujtas  <[email protected]>
 
         [LFC] Block/InlinFormattingContext should take Block/InlineFormattingState

Modified: trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig (239903 => 239904)


--- trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig	2019-01-13 05:54:06 UTC (rev 239904)
@@ -113,8 +113,7 @@
 ENABLE_CUSTOM_SCHEME_HANDLER = ;
 
 ENABLE_DARK_MODE_CSS = $(ENABLE_DARK_MODE_CSS_$(WK_PLATFORM_NAME));
-ENABLE_DARK_MODE_CSS_macosx = $(ENABLE_DARK_MODE_CSS$(WK_MACOS_1014));
-ENABLE_DARK_MODE_CSS_MACOS_SINCE_1014 = ENABLE_DARK_MODE_CSS;
+ENABLE_DARK_MODE_CSS_macosx = ENABLE_DARK_MODE_CSS;
 
 ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(WK_PLATFORM_NAME));
 ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;

Modified: trunk/Source/WebCore/PAL/ChangeLog (239903 => 239904)


--- trunk/Source/WebCore/PAL/ChangeLog	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WebCore/PAL/ChangeLog	2019-01-13 05:54:06 UTC (rev 239904)
@@ -1,3 +1,13 @@
+2019-01-12  Timothy Hatcher  <[email protected]>
+
+        Have prefers-color-scheme: light always match on macOS versions before Mojave.
+        https://bugs.webkit.org/show_bug.cgi?id=191655
+        rdar://problem/46074680
+
+        Reviewed by Megan Gardner.
+
+        * Configurations/FeatureDefines.xcconfig: ENABLE_DARK_MODE_CSS_macosx for all OS versions.
+
 2019-01-12  Dan Bernstein  <[email protected]>
 
         [Cocoa] Avoid importing directly from subumbrella frameworks

Modified: trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig (239903 => 239904)


--- trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig	2019-01-13 05:54:06 UTC (rev 239904)
@@ -113,8 +113,7 @@
 ENABLE_CUSTOM_SCHEME_HANDLER = ;
 
 ENABLE_DARK_MODE_CSS = $(ENABLE_DARK_MODE_CSS_$(WK_PLATFORM_NAME));
-ENABLE_DARK_MODE_CSS_macosx = $(ENABLE_DARK_MODE_CSS$(WK_MACOS_1014));
-ENABLE_DARK_MODE_CSS_MACOS_SINCE_1014 = ENABLE_DARK_MODE_CSS;
+ENABLE_DARK_MODE_CSS_macosx = ENABLE_DARK_MODE_CSS;
 
 ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(WK_PLATFORM_NAME));
 ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;

Modified: trunk/Source/WebCore/dom/Document.cpp (239903 => 239904)


--- trunk/Source/WebCore/dom/Document.cpp	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WebCore/dom/Document.cpp	2019-01-13 05:54:06 UTC (rev 239904)
@@ -7419,6 +7419,7 @@
 
 bool Document::useDarkAppearance(const RenderStyle* style) const
 {
+#if HAVE(OS_DARK_MODE_SUPPORT)
 #if ENABLE(DARK_MODE_CSS)
     OptionSet<ColorSchemes> supportedColorSchemes;
 
@@ -7447,6 +7448,9 @@
     if (supportedColorSchemes.contains(ColorSchemes::Dark))
         return pageUsesDarkAppearance;
 #endif
+#else
+    UNUSED_PARAM(style);
+#endif
 
     return false;
 }

Modified: trunk/Source/WebCore/inspector/agents/InspectorPageAgent.cpp (239903 => 239904)


--- trunk/Source/WebCore/inspector/agents/InspectorPageAgent.cpp	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WebCore/inspector/agents/InspectorPageAgent.cpp	2019-01-13 05:54:06 UTC (rev 239904)
@@ -301,7 +301,7 @@
     stopwatch->reset();
     stopwatch->start();
 
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
     defaultAppearanceDidChange(m_page.defaultUseDarkAppearance());
 #endif
 }

Modified: trunk/Source/WebCore/page/Page.cpp (239903 => 239904)


--- trunk/Source/WebCore/page/Page.cpp	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WebCore/page/Page.cpp	2019-01-13 05:54:06 UTC (rev 239904)
@@ -2666,6 +2666,7 @@
 
 void Page::setUseDarkAppearance(bool value)
 {
+#if HAVE(OS_DARK_MODE_SUPPORT)
     if (m_useDarkAppearance == value)
         return;
 
@@ -2674,10 +2675,14 @@
     InspectorInstrumentation::defaultAppearanceDidChange(*this, value);
 
     appearanceDidChange();
+#else
+    UNUSED_PARAM(value);
+#endif
 }
 
 bool Page::useDarkAppearance() const
 {
+#if HAVE(OS_DARK_MODE_SUPPORT)
     FrameView* view = mainFrame().view();
     if (!view || !equalLettersIgnoringASCIICase(view->mediaType(), "screen"))
         return false;
@@ -2684,10 +2689,14 @@
     if (m_useDarkAppearanceOverride)
         return m_useDarkAppearanceOverride.value();
     return m_useDarkAppearance;
+#else
+    return false;
+#endif
 }
 
 void Page::setUseDarkAppearanceOverride(Optional<bool> valueOverride)
 {
+#if HAVE(OS_DARK_MODE_SUPPORT)
     if (valueOverride == m_useDarkAppearanceOverride)
         return;
 
@@ -2694,6 +2703,9 @@
     m_useDarkAppearanceOverride = valueOverride;
 
     appearanceDidChange();
+#else
+    UNUSED_PARAM(valueOverride);
+#endif
 }
 
 void Page::setFullscreenInsets(const FloatBoxExtent& insets)

Modified: trunk/Source/WebCore/platform/mac/LocalDefaultSystemAppearance.h (239903 => 239904)


--- trunk/Source/WebCore/platform/mac/LocalDefaultSystemAppearance.h	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WebCore/platform/mac/LocalDefaultSystemAppearance.h	2019-01-13 05:54:06 UTC (rev 239904)
@@ -45,7 +45,7 @@
 
     bool usingDarkAppearance() const
     {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
         return m_usingDarkAppearance;
 #else
         return false;
@@ -53,7 +53,7 @@
     }
 
 private:
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
     RetainPtr<NSAppearance> m_savedSystemAppearance;
     bool m_usingDarkAppearance { false };
 #endif

Modified: trunk/Source/WebCore/platform/mac/LocalDefaultSystemAppearance.mm (239903 => 239904)


--- trunk/Source/WebCore/platform/mac/LocalDefaultSystemAppearance.mm	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WebCore/platform/mac/LocalDefaultSystemAppearance.mm	2019-01-13 05:54:06 UTC (rev 239904)
@@ -33,7 +33,7 @@
 
 LocalDefaultSystemAppearance::LocalDefaultSystemAppearance(bool useDarkAppearance)
 {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
     m_savedSystemAppearance = [NSAppearance currentAppearance];
     m_usingDarkAppearance = useDarkAppearance;
 
@@ -45,7 +45,7 @@
 
 LocalDefaultSystemAppearance::~LocalDefaultSystemAppearance()
 {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
     [NSAppearance setCurrentAppearance:m_savedSystemAppearance.get()];
 #endif
 }

Modified: trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm (239903 => 239904)


--- trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm	2019-01-13 05:54:06 UTC (rev 239904)
@@ -527,7 +527,7 @@
     return _scrollbar->supportsUpdateOnSecondaryThread();
 }
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
 - (NSAppearance *)effectiveAppearanceForScrollerImp:(NSScrollerImp *)scrollerImp
 {
     UNUSED_PARAM(scrollerImp);

Modified: trunk/Source/WebCore/rendering/RenderThemeMac.mm (239903 => 239904)


--- trunk/Source/WebCore/rendering/RenderThemeMac.mm	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WebCore/rendering/RenderThemeMac.mm	2019-01-13 05:54:06 UTC (rev 239904)
@@ -162,7 +162,7 @@
 
 - (CFDictionaryRef)_adjustedCoreUIDrawOptionsForDrawingBordersOnly:(CFDictionaryRef)defaultOptions
 {
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
     // Dark mode controls don't have borders, just a semi-transparent background of shadows.
     // In the dark mode case we can't disable borders, or we will not paint anything for the control.
     NSAppearanceName appearance = [self.controlView.effectiveAppearance bestMatchFromAppearancesWithNames:@[ NSAppearanceNameAqua, NSAppearanceNameDarkAqua ]];
@@ -235,7 +235,7 @@
 
     // FIXME: Obtain the gradient colors from CoreUI or AppKit
     RetainPtr<NSGradient> gradient;
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
     NSUserAccentColor accentColor = NSColorGetUserAccentColor();
     if (accentColor == NSUserAccentColorRed)
         gradient = adoptNS([[NSGradient alloc] initWithStartingColor:[NSColor colorWithRed:(212.0 / 255) green:(122.0 / 255) blue:(117.0 / 255) alpha:1.0] endingColor:[NSColor colorWithRed:(189.0 / 255) green:(34.0 / 255) blue:(23.0 / 255) alpha:1.0]]);
@@ -398,7 +398,7 @@
 
 Color RenderThemeMac::platformInactiveSelectionBackgroundColor(OptionSet<StyleColor::Options> options) const
 {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
     LocalDefaultSystemAppearance localAppearance(options.contains(StyleColor::Options::UseDarkAppearance));
     return colorFromNSColor([NSColor unemphasizedSelectedTextBackgroundColor]);
 #else
@@ -435,7 +435,7 @@
 
 Color RenderThemeMac::platformInactiveSelectionForegroundColor(OptionSet<StyleColor::Options> options) const
 {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
     LocalDefaultSystemAppearance localAppearance(options.contains(StyleColor::Options::UseDarkAppearance));
     if (localAppearance.usingDarkAppearance())
         return colorFromNSColor([NSColor unemphasizedSelectedTextColor]);
@@ -448,7 +448,7 @@
 
 Color RenderThemeMac::platformActiveListBoxSelectionBackgroundColor(OptionSet<StyleColor::Options> options) const
 {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
     LocalDefaultSystemAppearance localAppearance(options.contains(StyleColor::Options::UseDarkAppearance));
     return colorFromNSColor([NSColor selectedContentBackgroundColor]);
 #else
@@ -459,7 +459,7 @@
 
 Color RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor(OptionSet<StyleColor::Options> options) const
 {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
     LocalDefaultSystemAppearance localAppearance(options.contains(StyleColor::Options::UseDarkAppearance));
     return colorFromNSColor([NSColor unemphasizedSelectedContentBackgroundColor]);
 #else
@@ -476,7 +476,7 @@
 
 Color RenderThemeMac::platformInactiveListBoxSelectionForegroundColor(OptionSet<StyleColor::Options> options) const
 {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
     LocalDefaultSystemAppearance localAppearance(options.contains(StyleColor::Options::UseDarkAppearance));
     return colorFromNSColor([NSColor unemphasizedSelectedTextColor]);
 #else
@@ -659,7 +659,7 @@
             return focusRingColor(options);
 
         case CSSValueAppleSystemControlAccent:
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
             return systemAppearanceColor(cache.systemControlAccentColor, @selector(controlAccentColor));
 #else
             return systemAppearanceColor(cache.systemControlAccentColor, @selector(alternateSelectedControlColor));
@@ -740,7 +740,7 @@
             case CSSValueAppleSystemAlternateSelectedText:
                 return @selector(alternateSelectedControlTextColor);
             case CSSValueAppleSystemUnemphasizedSelectedContentBackground:
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
                 return @selector(unemphasizedSelectedContentBackgroundColor);
 #else
                 return @selector(secondarySelectedControlColor);
@@ -748,13 +748,13 @@
             case CSSValueAppleSystemSelectedText:
                 return @selector(selectedTextColor);
             case CSSValueAppleSystemUnemphasizedSelectedText:
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
                 return @selector(unemphasizedSelectedTextColor);
 #else
                 return @selector(textColor);
 #endif
             case CSSValueAppleSystemUnemphasizedSelectedTextBackground:
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
                 return @selector(unemphasizedSelectedTextBackgroundColor);
 #else
                 return @selector(secondarySelectedControlColor);
@@ -769,7 +769,7 @@
                 return nullptr;
 #endif
             case CSSValueAppleSystemContainerBorder:
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
                 return @selector(containerBorderColor);
 #else
                 // Handled below.
@@ -786,7 +786,7 @@
             case CSSValueAppleSystemGrid:
                 return @selector(gridColor);
             case CSSValueAppleSystemSeparator:
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
                 return @selector(separatorColor);
 #else
                 return @selector(gridColor);
@@ -869,13 +869,13 @@
             return platformActiveTextSearchHighlightColor(options);
 #endif
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101400
+#if !HAVE(OS_DARK_MODE_SUPPORT)
         case CSSValueAppleSystemContainerBorder:
             return 0xFFC5C5C5;
 #endif
 
         case CSSValueAppleSystemEvenAlternatingContentBackground: {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
             NSArray<NSColor *> *alternateColors = [NSColor alternatingContentBackgroundColors];
 #else
             NSArray<NSColor *> *alternateColors = [NSColor controlAlternatingRowBackgroundColors];
@@ -885,7 +885,7 @@
         }
 
         case CSSValueAppleSystemOddAlternatingContentBackground: {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
             NSArray<NSColor *> *alternateColors = [NSColor alternatingContentBackgroundColors];
 #else
             NSArray<NSColor *> *alternateColors = [NSColor controlAlternatingRowBackgroundColors];

Modified: trunk/Source/WebKit/ChangeLog (239903 => 239904)


--- trunk/Source/WebKit/ChangeLog	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WebKit/ChangeLog	2019-01-13 05:54:06 UTC (rev 239904)
@@ -1,3 +1,16 @@
+2019-01-12  Timothy Hatcher  <[email protected]>
+
+        Have prefers-color-scheme: light always match on macOS versions before Mojave.
+        https://bugs.webkit.org/show_bug.cgi?id=191655
+        rdar://problem/46074680
+
+        Reviewed by Megan Gardner.
+
+        * Configurations/FeatureDefines.xcconfig: ENABLE_DARK_MODE_CSS_macosx for all OS versions.
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::effectiveAppearanceIsDark):
+        * UIProcess/RemoteLayerTree/mac/ScrollerMac.mm:
+
 2019-01-12  Dan Bernstein  <[email protected]>
 
         [Cocoa] Avoid importing directly from subumbrella frameworks

Modified: trunk/Source/WebKit/Configurations/FeatureDefines.xcconfig (239903 => 239904)


--- trunk/Source/WebKit/Configurations/FeatureDefines.xcconfig	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WebKit/Configurations/FeatureDefines.xcconfig	2019-01-13 05:54:06 UTC (rev 239904)
@@ -113,8 +113,7 @@
 ENABLE_CUSTOM_SCHEME_HANDLER = ;
 
 ENABLE_DARK_MODE_CSS = $(ENABLE_DARK_MODE_CSS_$(WK_PLATFORM_NAME));
-ENABLE_DARK_MODE_CSS_macosx = $(ENABLE_DARK_MODE_CSS$(WK_MACOS_1014));
-ENABLE_DARK_MODE_CSS_MACOS_SINCE_1014 = ENABLE_DARK_MODE_CSS;
+ENABLE_DARK_MODE_CSS_macosx = ENABLE_DARK_MODE_CSS;
 
 ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(WK_PLATFORM_NAME));
 ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm (239903 => 239904)


--- trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm	2019-01-13 05:54:06 UTC (rev 239904)
@@ -5328,7 +5328,7 @@
 
 bool WebViewImpl::effectiveAppearanceIsDark()
 {
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
     NSAppearanceName appearance = [[m_view effectiveAppearance] bestMatchFromAppearancesWithNames:@[ NSAppearanceNameAqua, NSAppearanceNameDarkAqua ]];
     return [appearance isEqualToString:NSAppearanceNameDarkAqua];
 #else

Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollerMac.mm (239903 => 239904)


--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollerMac.mm	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollerMac.mm	2019-01-13 05:54:06 UTC (rev 239904)
@@ -195,7 +195,7 @@
     return true;
 }
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
 - (NSAppearance *)effectiveAppearanceForScrollerImp:(NSScrollerImp *)scrollerImp
 {
     UNUSED_PARAM(scrollerImp);

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (239903 => 239904)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2019-01-13 05:54:06 UTC (rev 239904)
@@ -1,3 +1,15 @@
+2019-01-12  Timothy Hatcher  <[email protected]>
+
+        Have prefers-color-scheme: light always match on macOS versions before Mojave.
+        https://bugs.webkit.org/show_bug.cgi?id=191655
+        rdar://problem/46074680
+
+        Reviewed by Megan Gardner.
+
+        * Configurations/FeatureDefines.xcconfig: ENABLE_DARK_MODE_CSS_macosx for all OS versions.
+        * WebView/WebView.mm:
+        (-[WebView _effectiveAppearanceIsDark]):
+
 2019-01-12  Dan Bernstein  <[email protected]>
 
         [Cocoa] Avoid importing directly from subumbrella frameworks

Modified: trunk/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig (239903 => 239904)


--- trunk/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig	2019-01-13 05:54:06 UTC (rev 239904)
@@ -113,8 +113,7 @@
 ENABLE_CUSTOM_SCHEME_HANDLER = ;
 
 ENABLE_DARK_MODE_CSS = $(ENABLE_DARK_MODE_CSS_$(WK_PLATFORM_NAME));
-ENABLE_DARK_MODE_CSS_macosx = $(ENABLE_DARK_MODE_CSS$(WK_MACOS_1014));
-ENABLE_DARK_MODE_CSS_MACOS_SINCE_1014 = ENABLE_DARK_MODE_CSS;
+ENABLE_DARK_MODE_CSS_macosx = ENABLE_DARK_MODE_CSS;
 
 ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(WK_PLATFORM_NAME));
 ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (239903 => 239904)


--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2019-01-13 05:54:06 UTC (rev 239904)
@@ -5297,7 +5297,7 @@
 
 - (bool)_effectiveAppearanceIsDark
 {
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if HAVE(OS_DARK_MODE_SUPPORT)
     NSAppearanceName appearance = [[self effectiveAppearance] bestMatchFromAppearancesWithNames:@[ NSAppearanceNameAqua, NSAppearanceNameDarkAqua ]];
     return [appearance isEqualToString:NSAppearanceNameDarkAqua];
 #else

Modified: trunk/Tools/ChangeLog (239903 => 239904)


--- trunk/Tools/ChangeLog	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Tools/ChangeLog	2019-01-13 05:54:06 UTC (rev 239904)
@@ -1,3 +1,14 @@
+2019-01-12  Timothy Hatcher  <[email protected]>
+
+        Have prefers-color-scheme: light always match on macOS versions before Mojave.
+        https://bugs.webkit.org/show_bug.cgi?id=191655
+        rdar://problem/46074680
+
+        Reviewed by Megan Gardner.
+
+        * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: ENABLE_DARK_MODE_CSS_macosx for all OS versions.
+        * TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle.mm:
+
 2019-01-12  Dan Bernstein  <[email protected]>
 
         [Cocoa] Avoid importing directly from subumbrella frameworks

Modified: trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig (239903 => 239904)


--- trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig	2019-01-13 05:54:06 UTC (rev 239904)
@@ -113,8 +113,7 @@
 ENABLE_CUSTOM_SCHEME_HANDLER = ;
 
 ENABLE_DARK_MODE_CSS = $(ENABLE_DARK_MODE_CSS_$(WK_PLATFORM_NAME));
-ENABLE_DARK_MODE_CSS_macosx = $(ENABLE_DARK_MODE_CSS$(WK_MACOS_1014));
-ENABLE_DARK_MODE_CSS_MACOS_SINCE_1014 = ENABLE_DARK_MODE_CSS;
+ENABLE_DARK_MODE_CSS_macosx = ENABLE_DARK_MODE_CSS;
 
 ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(WK_PLATFORM_NAME));
 ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;

Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle.mm (239903 => 239904)


--- trunk/Tools/TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle.mm	2019-01-12 21:28:15 UTC (rev 239903)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle.mm	2019-01-13 05:54:06 UTC (rev 239904)
@@ -25,7 +25,7 @@
 
 #include "config.h"
 
-#if ENABLE(DARK_MODE_CSS) && WK_HAVE_C_SPI
+#if ENABLE(DARK_MODE_CSS) && HAVE(OS_DARK_MODE_SUPPORT) && WK_HAVE_C_SPI
 
 #include "PlatformUtilities.h"
 #include "PlatformWebView.h"
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to