mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
implement cef browser title setting callback
This commit is contained in:
parent
af1dce5a2e
commit
caa8172560
2 changed files with 17 additions and 10 deletions
|
@ -8,6 +8,7 @@
|
|||
#![feature(link_args)]
|
||||
#![feature(thread_local)]
|
||||
#![feature(core)]
|
||||
#![feature(convert)]
|
||||
#![feature(std_misc)]
|
||||
#![feature(rustc_private)]
|
||||
#![feature(collections)]
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue