Do not squash invisible layers.

We used to squash RenderLayers even if they reported that
subtreeIsInvisible. This caused the creation of needlessly enormous
layers that contained nothing. This CL excludes those layers from
the list of squashed layers.

R=abarth@chromium.org
BUG=None

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

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

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

BUG=345027
TBR=enne@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170251 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[refactor] Split up generateKey.html into multiple files, and test errors directly.

BUG=245025

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170252 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fixed crash with Multisample observer

BUG=333040

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170253 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Clean up callback interface code and template

The callback interface code was the first code and template we wrote.
Since then we've improved style and template usage; this simplifies
the code and brings it up-to-date.

TBR=haraken
BUG=345503

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170254 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DOM-object leak detection at run_webkit_tests.py

Now we're implementing the DOM-object leak detector. When the number of
DOM objects is increased after a test, we can assume that the test
causes a leak. This feature is available at content_shell with the flag
--enable-leak-detection.

This patch enables this leak detection feature at run_webkit_test.py
with the flag --enable-leak-detection.

content_shell is assumed to report a detected leak with the following
format:

  #LEAK - renderer pid PID (DETAIL_IN_JSON_FORMAT)

and run_webkit_test.py will treat this as a kind of error by this patch.

See also:
https://docs.google.com/a/chromium.org/document/d/1sFAsZxeISKnbGdXoLZlB2tDZ8pvO102ePFQx6TX4X14/edit

BUG=332630
TEST=test-webkitpy

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170255 bbb929c8-8fbe-4397-9dbb-9b2b20218538
RefCounted::derefBase() should do the decrement from 1 to 0

Currently derefBase() does not do the decrement from 1 to 0 because an object that has 0 refcount is going to die immediately (there is no need to do the decrement).

However, in the oilpan world, it's possible that an object that has 0 refcount is resurrected, because the object can still be retained through oilpan handles. Thus we need to manage the refcount correctly even when the refcount is going to be 0.

I'm making this change separately from oilpan changes, since this change might regress performance of something. derefBase() is performance-sensitive.

BUG=340522

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170256 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Web Animations: Sort Animations in the AnimationStack

This patch sorts animations in the stack so that they will be applied in the
correct order. Note that due to the way compositor integration currently is
implemented, we don't know the exact time when new animations will be started,
but expect it will be very close to the current timeline time.

http://dev.w3.org/fxtf/web-animations/#the-animation-stack

BUG=

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

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