Title: [229737] trunk/Source
Revision
229737
Author
megan_gard...@apple.com
Date
2018-03-19 19:49:14 -0700 (Mon, 19 Mar 2018)

Log Message

Clear style colors when setting default appearance
https://bugs.webkit.org/show_bug.cgi?id=183759

Reviewed by Tim Horton.

Colors are cached and need to be cleared and recalculated.
Source/WebKit:


* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setDefaultAppearance):

Source/WebKitLegacy/mac:

Refactor to do all style recalcs together.

* WebView/WebView.mm:
(-[WebView _setDefaultAppearanceAndClearStyle]):
(-[WebView _setUseSystemAppearance:]):
(-[WebView effectiveAppearanceDidChange]):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (229736 => 229737)


--- trunk/Source/WebKit/ChangeLog	2018-03-20 02:34:25 UTC (rev 229736)
+++ trunk/Source/WebKit/ChangeLog	2018-03-20 02:49:14 UTC (rev 229737)
@@ -1,3 +1,15 @@
+2018-03-19  Megan Gardner  <megan_gard...@apple.com>
+
+        Clear style colors when setting default appearance
+        https://bugs.webkit.org/show_bug.cgi?id=183759
+
+        Reviewed by Tim Horton.
+
+        Colors are cached and need to be cleared and recalculated.
+
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::setDefaultAppearance):
+
 2018-03-19  Chris Dumez  <cdu...@apple.com>
 
         WKWebView.ClearAppCache is a flaky API test failure on High Sierra.

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (229736 => 229737)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2018-03-20 02:34:25 UTC (rev 229736)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2018-03-20 02:49:14 UTC (rev 229737)
@@ -183,6 +183,7 @@
 #include <WebCore/PromisedBlobInfo.h>
 #include <WebCore/Range.h>
 #include <WebCore/RenderLayer.h>
+#include <WebCore/RenderTheme.h>
 #include <WebCore/RenderTreeAsText.h>
 #include <WebCore/RenderView.h>
 #include <WebCore/ResourceRequest.h>
@@ -4130,6 +4131,7 @@
 void WebPage::setDefaultAppearance(bool defaultAppearance)
 {
     corePage()->setDefaultAppearance(defaultAppearance);
+    RenderTheme::singleton().platformColorsDidChange();
     corePage()->setNeedsRecalcStyleInAllFrames();
 }
 #endif

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (229736 => 229737)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2018-03-20 02:34:25 UTC (rev 229736)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2018-03-20 02:49:14 UTC (rev 229737)
@@ -1,3 +1,18 @@
+2018-03-19  Megan Gardner  <megan_gard...@apple.com>
+
+        Clear style colors when setting default appearance
+        https://bugs.webkit.org/show_bug.cgi?id=183759
+
+        Reviewed by Tim Horton.
+
+        Colors are cached and need to be cleared and recalculated.
+        Refactor to do all style recalcs together.
+
+        * WebView/WebView.mm:
+        (-[WebView _setDefaultAppearanceAndClearStyle]):
+        (-[WebView _setUseSystemAppearance:]):
+        (-[WebView effectiveAppearanceDidChange]):
+
 2018-03-19  Jiewen Tan  <jiewen_...@apple.com>
 
         Unreviewed, another quick fix for r229699

Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (229736 => 229737)


--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2018-03-20 02:34:25 UTC (rev 229736)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2018-03-20 02:49:14 UTC (rev 229737)
@@ -185,6 +185,7 @@
 #import <WebCore/PathUtilities.h>
 #import <WebCore/PlatformEventFactoryMac.h>
 #import <WebCore/ProgressTracker.h>
+#import <WebCore/RenderTheme.h>
 #import <WebCore/RenderView.h>
 #import <WebCore/RenderWidget.h>
 #import <WebCore/ResourceHandle.h>
@@ -5197,12 +5198,19 @@
 - (bool)_defaultAppearance { return true; }
 #endif
 
+
+- (void)_updateDefaultAppearance
+{
+    _private->page->setDefaultAppearance([self _defaultAppearance]);
+    RenderTheme::singleton().platformColorsDidChange();
+    _private->page->setNeedsRecalcStyleInAllFrames();
+}
+
 - (void)_setUseSystemAppearance:(BOOL)useSystemAppearance
 {
     if (auto page = _private->page) {
         page->setUseSystemAppearance(useSystemAppearance);
-        page->setDefaultAppearance([self _defaultAppearance]);
-        page->setNeedsRecalcStyleInAllFrames();
+        [self _updateDefaultAppearance];
     }
 }
 
@@ -5219,8 +5227,7 @@
     if (!_private->page)
         return;
     
-    _private->page->setDefaultAppearance([self _defaultAppearance]);
-    _private->page->setNeedsRecalcStyleInAllFrames();
+    [self _updateDefaultAppearance];
 }
 
 - (void)_setSourceApplicationAuditData:(NSData *)sourceApplicationAuditData
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to