Title: [291782] trunk
Revision
291782
Author
commit-qu...@webkit.org
Date
2022-03-23 20:45:39 -0700 (Wed, 23 Mar 2022)

Log Message

Add off-by-default experimental feature for app store attribution
https://bugs.webkit.org/show_bug.cgi?id=238294

Patch by Alex Christensen <achristen...@webkit.org> on 2022-03-23
Reviewed by John Wilander.

Source/WebCore:

In r291735 I landed a way to give SKAdNetwork a way to private report app purchase attribution
which isn't implemented yet.  Turn it off in WebKit until the time is right.

* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parsePrivateClickMeasurementForSKAdNetwork const):

Source/WTF:

* Scripts/Preferences/WebPreferencesExperimental.yaml:

Tools:

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

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (291781 => 291782)


--- trunk/Source/WTF/ChangeLog	2022-03-24 02:48:09 UTC (rev 291781)
+++ trunk/Source/WTF/ChangeLog	2022-03-24 03:45:39 UTC (rev 291782)
@@ -1,3 +1,12 @@
+2022-03-23  Alex Christensen  <achristen...@webkit.org>
+
+        Add off-by-default experimental feature for app store attribution
+        https://bugs.webkit.org/show_bug.cgi?id=238294
+
+        Reviewed by John Wilander.
+
+        * Scripts/Preferences/WebPreferencesExperimental.yaml:
+
 2022-03-23  Chris Dumez  <cdu...@apple.com>
 
         Prepare JSC for making the String(const char*) constructor explicit

Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml (291781 => 291782)


--- trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml	2022-03-24 02:48:09 UTC (rev 291781)
+++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml	2022-03-24 03:45:39 UTC (rev 291782)
@@ -1246,6 +1246,18 @@
     WebCore:
       default: true
 
+SKAttributionEnabled:
+  type: bool
+  humanReadableName: "SKAttribution"
+  humanReadableDescription: "SKAttribution"
+  defaultValue:
+    WebCore:
+      default: false
+    WebKitLegacy:
+      default: false
+    WebKit:
+      default: false
+
 SampleBufferContentKeySessionSupportEnabled:
   type: bool
   humanReadableName: "ContentKeySession support for SampleBuffer Renderers"

Modified: trunk/Source/WebCore/ChangeLog (291781 => 291782)


--- trunk/Source/WebCore/ChangeLog	2022-03-24 02:48:09 UTC (rev 291781)
+++ trunk/Source/WebCore/ChangeLog	2022-03-24 03:45:39 UTC (rev 291782)
@@ -1,3 +1,16 @@
+2022-03-23  Alex Christensen  <achristen...@webkit.org>
+
+        Add off-by-default experimental feature for app store attribution
+        https://bugs.webkit.org/show_bug.cgi?id=238294
+
+        Reviewed by John Wilander.
+
+        In r291735 I landed a way to give SKAdNetwork a way to private report app purchase attribution
+        which isn't implemented yet.  Turn it off in WebKit until the time is right.
+
+        * html/HTMLAnchorElement.cpp:
+        (WebCore::HTMLAnchorElement::parsePrivateClickMeasurementForSKAdNetwork const):
+
 2022-03-23  Chris Dumez  <cdu...@apple.com>
 
         Prepare JSC for making the String(const char*) constructor explicit

Modified: trunk/Source/WebCore/html/HTMLAnchorElement.cpp (291781 => 291782)


--- trunk/Source/WebCore/html/HTMLAnchorElement.cpp	2022-03-24 02:48:09 UTC (rev 291781)
+++ trunk/Source/WebCore/html/HTMLAnchorElement.cpp	2022-03-24 03:45:39 UTC (rev 291782)
@@ -435,6 +435,9 @@
 
 std::optional<PrivateClickMeasurement> HTMLAnchorElement::parsePrivateClickMeasurementForSKAdNetwork(const URL& hrefURL) const
 {
+    if (!document().settings().sKAttributionEnabled())
+        return std::nullopt;
+
     using SourceID = PrivateClickMeasurement::SourceID;
     using SourceSite = PrivateClickMeasurement::SourceSite;
     using AttributionDestinationSite = PrivateClickMeasurement::AttributionDestinationSite;

Modified: trunk/Tools/ChangeLog (291781 => 291782)


--- trunk/Tools/ChangeLog	2022-03-24 02:48:09 UTC (rev 291781)
+++ trunk/Tools/ChangeLog	2022-03-24 03:45:39 UTC (rev 291782)
@@ -1,3 +1,13 @@
+2022-03-23  Alex Christensen  <achristen...@webkit.org>
+
+        Add off-by-default experimental feature for app store attribution
+        https://bugs.webkit.org/show_bug.cgi?id=238294
+
+        Reviewed by John Wilander.
+
+        * TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
+        (TestWebKitAPI::TEST):
+
 2022-03-23  Myles C. Maxfield  <mmaxfi...@apple.com>
 
         [WebGPU] Implement Device::createTexture() according to the spec

Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm (291781 => 291782)


--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm	2022-03-24 02:48:09 UTC (rev 291781)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm	2022-03-24 03:45:39 UTC (rev 291782)
@@ -43,6 +43,7 @@
 #import <WebKit/WKWebViewPrivate.h>
 #import <WebKit/WKWebViewPrivateForTesting.h>
 #import <WebKit/WKWebsiteDataStorePrivate.h>
+#import <WebKit/_WKExperimentalFeature.h>
 #import <WebKit/_WKInspector.h>
 #import <WebKit/_WKWebsiteDataStoreConfiguration.h>
 #import <wtf/spi/darwin/XPCSPI.h>
@@ -573,6 +574,13 @@
     viewConfiguration.websiteDataStore = adoptNS([[WKWebsiteDataStore alloc] _initWithConfiguration:storeConfiguration.get()]).get();
     auto webView = webViewWithOpenInspector(viewConfiguration);
 
+    for (_WKExperimentalFeature *feature in [WKPreferences _experimentalFeatures]) {
+        if ([feature.key isEqualToString:@"SKAttributionEnabled"]) {
+            [[viewConfiguration preferences] _setEnabled:YES forExperimentalFeature:feature];
+            break;
+        }
+    }
+
     Vector<String> consoleMessages;
     setInjectedBundleClient(webView.get(), consoleMessages);
     [viewConfiguration.websiteDataStore _setPrivateClickMeasurementDebugModeEnabledForTesting:YES];
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to