Remove redundant url clones

They are now redundant since now document.url() returns a struct rather
than a reference.
This commit is contained in:
Pu Xingyu 2016-11-18 12:39:22 +08:00
parent fb6cc15208
commit 91f3d4f474
13 changed files with 22 additions and 22 deletions

View file

@ -615,5 +615,5 @@ fn follow_hyperlink(subject: &Element, hyperlink_suffix: Option<String>, referre
debug!("following hyperlink to {}", url); debug!("following hyperlink to {}", url);
let window = document.window(); let window = document.window();
window.load_url(url, false, referrer_policy); window.load_url(url, false, false, referrer_policy);
} }

View file

@ -341,7 +341,7 @@ impl HTMLFormElement {
let _target = submitter.target(); let _target = submitter.target();
// TODO: Handle browsing contexts, partially loaded documents (step 16-17) // TODO: Handle browsing contexts, partially loaded documents (step 16-17)
let mut load_data = LoadData::new(action_components, doc.get_referrer_policy(), Some(doc.url().clone())); let mut load_data = LoadData::new(action_components, doc.get_referrer_policy(), Some(doc.url()));
// Step 18 // Step 18
match (&*scheme, method) { match (&*scheme, method) {

View file

@ -157,7 +157,7 @@ impl HTMLIFrameElement {
let document = document_from_node(self); let document = document_from_node(self);
self.navigate_or_reload_child_browsing_context( self.navigate_or_reload_child_browsing_context(
Some(LoadData::new(url, document.get_referrer_policy(), Some(document.url().clone()))), false); Some(LoadData::new(url, document.get_referrer_policy(), Some(document.url()))), false);
} }
#[allow(unsafe_code)] #[allow(unsafe_code)]

View file

@ -280,9 +280,9 @@ impl HTMLLinkElement {
destination: Destination::Style, destination: Destination::Style,
credentials_mode: CredentialsMode::Include, credentials_mode: CredentialsMode::Include,
use_url_credentials: true, use_url_credentials: true,
origin: document.url().clone(), origin: document.url(),
pipeline_id: Some(self.global().pipeline_id()), pipeline_id: Some(self.global().pipeline_id()),
referrer_url: Some(document.url().clone()), referrer_url: Some(document.url()),
referrer_policy: referrer_policy, referrer_policy: referrer_policy,
.. RequestInit::default() .. RequestInit::default()
}; };

View file

@ -548,9 +548,9 @@ impl HTMLMediaElement {
destination: Destination::Media, destination: Destination::Media,
credentials_mode: CredentialsMode::Include, credentials_mode: CredentialsMode::Include,
use_url_credentials: true, use_url_credentials: true,
origin: document.url().clone(), origin: document.url(),
pipeline_id: Some(self.global().pipeline_id()), pipeline_id: Some(self.global().pipeline_id()),
referrer_url: Some(document.url().clone()), referrer_url: Some(document.url()),
referrer_policy: document.get_referrer_policy(), referrer_policy: document.get_referrer_policy(),
.. RequestInit::default() .. RequestInit::default()
}; };

View file

@ -241,9 +241,9 @@ fn fetch_a_classic_script(script: &HTMLScriptElement,
Some(CorsSettings::Anonymous) => CredentialsMode::CredentialsSameOrigin, Some(CorsSettings::Anonymous) => CredentialsMode::CredentialsSameOrigin,
_ => CredentialsMode::Include, _ => CredentialsMode::Include,
}, },
origin: doc.url().clone(), origin: doc.url(),
pipeline_id: Some(script.global().pipeline_id()), pipeline_id: Some(script.global().pipeline_id()),
referrer_url: Some(doc.url().clone()), referrer_url: Some(doc.url()),
referrer_policy: doc.get_referrer_policy(), referrer_policy: doc.get_referrer_policy(),
.. RequestInit::default() .. RequestInit::default()
}; };

View file

@ -135,7 +135,7 @@ macro_rules! make_string_or_document_url_getter(
if val.is_empty() { if val.is_empty() {
let doc = document_from_node(self); let doc = document_from_node(self);
DOMString::from(doc.url().clone().into_string()) DOMString::from(doc.url().into_string())
} else { } else {
val val
} }

View file

@ -1751,7 +1751,7 @@ impl Node {
let window = document.window(); let window = document.window();
let loader = DocumentLoader::new(&*document.loader()); let loader = DocumentLoader::new(&*document.loader());
let document = Document::new(window, None, let document = Document::new(window, None,
Some((*document.url()).clone()), Some(document.url()),
is_html_doc, None, is_html_doc, None,
None, DocumentSource::NotFromParser, loader, None, DocumentSource::NotFromParser, loader,
None, None); None, None);

View file

@ -1366,7 +1366,7 @@ impl Window {
} }
pub fn get_url(&self) -> ServoUrl { pub fn get_url(&self) -> ServoUrl {
(*self.Document().url()).clone() self.Document().url()
} }
pub fn layout_chan(&self) -> &Sender<Msg> { pub fn layout_chan(&self) -> &Sender<Msg> {

View file

@ -159,7 +159,7 @@ impl XMLHttpRequest {
//TODO - update this when referrer policy implemented for workers //TODO - update this when referrer policy implemented for workers
let (referrer_url, referrer_policy) = if let Some(window) = global.downcast::<Window>() { let (referrer_url, referrer_policy) = if let Some(window) = global.downcast::<Window>() {
let document = window.Document(); let document = window.Document();
(Some(document.url().clone()), document.get_referrer_policy()) (Some(document.url()), document.get_referrer_policy())
} else { } else {
(None, None) (None, None)
}; };

View file

@ -1239,7 +1239,7 @@ impl ScriptThread {
let mut reports = vec![]; let mut reports = vec![];
for (_, document) in self.documents.borrow().iter() { for (_, document) in self.documents.borrow().iter() {
let current_url = document.url().as_str(); let current_url = document.url();
for child in document.upcast::<Node>().traverse_preorder() { for child in document.upcast::<Node>().traverse_preorder() {
dom_tree_size += heap_size_of_self_and_children(&*child); dom_tree_size += heap_size_of_self_and_children(&*child);
@ -1249,10 +1249,10 @@ impl ScriptThread {
if reports.len() > 0 { if reports.len() > 0 {
path_seg.push_str(", "); path_seg.push_str(", ");
} }
path_seg.push_str(current_url); path_seg.push_str(current_url.as_str());
reports.push(Report { reports.push(Report {
path: path![format!("url({})", current_url), "dom-tree"], path: path![format!("url({})", current_url.as_str()), "dom-tree"],
kind: ReportKind::ExplicitJemallocHeapSize, kind: ReportKind::ExplicitJemallocHeapSize,
size: dom_tree_size, size: dom_tree_size,
}); });

View file

@ -195,7 +195,7 @@ pub fn handle_get_cookies(documents: &Documents,
let url = document.url(); let url = document.url();
let (sender, receiver) = ipc::channel().unwrap(); let (sender, receiver) = ipc::channel().unwrap();
let _ = document.window().upcast::<GlobalScope>().resource_threads().send( let _ = document.window().upcast::<GlobalScope>().resource_threads().send(
GetCookiesDataForUrl(url.clone(), sender, NonHTTP) GetCookiesDataForUrl(url, sender, NonHTTP)
); );
receiver.recv().unwrap() receiver.recv().unwrap()
}, },
@ -215,7 +215,7 @@ pub fn handle_get_cookie(documents: &Documents,
let url = document.url(); let url = document.url();
let (sender, receiver) = ipc::channel().unwrap(); let (sender, receiver) = ipc::channel().unwrap();
let _ = document.window().upcast::<GlobalScope>().resource_threads().send( let _ = document.window().upcast::<GlobalScope>().resource_threads().send(
GetCookiesDataForUrl(url.clone(), sender, NonHTTP) GetCookiesDataForUrl(url, sender, NonHTTP)
); );
receiver.recv().unwrap() receiver.recv().unwrap()
}, },
@ -243,13 +243,13 @@ pub fn handle_add_cookie(documents: &Documents,
(true, _) => Err(WebDriverCookieError::InvalidDomain), (true, _) => Err(WebDriverCookieError::InvalidDomain),
(false, Some(ref domain)) if url.host_str().map(|x| { x == &**domain }).unwrap_or(false) => { (false, Some(ref domain)) if url.host_str().map(|x| { x == &**domain }).unwrap_or(false) => {
let _ = document.window().upcast::<GlobalScope>().resource_threads().send( let _ = document.window().upcast::<GlobalScope>().resource_threads().send(
SetCookiesForUrlWithData(url.clone(), cookie, method) SetCookiesForUrlWithData(url, cookie, method)
); );
Ok(()) Ok(())
}, },
(false, None) => { (false, None) => {
let _ = document.window().upcast::<GlobalScope>().resource_threads().send( let _ = document.window().upcast::<GlobalScope>().resource_threads().send(
SetCookiesForUrlWithData(url.clone(), cookie, method) SetCookiesForUrlWithData(url, cookie, method)
); );
Ok(()) Ok(())
}, },
@ -364,7 +364,7 @@ pub fn handle_get_url(documents: &Documents,
reply: IpcSender<ServoUrl>) { reply: IpcSender<ServoUrl>) {
// TODO: Return an error if the pipeline doesn't exist. // TODO: Return an error if the pipeline doesn't exist.
let url = documents.find_document(pipeline) let url = documents.find_document(pipeline)
.map(|document| document.url().clone()) .map(|document| document.url())
.unwrap_or_else(|| ServoUrl::parse("about:blank").expect("infallible")); .unwrap_or_else(|| ServoUrl::parse("about:blank").expect("infallible"));
reply.send(url).unwrap(); reply.send(url).unwrap();
} }

View file

@ -208,7 +208,7 @@ impl AttrValue {
AttrValue::Atom(value) AttrValue::Atom(value)
} }
pub fn from_url(base: &ServoUrl, url: String) -> AttrValue { pub fn from_url(base: ServoUrl, url: String) -> AttrValue {
let joined = base.join(&url).ok(); let joined = base.join(&url).ok();
AttrValue::Url(url, joined) AttrValue::Url(url, joined)
} }