Make composited scrolling codepaths co-operate.

Since we don’t have a functional layer-squashing solution
yet, it makes sense to leave in the logic for the stacking
container concept for the short term, and use it whenever
possible. If a layer cannot become a stacking container,
then we fall back to using the new codepath that’s being set
up in all the above patches.

This is blink-side patch 6 of https://docs.google.com/a/chromium.org/document/d/1Ln57_v6_4RmuuvtWnpsfBOUeDFrPsYNFW13dwuQ8UD8.

BUG=254111

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159168 bbb929c8-8fbe-4397-9dbb-9b2b20218538
initial changes to help make run-webkit-tests device-fault-tolerant

This patch posts a set of changes to run-webkit-tests adding the
concept of an 'offline device'. The basic idea is that we may detect
that one of the devices attached to a host has gone offline, and we
should try to recover from that, continuing to use the remaining
devices and retrying any tests currently scheduled for that device.

The basic idea is to have the worker detect that the device has gone
offline, post a message back to the manager with the list of tests
remaining in the shard, and then bail out. The manager will then
run a second pass of shards against the remaining online devices (if any).

This is slightly suboptimal (stopping and restarting the content shells
for the retry pass) but simple, and should happen rarely and in a case
where we're already going to be going more slowly. We can improve this
later if we need to.

This patch adds most of the generic logic needed to support this,
but does not change the android.py code to take advantage of it; that
will follow in separate patches.

R=ojan@chromium.org
BUG=305040

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159169 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix Range.insertNode when the inserted node is in the same container as the Range.

When Range.insertNode is called on a collapsed Range, with a node
that is in the same container as the Range, the Range offsets are
incorrectly updated. This results in Debug asertions and incorect
Release behavior (and maybe more serious problems).

The fix correctly accounts for situations in which the inserted
node immediately precedes the Range in the container. The test
verifies this and other cases.

R=yosin@chromium.org,ojan@chromium.org
BUG=299993

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159170 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Rework import-in-iframe to no longer flake

The test relied on the order imports were resolved, which is not
guaranteed. Now running the test after all imports are resolved.

BUG=295789

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159171 bbb929c8-8fbe-4397-9dbb-9b2b20218538
XSSAuditor false positive on large script blocks.

The snippet extraction logic is only valid for the start of a script block, therefore large scripts which may be passed to the auditor in multiple chunks must be processed in their entirety as was the first chunk.

BUG=302797
R=abarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159172 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix alignment of <input> elements with overflow

r155341 (https://codereview.chromium.org/21414002) made us follow the
CSS spec for the alignment of overflow: hidden; in combination with
display: inline-block;. Unfortunately, that had the side-effect of
changing the baselines for <input> elements, because we internally
implement them as inline-blocks. This CL overrides the baseline
computation so that they align the same way with or without overflow.

(NOTE: Any websites that were broken by this can fix it by just removing
overflow: hidden, because it has no effect on <input> elements)

BUG=304210
R=ojan@chromium.org,leviw@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159173 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix isolatedWorld/storage-properties.html to cleanup after itself

Fix the http/tests/security/isolatedWorld/storage-properties.html test
to clean up after itself (as session and local storage is shared).

BUG=305043
R=leviw@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159174 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Schedule pings before frame loads in anchors.

If scheduled afterwards, a prerender navigation may kill the renderer
before the ping goes through.

BUG=302816

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159175 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make sure run-perf-tests script does not fail due to console messages

Make sure run-perf-tests script does not fail on console messages (e.g.
deprecation warnings). This was reproduceable with Dromaeo/dom-traverse.html
as it is using the deprecated Event.returnValue attribute.

R=marja, dpranke
BUG=304800

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159176 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move ScrollbarThemeClient to Source/platform

BUG=297477

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159177 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move UserGestureIndicator to platform and delete UserTypingGestureIndicator

This removes two classes from core/dom/ that didn't appear to belong there.

Though UserTypingGestureIndicator was referenced in Blink, its public methods
were never called, so I deleted it rather than moving it to platform.

R=abarth

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159178 bbb929c8-8fbe-4397-9dbb-9b2b20218538
First part of three-part two-sided patch to URL parsing.

This step disables the test which will break when the chrome side changes.
BUG=295090
TBR=brettw@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159179 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Relayout when shape-outside is modified dynamically

Mark the appropriate content for relayout when the shape-outside property
changes values dynamically. Do this using the same mechanism in place
for changing the float property from left to right. See
RenderObject::styleWillChange().

BUG=304916

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

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