Add some incremental compositing tests

These tests that compositing updates work even when the render tree changes in
a minor way. These tests would have failed when introducing dirty bits for
CompositedLayerMapping in https://codereview.chromium.org/183763016.

R=chrishtr@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168358 bbb929c8-8fbe-4397-9dbb-9b2b20218538
RenderLayer::hasVisibleContent() incorrect when layer removed

Prior to this CL, we were incorrectlyd dirtying
RenderLayer::hasVisibleContent() when removing a RenderLayer from the layer
tree. This caused us to incorrectly believe that the parent layer lacked
visible content.

R=ojan@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168359 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Simplify CompositedLayerMapping's hasVisibleNonCompositingDescendant

This CL moves the early out to the top of the function, which lets us merge the
two stacking node iterations.

R=ojan@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168360 bbb929c8-8fbe-4397-9dbb-9b2b20218538
FlameChart: convert colors magic into dataProvider.entryColor getter

BUG=
R=pfeldman@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168361 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DatabaseBackend objects should be destructed in the originator thread.

Before this CL, it was possible that DatabaseThread held the last
references of DatabaseBackend objects and it was released in the
database thread.
We must destruct objects in the originator thread in Oilpan.

Implementation:
DatabaseThread::recordDatabaseClosed doesn't remove a RefPtr<
DatabaseBackend>, and we release RefPtr<DatabaseBackend> objects
in ~DatabaseThread, which is executed in the main/worker thread.
Note that there are no ways to close a database explicitly, and
DatabaseBackend objects are never destructed before their
DatabaseContext is stopped. DatabaseThread::recordDatabaseClosed
is actually unnecessary.

DatabaseThread doesn't know DatabaseBackend open status any longer.
We remove DatabaseThread::isDatabaseOpen, and its existing
callsites use DatabaseBackend::open() instead.

BUG=347902
TEST=none; no visible behavior changes hopefully.
R=michaeln@chromium.org

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

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