diff --git a/Source/WebCore/page/DOMWindow.cpp b/Source/WebCore/page/DOMWindow.cpp index 1c431efec2609..6538aa69de68e 100644 --- a/Source/WebCore/page/DOMWindow.cpp +++ b/Source/WebCore/page/DOMWindow.cpp @@ -1073,8 +1073,10 @@ void DOMWindow::close() if (!frame->isMainFrame()) return; - if (!(page->openedByDOM() || page->backForward().count() <= 1 || frame->settings().allowScriptsToCloseWindows())) { - console()->addMessage(MessageSource::JS, MessageLevel::Warning, "Can't close the window since it was not opened by JavaScript"_s); + // Make allowScriptsToCloseWindow pref value take precedence when closing window + if (!frame->settings().allowScriptsToCloseWindows() || !(page->openedByDOM() || page->backForward().count() <= 1)) { + // Send close notification to give a chance for AWC to react on window.close() + page->chrome().closeWindow(); return; }