Enable animation for the shape-image-threshold property

Changes to the shape-image-threshold property should relayout any content
affected by the shape's contour. This patch makes shape-image-threshold
respond to dynamic changes made via JS and CSS animations.

BUG=304916

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

git-svn-id: svn://svn.chromium.org/blink/trunk@162643 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Don't do a full document recalc when StyleResolver doesn't exist.

When removing a stylesheet, if the StyleResolver doesn't exist, we
would do a full document recalc. This is unnecessary. There's no
dependence on StyleResolver for knowing how much we need to recalc.

Also, modified the existing test a bit to make it more clear which
nodes are getting recalced.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@162644 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add shouldBeNow() to js-tests.js in LayoutTests.

The function checks that an expression returns the current time. The
check is non-trivial, given that time might go backwards due to NTP
updates.

BUG=320686

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

git-svn-id: svn://svn.chromium.org/blink/trunk@162645 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Factor out common BorderImageLength code in CSSToStyleMap

CSSToStyleMap::mapNinePieceImageQuad had a lot of repetitive code for
BorderImageLength. Factor it out to a static function.

Afterwards, the default constructor for BorderImageLengthBox gets used
less so make the code more explicit by removing the default
constructor entirely. Instead add a constructor that initializes the
members to a specific value.

Since this revealed one error in a code comment (the initial value for
-webkit-mask-box-image-width is 'auto' not zero) fix that as well.

BUG=322014

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

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