Make Document::isSecureContext() work for OOPIFs
The inputs needed for isSecureContext() were, previously:
a.) the origins of the current frame and its ancestors
b.) for any sandboxed origins in the ancestor chain, the URLs of those frames
(a) is easily accessible in --site-per-process, but (b) is not. For
sandboxed frames, the URL was used to construct a stand-in origin. The
sandboxed frame was considered potentially trustworthy if the stand-in
origin was potentially trustworthy.
In --site-per-process, instead of using the URL for a sandboxed origin,
we save the necessary information (the potential-trustworthiness) at the
time that the origin becomes sandboxed.
Based on https://codereview.chromium.org/1716303002/
BUG=571079
TEST=secureContexts/* layout tests with --site-per-process
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
Review URL: https://codereview.chromium.org/1723753002
Cr-Commit-Position: refs/heads/master@{#381587}
diff --git a/content/renderer/render_frame_proxy.h b/content/renderer/render_frame_proxy.h
index 854b1a97..5fd375c 100644
--- a/content/renderer/render_frame_proxy.h
+++ b/content/renderer/render_frame_proxy.h
@@ -167,7 +167,8 @@
void OnDispatchLoad();
void OnDidUpdateName(const std::string& name, const std::string& unique_name);
void OnEnforceStrictMixedContentChecking(bool should_enforce);
- void OnDidUpdateOrigin(const url::Origin& origin);
+ void OnDidUpdateOrigin(const url::Origin& origin,
+ bool is_potentially_trustworthy_unique_origin);
void OnSetPageFocus(bool is_focused);
void OnSetFocusedFrame();