Title: [154741] trunk/Source/WebCore
Revision
154741
Author
[email protected]
Date
2013-08-28 07:03:38 -0700 (Wed, 28 Aug 2013)

Log Message

REGRESSION(r154708): It broke all plugin tests on GTK and Qt WK1
https://bugs.webkit.org/show_bug.cgi?id=120398

Reviewed by Anders Carlsson.

* bridge/c/c_class.cpp:
(JSC::Bindings::CClass::methodNamed): Keep the pointer of the new CMethod object
to return it after it's adopted by the new HashMap entry.
(JSC::Bindings::CClass::fieldNamed): The pointer to the newly created CField object
should be returned in this branch, matching the behavior before r154708.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (154740 => 154741)


--- trunk/Source/WebCore/ChangeLog	2013-08-28 13:39:58 UTC (rev 154740)
+++ trunk/Source/WebCore/ChangeLog	2013-08-28 14:03:38 UTC (rev 154741)
@@ -1,3 +1,16 @@
+2013-08-28  Zan Dobersek  <[email protected]>
+
+        REGRESSION(r154708): It broke all plugin tests on GTK and Qt WK1
+        https://bugs.webkit.org/show_bug.cgi?id=120398
+
+        Reviewed by Anders Carlsson.
+
+        * bridge/c/c_class.cpp:
+        (JSC::Bindings::CClass::methodNamed): Keep the pointer of the new CMethod object
+        to return it after it's adopted by the new HashMap entry.
+        (JSC::Bindings::CClass::fieldNamed): The pointer to the newly created CField object
+        should be returned in this branch, matching the behavior before r154708.
+
 2013-08-28  Antti Koivisto  <[email protected]>
 
         Fix Qt no-libxml2 build.

Modified: trunk/Source/WebCore/bridge/c/c_class.cpp (154740 => 154741)


--- trunk/Source/WebCore/bridge/c/c_class.cpp	2013-08-28 13:39:58 UTC (rev 154740)
+++ trunk/Source/WebCore/bridge/c/c_class.cpp	2013-08-28 14:03:38 UTC (rev 154741)
@@ -78,9 +78,9 @@
     const CInstance* inst = static_cast<const CInstance*>(instance);
     NPObject* obj = inst->getObject();
     if (m_isa->hasMethod && m_isa->hasMethod(obj, ident)) {
-        OwnPtr<Method> method = adoptPtr(new CMethod(ident));
-        m_methods.set(name.impl(), method.release());
-        return method.get();
+        Method* method = new CMethod(ident);
+        m_methods.set(name.impl(), adoptPtr(method));
+        return method;
     }
     
     return 0;
@@ -97,8 +97,9 @@
     const CInstance* inst = static_cast<const CInstance*>(instance);
     NPObject* obj = inst->getObject();
     if (m_isa->hasProperty && m_isa->hasProperty(obj, ident)) {
-        OwnPtr<Field> field = adoptPtr(new CField(ident));
-        m_fields.set(name.impl(), field.release());
+        Field* field = new CField(ident);
+        m_fields.set(name.impl(), adoptPtr(field));
+        return field;
     }
 
     return 0;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to