Bug 66216 - REGRESSION(r70598): [Chromium] Style changes in textInput event can prevent from updating <textarea> value.
Summary: REGRESSION(r70598): [Chromium] Style changes in textInput event can prevent f...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: DOM (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Hajime Morrita
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-15 02:10 PDT by Hajime Morrita
Modified: 2011-09-15 11:17 PDT (History)
2 users (show)

See Also:


Attachments
A reduction. (236 bytes, text/html)
2011-08-15 02:10 PDT, Hajime Morrita
no flags Details
Patch (4.44 KB, patch)
2011-08-15 04:12 PDT, Hajime Morrita
no flags Details | Formatted Diff | Diff
Patch (4.73 KB, patch)
2011-08-15 23:00 PDT, Hajime Morrita
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Hajime Morrita 2011-08-15 02:10:31 PDT
Created attachment 103895 [details]
A reduction.

From http://code.google.com/p/chromium/issues/detail?id=89647

How to repro:
- Open attached html
- Focus the text area
- Type something
Typed text should appear but doesn't.
Comment 1 Hajime Morrita 2011-08-15 04:12:51 PDT
Created attachment 103900 [details]
Patch
Comment 2 Hajime Morrita 2011-08-15 04:17:55 PDT
This is a kind of bandaid fix.
Although an ideal prevention for this kind of error is to deploy many invariant assertions,
that is another, tough story...
Comment 3 Ryosuke Niwa 2011-08-15 21:44:52 PDT
Comment on attachment 103900 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=103900&action=review

> LayoutTests/editing/input/style-change-during-input-expected.txt:5
> +PASS successfullyParsed is true
> +
> +TEST COMPLETE
> +PASS window.target.value is "hello"

The order of these lines will be fixed if you make the following changes

> LayoutTests/editing/input/style-change-during-input.html:26
> +        layoutTestController.notifyDone();

Call finishJSTest instead here.

> LayoutTests/editing/input/style-change-during-input.html:30
> +successfullyParsed = true;

You should set window.jsTestIsAsync = true instead.

> Source/WebCore/ChangeLog:11
> +        dirty. But that is problematic since the editing code assumes
> +        style staying clean during sellchecking phase.

Please elaborate more before you land; e.g. HTMLTextAreaElement's shadow DOM is re-created, etc...
Comment 4 Hajime Morrita 2011-08-15 23:00:55 PDT
Created attachment 104009 [details]
Patch
Comment 5 Ryosuke Niwa 2011-08-15 23:05:21 PDT
Comment on attachment 104009 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=104009&action=review

> LayoutTests/editing/input/style-change-during-input-expected.txt:3
> +PASS window.target.value is "hello"

No blank line here?
Comment 6 WebKit Review Bot 2011-08-16 00:00:59 PDT
Comment on attachment 104009 [details]
Patch

Clearing flags on attachment: 104009

Committed r93087: <http://trac.webkit.org/changeset/93087>
Comment 7 Ryosuke Niwa 2011-09-15 11:17:47 PDT
This bug has been fixed.