From a1fda4af52de0c308c574344e6f859ecc4da9c0b Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 29 May 2015 18:31:19 -0400 Subject: [PATCH] move cef favicon change callback to head_parsed callback to be faster --- ports/cef/window.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/ports/cef/window.rs b/ports/cef/window.rs index c21f61fb9d6..94c073abcc3 100644 --- a/ports/cef/window.rs +++ b/ports/cef/window.rs @@ -354,10 +354,6 @@ impl WindowMethods for Window { browser.downcast().loading.set(false); browser.downcast().back.set(back); browser.downcast().forward.set(forward); - if check_ptr_exist!(browser.get_host().get_client(), get_display_handler) && - check_ptr_exist!(browser.get_host().get_client().get_display_handler(), on_favicon_urlchange) { - browser.get_host().get_client().get_display_handler().on_favicon_urlchange((*browser).clone(), &browser.downcast().favicons.borrow()); - } if check_ptr_exist!(browser.get_host().get_client(), get_load_handler) && check_ptr_exist!(browser.get_host().get_client().get_load_handler(), on_loading_state_change) { browser.get_host() @@ -392,6 +388,15 @@ impl WindowMethods for Window { } fn head_parsed(&self) { + 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_display_handler) && + check_ptr_exist!(browser.get_host().get_client().get_display_handler(), on_favicon_urlchange) { + browser.get_host().get_client().get_display_handler().on_favicon_urlchange((*browser).clone(), &browser.downcast().favicons.borrow()); + } } fn set_page_title(&self, string: Option) {