Bug 261075 - Input element: Fix the dirty value flag after type change
Summary: Input element: Fix the dirty value flag after type change
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Forms (show other bugs)
Version: Safari Technology Preview
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: BrowserCompat, InRadar
Depends on:
Blocks:
 
Reported: 2023-09-02 18:28 PDT by Ahmad Saleem
Modified: 2023-09-09 18:29 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ahmad Saleem 2023-09-02 18:28:58 PDT
Hi Team,

While going through Blink's bugs, I came across another failing test in WebKit ToT.

Test Case: https://jsfiddle.net/2pLbntf1/

^ Safari output: Should be "value2": value1, which is different from Firefox Nightly 118 & Chrome Canary.

Blink Commit: https://chromium.googlesource.com/chromium/src.git/+/2cabef4e7d4a0b298a114add1298920cc0cfb321

WebKit Source: https://searchfox.org/wubkat/source/Source/WebCore/html/HTMLInputElement.cpp#552

Just wanted to raise so we can fix it.

Thanks!
Comment 1 Ahmad Saleem 2023-09-02 18:30:10 PDT
Changing: m_valueIfDirty = sanitizeValue(attributeWithoutSynchronization(valueAttr));

to

m_valueIfDirty = String();

___

This fixes it the attached test case but haven't run whole LayoutTests suite so don't know about all failures. Still worth to raise 'draft' PR IMO.
Comment 2 Ahmad Saleem 2023-09-02 18:36:52 PDT
This might be more involved and need to take care of this bit as well: https://chromium.googlesource.com/chromium/src.git/+/676b2c3c1f5c3655e4ef2d0c6ab9d0d89c753df9
Comment 3 Karl Dubost 2023-09-04 17:59:07 PDT
To double check if there is a WPT for it.
And add one if not 
https://wpt.fyi/results/html/semantics/forms?label=master&label=experimental&aligned&q=safari%3Afail
Comment 4 Radar WebKit Bug Importer 2023-09-09 18:29:12 PDT
<rdar://problem/115234043>