mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
Rewrite From/TryFrom conversions on generated types to avoid future orphan rule violations (#34554)
* script: Add traits to allow converting between types that are not defined in the script crate. Signed-off-by: Josh Matthews <josh@joshmatthews.net> * script: Rewrite all From/TryFrom implementations on generated WebIDL types to use new Convert/TryConvert traits. Signed-off-by: Josh Matthews <josh@joshmatthews.net> --------- Signed-off-by: Josh Matthews <josh@joshmatthews.net>
This commit is contained in:
parent
e10e989abb
commit
e0cbab2fbb
40 changed files with 439 additions and 380 deletions
|
@ -8,6 +8,7 @@ use serde::Serialize;
|
|||
use servo_atoms::Atom;
|
||||
use servo_url::ServoUrl;
|
||||
|
||||
use crate::conversions::Convert;
|
||||
use crate::dom::bindings::codegen::Bindings::EventBinding::EventInit;
|
||||
use crate::dom::bindings::codegen::Bindings::SecurityPolicyViolationEventBinding::{
|
||||
SecurityPolicyViolationEventDisposition, SecurityPolicyViolationEventInit,
|
||||
|
@ -111,7 +112,7 @@ impl CSPViolationReporter {
|
|||
Atom::from("securitypolicyviolation"),
|
||||
EventBubbles::Bubbles,
|
||||
EventCancelable::Cancelable,
|
||||
&report.into(),
|
||||
&report.convert(),
|
||||
can_gc,
|
||||
);
|
||||
|
||||
|
@ -149,21 +150,21 @@ impl TaskOnce for CSPViolationReporter {
|
|||
}
|
||||
}
|
||||
|
||||
impl From<SecurityPolicyViolationReport> for SecurityPolicyViolationEventInit {
|
||||
fn from(value: SecurityPolicyViolationReport) -> Self {
|
||||
impl Convert<SecurityPolicyViolationEventInit> for SecurityPolicyViolationReport {
|
||||
fn convert(self) -> SecurityPolicyViolationEventInit {
|
||||
SecurityPolicyViolationEventInit {
|
||||
sample: value.sample.unwrap_or_default().into(),
|
||||
blockedURI: value.blocked_url.into(),
|
||||
referrer: value.referrer.into(),
|
||||
statusCode: value.status_code,
|
||||
documentURI: value.document_url.into(),
|
||||
sourceFile: value.source_file.into(),
|
||||
violatedDirective: value.violated_directive.into(),
|
||||
effectiveDirective: value.effective_directive.into(),
|
||||
lineNumber: value.line_number,
|
||||
columnNumber: value.column_number,
|
||||
originalPolicy: value.original_policy.into(),
|
||||
disposition: value.disposition,
|
||||
sample: self.sample.unwrap_or_default().into(),
|
||||
blockedURI: self.blocked_url.into(),
|
||||
referrer: self.referrer.into(),
|
||||
statusCode: self.status_code,
|
||||
documentURI: self.document_url.into(),
|
||||
sourceFile: self.source_file.into(),
|
||||
violatedDirective: self.violated_directive.into(),
|
||||
effectiveDirective: self.effective_directive.into(),
|
||||
lineNumber: self.line_number,
|
||||
columnNumber: self.column_number,
|
||||
originalPolicy: self.original_policy.into(),
|
||||
disposition: self.disposition,
|
||||
parent: EventInit::empty(),
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue