Title: [128160] trunk/Source/WebKit2
- Revision
- 128160
- Author
- [email protected]
- Date
- 2012-09-11 02:36:36 -0700 (Tue, 11 Sep 2012)
Log Message
[EFL][WK2] WKEinaSharedString needs a function to adopt eina stringshare.
https://bugs.webkit.org/show_bug.cgi?id=96201
Patch by Byungwoo Lee <[email protected]> on 2012-09-11
Reviewed by Kenneth Rohde Christiansen.
WKEinaSharedString needs a to adopt eina stringshare directly.
With this adopt function, an instance that is directly created with
eina_stringshare_add() can be easily handled by WKEinaSharedString
without calling eina_stringshare_del() for preventing memory leak.
* UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
(WKEinaSharedString::adopt):
* UIProcess/API/cpp/efl/WKEinaSharedString.h:
* UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
(TEST_F):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (128159 => 128160)
--- trunk/Source/WebKit2/ChangeLog 2012-09-11 09:35:13 UTC (rev 128159)
+++ trunk/Source/WebKit2/ChangeLog 2012-09-11 09:36:36 UTC (rev 128160)
@@ -1,3 +1,22 @@
+2012-09-11 Byungwoo Lee <[email protected]>
+
+ [EFL][WK2] WKEinaSharedString needs a function to adopt eina stringshare.
+ https://bugs.webkit.org/show_bug.cgi?id=96201
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ WKEinaSharedString needs a to adopt eina stringshare directly.
+
+ With this adopt function, an instance that is directly created with
+ eina_stringshare_add() can be easily handled by WKEinaSharedString
+ without calling eina_stringshare_del() for preventing memory leak.
+
+ * UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
+ (WKEinaSharedString::adopt):
+ * UIProcess/API/cpp/efl/WKEinaSharedString.h:
+ * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
+ (TEST_F):
+
2012-09-11 Andras Becsi <[email protected]>
[Qt][WK2] Fix the build with recent Qt5
Modified: trunk/Source/WebKit2/UIProcess/API/cpp/efl/WKEinaSharedString.cpp (128159 => 128160)
--- trunk/Source/WebKit2/UIProcess/API/cpp/efl/WKEinaSharedString.cpp 2012-09-11 09:35:13 UTC (rev 128159)
+++ trunk/Source/WebKit2/UIProcess/API/cpp/efl/WKEinaSharedString.cpp 2012-09-11 09:36:36 UTC (rev 128160)
@@ -105,3 +105,10 @@
{
return (!str || !m_string) ? (str == m_string) : !strcmp(m_string, str);
}
+
+WKEinaSharedString WKEinaSharedString::adopt(Eina_Stringshare* string)
+{
+ WKEinaSharedString sharedString;
+ sharedString.m_string = static_cast<const char*>(string);
+ return sharedString;
+}
Modified: trunk/Source/WebKit2/UIProcess/API/cpp/efl/WKEinaSharedString.h (128159 => 128160)
--- trunk/Source/WebKit2/UIProcess/API/cpp/efl/WKEinaSharedString.h 2012-09-11 09:35:13 UTC (rev 128159)
+++ trunk/Source/WebKit2/UIProcess/API/cpp/efl/WKEinaSharedString.h 2012-09-11 09:36:36 UTC (rev 128160)
@@ -61,6 +61,8 @@
ALWAYS_INLINE size_t length() const { return m_string ? static_cast<size_t>(eina_stringshare_strlen(m_string)) : 0; }
+ static WKEinaSharedString adopt(Eina_Stringshare*);
+
private:
const char* m_string;
};
Modified: trunk/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp (128159 => 128160)
--- trunk/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp 2012-09-11 09:35:13 UTC (rev 128159)
+++ trunk/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp 2012-09-11 09:36:36 UTC (rev 128160)
@@ -75,6 +75,18 @@
checkString(string, testUrl);
}
+TEST_F(EWK2UnitTestBase, constructFromEinaStringShare)
+{
+ WKEinaSharedString string(WKEinaSharedString::adopt(eina_stringshare_add(testString)));
+ checkString(string, testString);
+
+ string = WKEinaSharedString::adopt(eina_stringshare_add(anotherTestString));
+ checkString(string, anotherTestString);
+
+ string = string;
+ checkString(string, anotherTestString);
+}
+
TEST_F(EWK2UnitTestBase, costructCopy)
{
WKEinaSharedString string(testString);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes