Title: [126448] trunk/Source/WebKit2
- Revision
- 126448
- Author
- [email protected]
- Date
- 2012-08-23 11:02:34 -0700 (Thu, 23 Aug 2012)
Log Message
[EFL][WK2] Free ewk context data on program exit.
https://bugs.webkit.org/show_bug.cgi?id=94808
Patch by Christophe Dumez <[email protected]> on 2012-08-23
Reviewed by Kenneth Rohde Christiansen.
Make sure the default Ewk_Context gets freed
on program exit.
The patch also fixes leaking of WKContextRef
inside Ewk_Context which should have been
adopted.
* UIProcess/API/efl/ewk_context.cpp:
(_Ewk_Context::_Ewk_Context):
(ewk_context_default_get):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (126447 => 126448)
--- trunk/Source/WebKit2/ChangeLog 2012-08-23 17:55:05 UTC (rev 126447)
+++ trunk/Source/WebKit2/ChangeLog 2012-08-23 18:02:34 UTC (rev 126448)
@@ -1,3 +1,21 @@
+2012-08-23 Christophe Dumez <[email protected]>
+
+ [EFL][WK2] Free ewk context data on program exit.
+ https://bugs.webkit.org/show_bug.cgi?id=94808
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Make sure the default Ewk_Context gets freed
+ on program exit.
+
+ The patch also fixes leaking of WKContextRef
+ inside Ewk_Context which should have been
+ adopted.
+
+ * UIProcess/API/efl/ewk_context.cpp:
+ (_Ewk_Context::_Ewk_Context):
+ (ewk_context_default_get):
+
2012-08-23 Adrienne Walker <[email protected]>
Convert ScrollableArea ASSERT_NOT_REACHED virtuals
Modified: trunk/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp (126447 => 126448)
--- trunk/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp 2012-08-23 17:55:05 UTC (rev 126447)
+++ trunk/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp 2012-08-23 18:02:34 UTC (rev 126448)
@@ -70,18 +70,18 @@
WKRetainPtr<WKSoupRequestManagerRef> requestManager;
URLSchemeHandlerMap urlSchemeHandlers;
- _Ewk_Context(WKContextRef contextRef)
+ _Ewk_Context(WKRetainPtr<WKContextRef> contextRef)
: context(contextRef)
, cookieManager(0)
- , requestManager(WKContextGetSoupRequestManager(contextRef))
+ , requestManager(WKContextGetSoupRequestManager(contextRef.get()))
{
#if ENABLE(BATTERY_STATUS)
- WKBatteryManagerRef wkBatteryManager = WKContextGetBatteryManager(contextRef);
+ WKBatteryManagerRef wkBatteryManager = WKContextGetBatteryManager(contextRef.get());
batteryProvider = BatteryProvider::create(wkBatteryManager);
#endif
#if ENABLE(VIBRATION)
- WKVibrationRef wkVibrationRef = WKContextGetVibration(contextRef);
+ WKVibrationRef wkVibrationRef = WKContextGetVibration(contextRef.get());
vibrationProvider = VibrationProvider::create(wkVibrationRef);
#endif
@@ -198,16 +198,11 @@
handler.callback(schemeRequest, handler.userData);
}
-static inline Ewk_Context* createDefaultEwkContext()
-{
- return new Ewk_Context(WKContextCreate());
-}
-
Ewk_Context* ewk_context_default_get()
{
- static Ewk_Context* defaultContext = createDefaultEwkContext();
+ static Ewk_Context defaultContext(adoptWK(WKContextCreate()));
- return defaultContext;
+ return &defaultContext;
}
Eina_Bool ewk_context_uri_scheme_register(Ewk_Context* ewkContext, const char* scheme, Ewk_Url_Scheme_Request_Cb callback, void* userData)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes