Add WebRuntimeFeatures::enableInputModeAttribute

Chromium will use this function to enable inputmode attribute of <input> or <text> Element.

BUG=244688

Review URL: https://chromiumcodereview.appspot.com/23112014

git-svn-id: svn://svn.chromium.org/blink/trunk@156548 bbb929c8-8fbe-4397-9dbb-9b2b20218538
WebCrypto: Add more exception messages.

* Use message names to differentiate TypeErrors for various arguments: key, keyUsages, keyFormat, keyData, signature
* If both the keyFormat AND keyUsage are invalid, the exception thrown should be for the bad keyFormat (in order to match the spec, since now the two exceptions are differentiatable)
* If the Key argument is missing AND the algorithm cannot be normalized, the exception thrown should be for the missing Key.

BUG=245025

Review URL: https://chromiumcodereview.appspot.com/22980026

git-svn-id: svn://svn.chromium.org/blink/trunk@156549 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Recover original WebViewImpl::setCompositionFromExistingText() with single text node case

This patch is another solution of issue 275457, which was fixed by r156473 to handle TEXTAREA specially.

This patch undoes r156473 and makes WebViewImpl::setCompositionFromExistingText() does original behavior, extract text of specified range, delete specified range then insert extract text, to keep assumption of composition node is single text node, except for root editable node contains single text node.

When root editable element contains single text node, we set composition node, offsets and underlines rather than modifying contents to prevent firing text change events which cause unexpected auto fill behavior as r155925.

Changes of WebViewTest.cpp are caused by stopping special handling of TEXTAREA to make contents of TEXTAREA into single text node. Offsets of composition underlines are based on composition node rather than plain text offsets, which used compositionStart/compositionEnd and selectionStart/selectionEnd in WebView API.

Note: This patch is intended to make small to merge into M30 branch. Other patches will fix FIXME items in this patch.

BUG=275457
TEST=webkit_unit_tests WebViewTest.SetCompositionFromExistingText* covers this change.
R=tkent@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@156550 bbb929c8-8fbe-4397-9dbb-9b2b20218538