Diff
Modified: trunk/Source/WebKit/ChangeLog (284213 => 284214)
--- trunk/Source/WebKit/ChangeLog 2021-10-14 23:30:09 UTC (rev 284213)
+++ trunk/Source/WebKit/ChangeLog 2021-10-14 23:35:37 UTC (rev 284214)
@@ -1,3 +1,21 @@
+2021-10-14 Peng Liu <[email protected]>
+
+ Promote WKPreferences._needsSiteSpecificQuirks to API
+ https://bugs.webkit.org/show_bug.cgi?id=230721
+ <rdar://83255206>
+
+ Reviewed by Jer Noble.
+
+ Add a new API `WKPreferences.isSetSiteSpecificQuirksModeEnabled`.
+
+ No new tests. Updated API tests to use the new API.
+
+ * UIProcess/API/Cocoa/WKPreferences.h:
+ * UIProcess/API/Cocoa/WKPreferences.mm:
+ (-[WKPreferences isSiteSpecificQuirksModeEnabled]):
+ (-[WKPreferences setSiteSpecificQuirksModeEnabled:]):
+ * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
+
2021-10-14 Alex Christensen <[email protected]>
Remove Variant.h
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.h (284213 => 284214)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.h 2021-10-14 23:30:09 UTC (rev 284213)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.h 2021-10-14 23:35:37 UTC (rev 284214)
@@ -64,6 +64,12 @@
*/
@property (nonatomic, getter=isTextInteractionEnabled) BOOL textInteractionEnabled WK_API_AVAILABLE(macos(11.3), ios(14.5));
+/*! @abstract A Boolean value indicating whether WebKit will apply built-in workarounds (quirks)
+ to improve compatibility with certain known websites. You can disable site-specific quirks
+ to help test your website without these workarounds. Enabled by default.
+ */
+@property (nonatomic, getter=isSiteSpecificQuirksModeEnabled) BOOL siteSpecificQuirksModeEnabled WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
+
@end
@interface WKPreferences (WKDeprecated)
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm (284213 => 284214)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm 2021-10-14 23:30:09 UTC (rev 284213)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm 2021-10-14 23:35:37 UTC (rev 284214)
@@ -153,6 +153,16 @@
_preferences->setTextInteractionEnabled(textInteractionEnabled);
}
+- (BOOL)isSiteSpecificQuirksModeEnabled
+{
+ return _preferences->needsSiteSpecificQuirks();
+}
+
+- (void)setSiteSpecificQuirksModeEnabled:(BOOL)enabled
+{
+ _preferences->setNeedsSiteSpecificQuirks(enabled);
+}
+
#pragma mark OS X-specific methods
#if PLATFORM(MAC)
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h (284213 => 284214)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h 2021-10-14 23:30:09 UTC (rev 284213)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h 2021-10-14 23:35:37 UTC (rev 284214)
@@ -157,7 +157,7 @@
@property (nonatomic, setter=_setShouldIgnoreMetaViewport:) BOOL _shouldIgnoreMetaViewport WK_API_AVAILABLE(macos(10.14.4), ios(12.2));
@property (nonatomic, setter=_setVideoQualityIncludesDisplayCompositingEnabled:) BOOL _videoQualityIncludesDisplayCompositingEnabled WK_API_AVAILABLE(macos(10.14.4), ios(12.2));
@property (nonatomic, setter=_setDeviceOrientationEventEnabled:) BOOL _deviceOrientationEventEnabled WK_API_AVAILABLE(macos(10.14.4), ios(12.2));
-@property (nonatomic, setter=_setNeedsSiteSpecificQuirks:) BOOL _needsSiteSpecificQuirks WK_API_AVAILABLE(macos(10.13.4), ios(13.0));
+@property (nonatomic, setter=_setNeedsSiteSpecificQuirks:) BOOL _needsSiteSpecificQuirks WK_API_DEPRECATED_WITH_REPLACEMENT("siteSpecificQuirksModeEnabled", macos(10.13.4, WK_MAC_TBA), ios(13.0, WK_IOS_TBA));
@property (nonatomic, setter=_setItpDebugModeEnabled:) BOOL _itpDebugModeEnabled WK_API_AVAILABLE(macos(10.15), ios(13.0));
@property (nonatomic, setter=_setMediaSourceEnabled:) BOOL _mediaSourceEnabled WK_API_AVAILABLE(macos(10.13.4), ios(13.0));
@property (nonatomic, setter=_setSecureContextChecksEnabled:) BOOL _secureContextChecksEnabled WK_API_AVAILABLE(macos(10.15.4), ios(13.4));
Modified: trunk/Tools/ChangeLog (284213 => 284214)
--- trunk/Tools/ChangeLog 2021-10-14 23:30:09 UTC (rev 284213)
+++ trunk/Tools/ChangeLog 2021-10-14 23:35:37 UTC (rev 284214)
@@ -1,3 +1,16 @@
+2021-10-14 Peng Liu <[email protected]>
+
+ Promote WKPreferences._needsSiteSpecificQuirks to API
+ https://bugs.webkit.org/show_bug.cgi?id=230721
+ <rdar://83255206>
+
+ Reviewed by Jer Noble.
+
+ Updated API tests to use the new API.
+
+ * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
+ (TEST):
+
2021-10-14 Alex Christensen <[email protected]>
Share IPC communication code between webpushd and adattributiond
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm (284213 => 284214)
--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm 2021-10-14 23:30:09 UTC (rev 284213)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm 2021-10-14 23:35:37 UTC (rev 284214)
@@ -958,7 +958,7 @@
configuration.get().allowsInlineMediaPlayback = YES;
configuration.get()._inlineMediaPlaybackRequiresPlaysInlineAttribute = NO;
#endif
- [configuration preferences]._needsSiteSpecificQuirks = YES;
+ [configuration preferences].siteSpecificQuirksModeEnabled = YES;
auto webView = adoptNS([[TestWKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600) configuration:configuration.get()]);
auto delegate = adoptNS([[AsyncAutoplayPoliciesDelegate alloc] init]);
@@ -1336,7 +1336,7 @@
EXPECT_TRUE([userAgentString containsString:@"(KHTML, like Gecko)"]);
}];
[configuration setURLSchemeHandler:schemeHandler.get() forURLScheme:@"test"];
- [configuration preferences]._needsSiteSpecificQuirks = NO;
+ [configuration preferences].siteSpecificQuirksModeEnabled = NO;
auto webView = adoptNS([[TestWKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600) configuration:configuration.get()]);
@@ -1373,7 +1373,7 @@
EXPECT_STREQ("Foo Site Specific Quriks UserAgent", [[task.request valueForHTTPHeaderField:@"User-Agent"] UTF8String]);
}];
[configuration setURLSchemeHandler:schemeHandler.get() forURLScheme:@"test"];
- [configuration preferences]._needsSiteSpecificQuirks = YES;
+ [configuration preferences].siteSpecificQuirksModeEnabled = YES;
auto webView = adoptNS([[TestWKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600) configuration:configuration.get()]);