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: http://svn.webkit.org/repository/webkit/trunk@77607
268f45cc-cd09-0410-ab3c-
d52691b4dbfc