Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(554)

Unified Diff: third_party/WebKit/Source/core/loader/NavigationScheduler.cpp

Issue 2425663002: Add an error page for resources blocked via XSS Auditor. (Closed)
Patch Set: Test. Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/loader/NavigationScheduler.cpp
diff --git a/third_party/WebKit/Source/core/loader/NavigationScheduler.cpp b/third_party/WebKit/Source/core/loader/NavigationScheduler.cpp
index 993b7831dd8e2e0d003f5c4b00b8050040e9ceeb..caadba7d6eb1d11786c18ad3b544d82141c49f60 100644
--- a/third_party/WebKit/Source/core/loader/NavigationScheduler.cpp
+++ b/third_party/WebKit/Source/core/loader/NavigationScheduler.cpp
@@ -278,29 +278,22 @@ class ScheduledReload final : public ScheduledNavigation {
ScheduledReload() : ScheduledNavigation(0.0, nullptr, true, true) {}
};
-class ScheduledPageBlock final : public ScheduledURLNavigation {
+class ScheduledPageBlock final : public ScheduledNavigation {
public:
- static ScheduledPageBlock* create(Document* originDocument,
- const String& url) {
- return new ScheduledPageBlock(originDocument, url);
+ static ScheduledPageBlock* create(Document* originDocument, int reason) {
+ return new ScheduledPageBlock(originDocument, reason);
}
void fire(LocalFrame* frame) override {
- std::unique_ptr<UserGestureIndicator> gestureIndicator =
- createUserGestureIndicator();
- SubstituteData substituteData(SharedBuffer::create(), "text/plain", "UTF-8",
- KURL(), ForceSynchronousLoad);
- FrameLoadRequest request(originDocument(), url(), substituteData);
- request.setReplacesCurrentItem(true);
- request.setClientRedirect(ClientRedirectPolicy::ClientRedirect);
- maybeLogScheduledNavigationClobber(
- ScheduledNavigationType::ScheduledPageBlock, frame);
- frame->loader().load(request);
+ frame->loader().client()->loadErrorPage(m_reason);
}
private:
- ScheduledPageBlock(Document* originDocument, const String& url)
- : ScheduledURLNavigation(0.0, originDocument, url, true, true) {}
+ ScheduledPageBlock(Document* originDocument, int reason)
+ : ScheduledNavigation(0.0, originDocument, true, true),
+ m_reason(reason) {}
+
+ int m_reason;
};
class ScheduledFormSubmission final : public ScheduledNavigation {
@@ -458,10 +451,10 @@ void NavigationScheduler::scheduleLocationChange(Document* originDocument,
replacesCurrentItem));
}
-void NavigationScheduler::schedulePageBlock(Document* originDocument) {
+void NavigationScheduler::schedulePageBlock(Document* originDocument,
+ int reason) {
DCHECK(m_frame->page());
- const KURL& url = m_frame->document()->url();
- schedule(ScheduledPageBlock::create(originDocument, url));
+ schedule(ScheduledPageBlock::create(originDocument, reason));
}
void NavigationScheduler::scheduleFormSubmission(Document* document,

Powered by Google App Engine
This is Rietveld 408576698