mirror of
https://github.com/servo/servo.git
synced 2025-07-24 07:40:27 +01:00
Move everything unrelated to the frame tree out of Page and into Document or Window. Reduce the API surface of Page to a bare minimum to allow for easier future removal.
This commit is contained in:
parent
d9f04180a5
commit
e2c4f5ed67
23 changed files with 664 additions and 672 deletions
|
@ -11,7 +11,7 @@ use dom::bindings::codegen::Bindings::DocumentBinding::DocumentMethods;
|
|||
use dom::bindings::codegen::Bindings::DOMRectBinding::{DOMRectMethods};
|
||||
use dom::bindings::codegen::Bindings::ElementBinding::{ElementMethods};
|
||||
use dom::node::{Node, NodeHelpers};
|
||||
use dom::window::{ScriptHelpers};
|
||||
use dom::window::{WindowHelpers, ScriptHelpers};
|
||||
use dom::element::Element;
|
||||
use dom::document::DocumentHelpers;
|
||||
use page::Page;
|
||||
|
@ -24,8 +24,7 @@ use std::rc::Rc;
|
|||
|
||||
pub fn handle_evaluate_js(page: &Rc<Page>, pipeline: PipelineId, eval: String, reply: Sender<EvaluateJSReply>){
|
||||
let page = get_page(&*page, pipeline);
|
||||
let frame = page.frame();
|
||||
let window = frame.as_ref().unwrap().window.root();
|
||||
let window = page.window().root();
|
||||
let cx = window.r().get_cx();
|
||||
let rval = window.r().evaluate_js_on_global_with_result(eval.as_slice());
|
||||
|
||||
|
@ -49,8 +48,7 @@ pub fn handle_evaluate_js(page: &Rc<Page>, pipeline: PipelineId, eval: String, r
|
|||
|
||||
pub fn handle_get_root_node(page: &Rc<Page>, pipeline: PipelineId, reply: Sender<NodeInfo>) {
|
||||
let page = get_page(&*page, pipeline);
|
||||
let frame = page.frame();
|
||||
let document = frame.as_ref().unwrap().document.root();
|
||||
let document = page.document().root();
|
||||
|
||||
let node: JSRef<Node> = NodeCast::from_ref(document.r());
|
||||
reply.send(node.summarize()).unwrap();
|
||||
|
@ -58,8 +56,7 @@ pub fn handle_get_root_node(page: &Rc<Page>, pipeline: PipelineId, reply: Sender
|
|||
|
||||
pub fn handle_get_document_element(page: &Rc<Page>, pipeline: PipelineId, reply: Sender<NodeInfo>) {
|
||||
let page = get_page(&*page, pipeline);
|
||||
let frame = page.frame();
|
||||
let document = frame.as_ref().unwrap().document.root();
|
||||
let document = page.document().root();
|
||||
let document_element = document.r().GetDocumentElement().root().unwrap();
|
||||
|
||||
let node: JSRef<Node> = NodeCast::from_ref(document_element.r());
|
||||
|
@ -68,8 +65,7 @@ pub fn handle_get_document_element(page: &Rc<Page>, pipeline: PipelineId, reply:
|
|||
|
||||
fn find_node_by_unique_id(page: &Rc<Page>, pipeline: PipelineId, node_id: String) -> Temporary<Node> {
|
||||
let page = get_page(&*page, pipeline);
|
||||
let frame = page.frame();
|
||||
let document = frame.as_ref().unwrap().document.root();
|
||||
let document = page.document().root();
|
||||
let node: JSRef<Node> = NodeCast::from_ref(document.r());
|
||||
|
||||
for candidate in node.traverse_preorder() {
|
||||
|
@ -110,5 +106,6 @@ pub fn handle_modify_attribute(page: &Rc<Page>, pipeline: PipelineId, node_id: S
|
|||
|
||||
pub fn handle_wants_live_notifications(page: &Rc<Page>, pipeline_id: PipelineId, send_notifications: bool) {
|
||||
let page = get_page(&*page, pipeline_id);
|
||||
page.devtools_wants_updates.set(send_notifications);
|
||||
let window = page.window().root();
|
||||
window.r().set_devtools_wants_updates(send_notifications);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue