aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlscriptelement.rs
diff options
context:
space:
mode:
authorYUAN LYU <lyuyuan92@gmail.com>2020-12-01 00:37:16 -0500
committerYUAN LYU <lyuyuan92@gmail.com>2020-12-01 00:37:16 -0500
commita999850b24bf731522b739e25fd5d62122537aa1 (patch)
treef80581deed029aff4a3a4bdf95253721248c7d16 /components/script/dom/htmlscriptelement.rs
parent02af8952eb570e19ccf7ae4d92deb21dc0a2b609 (diff)
downloadservo-a999850b24bf731522b739e25fd5d62122537aa1.tar.gz
servo-a999850b24bf731522b739e25fd5d62122537aa1.zip
Implement referrerPolicy for HTMLLinkElement and HTMLScriptElement
Diffstat (limited to 'components/script/dom/htmlscriptelement.rs')
-rw-r--r--components/script/dom/htmlscriptelement.rs19
1 files changed, 15 insertions, 4 deletions
diff --git a/components/script/dom/htmlscriptelement.rs b/components/script/dom/htmlscriptelement.rs
index de22b9787c4..515cdb898f0 100644
--- a/components/script/dom/htmlscriptelement.rs
+++ b/components/script/dom/htmlscriptelement.rs
@@ -16,7 +16,8 @@ use crate::dom::bindings::str::{DOMString, USVString};
use crate::dom::bindings::trace::RootedTraceableBox;
use crate::dom::document::Document;
use crate::dom::element::{
- cors_setting_for_element, reflect_cross_origin_attribute, set_cross_origin_attribute,
+ cors_setting_for_element, referrer_policy_for_element, reflect_cross_origin_attribute,
+ reflect_referrer_policy_attribute, set_cross_origin_attribute,
};
use crate::dom::element::{AttributeMutation, Element, ElementCreator};
use crate::dom::event::{Event, EventBubbles, EventCancelable, EventStatus};
@@ -51,8 +52,10 @@ use msg::constellation_msg::PipelineId;
use net_traits::request::{
CorsSettings, CredentialsMode, Destination, ParserMetadata, RequestBuilder,
};
-use net_traits::{FetchMetadata, FetchResponseListener, Metadata, NetworkError};
-use net_traits::{ResourceFetchTiming, ResourceTimingType};
+use net_traits::{
+ FetchMetadata, FetchResponseListener, Metadata, NetworkError, ResourceFetchTiming,
+ ResourceTimingType,
+};
use servo_atoms::Atom;
use servo_config::pref;
use servo_url::ImmutableOrigin;
@@ -717,7 +720,7 @@ impl HTMLScriptElement {
integrity_metadata: integrity_metadata.to_owned(),
parser_metadata,
referrer: self.global().get_referrer(),
- referrer_policy: doc.get_referrer_policy(),
+ referrer_policy: referrer_policy_for_element(self.upcast::<Element>()),
credentials_mode: module_credentials_mode,
};
@@ -1352,6 +1355,14 @@ impl HTMLScriptElementMethods for HTMLScriptElement {
set_cross_origin_attribute(self.upcast::<Element>(), value);
}
+ // https://html.spec.whatwg.org/multipage/#dom-script-referrerpolicy
+ fn ReferrerPolicy(&self) -> DOMString {
+ reflect_referrer_policy_attribute(self.upcast::<Element>())
+ }
+
+ // https://html.spec.whatwg.org/multipage/#dom-script-referrerpolicy
+ make_setter!(SetReferrerPolicy, "referrerpolicy");
+
// https://html.spec.whatwg.org/multipage/#dom-script-text
fn Text(&self) -> DOMString {
self.upcast::<Node>().child_text_content()