Title: [145535] trunk/Source/WebKit2
Revision
145535
Author
mikhail.pozdnya...@intel.com
Date
2013-03-12 05:32:37 -0700 (Tue, 12 Mar 2013)

Log Message

[WK2][EFL] Fix EwkContext class API
https://bugs.webkit.org/show_bug.cgi?id=111706

Reviewed by Alexey Proskuryakov.

* UIProcess/API/C/efl/WKView.cpp:
(createWKView):
* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::findOrCreateWrapper):

    Renamed from create() as it returns the same instance of EwkContext
    for the given WKContextRef if present.

(EwkContext::create):
(EwkContext::defaultContext):

    Returns raw pointer rather than PassRefPtr<EwkContext> as ownership
    is not transferred.

(ewk_context_default_get):
* UIProcess/API/efl/ewk_context_private.h:
(EwkContext):
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (145534 => 145535)


--- trunk/Source/WebKit2/ChangeLog	2013-03-12 12:29:32 UTC (rev 145534)
+++ trunk/Source/WebKit2/ChangeLog	2013-03-12 12:32:37 UTC (rev 145535)
@@ -1,3 +1,30 @@
+2013-03-12  Mikhail Pozdnyakov  <mikhail.pozdnya...@intel.com>
+
+        [WK2][EFL] Fix EwkContext class API
+        https://bugs.webkit.org/show_bug.cgi?id=111706
+
+        Reviewed by Alexey Proskuryakov.
+
+        * UIProcess/API/C/efl/WKView.cpp:
+        (createWKView):
+        * UIProcess/API/efl/ewk_context.cpp:
+        (EwkContext::findOrCreateWrapper):
+
+            Renamed from create() as it returns the same instance of EwkContext
+            for the given WKContextRef if present.
+
+        (EwkContext::create):
+        (EwkContext::defaultContext):
+
+            Returns raw pointer rather than PassRefPtr<EwkContext> as ownership
+            is not transferred.
+
+        (ewk_context_default_get):
+        * UIProcess/API/efl/ewk_context_private.h:
+        (EwkContext):
+        * UIProcess/efl/WebInspectorProxyEfl.cpp:
+        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+
 2013-03-12  Zan Dobersek  <zdober...@igalia.com>
 
         [GTK] Enable Web Audio in development builds

Modified: trunk/Source/WebKit2/UIProcess/API/C/efl/WKView.cpp (145534 => 145535)


--- trunk/Source/WebKit2/UIProcess/API/C/efl/WKView.cpp	2013-03-12 12:29:32 UTC (rev 145534)
+++ trunk/Source/WebKit2/UIProcess/API/C/efl/WKView.cpp	2013-03-12 12:32:37 UTC (rev 145535)
@@ -30,7 +30,7 @@
 
 static inline WKViewRef createWKView(Evas* canvas, WKContextRef contextRef, WKPageGroupRef pageGroupRef, EwkView::ViewBehavior behavior)
 {
-    RefPtr<EwkContext> context = contextRef ? EwkContext::create(contextRef) : EwkContext::defaultContext();
+    RefPtr<EwkContext> context = contextRef ? EwkContext::findOrCreateWrapper(contextRef) : EwkContext::defaultContext();
     Evas_Object* evasObject = EwkView::createEvasObject(canvas, context, pageGroupRef, behavior);
     if (!evasObject)
         return 0;

Modified: trunk/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp (145534 => 145535)


--- trunk/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp	2013-03-12 12:29:32 UTC (rev 145534)
+++ trunk/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp	2013-03-12 12:32:37 UTC (rev 145535)
@@ -102,17 +102,17 @@
     contextMap().remove(m_context.get());
 }
 
-PassRefPtr<EwkContext> EwkContext::create(WKContextRef context)
+PassRefPtr<EwkContext> EwkContext::findOrCreateWrapper(WKContextRef context)
 {
     if (contextMap().contains(context))
-        return contextMap().get(context); // Will be ref-ed automatically.
+        return contextMap().get(context);
 
     return adoptRef(new EwkContext(context));
 }
 
 PassRefPtr<EwkContext> EwkContext::create()
 {
-    return create(adoptWK(WKContextCreate()).get());
+    return adoptRef(new EwkContext(adoptWK(WKContextCreate()).get()));
 }
 
 PassRefPtr<EwkContext> EwkContext::create(const String& injectedBundlePath)
@@ -122,12 +122,12 @@
 
     WKRetainPtr<WKStringRef> path = adoptWK(toCopiedAPI(injectedBundlePath));
 
-    return create(adoptWK(WKContextCreateWithInjectedBundlePath(path.get())).get());
+    return adoptRef(new EwkContext(adoptWK(WKContextCreateWithInjectedBundlePath(path.get())).get()));
 }
 
-PassRefPtr<EwkContext> EwkContext::defaultContext()
+EwkContext* EwkContext::defaultContext()
 {
-    static RefPtr<EwkContext> defaultInstance = create();
+    static EwkContext* defaultInstance = create().leakRef();
 
     return defaultInstance;
 }
@@ -264,7 +264,7 @@
 
 Ewk_Context* ewk_context_default_get()
 {
-    return EwkContext::defaultContext().get();
+    return EwkContext::defaultContext();
 }
 
 Ewk_Context* ewk_context_new()

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


--- trunk/Source/WebKit2/UIProcess/API/efl/ewk_context_private.h	2013-03-12 12:29:32 UTC (rev 145534)
+++ trunk/Source/WebKit2/UIProcess/API/efl/ewk_context_private.h	2013-03-12 12:32:37 UTC (rev 145535)
@@ -49,11 +49,11 @@
 public:
     EWK_OBJECT_DECLARE(EwkContext)
 
-    static PassRefPtr<EwkContext> create(WKContextRef context);
+    static PassRefPtr<EwkContext> findOrCreateWrapper(WKContextRef context);
     static PassRefPtr<EwkContext> create();
     static PassRefPtr<EwkContext> create(const String& injectedBundlePath);
 
-    static PassRefPtr<EwkContext> defaultContext();
+    static EwkContext* defaultContext();
 
     ~EwkContext();
 

Modified: trunk/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp (145534 => 145535)


--- trunk/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp	2013-03-12 12:29:32 UTC (rev 145534)
+++ trunk/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp	2013-03-12 12:32:37 UTC (rev 145535)
@@ -100,7 +100,7 @@
 
     // FIXME: Refactor to use WKViewRef.
     WKContextRef contextRef = toAPI(page()->process()->context());
-    m_inspectorView = EwkView::createEvasObject(ecore_evas_get(m_inspectorWindow), EwkContext::create(contextRef), toAPI(inspectorPageGroup()), EwkView::LegacyBehavior);
+    m_inspectorView = EwkView::createEvasObject(ecore_evas_get(m_inspectorWindow), EwkContext::findOrCreateWrapper(contextRef), toAPI(inspectorPageGroup()), EwkView::LegacyBehavior);
     if (!m_inspectorView)
         return 0;
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to