Notify that text is dirty (modified by script etc.) from Blink to browser
commit90f2415a07564061f356e2c497b23f45a4c28a1c
authorkochi@chromium.org <kochi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Wed, 9 Apr 2014 12:41:36 +0000 (9 12:41 +0000)
committerkochi@chromium.org <kochi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Wed, 9 Apr 2014 12:41:36 +0000 (9 12:41 +0000)
treee13d03deda9e2494a70b62106bbcc0d6eacb2864
parentf4263c5a4fa626caa5d8dee7bb2c42938a9f36f8
Notify that text is dirty (modified by script etc.) from Blink to browser

Introduce a flag to indicate text is dirty, i.e.,
modified by non-user input (script or autofill)
in order to force update the text input state from renderer
to browser when a field gets dirty.

r226301 introduced distinction for updating text input
state whether the change was made by IME or anything else
for Android to avoid collision between update from
renderer and IME.

Bug 348833 revealed a corner case that that
even an edit is initiated by IME, resulting update
from renderer isn't the same text edited by the IME,
because event handlers for 'input' or 'composition*'
events may modify the text which was from IME but
it was reported back to browser as "non-IME update".

Due to the corner case described above, this caused
inconsistency of editing content between Blink and
Chromium browser process.

Blink side of this change is:
https://codereview.chromium.org/220733002/

BUG=348833
TEST=manually test crbug.com/348833#c4
TBR=cevans@chromium.org (for view_messages.h), seivers@chromium.org, aelias@chromium.org (RWHV Android)

Review URL: https://codereview.chromium.org/220723002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262666 0039d316-1c4b-4281-b951-d872f2087c98
content/browser/android/content_view_core_impl.cc
content/browser/android/content_view_core_impl.h
content/browser/renderer_host/render_widget_host_view_android.cc
content/common/view_messages.h
content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java
content/renderer/render_frame_impl.cc
content/renderer/render_widget.cc
content/renderer/render_widget.h