Skip to content
Permalink
Browse files

make Opts.url an Option<> type, only emit initial url load if url exists

this is a necessary change for embedded apps to prevent an initial about:blank
page load from overwriting whatever the app was actually trying to load
  • Loading branch information
Mike Blumenkrantz
Mike Blumenkrantz committed May 27, 2015
1 parent fcf4495 commit b1ae5e7523461390d332e39a98a847b243afab3b
Showing with 11 additions and 7 deletions.
  1. +7 −4 components/servo/lib.rs
  2. +3 −3 components/util/opts.rs
  3. +1 −0 ports/cef/core.rs
@@ -168,10 +168,13 @@ fn create_constellation(opts: opts::Opts,
storage_task);

// Send the URL command to the constellation.
{
let ConstellationChan(ref chan) = constellation_chan;
chan.send(ConstellationMsg::InitLoadUrl(opts.url.clone())).unwrap();
}
match opts.url {
Some(url) => {
let ConstellationChan(ref chan) = constellation_chan;
chan.send(ConstellationMsg::InitLoadUrl(url.clone())).unwrap();
},
None => ()
};

constellation_chan
}
@@ -24,7 +24,7 @@ use url::{self, Url};
#[derive(Clone)]
pub struct Opts {
/// The initial URL to load.
pub url: Url,
pub url: Option<Url>,

/// How many threads to use for CPU painting (`-t`).
///
@@ -198,7 +198,7 @@ static FORCE_CPU_PAINTING: bool = false;

pub fn default_opts() -> Opts {
Opts {
url: Url::parse("about:blank").unwrap(),
url: Some(Url::parse("about:blank").unwrap()),
paint_threads: 1,
gpu_painting: false,
tile_size: 512,
@@ -370,7 +370,7 @@ pub fn from_cmdline_args(args: &[String]) -> bool {
};

let opts = Opts {
url: url,
url: Some(url),
paint_threads: paint_threads,
gpu_painting: gpu_painting,
tile_size: tile_size,
@@ -74,6 +74,7 @@ pub extern "C" fn cef_initialize(args: *const cef_main_args_t,
temp_opts.hard_fail = false;
temp_opts.enable_text_antialiasing = true;
temp_opts.resources_path = None;
temp_opts.url = None;
opts::set(temp_opts);

if unsafe { (*settings).windowless_rendering_enabled != 0 } {

0 comments on commit b1ae5e7

Please sign in to comment.
You can’t perform that action at this time.