Currently IDLParser.pm cannot understand sequence<T> type. We should support it. This is a preparing patch for fixing 80696.
Created attachment 132270 [details] Patch
Attachment 132270 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCor..." exit_code: 1 Source/WebCore/bindings/scripts/test/CPP/WebDOMTestObj.h:154: Extra space before ) [whitespace/parens] [2] Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:63: "webkit/WebKitDOMsequence<ScriptProfile" already included at Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:62 [build/include] [4] Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:175: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:188: Local variables should never be PassRefPtr (see http://webkit.org/coding/RefPtr.html). [readability/pass_ptr] [5] Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:819: Local variables should never be PassRefPtr (see http://webkit.org/coding/RefPtr.html). [readability/pass_ptr] [5] Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:832: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] Total errors found: 6 in 12 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 132270 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=132270&action=review > Source/WebCore/bindings/scripts/IDLStructure.pm:106 > +our $interfaceSelector = 'interface\s*((?:' . $extendedAttributeSyntax . ' )?)(' . $idlIdNs . '*)\s*(?::(\s*[^{]*))?{([-a-zA-Z0-9_"=\s(),;:\[\]<>&\|]*)'; It took me one hour to notice this change...:-) Maybe it is time to refactor the IDL parser to a recursive parser.
Comment on attachment 132270 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=132270&action=review I suspect you need to update the CodeGenerator pm files to do something sane with this type. Maybe the way we handle Foo[] is a good example to build from there? > Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp:46 > +#include "JSsequence<ScriptProfile>.h" This looks pretty broken. > Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp:55 > +#include "V8sequence<ScriptProfile>.h" This too.
I see. You're just going to do the code generation parts later.... Ok.
Comment on attachment 132270 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=132270&action=review >> Source/WebCore/bindings/scripts/IDLStructure.pm:106 >> +our $interfaceSelector = 'interface\s*((?:' . $extendedAttributeSyntax . ' )?)(' . $idlIdNs . '*)\s*(?::(\s*[^{]*))?{([-a-zA-Z0-9_"=\s(),;:\[\]<>&\|]*)'; > > It took me one hour to notice this change...:-) Maybe it is time to refactor the IDL parser to a recursive parser. We have a recursive version in Python, but I'm not sure we want to re-write everything in Python...
(In reply to comment #5) > I see. You're just going to do the code generation parts later.... Ok. Yes, I was just asked to fix the parser side.
Committed r111004: <http://trac.webkit.org/changeset/111004>
(In reply to comment #7) > (In reply to comment #5) > > I see. You're just going to do the code generation parts later.... Ok. > > Yes, I was just asked to fix the parser side. Thank you haraken for the fix. I am to provide codegenerator fix.