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 upCustom element upgrades #17935
Merged
Custom element upgrades #17935
Conversation
highfive
commented
Aug 1, 2017
|
Heads up! This PR modifies the following files:
|
highfive
commented
Aug 1, 2017
|
r? @jdm |
|
Great work! These changes were quite readable and straightforward to review. |
| Root::downcast(element).ok_or(Error::InvalidState) | ||
| }, | ||
| // Step 10 | ||
| Some(ConstructionStackEntry::AlreadyConstructedMarker) => return Err(Error::InvalidState), |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
| // TODO: Catch exceptions | ||
| return; | ||
| } | ||
| // Step 8 |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
| // Go into the constructor's compartment | ||
| let _ac = JSAutoCompartment::new(cx, definition.constructor.callback()); | ||
| let args = HandleValueArray::new(); | ||
| // Step 7 |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
| return; | ||
| } | ||
| if !same { | ||
| // TODO: Throw InvalidStateError |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
| -> Option<Rc<CustomElementDefinition>> { | ||
| // Step 1 |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
| let is = candidate.get_is(); | ||
| if *candidate.local_name() == local_name && | ||
| *candidate.namespace() == ns!(html) && | ||
| (is.is_none() || is.as_ref() == Some(&name)) |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
| } | ||
|
|
||
| #[allow(unsafe_code)] | ||
| fn run_upgrade_constructor(constructor: &Rc<Function>, element: &Element) -> ErrorResult { |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
components/script/dom/element.rs
Outdated
| @@ -150,6 +150,7 @@ pub struct Element { | |||
| /// https://dom.spec.whatwg.org/#concept-element-custom-element-definition | |||
| #[ignore_heap_size_of = "Rc"] | |||
| custom_element_definition: DOMRefCell<Option<Rc<CustomElementDefinition>>>, | |||
| custom_element_state: Cell<CustomElementState>, | |||
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
components/script/dom/element.rs
Outdated
| @@ -179,6 +180,14 @@ pub enum CustomElementCreationMode { | |||
| Asynchronous, | |||
| } | |||
|
|
|||
| #[derive(Clone, Copy, PartialEq, Eq, HeapSizeOf, JSTraceable)] | |||
| pub enum CustomElementState { | |||
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
@bors-servo: r+ |
|
|
bors-servo
added a commit
that referenced
this pull request
Aug 9, 2017
Custom element upgrades <!-- Please describe your changes on the following line: --> --- <!-- 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 _____ <!-- 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. --> <!-- 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/17935) <!-- Reviewable:end -->
|
|
|
|
@bors-servo r=jdm |
|
|
bors-servo
added a commit
that referenced
this pull request
Aug 9, 2017
Custom element upgrades <!-- Please describe your changes on the following line: --> --- <!-- 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 _____ <!-- 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. --> <!-- 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/17935) <!-- Reviewable:end -->
|
|
|
@bors-servo: retry |
bors-servo
added a commit
that referenced
this pull request
Aug 9, 2017
Custom element upgrades <!-- Please describe your changes on the following line: --> --- <!-- 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 _____ <!-- 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. --> <!-- 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/17935) <!-- Reviewable:end -->
|
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
cbrewster commentedAug 1, 2017
•
edited by SimonSapin
./mach build -ddoes not report any errors./mach test-tidydoes not report any errorsThis change is