Skip to content

Instantly share code, notes, and snippets.

@zmike
Created November 19, 2014 20:48
Show Gist options
  • Save zmike/8b3521f622b5bcca939c to your computer and use it in GitHub Desktop.
Save zmike/8b3521f622b5bcca939c to your computer and use it in GitHub Desktop.
#[no_mangle]
pub extern "C" fn cef_run_message_loop() {
native::start(0, 0 as *const *const u8, proc() {
GLOBAL_BROWSERS.get().map(|rbrs| {
unsafe {
let brs = rbrs.borrow_mut();
let mut num = 0 as uint;
for sb in brs.iter() {
(**sb).window = glfw_app::create_window();
(**sb).servo_browser = Browser::new(Some((**sb).window.clone()));
(**sb).running = true;
num += 1;
}
while num > 0 {
for sb in brs.iter().filter(|&sb| (**sb).running == true) {
let ref mut browser = **sb;
if !browser.servo_browser.handle_event(browser.window.wait_events()) {
browser.servo_browser.shutdown();
browser.running = false;
num -= 1;
}
}
}
}
});
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment