Bug 37998

Summary: Improve code generator scripts to handle OR ('|') condition in the extended attributes
Product: WebKit Reporter: Jian Li <jianli>
Component: WebCore JavaScriptAssignee: Jian Li <jianli>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, dglazkov, dimich, sam, yaar
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 37840    
Attachments:
Description Flags
Proposed Patch abarth: review+, jianli: commit-queue-

Jian Li
Reported 2010-04-22 10:58:18 PDT
The current code generator scripts support using AND ('&') condition in the extended attributes of an interface. We need to also add support for OR '|' condition, like in FileError interface case: interface [ Conditional=FILE_READER|FILE_WRITER ] FileError { In addition, the condition operator is not supported in the extended attributes of properties/methods of an interface. We need to fix this.
Attachments
Proposed Patch (11.81 KB, patch)
2010-04-22 11:31 PDT, Jian Li
abarth: review+
jianli: commit-queue-
Jian Li
Comment 1 2010-04-22 11:31:59 PDT
Created attachment 54079 [details] Proposed Patch
Adam Barth
Comment 2 2010-04-23 00:47:49 PDT
Comment on attachment 54079 [details] Proposed Patch WebCore/bindings/scripts/CodeGeneratorJS.pm:298 + } else { Maybe it's better to be explicit here? You're assuming that not & is | Nice removal Of copy/paste code. Please address the above before landing.
Jian Li
Comment 3 2010-04-23 15:25:33 PDT
Adam Barth
Comment 4 2010-04-23 16:29:08 PDT
It occurs to me that you didn't add a test to our spiffy new generated code testing harness. Can you please add one in a follow up bug?
Jian Li
Comment 5 2010-04-23 16:57:56 PDT
Where is it located? I will add one.
Adam Barth
Comment 6 2010-04-23 19:01:36 PDT
(In reply to comment #5) > Where is it located? I will add one. I'm not 100% sure. Look for a file with the word "test" and idl in it's name. I think there is a run-bindings-tests script somewhere too. This is all very new.
Note You need to log in before you can comment on or make changes to this bug.