Skip to content
  • gyuyoung.kim@samsung.com's avatar
    Add RegisterProtocolHandlerClient to the Modules/protocolhandler · cd6b2961
    gyuyoung.kim@samsung.com authored
    https://bugs.webkit.org/show_bug.cgi?id=90940
    
    Reviewed by Hajime Morita.
    
    Source/WebCore:
    
    As a step to let protocol handler be moved to the modules, RegisterProtocolHandlerClient needs
    to be added to the Modules/protocolhandler. Because ChromeClient has some virtual functions for
    protocol handlers, virtual functions should be moved to RegisterProtocolHandlerClient.
    
    In addition, NavigatorRegisterProtocolHandler should be supplementable.
    
    No new tests. Covered by existing tests.
    
    * GNUmakefile.list.am:
    * Modules/protocolhandler/NavigatorRegisterProtocolHandler.cpp:
    (WebCore::NavigatorRegisterProtocolHandler::from):
    (WebCore::NavigatorRegisterProtocolHandler::create):
    (WebCore):
    (WebCore::NavigatorRegisterProtocolHandler::registerProtocolHandler):
    (WebCore::customHandlersStateString):
    (WebCore::NavigatorRegisterProtocolHandler::isProtocolHandlerRegistered):
    (WebCore::NavigatorRegisterProtocolHandler::unregisterProtocolHandler):
    (WebCore::NavigatorRegisterProtocolHandler::supplementName):
    (WebCore::provideRegisterProtocolHandlerTo):
    * Modules/protocolhandler/NavigatorRegisterProtocolHandler.h:
    (WebCore):
    (NavigatorRegisterProtocolHandler):
    (WebCore::NavigatorRegisterProtocolHandler::NavigatorRegisterProtocolHandler):
    (WebCore::NavigatorRegisterProtocolHandler::client):
    * Modules/protocolhandler/RegisterProtocolHandlerClient.h: Added.
    (WebCore):
    (RegisterProtocolHandlerClient):
    * WebCore.gypi:
    * loader/EmptyClients.h:
    * page/ChromeClient.h:
    (ChromeClient):
    * platform/network/soup/CookieJarSoup.cpp:
    (WebCore::setCookies):
    (WebCore::getRawCookies):
    
    Source/WebKit:
    
    As a step to let protocol handler be moved to the modules, RegisterProtocolHandlerClient needs
    to be added to the Modules/protocolhandler. Because ChromeClient has some virtual functions for
    protocol handlers, virtual functions should be moved to RegisterProtocolHandlerClient.
    
    * PlatformEfl.cmake: Add RegisterProtocolHandlerEfl files and include path.
    
    Source/WebKit/chromium:
    
    As a step to let protocol handler be moved to the modules, RegisterProtocolHandlerClient needs
    to be added to the Modules/protocolhandler. Because ChromeClient has some virtual functions for
    protocol handlers, virtual functions should be moved to RegisterProtocolHandlerClient.
    
    In order to support this, RegisterProtocolHandlerClientImpl class is added to ChromeClientImpl files.
    
    In addition, existing functions related to protocol handler in ChromeClientImpl class are moved to
    RegisterProtocolHandlerClientImpl class.
    
    * WebKit.gyp:
    * src/ChromeClientImpl.cpp: Implement RegisterProtocolHandlerClientImpl class.
    (WebKit):
    (WebKit::RegisterProtocolHandlerClientImpl::create):
    (WebKit::RegisterProtocolHandlerClientImpl::RegisterProtocolHandlerClientImpl):
    (WebKit::RegisterProtocolHandlerClientImpl::registerProtocolHandler):
    * src/ChromeClientImpl.h:
    (ChromeClientImpl):
    (RegisterProtocolHandlerClientImpl):
    (WebKit::RegisterProtocolHandlerClientImpl::~RegisterProtocolHandlerClientImpl):
    (WebKit):
    * src/WebViewImpl.cpp: Register RegisterProtocolHandlerClientImpl in order to support supplement.
    (WebKit::WebViewImpl::WebViewImpl):
    * src/WebViewImpl.h:
    
    Source/WebKit/efl:
    
    As a step to let protocol handler be moved to the modules, RegisterProtocolHandlerClient needs
    to be added to the Modules/protocolhandler. Because ChromeClient has some virtual functions for
    protocol handlers, virtual functions should be moved to RegisterProtocolHandlerClient
    
    In order to support this, RegisterProtocolHandlerClientEfl class is added and ewk_view registers
    RegisterProtocolHandlerClientEfl. In addition, existing concrete functions in ChromeClientEfl are moved
    to RegisterProtocolHandlerClientEfl.
    
    * WebCoreSupport/ChromeClientEfl.cpp:
    (WebCore):
    * WebCoreSupport/ChromeClientEfl.h:
    * WebCoreSupport/RegisterProtocolHandlerClientEfl.cpp: Added.
    (WebCore):
    (WebCore::customHandlerDataCreate):
    (WebCore::customHandlerDataDelete):
    (WebCore::RegisterProtocolHandlerClientEfl::RegisterProtocolHandlerClientEfl):
    (WebCore::RegisterProtocolHandlerClientEfl::registerProtocolHandler):
    (WebCore::RegisterProtocolHandlerClientEfl::isProtocolHandlerRegistered):
    (WebCore::RegisterProtocolHandlerClientEfl::unregisterProtocolHandler):
    * WebCoreSupport/RegisterProtocolHandlerClientEfl.h: Added.
    (RegisterProtocolHandlerClientEfl):
    (WebCore::RegisterProtocolHandlerClientEfl::~RegisterProtocolHandlerClientEfl):
    * ewk/ewk_view.cpp:
    (_ewk_view_priv_new):
    
    Source/WebKit/gtk:
    
    As a step to let protocol handler be moved to the modules, RegisterProtocolHandlerClient needs
    to be added to the Modules/protocolhandler. Because ChromeClient has some virtual functions for
    protocol handlers, virtual functions should be moved to RegisterProtocolHandlerClient.
    
    In order to support this, RegisterProtocolHandlerClientGtk class is added and webview registers
    RegisterProtocolHandlerClientGtk. In addition, existing concrete functions in ChromeClientGtk are moved
    to RegisterProtocolHandlerClientGtk.
    
    * GNUmakefile.am:
    * WebCoreSupport/ChromeClientGtk.cpp:
    * WebCoreSupport/ChromeClientGtk.h:
    (ChromeClient):
    * WebCoreSupport/RegisterProtocolHandlerClientGtk.cpp: Added.
    (WebKit):
    (WebKit::RegisterProtocolHandlerClient::RegisterProtocolHandlerClient):
    (WebKit::RegisterProtocolHandlerClient::registerProtocolHandler):
    * WebCoreSupport/RegisterProtocolHandlerClientGtk.h: Added.
    (WebKit):
    (RegisterProtocolHandlerClient):
    (WebKit::RegisterProtocolHandlerClient::~RegisterProtocolHandlerClient):
    * webkit/webkitwebview.cpp:
    (webkit_web_view_init):
    
    Source/WebKit2:
    
    As a step to let protocol handler be moved to the modules, RegisterProtocolHandlerClient needs
    to be added to the Modules/protocolhandler. Because ChromeClient has some virtual functions for
    protocol handlers, virtual functions should be moved to RegisterProtocolHandlerClient.
    
    In order to support this, WebRegisterProtocolHandlerClient class is added. However, this is not implemented yet.
    In addition, existing virtual functions in WebChromeClient are moved to WebRegisterProtocolHandlerClient.
    
    * WebProcess/WebCoreSupport/WebChromeClient.h:
    * WebProcess/WebCoreSupport/WebRegisterProtocolHandlerClient.h: Added.
    (WebKit):
    (WebRegisterProtoclHandlerClient):
    (WebKit::WebRegisterProtoclHandlerClient::isProtocolHandlerRegistered):
    (WebKit::WebRegisterProtoclHandlerClient::unregisterProtocolHandler):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    cd6b2961