DescriptionRevert of Simplify form validation handling (patchset #1 id:20001 of https://codereview.chromium.org/943303002/)
Reason for revert:
This CL breaks browser test:
AllForms_FormStructureBrowserTest.DataDrivenHeuristics_108
http://build.chromium.org/p/chromium.webkit/builders/Mac10.8%20Tests/builds/12230
http://build.chromium.org/p/chromium.webkit/builders/Linux%20Tests/builds/42755
http://build.chromium.org/p/chromium.webkit/builders/Linux%20ChromiumOS%20Tests%20%281%29/builds/10647
http://build.chromium.org/p/chromium.webkit/builders/Linux%20ChromiumOS%20Tests%20%28dbg%29%281%29/builds/6767
Bisected locally on Linux:
./out/Release/browser_tests --gtest_filter=AllForms/FormStructureBrowserTest.DataDrivenHeuristics/108
Blink 190722 / Chromium 317759: OK
Blink 190723 / Chromium 317759: NG
So Blink 190723 is reverted.
Original issue's description:
> Simplify form validation handling
>
> This CL contains some part of https://codereview.chromium.org/460343004/ by
> sudarshan.p, which was reverted by a performance regression.
>
> This CL simplifies form validation state handling code by
> - lazy update of m_isValid
> setNeedsValidityCheck just makes m_isValid dirty.
> - m_isValid takes care of willValidate state too.
> m_isValid = !willValidate() || valid()
>
> We switched to invalidation sets for :valid and :invalid by Blink
> r184392. Calling pseudoStateChanged() for unchanged validity state won't have so
> bad performance. So, we can evaluate m_isValid lazily.
>
> We need to change the meaning of m_isValid slightly so that it takes care of
> willValidate(). This is necessary to clean m_validityIsDirty of associated
> controls in HTMLFormElement::checkInvalidControlsAndCollectUnhandled.
> Without this change, there would be a case where willValidate state
> change won't invalidate :valid :invalid style of <form>.
>
> This CL will have a few percent regression on blink_perf.dom:textarea-edit.
> A fix for the performance regression will be landed soon.
>
> BUG=
>
> Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=190723
TBR=keishi@chromium.org,tkent@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=190744
Patch Set 1 #
Created: 5 years, 10 months ago
(Patch set is too large to download)
Messages
Total messages: 4 (0 generated)
|