Add navigator.registerProtocolHandler behind a flag.
authorlevin@chromium.org <levin@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Feb 2011 06:31:21 +0000 (06:31 +0000)
committerlevin@chromium.org <levin@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Feb 2011 06:31:21 +0000 (06:31 +0000)
commit479874d6f6114a89a04095ca78c892b0e191a84e
tree66331712f644a2e513c5be03558000a47c789bd6
parentf5dc3747346c5c79ffed569697803725d5a06d31
Add navigator.registerProtocolHandler behind a flag.
https://bugs.webkit.org/show_bug.cgi?id=52609

Patch by James Kozianski <koz@chromium.org> on 2011-02-03
Reviewed by Dimitri Glazkov.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

This method is described in the HTML5 specification here,
http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler

This change is largely cribbed from B. Green's 29651 patches. It is
behind a flag so as not to break JS feature detection.

New layout test fast/dom/registerProtocolHandler.html.

* Configurations/FeatureDefines.xcconfig:
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::registerProtocolHandler):
* page/Chrome.cpp:
(WebCore::Chrome::registerProtocolHandler):
* page/Chrome.h:
* page/ChromeClient.h:
* page/Navigator.cpp:
(WebCore::verifyCustomHandlerURL):
(WebCore::verifyProtocolHandlerScheme):
(WebCore::Navigator::registerProtocolHandler):
* page/Navigator.h:
* page/Navigator.idl:

Source/WebKit/chromium:

* features.gypi:
* public/WebViewClient.h:
* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::registerProtocolHandler):
* src/ChromeClientImpl.h:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Tools:

* Scripts/build-webkit:

WebKitLibraries:

* win/tools/vsprops/FeatureDefines.vsprops:
* win/tools/vsprops/FeatureDefinesCairo.vsprops:

LayoutTests:

* fast/dom/register-protocol-handler-expected.txt: Added.
* fast/dom/register-protocol-handler.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@77607 268f45cc-cd09-0410-ab3c-d52691b4dbfc
28 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/dom/register-protocol-handler-expected.txt [new file with mode: 0644]
LayoutTests/fast/dom/register-protocol-handler.html [new file with mode: 0644]
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig
Source/WebCore/ChangeLog
Source/WebCore/Configurations/FeatureDefines.xcconfig
Source/WebCore/loader/EmptyClients.h
Source/WebCore/page/Chrome.cpp
Source/WebCore/page/Chrome.h
Source/WebCore/page/ChromeClient.h
Source/WebCore/page/Navigator.cpp
Source/WebCore/page/Navigator.h
Source/WebCore/page/Navigator.idl
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/features.gypi
Source/WebKit/chromium/public/WebViewClient.h
Source/WebKit/chromium/src/ChromeClientImpl.cpp
Source/WebKit/chromium/src/ChromeClientImpl.h
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
Source/WebKit2/ChangeLog
Source/WebKit2/Configurations/FeatureDefines.xcconfig
Tools/ChangeLog
Tools/Scripts/build-webkit
WebKitLibraries/ChangeLog
WebKitLibraries/win/tools/vsprops/FeatureDefines.vsprops
WebKitLibraries/win/tools/vsprops/FeatureDefinesCairo.vsprops