implement cef browser title setting callback

This commit is contained in:
Mike Blumenkrantz 2015-05-19 18:22:35 -04:00
parent af1dce5a2e
commit caa8172560
2 changed files with 17 additions and 10 deletions

View file

@ -8,6 +8,7 @@
#![feature(link_args)]
#![feature(thread_local)]
#![feature(core)]
#![feature(convert)]
#![feature(std_misc)]
#![feature(rustc_private)]
#![feature(collections)]

View file

@ -340,18 +340,24 @@ impl WindowMethods for Window {
let frame = browser.get_main_frame();
let frame = frame.downcast();
let mut title_visitor = frame.title_visitor.borrow_mut();
match &mut *title_visitor {
&mut None => {}
&mut Some(ref mut visitor) => {
match string {
None => visitor.visit(&[]),
Some(string) => {
let utf16_chars: Vec<u16> = Utf16Encoder::new(string.chars()).collect();
visitor.visit(&utf16_chars)
}
}
let str = match string {
Some(s) => {
let utf16_chars: Vec<u16> = Utf16Encoder::new(s.chars()).collect();
utf16_chars
}
None => vec![]
};
if check_ptr_exist!(browser.get_host().get_client(), get_display_handler) &&
check_ptr_exist!(browser.get_host().get_client().get_display_handler(), on_title_change) {
browser.get_host().get_client().get_display_handler().on_title_change((*browser).clone(), str.as_slice());
}
match &mut *title_visitor {
&mut None => {},
&mut Some(ref mut visitor) => {
visitor.visit(&str);
}
};
}
fn set_page_url(&self, url: Url) {