Diff
Modified: trunk/Source/WebCore/ChangeLog (245071 => 245072)
--- trunk/Source/WebCore/ChangeLog 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebCore/ChangeLog 2019-05-08 22:24:56 UTC (rev 245072)
@@ -1,3 +1,24 @@
+2019-05-08 Timothy Hatcher <[email protected]>
+
+ Add plumbing for inactive system colors in RenderTheme cache.
+ https://bugs.webkit.org/show_bug.cgi?id=197699
+ rdar://problem/49406936
+
+ Reviewed by Tim Horton.
+
+ * css/StyleColor.h:
+ * page/Page.cpp:
+ (WebCore::Page::effectiveAppearanceDidChange): Renamed from setUseDarkAppearance.
+ * page/Page.h:
+ (WebCore::Page::useInactiveAppearance const):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::purgeCaches):
+ (WebCore::RenderTheme::platformColorsDidChange):
+ (WebCore::RenderTheme::colorCache const):
+ * rendering/RenderTheme.h:
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::setUseDarkAppearanceInternal):
+
2019-05-08 Robin Morisset <[email protected]>
All prototypes should call didBecomePrototype()
Modified: trunk/Source/WebCore/css/StyleColor.h (245071 => 245072)
--- trunk/Source/WebCore/css/StyleColor.h 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebCore/css/StyleColor.h 2019-05-08 22:24:56 UTC (rev 245072)
@@ -54,7 +54,8 @@
enum class Options : uint8_t {
ForVisitedLink = 1 << 0,
UseSystemAppearance = 1 << 1,
- UseDarkAppearance = 1 << 2
+ UseDarkAppearance = 1 << 2,
+ UseInactiveAppearance = 1 << 3
};
static Color colorFromKeyword(CSSValueID, OptionSet<Options>);
Modified: trunk/Source/WebCore/page/Page.cpp (245071 => 245072)
--- trunk/Source/WebCore/page/Page.cpp 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebCore/page/Page.cpp 2019-05-08 22:24:56 UTC (rev 245072)
@@ -2726,19 +2726,27 @@
}
}
-void Page::setUseDarkAppearance(bool value)
+void Page::effectiveAppearanceDidChange(bool useDarkAppearance, bool useInactiveAppearance)
{
#if HAVE(OS_DARK_MODE_SUPPORT)
- if (m_useDarkAppearance == value)
+ if (m_useDarkAppearance == useDarkAppearance && m_useInactiveAppearance == useInactiveAppearance)
return;
- m_useDarkAppearance = value;
+ m_useDarkAppearance = useDarkAppearance;
+ m_useInactiveAppearance = useInactiveAppearance;
- InspectorInstrumentation::defaultAppearanceDidChange(*this, value);
+ InspectorInstrumentation::defaultAppearanceDidChange(*this, useDarkAppearance);
appearanceDidChange();
#else
- UNUSED_PARAM(value);
+ UNUSED_PARAM(useDarkAppearance);
+
+ if (m_useInactiveAppearance == useInactiveAppearance)
+ return;
+
+ m_useInactiveAppearance = useInactiveAppearance;
+
+ appearanceDidChange();
#endif
}
Modified: trunk/Source/WebCore/page/Page.h (245071 => 245072)
--- trunk/Source/WebCore/page/Page.h 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebCore/page/Page.h 2019-05-08 22:24:56 UTC (rev 245072)
@@ -380,7 +380,8 @@
WEBCORE_EXPORT void setUseSystemAppearance(bool);
WEBCORE_EXPORT bool useDarkAppearance() const;
- WEBCORE_EXPORT void setUseDarkAppearance(bool);
+ bool useInactiveAppearance() const { return m_useInactiveAppearance; }
+ WEBCORE_EXPORT void effectiveAppearanceDidChange(bool useDarkAppearance, bool useInactiveAppearance);
bool defaultUseDarkAppearance() const { return m_useDarkAppearance; }
void setUseDarkAppearanceOverride(Optional<bool>);
@@ -834,6 +835,7 @@
#endif
bool m_useSystemAppearance { false };
+ bool m_useInactiveAppearance { false };
bool m_useDarkAppearance { false };
Optional<bool> m_useDarkAppearanceOverride;
Modified: trunk/Source/WebCore/rendering/RenderTheme.cpp (245071 => 245072)
--- trunk/Source/WebCore/rendering/RenderTheme.cpp 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebCore/rendering/RenderTheme.cpp 2019-05-08 22:24:56 UTC (rev 245072)
@@ -1212,14 +1212,12 @@
void RenderTheme::purgeCaches()
{
- m_colorCache = ColorCache();
- m_darkColorCache = ColorCache();
+ m_colorCacheMap.clear();
}
void RenderTheme::platformColorsDidChange()
{
- m_colorCache = ColorCache();
- m_darkColorCache = ColorCache();
+ m_colorCacheMap.clear();
Page::updateStyleForAllPagesAfterGlobalChangeInEnvironment();
}
@@ -1226,9 +1224,12 @@
auto RenderTheme::colorCache(OptionSet<StyleColor::Options> options) const -> ColorCache&
{
- if (options.contains(StyleColor::Options::UseDarkAppearance))
- return m_darkColorCache;
- return m_colorCache;
+ auto optionsIgnoringVisitedLink = options;
+ optionsIgnoringVisitedLink.remove(StyleColor::Options::ForVisitedLink);
+
+ return m_colorCacheMap.ensure(optionsIgnoringVisitedLink.toRaw(), [] {
+ return ColorCache();
+ }).iterator->value;
}
FontCascadeDescription& RenderTheme::cachedSystemFontDescription(CSSValueID systemFontID) const
Modified: trunk/Source/WebCore/rendering/RenderTheme.h (245071 => 245072)
--- trunk/Source/WebCore/rendering/RenderTheme.h 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebCore/rendering/RenderTheme.h 2019-05-08 22:24:56 UTC (rev 245072)
@@ -441,8 +441,7 @@
virtual ColorCache& colorCache(OptionSet<StyleColor::Options>) const;
private:
- mutable ColorCache m_colorCache;
- mutable ColorCache m_darkColorCache;
+ mutable HashMap<uint8_t, ColorCache, DefaultHash<uint8_t>::Hash, WTF::UnsignedWithZeroKeyHashTraits<uint8_t>> m_colorCacheMap;
};
} // namespace WebCore
Modified: trunk/Source/WebCore/testing/InternalSettings.cpp (245071 => 245072)
--- trunk/Source/WebCore/testing/InternalSettings.cpp 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebCore/testing/InternalSettings.cpp 2019-05-08 22:24:56 UTC (rev 245072)
@@ -548,7 +548,7 @@
}
#endif
ASSERT(m_page);
- m_page->setUseDarkAppearance(useDarkAppearance);
+ m_page->effectiveAppearanceDidChange(useDarkAppearance, m_page->useInactiveAppearance());
}
ExceptionOr<void> InternalSettings::setUseDarkAppearance(bool useDarkAppearance)
Modified: trunk/Source/WebKit/ChangeLog (245071 => 245072)
--- trunk/Source/WebKit/ChangeLog 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebKit/ChangeLog 2019-05-08 22:24:56 UTC (rev 245072)
@@ -1,3 +1,38 @@
+2019-05-08 Timothy Hatcher <[email protected]>
+
+ Add plumbing for inactive system colors in RenderTheme cache.
+ https://bugs.webkit.org/show_bug.cgi?id=197699
+ rdar://problem/49406936
+
+ Reviewed by Tim Horton.
+
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode const):
+ (WebKit::WebPageCreationParameters::decode):
+ * Shared/WebPageCreationParameters.h:
+ * UIProcess/Cocoa/WebViewImpl.h:
+ * UIProcess/Cocoa/WebViewImpl.mm:
+ (WebKit::WebViewImpl::effectiveAppearanceIsInactive):
+ * UIProcess/PageClient.h:
+ (WebKit::PageClient::effectiveAppearanceIsInactive const):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::creationParameters):
+ (WebKit::WebPageProxy::useInactiveAppearance const):
+ (WebKit::WebPageProxy::effectiveAppearanceDidChange):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/mac/PageClientImplMac.h:
+ * UIProcess/mac/PageClientImplMac.mm:
+ (WebKit::PageClientImpl::effectiveAppearanceIsInactive const):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetUseDarkAppearance):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::m_shrinkToFitContentTimer):
+ (WebKit::WebPage::effectiveAppearanceDidChange): Renamed from setUseDarkAppearance.
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ * WebProcess/WebPage/gtk/WebPageGtk.cpp:
+ (WebKit::WebPage::effectiveAppearanceDidChange): Renamed from setUseDarkAppearance.
+
2019-05-08 Chris Dumez <[email protected]>
Regression: Crash at WebKit: PAL::HysteresisActivity::start
Modified: trunk/Source/WebKit/Shared/WebPageCreationParameters.cpp (245071 => 245072)
--- trunk/Source/WebKit/Shared/WebPageCreationParameters.cpp 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebKit/Shared/WebPageCreationParameters.cpp 2019-05-08 22:24:56 UTC (rev 245072)
@@ -77,6 +77,7 @@
encoder << controlledByAutomation;
encoder << isProcessSwap;
encoder << useDarkAppearance;
+ encoder << useInactiveAppearance;
#if PLATFORM(MAC)
encoder << colorSpace;
@@ -247,6 +248,8 @@
return WTF::nullopt;
if (!decoder.decode(parameters.useDarkAppearance))
return WTF::nullopt;
+ if (!decoder.decode(parameters.useInactiveAppearance))
+ return WTF::nullopt;
#if PLATFORM(MAC)
if (!decoder.decode(parameters.colorSpace))
Modified: trunk/Source/WebKit/Shared/WebPageCreationParameters.h (245071 => 245072)
--- trunk/Source/WebKit/Shared/WebPageCreationParameters.h 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebKit/Shared/WebPageCreationParameters.h 2019-05-08 22:24:56 UTC (rev 245072)
@@ -136,6 +136,7 @@
bool isProcessSwap { false };
bool useDarkAppearance { false };
+ bool useInactiveAppearance { false };
#if PLATFORM(MAC)
ColorSpaceData colorSpace;
Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h (245071 => 245072)
--- trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h 2019-05-08 22:24:56 UTC (rev 245072)
@@ -598,6 +598,7 @@
void effectiveAppearanceDidChange();
bool effectiveAppearanceIsDark();
+ bool effectiveAppearanceIsInactive();
void takeFocus(WebCore::FocusDirection);
Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm (245071 => 245072)
--- trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm 2019-05-08 22:24:56 UTC (rev 245072)
@@ -5316,6 +5316,12 @@
#endif
}
+bool WebViewImpl::effectiveAppearanceIsInactive()
+{
+ // FIXME: Use the window isKeyWindow state or view first responder status?
+ return false;
+}
+
} // namespace WebKit
#endif // PLATFORM(MAC)
Modified: trunk/Source/WebKit/UIProcess/PageClient.h (245071 => 245072)
--- trunk/Source/WebKit/UIProcess/PageClient.h 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebKit/UIProcess/PageClient.h 2019-05-08 22:24:56 UTC (rev 245072)
@@ -327,6 +327,7 @@
#endif
virtual bool effectiveAppearanceIsDark() const { return false; }
+ virtual bool effectiveAppearanceIsInactive() const { return false; }
virtual void enterAcceleratedCompositingMode(const LayerTreeContext&) = 0;
virtual void exitAcceleratedCompositingMode() = 0;
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (245071 => 245072)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2019-05-08 22:24:56 UTC (rev 245072)
@@ -7105,6 +7105,7 @@
parameters.layerHostingMode = m_layerHostingMode;
parameters.controlledByAutomation = m_controlledByAutomation;
parameters.useDarkAppearance = useDarkAppearance();
+ parameters.useInactiveAppearance = useInactiveAppearance();
#if PLATFORM(MAC)
parameters.colorSpace = pageClient().colorSpace();
parameters.useSystemAppearance = m_useSystemAppearance;
@@ -8592,12 +8593,17 @@
return pageClient().effectiveAppearanceIsDark();
}
+bool WebPageProxy::useInactiveAppearance() const
+{
+ return pageClient().effectiveAppearanceIsInactive();
+}
+
void WebPageProxy::effectiveAppearanceDidChange()
{
if (!hasRunningProcess())
return;
- m_process->send(Messages::WebPage::SetUseDarkAppearance(useDarkAppearance()), m_pageID);
+ m_process->send(Messages::WebPage::EffectiveAppearanceDidChange(useDarkAppearance(), useInactiveAppearance()), m_pageID);
}
#if PLATFORM(COCOA)
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (245071 => 245072)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.h 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h 2019-05-08 22:24:56 UTC (rev 245072)
@@ -943,6 +943,7 @@
void effectiveAppearanceDidChange();
bool useDarkAppearance() const;
+ bool useInactiveAppearance() const;
#if PLATFORM(COCOA)
// Called by the web process through a message.
Modified: trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.h (245071 => 245072)
--- trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.h 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.h 2019-05-08 22:24:56 UTC (rev 245072)
@@ -241,6 +241,7 @@
WebCore::UserInterfaceLayoutDirection userInterfaceLayoutDirection() override;
bool effectiveAppearanceIsDark() const override;
+ bool effectiveAppearanceIsInactive() const override;
#if ENABLE(DRAG_SUPPORT)
void didPerformDragOperation(bool handled) final;
Modified: trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm (245071 => 245072)
--- trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm 2019-05-08 22:24:56 UTC (rev 245072)
@@ -944,6 +944,11 @@
return m_impl->effectiveAppearanceIsDark();
}
+bool PageClientImpl::effectiveAppearanceIsInactive() const
+{
+ return m_impl->effectiveAppearanceIsInactive();
+}
+
void PageClientImpl::takeFocus(WebCore::FocusDirection direction)
{
m_impl->takeFocus(direction);
Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp (245071 => 245072)
--- trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp 2019-05-08 22:24:56 UTC (rev 245072)
@@ -593,7 +593,7 @@
{
WebKit::WebPage* webPage = WebKit::toImpl(pageRef);
if (WebCore::Page* page = webPage ? webPage->corePage() : nullptr)
- page->setUseDarkAppearance(useDarkAppearance);
+ page->effectiveAppearanceDidChange(useDarkAppearance, page->useInactiveAppearance());
}
bool WKBundlePageIsUsingDarkAppearance(WKBundlePageRef pageRef)
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (245071 => 245072)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2019-05-08 22:24:56 UTC (rev 245072)
@@ -557,7 +557,7 @@
setGapBetweenPages(parameters.gapBetweenPages);
setPaginationLineGridEnabled(parameters.paginationLineGridEnabled);
- setUseDarkAppearance(parameters.useDarkAppearance);
+ effectiveAppearanceDidChange(parameters.useDarkAppearance, parameters.useInactiveAppearance);
if (parameters.isEditable)
setEditable(true);
@@ -4621,9 +4621,9 @@
#endif
#if !PLATFORM(GTK)
-void WebPage::setUseDarkAppearance(bool useDarkAppearance)
+void WebPage::effectiveAppearanceDidChange(bool useDarkAppearance, bool useInactiveAppearance)
{
- corePage()->setUseDarkAppearance(useDarkAppearance);
+ corePage()->effectiveAppearanceDidChange(useDarkAppearance, useInactiveAppearance);
}
#endif
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (245071 => 245072)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h 2019-05-08 22:24:56 UTC (rev 245072)
@@ -547,7 +547,7 @@
void setUseSystemAppearance(bool);
#endif
- void setUseDarkAppearance(bool);
+ void effectiveAppearanceDidChange(bool useDarkAppearance, bool useInactiveAppearance);
bool windowIsFocused() const;
bool windowAndWebPageAreFocused() const;
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in (245071 => 245072)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in 2019-05-08 22:24:56 UTC (rev 245072)
@@ -488,7 +488,7 @@
SetFooterBannerHeightForTesting(int height);
#endif
- SetUseDarkAppearance(bool useDarkAppearance);
+ EffectiveAppearanceDidChange(bool useDarkAppearance, bool useInactiveAppearance);
#if PLATFORM(COCOA)
RequestActiveNowPlayingSessionInfo(WebKit::CallbackID callbackID)
Modified: trunk/Source/WebKit/WebProcess/WebPage/gtk/WebPageGtk.cpp (245071 => 245072)
--- trunk/Source/WebKit/WebProcess/WebPage/gtk/WebPageGtk.cpp 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebKit/WebProcess/WebPage/gtk/WebPageGtk.cpp 2019-05-08 22:24:56 UTC (rev 245072)
@@ -195,11 +195,11 @@
frame->coreFrame()->selection().setBase(selection.extent(), selection.affinity());
}
-void WebPage::setUseDarkAppearance(bool useDarkAppearance)
+void WebPage::effectiveAppearanceDidChange(bool useDarkAppearance, bool useInactiveAppearance)
{
if (auto* settings = gtk_settings_get_default())
g_object_set(settings, "gtk-application-prefer-dark-theme", useDarkAppearance, nullptr);
- corePage()->setUseDarkAppearance(useDarkAppearance);
+ corePage()->effectiveAppearanceDidChange(useDarkAppearance, useInactiveAppearance);
}
} // namespace WebKit
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (245071 => 245072)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2019-05-08 22:24:56 UTC (rev 245072)
@@ -1,3 +1,21 @@
+2019-05-08 Timothy Hatcher <[email protected]>
+
+ Add plumbing for inactive system colors in RenderTheme cache.
+ https://bugs.webkit.org/show_bug.cgi?id=197699
+ rdar://problem/49406936
+
+ Reviewed by Tim Horton.
+
+ * WebView/WebView.mm:
+ (-[WebView _commonInitializationWithFrameName:groupName:]):
+ (-[WebView _setUseDarkAppearance:]):
+ (-[WebView _useInactiveAppearance]):
+ (-[WebView _setUseInactiveAppearance:]):
+ (-[WebView _setUseDarkAppearance:useInactiveAppearance:]):
+ (-[WebView _effectiveAppearanceIsInactive]):
+ (-[WebView viewDidChangeEffectiveAppearance]):
+ * WebView/WebViewPrivate.h:
+
2019-05-03 Daniel Bates <[email protected]>
Pass KeyboardEvent by reference in more places
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (245071 => 245072)
--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm 2019-05-08 22:24:56 UTC (rev 245072)
@@ -1589,7 +1589,7 @@
#endif
#if HAVE(OS_DARK_MODE_SUPPORT) && PLATFORM(MAC)
- _private->page->setUseDarkAppearance(self._effectiveAppearanceIsDark);
+ _private->page->effectiveAppearanceDidChange(self._effectiveAppearanceIsDark, self._effectiveAppearanceIsInactive);
#endif
_private->page->settings().setContentDispositionAttachmentSandboxEnabled(true);
@@ -2500,9 +2500,30 @@
{
if (!_private || !_private->page)
return;
- _private->page->setUseDarkAppearance(useDarkAppearance);
+ [self _setUseDarkAppearance:useDarkAppearance useInactiveAppearance:_private->page->useInactiveAppearance()];
}
+- (BOOL)_useInactiveAppearance
+{
+ if (!_private || !_private->page)
+ return NO;
+ return _private->page->useInactiveAppearance();
+}
+
+- (void)_setUseInactiveAppearance:(BOOL)useInactiveAppearance
+{
+ if (!_private || !_private->page)
+ return;
+ [self _setUseDarkAppearance:_private->page->useDarkAppearance() useInactiveAppearance:useInactiveAppearance];
+}
+
+- (void)_setUseDarkAppearance:(BOOL)useDarkAppearance useInactiveAppearance:(BOOL)useInactiveAppearance
+{
+ if (!_private || !_private->page)
+ return;
+ _private->page->effectiveAppearanceDidChange(useDarkAppearance, useInactiveAppearance);
+}
+
+ (void)_setIconLoadingEnabled:(BOOL)enabled
{
iconLoadingEnabled = enabled;
@@ -5330,6 +5351,12 @@
NSAppearanceName appearance = [[self effectiveAppearance] bestMatchFromAppearancesWithNames:@[ NSAppearanceNameAqua, NSAppearanceNameDarkAqua ]];
return [appearance isEqualToString:NSAppearanceNameDarkAqua];
}
+
+- (bool)_effectiveAppearanceIsInactive
+{
+ // FIXME: Use the window isKeyWindow state or view first responder status?
+ return false;
+}
#endif
- (void)_setUseSystemAppearance:(BOOL)useSystemAppearance
@@ -5354,7 +5381,7 @@
if (!_private || !_private->page)
return;
- _private->page->setUseDarkAppearance(self._effectiveAppearanceIsDark);
+ _private->page->effectiveAppearanceDidChange(self._effectiveAppearanceIsDark, self._effectiveAppearanceIsInactive);
}
#endif
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebViewPrivate.h (245071 => 245072)
--- trunk/Source/WebKitLegacy/mac/WebView/WebViewPrivate.h 2019-05-08 22:19:26 UTC (rev 245071)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebViewPrivate.h 2019-05-08 22:24:56 UTC (rev 245072)
@@ -323,7 +323,10 @@
+ (BOOL)_isIconLoadingEnabled;
@property (nonatomic, assign, setter=_setUseDarkAppearance:) BOOL _useDarkAppearance;
+@property (nonatomic, assign, setter=_setUseInactiveAppearance:) BOOL _useInactiveAppearance;
+- (void)_setUseDarkAppearance:(BOOL)useDarkAppearance useInactiveAppearance:(BOOL)useInactiveAppearance;
+
- (WebInspector *)inspector;
#if ENABLE_REMOTE_INSPECTOR