Reland "Should not repaint if a CSS property change can be composited"

The previous version of the patch passed a wrong repaint container to
repaintIncludingNonCompositingDescendants(), causing an assertion failure.
This CL corrected it.

This patch fixes a case that when a RenderObject has StyleDiffLayout,
its composited descendants shouldn't repaint if the style changes can be
composited (and don't change the layout of them).

The optimized CSS properties are clip, position, z-index,
opacity, transform, and filter.

BUG=338926
TBR=esprehn@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168974 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Don't squash layers that have different clipping than the layer they would squash into.

The clipping code in RenderLayerClipper, etc. is not squashing-aware. Rather than plumbing squashing awareness throughout it, disallow this case in squashing.

Also delete some dead code found while writing this CL.

BUG=336563

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168975 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Cache values for panning and spatialization effects to enhance performance on pannerNode.

DopplerShif, azimuth, elevation, distanceGain and ConeGain are
calculated always to give panning and spatialization effects.
These values are valid before changing parameters in AudioListener and PannerNode.
When there is no changing of parameters, cached values will be returned.

There were 3 FIXMEs on current implementation.

FIXME: we should cache azimuth and elevation (if possible), so we only
re-calculate if a change has been made.
FIXME: optimize for case when neither source nor listener has changed...
FIXME: could optimize by caching coneGain

BUG=347456

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

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