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