mirror of
https://github.com/servo/servo.git
synced 2025-08-08 06:55:31 +01:00
script: introduce safe wrappers for js val conversions (#38004)
Introduce a safe wrapper trait for the unsafe `ToJSValConvertible`, and use it in `script/dom` where the default `T` implementation works. Part of https://github.com/servo/servo/issues/37951 --------- Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
This commit is contained in:
parent
9e2ee0029a
commit
027954dbad
16 changed files with 149 additions and 187 deletions
|
@ -14,7 +14,6 @@ use http::StatusCode;
|
|||
use http::header::{self, HeaderName, HeaderValue};
|
||||
use ipc_channel::ipc;
|
||||
use ipc_channel::router::ROUTER;
|
||||
use js::conversions::ToJSValConvertible;
|
||||
use js::jsval::UndefinedValue;
|
||||
use js::rust::HandleObject;
|
||||
use mime::{self, Mime};
|
||||
|
@ -23,6 +22,7 @@ use net_traits::{
|
|||
CoreResourceMsg, FetchChannels, FetchMetadata, FetchResponseListener, FetchResponseMsg,
|
||||
FilteredMetadata, NetworkError, ResourceFetchTiming, ResourceTimingType,
|
||||
};
|
||||
use script_bindings::conversions::SafeToJSValConvertible;
|
||||
use servo_url::ServoUrl;
|
||||
use stylo_atoms::Atom;
|
||||
|
||||
|
@ -231,7 +231,6 @@ impl EventSourceContext {
|
|||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/#dispatchMessage
|
||||
#[allow(unsafe_code)]
|
||||
fn dispatch_event(&mut self, can_gc: CanGc) {
|
||||
let event_source = self.event_source.root();
|
||||
// Step 1
|
||||
|
@ -258,10 +257,8 @@ impl EventSourceContext {
|
|||
let event = {
|
||||
let _ac = enter_realm(&*event_source);
|
||||
rooted!(in(*GlobalScope::get_cx()) let mut data = UndefinedValue());
|
||||
unsafe {
|
||||
self.data
|
||||
.to_jsval(*GlobalScope::get_cx(), data.handle_mut())
|
||||
};
|
||||
self.data
|
||||
.safe_to_jsval(GlobalScope::get_cx(), data.handle_mut());
|
||||
MessageEvent::new(
|
||||
&event_source.global(),
|
||||
type_,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue