Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ea06eb38955ae78f014ff6868b728cf6179c0b56
      
https://github.com/WebKit/WebKit/commit/ea06eb38955ae78f014ff6868b728cf6179c0b56
  Author: Ahmad Saleem <ahmad.saleem792+git...@gmail.com>
  Date:   2023-02-22 (Wed, 22 Feb 2023)

  Changed paths:
    A LayoutTests/fast/forms/file/file-input-empty-validation-expected.txt
    A LayoutTests/fast/forms/file/file-input-empty-validation.html
    A LayoutTests/fast/forms/file/file-input-reset-validation-expected.txt
    A LayoutTests/fast/forms/file/file-input-reset-validation.html
    M LayoutTests/platform/gtk/TestExpectations
    M LayoutTests/platform/ios/TestExpectations
    M LayoutTests/platform/mac-wk2/TestExpectations
    M Source/WebCore/html/FileInputType.cpp
    M Source/WebCore/html/HTMLInputElement.cpp

  Log Message:
  -----------
  Resetting the value of an input file to null should make it invalid

https://bugs.webkit.org/show_bug.cgi?id=242063
rdar://problem/96446732

Reviewed by Ryosuke Niwa.

This patch is to align WebKit with Gecko / Firefox and Blink / Chromium.

Partial Merge - 
https://src.chromium.org/viewvc/blink?view=revision&revision=165942 &
https://src.chromium.org/viewvc/blink?view=revision&revision=166115

This patches add "updateValidity" check when the input form is reset and return 
early,
if the value is not changed. This is to ensure that "required" marked form 
control element
does not end up being incorrectly labelled as valid.

* Source/WebCore/html/FileInputType.cpp:
(FileInputType::setValue): Refer to bool "valueChanged" and return early and 
also updateValidity
* Source/WebCore/html/HTMLInputElement.cpp:
(HTMLInputElement::reset): Add "updateValidity" check
* LayoutTests/fast/forms/file/file-input-empty-validation.html: Add Test Case
* LayoutTests/fast/forms/file/file-input-empty-validation-expected.txt: Add 
Test Case Expectation
* LayoutTests/fast/forms/file/file-input-reset-validation.html: Add Test Case
* LayoutTests/fast/forms/file/file-input-reset-validation-expected.txt: Add 
Test Case Expectation
* LayoutTests/platform/gtk/TestExpectations: Add Platform Expectation due to 
lack of drag and drop support
* LayoutTests/platform/ios/TestExpectations: Ditto
* LayoutTests/platform/mac-wk2/TestExpectations: Add Platform Expectations due 
to missing testing support in WebKit2

Canonical link: https://commits.webkit.org/260688@main


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to