mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Correct event_target for CSP violations (#36887)
All logic is implemented in `report_csp_violations` to avoid pulling in various element-logic into SecurityManager. Update the `icon-blocked.sub.html` WPT test to ensure that the document is the correct target (verified in Firefox and Chrome). Fixes #36806 Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
This commit is contained in:
parent
f3f4cc5500
commit
b6b80d4f6f
56 changed files with 167 additions and 193 deletions
|
@ -15,7 +15,7 @@ use crate::dom::bindings::codegen::Bindings::SecurityPolicyViolationEventBinding
|
|||
use crate::dom::bindings::inheritance::Castable;
|
||||
use crate::dom::bindings::root::DomRoot;
|
||||
use crate::dom::bindings::str::{DOMString, USVString};
|
||||
use crate::dom::event::{Event, EventBubbles, EventCancelable};
|
||||
use crate::dom::event::{Event, EventBubbles, EventCancelable, EventComposed};
|
||||
use crate::dom::globalscope::GlobalScope;
|
||||
use crate::script_runtime::CanGc;
|
||||
|
||||
|
@ -70,12 +70,14 @@ impl SecurityPolicyViolationEvent {
|
|||
)
|
||||
}
|
||||
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
fn new_with_proto(
|
||||
global: &GlobalScope,
|
||||
proto: Option<HandleObject>,
|
||||
type_: Atom,
|
||||
bubbles: EventBubbles,
|
||||
cancelable: EventCancelable,
|
||||
composed: EventComposed,
|
||||
init: &SecurityPolicyViolationEventInit,
|
||||
can_gc: CanGc,
|
||||
) -> DomRoot<Self> {
|
||||
|
@ -83,6 +85,7 @@ impl SecurityPolicyViolationEvent {
|
|||
{
|
||||
let event = ev.upcast::<Event>();
|
||||
event.init_event(type_, bool::from(bubbles), bool::from(cancelable));
|
||||
event.set_composed(bool::from(composed));
|
||||
}
|
||||
ev
|
||||
}
|
||||
|
@ -92,10 +95,13 @@ impl SecurityPolicyViolationEvent {
|
|||
type_: Atom,
|
||||
bubbles: EventBubbles,
|
||||
cancelable: EventCancelable,
|
||||
composed: EventComposed,
|
||||
init: &SecurityPolicyViolationEventInit,
|
||||
can_gc: CanGc,
|
||||
) -> DomRoot<Self> {
|
||||
Self::new_with_proto(global, None, type_, bubbles, cancelable, init, can_gc)
|
||||
Self::new_with_proto(
|
||||
global, None, type_, bubbles, cancelable, composed, init, can_gc,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -115,6 +121,7 @@ impl SecurityPolicyViolationEventMethods<crate::DomTypeHolder> for SecurityPolic
|
|||
Atom::from(type_),
|
||||
EventBubbles::from(init.parent.bubbles),
|
||||
EventCancelable::from(init.parent.cancelable),
|
||||
EventComposed::from(init.parent.composed),
|
||||
init,
|
||||
can_gc,
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue