aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/window.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/window.rs')
-rw-r--r--components/script/dom/window.rs17
1 files changed, 8 insertions, 9 deletions
diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs
index 038ec358f73..88178374a45 100644
--- a/components/script/dom/window.rs
+++ b/components/script/dom/window.rs
@@ -155,6 +155,14 @@ pub struct Window {
}
impl Window {
+ #[allow(unsafe_code)]
+ pub fn clear_js_context_for_script_deallocation(&self) {
+ unsafe {
+ *self.js_context.borrow_for_script_deallocation() = None;
+ *self.browser_context.borrow_for_script_deallocation() = None;
+ }
+ }
+
pub fn get_cx(&self) -> *mut JSContext {
self.js_context.borrow().as_ref().unwrap().ptr
}
@@ -425,7 +433,6 @@ impl<'a> WindowMethods for JSRef<'a, Window> {
pub trait WindowHelpers {
fn clear_js_context(self);
- fn clear_js_context_for_script_deallocation(self);
fn init_browser_context(self, doc: JSRef<Document>, frame_element: Option<JSRef<Element>>);
fn load_url(self, href: DOMString);
fn handle_fire_timer(self, timer_id: TimerId);
@@ -499,14 +506,6 @@ impl<'a> WindowHelpers for JSRef<'a, Window> {
*self.browser_context.borrow_mut() = None;
}
- #[allow(unsafe_code)]
- fn clear_js_context_for_script_deallocation(self) {
- unsafe {
- *self.js_context.borrow_for_script_deallocation() = None;
- *self.browser_context.borrow_for_script_deallocation() = None;
- }
- }
-
/// Reflows the page if it's possible to do so and the page is dirty. This method will wait
/// for the layout thread to complete (but see the `TODO` below). If there is no window size
/// yet, the page is presumed invisible and no reflow is performed.