mirror of
https://github.com/servo/servo.git
synced 2025-08-07 06:25:32 +01:00
Check all ancestor navigable trustworthiness for mixed content (#36157)
Propagate through documents a flag that represents if any of the ancestor navigables has a potentially trustworthy origin. The "potentially trustworthy origin" concept appears to have gotten confused in a couple of places and we were instead testing if a URL had "potentially trustworthy" properties. The main test for the ancestor navigables is [mixed-content/nested-iframes](https://github.com/web-platform-tests/wpt/blob/master/mixed-content/nested-iframes.window.js) --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #36108 <!-- Either: --> - [X] There are tests for these changes --------- Signed-off-by: Sebastian C <sebsebmc@gmail.com>
This commit is contained in:
parent
478e876f6d
commit
76edcff202
84 changed files with 384 additions and 525 deletions
|
@ -2386,6 +2386,21 @@ impl GlobalScope {
|
|||
InsecureRequestsPolicy::DoNotUpgrade
|
||||
}
|
||||
|
||||
/// Whether this document has ancestor navigables that are trustworthy
|
||||
pub(crate) fn has_trustworthy_ancestor_origin(&self) -> bool {
|
||||
self.downcast::<Window>()
|
||||
.is_some_and(|window| window.Document().has_trustworthy_ancestor_origin())
|
||||
}
|
||||
|
||||
// Whether this document has a trustworthy origin or has trustowrthy ancestor navigables
|
||||
pub(crate) fn has_trustworthy_ancestor_or_current_origin(&self) -> bool {
|
||||
self.downcast::<Window>().is_some_and(|window| {
|
||||
window
|
||||
.Document()
|
||||
.has_trustworthy_ancestor_or_current_origin()
|
||||
})
|
||||
}
|
||||
|
||||
/// <https://html.spec.whatwg.org/multipage/#report-the-error>
|
||||
pub(crate) fn report_an_error(&self, error_info: ErrorInfo, value: HandleValue, can_gc: CanGc) {
|
||||
// Step 1.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue