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) {