Diff
Modified: branches/safari-603-branch/LayoutTests/ChangeLog (212119 => 212120)
--- branches/safari-603-branch/LayoutTests/ChangeLog 2017-02-10 17:44:36 UTC (rev 212119)
+++ branches/safari-603-branch/LayoutTests/ChangeLog 2017-02-10 17:45:21 UTC (rev 212120)
@@ -1,5 +1,9 @@
2017-02-10 Matthew Hanson <matthew_han...@apple.com>
+ Rollout r212118. rdar://problem/30096323
+
+2017-02-10 Matthew Hanson <matthew_han...@apple.com>
+
Merge r212026. rdar://problem/30096323
2017-02-09 Chris Dumez <cdu...@apple.com>
Deleted: branches/safari-603-branch/LayoutTests/fast/forms/formsubmission-appendFormData-crash-expected.txt (212119 => 212120)
--- branches/safari-603-branch/LayoutTests/fast/forms/formsubmission-appendFormData-crash-expected.txt 2017-02-10 17:44:36 UTC (rev 212119)
+++ branches/safari-603-branch/LayoutTests/fast/forms/formsubmission-appendFormData-crash-expected.txt 2017-02-10 17:45:21 UTC (rev 212120)
@@ -1,3 +0,0 @@
-This test passes if it does not crash.
-
- a
Deleted: branches/safari-603-branch/LayoutTests/fast/forms/formsubmission-appendFormData-crash.html (212119 => 212120)
--- branches/safari-603-branch/LayoutTests/fast/forms/formsubmission-appendFormData-crash.html 2017-02-10 17:44:36 UTC (rev 212119)
+++ branches/safari-603-branch/LayoutTests/fast/forms/formsubmission-appendFormData-crash.html 2017-02-10 17:45:21 UTC (rev 212120)
@@ -1,35 +0,0 @@
-<!DOCTYPE html>
-<html>
-<body>
-<script>
-if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
-}
-
-function runTest() {
- object.name = "foo";
- input.autofocus = true;
- output.appendChild(input);
- form.submit();
- setTimeout(function() {
- if (window.testRunner)
- testRunner.notifyDone();
- }, 0);
-}
-
-function focushandler() {
- for(var i = 0; i < 100; i++) {
- var e = document.createElement("input");
- form.appendChild(e);
- }
-}
-</script>
-<body _onload_="runTest()">
- <p>This test passes if it does not crash.</p>
- <form id="form">
- <object id="object">
- <output id="output">a</output>
- <input id="input" _onfocus_="focushandler()">
-</body>
-</html>
Modified: branches/safari-603-branch/Source/WebCore/ChangeLog (212119 => 212120)
--- branches/safari-603-branch/Source/WebCore/ChangeLog 2017-02-10 17:44:36 UTC (rev 212119)
+++ branches/safari-603-branch/Source/WebCore/ChangeLog 2017-02-10 17:45:21 UTC (rev 212120)
@@ -1,5 +1,9 @@
2017-02-10 Matthew Hanson <matthew_han...@apple.com>
+ Rollout r212118. rdar://problem/30096323
+
+2017-02-10 Matthew Hanson <matthew_han...@apple.com>
+
Merge r212026. rdar://problem/30096323
2017-02-09 Chris Dumez <cdu...@apple.com>
Modified: branches/safari-603-branch/Source/WebCore/html/HTMLObjectElement.cpp (212119 => 212120)
--- branches/safari-603-branch/Source/WebCore/html/HTMLObjectElement.cpp 2017-02-10 17:44:36 UTC (rev 212119)
+++ branches/safari-603-branch/Source/WebCore/html/HTMLObjectElement.cpp 2017-02-10 17:45:21 UTC (rev 212120)
@@ -509,9 +509,7 @@
if (name().isEmpty())
return false;
- // Use PluginLoadingPolicy::DoNotLoad here or it would fire JS events synchronously
- // which would not be safe here.
- auto* widget = pluginWidget(PluginLoadingPolicy::DoNotLoad);
+ Widget* widget = pluginWidget();
if (!is<PluginViewBase>(widget))
return false;
String value;
Modified: branches/safari-603-branch/Source/WebCore/loader/FormSubmission.cpp (212119 => 212120)
--- branches/safari-603-branch/Source/WebCore/loader/FormSubmission.cpp 2017-02-10 17:44:36 UTC (rev 212119)
+++ branches/safari-603-branch/Source/WebCore/loader/FormSubmission.cpp 2017-02-10 17:45:21 UTC (rev 212120)
@@ -1,4 +1,4 @@
-*
+/*
* Copyright (C) 2010 Google Inc. All rights reserved.
* Copyright (C) 2015-2016 Apple Inc. All rights reserved.
*
@@ -47,7 +47,6 @@
#include "HTMLInputElement.h"
#include "HTMLNames.h"
#include "HTMLParserIdioms.h"
-#include "NoEventDispatchAssertion.h"
#include "TextEncoding.h"
#include <wtf/CurrentTime.h>
@@ -205,23 +204,18 @@
Vector<std::pair<String, String>> formValues;
bool containsPasswordData = false;
- {
- NoEventDispatchAssertion noEventDispatchAssertion;
-
- for (auto& control : form->associatedElements()) {
- auto& element = control->asHTMLElement();
- if (!element.isDisabledFormControl())
- control->appendFormData(*domFormData, isMultiPartForm);
- if (is<HTMLInputElement>(element)) {
- auto& input = downcast<HTMLInputElement>(element);
- if (input.isTextField()) {
- // formValues.append({ input.name().string(), input.value() });
- formValues.append(std::pair<String, String>(input.name().string(), input.value()));
- input.addSearchResult();
- }
- if (input.isPasswordField() && !input.value().isEmpty())
- containsPasswordData = true;
+ for (auto& control : form->associatedElements()) {
+ HTMLElement& element = control->asHTMLElement();
+ if (!element.isDisabledFormControl())
+ control->appendFormData(*domFormData, isMultiPartForm);
+ if (is<HTMLInputElement>(element)) {
+ HTMLInputElement& input = downcast<HTMLInputElement>(element);
+ if (input.isTextField()) {
+ formValues.append(std::pair<String, String>(input.name().string(), input.value()));
+ input.addSearchResult();
}
+ if (input.isPasswordField() && !input.value().isEmpty())
+ containsPasswordData = true;
}
}