diff options
Diffstat (limited to 'components/script/dom/document.rs')
-rw-r--r-- | components/script/dom/document.rs | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 731b89a26cb..7852111b23f 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -2072,10 +2072,9 @@ fn get_registrable_domain_suffix_of_or_is_equal_to(host_suffix_string: &str, ori }; // Step 4.2 - let (prefix, suffix) = match original_host.len().checked_sub(host.len()) { - Some(index) => original_host.split_at(index), - None => return None, - }; + let index = original_host.len().checked_sub(host.len())?; + let (prefix, suffix) = original_host.split_at(index); + if !prefix.ends_with(".") { return None; } @@ -2319,11 +2318,7 @@ impl Document { /// /// Also, shouldn't return an option, I'm quite sure. pub fn device(&self) -> Option<Device> { - let window_size = match self.window().window_size() { - Some(ws) => ws, - None => return None, - }; - + let window_size = self.window().window_size()?; let viewport_size = window_size.initial_viewport; let device_pixel_ratio = window_size.device_pixel_ratio; Some(Device::new(MediaType::screen(), viewport_size, device_pixel_ratio)) @@ -4017,12 +4012,9 @@ impl PendingInOrderScriptVec { fn take_next_ready_to_be_executed(&self) -> Option<(DomRoot<HTMLScriptElement>, ScriptResult)> { let mut scripts = self.scripts.borrow_mut(); - let pair = scripts.front_mut().and_then(PendingScript::take_result); - if pair.is_none() { - return None; - } + let pair = scripts.front_mut()?.take_result()?; scripts.pop_front(); - pair + Some(pair) } fn clear(&self) { |