Diff
Modified: trunk/LayoutTests/ChangeLog (240443 => 240444)
--- trunk/LayoutTests/ChangeLog 2019-01-24 18:35:05 UTC (rev 240443)
+++ trunk/LayoutTests/ChangeLog 2019-01-24 19:17:09 UTC (rev 240444)
@@ -1,3 +1,16 @@
+2019-01-24 John Wilander <[email protected]>
+
+ Add Ad Click Attribution as an internal/experimental feature
+ https://bugs.webkit.org/show_bug.cgi?id=193685
+ <rdar://problem/47450399>
+
+ Reviewed by Brent Fulgham.
+
+ * http/tests/adClickAttribution/anchor-tag-attributes-reflect-expected.txt: Added.
+ * http/tests/adClickAttribution/anchor-tag-attributes-reflect.html: Added.
+ * platform/win/TestExpectations:
+ Skipped on Windows for now.
+
2019-01-23 Oriol Brufau <[email protected]>
Allow failures in flaky tests from bug 193657
Added: trunk/LayoutTests/http/tests/adClickAttribution/anchor-tag-attributes-reflect-expected.txt (0 => 240444)
--- trunk/LayoutTests/http/tests/adClickAttribution/anchor-tag-attributes-reflect-expected.txt (rev 0)
+++ trunk/LayoutTests/http/tests/adClickAttribution/anchor-tag-attributes-reflect-expected.txt 2019-01-24 19:17:09 UTC (rev 240444)
@@ -0,0 +1,11 @@
+Test for the new ad click attribution attributes on anchor tags.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS anchorTag.adcampaignid is "40"
+PASS anchorTag.addestination is "destination.example"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/http/tests/adClickAttribution/anchor-tag-attributes-reflect.html (0 => 240444)
--- trunk/LayoutTests/http/tests/adClickAttribution/anchor-tag-attributes-reflect.html (rev 0)
+++ trunk/LayoutTests/http/tests/adClickAttribution/anchor-tag-attributes-reflect.html 2019-01-24 19:17:09 UTC (rev 240444)
@@ -0,0 +1,17 @@
+<!DOCTYPE html> <!-- webkit-test-runner [ internal:AdClickAttributionEnabled=true ] -->
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <script src=""
+</head>
+<body>
+<a id="testTag" href="" adcampaignid="40" addestination="destination.example"></a>
+<script>
+ description("Test for the new ad click attribution attributes on anchor tags.");
+
+ const anchorTag = document.getElementById("testTag");
+ shouldBeEqualToString("anchorTag.adcampaignid", "40");
+ shouldBeEqualToString("anchorTag.addestination", "destination.example");
+</script>
+</body>
+</html>
Modified: trunk/LayoutTests/platform/win/TestExpectations (240443 => 240444)
--- trunk/LayoutTests/platform/win/TestExpectations 2019-01-24 18:35:05 UTC (rev 240443)
+++ trunk/LayoutTests/platform/win/TestExpectations 2019-01-24 19:17:09 UTC (rev 240444)
@@ -110,6 +110,7 @@
webkit.org/b/173281 editing/selection/selection-across-shadow-boundaries-readonly-2.html [ Skip ]
webkit.org/b/173281 editing/selection/selection-across-shadow-boundaries-readonly-3.html [ Skip ]
webkit.org/b/173281 editing/selection/selection-across-shadow-boundaries-user-select-all-1.html [ Skip ]
+webkit.org/b/193748 http/tests/adClickAttribution [ Skip ]
# TODO HW filters not yet supported on Windows
webkit.org/b/74716 css3/filters/effect-blur-hw.html [ Skip ]
Modified: trunk/Source/WebCore/ChangeLog (240443 => 240444)
--- trunk/Source/WebCore/ChangeLog 2019-01-24 18:35:05 UTC (rev 240443)
+++ trunk/Source/WebCore/ChangeLog 2019-01-24 19:17:09 UTC (rev 240444)
@@ -1,3 +1,24 @@
+2019-01-24 John Wilander <[email protected]>
+
+ Add Ad Click Attribution as an internal/experimental feature
+ https://bugs.webkit.org/show_bug.cgi?id=193685
+ <rdar://problem/47450399>
+
+ Reviewed by Brent Fulgham.
+
+ Test: http/tests/adClickAttribution/anchor-tag-attributes-reflect.html
+
+ * html/HTMLAnchorElement.h:
+ * html/HTMLAnchorElement.idl:
+ * html/HTMLAttributeNames.in:
+ Addeed two new experimental attributes:
+ - adcampaignid: Ad campaign ID.
+ - addestination: Ad link destination site.
+ * page/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::adClickAttributionEnabled const):
+ (WebCore::RuntimeEnabledFeatures::setAdClickAttributionEnabled):
+ * page/Settings.yaml:
+
2019-01-24 Youenn Fablet <[email protected]>
Use MonotonicTime in WorkerRunLoop
Modified: trunk/Source/WebCore/html/HTMLAnchorElement.idl (240443 => 240444)
--- trunk/Source/WebCore/html/HTMLAnchorElement.idl 2019-01-24 18:35:05 UTC (rev 240443)
+++ trunk/Source/WebCore/html/HTMLAnchorElement.idl 2019-01-24 19:17:09 UTC (rev 240444)
@@ -19,6 +19,8 @@
*/
interface HTMLAnchorElement : HTMLElement {
+ [CEReactions=NotNeeded, EnabledAtRuntime=AdClickAttribution, Reflect] attribute DOMString adcampaignid;
+ [CEReactions=NotNeeded, EnabledAtRuntime=AdClickAttribution, Reflect] attribute DOMString addestination;
[CEReactions=NotNeeded, Reflect] attribute DOMString charset;
[CEReactions=NotNeeded, Reflect] attribute DOMString coords;
[CEReactions=NotNeeded, Conditional=DOWNLOAD_ATTRIBUTE, EnabledAtRuntime=DownloadAttribute, Reflect] attribute DOMString download;
Modified: trunk/Source/WebCore/html/HTMLAttributeNames.in (240443 => 240444)
--- trunk/Source/WebCore/html/HTMLAttributeNames.in 2019-01-24 18:35:05 UTC (rev 240443)
+++ trunk/Source/WebCore/html/HTMLAttributeNames.in 2019-01-24 19:17:09 UTC (rev 240444)
@@ -66,6 +66,8 @@
aria-valuetext
as
async
+adcampaignid
+addestination
autocomplete
autofocus
autoplay
Modified: trunk/Source/WebCore/page/RuntimeEnabledFeatures.h (240443 => 240444)
--- trunk/Source/WebCore/page/RuntimeEnabledFeatures.h 2019-01-24 18:35:05 UTC (rev 240443)
+++ trunk/Source/WebCore/page/RuntimeEnabledFeatures.h 2019-01-24 19:17:09 UTC (rev 240444)
@@ -341,6 +341,9 @@
void setCSSLogicalEnabled(bool isEnabled) { m_CSSLogicalEnabled = isEnabled; }
bool cssLogicalEnabled() const { return m_CSSLogicalEnabled; }
+ bool adClickAttributionEnabled() const { return m_adClickAttributionEnabled; }
+ void setAdClickAttributionEnabled(bool isEnabled) { m_adClickAttributionEnabled = isEnabled; }
+
WEBCORE_EXPORT static RuntimeEnabledFeatures& sharedFeatures();
private:
@@ -516,6 +519,8 @@
bool m_CSSLogicalEnabled { false };
+ bool m_adClickAttributionEnabled { false };
+
friend class WTF::NeverDestroyed<RuntimeEnabledFeatures>;
};
Modified: trunk/Source/WebCore/page/Settings.yaml (240443 => 240444)
--- trunk/Source/WebCore/page/Settings.yaml 2019-01-24 18:35:05 UTC (rev 240443)
+++ trunk/Source/WebCore/page/Settings.yaml 2019-01-24 19:17:09 UTC (rev 240444)
@@ -788,3 +788,6 @@
editableImagesEnabled:
initial: false
+
+adClickAttributionEnabled:
+ initial: false
Modified: trunk/Source/WebKit/ChangeLog (240443 => 240444)
--- trunk/Source/WebKit/ChangeLog 2019-01-24 18:35:05 UTC (rev 240443)
+++ trunk/Source/WebKit/ChangeLog 2019-01-24 19:17:09 UTC (rev 240444)
@@ -1,3 +1,14 @@
+2019-01-24 John Wilander <[email protected]>
+
+ Add Ad Click Attribution as an internal/experimental feature
+ https://bugs.webkit.org/show_bug.cgi?id=193685
+ <rdar://problem/47450399>
+
+ Reviewed by Brent Fulgham.
+
+ * Shared/WebPreferences.yaml:
+ Added AdClickAttributionEnabled as a runtime enabled feature, off by default.
+
2019-01-24 Antti Koivisto <[email protected]>
[PSON] Flash on back navigation on Mac
Modified: trunk/Source/WebKit/Shared/WebPreferences.yaml (240443 => 240444)
--- trunk/Source/WebKit/Shared/WebPreferences.yaml 2019-01-24 18:35:05 UTC (rev 240443)
+++ trunk/Source/WebKit/Shared/WebPreferences.yaml 2019-01-24 19:17:09 UTC (rev 240444)
@@ -1543,3 +1543,11 @@
humanReadableDescription: "Enable CSS Logical Properties and Values"
webcoreBinding: RuntimeEnabledFeatures
category: internal
+
+AdClickAttributionEnabled:
+ type: bool
+ defaultValue: false
+ humanReadableName: "Ad Click Attribution"
+ humanReadableDescription: "Enable Ad Click Attribution for Cross-Site Link Navigations"
+ webcoreBinding: RuntimeEnabledFeatures
+ category: internal
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (240443 => 240444)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2019-01-24 18:35:05 UTC (rev 240443)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2019-01-24 19:17:09 UTC (rev 240444)
@@ -1,3 +1,21 @@
+2019-01-24 John Wilander <[email protected]>
+
+ Add Ad Click Attribution as an internal/experimental feature
+ https://bugs.webkit.org/show_bug.cgi?id=193685
+ <rdar://problem/47450399>
+
+ Reviewed by Brent Fulgham.
+
+ * WebView/WebPreferenceKeysPrivate.h:
+ * WebView/WebPreferences.mm:
+ (+[WebPreferences initialize]):
+ (-[WebPreferences adClickAttributionEnabled]):
+ (-[WebPreferences setAdClickAttributionEnabled:]):
+ Added support for experimental ad click attribution.
+ * WebView/WebPreferencesPrivate.h:
+ * WebView/WebView.mm:
+ (-[WebView _preferencesChanged:]):
+
2019-01-24 Ross Kirsling <[email protected]>
Move FileSystem to WTF
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h (240443 => 240444)
--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h 2019-01-24 18:35:05 UTC (rev 240443)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h 2019-01-24 19:17:09 UTC (rev 240444)
@@ -264,3 +264,4 @@
#define WebKitServerTimingEnabledPreferenceKey @"WebKitServerTimingEnabled"
#define WebKitSelectionAcrossShadowBoundariesEnabledPreferenceKey @"WebKitSelectionAcrossShadowBoundariesEnabled"
#define WebKitCSSLogicalEnabledPreferenceKey @"WebKitCSSLogicalEnabled"
+#define WebKitAdClickAttributionEnabledPreferenceKey @"WebKitAdClickAttributionEnabled"
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm (240443 => 240444)
--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm 2019-01-24 18:35:05 UTC (rev 240443)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm 2019-01-24 19:17:09 UTC (rev 240444)
@@ -670,6 +670,7 @@
#endif
[NSNumber numberWithBool:YES], WebKitSelectionAcrossShadowBoundariesEnabledPreferenceKey,
[NSNumber numberWithBool:NO], WebKitCSSLogicalEnabledPreferenceKey,
+ [NSNumber numberWithBool:NO], WebKitAdClickAttributionEnabledPreferenceKey,
#if ENABLE(INTERSECTION_OBSERVER)
@NO, WebKitIntersectionObserverEnabledPreferenceKey,
#endif
@@ -3390,6 +3391,16 @@
[self _setBoolValue:flag forKey:WebKitCSSLogicalEnabledPreferenceKey];
}
+- (BOOL)adClickAttributionEnabled
+{
+ return [self _boolValueForKey:WebKitAdClickAttributionEnabledPreferenceKey];
+}
+
+- (void)setAdClickAttributionEnabled:(BOOL)flag
+{
+ [self _setBoolValue:flag forKey:WebKitAdClickAttributionEnabledPreferenceKey];
+}
+
@end
@implementation WebPreferences (WebInternal)
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h (240443 => 240444)
--- trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h 2019-01-24 18:35:05 UTC (rev 240443)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h 2019-01-24 19:17:09 UTC (rev 240444)
@@ -585,6 +585,9 @@
- (void)setCSSLogicalEnabled:(BOOL)flag;
- (BOOL)cssLogicalEnabled;
+- (BOOL)adClickAttributionEnabled;
+- (void)setAdClickAttributionEnabled:(BOOL)flag;
+
@property (nonatomic) BOOL visualViewportEnabled;
@property (nonatomic) BOOL visualViewportAPIEnabled;
@property (nonatomic) BOOL CSSOMViewScrollingAPIEnabled;
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (240443 => 240444)
--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm 2019-01-24 18:35:05 UTC (rev 240443)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm 2019-01-24 19:17:09 UTC (rev 240444)
@@ -3079,6 +3079,8 @@
RuntimeEnabledFeatures::sharedFeatures().setCSSLogicalEnabled([preferences cssLogicalEnabled]);
+ RuntimeEnabledFeatures::sharedFeatures().setAdClickAttributionEnabled([preferences adClickAttributionEnabled]);
+
settings.setHiddenPageDOMTimerThrottlingEnabled([preferences hiddenPageDOMTimerThrottlingEnabled]);
settings.setHiddenPageCSSAnimationSuspensionEnabled([preferences hiddenPageCSSAnimationSuspensionEnabled]);
Modified: trunk/Tools/ChangeLog (240443 => 240444)
--- trunk/Tools/ChangeLog 2019-01-24 18:35:05 UTC (rev 240443)
+++ trunk/Tools/ChangeLog 2019-01-24 19:17:09 UTC (rev 240444)
@@ -1,3 +1,19 @@
+2019-01-24 John Wilander <[email protected]>
+
+ Add Ad Click Attribution as an internal/experimental feature
+ https://bugs.webkit.org/show_bug.cgi?id=193685
+ <rdar://problem/47450399>
+
+ Reviewed by Brent Fulgham.
+
+ Added test option adClickAttributionEnabled.
+
+ * DumpRenderTree/TestOptions.cpp:
+ (TestOptions::TestOptions):
+ * DumpRenderTree/TestOptions.h:
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (setWebPreferencesForTestOptions):
+
2019-01-24 Antti Koivisto <[email protected]>
[PSON] Flash on back navigation on Mac
Modified: trunk/Tools/DumpRenderTree/TestOptions.cpp (240443 => 240444)
--- trunk/Tools/DumpRenderTree/TestOptions.cpp 2019-01-24 18:35:05 UTC (rev 240443)
+++ trunk/Tools/DumpRenderTree/TestOptions.cpp 2019-01-24 19:17:09 UTC (rev 240444)
@@ -109,6 +109,8 @@
enableWebGPU = parseBooleanTestHeaderValue(value);
else if (key == "internal:CSSLogicalEnabled")
enableCSSLogical = parseBooleanTestHeaderValue(value);
+ else if (key == "internal:AdClickAttributionEnabled")
+ adClickAttributionEnabled = parseBooleanTestHeaderValue(value);
pairStart = pairEnd + 1;
}
}
Modified: trunk/Tools/DumpRenderTree/TestOptions.h (240443 => 240444)
--- trunk/Tools/DumpRenderTree/TestOptions.h 2019-01-24 18:35:05 UTC (rev 240443)
+++ trunk/Tools/DumpRenderTree/TestOptions.h 2019-01-24 19:17:09 UTC (rev 240444)
@@ -45,6 +45,7 @@
bool enableSelectionAcrossShadowBoundaries { true };
bool enableWebGPU { false };
bool enableCSSLogical { false };
+ bool adClickAttributionEnabled { false };
std::string jscOptions;
TestOptions(const std::string& pathOrURL, const std::string& absolutePath);
Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm (240443 => 240444)
--- trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm 2019-01-24 18:35:05 UTC (rev 240443)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm 2019-01-24 19:17:09 UTC (rev 240444)
@@ -1011,6 +1011,7 @@
preferences.selectionAcrossShadowBoundariesEnabled = options.enableSelectionAcrossShadowBoundaries;
preferences.webGPUEnabled = options.enableWebGPU;
preferences.CSSLogicalEnabled = options.enableCSSLogical;
+ preferences.adClickAttributionEnabled = options.adClickAttributionEnabled;
}
// Called once on DumpRenderTree startup.