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 upMutableHandle<PropertyDescriptor> misused by mutating fields of .get() copies. #11868
Labels
Comments
|
To elaborate - we could create a trait in https://github.com/servo/rust-mozjs/blob/master/src/rust.rs and implement that trait for |
|
It looks like this causes an issue for xows, so if no one else takes it, I probably will |
bors-servo
added a commit
that referenced
this issue
Sep 4, 2018
Properly set desc.obj in CodegenRust.py (fixes #11868) <!-- 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/21601) <!-- Reviewable:end -->
bors-servo
added a commit
that referenced
this issue
Jan 6, 2020
Removing .get() from some property descriptor field assignments to see what happens This is towards #25036 and #25415; it could have far-reaching implications so I want to test it in isolation and see the results on the full test suite. A few lines of code had a FIXME(#11868) despite that issue being closed, and looking for the pattern that was marked that way, I found one other unmarked instance of it. It doesn't immediately crash, and maybe it will pass some tests or fail some tests in informative ways. --- <!-- 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: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
bors-servo
added a commit
that referenced
this issue
Jan 10, 2020
Make getOwnPropertyDescriptor hold the correct value for indexed/named properties This is towards #25036 and #25415; it could have far-reaching implications so I want to test it in isolation and see the results on the full test suite. A few lines of code had a FIXME(#11868) despite that issue being closed, and looking for the pattern that was marked that way, I found one other unmarked instance of it. It doesn't immediately crash, and maybe it will pass some tests or fail some tests in informative ways. EDIT: After adding an overlooked extended attribute to HTMLFormElement, this works very well indeed and seems to be worth merging! --- <!-- 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 - [X] These changes fix #25036 <!-- Either: --> - [X] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
bors-servo
added a commit
that referenced
this issue
Jan 10, 2020
Make getOwnPropertyDescriptor hold the correct value for indexed/named properties This is towards #25036 and #25415; it could have far-reaching implications so I want to test it in isolation and see the results on the full test suite. A few lines of code had a FIXME(#11868) despite that issue being closed, and looking for the pattern that was marked that way, I found one other unmarked instance of it. It doesn't immediately crash, and maybe it will pass some tests or fail some tests in informative ways. EDIT: After adding an overlooked extended attribute to HTMLFormElement, this works very well indeed and seems to be worth merging! --- <!-- 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 - [X] These changes fix #25036 <!-- Either: --> - [X] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
bors-servo
added a commit
that referenced
this issue
Jan 10, 2020
Make getOwnPropertyDescriptor hold the correct value for indexed/named properties This is towards #25036 and #25415; it could have far-reaching implications so I want to test it in isolation and see the results on the full test suite. A few lines of code had a FIXME(#11868) despite that issue being closed, and looking for the pattern that was marked that way, I found one other unmarked instance of it. It doesn't immediately crash, and maybe it will pass some tests or fail some tests in informative ways. EDIT: After adding an overlooked extended attribute to HTMLFormElement, this works very well indeed and seems to be worth merging! --- <!-- 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 - [X] These changes fix #25036 <!-- Either: --> - [X] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Example in
script::dom::browsingcontext.This looks bad, and
CodegenRust.pygenerates a bunch more, but I have no idea what impact it has.Also not sure what other types this happens with, I stumbled onto it during an unrelated refactoring.
The only solution I can think of is implementing
{,Mutable}Handle::getonly for pointers andValue.That is, assuming there is no need to copy the whole
PropertyDescriptorstructure out.