Stop returning an Option from Window::browsing_context.

A Window always has a WindowProxy; the only reason it's wrapped in a nullable
field is the order in which those objects are created.
This commit is contained in:
Ms2ger 2016-02-23 16:08:28 +01:00
parent 90c7b78b12
commit 0e35931152
2 changed files with 7 additions and 7 deletions

View file

@ -395,7 +395,7 @@ pub unsafe extern "C" fn outerize_global(_cx: *mut JSContext, obj: HandleObject)
debug!("outerizing");
let win = root_from_handleobject::<window::Window>(obj).unwrap();
let context = win.browsing_context();
context.as_ref().unwrap().window_proxy()
context.window_proxy()
}
/// Deletes the property `id` from `object`.

View file

@ -314,8 +314,8 @@ impl Window {
&self.compositor
}
pub fn browsing_context(&self) -> Option<Root<BrowsingContext>> {
self.browsing_context.get()
pub fn browsing_context(&self) -> Root<BrowsingContext> {
self.browsing_context.get().unwrap()
}
pub fn page(&self) -> &Page {
@ -426,7 +426,7 @@ impl WindowMethods for Window {
// https://html.spec.whatwg.org/multipage/#dom-document-2
fn Document(&self) -> Root<Document> {
self.browsing_context().as_ref().unwrap().active_document()
self.browsing_context().active_document()
}
// https://html.spec.whatwg.org/multipage/#dom-location
@ -456,7 +456,7 @@ impl WindowMethods for Window {
// https://html.spec.whatwg.org/multipage/#dom-frameelement
fn GetFrameElement(&self) -> Option<Root<Element>> {
self.browsing_context().as_ref().unwrap().frame_element().map(Root::from_ref)
self.browsing_context().frame_element().map(Root::from_ref)
}
// https://html.spec.whatwg.org/multipage/#dom-navigator
@ -1283,12 +1283,12 @@ impl Window {
}
pub fn parent(&self) -> Option<Root<Window>> {
let browsing_context = self.browsing_context().unwrap();
let browsing_context = self.browsing_context();
browsing_context.frame_element().map(|frame_element| {
let window = window_from_node(frame_element);
let context = window.browsing_context();
context.unwrap().active_window()
context.active_window()
})
}
}