Merge pull request #2776 from glennw/warnings

Warning police.
This commit is contained in:
Jack Moffitt 2014-07-07 00:30:04 -06:00
commit 7babb6d104
10 changed files with 83 additions and 78 deletions

View file

@ -13,6 +13,7 @@ extern "C" {
fn tc_deletearray(mem: *mut c_void);
}
#[allow(experimental)]
pub fn newarray0<T>(nmem: size_t) -> *mut T {
let mem = newarray::<T>(nmem) as *mut T;
unsafe {
@ -27,6 +28,7 @@ pub fn newarray<T>(nmem: size_t) -> *mut T {
}
}
#[allow(experimental)]
pub fn new0<T>(nmem: size_t) -> *mut T {
let mem = new(nmem * mem::size_of::<T>() as u64) as *mut T;
unsafe {

View file

@ -312,7 +312,7 @@ impl LayoutTask {
opts: &Opts,
time_profiler_chan: TimeProfilerChan)
-> LayoutTask {
let local_image_cache = Arc::new(Mutex::new(LocalImageCache(image_cache_task.clone())));
let local_image_cache = Arc::new(Mutex::new(LocalImageCache::new(image_cache_task.clone())));
let screen_size = Size2D(Au(0), Au(0));
let parallel_traversal = if opts.layout_threads != 1 {
Some(WorkQueue::new("LayoutWorker", opts.layout_threads, ptr::mut_null()))

View file

@ -31,7 +31,7 @@ use compositing::{CompositorChan, CompositorTask, Constellation};
use servo_msg::constellation_msg::{ConstellationChan, InitLoadUrlMsg};
#[cfg(not(test))]
use servo_net::image_cache_task::{ImageCacheTask, SyncImageCacheTask};
use servo_net::image_cache_task::ImageCacheTask;
#[cfg(not(test))]
use servo_net::resource_task::ResourceTask;
#[cfg(not(test))]
@ -111,9 +111,9 @@ pub fn run(opts: opts::Opts) {
// image load or we risk emitting an output file missing the
// image.
let image_cache_task = if opts.output_file.is_some() {
SyncImageCacheTask(resource_task.clone())
ImageCacheTask::new_sync(resource_task.clone())
} else {
ImageCacheTask(resource_task.clone())
ImageCacheTask::new(resource_task.clone())
};
let constellation_chan = Constellation::start(compositor_chan,
opts,

View file

@ -80,52 +80,53 @@ impl<E, S: Encoder<E>> Encodable<S, E> for ImageCacheTask {
type DecoderFactory = fn() -> proc(&[u8]) -> Option<Image>;
pub fn ImageCacheTask(resource_task: ResourceTask) -> ImageCacheTask {
let (chan, port) = channel();
let chan_clone = chan.clone();
impl ImageCacheTask {
pub fn new(resource_task: ResourceTask) -> ImageCacheTask {
let (chan, port) = channel();
let chan_clone = chan.clone();
spawn(proc() {
let mut cache = ImageCache {
resource_task: resource_task.clone(),
port: port,
chan: chan_clone,
state_map: url_map(),
wait_map: url_map(),
need_exit: None
};
cache.run();
});
spawn(proc() {
let mut cache = ImageCache {
resource_task: resource_task.clone(),
port: port,
chan: chan_clone,
state_map: url_map(),
wait_map: url_map(),
need_exit: None
};
cache.run();
});
ImageCacheTask {
chan: chan,
}
}
// FIXME: make this priv after visibility rules change
pub fn SyncImageCacheTask(resource_task: ResourceTask) -> ImageCacheTask {
let (chan, port) = channel();
spawn(proc() {
let inner_cache = ImageCacheTask(resource_task.clone());
loop {
let msg: Msg = port.recv();
match msg {
GetImage(url, response) => {
inner_cache.send(WaitForImage(url, response));
}
Exit(response) => {
inner_cache.send(Exit(response));
break;
}
msg => inner_cache.send(msg)
}
ImageCacheTask {
chan: chan,
}
});
}
ImageCacheTask {
chan: chan,
pub fn new_sync(resource_task: ResourceTask) -> ImageCacheTask {
let (chan, port) = channel();
spawn(proc() {
let inner_cache = ImageCacheTask::new(resource_task.clone());
loop {
let msg: Msg = port.recv();
match msg {
GetImage(url, response) => {
inner_cache.send(WaitForImage(url, response));
}
Exit(response) => {
inner_cache.send(Exit(response));
break;
}
msg => inner_cache.send(msg)
}
}
});
ImageCacheTask {
chan: chan,
}
}
}
@ -581,7 +582,7 @@ mod tests {
fn should_exit_on_request() {
let mock_resource_task = mock_resource_task(box DoesNothing);
let image_cache_task = ImageCacheTask(mock_resource_task.clone());
let image_cache_task = ImageCacheTask::new(mock_resource_task.clone());
let _url = parse_url("file", None);
image_cache_task.exit();
@ -593,7 +594,7 @@ mod tests {
fn should_fail_if_unprefetched_image_is_requested() {
let mock_resource_task = mock_resource_task(box DoesNothing);
let image_cache_task = ImageCacheTask(mock_resource_task.clone());
let image_cache_task = ImageCacheTask::new(mock_resource_task.clone());
let url = parse_url("file", None);
let (chan, port) = channel();
@ -607,7 +608,7 @@ mod tests {
let mock_resource_task = mock_resource_task(box JustSendOK { url_requested_chan: url_requested_chan});
let image_cache_task = ImageCacheTask(mock_resource_task.clone());
let image_cache_task = ImageCacheTask::new(mock_resource_task.clone());
let url = parse_url("file", None);
image_cache_task.send(Prefetch(url));
@ -622,7 +623,7 @@ mod tests {
let mock_resource_task = mock_resource_task(box JustSendOK { url_requested_chan: url_requested_chan});
let image_cache_task = ImageCacheTask(mock_resource_task.clone());
let image_cache_task = ImageCacheTask::new(mock_resource_task.clone());
let url = parse_url("file", None);
image_cache_task.send(Prefetch(url.clone()));
@ -642,7 +643,7 @@ mod tests {
let mock_resource_task = mock_resource_task(box WaitSendTestImage{wait_port: wait_port});
let image_cache_task = ImageCacheTask(mock_resource_task.clone());
let image_cache_task = ImageCacheTask::new(mock_resource_task.clone());
let url = parse_url("file", None);
image_cache_task.send(Prefetch(url.clone()));
@ -659,7 +660,7 @@ mod tests {
fn should_return_decoded_image_data_if_data_has_arrived() {
let mock_resource_task = mock_resource_task(box SendTestImage);
let image_cache_task = ImageCacheTask(mock_resource_task.clone());
let image_cache_task = ImageCacheTask::new(mock_resource_task.clone());
let url = parse_url("file", None);
let join_port = image_cache_task.wait_for_store();
@ -685,7 +686,7 @@ mod tests {
fn should_return_decoded_image_data_for_multiple_requests() {
let mock_resource_task = mock_resource_task(box SendTestImage);
let image_cache_task = ImageCacheTask(mock_resource_task.clone());
let image_cache_task = ImageCacheTask::new(mock_resource_task.clone());
let url = parse_url("file", None);
let join_port = image_cache_task.wait_for_store();
@ -732,7 +733,7 @@ mod tests {
}
});
let image_cache_task = ImageCacheTask(mock_resource_task.clone());
let image_cache_task = ImageCacheTask::new(mock_resource_task.clone());
let url = parse_url("file", None);
image_cache_task.send(Prefetch(url.clone()));
@ -778,7 +779,7 @@ mod tests {
}
});
let image_cache_task = ImageCacheTask(mock_resource_task.clone());
let image_cache_task = ImageCacheTask::new(mock_resource_task.clone());
let url = parse_url("file", None);
image_cache_task.send(Prefetch(url.clone()));
@ -807,7 +808,7 @@ mod tests {
fn should_return_failed_if_image_bin_cannot_be_fetched() {
let mock_resource_task = mock_resource_task(box SendTestImageErr);
let image_cache_task = ImageCacheTask(mock_resource_task.clone());
let image_cache_task = ImageCacheTask::new(mock_resource_task.clone());
let url = parse_url("file", None);
let join_port = image_cache_task.wait_for_store_prefetched();
@ -833,7 +834,7 @@ mod tests {
fn should_return_failed_for_multiple_get_image_requests_if_image_bin_cannot_be_fetched() {
let mock_resource_task = mock_resource_task(box SendTestImageErr);
let image_cache_task = ImageCacheTask(mock_resource_task.clone());
let image_cache_task = ImageCacheTask::new(mock_resource_task.clone());
let url = parse_url("file", None);
let join_port = image_cache_task.wait_for_store_prefetched();
@ -867,7 +868,7 @@ mod tests {
fn should_return_failed_if_image_decode_fails() {
let mock_resource_task = mock_resource_task(box SendBogusImage);
let image_cache_task = ImageCacheTask(mock_resource_task.clone());
let image_cache_task = ImageCacheTask::new(mock_resource_task.clone());
let url = parse_url("file", None);
let join_port = image_cache_task.wait_for_store();
@ -895,7 +896,7 @@ mod tests {
fn should_return_image_on_wait_if_image_is_already_loaded() {
let mock_resource_task = mock_resource_task(box SendTestImage);
let image_cache_task = ImageCacheTask(mock_resource_task.clone());
let image_cache_task = ImageCacheTask::new(mock_resource_task.clone());
let url = parse_url("file", None);
let join_port = image_cache_task.wait_for_store();
@ -923,7 +924,7 @@ mod tests {
let mock_resource_task = mock_resource_task(box WaitSendTestImage {wait_port: wait_port});
let image_cache_task = ImageCacheTask(mock_resource_task.clone());
let image_cache_task = ImageCacheTask::new(mock_resource_task.clone());
let url = parse_url("file", None);
image_cache_task.send(Prefetch(url.clone()));
@ -949,7 +950,7 @@ mod tests {
let mock_resource_task = mock_resource_task(box WaitSendTestImageErr{wait_port: wait_port});
let image_cache_task = ImageCacheTask(mock_resource_task.clone());
let image_cache_task = ImageCacheTask::new(mock_resource_task.clone());
let url = parse_url("file", None);
image_cache_task.send(Prefetch(url.clone()));
@ -973,7 +974,7 @@ mod tests {
fn sync_cache_should_wait_for_images() {
let mock_resource_task = mock_resource_task(box SendTestImage);
let image_cache_task = SyncImageCacheTask(mock_resource_task.clone());
let image_cache_task = ImageCacheTask::new_sync(mock_resource_task.clone());
let url = parse_url("file", None);
image_cache_task.send(Prefetch(url.clone()));

View file

@ -20,15 +20,6 @@ pub trait ImageResponder {
fn respond(&self) -> proc(ImageResponseMsg):Send;
}
pub fn LocalImageCache(image_cache_task: ImageCacheTask) -> LocalImageCache {
LocalImageCache {
image_cache_task: image_cache_task,
round_number: 1,
on_image_available: None,
state_map: url_map()
}
}
pub struct LocalImageCache {
image_cache_task: ImageCacheTask,
round_number: uint,
@ -36,6 +27,17 @@ pub struct LocalImageCache {
state_map: UrlMap<ImageState>
}
impl LocalImageCache {
pub fn new(image_cache_task: ImageCacheTask) -> LocalImageCache {
LocalImageCache {
image_cache_task: image_cache_task,
round_number: 1,
on_image_available: None,
state_map: url_map()
}
}
}
#[deriving(Clone)]
struct ImageState {
prefetched: bool,

View file

@ -43,7 +43,7 @@ fn parse_css(provenance: StylesheetProvenance) -> Stylesheet {
}
InlineProvenance(base_url, data) => {
debug!("cssparse: loading inline stylesheet {:s}", data);
Stylesheet::from_str(data.as_slice(), base_url, environment_encoding)
Stylesheet::from_str(data.as_slice(), base_url)
}
}
}

View file

@ -53,12 +53,12 @@ impl Stylesheet {
bytes: &[u8], base_url: Url, protocol_encoding_label: Option<&str>,
environment_encoding: Option<EncodingRef>) -> Stylesheet {
// TODO: bytes.as_slice could be bytes.container_as_bytes()
let (string, used_encoding) = decode_stylesheet_bytes(
let (string, _) = decode_stylesheet_bytes(
bytes.as_slice(), protocol_encoding_label, environment_encoding);
Stylesheet::from_str(string.as_slice(), base_url, used_encoding)
Stylesheet::from_str(string.as_slice(), base_url)
}
pub fn from_str(css: &str, base_url: Url, encoding: EncodingRef) -> Stylesheet {
pub fn from_str(css: &str, base_url: Url) -> Stylesheet {
static STATE_CHARSET: uint = 1;
static STATE_IMPORTS: uint = 2;
static STATE_NAMESPACES: uint = 3;

View file

@ -101,7 +101,7 @@ pub fn from_cmdline_args(args: &[String]) -> Option<Opts> {
let opt_match = match getopts::getopts(args, opts.as_slice()) {
Ok(m) => m,
Err(f) => {
args_fail(f.to_err_msg().as_slice());
args_fail(format!("{}", f).as_slice());
return None;
}
};

View file

@ -128,7 +128,7 @@ pub trait SmallVec<T> : SmallVecPrivate<T> {
}
unsafe {
let end: &mut T = mem::transmute(self.end());
mem::overwrite(end, value);
ptr::write(end, value);
let len = self.len();
self.set_len(len + 1)
}

View file

@ -43,7 +43,7 @@ fn parse_config(args: Vec<String>) -> Config {
let opts = vec!(reqopt("s", "source-dir", "source-dir", "source-dir"));
let matches = match getopts(args, opts.as_slice()) {
Ok(m) => m,
Err(f) => fail!(f.to_err_msg())
Err(f) => fail!(format!("{}", f))
};
Config {