- 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