| Index: third_party/WebKit/Source/core/loader/DocumentLoader.cpp
|
| diff --git a/third_party/WebKit/Source/core/loader/DocumentLoader.cpp b/third_party/WebKit/Source/core/loader/DocumentLoader.cpp
|
| index 8868bda7f8631457ea7dd08ca2a25a180ed7d1a6..df071be6670c36d246ad52be7dd0b29d3ebba3b0 100644
|
| --- a/third_party/WebKit/Source/core/loader/DocumentLoader.cpp
|
| +++ b/third_party/WebKit/Source/core/loader/DocumentLoader.cpp
|
| @@ -377,11 +377,18 @@ bool DocumentLoader::shouldContinueForResponse() const
|
|
|
| void DocumentLoader::cancelLoadAfterXFrameOptionsOrCSPDenied(const ResourceResponse& response)
|
| {
|
| + // TODO(alexmos): Figure out how this needs to be called in OOPIF scenarios.
|
| InspectorInstrumentation::continueAfterXFrameOptionsDenied(m_frame, this, mainResourceIdentifier(), response);
|
|
|
| - frame()->document()->enforceSandboxFlags(SandboxOrigin);
|
| - if (FrameOwner* owner = frame()->owner())
|
| - owner->dispatchLoad();
|
| + // If this load was started in a different process, that process needs to
|
| + // be notified about the block, so that it can fire the FrameOwner load
|
| + // event and set a unique origin for the frame that was blocked.
|
| + //
|
| + // TODO(mkwst,alexmos): This will become unnecessary after XFO and CSP
|
| + // enforcement is moved to the browser process (https://crbug.com/555418).
|
| + frameLoader()->client()->didBlockLoad();
|
| +
|
| + frame()->updateForBlockedLoad();
|
|
|
| // The load event might have detached this frame. In that case, the load will already have been cancelled during detach.
|
| if (frameLoader())
|
|
|