Fix clientLeft value for RTL direction, while the element have vertical scrollbar in left side.

BUG=128500

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168625 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert of DevTools: Do not save split view size on show mode changes. (https://codereview.chromium.org/185943004/)

Reason for revert:
Split location is no longer persisted.

Original issue's description:
> DevTools: Do not save split view size on show mode changes.
> 
> BUG=348887
> R=dgozman
> 
> Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=168608

TBR=dgozman@chromium.org,vsevik@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=348887

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168626 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert "Reverting custom pseudo element".

This is not the same as a patch for just reverting r164153.
To make a patch smaller,
- Element IDL does not have webkitPseudo (not reverted).
- pseudo() invokes shadowPseudoId() (the old code uses pseudo() in shadowPseudoId()).
- setPseudo() also invokes setShadowPseudoId().

c.f. https://src.chromium.org/viewvc/blink?revision=164153&view=revision

BUG=349144
TEST=fast/dom/shadow/pseudo-attribute-rendering.html,fast/dom/shadow/styling-pseudo-attribute.html,fast/dom/shadow/shadow-pseudo-id.html,fast/dom/shadow/pseudo-attribute.html,fast/dom/shadow/styling-pseudo-attribute-in-shadow.html,fast/dom/shadow/shadow-nested-pseudo-id.html,fast/dom/shadow/custom-pseudo-in-selector-api.html,fast/dom/shadow/pseudo-attribute-dynamic.html

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168627 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Web Animations: Don't mark players as outdated upon currentTime access

Accessing currentTime on a Player logically doesn't mark it as outdated,
although currently it does as it updates time to match the timeline.
Removing this behaviour makes some of the logic in serviceAnimations and
Player::update slightly nicer. We also tweak the logic somewhat so as to
remove a source of rounding errors in timing calculations.

BUG=334926

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168628 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Web Animations: Add Interpolation class.

This patch introduces the Interpolation class, which represents
a primitive animation between two values (expressed as InterpolableValues).

This is part of an effort to refactor the animations pipeline in order
to make it generic on animation value type (see linked master bug).

This code is not yet used anywhere. It will be used in future patches.

BUG=346495

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168629 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Pre-cache PLY lex table and use optimized mode (5% build time improvement)

PLY lex table creation is (obviously) expensive.
Pre-caching this in a separate build step improves build time.

This is much less of an improvement than the parse table,
as the lexical grammar is much simpler than the phrase grammar,
but:
* it's a quick win, and
* will allow us to use Python's optimized mode (hopefully more win).

Improves build time (user time) by 5% on my Linux box:
59s => 56s

Followup to:
Pre-cache PLY yacc parse table and use optimized mode (45% build time improvement)
https://codereview.chromium.org/184233005/

BUG=341748
R=haraken

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168630 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Drive SVG Animations via requestAnimationFrame

Start using FrameView::scheduleAnimation instead of a Timer for driving
the animations in a SMILTimeContainer.
The timer however remains to use when the next animation event is further
into the future than within the (~) next frame interval. Hence
SMILTimeContainer::m_timer is renamed to m_wakeupTimer.

The animation time from the compositor is plumbed through the layers, but
is not yet used as the "global" clock. That will have to wait for a later
CL.

For the SVG-in-<img> (and similar) case(s),
SVGImageChromeClient::scheduleAnimation is modified to use a fixed frame
interval.
In SVGImage, the initialization of m_page is moved later, to disable any
methods that depend on accessing the SVG root element (prompted by the
need to query if the image has any animations) until the actual document
is loaded/being loaded.

BUG=231576

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

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