Rewrite svg/dynamic-updates to use text-based repaint harness

These tests are covering three things:

1.) Verifying that property updates are reflected through the SVG DOM API
correctly, tested via javascript

2.) Verifying that the rendering of the SVG is correct

3.) Verifying that the dynamic update of the property generates invalidations
sufficient to cover the changed area

The pixel-based repaint harness doesn't effectively handle (3) since adding the
text to the page for (1) generates lots of invalidations that are unioned with the
invalidations from the SVG itself, leading to a repaint that covers all of the SVG
and all of the text.  Additionally since these tests are all pixel tests to cover (2)
but contain lots of visible text to handle (1), the results are platform-specific due
to text rendering differences even when the SVG itself renders identically.

This converts the tests over to using the text based repaint harness to capture
invalidations to handle (3), hiding the text in the pixel output to handle (1), and
having only the SVG itself show up in the pixel output to handle (2).  Each test has
two outputs - pixel and text.  The pixel output is just the rendering of the final SVG
scene.  The text output has the contents of the JS test harness assertions from (1) and
the text representations of repaint rects generated by the SVG property updates to handle
(3).  To prevent the text output from generating invalidations that would get mixed up with
invalidations on the SVG itself, all text content is set to display:none during the test
itself by SVGTestCase.js.  At the end of the test, after the text repaint harness is told
to stop tracking invalidations, these elements are switched to being just opacity:0 so that
they still appear in the text output but do not appear in the pixel output.

BUG=344774

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

git-svn-id: svn://svn.chromium.org/blink/trunk@167551 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use compositor for page popups.

This is essentially the last user of the legacy 2d path.

BUG=271140

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

git-svn-id: svn://svn.chromium.org/blink/trunk@167552 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Clean up ApplicationCacheHost after move to public/platform

This patch smushes ApplicationCacheHostInternal into ApplicationCacheHost,
which now implements blink::WebApplicationCacheHostClient.

It also gets rid of things that Chromium no longer depends on (such
as the WebFrame-dependent method of WebApplicationCacheHost).

Depends on Chromium-side patch https://codereview.chromium.org/171773005/

BUG=343272

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

git-svn-id: svn://svn.chromium.org/blink/trunk@167553 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Optimize memory use in DescendantInvalidationSet.

Don't allocate a HashMap unless there is something to put in it.

BUG=335247

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

git-svn-id: svn://svn.chromium.org/blink/trunk@167554 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Prefixed MediaSource: Clarify durationchange+readyState verification

Per HTMLMediaElement spec, the element should be in at least
HAVE_METADATA readyState once duration is known. This change clarifies
the verification to the prefixed MSE API that 'durationchange' event
delivery doesn't occur while the element is in HAVE_NOTHING readyState.
Before this change, expectation mismatch would have been detected, and
test would have failed. This change makes it clear why the test might
fail, also assisting port to unprefixed MSE test harness in future.

R=acolwell@chromium.org
BUG=167688
TEST=updated layout test still passes locally on linux Chromium

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

git-svn-id: svn://svn.chromium.org/blink/trunk@167555 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add flag for bleeding-edge Silk features in Blink.

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@167556 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove NodeIsSupported from UseCounter.h

I forgot this in r165237: https://codereview.chromium.org/133703014

BUG=334970

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

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