Changeset 81799 in webkit
- Timestamp:
- Mar 23, 2011 1:13:22 PM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r81795 r81799 1 2011-03-23 Tyler Close <tjclose@chromium.org> 2 3 Reviewed by Jeremy Orlow. 4 5 Fix ambiguous method call in V8 IDL generated code for DOMStringList callback parameter 6 https://bugs.webkit.org/show_bug.cgi?id=56950 7 8 * bindings/scripts/CodeGeneratorV8.pm: 9 * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: 10 (WebDOMTestCallback::callbackWithStringList): 11 * bindings/scripts/test/CPP/WebDOMTestCallback.h: 12 * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: 13 (webkit_dom_test_callback_callback_with_string_list): 14 * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: 15 * bindings/scripts/test/JS/JSTestCallback.cpp: 16 (WebCore::JSTestCallback::callbackWithStringList): 17 * bindings/scripts/test/JS/JSTestCallback.h: 18 * bindings/scripts/test/ObjC/DOMTestCallback.h: 19 * bindings/scripts/test/ObjC/DOMTestCallback.mm: 20 (-[DOMTestCallback callbackWithStringList:]): 21 * bindings/scripts/test/TestCallback.idl: 22 * bindings/scripts/test/V8/V8TestCallback.cpp: 23 (WebCore::V8TestCallback::callbackWithStringList): 24 * bindings/scripts/test/V8/V8TestCallback.h: 25 1 26 2011-03-23 Cris Neckar <cdn@chromium.org> 2 27 -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm
r81265 r81799 2847 2847 return "RefPtr<MediaQueryListListener>" if $type eq "MediaQueryListListener"; 2848 2848 2849 return "PassRefPtr<DOMStringList>" if $type eq "DOMStringList" and $isParameter; 2849 2850 return "RefPtr<DOMStringList>" if $type eq "DOMStringList"; 2850 2851 -
trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestCallback.cpp
r76277 r81799 28 28 #include "Class2.h" 29 29 #include "Class3.h" 30 #include "DOMStringList.h" 30 31 #include "KURL.h" 31 32 #include "TestCallback.h" … … 33 34 #include "WebDOMClass2.h" 34 35 #include "WebDOMClass3.h" 36 #include "WebDOMDOMStringList.h" 35 37 #include "WebDOMString.h" 36 38 #include "WebExceptionHandler.h" … … 116 118 } 117 119 120 bool WebDOMTestCallback::callbackWithStringList(const WebDOMDOMStringList& listParam) 121 { 122 if (!impl()) 123 return false; 124 125 return impl()->callbackWithStringList(toWebCore(listParam)); 126 } 127 118 128 WebCore::TestCallback* toWebCore(const WebDOMTestCallback& wrapper) 119 129 { -
trunk/Source/WebCore/bindings/scripts/test/CPP/WebDOMTestCallback.h
r76277 r81799 38 38 class WebDOMClass5; 39 39 class WebDOMClass6; 40 class WebDOMDOMStringList; 40 41 41 42 class WebDOMTestCallback : public WebDOMObject { … … 52 53 int callbackWithNonBoolReturnType(const WebDOMClass3& class3Param); 53 54 int customCallback(const WebDOMClass5& class5Param, const WebDOMClass6& class6Param); 55 bool callbackWithStringList(const WebDOMDOMStringList& listParam); 54 56 55 57 WebCore::TestCallback* impl() const; -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp
r76277 r81799 38 38 #include "webkit/WebKitDOMClass3.h" 39 39 #include "webkit/WebKitDOMClass3Private.h" 40 #include "webkit/WebKitDOMDOMStringList.h" 41 #include "webkit/WebKitDOMDOMStringListPrivate.h" 40 42 #include "webkit/WebKitDOMTestCallback.h" 41 43 #include "webkit/WebKitDOMTestCallbackPrivate.h" … … 118 120 } 119 121 122 gboolean 123 webkit_dom_test_callback_callback_with_string_list(WebKitDOMTestCallback* self, WebKitDOMDOMStringList* list_param) 124 { 125 g_return_val_if_fail(self, 0); 126 WebCore::JSMainThreadNullState state; 127 WebCore::TestCallback * item = WebKit::core(self); 128 g_return_val_if_fail(list_param, 0); 129 WebCore::DOMStringList * converted_list_param = NULL; 130 if (list_param != NULL) { 131 converted_list_param = WebKit::core(list_param); 132 g_return_val_if_fail(converted_list_param, 0); 133 } 134 gboolean res = item->callbackWithStringList(converted_list_param); 135 return res; 136 } 137 120 138 121 139 G_DEFINE_TYPE(WebKitDOMTestCallback, webkit_dom_test_callback, WEBKIT_TYPE_DOM_OBJECT) -
trunk/Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestCallback.h
r76277 r81799 59 59 webkit_dom_test_callback_callback_with_non_bool_return_type(WebKitDOMTestCallback* self, WebKitDOMClass3* class3param); 60 60 61 WEBKIT_API gboolean 62 webkit_dom_test_callback_callback_with_string_list(WebKitDOMTestCallback* self, WebKitDOMDOMStringList* list_param); 63 61 64 G_END_DECLS 62 65 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp
r76277 r81799 27 27 #include "JSClass1.h" 28 28 #include "JSClass2.h" 29 #include "JSDOMStringList.h" 29 30 #include "ScriptExecutionContext.h" 30 31 #include <runtime/JSLock.h> … … 111 112 } 112 113 114 bool JSTestCallback::callbackWithStringList(DOMStringList* listParam) 115 { 116 if (!canInvokeCallback()) 117 return true; 118 119 RefPtr<JSTestCallback> protect(this); 120 121 JSLock lock(SilenceAssertionsOnly); 122 123 ExecState* exec = m_data->globalObject()->globalExec(); 124 MarkedArgumentBuffer args; 125 args.append(toJS(exec, listParam)); 126 127 bool raisedException = false; 128 m_data->invokeCallback(args, &raisedException); 129 return !raisedException; 130 } 131 113 132 } 114 133 -
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.h
r76277 r81799 46 46 COMPILE_ASSERT(false) virtual int callbackWithNonBoolReturnType(Class3* class3Param); 47 47 virtual int customCallback(Class5* class5Param, Class6* class6Param); 48 virtual bool callbackWithStringList(DOMStringList* listParam); 48 49 49 50 private: -
trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestCallback.h
r76277 r81799 34 34 @class DOMClass5; 35 35 @class DOMClass6; 36 @class DOMDOMStringList; 36 37 @class NSString; 37 38 … … 42 43 - (int)callbackWithNonBoolReturnType:(DOMClass3 *)class3Param; 43 44 - (int)customCallback:(DOMClass5 *)class5Param class6Param:(DOMClass6 *)class6Param; 45 - (BOOL)callbackWithStringList:(DOMDOMStringList *)listParam; 44 46 @end 45 47 -
trunk/Source/WebCore/bindings/scripts/test/ObjC/DOMTestCallback.mm
r76277 r81799 46 46 #import "DOMClass5Internal.h" 47 47 #import "DOMClass6Internal.h" 48 #import "DOMDOMStringListInternal.h" 48 49 #import "DOMEventInternal.h" 49 50 #import "DOMNodeInternal.h" 51 #import "DOMStringList.h" 50 52 #import "DOMStyleSheetInternal.h" 51 53 #import "DOMTestCallbackInternal.h" … … 110 112 } 111 113 114 - (BOOL)callbackWithStringList:(DOMDOMStringList *)listParam 115 { 116 WebCore::JSMainThreadNullState state; 117 return IMPL->callbackWithStringList(core(listParam)); 118 } 119 112 120 @end 113 121 -
trunk/Source/WebCore/bindings/scripts/test/TestCallback.idl
r76277 r81799 39 39 long callbackWithNonBoolReturnType(in Class3 class3Param); 40 40 [Custom] long customCallback(in Class5 class5Param, in Class6 class6Param); 41 boolean callbackWithStringList(in DOMStringList listParam); 41 42 }; 42 43 } -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestCallback.cpp
r81789 r81799 28 28 #include "V8Class2.h" 29 29 #include "V8CustomVoidCallback.h" 30 #include "V8DOMStringList.h" 30 31 #include "V8Proxy.h" 31 32 #include <wtf/GetPtr.h> … … 131 132 } 132 133 134 bool V8TestCallback::callbackWithStringList(PassRefPtr<DOMStringList> listParam) 135 { 136 if (!canInvokeCallback()) 137 return true; 138 139 v8::HandleScope handleScope; 140 141 v8::Handle<v8::Context> v8Context = toV8Context(scriptExecutionContext(), m_worldContext); 142 if (v8Context.IsEmpty()) 143 return true; 144 145 v8::Context::Scope scope(v8Context); 146 147 v8::Handle<v8::Value> listParamHandle = toV8(listParam); 148 if (listParamHandle.IsEmpty()) { 149 CRASH(); 150 return true; 151 } 152 153 v8::Handle<v8::Value> argv[] = { 154 listParamHandle 155 }; 156 157 bool callbackReturnValue = false; 158 return !invokeCallback(m_callback, 1, argv, callbackReturnValue, scriptExecutionContext()); 159 } 160 133 161 } // namespace WebCore 134 162 -
trunk/Source/WebCore/bindings/scripts/test/V8/V8TestCallback.h
r76277 r81799 51 51 COMPILE_ASSERT(false) virtual int callbackWithNonBoolReturnType(Class3* class3Param); 52 52 virtual int customCallback(Class5* class5Param, Class6* class6Param); 53 virtual bool callbackWithStringList(PassRefPtr<DOMStringList> listParam); 53 54 54 55 private:
Note: See TracChangeset
for help on using the changeset viewer.