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 upRemove DomRefCell wrapper for CanvasState #26166
Merged
Conversation
highfive
commented
Apr 10, 2020
|
Heads up! This PR modifies the following files:
|
highfive
commented
Apr 10, 2020
|
Hey @jdm, please let me know what you think. |
|
@bors-servo r+ |
|
|
bors-servo
added a commit
that referenced
this pull request
Apr 15, 2020
Remove DomRefCell wrapper for CanvasState <!-- 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 - [x] These changes fix #23436 - [x] There are tests for these changes The PR removes the DomRefCell wrapper for CanvasState from `CanvasRenderingContext2D` and `OffscreenCanvasRenderingContext2D`. The reason for keeping member wrappers in CanvasState instead of overall CanvasState wrapper itself is because I believe that removing member wrappers would make it rather difficult to refactor the internal CanvasState methods in order to cover certain edge cases. [For example](#23436 (comment)): Drawing a canvas inside of itself would require getting and providing certain parameters for source canvas such as `canvas_id` and `is_origin_clean` that are currently accessed through source canvas context. Also, we might run into similar issue when creating patterns using canvas. <!-- 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 retry |
|
|
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.
utsavoza commentedApr 10, 2020
./mach build -ddoes not report any errors./mach test-tidydoes not report any errorsThe PR removes the DomRefCell wrapper for CanvasState from
CanvasRenderingContext2DandOffscreenCanvasRenderingContext2D. The reason for keeping member wrappers in CanvasState instead of overall CanvasState wrapper itself is because I believe that removing member wrappers would make it rather difficult to refactor the internal CanvasState methods in order to cover certain edge cases.For example: Drawing a canvas inside of itself would require getting and providing certain parameters for source canvas such as
canvas_idandis_origin_cleanthat are currently accessed through source canvas context. Also, we might run into similar issue when creating patterns using canvas.