New issue
Advanced search Search tips

Issue 672359 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: Jan 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task

Blocking:
issue 648828



Sign in to add a comment

Converge code paths for form association in HTMLConstructionSite

Project Member Reported by yurak@google.com, Dec 8 2016

Issue description

Form association is currently done in the constructor of HTML elements.
The code path in HTMLConstructionSite diverges due to form association.

Form association will be moved outside HTML element constructors allowing the code paths in HTMLConstructionSite to converge.

Steps:
1. New interface for form associated elements
2. Move form association code from constructors to new interface virtual function
3. Clean up code
4. Converge code paths in parser
 

Comment 1 by yurak@google.com, Dec 8 2016

Status: Started (was: Assigned)

Comment 2 by yurak@google.com, Dec 8 2016

Description: Show this description

Comment 3 by yurak@google.com, Dec 8 2016

Blocking: 648828
Already submitted three patches:

Rename FormAssociatedElement to ListedElement
    Review: https://codereview.chromium.org/2546063002
    Committed: https://crrev.com/4ed88b2834497778b8a4e8d73334c0e83cd8307d
    Cr-Commit-Position: refs/heads/master@{#436222}

New interface and function for form association
    Review: https://codereview.chromium.org/2537133005
    Committed: https://crrev.com/d1277589fc7407df208a562986341c49c298b752
    Cr-Commit-Position: refs/heads/master@{#436548}

Move Form Association Code to FormAssociated::associateWith
    Review: https://codereview.chromium.org/2557583003
    Committed: https://crrev.com/cf1052fcc3e555fc9cbff68bd0f8d27ec86f3e35
    Cr-Commit-Position: refs/heads/master@{#437159}

Comment 4 by yurak@google.com, Dec 9 2016

Description: Show this description
Project Member

Comment 5 by bugdroid1@chromium.org, Dec 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8

commit 1decd675fa03b9a63bde83e9ae1c2aea66ce36b8
Author: yurak <yurak@google.com>
Date: Fri Dec 09 05:19:32 2016

Clean up after refactoring form association.

- Remove HTMLFormElement argument from HTML element constructors
- Remove HTMLFormElement argument from HTMLElementFactory
- Update unit tests

BUG= 672359 

Review-Url: https://codereview.chromium.org/2561043002
Cr-Commit-Position: refs/heads/master@{#437475}

[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/build/scripts/make_element_factory.py
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/build/scripts/make_element_lookup_trie.py
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/build/scripts/make_element_type_helpers.py
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/build/scripts/templates/ElementFactory.cpp.tmpl
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/build/scripts/templates/ElementFactory.h.tmpl
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/dom/custom/CustomElement.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/editing/EditingUtilities.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLButtonElement.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLButtonElement.h
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLFieldSetElement.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLFieldSetElement.h
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLFormControlElement.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLFormControlElement.h
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLFormControlElementWithState.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLFormControlElementWithState.h
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLImageElement.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLImageElement.h
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLImageElementTest.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLInputElement.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLInputElement.h
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLInputElementTest.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLKeygenElement.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLKeygenElement.h
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLObjectElement.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLObjectElement.h
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLOutputElement.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLOutputElement.h
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLOutputElementTest.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLSelectElement.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLSelectElement.h
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLTagNames.in
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLTextAreaElement.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/HTMLTextAreaElement.h
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/TextControlElement.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/TextControlElement.h
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/forms/FileInputType.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/forms/FileInputTypeTest.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/parser/HTMLConstructionSite.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/shadow/MediaControlElementTypes.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/core/html/shadow/MediaControlElements.cpp
[modify] https://crrev.com/1decd675fa03b9a63bde83e9ae1c2aea66ce36b8/third_party/WebKit/Source/web/WebHelperPluginImpl.cpp

Comment 6 by yurak@google.com, Dec 9 2016

Owner: dominicc@chromium.org
Leaving Google after today, transferring ownership to dominicc.

The only thing left is to converge the code paths in HTMLConstructionSite and take care of any possible regressions (672002).

Comment 7 by kochi@chromium.org, Dec 27 2017

Labels: Pri-3
Owner: ----
Status: Available (was: Started)
Summary: Converge code paths for form association in HTMLConstructionSite (was: Refactor and clean up form association)
Changing the summary as described in c#6 and make this available.

Comment 8 by tkent@chromium.org, Jan 29 2018

Labels: Type-Task
Status: Fixed (was: Available)
IMO, there are no remaining tasks at this moment.

Sign in to add a comment