Setup parent stylesheet for tree boundary crossing rules.

The purpose of the patch is to store information about parent stylesheets for
rules that are crossing tree boundary. Currently, this information is missing,
thus DevTools do not allow to edit them.

To achieve this, the patch modifies TreeBoundaryCrossingRules data structure from
storing <ScopingNode, RuleSet> to storing <ScopingNode, CSSStyleSheet, RuleSet>. 
Iteration over this new data structure is somewhat tricky, so logic related to
collecting matched rules is moved in TreeBoundaryCrossingRules class as well.

BUG=337016

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170929 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Delete RenderLayer::CalculateLayerBoundsFlags

The callers of RenderLayer::calculateLayerBounds are now almost consistent in
how they expect the layer's bounding box to be computed. This CL removes the
bitfield that we previously used to get different answers out of this function.

The only caller that wants something strange is
CompositingReasonFinder::requiresCompositingForPosition. That function wants to
know what the layer's bounds might be in some alternate universe in which the
scene was composited differently. This caller should eventually be removed, but
for now I've added an enum to let it keep its current behavior.

This CL also renames calculateLayerBounds and overlapBounds to make it clearer
what these functions are computing. I've also cleaned up the code in
boundingBoxForCompositing a bit.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170930 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[CSS Shapes] Simplify Polygon implementation

Only floats can specify shape-outside. For polygon shape-outside values, the problem
of finding the left and right exclusion edges reduces to finding the X axis
limits of the polygon edges that overlap a particular layout line. This is a much
simpler version of the problem that PolygonShape was originally designed for, and so
the implementation can also be simplified. There's more about the new algorithm in
http://hansmuller-webkit.blogspot.com/2014/03/a-simpler-algorithm-for-css-shapes.html.

This is a merge of http://trac.webkit.org/changeset/166790 by Hans Muller <hmuller@adobe.com>.

BUG=360139

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170931 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move serialized heap entities definition into HeapSnapshotCommon

- moved definition of serialized heap snapshot nodes, edges and reaining edges into HeapSnapshotCommon and use them for annotating DataGrid implementations
- removed unused nodeIndex field from serialized edges
- extracted retainer-specific logic from HeapSnapshotObjectNode into HeapSnapshotRetainingObjectNode

BUG=None

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170932 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add Video-to-Canvas perf tests into Skipped list.

Those tests cause times out on Android, so add them into Skipped list.

BUG=358168

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170933 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove unnecessary includes from FontPlatfromData

Remove unnecessary include directives from the shared HarfBuzz and the
Linux version of FontPlatformData.cpp

R=esprehn@chromium.org

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

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