[SVG] SVGLength{,List} migration to new SVG property impl.

This CL replaces SVG{Animated,}Length{,List} classes with NewSVGProperty implementation.

For details, see design doc: https://docs.google.com/document/d/1bg7CUyUszqdwmENY3JX6_PoQD6uHRCNcRPJMlC4qlkw/edit?usp=sharing

BUG=308818

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164832 bbb929c8-8fbe-4397-9dbb-9b2b20218538
If an element's layer with accelerated children and border-radius reaches the compositing state of |paintsIntoCompositedAncestor|, painting is no longer performed due to the early bail in CompositedLayerMapping::doPaintTask, which also triggers a debug assert.

The issue was caused by adding support for correctly rendering layers having border-radius and overflow-hidden using masks, by the time the |paintsIntoCompositedAncestor| compositing state was removed. However, this compositing state was reintroduced, causing the problem at matter.

The solution for this consists in assigning a backing store to layers with border-radius and overflow hidden.

BUG=330977

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164833 bbb929c8-8fbe-4397-9dbb-9b2b20218538
White spaces between nowrap and normal inlines should break the line.

If we have left a no-wrap inline and entered an autowrap inline while ignoring
spaces then we need to mark the start of the autowrap inline as a potential line
break now.

BUG=332431

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164834 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Should use (0, 0) for scroll layer position in threaded overflow scrolling

The scroll offset on compositing layers are adjusted (has non-negative value),
so the neutral position (without scroll compensation) of the layer should
be always aligned to top-left corner.

R=enne
BUG=330635

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164835 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix DOMWindow::isCurrentlyDisplayedInFrame check.

postMessage's timer callback previously used two criteria
to determine if the target DOMWindow was still active:

1) document() is not null. Unfortunately, this no longer
    works as expected since document() is only cleared in
   ~DOMWindow, and the postMessage timer takes a reference
   to DOMWindow.

2) If something is holding a reference to Frame, then the
   call to ~Frame may not occur immediately after the frame
   is detached, and its DOMWindow will still point to this.

To prevent the timer from having an effect on a detached
frame, we must also verify that the frame still has a
FrameHost.

BUG=331904
R=eseidel@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164837 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Clean up static_cast<SVGFooElement*> by using toSVGFoo()

As a step to use toFoo(), this cl clean up static_cast<SVGAltGlyphDef|AltGlyph|
AltGlyphItem|AnimateTransform|CursorElement*> by using toSVGFooElement(). To do it,
This cl generate toSVGFooElement for below SVG elements.

 - SVGAltGlyphDefElement
 - SVGAltGlyphElement
 - SVGAltGlyphItemElement
 - SVGAnimateTransformElement
 - SVGCursorElement

BUG=309516

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164838 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IDL compiler: [Reflect] DOMString attributes on Node interfaces

There's a "super-compact" special case for
[Reflect] DOMString attributes on Node interfaces
in the Perl code generator,
which additionally skips most of the getter/setter generation.

This adds support for this in Python.
Turns out it can be added *very* easily,
without needing a big overall branch
(just one skip).

There *may* be complex cases that require a big overall branch to skip,
so I've added a FIXME about this.
If these exist, they will turn up when finishing up, but almost all uses of [Reflect]
are simple and don't require any fancy treatment.

Also one renaming of a local variable in Perl, for consistency.
(Avoids a special case in Python.)

BUG=239771
R=haraken

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164839 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add some more trace events related to layout

In investigating traces from the Silk benchmark, Ojan and I wished we had a bit
more resolution in the trace relating to layout. By adding the following trace
events, we were able to see that the time wasn't actually being spent sizing
elements but instead in other code below "layout."

R=ojan@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164840 bbb929c8-8fbe-4397-9dbb-9b2b20218538
First set of changes to remove ENABLE_ORIENTATION_EVENT compile time flag.
Adding OrientationEvent runtime flag and the equivalent WebRuntimeFeature API.

BUG=181136, 331337

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

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

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

BUG=327465
TBR=eae@chromium.org

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

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

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

BUG=302005
TBR=skobes@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164844 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix bad cast to XPath::Filter in XPathGrammar.y

In XPathGrammar.y, we cast the Expression to Filter before passing it to the
Path constructor. This is wrong as the Expression is not necessarily of type
XPath::Filter. For example, in fast/xpath/id-simple.html, it has type
XPath::Function.

I noticed this bug when marking the XPath::Filter class as FINAL. The
fast/xpath/id-simple.html test started crashing as the call to
Filter::evaluate() was resolved at compile time instead of using the vtable at
runtime. Since the object is actually a XPath::Function and not a XPath::Filter
in this test, this was causing trouble.
BUG=333155
R=abarth, esprehn

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164845 bbb929c8-8fbe-4397-9dbb-9b2b20218538
The default render object layout implementation is dead code

While trying to refactor the render tree layout to be non-recursive I discovered
that the default render object layout implementation is dead code.  First, I put
an assert to find a layouttest that exercised it, but could not find any.  Next,
I made the method pure virtual to see what subclasses used the default impl and
found to my surprise that none do!

BUG=331879

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164846 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove CSS Custom Filters code and LayoutTests.

Originally authored by Adam Barth. Finished up by Max Vujovic.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164847 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IDL compiler: Rename special case: EventTarget => EventHandler

A type that is a special case for is_keep_alive_for_gc was renamed.
Didn't catch this earlier b/c test was broken (missing readonly).
Fixed.

TBR=haraken
NOTRY=true

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

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

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

BUG=332271
TBR=jochen@chromium.org

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

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