mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +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
|
@ -307,6 +307,7 @@ impl WindowProxy {
|
|||
document.get_referrer_policy(),
|
||||
None, // Doesn't inherit secure context
|
||||
None,
|
||||
false,
|
||||
);
|
||||
let load_info = AuxiliaryWebViewCreationRequest {
|
||||
load_data: load_data.clone(),
|
||||
|
@ -485,6 +486,11 @@ impl WindowProxy {
|
|||
Some(target_document) => target_document,
|
||||
None => return Ok(None),
|
||||
};
|
||||
let has_trustworthy_ancestor_origin = if new {
|
||||
target_document.has_trustworthy_ancestor_or_current_origin()
|
||||
} else {
|
||||
false
|
||||
};
|
||||
let target_window = target_document.window();
|
||||
// Step 13, and 14.4, will have happened elsewhere,
|
||||
// since we've created a new browsing context and loaded it with about:blank.
|
||||
|
@ -517,6 +523,7 @@ impl WindowProxy {
|
|||
referrer_policy,
|
||||
Some(secure),
|
||||
Some(target_document.insecure_requests_policy()),
|
||||
has_trustworthy_ancestor_origin,
|
||||
);
|
||||
let history_handling = if new {
|
||||
NavigationHistoryBehavior::Replace
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue