| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights |
| 6 * reserved. | 6 * reserved. |
| 7 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 7 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 409 // FIXME: This message should be moved off the console once a solution to | 409 // FIXME: This message should be moved off the console once a solution to |
| 410 // https://bugs.webkit.org/show_bug.cgi?id=103274 exists. | 410 // https://bugs.webkit.org/show_bug.cgi?id=103274 exists. |
| 411 document().addConsoleMessage(ConsoleMessage::create( | 411 document().addConsoleMessage(ConsoleMessage::create( |
| 412 SecurityMessageSource, ErrorMessageLevel, | 412 SecurityMessageSource, ErrorMessageLevel, |
| 413 "Blocked form submission to '" + submission->action().elidedString() + | 413 "Blocked form submission to '" + submission->action().elidedString() + |
| 414 "' because the form's frame is sandboxed and the 'allow-forms' " | 414 "' because the form's frame is sandboxed and the 'allow-forms' " |
| 415 "permission is not set.")); | 415 "permission is not set.")); |
| 416 return; | 416 return; |
| 417 } | 417 } |
| 418 | 418 |
| 419 if (!document().contentSecurityPolicy()->allowFormAction( |
| 420 submission->action())) { |
| 421 return; |
| 422 } |
| 423 |
| 419 if (protocolIsJavaScript(submission->action())) { | 424 if (protocolIsJavaScript(submission->action())) { |
| 420 if (!document().contentSecurityPolicy()->allowFormAction( | |
| 421 submission->action())) | |
| 422 return; | |
| 423 document().frame()->script().executeScriptIfJavaScriptURL( | 425 document().frame()->script().executeScriptIfJavaScriptURL( |
| 424 submission->action(), this); | 426 submission->action(), this); |
| 425 return; | 427 return; |
| 426 } | 428 } |
| 427 | 429 |
| 428 Frame* targetFrame = document().frame()->findFrameForNavigation( | 430 Frame* targetFrame = document().frame()->findFrameForNavigation( |
| 429 submission->target(), *document().frame()); | 431 submission->target(), *document().frame()); |
| 430 if (!targetFrame) { | 432 if (!targetFrame) { |
| 431 if (!LocalDOMWindow::allowPopUp(*document().frame()) && | 433 if (!LocalDOMWindow::allowPopUp(*document().frame()) && |
| 432 !UserGestureIndicator::utilizeUserGesture()) | 434 !UserGestureIndicator::utilizeUserGesture()) |
| (...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 813 for (const auto& control : associatedElements()) { | 815 for (const auto& control : associatedElements()) { |
| 814 if (!control->isFormControlElement()) | 816 if (!control->isFormControlElement()) |
| 815 continue; | 817 continue; |
| 816 if (toHTMLFormControlElement(control)->canBeSuccessfulSubmitButton()) | 818 if (toHTMLFormControlElement(control)->canBeSuccessfulSubmitButton()) |
| 817 toHTMLFormControlElement(control)->pseudoStateChanged( | 819 toHTMLFormControlElement(control)->pseudoStateChanged( |
| 818 CSSSelector::PseudoDefault); | 820 CSSSelector::PseudoDefault); |
| 819 } | 821 } |
| 820 } | 822 } |
| 821 | 823 |
| 822 } // namespace blink | 824 } // namespace blink |
| OLD | NEW |