Changeset 147454 in webkit


Ignore:
Timestamp:
Apr 2, 2013 10:53:16 AM (11 years ago)
Author:
jochen@chromium.org
Message:

Check whether popups are allowed before creating a new window
https://bugs.webkit.org/show_bug.cgi?id=113782

Reviewed by Adam Barth.

Source/WebCore:

Otherwise, firing a generated mouse event at an anchor is enough to
work around the popup blocker.

Test: fast/loader/url-selected-user-gesture.html

  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::checkNewWindowPolicy):

LayoutTests:

  • fast/loader/url-selected-user-gesture-expected.txt: Added.
  • fast/loader/url-selected-user-gesture.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r147453 r147454  
     12013-04-02  Jochen Eisinger  <jochen@chromium.org>
     2
     3        Check whether popups are allowed before creating a new window
     4        https://bugs.webkit.org/show_bug.cgi?id=113782
     5
     6        Reviewed by Adam Barth.
     7
     8        * fast/loader/url-selected-user-gesture-expected.txt: Added.
     9        * fast/loader/url-selected-user-gesture.html: Added.
     10
    1112013-04-02  Jochen Eisinger  <jochen@chromium.org>
    212
  • trunk/Source/WebCore/ChangeLog

    r147453 r147454  
     12013-04-02  Jochen Eisinger  <jochen@chromium.org>
     2
     3        Check whether popups are allowed before creating a new window
     4        https://bugs.webkit.org/show_bug.cgi?id=113782
     5
     6        Reviewed by Adam Barth.
     7
     8        Otherwise, firing a generated mouse event at an anchor is enough to
     9        work around the popup blocker.
     10
     11        Test: fast/loader/url-selected-user-gesture.html
     12
     13        * loader/PolicyChecker.cpp:
     14        (WebCore::PolicyChecker::checkNewWindowPolicy):
     15
    1162013-04-02  Jochen Eisinger  <jochen@chromium.org>
    217
  • trunk/Source/WebCore/loader/PolicyChecker.cpp

    r138818 r147454  
    3333
    3434#include "ContentSecurityPolicy.h"
     35#include "DOMWindow.h"
    3536#include "DocumentLoader.h"
    3637#include "FormState.h"
     
    106107        return continueAfterNavigationPolicy(PolicyIgnore);
    107108
     109    if (!DOMWindow::allowPopUp(m_frame))
     110        return continueAfterNavigationPolicy(PolicyIgnore);
     111
    108112    m_callback.set(request, formState, frameName, action, function, argument);
    109113    m_frame->loader()->client()->dispatchDecidePolicyForNewWindowAction(&PolicyChecker::continueAfterNewWindowPolicy,
Note: See TracChangeset for help on using the changeset viewer.