Title: [131575] trunk/Source/WebKit2
Revision
131575
Author
[email protected]
Date
2012-10-17 03:08:37 -0700 (Wed, 17 Oct 2012)

Log Message

[EFL][WK2] Ewk_Url_Scheme_Request has to be refactored
https://bugs.webkit.org/show_bug.cgi?id=99549

Patch by Mikhail Pozdnyakov <[email protected]> on 2012-10-17
Reviewed by Kenneth Rohde Christiansen.

Ewk_Url_Scheme_Requestis inherited from RefCounted, WKEinaSharedString is used,
removed weird _Ewk_Url_Scheme_Request.

* UIProcess/API/efl/ewk_context_private.h:
* UIProcess/API/efl/ewk_context_request_manager_client.cpp:
(didReceiveURIRequest):
* UIProcess/API/efl/ewk_url_scheme_request.cpp:
(ewk_url_scheme_request_ref):
(ewk_url_scheme_request_unref):
* UIProcess/API/efl/ewk_url_scheme_request.h:
* UIProcess/API/efl/ewk_url_scheme_request_private.h:
(Ewk_Url_Scheme_Request):
(Ewk_Url_Scheme_Request::create):
(Ewk_Url_Scheme_Request::Ewk_Url_Scheme_Request):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (131574 => 131575)


--- trunk/Source/WebKit2/ChangeLog	2012-10-17 10:02:56 UTC (rev 131574)
+++ trunk/Source/WebKit2/ChangeLog	2012-10-17 10:08:37 UTC (rev 131575)
@@ -1,3 +1,25 @@
+2012-10-17  Mikhail Pozdnyakov  <[email protected]>
+
+        [EFL][WK2] Ewk_Url_Scheme_Request has to be refactored
+        https://bugs.webkit.org/show_bug.cgi?id=99549
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Ewk_Url_Scheme_Requestis inherited from RefCounted, WKEinaSharedString is used,
+        removed weird _Ewk_Url_Scheme_Request.
+
+        * UIProcess/API/efl/ewk_context_private.h:
+        * UIProcess/API/efl/ewk_context_request_manager_client.cpp:
+        (didReceiveURIRequest):
+        * UIProcess/API/efl/ewk_url_scheme_request.cpp:
+        (ewk_url_scheme_request_ref):
+        (ewk_url_scheme_request_unref):
+        * UIProcess/API/efl/ewk_url_scheme_request.h:
+        * UIProcess/API/efl/ewk_url_scheme_request_private.h:
+        (Ewk_Url_Scheme_Request):
+        (Ewk_Url_Scheme_Request::create):
+        (Ewk_Url_Scheme_Request::Ewk_Url_Scheme_Request):
+
 2012-10-17  Mario Sanchez Prada  <[email protected]>
 
         [WK2][GTK] Unneeded GError field in internal structure in WebKitFaviconDatabase.cpp

Modified: trunk/Source/WebKit2/UIProcess/API/efl/ewk_context_private.h (131574 => 131575)


--- trunk/Source/WebKit2/UIProcess/API/efl/ewk_context_private.h	2012-10-17 10:02:56 UTC (rev 131574)
+++ trunk/Source/WebKit2/UIProcess/API/efl/ewk_context_private.h	2012-10-17 10:08:37 UTC (rev 131575)
@@ -24,7 +24,7 @@
 
 typedef struct _Ewk_Context Ewk_Context;
 typedef struct _Ewk_Download_Job Ewk_Download_Job;
-typedef struct _Ewk_Url_Scheme_Request Ewk_Url_Scheme_Request;
+typedef struct Ewk_Url_Scheme_Request Ewk_Url_Scheme_Request;
 typedef struct _Ewk_Context_History_Client Ewk_Context_History_Client;
 
 WKContextRef ewk_context_WKContext_get(const Ewk_Context*);

Modified: trunk/Source/WebKit2/UIProcess/API/efl/ewk_context_request_manager_client.cpp (131574 => 131575)


--- trunk/Source/WebKit2/UIProcess/API/efl/ewk_context_request_manager_client.cpp	2012-10-17 10:02:56 UTC (rev 131574)
+++ trunk/Source/WebKit2/UIProcess/API/efl/ewk_context_request_manager_client.cpp	2012-10-17 10:08:37 UTC (rev 131575)
@@ -27,6 +27,7 @@
 
 #include "WKBase.h"
 #include "WKSoupRequestManager.h"
+#include "WKURL.h"
 #include "ewk_context_private.h"
 #include "ewk_context_request_manager_client_private.h"
 #include "ewk_url_scheme_request.h"
@@ -39,9 +40,8 @@
 
 static void didReceiveURIRequest(WKSoupRequestManagerRef soupRequestManagerRef, WKURLRef urlRef, WKPageRef, uint64_t requestID, const void* clientInfo)
 {
-    Ewk_Url_Scheme_Request* schemeRequest = ewk_url_scheme_request_new(soupRequestManagerRef, urlRef, requestID);
-    ewk_context_url_scheme_request_received(toEwkContext(clientInfo), schemeRequest);
-    ewk_url_scheme_request_unref(schemeRequest);
+    RefPtr<Ewk_Url_Scheme_Request> schemeRequest = Ewk_Url_Scheme_Request::create(soupRequestManagerRef, urlRef, requestID);
+    ewk_context_url_scheme_request_received(toEwkContext(clientInfo), schemeRequest.get());
 }
 
 void ewk_context_request_manager_client_attach(Ewk_Context* context)

Modified: trunk/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request.cpp (131574 => 131575)


--- trunk/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request.cpp	2012-10-17 10:02:56 UTC (rev 131574)
+++ trunk/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request.cpp	2012-10-17 10:08:37 UTC (rev 131575)
@@ -26,51 +26,16 @@
 #include "config.h"
 #include "ewk_url_scheme_request.h"
 
-#include "GOwnPtrSoup.h"
 #include "WKData.h"
-#include "WKRetainPtr.h"
-#include "WKSoupRequestManager.h"
 #include "WKString.h"
-#include <wtf/text/CString.h>
+#include "ewk_url_scheme_request_private.h"
 
 using namespace WebKit;
 
-/**
- * \struct  _Ewk_Url_Scheme_Request
- * @brief   Contains the URL scheme request data.
- */
-struct _Ewk_Url_Scheme_Request {
-    unsigned int __ref; /**< the reference count of the object */
-    WKRetainPtr<WKSoupRequestManagerRef> wkRequestManager;
-    const char* url;
-    uint64_t requestID;
-    const char* scheme;
-    const char* path;
-
-    _Ewk_Url_Scheme_Request(WKSoupRequestManagerRef manager, const char* _url, uint64_t _requestID)
-        : __ref(1)
-        , wkRequestManager(manager)
-        , url(eina_stringshare_add(_url))
-        , requestID(_requestID)
-    {
-        GOwnPtr<SoupURI> soupURI(soup_uri_new(_url));
-        scheme = eina_stringshare_add(soupURI->scheme);
-        path = eina_stringshare_add(soupURI->path);
-    }
-
-    ~_Ewk_Url_Scheme_Request()
-    {
-        ASSERT(!__ref);
-        eina_stringshare_del(url);
-        eina_stringshare_del(scheme);
-        eina_stringshare_del(path);
-    }
-};
-
 Ewk_Url_Scheme_Request* ewk_url_scheme_request_ref(Ewk_Url_Scheme_Request* request)
 {
     EINA_SAFETY_ON_NULL_RETURN_VAL(request, 0);
-    ++request->__ref;
+    request->ref();
 
     return request;
 }
@@ -79,10 +44,7 @@
 {
     EINA_SAFETY_ON_NULL_RETURN(request);
 
-    if (--request->__ref)
-        return;
-
-    delete request;
+    request->deref();
 }
 
 const char* ewk_url_scheme_request_scheme_get(const Ewk_Url_Scheme_Request* request)
@@ -106,17 +68,6 @@
     return request->path;
 }
 
-/**
- * @internal
- * Returns the #Ewk_Url_Scheme_Request identifier.
- */
-uint64_t ewk_url_scheme_request_id_get(const Ewk_Url_Scheme_Request* request)
-{
-    EINA_SAFETY_ON_NULL_RETURN_VAL(request, 0);
-
-    return request->requestID;
-}
-
 Eina_Bool ewk_url_scheme_request_finish(const Ewk_Url_Scheme_Request* request, const void* contentData, unsigned int contentLength, const char* mimeType)
 {
     EINA_SAFETY_ON_NULL_RETURN_VAL(request, false);
@@ -129,15 +80,3 @@
 
     return true;
 }
-
-/**
- * @internal
- * Constructs a Ewk_Url_Scheme_Request.
- */
-Ewk_Url_Scheme_Request* ewk_url_scheme_request_new(WKSoupRequestManagerRef requestManager, WKURLRef url, uint64_t requestID)
-{
-    EINA_SAFETY_ON_NULL_RETURN_VAL(requestManager, 0);
-    EINA_SAFETY_ON_NULL_RETURN_VAL(url, 0);
-
-    return new Ewk_Url_Scheme_Request(requestManager, toImpl(url)->string().utf8().data(), requestID);
-}

Modified: trunk/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request.h (131574 => 131575)


--- trunk/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request.h	2012-10-17 10:02:56 UTC (rev 131574)
+++ trunk/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request.h	2012-10-17 10:08:37 UTC (rev 131575)
@@ -38,7 +38,7 @@
 #endif
 
 /** Creates a type name for _Ewk_Url_Scheme_Request */
-typedef struct _Ewk_Url_Scheme_Request Ewk_Url_Scheme_Request;
+typedef struct Ewk_Url_Scheme_Request Ewk_Url_Scheme_Request;
 
 /**
  * Increases the reference count of the given object.

Modified: trunk/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request_private.h (131574 => 131575)


--- trunk/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request_private.h	2012-10-17 10:02:56 UTC (rev 131574)
+++ trunk/Source/WebKit2/UIProcess/API/efl/ewk_url_scheme_request_private.h	2012-10-17 10:08:37 UTC (rev 131575)
@@ -26,13 +26,42 @@
 #ifndef ewk_url_scheme_request_private_h
 #define ewk_url_scheme_request_private_h
 
+#include "GOwnPtrSoup.h"
+#include "WKAPICast.h"
 #include "WKBase.h"
+#include "WKEinaSharedString.h"
+#include "WKRetainPtr.h"
+#include "WKSoupRequestManager.h"
 
-typedef struct _Ewk_Url_Scheme_Request Ewk_Url_Scheme_Request;
-typedef struct _Ewk_Context Ewk_Context;
+/**
+ * \struct  _Ewk_Url_Scheme_Request
+ * @brief   Contains the URL scheme request data.
+ */
+struct Ewk_Url_Scheme_Request : public RefCounted<Ewk_Url_Scheme_Request> {
+    WKRetainPtr<WKSoupRequestManagerRef> wkRequestManager;
+    WKEinaSharedString url;
+    uint64_t requestID;
+    WKEinaSharedString scheme;
+    WKEinaSharedString path;
 
-Ewk_Url_Scheme_Request* ewk_url_scheme_request_new(WKSoupRequestManagerRef, WKURLRef, uint64_t requestID);
+    static PassRefPtr<Ewk_Url_Scheme_Request> create(WKSoupRequestManagerRef manager, WKURLRef url, uint64_t requestID)
+    {
+        if (!manager || !url)
+            return 0;
 
-uint64_t ewk_url_scheme_request_id_get(const Ewk_Url_Scheme_Request* request);
+        return adoptRef(new Ewk_Url_Scheme_Request(manager, url, requestID));
+    }
 
+private:
+    Ewk_Url_Scheme_Request(WKSoupRequestManagerRef manager, WKURLRef urlRef, uint64_t requestID)
+        : wkRequestManager(manager)
+        , url(urlRef)
+        , requestID(requestID)
+    {
+        GOwnPtr<SoupURI> soupURI(soup_uri_new(url));
+        scheme = soupURI->scheme;
+        path = soupURI->path;        
+    }
+};
+
 #endif // ewk_url_scheme_request_private_h
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to