Don't use PassRefPtr variables in the V8 bindings generator
The V8 bindings generator will generate local variables of type PassRefPtr<DOMStringList> and then try to assign into them. This will break when https://bugs.webkit.org/show_bug.cgi?id=62940 is landed so I'll try to remove the offending line in CodeGeneratorV8.pm to see what else breaks. The offending line is return "PassRefPtr<DOMStringList>" if $type eq "DOMStringList" and $isParameter; and it was added as part of https://bugs.webkit.org/show_bug.cgi?id=56950
Created attachment 97713 [details] Patch
Anders, are you waiting for something to mark this for review? It looks fine to me.
With this patch, addSpellcheckRangeCallback in V8HTMLTextAreaElement.cpp now looks like: --- V8HTMLTextAreaElement-baseline.cpp 2011-06-20 10:51:22.000000000 -0700 +++ V8HTMLTextAreaElement.cpp 2011-06-20 10:51:49.000000000 -0700 @@ -367,7 +367,7 @@ imp->addSpellcheckRange(start, length); return v8::Handle<v8::Value>(); } - EXCEPTION_BLOCK(PassRefPtr<DOMStringList>, suggestions, v8ValueToWebCoreDOMStringList(args[2])); + EXCEPTION_BLOCK(RefPtr<DOMStringList>, suggestions, v8ValueToWebCoreDOMStringList(args[2])); if (args.Length() <= 3) { imp->addSpellcheckRange(start, length, suggestions); return v8::Handle<v8::Value>();
Comment on attachment 97713 [details] Patch + No new tests. (OOPS!) ^^^ You'll probably want to remove this line from the ChangeLog.
Committed r89261: <http://trac.webkit.org/changeset/89261>