mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Convert CGTraitInterface to use safe JSContext instead of raw JSContext
This commit is contained in:
parent
808fa65aef
commit
2c5d0a6ebc
43 changed files with 443 additions and 528 deletions
|
@ -11,10 +11,9 @@ use crate::dom::bindings::structuredclone::StructuredCloneData;
|
|||
use crate::dom::dissimilaroriginlocation::DissimilarOriginLocation;
|
||||
use crate::dom::globalscope::GlobalScope;
|
||||
use crate::dom::windowproxy::WindowProxy;
|
||||
use crate::script_runtime::JSContext as SafeJSContext;
|
||||
use crate::script_runtime::JSContext;
|
||||
use dom_struct::dom_struct;
|
||||
use ipc_channel::ipc;
|
||||
use js::jsapi::JSContext;
|
||||
use js::jsval::{JSVal, UndefinedValue};
|
||||
use js::rust::HandleValue;
|
||||
use msg::constellation_msg::PipelineId;
|
||||
|
@ -69,7 +68,7 @@ impl DissimilarOriginWindow {
|
|||
window_proxy: Dom::from_ref(window_proxy),
|
||||
location: Default::default(),
|
||||
});
|
||||
unsafe { DissimilarOriginWindowBinding::Wrap(SafeJSContext::from_ptr(cx), win) }
|
||||
unsafe { DissimilarOriginWindowBinding::Wrap(JSContext::from_ptr(cx), win) }
|
||||
}
|
||||
|
||||
pub fn window_proxy(&self) -> DomRoot<WindowProxy> {
|
||||
|
@ -134,14 +133,8 @@ impl DissimilarOriginWindowMethods for DissimilarOriginWindow {
|
|||
false
|
||||
}
|
||||
|
||||
#[allow(unsafe_code)]
|
||||
// https://html.spec.whatwg.org/multipage/#dom-window-postmessage
|
||||
unsafe fn PostMessage(
|
||||
&self,
|
||||
cx: *mut JSContext,
|
||||
message: HandleValue,
|
||||
origin: DOMString,
|
||||
) -> ErrorResult {
|
||||
fn PostMessage(&self, cx: JSContext, message: HandleValue, origin: DOMString) -> ErrorResult {
|
||||
// Step 3-5.
|
||||
let origin = match &origin[..] {
|
||||
"*" => None,
|
||||
|
@ -157,23 +150,21 @@ impl DissimilarOriginWindowMethods for DissimilarOriginWindow {
|
|||
|
||||
// Step 1-2, 6-8.
|
||||
// TODO(#12717): Should implement the `transfer` argument.
|
||||
let data = StructuredCloneData::write(cx, message)?;
|
||||
let data = StructuredCloneData::write(*cx, message)?;
|
||||
|
||||
// Step 9.
|
||||
self.post_message(origin, data);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[allow(unsafe_code)]
|
||||
// https://html.spec.whatwg.org/multipage/#dom-opener
|
||||
unsafe fn Opener(&self, _: *mut JSContext) -> JSVal {
|
||||
fn Opener(&self, _: JSContext) -> JSVal {
|
||||
// TODO: Implement x-origin opener
|
||||
UndefinedValue()
|
||||
}
|
||||
|
||||
#[allow(unsafe_code)]
|
||||
// https://html.spec.whatwg.org/multipage/#dom-opener
|
||||
unsafe fn SetOpener(&self, _: *mut JSContext, _: HandleValue) {
|
||||
fn SetOpener(&self, _: JSContext, _: HandleValue) {
|
||||
// TODO: Implement x-origin opener
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue