aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2015-05-26 21:22:07 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2015-05-27 14:45:59 -0400
commitca1f49aaa3ff257bdac1235f107c81a244b2d739 (patch)
tree2acc0eca7b9db31522b45db1e534629bf25de133
parent81eb426b04ab6d68f542fb047bb9706795d0f3a5 (diff)
downloadservo-ca1f49aaa3ff257bdac1235f107c81a244b2d739.tar.gz
servo-ca1f49aaa3ff257bdac1235f107c81a244b2d739.zip
spawn a task for cef async browser creation to kick the main loop awake
without this, the initial url loading message will never be sent to the constellation, preventing the engine from ever doing anything
-rw-r--r--ports/cef/browser.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/ports/cef/browser.rs b/ports/cef/browser.rs
index 4da87e906ea..39139c5b8ff 100644
--- a/ports/cef/browser.rs
+++ b/ports/cef/browser.rs
@@ -10,6 +10,7 @@ use interfaces::{cef_browser_t, cef_browser_host_t, cef_client_t, cef_frame_t};
use interfaces::{cef_request_context_t};
use servo::Browser;
use types::{cef_browser_settings_t, cef_string_t, cef_window_info_t, cef_window_handle_t};
+use util::task::spawn_named;
use window;
use wrappers::CefWrap;
@@ -297,6 +298,9 @@ cef_static_method_impls! {
let _browser_settings: &cef_browser_settings_t = _browser_settings;
let _request_context: CefRequestContext = _request_context;
browser_host_create(window_info, client, url, false);
+ spawn_named("async_browser_creation".to_owned(), move || {
+ window::app_wakeup();
+ });
1i32
}}
fn cef_browser_host_create_browser_sync(window_info: *const cef_window_info_t,