-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Safety from ground up #40600
Copy link
Copy link
Open
0 / 20 of 2 issues completedLabels
A-content/bindingsThe DOM bindingsThe DOM bindingsA-content/scriptRelated to the script threadRelated to the script threadB-feature-trackingThis issue tracks a particular high-level featureThis issue tracks a particular high-level featureI-safetySome piece of code violates memory safety guarantees.Some piece of code violates memory safety guarantees.
Description
Companion issue to servo/mozjs#647
- Codegen basis: script: Add
cx_no_gc/cx/realmcodegen option and demostrate them #40582 - open issue how to do porting and make more demos (and let community take on introducing &mut CurrentRealm everywhere as they should be mostly mechanical changes; by this point we should halt canGC work): draft: https://gist.github.com/sagudev/839382e70631b1eaed5a4d226b830b6e
- use safe JSContext/CurentRealm in codegen (we would still pass it as raw from there): Use safe JSContext/AutoRealm/CurrentRealm in codegen #40716
- start using JSContext/CurrentRealm in WRAP: script: Pass
&mut JSContextto Constructor and Wrap #42681 and other codegen related stuff - pass CurrentRealm as task's argument (this is important source of of get_cx): script: Pass
&mut JSContextto tasks #41756 - pass CurrentRealm as callback argument: script: Pass &mut CurrentRealm in callbacks #41536
- port promises to safer apis (realm and JSContext): script: Support new context for promise and add some more helpers to ease migration #41520
- auto add args to functions for promises
- port reflect_dom_object/new to new safe apis
- remove canGC
temp_cx
- from script: Pass down
&mut JSContextin servoparser and event loop. #42635 :- drops of LoadBlocker
- methods of VirtualMethods: Pass
&mut JSContexttoVirtualMethods::attribute_mutated#42812 - methods of FetchResponseListener: process_response, process_response_chunk
- GenericAutoEntryScript, CallSetup, and GenericAutoIncumbentScript should be rewritten from RAII into closure wrappers:
with_settings(cx, |cx| ...): script: Replace RAII of CallSetup and AutoEntryScript with a function wrapper #42715 - Constructor needs codegen changes: https://github.com/servo/servo/pull/42635/changes/BASE..49f7da4f499940bfa332342ebae01c3429482d00#r2809718630
- Sink trait is form html5ever
phase 2
replace crown with lifetimes
some commentary about refs: #42781 (comment)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-content/bindingsThe DOM bindingsThe DOM bindingsA-content/scriptRelated to the script threadRelated to the script threadB-feature-trackingThis issue tracks a particular high-level featureThis issue tracks a particular high-level featureI-safetySome piece of code violates memory safety guarantees.Some piece of code violates memory safety guarantees.