| Index: third_party/WebKit/Source/core/page/CreateWindow.cpp
|
| diff --git a/third_party/WebKit/Source/core/page/CreateWindow.cpp b/third_party/WebKit/Source/core/page/CreateWindow.cpp
|
| index df15797bc2575125351b4d05ec282a4f4956eab1..e3b638fc17785539a84eea0301f038ba93c447a6 100644
|
| --- a/third_party/WebKit/Source/core/page/CreateWindow.cpp
|
| +++ b/third_party/WebKit/Source/core/page/CreateWindow.cpp
|
| @@ -155,11 +155,13 @@ DOMWindow* createWindow(const String& urlString, const AtomicString& frameName,
|
| // We pass the opener frame for the lookupFrame in case the active frame is different from
|
| // the opener frame, and the name references a frame relative to the opener frame.
|
| bool created;
|
| - Frame* newFrame = createWindow(*activeFrame, openerFrame, frameRequest, windowFeatures, NavigationPolicyIgnore, MaybeSetOpener, created);
|
| + ShouldSetOpener opener = windowFeatures.noopener ? NeverSetOpener : MaybeSetOpener;
|
| + Frame* newFrame = createWindow(*activeFrame, openerFrame, frameRequest, windowFeatures, NavigationPolicyIgnore, opener, created);
|
| if (!newFrame)
|
| return nullptr;
|
|
|
| - newFrame->client()->setOpener(&openerFrame);
|
| + if (!windowFeatures.noopener)
|
| + newFrame->client()->setOpener(&openerFrame);
|
|
|
| if (!newFrame->domWindow()->isInsecureScriptAccess(callingWindow, completedURL)) {
|
| if (!urlString.isEmpty() || created)
|
|
|