Need a mechanism to override navigator.userAgent
[WebKit-https.git] / Source / WebKit / ChangeLog
index d2d0fe2..7f1f3bd 100644 (file)
@@ -1,3 +1,30 @@
+2019-01-25  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Need a mechanism to override navigator.userAgent
+        https://bugs.webkit.org/show_bug.cgi?id=193762
+        <rdar://problem/47504939>
+
+        Reviewed by Brent Fulgham.
+
+        This patch adds a new _WKWebsitePolicies SPI to specify the user agent string returned by
+        navigator.userAgent without affecting the user agent string used to send network requests.
+
+        Tests: WebKit.WebsitePoliciesCustomJavaScriptUserAgent
+               WebKit.WebsitePoliciesCustomUserAgents
+
+        * Shared/WebsitePoliciesData.cpp:
+        (WebKit::WebsitePoliciesData::encode const):
+        (WebKit::WebsitePoliciesData::decode):
+        (WebKit::WebsitePoliciesData::applyToDocumentLoader):
+        * Shared/WebsitePoliciesData.h:
+        * UIProcess/API/APIWebsitePolicies.cpp:
+        (API::WebsitePolicies::data):
+        * UIProcess/API/APIWebsitePolicies.h:
+        * UIProcess/API/Cocoa/_WKWebsitePolicies.h:
+        * UIProcess/API/Cocoa/_WKWebsitePolicies.mm:
+        (-[_WKWebsitePolicies setCustomJavaScriptUserAgent:]):
+        (-[_WKWebsitePolicies customJavaScriptUserAgent]):
+
 2019-01-25  Devin Rousso  <drousso@apple.com>
 
         Web Inspector: provide a way to edit page settings on a remote target