diff options
author | Sudarsan <sudar.theone@gmail.com> | 2020-08-28 20:54:18 +0800 |
---|---|---|
committer | Sudarsan <sudar.theone@gmail.com> | 2020-08-28 20:54:18 +0800 |
commit | f8c9ee4eff1ae7a72037e16f2aa97ad6bb69da4e (patch) | |
tree | e6c9d62ef7eab4920efe4c9e7bd5d3e603ef90e1 /components | |
parent | 9e6da58d7793a4576fef38446457e1073a19cd5e (diff) | |
download | servo-f8c9ee4eff1ae7a72037e16f2aa97ad6bb69da4e.tar.gz servo-f8c9ee4eff1ae7a72037e16f2aa97ad6bb69da4e.zip |
Update mozjs to 0.14.1
This update pulls in improvements on mozjs that now removes the need to
pass pointers to CompileOptionsWraper::new(), allows NewProxyObject to
now accept a Singleton bool and JSClass and removes an unsafe
Handle::new usage.
Diffstat (limited to 'components')
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 2 | ||||
-rw-r--r-- | components/script/dom/eventtarget.rs | 3 | ||||
-rw-r--r-- | components/script/dom/globalscope.rs | 4 | ||||
-rw-r--r-- | components/script/dom/htmlscriptelement.rs | 4 | ||||
-rw-r--r-- | components/script/script_module.rs | 4 | ||||
-rw-r--r-- | components/script/webdriver_handlers.rs | 4 |
6 files changed, 8 insertions, 13 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 4d1a3972d7b..83e68cdce76 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -2778,6 +2778,8 @@ rooted!(in(*cx) let obj = NewProxyObject( handler, Handle::from_raw(UndefinedHandleValue), proto.get(), + ptr::null(), + false, )); assert!(!obj.is_null()); SetProxyReservedSlot( diff --git a/components/script/dom/eventtarget.rs b/components/script/dom/eventtarget.rs index 7018300b107..eb27f63069f 100644 --- a/components/script/dom/eventtarget.rs +++ b/components/script/dom/eventtarget.rs @@ -511,7 +511,6 @@ impl EventTarget { // Step 3.9 - let url_serialized = CString::new(handler.url.to_string()).unwrap(); let name = CString::new(format!("on{}", &**ty)).unwrap(); // Step 3.9, subsection ParameterList @@ -528,7 +527,7 @@ impl EventTarget { let cx = window.get_cx(); let options = unsafe { - CompileOptionsWrapper::new(*cx, url_serialized.as_ptr(), handler.line as u32) + CompileOptionsWrapper::new(*cx, &handler.url.to_string(), handler.line as u32) }; // Step 3.9, subsection Scope steps 1-6 diff --git a/components/script/dom/globalscope.rs b/components/script/dom/globalscope.rs index ee1b5553bc7..07fea65a79a 100644 --- a/components/script/dom/globalscope.rs +++ b/components/script/dom/globalscope.rs @@ -118,7 +118,6 @@ use std::borrow::Cow; use std::cell::Cell; use std::collections::hash_map::Entry; use std::collections::{HashMap, VecDeque}; -use std::ffi::CString; use std::mem; use std::ops::Index; use std::rc::Rc; @@ -2586,7 +2585,6 @@ impl GlobalScope { self.time_profiler_chan().clone(), || { let cx = self.get_cx(); - let filename = CString::new(filename).unwrap(); let ar = enter_realm(&*self); @@ -2597,7 +2595,7 @@ impl GlobalScope { match code { SourceCode::Text(text_code) => { let options = - CompileOptionsWrapper::new(*cx, filename.as_ptr(), line_number); + CompileOptionsWrapper::new(*cx, filename, line_number); debug!("compiling dom string"); compiled_script.set(Compile1( diff --git a/components/script/dom/htmlscriptelement.rs b/components/script/dom/htmlscriptelement.rs index b6e89d4027e..de22b9787c4 100644 --- a/components/script/dom/htmlscriptelement.rs +++ b/components/script/dom/htmlscriptelement.rs @@ -58,7 +58,6 @@ use servo_config::pref; use servo_url::ImmutableOrigin; use servo_url::ServoUrl; use std::cell::Cell; -use std::ffi::CString; use std::fs::{create_dir_all, read_to_string, File}; use std::io::{Read, Seek, Write}; use std::mem::replace; @@ -424,8 +423,7 @@ impl FetchResponseListener for ClassicContext { let cx = global.get_cx(); let _ar = enter_realm(&*global); - let final_url_c_str = CString::new(final_url.as_str()).unwrap(); - let options = unsafe { CompileOptionsWrapper::new(*cx, final_url_c_str.as_ptr(), 1) }; + let options = unsafe { CompileOptionsWrapper::new(*cx, final_url.as_str(), 1) }; let can_compile_off_thread = pref!(dom.script.asynch) && unsafe { CanCompileOffThread(*cx, options.ptr as *const _, source_text.len()) }; diff --git a/components/script/script_module.rs b/components/script/script_module.rs index 9d8e14f8309..7a14410ab66 100644 --- a/components/script/script_module.rs +++ b/components/script/script_module.rs @@ -70,7 +70,6 @@ use net_traits::{FetchResponseListener, NetworkError}; use net_traits::{ResourceFetchTiming, ResourceTimingType}; use servo_url::ServoUrl; use std::collections::{HashMap, HashSet}; -use std::ffi; use std::mem; use std::rc::Rc; use std::str::FromStr; @@ -420,12 +419,11 @@ impl ModuleTree { url: ServoUrl, options: ScriptFetchOptions, ) -> Result<ModuleObject, RethrowError> { - let url_cstr = ffi::CString::new(url.as_str().as_bytes()).unwrap(); let _ac = JSAutoRealm::new(*global.get_cx(), *global.reflector().get_jsobject()); let compile_options = - unsafe { CompileOptionsWrapper::new(*global.get_cx(), url_cstr.as_ptr(), 1) }; + unsafe { CompileOptionsWrapper::new(*global.get_cx(), url.as_str(), 1) }; unsafe { rooted!(in(*global.get_cx()) let mut module_script = CompileModuleDontInflate( diff --git a/components/script/webdriver_handlers.rs b/components/script/webdriver_handlers.rs index 1d36337f5eb..5129d1c9569 100644 --- a/components/script/webdriver_handlers.rs +++ b/components/script/webdriver_handlers.rs @@ -48,7 +48,7 @@ use ipc_channel::ipc::{self, IpcSender}; use js::jsapi::{HandleValueArray, JSAutoRealm, JSContext, JSType, JS_IsExceptionPending}; use js::jsval::UndefinedValue; use js::rust::wrappers::{JS_CallFunctionName, JS_GetProperty, JS_HasOwnProperty, JS_TypeOfValue}; -use js::rust::{Handle, HandleObject, HandleValue}; +use js::rust::{HandleObject, HandleValue}; use msg::constellation_msg::BrowsingContextId; use msg::constellation_msg::PipelineId; use net_traits::CookieSource::{NonHTTP, HTTP}; @@ -256,7 +256,7 @@ pub unsafe fn jsval_to_webdriver( &mut HandleValueArray::new(), value.handle_mut(), ) { - jsval_to_webdriver(cx, global_scope, Handle::new(&value)) + jsval_to_webdriver(cx, global_scope, value.handle()) } else { throw_dom_exception(SafeJSContext::from_ptr(cx), global_scope, Error::JSFailed); Err(WebDriverJSError::JSError) |