Clear highlight when the highlighted node gets removed from the document

Some web pages use a mask element to intercept tap gesture and then hide
the element immediately. The orphaned highlight can be very annoying.
For example, pages that show a popup often use a full screen transparent
element to intercept events, and will hide the popup if the user attempt
to tap on the main document. If we don't remove highlight from the hidden
element, the whole screen will be covered by a highlight.

This patch clears highlight from a layer when the tap node is no longer valid.

TEST=webkit_unit_tests:LinkHighlightTest.resetDuringNodeRemoval
BUG=232926
R=jamesr@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149814 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Disable virtual/softwarecompositing/overflow/overflow-hidden-canvas-layer.html due to crash

BUG=238363
TBR=aarya@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149815 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert 149759 "Make NavigationScheduler correctly track user ges..."

> Make NavigationScheduler correctly track user gestures.
> 
> If a navigation is scheduled while a user gesture is active, store a token
> for the gesture and use it to reinstantiate the UserGestureIndicator instead
> of creating a new one all the time
> 
> Review URL: https://chromiumcodereview.appspot.com/14732009

TBR=jochen@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149816 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert 149791 "CSP: Suppress stored credentials when sending cro..."

> CSP: Suppress stored credentials when sending cross-origin violation reports.
> 
> The spec recently changed to mandate that cross-origin violation reports be POSTed
> without cookies[1]. This patch changes PingLoader::PingLoader to accept a
> StoredCredentials argument, and ensures that PingLoader::sendViolationReport sets
> it correctly based on the origins of the protected resource and the reporting endpoint.
> 
> Two tests are included, which required the addition of CORS headers to 
> http/tests/cookies/resources/setCookies.cgi in order to synchronously set cookies
> cross-origin via XHR. Additionally, the reporting endpoint was updated to write the
> cookie header into the output, and then clear any set cookies so as not to leak into
> other tests.
> 
> [1]: https://dvcs.w3.org/hg/content-security-policy/rev/788b0b653c39
> 
> BUG=238107
> 
> Review URL: https://chromiumcodereview.appspot.com/14704008

TBR=mkwst@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149817 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert "Simplify and add caching for accessible bounding box calculation."

This reverts https://src.chromium.org/viewvc/blink?revision=149754&view=revision,
because I suspect it broke content_browsertests.

TBR=dmazzoni@chromium.org
BUG=222636

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149818 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove WebKit prefix from Gamepad, VideoTrack and Notifications runtime features

Notifications probably doesn't even want a runtime guard, as it only seems to guard
the "legacy" notifications, which are on by default.

BUG=237740
R=abarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149819 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make Text constructable.

http://dom.spec.whatwg.org/#interface-text

This allows us to do `new Text('abc')` instead of `document.createText('abc')`.

BUG=237947

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149820 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make Comment constructable

http://dom.spec.whatwg.org/#comment

This allows us to do `new Comment('abc')` instead of
`document.createComment('abc')`.

BUG=238233

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149821 bbb929c8-8fbe-4397-9dbb-9b2b20218538
<select> popups should be positioned according to CSS transforms. 

Instead of using IntRect to determine the position of the <select> element, use a FloatQuad. When a <select> is transformed, the difference between its top and bottom is not the same as its height. When positioning the popup, need to take that offset into account.

In Firefox the popup menu is misplaced and is not attached to the <select>, when the <select> is transformed.
In Opera, the popup menu is always aligns to the bottom left when the popup goes down, regardless of the directionality of the <select>. If there isn't enough space and the popup menu goes up, the popup is misplaced and is not attached to the <select>. 

BUG=154992
TEST=PopupContainerTest.PopupPosition.

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

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