Oilpan: Support Oilpan's real types in the binding layer and use it in Gamepad

- This CL implements a [GarbageCollected] IDL attribute to the IDL compiler. The [GarbageCollected] IDL attribute can be used to move DOM classes to oilpan's real types. For those classes, Oilpan will be enabled by default.

- As one example, this CL uses the [GarbageCollected] IDL attribute in Gamepad modules/. As a result, all RefPtrs in Gamepad are gone.

- This CL adds PersistentWillBeMember. PersistentWillBeMember needs to be used for a pointer from "an object that is on-heap if OILPAN is enabled but off-heap if OILPAN is disabled" to "an object that is on-heap always".

BUG=340522

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

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

The field is only being used for passing transient data down the
call stack, and is not a trait of an SVGInlineTextBox (which is
confusing).

Bite the bullet and plumb this as a parameter instead.

R=fs@opera.com,schenney@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171314 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Spin button in input[type=number] should not ignore paddings.

The old behavior was to emulate Windows spin button appearance. Now
we don't use Windows-native controls and don't need to emulate it.

Implementation:
This CL removes special layout code for spin buttons in RenderTextControlSingleLine,
and the spin button layout relies on CSS flexible box.
As for Mac, we can't stretch NSStepper to arbitrary sizes. We need to
apply align-item:center. Also, adjust control size threshold because
spin buttons need to fit into the font height.

Test:
* We need to do rebaseline for some layout tests.
* This CL removes fast/forms/number/number-large-padding.html,
  which made sense for the special layout.
* Add font-size to number-spinbutton-in-multi-column.html
  because OSX spin button height depends on font size, and we don't
  stretch it.

BUG=128957,330117,356939

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171315 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert "Imply m_needsToRecomputeCompositingRequirements from RenderLayerCompositor's updateType"

This reverts https://src.chromium.org/viewvc/blink?revision=171153&view=revision

TBR=vollick@chromium.org
BUG=361795
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171316 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add matrix3d parsing to transform fast path

This CL adds support for the matrix3d and scale3d transform operation
to the simple transform parser. Previously, we only supported the
translate family of operations, but famo.us uses matrix3d and scale3d
extensively.

Based on profiling the tweetus demo of famo.us, this CL saves about
2% of the total time in JavaScript.

R=ojan@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171317 bbb929c8-8fbe-4397-9dbb-9b2b20218538
First round of removing GTK support

Chromium no longer users GTK+

R=erg@chromium.org
BUG=297026

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171318 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Store a Vector of DescendantInvalidationSets instead of decomposing in StyleInvalidator

Instead of copying all the classes, ids, tagnames and other bits as we
encounter invalidation sets walking down the tree we can just store a
Vector of invalidation sets and ask each one if it invalidates a specific
element.

This simplifies the code and also makes it so that when adding new features
the invalidation sets we don't need to change the StyleInvalidator.

I also added some out of line destructors and removed the DescendantInvalidationSet.h
#include from RuleFeature.h so that when working on the invalidation set code the
rebuilds can be smaller. In the future we should also remove the StyleInvalidator.h
#include so you don't need to rebuild the entire world when changing this system.

R=ojan@chromium.org, rune@opera.com

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171319 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Auto-rebaseline for r171315

http://src.chromium.org/viewvc/blink?view=revision&revision=171315

BUG=356939
TBR=tkent@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171320 bbb929c8-8fbe-4397-9dbb-9b2b20218538
SkPerlinNoiseShader::CreateTubulenceNoise() is misspelled

Add missing 'r'. Already added on Skia's API.

This is mandatory before the Skia alias removal of the misspelled name.

R=sugoi@chromium.org

BUG=None

Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171321 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Reduce include dependency from ScriptPromise.

As ScriptPromise is widely used, including many headers will cause
circular include dependency. This CL reduces direct and indirect
inclusion from ScriptPromise.

BUG=NONE
R=haraken, kinuko

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171322 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: Suggest reload when adding file mapping through any context menu actions.

We were doing it in one of two context menu actions only earlier.

NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171323 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Using ElementTraversal::firstAncestorOrSelf API

Intial code did the same thing as done by the
ElementTraversal::firstAncestorOrSelf API.

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

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

ScriptPromiseResolver requires a caller to enter a V8 context to call its
methods. Since calling them from outside of a V8 context is a usual usecase,
this CL implements ScriptPromiseResolverWithContext, a wrapper of
ScriptPromiseResolver that can be resolved or rejected from outside of a
V8 context.
ScriptPromiseResolverWithContext also supports suspend / resume / stop on
the associated ExecutionContext.

Replace MIDIAccessResolver with ScriptPromiseResolverWithContext.

BUG=361041

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171325 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Rename V8TRYCATCH_* macros in v8/V8BindingMacros.h

The macros in V8BindingMacros.h have confusing and inconsistent naming.
This makes them more regular.

Yutaka (yhirano@) is adding more macros, so we'd like to regularize
naming before that.

Request of haraken@:
https://codereview.chromium.org/232563003/#msg7

...in support of:
API functions returning Promises should not throw exceptions.
https://codereview.chromium.org/232563003/

R=haraken

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171326 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Mark compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html as failing

BUG=362434
TBR=leviw@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171327 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: Make replace checkbox id in SearchableView unique.

Otherwise clicking on the checkbox label is processed incorrectly when searchable view is opened on different panels.

NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171328 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Don't cancel compositor animations that are setting start time  from the compositor.

Animations that are started on the compositor take their start time from the compositor
rather than setting it directly. This patch prevents the compositor update of main-thread
start time from cancelling the animation on the compositor.

BUG=361609

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171329 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix filepath tests for EncodingError

As the issue on the management of dot-dot-dot path sequences has been
solved, this change re-enables and fixes the filepath  tests and removes
the corresponding FIXMEs.

BUG=181617

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171330 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: align hidpi timeline memory overview with non-hidpi.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171331 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: fix css auto-save behavior

This patch fixes throttling behavior for workingCopyChanged events for
StyleSourceMapping.

BUG=361578

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

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