Reset startSelect and startDrag flags in EventHandler::clear.

The EventHandler::clear method does not clear the start select and
start drag fields (m_mouseDownMayStartSelect, m_mouseDownMayStartDrag)
which may cause mouse move events to be ignored across navigation.

BUG=307623
R=ojan@chromium.org, ojan@chromioum.org
TEST=diting/selection/caret-after-removing-node.html followed by
     fast/events/iframe-onmousemove.html

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159696 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Reland "Move keyboard related files from core/ to platform.""

With a fix for android, web.gyp:webkit target needs to depend in blink_platform
in order to get the definition of windowsKeyCodeForKeyEvent().

BUG=297477
TEST=None, trivial move.
R=abarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159697 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Decouple ScriptPromise creation from ScriptPromiseResolver.

It is error-prone that ScriptPromiseResolver has ScriptPromise and
users must explicitly call detachPromise() to detach it.
Now ScriptPromiseResolver does NOT have ScriptPromise from users perspective.

Also replace deprecated |fulfill| with |resolve|.

BUG=304154

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

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