Title: [245189] trunk/Source/WebKit
Revision
245189
Author
[email protected]
Date
2019-05-10 12:58:37 -0700 (Fri, 10 May 2019)

Log Message

Let WebKit clients supply an application name for user agent in modern compatibility mode
https://bugs.webkit.org/show_bug.cgi?id=197782
<rdar://problem/50646747>

Reviewed by Beth Dakin.

Add plumbing for a new private property on WKWebpagePreferences.

* UIProcess/API/APIWebsitePolicies.cpp:
(API::WebsitePolicies::copy const):
* UIProcess/API/APIWebsitePolicies.h:
* UIProcess/API/Cocoa/WKWebpagePreferences.mm:
(-[WKWebpagePreferences _applicationNameForUserAgentWithModernCompatibility]):
(-[WKWebpagePreferences _setApplicationNameForUserAgentWithModernCompatibility:]):
* UIProcess/API/Cocoa/WKWebpagePreferencesPrivate.h:

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (245188 => 245189)


--- trunk/Source/WebKit/ChangeLog	2019-05-10 19:45:37 UTC (rev 245188)
+++ trunk/Source/WebKit/ChangeLog	2019-05-10 19:58:37 UTC (rev 245189)
@@ -1,3 +1,21 @@
+2019-05-10  Wenson Hsieh  <[email protected]>
+
+        Let WebKit clients supply an application name for user agent in modern compatibility mode
+        https://bugs.webkit.org/show_bug.cgi?id=197782
+        <rdar://problem/50646747>
+
+        Reviewed by Beth Dakin.
+
+        Add plumbing for a new private property on WKWebpagePreferences.
+
+        * UIProcess/API/APIWebsitePolicies.cpp:
+        (API::WebsitePolicies::copy const):
+        * UIProcess/API/APIWebsitePolicies.h:
+        * UIProcess/API/Cocoa/WKWebpagePreferences.mm:
+        (-[WKWebpagePreferences _applicationNameForUserAgentWithModernCompatibility]):
+        (-[WKWebpagePreferences _setApplicationNameForUserAgentWithModernCompatibility:]):
+        * UIProcess/API/Cocoa/WKWebpagePreferencesPrivate.h:
+
 2019-05-10  Chris Dumez  <[email protected]>
 
         The active tab sometimes app naps even though it should not

Modified: trunk/Source/WebKit/UIProcess/API/APIWebsitePolicies.cpp (245188 => 245189)


--- trunk/Source/WebKit/UIProcess/API/APIWebsitePolicies.cpp	2019-05-10 19:45:37 UTC (rev 245188)
+++ trunk/Source/WebKit/UIProcess/API/APIWebsitePolicies.cpp	2019-05-10 19:58:37 UTC (rev 245189)
@@ -66,6 +66,7 @@
         customHeaderFields.append(WebCore::HTTPHeaderField(field));
     policies->setCustomHeaderFields(WTFMove(customHeaderFields));
     policies->setAllowSiteSpecificQuirksToOverrideCompatibilityMode(m_allowSiteSpecificQuirksToOverrideCompatibilityMode);
+    policies->setApplicationNameForUserAgentWithModernCompatibility(m_applicationNameForUserAgentWithModernCompatibility);
     return policies;
 }
 

Modified: trunk/Source/WebKit/UIProcess/API/APIWebsitePolicies.h (245188 => 245189)


--- trunk/Source/WebKit/UIProcess/API/APIWebsitePolicies.h	2019-05-10 19:45:37 UTC (rev 245188)
+++ trunk/Source/WebKit/UIProcess/API/APIWebsitePolicies.h	2019-05-10 19:58:37 UTC (rev 245189)
@@ -104,6 +104,9 @@
     bool allowSiteSpecificQuirksToOverrideCompatibilityMode() const { return m_allowSiteSpecificQuirksToOverrideCompatibilityMode; }
     void setAllowSiteSpecificQuirksToOverrideCompatibilityMode(bool value) { m_allowSiteSpecificQuirksToOverrideCompatibilityMode = value; }
 
+    WTF::String applicationNameForUserAgentWithModernCompatibility() const { return m_applicationNameForUserAgentWithModernCompatibility; }
+    void setApplicationNameForUserAgentWithModernCompatibility(const WTF::String& applicationName) { m_applicationNameForUserAgentWithModernCompatibility = applicationName; }
+
 private:
     WebsitePolicies(bool contentBlockersEnabled, OptionSet<WebKit::WebsiteAutoplayQuirk>, WebKit::WebsiteAutoplayPolicy, Vector<WebCore::HTTPHeaderField>&&, WebKit::WebsitePopUpPolicy, RefPtr<WebsiteDataStore>&&);
 
@@ -124,6 +127,7 @@
     WebKit::WebsiteMediaSourcePolicy m_mediaSourcePolicy { WebKit::WebsiteMediaSourcePolicy::Default };
     WebKit::WebsiteSimulatedMouseEventsDispatchPolicy m_simulatedMouseEventsDispatchPolicy { WebKit::WebsiteSimulatedMouseEventsDispatchPolicy::Default };
     bool m_allowSiteSpecificQuirksToOverrideCompatibilityMode { false };
+    WTF::String m_applicationNameForUserAgentWithModernCompatibility;
 };
 
 } // namespace API

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.mm (245188 => 245189)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.mm	2019-05-10 19:45:37 UTC (rev 245188)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferences.mm	2019-05-10 19:58:37 UTC (rev 245189)
@@ -286,6 +286,16 @@
     _websitePolicies->setAllowSiteSpecificQuirksToOverrideCompatibilityMode(value);
 }
 
+- (NSString *)_applicationNameForUserAgentWithModernCompatibility
+{
+    return _websitePolicies->applicationNameForUserAgentWithModernCompatibility();
+}
+
+- (void)_setApplicationNameForUserAgentWithModernCompatibility:(NSString *)applicationName
+{
+    _websitePolicies->setApplicationNameForUserAgentWithModernCompatibility(applicationName);
+}
+
 - (API::Object&)_apiObject
 {
     return *_websitePolicies;

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferencesPrivate.h (245188 => 245189)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferencesPrivate.h	2019-05-10 19:45:37 UTC (rev 245188)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferencesPrivate.h	2019-05-10 19:58:37 UTC (rev 245189)
@@ -69,4 +69,6 @@
 @property (nonatomic, setter=_setDeviceOrientationAndMotionAccessPolicy:) _WKWebsiteDeviceOrientationAndMotionAccessPolicy _deviceOrientationAndMotionAccessPolicy;
 @property (nonatomic, setter=_setAllowSiteSpecificQuirksToOverrideCompatibilityMode:) BOOL _allowSiteSpecificQuirksToOverrideCompatibilityMode;
 
+@property (nonatomic, copy, setter=_setApplicationNameForUserAgentWithModernCompatibility:) NSString *_applicationNameForUserAgentWithModernCompatibility;
+
 @end
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to