Commit 44832e3d authored by Charlie Hu's avatar Charlie Hu Committed by Chromium LUCI CQ

[Document Policy] Move ForceLoadAtTop check after document policy initialization

The fix to missing document policy in XSLT documents involves initialize
document policy from previous security context, which results
|DocumentLoader::document_policy_| not having correct policy content
before document policy initialization in |SecurityContextInit|.

This CL moves the check for ForceLoadAtTop feature
after document policy initialization, so that its behaviour is
consistent in XSLT documents.

Bug: 1151954
Change-Id: I0a4061975a26cbf922b322c908ce8c2c88897715
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2568439Reviewed-by: default avatarDmitry Gozman <dgozman@chromium.org>
Reviewed-by: default avatarIan Clelland <iclelland@chromium.org>
Commit-Queue: Charlie Hu <chenleihu@google.com>
Cr-Commit-Position: refs/heads/master@{#833070}
parent 4e666e55
......@@ -1679,20 +1679,6 @@ void DocumentLoader::CommitNavigation() {
owner_document = owner_local_frame->GetDocument();
}
// Re-validate Document Policy feature before installing the new document.
if (!RuntimeEnabledFeatures::DocumentPolicyEnabled(
owner_document ? owner_document->GetExecutionContext() : nullptr)) {
document_policy_ = DocumentPolicy::ParsedDocumentPolicy{};
}
if (document_policy_.feature_state.contains(
mojom::blink::DocumentPolicyFeature::kForceLoadAtTop)) {
navigation_scroll_allowed_ = !(
document_policy_
.feature_state[mojom::blink::DocumentPolicyFeature::kForceLoadAtTop]
.BoolValue());
}
LocalDOMWindow* previous_window = frame_->DomWindow();
InitializeWindow(owner_document);
......@@ -1726,6 +1712,9 @@ void DocumentLoader::CommitNavigation() {
document_policy_,
response_.HttpHeaderField(http_names::kDocumentPolicyReportOnly));
navigation_scroll_allowed_ = !frame_->DomWindow()->IsFeatureEnabled(
mojom::blink::DocumentPolicyFeature::kForceLoadAtTop);
WillCommitNavigation();
Document* document = frame_->DomWindow()->InstallNewDocument(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment