2010-09-23 Nate Chapin <japhet@chromium.org>
Reviewed by Darin Fisher.
Implement <a ping> (disabled by default).
https://bugs.webkit.org/show_bug.cgi?id=30458
Tests: http/tests/navigation/ping-cross-origin-from-https.html
http/tests/navigation/ping-cross-origin.html
http/tests/navigation/ping-same-origin.html
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::defaultEventHandler):
(WebCore::HTMLAnchorElement::sendPings):
* html/HTMLAnchorElement.h:
* html/HTMLAttributeNames.in:
* loader/PingLoader.cpp:
(WebCore::PingLoader::sendPing): Set ping-specific headers.
(WebCore::PingLoader::PingLoader):
* loader/PingLoader.h:
(WebCore::PingLoader::timeout): Ensure pings eventually timeout, since
the normal cancel mechanism can't stop them.
* page/Settings.cpp:
* page/Settings.h: Add hyperlinkAuditingEnabled.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68166 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/mac/WebView/WebPreferences.mm b/WebKit/mac/WebView/WebPreferences.mm
index 87284bb..2ddd8b3 100644
--- a/WebKit/mac/WebView/WebPreferences.mm
+++ b/WebKit/mac/WebView/WebPreferences.mm
@@ -368,6 +368,7 @@
[NSNumber numberWithBool:YES], WebKitDNSPrefetchingEnabledPreferenceKey,
[NSNumber numberWithBool:NO], WebKitFullScreenEnabledPreferenceKey,
[NSNumber numberWithBool:NO], WebKitMemoryInfoEnabledPreferenceKey,
+ [NSNumber numberWithBool:NO], WebKitHyperlinkAuditingEnabledPreferenceKey,
[NSNumber numberWithBool:NO], WebKitUsePreHTML5ParserQuirksKey,
[NSNumber numberWithLongLong:WebCore::ApplicationCacheStorage::noQuota()], WebKitApplicationCacheTotalQuota,
[NSNumber numberWithLongLong:WebCore::ApplicationCacheStorage::noQuota()], WebKitApplicationCacheDefaultOriginQuota,
@@ -1332,6 +1333,16 @@
[self _setBoolValue:flag forKey:WebKitMemoryInfoEnabledPreferenceKey];
}
+- (BOOL)hyperlinkAuditingEnabled
+{
+ return [self _boolValueForKey:WebKitHyperlinkAuditingEnabledPreferenceKey];
+}
+
+- (void)setHyperlinkAuditingEnabled:(BOOL)flag
+{
+ [self _setBoolValue:flag forKey:WebKitHyperlinkAuditingEnabledPreferenceKey];
+}
+
- (WebKitEditingBehavior)editingBehavior
{
return static_cast<WebKitEditingBehavior>([self _integerValueForKey:WebKitEditingBehaviorPreferenceKey]);