From 02606fada4012dddf85256af317ce6b83606883e Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 19 May 2015 19:14:42 -0400 Subject: [PATCH] implement on_address_change handler for cef port --- ports/cef/window.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/ports/cef/window.rs b/ports/cef/window.rs index d6a5a1cb3f4..b22c8703067 100644 --- a/ports/cef/window.rs +++ b/ports/cef/window.rs @@ -367,10 +367,15 @@ impl WindowMethods for Window { Some(ref browser) => browser, }; let frame = browser.get_main_frame(); - let frame = frame.downcast(); + let servoframe = frame.downcast(); // FIXME(https://github.com/rust-lang/rust/issues/23338) - let mut frame_url = frame.url.borrow_mut(); - *frame_url = url.to_string() + let mut frame_url = servoframe.url.borrow_mut(); + *frame_url = url.to_string(); + let utf16_chars: Vec = Utf16Encoder::new((*frame_url).chars()).collect(); + if check_ptr_exist!(browser.get_host().get_client(), get_display_handler) && + check_ptr_exist!(browser.get_host().get_client().get_display_handler(), on_address_change) { + browser.get_host().get_client().get_display_handler().on_address_change((*browser).clone(), frame.clone(), utf16_chars.as_slice()); + } } fn handle_key(&self, _: Key, _: KeyModifiers) {