diff --git a/ports/cef/window.rs b/ports/cef/window.rs index 43e8c38cee2..c717bc2595c 100644 --- a/ports/cef/window.rs +++ b/ports/cef/window.rs @@ -361,7 +361,21 @@ impl WindowMethods for Window { } } - fn load_error(&self, _: NetError, _: String) { + fn load_error(&self, code: NetError, url: String) { + let browser = self.cef_browser.borrow(); + let browser = match *browser { + None => return, + Some(ref browser) => browser, + }; + if check_ptr_exist!(browser.get_host().get_client(), get_load_handler) && + check_ptr_exist!(browser.get_host().get_client().get_load_handler(), on_load_error) { + let utf16_chars: Vec = Utf16Encoder::new((url).chars()).collect(); + browser.get_host() + .get_client() + .get_load_handler() + .on_load_error((*browser).clone(), browser.get_main_frame(), + code, &[], utf16_chars.as_slice()); + } } fn set_page_title(&self, string: Option) {