Changeset 237598 in webkit


Ignore:
Timestamp:
Oct 30, 2018, 12:58:51 PM (7 years ago)
Author:
ajuma@chromium.org
Message:

Calling window.open("", "_self") allows working around restrictions on window.close()
https://bugs.webkit.org/show_bug.cgi?id=191073

Reviewed by Chris Dumez.

Source/WebCore:

Do not treat a re-used frame in DOMWindow::createWindow as having been opened by DOM.

Test: fast/dom/Window/window-open-self-disallow-close.html

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::createWindow):

LayoutTests:

  • fast/dom/Window/window-open-self-disallow-close-expected.txt: Added.
  • fast/dom/Window/window-open-self-disallow-close.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r237597 r237598  
     12018-10-30  Ali Juma  <ajuma@chromium.org>
     2
     3        Calling window.open("", "_self") allows working around restrictions on window.close()
     4        https://bugs.webkit.org/show_bug.cgi?id=191073
     5
     6        Reviewed by Chris Dumez.
     7
     8        * fast/dom/Window/window-open-self-disallow-close-expected.txt: Added.
     9        * fast/dom/Window/window-open-self-disallow-close.html: Added.
     10
    1112018-10-30  Andy Estes  <aestes@apple.com>
    212
  • trunk/Source/WebCore/ChangeLog

    r237597 r237598  
     12018-10-30  Ali Juma  <ajuma@chromium.org>
     2
     3        Calling window.open("", "_self") allows working around restrictions on window.close()
     4        https://bugs.webkit.org/show_bug.cgi?id=191073
     5
     6        Reviewed by Chris Dumez.
     7
     8        Do not treat a re-used frame in DOMWindow::createWindow as having been opened by DOM.
     9
     10        Test: fast/dom/Window/window-open-self-disallow-close.html
     11
     12        * page/DOMWindow.cpp:
     13        (WebCore::DOMWindow::createWindow):
     14
    1152018-10-30  Andy Estes  <aestes@apple.com>
    216
  • trunk/Source/WebCore/page/DOMWindow.cpp

    r237596 r237598  
    22422242        newFrame->page()->setOpenedViaWindowOpenWithOpener();
    22432243    }
    2244     newFrame->page()->setOpenedByDOM();
     2244    if (created)
     2245        newFrame->page()->setOpenedByDOM();
    22452246
    22462247    if (newFrame->document()->domWindow()->isInsecureScriptAccess(activeWindow, completedURL))
Note: See TracChangeset for help on using the changeset viewer.