From 4618ad6b73e046fc359e23ede2fd3531ff9f5997 Mon Sep 17 00:00:00 2001 From: Corey Farwell Date: Tue, 19 Apr 2016 09:19:31 -0400 Subject: [PATCH 1/4] More idiomatic char retrieval from `String`. --- components/net/cookie.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/net/cookie.rs b/components/net/cookie.rs index 2f555767b11..0f77a8d6f2c 100644 --- a/components/net/cookie.rs +++ b/components/net/cookie.rs @@ -66,7 +66,7 @@ impl Cookie { // Step 7 let mut path = cookie.path.unwrap_or("".to_owned()); - if path.is_empty() || path.as_bytes()[0] != b'/' { + if path.chars().next() != Some('/') { let url_path = request.serialize_path(); let url_path = url_path.as_ref().map(|path| &**path); path = Cookie::default_path(url_path.unwrap_or("")).to_owned(); @@ -96,7 +96,7 @@ impl Cookie { // http://tools.ietf.org/html/rfc6265#section-5.1.4 pub fn default_path(request_path: &str) -> &str { // Step 2 - if request_path.is_empty() || !request_path.starts_with("/") { + if request_path.chars().next() != Some('/') { return "/"; } From 16be0640a8dea96fdbfd1f548517d405fd7591f2 Mon Sep 17 00:00:00 2001 From: Corey Farwell Date: Tue, 19 Apr 2016 09:20:03 -0400 Subject: [PATCH 2/4] Refactor `loop` into a `while` loop. --- components/net/file_loader.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/components/net/file_loader.rs b/components/net/file_loader.rs index db87cb33375..b3b905c7dcb 100644 --- a/components/net/file_loader.rs +++ b/components/net/file_loader.rs @@ -44,17 +44,14 @@ fn read_block(reader: &mut File) -> Result { fn read_all(reader: &mut File, progress_chan: &ProgressSender, cancel_listener: &CancellationListener) -> Result { - loop { - if cancel_listener.is_cancelled() { - let _ = progress_chan.send(Done(Err("load cancelled".to_owned()))); - return Ok(LoadResult::Cancelled); - } - + while !cancel_listener.is_cancelled() { match try!(read_block(reader)) { ReadStatus::Partial(buf) => progress_chan.send(Payload(buf)).unwrap(), ReadStatus::EOF => return Ok(LoadResult::Finished), } } + let _ = progress_chan.send(Done(Err("load cancelled".to_owned()))); + Ok(LoadResult::Cancelled) } fn get_progress_chan(load_data: LoadData, file_path: PathBuf, From a10b574d44713cc6748c6f0d03bdf0e49328f5bd Mon Sep 17 00:00:00 2001 From: Corey Farwell Date: Tue, 19 Apr 2016 09:52:47 -0400 Subject: [PATCH 3/4] Flatten and cleanup `ConstellationListener::is_cancelled`. --- components/net/resource_thread.rs | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/components/net/resource_thread.rs b/components/net/resource_thread.rs index bb839176b14..e97e1e491de 100644 --- a/components/net/resource_thread.rs +++ b/components/net/resource_thread.rs @@ -227,17 +227,15 @@ impl CancellationListener { } pub fn is_cancelled(&self) -> bool { - match self.cancel_resource { - Some(ref resource) => { - match resource.cancel_receiver.try_recv() { - Ok(_) => { - self.cancel_status.set(true); - true - }, - Err(_) => self.cancel_status.get(), - } - }, - None => false, // channel doesn't exist! + let resource = match self.cancel_resource { + Some(ref resource) => resource, + None => return false, // channel doesn't exist! + }; + if resource.cancel_receiver.try_recv().is_ok() { + self.cancel_status.set(true); + true + } else { + self.cancel_status.get() } } } From f0a640321134ab21eaf06d85cdd3c37cb48b50d9 Mon Sep 17 00:00:00 2001 From: Corey Farwell Date: Tue, 19 Apr 2016 10:11:15 -0400 Subject: [PATCH 4/4] Fix incorrect indentation for line continuation. --- components/net/resource_thread.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/net/resource_thread.rs b/components/net/resource_thread.rs index e97e1e491de..0bc6f19e053 100644 --- a/components/net/resource_thread.rs +++ b/components/net/resource_thread.rs @@ -133,7 +133,7 @@ fn start_sending_opt(start_chan: LoadConsumer, metadata: Metadata) -> Result>) -> ResourceThread { + devtools_chan: Option>) -> ResourceThread { let hsts_preload = HstsList::from_servo_preload(); let (setup_chan, setup_port) = ipc::channel().unwrap(); let setup_chan_clone = setup_chan.clone();