diff options
Diffstat (limited to 'components/script')
-rw-r--r-- | components/script/script_task.rs | 2 | ||||
-rw-r--r-- | components/script/webdriver_handlers.rs | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/components/script/script_task.rs b/components/script/script_task.rs index 70291d64a48..10568e308c6 100644 --- a/components/script/script_task.rs +++ b/components/script/script_task.rs @@ -795,6 +795,8 @@ impl ScriptTask { webdriver_handlers::handle_find_element_css(&page, pipeline_id, selector, reply), WebDriverScriptCommand::FindElementsCSS(selector, reply) => webdriver_handlers::handle_find_elements_css(&page, pipeline_id, selector, reply), + WebDriverScriptCommand::GetActiveElement(reply) => + webdriver_handlers::handle_get_active_element(&page, pipeline_id, reply), WebDriverScriptCommand::GetElementTagName(node_id, reply) => webdriver_handlers::handle_get_name(&page, pipeline_id, node_id, reply), WebDriverScriptCommand::GetElementText(node_id, reply) => diff --git a/components/script/webdriver_handlers.rs b/components/script/webdriver_handlers.rs index da783880989..55525455e10 100644 --- a/components/script/webdriver_handlers.rs +++ b/components/script/webdriver_handlers.rs @@ -85,6 +85,11 @@ pub fn handle_find_elements_css(page: &Rc<Page>, _pipeline: PipelineId, selector }).unwrap(); } +pub fn handle_get_active_element(page: &Rc<Page>, _pipeline: PipelineId, reply: Sender<Option<String>>) { + reply.send(page.document().root().r().GetActiveElement().map( + |elem| NodeCast::from_ref(elem.root().r()).get_unique_id())).unwrap(); +} + pub fn handle_get_title(page: &Rc<Page>, _pipeline: PipelineId, reply: Sender<String>) { reply.send(page.document().root().r().Title()).unwrap(); } |