Title: [284214] trunk
Revision
284214
Author
[email protected]
Date
2021-10-14 16:35:37 -0700 (Thu, 14 Oct 2021)

Log Message

Promote WKPreferences._needsSiteSpecificQuirks to API
https://bugs.webkit.org/show_bug.cgi?id=230721
<rdar://83255206>

Reviewed by Jer Noble.

Source/WebKit:

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:

Tools:

Updated API tests to use the new API.

* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(TEST):

Modified Paths

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()]);
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to