Cursor does not blink on longpress in an emptyField.

When we long press on any input field containing any text,
sendContextMenuEventForGesture gets called and context menu is displayed
providing us the options to cut, copy, paste etc.

But when we long press on any empty field, the caret blinking gets suspended and
even after typing some text, the cursor remains in suspended state and unless we
tap on the input field, it's not set back to false. So, in case of longpress
scenario, it was never set back to false and due to this cursor does not blink
for any operations which is done after longpress. So, we handle the case now and
setCaretBlinkingSuspended to false when context menu event is sent.

BUG=386331

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

git-svn-id: svn://svn.chromium.org/blink/trunk@178735 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Let canvas 2D decide how to handle the case of resource lost reported by client

We must clear and release some internal references even if the mailbox resource
is treated as lost from client code, so that no memory leaking happens.


BUG=390960

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

git-svn-id: svn://svn.chromium.org/blink/trunk@178736 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Separate GeolocationWatchers from Geolocation

There are some classes in the Geolocation.h/cpp files.
It makes hard to read geolocation implementation, therefore separate
GeolocationWatchers from Geolocation is better to understand
geolocation's logic.

BUG=387656

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

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