Kill WTF::DecimalNumber class

Kill WTF::DecimalNumber class and use the Decimal class from platform/ instead.
There is little sense in having 2 different classes to do the same thing. This
makes the code a bit more consistent and also reduces the release binary size
by ~15Kb.

R=eseidel@chromium.org, abarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174260 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Oilpan: fix failing animation unit tests.

Address three failures:

 * AnimationTest.ElementDestructorClearsAnimationTarget
   Animation objects now die with their target element, hence testing
   for it separately being destructed doesn't make sense in an
   Oilpan setting.
 * AnimationStackTest.ForwardsFillDiscarding
   In order to be able to accurately sample the number of effects on
   the stack, explicitly GC before querying.
 * AnimationPlayerTest.AttachedAnimationPlayers
   Use a persistent to correctly hold on to the test element. If not,
   the final GC will destruct it also & making any further testing
   over it invalid.

R=haraken@chromium.org
BUG=340522

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174261 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Oilpan: move Node traversal objects to the heap.

Add Oilpan transition types to NodeIterator, TreeIterator and
NodeFilter objects.

R=haraken@chromium.org
BUG=357163

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174262 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix table pre-inflation.

Previously, tables were pre-inflated from the layout scope in RenderTable::layout, and the inner table's multiplier was constrained to be <= the outer table's multiplier, since the outer table has already sized its columns by the time the inner table is laid out.

This led to complex/brittle logic for descending into inner clusters in inflateTable (see shouldDescendForTableInflation) and special cases for tables and table cells in clusterHasEnoughTextToAutosize which were never entirely correct.

Furthermore it was possible, even with this constraint on the multiplier, for the inflated inner table to overflow the column width that was computed before the inflation; this is seen in http://crbug.com/371611.

In this patch we inflate table cells in AutoTableLayout's intrinsic-width calculation, which recurses into inner tables.  This way the inner table is inflated while the outer table is sizing its columns, *before* the inner table actually enters layout.

This lets us remove the constraint on the inner table's multiplier and associated ugliness.

Because table cells are now inflated before they enter layout, there is some logic in widthFromBlock that tries to read the width specified in style or in a containing block, and use that as the basis for the multiplier.

Some tests have been marked NeedsRebaseline; I checked the output in all cases and it looks reasonable.  For a couple of tests (single-percent-width-cell-lots-of-text.html and clusters-sufficient-width-expected.html) the patch actually fixes some previously expected brokenness.

BUG=371611

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

git-svn-id: svn://svn.chromium.org/blink/trunk@174263 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Annotate intentional leak of UA style sheets.

BUG=chromium:121729,chromium:369404
R=dglazkov@chromium.org

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

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