Change a url parameter type with URL in NavigatorContentUtils
authorgyuyoung.kim@samsung.com <gyuyoung.kim@samsung.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 24 Feb 2014 01:23:57 +0000 (01:23 +0000)
committergyuyoung.kim@samsung.com <gyuyoung.kim@samsung.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 24 Feb 2014 01:23:57 +0000 (01:23 +0000)
https://bugs.webkit.org/show_bug.cgi?id=129202

Reviewed by Sam Weinig.

It would be good if we use *URL* for url parameters instead of using String.

Merge from blink. https://src.chromium.org/viewvc/blink?view=rev&revision=165458.

Source/WebCore:

* Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
(WebCore::verifyCustomHandlerURL):
(WebCore::NavigatorContentUtils::registerProtocolHandler):
(WebCore::NavigatorContentUtils::isProtocolHandlerRegistered):
(WebCore::NavigatorContentUtils::unregisterProtocolHandler):
* Modules/navigatorcontentutils/NavigatorContentUtilsClient.h:

Source/WebKit/efl:

* WebCoreSupport/NavigatorContentUtilsClientEfl.cpp:
(WebCore::NavigatorContentUtilsClientEfl::registerProtocolHandler):
(WebCore::NavigatorContentUtilsClientEfl::isProtocolHandlerRegistered):
(WebCore::NavigatorContentUtilsClientEfl::unregisterProtocolHandler):
* WebCoreSupport/NavigatorContentUtilsClientEfl.h:

Source/WebKit/gtk:

* WebCoreSupport/NavigatorContentUtilsClientGtk.cpp:
(WebKit::NavigatorContentUtilsClient::registerProtocolHandler):
* WebCoreSupport/NavigatorContentUtilsClientGtk.h:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h:
(WebKit::WebNavigatorContentUtilsClient::isProtocolHandlerRegistered):
(WebKit::WebNavigatorContentUtilsClient::unregisterProtocolHandler):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@164568 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtils.cpp
Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtilsClient.h
Source/WebKit/efl/ChangeLog
Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.cpp
Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.h
Source/WebKit/gtk/ChangeLog
Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.cpp
Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.h
Source/WebKit2/ChangeLog
Source/WebKit2/WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h

index 00bf70e..c6636ee 100644 (file)
@@ -1,3 +1,21 @@
+2014-02-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
+
+        Change a url parameter type with URL in NavigatorContentUtils
+        https://bugs.webkit.org/show_bug.cgi?id=129202
+
+        Reviewed by Sam Weinig.
+
+        It would be good if we use *URL* for url parameters instead of using String.
+
+        Merge from blink. https://src.chromium.org/viewvc/blink?view=rev&revision=165458.
+
+        * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
+        (WebCore::verifyCustomHandlerURL):
+        (WebCore::NavigatorContentUtils::registerProtocolHandler):
+        (WebCore::NavigatorContentUtils::isProtocolHandlerRegistered):
+        (WebCore::NavigatorContentUtils::unregisterProtocolHandler):
+        * Modules/navigatorcontentutils/NavigatorContentUtilsClient.h:
+
 2014-02-23  Dean Jackson  <dino@apple.com>
 
         Update ANGLE to 836bd2176e5607b14846cf1fbc5932dbc91318f4
index b5fb026..27894af 100644 (file)
@@ -68,7 +68,7 @@ static void initProtocolHandlerWhitelist()
         protocolWhitelist->add(protocols[i]);
 }
 
-static bool verifyCustomHandlerURL(const String& baseURL, const String& url, ExceptionCode& ec)
+static bool verifyCustomHandlerURL(const URL& baseURL, const String& url, ExceptionCode& ec)
 {
     // The specification requires that it is a SYNTAX_ERR if the "%s" token is
     // not present.
@@ -84,8 +84,7 @@ static bool verifyCustomHandlerURL(const String& baseURL, const String& url, Exc
     String newURL = url;
     newURL.remove(index, WTF_ARRAY_LENGTH(token) - 1);
 
-    URL base(ParsedURLString, baseURL);
-    URL kurl(base, newURL);
+    URL kurl(baseURL, newURL);
 
     if (kurl.isEmpty() || !kurl.isValid()) {
         ec = SYNTAX_ERR;
@@ -141,7 +140,7 @@ void NavigatorContentUtils::registerProtocolHandler(Navigator* navigator, const
     if (!document)
         return;
 
-    String baseURL = document->baseURL().baseAsString();
+    URL baseURL = document->baseURL();
 
     if (!verifyCustomHandlerURL(baseURL, url, ec))
         return;
@@ -149,7 +148,7 @@ void NavigatorContentUtils::registerProtocolHandler(Navigator* navigator, const
     if (!verifyProtocolHandlerScheme(scheme, ec))
         return;
 
-    NavigatorContentUtils::from(navigator->frame()->page())->client()->registerProtocolHandler(scheme, baseURL, url, navigator->frame()->displayStringModifiedByEncoding(title));
+    NavigatorContentUtils::from(navigator->frame()->page())->client()->registerProtocolHandler(scheme, baseURL, URL(ParsedURLString, url), navigator->frame()->displayStringModifiedByEncoding(title));
 }
 
 #if ENABLE(CUSTOM_SCHEME_HANDLER)
@@ -180,7 +179,10 @@ String NavigatorContentUtils::isProtocolHandlerRegistered(Navigator* navigator,
         return declined;
 
     Document* document = navigator->frame()->document();
-    String baseURL = document->baseURL().baseAsString();
+    if (!document)
+        return declined;
+
+    URL baseURL = document->baseURL();
 
     if (!verifyCustomHandlerURL(baseURL, url, ec))
         return declined;
@@ -188,7 +190,7 @@ String NavigatorContentUtils::isProtocolHandlerRegistered(Navigator* navigator,
     if (!verifyProtocolHandlerScheme(scheme, ec))
         return declined;
 
-    return customHandlersStateString(NavigatorContentUtils::from(navigator->frame()->page())->client()->isProtocolHandlerRegistered(scheme, baseURL, url));
+    return customHandlersStateString(NavigatorContentUtils::from(navigator->frame()->page())->client()->isProtocolHandlerRegistered(scheme, baseURL, URL(ParsedURLString, url)));
 }
 
 void NavigatorContentUtils::unregisterProtocolHandler(Navigator* navigator, const String& scheme, const String& url, ExceptionCode& ec)
@@ -197,7 +199,10 @@ void NavigatorContentUtils::unregisterProtocolHandler(Navigator* navigator, cons
         return;
 
     Document* document = navigator->frame()->document();
-    String baseURL = document->baseURL().baseAsString();
+    if (!document)
+        return;
+    
+    URL baseURL = document->baseURL();
 
     if (!verifyCustomHandlerURL(baseURL, url, ec))
         return;
@@ -205,7 +210,7 @@ void NavigatorContentUtils::unregisterProtocolHandler(Navigator* navigator, cons
     if (!verifyProtocolHandlerScheme(scheme, ec))
         return;
 
-    NavigatorContentUtils::from(navigator->frame()->page())->client()->unregisterProtocolHandler(scheme, baseURL, url);
+    NavigatorContentUtils::from(navigator->frame()->page())->client()->unregisterProtocolHandler(scheme, baseURL, URL(ParsedURLString, url));
 }
 #endif
 
index 25d67cc..f04394b 100644 (file)
@@ -28,6 +28,7 @@
 
 #if ENABLE(NAVIGATOR_CONTENT_UTILS)
 
+#include "URL.h"
 #include <wtf/text/WTFString.h>
 
 namespace WebCore {
@@ -37,7 +38,7 @@ class Page;
 class NavigatorContentUtilsClient {
 public:
     virtual ~NavigatorContentUtilsClient() { }
-    virtual void registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title) = 0;
+    virtual void registerProtocolHandler(const String& scheme, const URL& baseURL, const URL&, const String& title) = 0;
 
 #if ENABLE(CUSTOM_SCHEME_HANDLER)
     enum CustomHandlersState {
@@ -46,8 +47,8 @@ public:
         CustomHandlersDeclined
     };
 
-    virtual CustomHandlersState isProtocolHandlerRegistered(const String& scheme, const String& baseURL, const String& url) = 0;
-    virtual void unregisterProtocolHandler(const String& scheme, const String& baseURL, const String& url) = 0;
+    virtual CustomHandlersState isProtocolHandlerRegistered(const String& scheme, const URL& baseURL, const URL&) = 0;
+    virtual void unregisterProtocolHandler(const String& scheme, const URL& baseURL, const URL&) = 0;
 #endif
 };
 
index c1bc657..e7d1b85 100644 (file)
@@ -1,3 +1,20 @@
+2014-02-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
+
+        Change a url parameter type with URL in NavigatorContentUtils
+        https://bugs.webkit.org/show_bug.cgi?id=129202
+
+        Reviewed by Sam Weinig.
+
+        It would be good if we use *URL* for url parameters instead of using String.
+
+        Merge from blink. https://src.chromium.org/viewvc/blink?view=rev&revision=165458.
+
+        * WebCoreSupport/NavigatorContentUtilsClientEfl.cpp:
+        (WebCore::NavigatorContentUtilsClientEfl::registerProtocolHandler):
+        (WebCore::NavigatorContentUtilsClientEfl::isProtocolHandlerRegistered):
+        (WebCore::NavigatorContentUtilsClientEfl::unregisterProtocolHandler):
+        * WebCoreSupport/NavigatorContentUtilsClientEfl.h:
+
 2014-02-17  Sergio Correia  <sergio.correia@openbossa.org>
 
         Replace uses of PassOwnPtr/OwnPtr with std::unique_ptr in WebCore/inspector
index a5b612f..52b59ea 100644 (file)
@@ -63,9 +63,9 @@ NavigatorContentUtilsClientEfl::NavigatorContentUtilsClientEfl(Evas_Object* view
 {
 }
 
-void NavigatorContentUtilsClientEfl::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
+void NavigatorContentUtilsClientEfl::registerProtocolHandler(const String& scheme, const URL& baseURL, const URL& url, const String& title)
 {
-    Ewk_Custom_Handler_Data* data = customHandlerDataCreate(m_view, scheme.utf8().data(), baseURL.utf8().data(), url.utf8().data());
+    Ewk_Custom_Handler_Data* data = customHandlerDataCreate(m_view, scheme.utf8().data(), baseURL.string().utf8().data(), url.string().utf8().data());
     data->title = eina_stringshare_add(title.utf8().data());
     ewk_custom_handler_register_protocol_handler(data);
     eina_stringshare_del(data->title);
@@ -73,18 +73,18 @@ void NavigatorContentUtilsClientEfl::registerProtocolHandler(const String& schem
 }
 
 #if ENABLE(CUSTOM_SCHEME_HANDLER)
-NavigatorContentUtilsClient::CustomHandlersState NavigatorContentUtilsClientEfl::isProtocolHandlerRegistered(const String& scheme, const String& baseURL, const String& url)
+NavigatorContentUtilsClient::CustomHandlersState NavigatorContentUtilsClientEfl::isProtocolHandlerRegistered(const String& scheme, const URL& baseURL, const URL& url)
 {
-    Ewk_Custom_Handler_Data* data = customHandlerDataCreate(m_view, scheme.utf8().data(), baseURL.utf8().data(), url.utf8().data());
+    Ewk_Custom_Handler_Data* data = customHandlerDataCreate(m_view, scheme.utf8().data(), baseURL.string().utf8().data(), url.string().utf8().data());
     NavigatorContentUtilsClient::CustomHandlersState result = static_cast<CustomHandlersState>(ewk_custom_handler_register_protocol_handler(data));
     customHandlerDataDelete(data);
 
     return result;
 }
 
-void NavigatorContentUtilsClientEfl::unregisterProtocolHandler(const String& scheme, const String& baseURL, const String& url)
+void NavigatorContentUtilsClientEfl::unregisterProtocolHandler(const String& scheme, const URL& baseURL, const URL& url)
 {
-    Ewk_Custom_Handler_Data* data = customHandlerDataCreate(m_view, scheme.utf8().data(), baseURL.utf8().data(), url.utf8().data());
+    Ewk_Custom_Handler_Data* data = customHandlerDataCreate(m_view, scheme.utf8().data(), baseURL.string().utf8().data(), url.string().utf8().data());
     ewk_custom_handler_register_protocol_handler(data);
     customHandlerDataDelete(data);
 }
index 2fe488f..bf1c75c 100644 (file)
@@ -39,11 +39,11 @@ public:
     static PassOwnPtr<NavigatorContentUtilsClientEfl> create(Evas_Object* view);
 
     ~NavigatorContentUtilsClientEfl() { }
-    virtual void registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title);
+    virtual void registerProtocolHandler(const String& scheme, const URL& baseURL, const URL&, const String& title);
 
 #if ENABLE(CUSTOM_SCHEME_HANDLER)
-    virtual CustomHandlersState isProtocolHandlerRegistered(const String& scheme, const String& baseURL, const String& url);
-    virtual void unregisterProtocolHandler(const String& scheme, const String& baseURL, const String& url);
+    virtual CustomHandlersState isProtocolHandlerRegistered(const String& scheme, const URL& baseURL, const URL&);
+    virtual void unregisterProtocolHandler(const String& scheme, const URL& baseURL, const URL&);
 #endif
 
 private:
index cccdfc0..265ad8c 100644 (file)
@@ -1,3 +1,18 @@
+2014-02-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
+
+        Change a url parameter type with URL in NavigatorContentUtils
+        https://bugs.webkit.org/show_bug.cgi?id=129202
+
+        Reviewed by Sam Weinig.
+
+        It would be good if we use *URL* for url parameters instead of using String.
+
+        Merge from blink. https://src.chromium.org/viewvc/blink?view=rev&revision=165458.
+
+        * WebCoreSupport/NavigatorContentUtilsClientGtk.cpp:
+        (WebKit::NavigatorContentUtilsClient::registerProtocolHandler):
+        * WebCoreSupport/NavigatorContentUtilsClientGtk.h:
+
 2014-02-20  Enrique Ocaña González  <eocanha@igalia.com>
 
         WebKitGTK+ should stop using COMPILE_ASSERT_MATCHING_ENUM macros
index 905769c..e9ab050 100644 (file)
@@ -35,9 +35,9 @@ NavigatorContentUtilsClient::NavigatorContentUtilsClient()
 {
 }
 
-void NavigatorContentUtilsClient::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
-{ 
-    notImplemented(); 
+void NavigatorContentUtilsClient::registerProtocolHandler(const String& scheme, const URL& baseURL, const URL& url, const String& title)
+{
+    notImplemented();
 } 
 
 }
index a6f3e23..7d5b79f 100644 (file)
@@ -32,7 +32,7 @@ public:
 
     ~NavigatorContentUtilsClient() { }
 
-    virtual void registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title);
+    virtual void registerProtocolHandler(const String& scheme, const URL& baseURL, const URL&, const String& title);
 
 private:
     NavigatorContentUtilsClient();
index 10d1948..0189b2b 100644 (file)
@@ -1,3 +1,18 @@
+2014-02-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
+
+        Change a url parameter type with URL in NavigatorContentUtils
+        https://bugs.webkit.org/show_bug.cgi?id=129202
+
+        Reviewed by Sam Weinig.
+
+        It would be good if we use *URL* for url parameters instead of using String.
+
+        Merge from blink. https://src.chromium.org/viewvc/blink?view=rev&revision=165458.
+
+        * WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h:
+        (WebKit::WebNavigatorContentUtilsClient::isProtocolHandlerRegistered):
+        (WebKit::WebNavigatorContentUtilsClient::unregisterProtocolHandler):
+
 2014-02-23  Sam Weinig  <sam@webkit.org>
 
         Move telephone number detection behind its own ENABLE macro
index 049f264..5c3576d 100644 (file)
@@ -38,11 +38,11 @@ public:
     virtual ~WebNavigatorContentUtilsClient() { }
 
 private:
-    virtual void registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title) override { }
+    virtual void registerProtocolHandler(const String& scheme, const URL& baseURL, const URL& url, const String& title) override { }
 
 #if ENABLE(CUSTOM_SCHEME_HANDLER)
-    virtual CustomHandlersState isProtocolHandlerRegistered(const String&, const String&, const String&) { return CustomHandlersDeclined; }
-    virtual void unregisterProtocolHandler(const String&, const String&, const String&) { }
+    virtual CustomHandlersState isProtocolHandlerRegistered(const String&, const URL&, const URL&) { return CustomHandlersDeclined; }
+    virtual void unregisterProtocolHandler(const String&, const URL&, const URL&) { }
 #endif
 };