diff options
author | bors-servo <servo-ops@mozilla.com> | 2021-08-01 10:31:40 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-01 10:31:40 -0400 |
commit | bd92fad81a24d08208a5739cad4bde6eb58d6ce8 (patch) | |
tree | e0e84609080a1d237bfdcaa10e0bef18cdea26ea /components/script/script_thread.rs | |
parent | 052278d0580ec1cbd2c9887e65d259dbf5efa775 (diff) | |
parent | afbe2fa1f259411b6c49a3ec3b2baccfbf1664d9 (diff) | |
download | servo-bd92fad81a24d08208a5739cad4bde6eb58d6ce8.tar.gz servo-bd92fad81a24d08208a5739cad4bde6eb58d6ce8.zip |
Auto merge of #28546 - yvt:feat-cow-infra, r=jdm
Implement `Location`'s custom internal methods
This PR partly resurrects #16501 and introduces the use of principals object to associate objects and Realms with origins. Using this infrastructure, this PR implements [the custom internal methods][1] of the `Location` interface, which is "maybe-cross-origin".
Unimplemented/incomplete things:
- Other maybe-cross-origin interfaces, namely `WindowProxy` and `DissimilarWindowLocation`, aren't implemented correctly yet (causing most test cases of `tests/wpt/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html` to fail).
- `WindowProxy`: #28556
- [The "perform a security check" operation][2] and `Location`'s non-cross-origin properties' relevant `Document` origin checks aren't implemented either (not sure if they are covered by the existing tests).
- There are a slight deviation from the standard and inefficiency in `CrossOriginGetOwnPropertyHelper`'s current implementation.
- #28557
[1]: https://html.spec.whatwg.org/multipage/#the-location-interface
[2]: https://html.spec.whatwg.org/multipage/browsers.html#integration-with-idl
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #16243 and make some progress in #2382
---
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because ___
Diffstat (limited to 'components/script/script_thread.rs')
-rw-r--r-- | components/script/script_thread.rs | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index 8b3ba539809..c1161674fc2 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -35,7 +35,6 @@ use crate::dom::bindings::root::ThreadLocalStackRoots; use crate::dom::bindings::root::{Dom, DomRoot, MutNullableDom, RootCollection}; use crate::dom::bindings::str::DOMString; use crate::dom::bindings::trace::JSTraceable; -use crate::dom::bindings::utils::WRAP_CALLBACKS; use crate::dom::customelementregistry::{ CallbackReaction, CustomElementDefinition, CustomElementReactionStack, }; @@ -99,7 +98,6 @@ use hyper_serde::Serde; use ipc_channel::ipc::{self, IpcSender}; use ipc_channel::router::ROUTER; use js::glue::GetWindowProxyClass; -use js::jsapi::JS_SetWrapObjectCallbacks; use js::jsapi::{ JSContext as UnsafeJSContext, JSTracer, JS_AddInterruptCallback, SetWindowProxyClass, }; @@ -1295,7 +1293,6 @@ impl ScriptThread { let cx = runtime.cx(); unsafe { - JS_SetWrapObjectCallbacks(cx, &WRAP_CALLBACKS); SetWindowProxyClass(cx, GetWindowProxyClass()); JS_AddInterruptCallback(cx, Some(interrupt_callback)); } |