Update intrinsic content logical height for tables and table cells

Blink r171893 wired up flexbox layout to be dependent on descendants
of RenderBox correctly updating their intrinsic content logical height
(to avoid doing unnecessary layouts of stretched children). Unfortunately,
neither tables nor table cells call updateLogicalHeight -- the method
that updates that value. This caused flexbox layout to assume their
height was zero and not leave space for them.

This change adds a call in RenderTable and RenderTableCell to
update this value after determining the height. This changes the
meaning of intrinsic content logical height, as the height of any given
table cell isn't actually intrinsic, but dependent upon its siblings.

BUG=367324

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172925 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[refactor] Remove WEBCRYPTO_HAS_ERROR_TYPE ifdef.

BUG=245025

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172926 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add battery_status to WATCHLISTS.

Add a watchlist for the Battery Status API blink module,
aka modules/battery.

BUG=122593

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

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

This is no longer part of SVG2 and we do not use it internally.

BUG=313438

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172928 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove modules/webaudio/MediaElementAudioSourceNode.h dependency from core.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172929 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[CSS Shapes] complex calc values for shape-margin return null for computed style

We need to pass RenderStyle to the cssValuePool when parsing shape-margin in order to use calc() as a parameter.

A new test case for this was added to parsing-shape-margin.html.

This is a merge of http://trac.webkit.org/changeset/167935 by Zoltan Horvath <zoltan@webkit.org>.

BUG=368069

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172930 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Change isRooted repaint assert to early return

In Blink r172531, I added an assert to containerForRepaint to
ensure we weren't repainting non-rooted renderers. Unfortunately,
selection updating can tickle this in obscure cases. Adding a
test, a fixme, and an early return instead of the assert.

BUG=368140

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172931 bbb929c8-8fbe-4397-9dbb-9b2b20218538
PartitionAlloc: Make in-place realloc() less likely to happen

On direct mapped allocations, we support downsizing realloc() in-place.
As part of trying to figure out what causes apparent OOM crashes, do this
only in much more restricted circumstances:

 - Only down to 80 % of the size of the original mapping.
 - Only down to sizes larger than the maximum bucketed allocation size.

BUG=368406

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172932 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Prevent compositor from clobbering manually set inner viewport container size

Set 'masks_to_bounds' to true on the inner viewport container layer to prevent
the compositor from dynamically changing the container layer size in
LayerTreeHostImpl::UnscaledScrollableViewportSize.

BUG=366668

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172933 bbb929c8-8fbe-4397-9dbb-9b2b20218538
GraphicsContext::drawImageBuffer() cleanup.

Two (mostly independent) changes:

* consolidate all drawImageBuffer() variants into one - with the help of
  implicit IntSize/IntPoint -> FloatSize/FloatPoint conversions and some
  minor caller updates this turns out to be trivial.

* drop the WebBlendMode argument - no callers are passing
  non-default values.

R=schenney@chromium.org,senorblanco@chromium.org,pdr@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172934 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[CSS Grid Layout] Fix missing grid-definition-{columns|rows} renames

In r166143 grid-definition-{columns|rows} were renamed to
grid-template-{columns|rows}. It was missing to do the rename in 2
layout tests description.

BUG=337626

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172936 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove unused UseCounter features

These are the bugs in which the enum values became unused:

LegacyNotifications/LegacyTextNotifications:
https://code.google.com/p/chromium/issues/detail?id=348019

LegacyWebAudio/WebAudioStart:
https://code.google.com/p/chromium/issues/detail?id=358398

PrefixedShadowRootConstructor:
https://code.google.com/p/chromium/issues/detail?id=242153

SVGAnimateColorElement:
https://code.google.com/p/chromium/issues/detail?id=332839

PrefixedMediaSourceOpen:
https://code.google.com/p/chromium/issues/detail?id=363444

JavascriptExhaustedMemory:
https://code.google.com/p/chromium/issues/detail?id=347724

BUG=none

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172937 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[CSS Shapes] complex calc args for inset round vanish

In order to use calc in the rounded parameters for inset shapes, we need to pass RenderStyle for the value creation as we did for the width arguments.
Without taking RenderStyle into account, we hit an assert not reached in CSSPrimitiveValue::init in the debug builds.

This is a merge of http://trac.webkit.org/changeset/167936 by Zoltan Horvath <zoltan@webkit.org>.

BUG=367889

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172938 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Web Animations API: Add layout tests for invalid keyframe combinations.

Add layout tests for:
 - keyframes with properties that are not enumerable
 - keyframes with explicit composite: 'add'
 - keyframe sets that implicitly generate composite: 'add' synthetic keyframes
 - keyframe sets that combine auto offsets and out-of-order offsets

BUG=367644

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172939 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IndexedDB: Change IDBPendingTransactionMonitor's owner from ThreadSpecific to ExecutionContext.

This CL makes ExecutionContext Supplementable, and makes
IDBPendingTransactionMonitor a Supplement<ExecutionContext>.
handles IDBTransaction in its execution context.

ServiceWorkerContainerClient.cpp needs a small change because
Document now has two provideSupplement functions.

This is a preparation to move IDBTransaction to Oilpan heap because
ThreadSpecific and Oilpan don't work well together.

BUG=366528

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172940 bbb929c8-8fbe-4397-9dbb-9b2b20218538
canMergeLists() should make sure that the list items do not belong to the same list

This issue is reproduced only when list is the only visible element
present. In this case, visible positions after & before the list's
parent node would be NULL and hence are treated as equal. Because of
this, isVisiblyAdjacent() and therefore canMergeLists() would return
true. This results in invoking mergeIdenticalElements where things go
wrong as we try to delete the second list and add its content to first
list, while we actually have only one list and should be merging the
list items of the same list.

In canMergeLists(), calling
isVisiblyAdjacent(positionInParentAfterNode(*firstList), positionInParentBeforeNode(*secondList)
makes sense only if firstList & secondList are different lists. Hence,
before invoking isVisiblyAdjacent() we need to check if the lists are
identical in which case return false from canMergeLists().

BUG=362463
TEST=LayoutTests/editing/deleting/merge-list-items-in-same-list.html

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172941 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add blink-reviews-bindings to 'bindings' watchlist

Add new mailing list to WATCHLISTS, per:
[blink-dev] PSA: New mailing lists for blink code reviews in specific directories
https://groups.google.com/a/chromium.org/d/topic/blink-dev/iRwYI7KTEeA/discussion

R=haraken
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172942 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make CSSFontFace::willUseFontData() load fonts with unicode-range

Before this patch CSSFontFace::willUseFontData() loads font faces that
have no unicode-range. Since font faces with no unicode-range tends to
be used as fallback font of segmented font family, this behavior leads
to unnecessary font downloads.

This patch makes willUseFontData() loads the first unloaded font face
whose unicode-range intersects with given text. That check does not
need to be 100% precise (false negative is ok), so it only checks the
first character of the text, for speed.

TEST=fast/css/font-face-unicode-range-overlap-load.html
BUG=247920,246492

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172943 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Gardening: http/tests/svg/image-fetch-fail.svg is flaky

BUG=368560
TBR=jsbell
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172944 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add support for type checking of floating point arguments as [TypeChecking=Unrestricted]

This adds an new extended attribute value, [TypeChecking=Unrestricted],
which turns on type checking of floating point arguments for non-finite
values, and switches CanvasRenderingContext2D.createImageData over as a
test case.

This does not implement type-checking for floating point attributes yet.

Docs updated at:
http://www.chromium.org/blink/webidl/blink-idl-extended-attributes#TOC-TypeChecking-i-m-a-

R=haraken
R=fs
BUG=354298
BUG=367648
TEST=run_webkit_tests.sh fast/canvas/canvas-2d-imageData-create-nonfinite.html

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

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