move top_level_browsing_context_id out of embedder msg

This commit is contained in:
Gregory Terzian 2018-05-18 10:59:41 +08:00
parent d438240772
commit 4234b1252a
11 changed files with 78 additions and 97 deletions

View file

@ -856,8 +856,7 @@ impl Document {
// Notify the embedder to hide the input method.
if elem.input_method_type().is_some() {
let top_level_browsing_context_id = self.window().top_level_browsing_context_id();
self.send_to_embedder(EmbedderMsg::HideIME(top_level_browsing_context_id));
self.send_to_embedder(EmbedderMsg::HideIME);
}
}
@ -876,8 +875,7 @@ impl Document {
// Notify the embedder to display an input method.
if let Some(kind) = elem.input_method_type() {
let top_level_browsing_context_id = self.window().top_level_browsing_context_id();
self.send_to_embedder(EmbedderMsg::ShowIME(top_level_browsing_context_id, kind));
self.send_to_embedder(EmbedderMsg::ShowIME(kind));
}
}
}
@ -894,8 +892,7 @@ impl Document {
let window = self.window();
if window.is_top_level() {
let title = Some(String::from(self.Title()));
let top_level_browsing_context_id = window.top_level_browsing_context_id();
self.send_to_embedder(EmbedderMsg::ChangePageTitle(top_level_browsing_context_id, title));
self.send_to_embedder(EmbedderMsg::ChangePageTitle(title));
}
}
@ -1364,8 +1361,7 @@ impl Document {
}
if cancel_state == EventDefault::Allowed {
let top_level_browsing_context_id = self.window().top_level_browsing_context_id();
let msg = EmbedderMsg::KeyEvent(Some(top_level_browsing_context_id), ch, key, state, modifiers);
let msg = EmbedderMsg::KeyEvent(ch, key, state, modifiers);
self.send_to_embedder(msg);
// This behavior is unspecced
@ -2795,8 +2791,7 @@ impl Document {
let window = self.window();
// Step 6
if !error {
let top_level_browsing_context_id = self.window().top_level_browsing_context_id();
let event = EmbedderMsg::SetFullscreenState(top_level_browsing_context_id, true);
let event = EmbedderMsg::SetFullscreenState(true);
self.send_to_embedder(event);
}
@ -2831,8 +2826,7 @@ impl Document {
let window = self.window();
// Step 8
let top_level_browsing_context_id = self.window().top_level_browsing_context_id();
let event = EmbedderMsg::SetFullscreenState(top_level_browsing_context_id, true);
let event = EmbedderMsg::SetFullscreenState(true);
self.send_to_embedder(event);
// Step 9

View file

@ -151,8 +151,7 @@ impl VirtualMethods for HTMLBodyElement {
let document = window.Document();
document.set_reflow_timeout(time::precise_time_ns() + INITIAL_REFLOW_DELAY);
if window.is_top_level() {
let top_level_browsing_context_id = window.top_level_browsing_context_id();
let msg = EmbedderMsg::HeadParsed(top_level_browsing_context_id);
let msg = EmbedderMsg::HeadParsed;
window.send_to_embedder(msg);
}
}

View file

@ -307,8 +307,7 @@ impl HTMLLinkElement {
Ok(url) => {
let window = document.window();
if window.is_top_level() {
let top_level_browsing_context_id = window.top_level_browsing_context_id();
let msg = EmbedderMsg::NewFavicon(top_level_browsing_context_id, url.clone());
let msg = EmbedderMsg::NewFavicon(url.clone());
window.send_to_embedder(msg);
}

View file

@ -59,7 +59,7 @@ use js::jsval::UndefinedValue;
use js::rust::HandleValue;
use layout_image::fetch_image_for_layout;
use microtask::MicrotaskQueue;
use msg::constellation_msg::{PipelineId, TopLevelBrowsingContextId};
use msg::constellation_msg::PipelineId;
use net_traits::{ResourceThreads, ReferrerPolicy};
use net_traits::image_cache::{ImageCache, ImageResponder, ImageResponse};
use net_traits::image_cache::{PendingImageId, PendingImageResponse};
@ -355,11 +355,6 @@ impl Window {
self.parent_info
}
pub fn top_level_browsing_context_id(&self) -> TopLevelBrowsingContextId {
let window_proxy = self.window_proxy.get().unwrap();
window_proxy.top_level_browsing_context_id()
}
pub fn new_script_pair(&self) -> (Box<ScriptChan + Send>, Box<ScriptPort + Send>) {
let (tx, rx) = channel();
(Box::new(SendableMainThreadScriptChan(tx)), Box::new(rx))
@ -534,9 +529,7 @@ impl WindowMethods for Window {
stderr.flush().unwrap();
}
let (sender, receiver) = ProfiledIpc::channel(self.global().time_profiler_chan().clone()).unwrap();
let window_proxy = self.window_proxy.get().unwrap();
let top_level_browsing_context_id = window_proxy.top_level_browsing_context_id();
let msg = EmbedderMsg::Alert(top_level_browsing_context_id, s.to_string(), sender);
let msg = EmbedderMsg::Alert(s.to_string(), sender);
self.send_to_embedder(msg);
receiver.recv().unwrap();
}
@ -927,8 +920,7 @@ impl WindowMethods for Window {
//TODO determine if this operation is allowed
let dpr = self.device_pixel_ratio();
let size = TypedSize2D::new(width, height).to_f32() * dpr;
let top_level_browsing_context_id = self.top_level_browsing_context_id();
self.send_to_embedder(EmbedderMsg::ResizeTo(top_level_browsing_context_id, size.to_u32()));
self.send_to_embedder(EmbedderMsg::ResizeTo(size.to_u32()));
}
// https://drafts.csswg.org/cssom-view/#dom-window-resizeby
@ -944,9 +936,7 @@ impl WindowMethods for Window {
//TODO determine if this operation is allowed
let dpr = self.device_pixel_ratio();
let point = TypedPoint2D::new(x, y).to_f32() * dpr;
let window_proxy = self.window_proxy.get().unwrap();
let top_level_browsing_context_id = window_proxy.top_level_browsing_context_id();
let msg = EmbedderMsg::MoveTo(top_level_browsing_context_id, point.to_i32());
let msg = EmbedderMsg::MoveTo(point.to_i32());
self.send_to_embedder(msg);
}