Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upSupport pair and value iterable WebIDL bindings #12819
Conversation
highfive
commented
Aug 11, 2016
|
Heads up! This PR modifies the following files:
|
highfive
commented
Aug 11, 2016
|
r? @Manishearth |
|
I don't understand why appveyor is failing, since that error was intended to be addressed by the modification to WebIDL.py (which worked locally and on travis). |
|
I'm not familiar enough with codegen to give this a proper review -- I understand the changes, but not enough to find any mistakes/issues/etc. r? @Ms2ger |
|
@nox is also a good person to review codegen. |
|
Reviewed 5 of 5 files at r1, 7 of 7 files at r2. a discussion (no related file): components/script/dom/bindings/codegen/CodegenRust.py, line 1749 [r1] (raw file):
I don't understand what that function is for, it looks like a misnomer. My intuition is that it peels wrappers and nullable types, but then it returns an array so I don't know what it does. components/script/dom/bindings/codegen/CodegenRust.py, line 2110 [r1] (raw file):
Nit: could you use named arguments? components/script/dom/bindings/codegen/CodegenRust.py, line 2708 [r1] (raw file):
Why do we need to always expose components/script/dom/bindings/codegen/CodegenRust.py, line 1521 [r2] (raw file):
So where are the magic definitions of all these methods? components/script/dom/bindings/codegen/parser/callback-location.patch, line 13 [r1] (raw file):
Did you upstream this? Comments from Reviewable |
|
I've reviewed the first two commits and will wait for an answer before reviewing the rest. On a side-note, @jdm could you shorten your commit titles? They are hard to read in git-log and on GH. |
This commit implements iterable in DOM Headers based on iterable implementation from [PR 12819](servo#12819).
|
Review status: 7 of 18 files reviewed at latest revision, 6 unresolved discussions, some commit checks failed. components/script/dom/bindings/codegen/CodegenRust.py, line 1749 [r1] (raw file):
|
|
-S-awaiting-review +S-awaiting-answer Feel free to r=me if my last question is nonsense. Reviewed 11 of 11 files at r3, 1 of 1 files at r4. a discussion (no related file):
|
|
Review status: all files reviewed at latest revision, 3 unresolved discussions, some commit checks failed. a discussion (no related file):
|
|
Before/after diff for TestBindingPairIterableBinding.rs when adding the iterable declaration that causes an extra interface to be generated in the binding file: https://gist.github.com/jdm/0c2fa6068c6f630a5377550f635cc2bb |
This commit implements iterable in DOM Headers based on iterable implementation from [PR 12819](servo#12819).
|
Whee, now appveyor passes and travis fails with the same error getting Function's original location wrong. I wonder if this is caused by running multiple parsers in parallel... |
|
|
|
@bors-servo: r=nox |
|
|
Support pair and value iterable WebIDL bindings The actual iterator implementation and JSAPI calls related to setting up the interface are ported directly from Gecko's Codegen.py, IterableIterator.h, and IterableIterator.webidl. The changes to support multiple interfaces in one file are required because the internal iterator interface the parser generates gets associated with the original interface's WebIDL file. It seemed like a good time to address #571 in that case. --- - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #12628 and fix #571. - [X] There are tests for these changes <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12819) <!-- Reviewable:end -->
|
|
|
@bors-servo: r=nox |
|
|
Support pair and value iterable WebIDL bindings The actual iterator implementation and JSAPI calls related to setting up the interface are ported directly from Gecko's Codegen.py, IterableIterator.h, and IterableIterator.webidl. The changes to support multiple interfaces in one file are required because the internal iterator interface the parser generates gets associated with the original interface's WebIDL file. It seemed like a good time to address #571 in that case. --- - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #12628 and fix #571. - [X] There are tests for these changes <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12819) <!-- Reviewable:end -->
|
|
This commit implements iterable in DOM Headers based on iterable implementation from servo#12819. Expected wpt results are updated as well.
Implement iterable for headers <!-- Please describe your changes on the following line: --> These patches make Headers iterable based on #12819. The expected wpt results are updated as well. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [ ] These changes fix #__ (github issue number if applicable). <!-- Either: --> - [x] There are tests for these changes OR - [ ] These changes do not require tests because web platform tests for Headers already exist. Expected test results are updated with this PR. <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12998) <!-- Reviewable:end -->
This commit implements iterable in DOM Headers based on iterable implementation from servo#12819. Expected wpt results are updated as well.
jdm commentedAug 11, 2016
•
edited by larsbergstrom
The actual iterator implementation and JSAPI calls related to setting up the interface are ported directly from Gecko's Codegen.py, IterableIterator.h, and IterableIterator.webidl. The changes to support multiple interfaces in one file are required because the internal iterator interface the parser generates gets associated with the original interface's WebIDL file. It seemed like a good time to address #571 in that case.
./mach build -ddoes not report any errors./mach test-tidydoes not report any errorsThis change is