Implement "Proposal A" part of https://docs.google.com/document/d/1JO8puctCSpW-ZYGU8lF-h4FWRIDQNDVexzHoOQ2iQmY/edit?usp=sharing . https://github.com/w3c/webcomponents/issues/187
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7b66e0f745c2ce1b306ec74cf684ede314dfdce0 commit 7b66e0f745c2ce1b306ec74cf684ede314dfdce0 Author: Kent Tamura <tkent@chromium.org> Date: Wed Apr 04 23:26:24 2018 Add FormDataEvent interface. It is behind the flag "FormDataEvent". The flag is off by default, and tests will be added later. Bug: 825684 Change-Id: If152940a52e684a1c64f75ee2f60fbd18b91954d Reviewed-on: https://chromium-review.googlesource.com/995114 Reviewed-by: Yoshifumi Inoue <yosin@chromium.org> Commit-Queue: Kent Tamura <tkent@chromium.org> Cr-Commit-Position: refs/heads/master@{#548244} [modify] https://crrev.com/7b66e0f745c2ce1b306ec74cf684ede314dfdce0/third_party/WebKit/Source/core/BUILD.gn [modify] https://crrev.com/7b66e0f745c2ce1b306ec74cf684ede314dfdce0/third_party/WebKit/Source/core/core_idl_files.gni [modify] https://crrev.com/7b66e0f745c2ce1b306ec74cf684ede314dfdce0/third_party/WebKit/Source/core/events/event_type_names.json5 [modify] https://crrev.com/7b66e0f745c2ce1b306ec74cf684ede314dfdce0/third_party/WebKit/Source/core/html/BUILD.gn [add] https://crrev.com/7b66e0f745c2ce1b306ec74cf684ede314dfdce0/third_party/WebKit/Source/core/html/forms/FormDataEvent.cpp [add] https://crrev.com/7b66e0f745c2ce1b306ec74cf684ede314dfdce0/third_party/WebKit/Source/core/html/forms/FormDataEvent.h [add] https://crrev.com/7b66e0f745c2ce1b306ec74cf684ede314dfdce0/third_party/WebKit/Source/core/html/forms/FormDataEvent.idl [modify] https://crrev.com/7b66e0f745c2ce1b306ec74cf684ede314dfdce0/third_party/WebKit/Source/platform/runtime_enabled_features.json5
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3873ce981b930465f53abd04876abccc0aae5cc4 commit 3873ce981b930465f53abd04876abccc0aae5cc4 Author: Kent Tamura <tkent@chromium.org> Date: Thu Apr 05 05:33:00 2018 FormDataEvent: Dispatch 'formdata' event - Add event dispatching code to blink::FormSubmission -- Add isConnected() check after FormSubmission creation - Add event dispatching code to blink::FormData constructor - Add onformdata IDL attribute - Add onformdata content attribute The next CL will add tests. Bug: 825684 Change-Id: I43a03284a0206a71828dc420119562cdd177c0c2 Reviewed-on: https://chromium-review.googlesource.com/997032 Reviewed-by: Yoshifumi Inoue <yosin@chromium.org> Commit-Queue: Kent Tamura <tkent@chromium.org> Cr-Commit-Position: refs/heads/master@{#548340} [modify] https://crrev.com/3873ce981b930465f53abd04876abccc0aae5cc4/third_party/WebKit/Source/core/dom/GlobalEventHandlers.h [modify] https://crrev.com/3873ce981b930465f53abd04876abccc0aae5cc4/third_party/WebKit/Source/core/dom/GlobalEventHandlers.idl [modify] https://crrev.com/3873ce981b930465f53abd04876abccc0aae5cc4/third_party/WebKit/Source/core/html/HTMLElement.cpp [modify] https://crrev.com/3873ce981b930465f53abd04876abccc0aae5cc4/third_party/WebKit/Source/core/html/forms/FormData.cpp [modify] https://crrev.com/3873ce981b930465f53abd04876abccc0aae5cc4/third_party/WebKit/Source/core/html/forms/HTMLFormElement.cpp [modify] https://crrev.com/3873ce981b930465f53abd04876abccc0aae5cc4/third_party/WebKit/Source/core/html/html_attribute_names.json5 [modify] https://crrev.com/3873ce981b930465f53abd04876abccc0aae5cc4/third_party/WebKit/Source/core/loader/FormSubmission.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0cc25f26da87325d239ffdf1cd2148a31b158202 commit 0cc25f26da87325d239ffdf1cd2148a31b158202 Author: Kent Tamura <tkent@chromium.org> Date: Fri Apr 06 05:56:47 2018 FormDataEvent: Make the feature "experimental". also, add test cases. Bug: 825684 Change-Id: I0ce0bbbd5b4c218042f934264ab4de288eba9dae Reviewed-on: https://chromium-review.googlesource.com/997316 Reviewed-by: Yoshifumi Inoue <yosin@chromium.org> Commit-Queue: Kent Tamura <tkent@chromium.org> Cr-Commit-Position: refs/heads/master@{#548692} [modify] https://crrev.com/0cc25f26da87325d239ffdf1cd2148a31b158202/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-navigated-expected.txt [modify] https://crrev.com/0cc25f26da87325d239ffdf1cd2148a31b158202/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-and-gced-expected.txt [modify] https://crrev.com/0cc25f26da87325d239ffdf1cd2148a31b158202/third_party/WebKit/LayoutTests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt [add] https://crrev.com/0cc25f26da87325d239ffdf1cd2148a31b158202/third_party/WebKit/LayoutTests/fast/forms/formdata-event/formdata-event.html [modify] https://crrev.com/0cc25f26da87325d239ffdf1cd2148a31b158202/third_party/WebKit/LayoutTests/webexposed/element-instance-property-listing-expected.txt [modify] https://crrev.com/0cc25f26da87325d239ffdf1cd2148a31b158202/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt [modify] https://crrev.com/0cc25f26da87325d239ffdf1cd2148a31b158202/third_party/WebKit/Source/platform/runtime_enabled_features.json5
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9af47e86edb42917cc2bdcf1bf675e2c8a471b09 commit 9af47e86edb42917cc2bdcf1bf675e2c8a471b09 Author: Kent Tamura <tkent@chromium.org> Date: Fri Apr 06 07:17:22 2018 Share code between FormSubmission::Create() and FormData constructor. This CL has no behavior changes. Bug: 825684 Change-Id: Ie54a02067aa896ec6ff386cfd6283f482217a238 Reviewed-on: https://chromium-review.googlesource.com/997194 Commit-Queue: Kent Tamura <tkent@chromium.org> Reviewed-by: Yoshifumi Inoue <yosin@chromium.org> Cr-Commit-Position: refs/heads/master@{#548703} [modify] https://crrev.com/9af47e86edb42917cc2bdcf1bf675e2c8a471b09/third_party/WebKit/Source/core/html/forms/FormData.cpp [modify] https://crrev.com/9af47e86edb42917cc2bdcf1bf675e2c8a471b09/third_party/WebKit/Source/core/html/forms/FormData.h [modify] https://crrev.com/9af47e86edb42917cc2bdcf1bf675e2c8a471b09/third_party/WebKit/Source/core/html/forms/HTMLFormElement.cpp [modify] https://crrev.com/9af47e86edb42917cc2bdcf1bf675e2c8a471b09/third_party/WebKit/Source/core/html/forms/HTMLFormElement.h [modify] https://crrev.com/9af47e86edb42917cc2bdcf1bf675e2c8a471b09/third_party/WebKit/Source/core/loader/FormSubmission.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ca0eddd1cfb15b0a2f8f0961fca3d4b52847f19c commit ca0eddd1cfb15b0a2f8f0961fca3d4b52847f19c Author: Kent Tamura <tkent@chromium.org> Date: Fri Nov 16 08:55:53 2018 Dispatch 'formdata' event after iterating form-associated elements. 'formdata' event handlers can get entries created with form-associated elements. Bug: 825684 Change-Id: I55169bf1491073dc52f310d1165c882ed2a98101 Reviewed-on: https://chromium-review.googlesource.com/c/1338825 Reviewed-by: Yoshifumi Inoue <yosin@chromium.org> Commit-Queue: Kent Tamura <tkent@chromium.org> Cr-Commit-Position: refs/heads/master@{#608700} [modify] https://crrev.com/ca0eddd1cfb15b0a2f8f0961fca3d4b52847f19c/third_party/WebKit/LayoutTests/fast/forms/formdata-event/formdata-event.html [modify] https://crrev.com/ca0eddd1cfb15b0a2f8f0961fca3d4b52847f19c/third_party/blink/renderer/core/html/forms/html_form_element.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3efc758c50fd21bb3fc14dfc1878f3e6aa2e961f commit 3efc758c50fd21bb3fc14dfc1878f3e6aa2e961f Author: Kent Tamura <tkent@chromium.org> Date: Mon Nov 19 08:53:53 2018 formdata event: Implement 'in constructing entry list' flag. Implement the second paragraph of [1]. - Rename HTMLFormElement::ConstructFormDataSet() to ConstructEntryList() The algorithm name in the specification was renamed. - Add HTMLFormElement::is_constructing_entry_list_. It is set to 'true' in ConstructFormEntryList(). - FormData::Create() takes additional ExceptionState& argument The behavior change by this CL is behind a runtime flag. [1] https://docs.google.com/document/d/1JO8puctCSpW-ZYGU8lF-h4FWRIDQNDVexzHoOQ2iQmY/edit?pli=1#heading=h.veshh4ug726u Bug: 825684 Change-Id: I28fc29c2b8e969a5fbe1b6f955e9d8b65df0d8ec Reviewed-on: https://chromium-review.googlesource.com/c/1340079 Reviewed-by: Yoshifumi Inoue <yosin@chromium.org> Commit-Queue: Kent Tamura <tkent@chromium.org> Cr-Commit-Position: refs/heads/master@{#609210} [modify] https://crrev.com/3efc758c50fd21bb3fc14dfc1878f3e6aa2e961f/third_party/WebKit/LayoutTests/fast/forms/formdata-event/formdata-event.html [modify] https://crrev.com/3efc758c50fd21bb3fc14dfc1878f3e6aa2e961f/third_party/blink/renderer/core/html/forms/form_data.cc [modify] https://crrev.com/3efc758c50fd21bb3fc14dfc1878f3e6aa2e961f/third_party/blink/renderer/core/html/forms/form_data.h [modify] https://crrev.com/3efc758c50fd21bb3fc14dfc1878f3e6aa2e961f/third_party/blink/renderer/core/html/forms/form_data.idl [modify] https://crrev.com/3efc758c50fd21bb3fc14dfc1878f3e6aa2e961f/third_party/blink/renderer/core/html/forms/html_form_element.cc [modify] https://crrev.com/3efc758c50fd21bb3fc14dfc1878f3e6aa2e961f/third_party/blink/renderer/core/html/forms/html_form_element.h [modify] https://crrev.com/3efc758c50fd21bb3fc14dfc1878f3e6aa2e961f/third_party/blink/renderer/core/loader/form_submission.cc [modify] https://crrev.com/3efc758c50fd21bb3fc14dfc1878f3e6aa2e961f/third_party/blink/renderer/modules/credentialmanager/password_credential.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6bc5b261fdc6ee15c741b360edeb93c7ec44b7a7 commit 6bc5b261fdc6ee15c741b360edeb93c7ec44b7a7 Author: Kent Tamura <tkent@chromium.org> Date: Mon Dec 17 09:15:00 2018 formdata event: "formData" attribute should not same as an object created by "new FormData(form)" Specification: https://github.com/whatwg/html/pull/4239 Bug: 825684 Bug: https://github.com/w3c/webcomponents/issues/187 Change-Id: I4213d9a1b3b8081f421ab89529421d28cfc322f0 Reviewed-on: https://chromium-review.googlesource.com/c/1379599 Reviewed-by: Keishi Hattori <keishi@chromium.org> Commit-Queue: Kent Tamura <tkent@chromium.org> Cr-Commit-Position: refs/heads/master@{#617067} [modify] https://crrev.com/6bc5b261fdc6ee15c741b360edeb93c7ec44b7a7/third_party/blink/renderer/core/html/forms/form_data.cc [modify] https://crrev.com/6bc5b261fdc6ee15c741b360edeb93c7ec44b7a7/third_party/blink/web_tests/fast/forms/formdata-event/formdata-event.html
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/176e6a37cb827f4e487846356421087f45949a9c commit 176e6a37cb827f4e487846356421087f45949a9c Author: Kent Tamura <tkent@chromium.org> Date: Wed Jan 09 02:28:57 2019 formdata event: Add FormDataEvent constructor and FormDataEventInit dictionary Bug: 825684 Change-Id: I6560de355862add37e4aaff55bd58b175e1b608a Reviewed-on: https://chromium-review.googlesource.com/c/1401482 Reviewed-by: Yoshifumi Inoue <yosin@chromium.org> Commit-Queue: Kent Tamura <tkent@chromium.org> Cr-Commit-Position: refs/heads/master@{#621006} [modify] https://crrev.com/176e6a37cb827f4e487846356421087f45949a9c/third_party/blink/renderer/core/core_idl_files.gni [modify] https://crrev.com/176e6a37cb827f4e487846356421087f45949a9c/third_party/blink/renderer/core/html/forms/form_data_event.cc [modify] https://crrev.com/176e6a37cb827f4e487846356421087f45949a9c/third_party/blink/renderer/core/html/forms/form_data_event.h [modify] https://crrev.com/176e6a37cb827f4e487846356421087f45949a9c/third_party/blink/renderer/core/html/forms/form_data_event.idl [add] https://crrev.com/176e6a37cb827f4e487846356421087f45949a9c/third_party/blink/renderer/core/html/forms/form_data_event_init.idl [modify] https://crrev.com/176e6a37cb827f4e487846356421087f45949a9c/third_party/blink/web_tests/external/wpt/html/dom/interfaces.https_exclude=(Document_Window_HTML._)-expected.txt [delete] https://crrev.com/225e49786806971237388ee8dbf2ed7e8a186599/third_party/blink/web_tests/external/wpt/html/semantics/forms/form-submission-0/FormDataEvent.window-expected.txt
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/aad4ddcc036e8ff6f92386c901b6f6c894029a6a commit aad4ddcc036e8ff6f92386c901b6f6c894029a6a Author: Kent Tamura <tkent@chromium.org> Date: Tue Jan 15 09:01:02 2019 formdata event: Remove a local web test. The test was upstreamed to WPT by https://github.com/web-platform-tests/wpt/pull/14637 Bug: 825684 Change-Id: I66ef778831adebfccf67fc9e68f94e81206f9380 Reviewed-on: https://chromium-review.googlesource.com/c/1405165 Reviewed-by: Yoshifumi Inoue <yosin@chromium.org> Commit-Queue: Kent Tamura <tkent@chromium.org> Cr-Commit-Position: refs/heads/master@{#622789} [delete] https://crrev.com/9be8812c9c14fed31bf6e0b9242d0fca30977661/third_party/blink/web_tests/fast/forms/formdata-event/formdata-event.html
Comment 1 by tkent@chromium.org
, Apr 4 2018