Touchscreen fling doesn't work when finger leaves window

The event handler would attempt to send the fling to whatever node was at
the coordinates of the fling. Instead we want to target whatever node was
being scrolled by the ScrollBegin event, which we already kept track of. This affects only touchscreen scrolling.

This patch also fixes Bug 151271 and 127781, which was essentially the same issue but with iframes/scrollable divs instead of windows.

This is the Blink side of a two patch fix.

BUG=222179

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=149019

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149522 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert 149458 "Make /workers JS wrapped objects ScriptWrappable."

> Make /workers JS wrapped objects ScriptWrappable.
> 
> This gets binding integrity benefits for these classes.
> 
> BUG=236671
> 
> Review URL: https://chromiumcodereview.appspot.com/14567003

TBR=tsepez@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149523 bbb929c8-8fbe-4397-9dbb-9b2b20218538
<button> ignores margin-bottom.

Merge from WebKit http://trac.webkit.org/changeset/149407

https://bugs.webkit.org/show_bug.cgi?id=114940

Reviewed by Beth Dakin.

Make sure that the inner block inside the <button> (flexbox) acts like it
establishes a block formatting context, i.e., it should refuse to collapse
its margins with its children. This causes margins to stay inside the <button>
and be honored, adding to the button's overall height.

Basically we have to remove the restriction that anonymous blocks can't be
BFCs on the bottom margin.

Added fast/forms/content-with-margins-inside-button.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::handleAfterSideOfBlock):

BUG=236931
R=ojan@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149524 bbb929c8-8fbe-4397-9dbb-9b2b20218538
In EmptyClients.h mark all methods as OVERRIDE

This ensures they stay in sync with the clients they subclass.
In this change, this resulted in the removal of three methods.

R=esprehn@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149525 bbb929c8-8fbe-4397-9dbb-9b2b20218538
add more text to trigger a change

TBR=dglazkov@chromium.org
BUG=229611

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149526 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Avoid O(n^2) behaviour in ComplexTextController::indexOfCurrentRun().

Imports http://trac.webkit.org/changeset/148750 from WebKit.

Original change description:

Instead of iterating over the text runs in indexOfCurrentRun() to figure out the
leftmost glyph, create a lookup table of [run# -> distance in glyphs] at
ComplexTextController construction time.
This avoids O(n^2) behavior in indexOfCurrentRun().

BUG=237161

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149527 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert "Delete tests that always timeout."

This reverts commit r149501. Speculative "fix" for a bunch of
unexplained new timeing out tests.

TBR=dglazkov@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149528 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Store cached interpretation of lfQuality in the platform font, for a slight efficiency gain, but mostly to begin the process of making platform fonts GDI/DirectWrite agnostic.

The CL is mostly renaming a field in the font, and moving the logic that "interpreted" the quality out of the drawing site, and into the font-creation site.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149529 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[CSS Exclusions] Improve ExclusionPolygon smart pointer safety

Assign newly allocated objects to OwnPtrs as early as possible to reduce the chances of future leaks.

BUG=235937

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149530 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix DCHECK failure on GestureScrollBegin after fling

Reset m_expectScrollUpdateEnd on start of fling (touchpad) or end of
fling (touchscreen) as we imply a ScrollEnd (and call client's scrollEnd)
at the times.

BUG=237112

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149531 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Double values should be allowed for <flex>

My reading of the specification was wrong: a dimension is a <number>,
which doesn't have to be an <integer>. Thus we should allow arbitrary
double values.

This change also makes us use a custom CSSPrimitiveValue::UnitType
which matches how px, em, ... are parsed. This was mentioned by Ojan
in a previous review but I thought this would make us non-compliant.
This greatly simplifies the code and also fixes the negative case.

BUG=235258
TEST=LayoutTests/fast/css-grid-layout/grid-columns-rows-get-set.html

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149532 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Garden expectations, adding flakes.

BUG=237250,237245
TBR=dstockwell

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149533 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Temporarily turn down link-time code generation for WebKit in Chrome builds to fix official build.

BUG=236217
R=jamesr@chromium.org, scottmg@chromium.org

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

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