servo/components/script
bors-servo 7d1f968d52
Auto merge of #26166 - utsavoza:ugo/issue-23436/08-04-2020, r=jdm
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](https://github.com/servo/servo/issues/23436#issuecomment-611089157): 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. -->
2020-04-15 16:41:31 -04:00
..
docs
dom Auto merge of #26166 - utsavoza:ugo/issue-23436/08-04-2020, r=jdm 2020-04-15 16:41:31 -04:00
task_source
body.rs
build.rs
canvas_state.rs Resolve mach build warnings 2020-04-10 23:02:31 +05:30
Cargo.toml Remove WebVR 2020-04-08 20:23:41 -05:00
clipboard_provider.rs
devtools.rs Don't go through the layout thread to retrieve a node's primary style 2020-04-07 14:34:47 +02:00
document_loader.rs
euclidext.rs Update euclid 2020-04-07 08:51:08 -07:00
fetch.rs
image_listener.rs
init.rs allow for a service worker manager per origin 2020-04-05 22:43:40 +08:00
layout_image.rs
lib.rs allow for a service worker manager per origin 2020-04-05 22:43:40 +08:00
mem.rs
microtask.rs Propagate user interacting flag to timers and promises 2020-03-26 08:36:57 +01:00
network_listener.rs
realms.rs
script_module.rs Add InRealm argument to Callback trait 2020-04-05 19:54:30 +02:00
script_runtime.rs Remove WebVR 2020-04-08 20:23:41 -05:00
script_thread.rs Auto merge of #26071 - servo:rustup, r=nox 2020-04-10 00:37:54 -04:00
serviceworker_manager.rs allow for a service worker manager per origin 2020-04-05 22:43:40 +08:00
serviceworkerjob.rs
stylesheet_loader.rs
stylesheet_set.rs
task.rs
task_manager.rs
task_queue.rs
test.rs
textinput.rs Form constraints validation 2020-04-02 10:16:46 +02:00
timers.rs Propagate user interacting flag to timers and promises 2020-03-26 08:36:57 +01:00
unpremultiplytable.rs
webdriver_handlers.rs Update SpiderMonkey 2020-03-06 11:13:28 +01:00