{"guid":"3b2b2a8d-2ac3-4977-820e-34e65a349b7a","title":"Caging the SpiderMonkey - Ensuring safe JS bindings in Servo","subtitle":"","slug":"rustfest-rome-2-caging-the-spidermonkey","link":"https://c3voc.de","description":"\u003cp\u003eThis talk will focus on some of the challenges encountered while working on integrating SpiderMonkey JavaScript engine with the Servo web browser engine (written in C++ and Rust, respectively). We will explore how Rust's rich type system made it possible to enforce many Servo\u0026ndash;SpiderMonkey interface rules and safety considerations at compile time and how a custom compiler plugin was developed to verify against project-specific errors at a language level.\u003c/p\u003e","original_language":"eng","persons":["Igor Matuszewski"],"tags":["rustfest-rome","2"],"view_count":142,"promoted":false,"date":"2018-11-24T00:00:00.000+01:00","release_date":"2018-11-24T01:00:00.000+01:00","updated_at":"2026-03-27T02:45:03.376+01:00","length":1620,"duration":1620,"thumb_url":"https://static.media.ccc.de/media/conferences/rustfest/2018-2/2-hd.jpg","poster_url":"https://static.media.ccc.de/media/conferences/rustfest/2018-2/2-hd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/conferences/rustfest/2018-2/3b2b2a8d-2ac3-4977-820e-34e65a349b7a-timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/conferences/rustfest/2018-2/3b2b2a8d-2ac3-4977-820e-34e65a349b7a-thumbnails.vtt","frontend_link":"https://media.ccc.de/v/rustfest-rome-2-caging-the-spidermonkey","url":"https://api.media.ccc.de/public/events/3b2b2a8d-2ac3-4977-820e-34e65a349b7a","conference_title":"Rustfest 2018 Rome","conference_url":"https://api.media.ccc.de/public/conferences/rustfest18rome","related":[{"event_id":6356,"event_guid":"f8962974-0a5b-4529-b08c-7622588450e7","weight":21},{"event_id":6357,"event_guid":"d834bcae-84cd-467f-b4b0-6e337d8edad8","weight":16},{"event_id":6362,"event_guid":"d86c7136-8c6b-416b-b2fe-94480b2e2ba0","weight":14},{"event_id":6365,"event_guid":"249fbe57-2fe1-4a79-98f3-e4ff160dfb2b","weight":16}],"recordings":[{"size":64,"length":1620,"mime_type":"video/mp4","language":"eng","filename":"rustfest-rome-2-eng-Caging_the_SpiderMonkey_-_Ensuring_safe_JS_bindings_in_Servo_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2018-11-24T13:53:41.466+01:00","recording_url":"https://cdn.media.ccc.de/events/rustfest/2018-2/h264-hd/rustfest-rome-2-eng-Caging_the_SpiderMonkey_-_Ensuring_safe_JS_bindings_in_Servo_hd.mp4","url":"https://api.media.ccc.de/public/recordings/30652","event_url":"https://api.media.ccc.de/public/events/3b2b2a8d-2ac3-4977-820e-34e65a349b7a","conference_url":"https://api.media.ccc.de/public/conferences/rustfest18rome"},{"size":18,"length":1615,"mime_type":"audio/opus","language":"eng","filename":"rustfest-rome-2-eng-Caging_the_SpiderMonkey_-_Ensuring_safe_JS_bindings_in_Servo_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2018-11-24T14:28:35.235+01:00","recording_url":"https://cdn.media.ccc.de/events/rustfest/2018-2/opus/rustfest-rome-2-eng-Caging_the_SpiderMonkey_-_Ensuring_safe_JS_bindings_in_Servo_opus.opus","url":"https://api.media.ccc.de/public/recordings/30658","event_url":"https://api.media.ccc.de/public/events/3b2b2a8d-2ac3-4977-820e-34e65a349b7a","conference_url":"https://api.media.ccc.de/public/conferences/rustfest18rome"},{"size":77,"length":1620,"mime_type":"video/webm","language":"eng","filename":"rustfest-rome-2-eng-Caging_the_SpiderMonkey_-_Ensuring_safe_JS_bindings_in_Servo_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2018-11-24T14:29:02.001+01:00","recording_url":"https://cdn.media.ccc.de/events/rustfest/2018-2/webm-hd/rustfest-rome-2-eng-Caging_the_SpiderMonkey_-_Ensuring_safe_JS_bindings_in_Servo_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/30659","event_url":"https://api.media.ccc.de/public/events/3b2b2a8d-2ac3-4977-820e-34e65a349b7a","conference_url":"https://api.media.ccc.de/public/conferences/rustfest18rome"},{"size":36,"length":1620,"mime_type":"video/webm","language":"eng","filename":"rustfest-rome-2-eng-Caging_the_SpiderMonkey_-_Ensuring_safe_JS_bindings_in_Servo_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2018-11-24T14:29:35.787+01:00","recording_url":"https://cdn.media.ccc.de/events/rustfest/2018-2/webm-sd/rustfest-rome-2-eng-Caging_the_SpiderMonkey_-_Ensuring_safe_JS_bindings_in_Servo_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/30660","event_url":"https://api.media.ccc.de/public/events/3b2b2a8d-2ac3-4977-820e-34e65a349b7a","conference_url":"https://api.media.ccc.de/public/conferences/rustfest18rome"},{"size":42,"length":1620,"mime_type":"video/mp4","language":"eng","filename":"rustfest-rome-2-eng-Caging_the_SpiderMonkey_-_Ensuring_safe_JS_bindings_in_Servo_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2018-11-24T14:30:01.572+01:00","recording_url":"https://cdn.media.ccc.de/events/rustfest/2018-2/h264-sd/rustfest-rome-2-eng-Caging_the_SpiderMonkey_-_Ensuring_safe_JS_bindings_in_Servo_sd.mp4","url":"https://api.media.ccc.de/public/recordings/30661","event_url":"https://api.media.ccc.de/public/events/3b2b2a8d-2ac3-4977-820e-34e65a349b7a","conference_url":"https://api.media.ccc.de/public/conferences/rustfest18rome"},{"size":24,"length":1615,"mime_type":"audio/mpeg","language":"eng","filename":"rustfest-rome-2-eng-Caging_the_SpiderMonkey_-_Ensuring_safe_JS_bindings_in_Servo_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2018-11-24T14:30:36.142+01:00","recording_url":"https://cdn.media.ccc.de/events/rustfest/2018-2/mp3/rustfest-rome-2-eng-Caging_the_SpiderMonkey_-_Ensuring_safe_JS_bindings_in_Servo_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/30662","event_url":"https://api.media.ccc.de/public/events/3b2b2a8d-2ac3-4977-820e-34e65a349b7a","conference_url":"https://api.media.ccc.de/public/conferences/rustfest18rome"}]}