[SVG] SVGAnimatedPath migration to new SVG property impl.

This CL replaces SVGAnimatedPath with NewSVGProperty based implementation.

SVGPathSegList now keeps track of its ByteStream representation by itself. Previously this was kept by SVGPathElement.

SVGPath*{Source,Builder} interfaces are refactored to allow their allocation on stack. They are small enough to be stack allocated on the fly when needed.

This change keeps the original SVGPathSeg and use it directly without tear-off. However, SVGPathSeg should also be wrapped by tear-off in future, as this design allows modifications of animVals, which is against the spec.

The SVGPathSeg change notification path is also unchanged. When a list item SVGPathSeg is modified, SVGPathSeg::commitChange() notifies to the context SVGPathElement, then the SVGPathElement notifies it to SVGPathSegList. This should be changed when SVGPathSeg is migrated to a NewSVGProperty.

For details, see design doc: https://docs.google.com/document/d/1bg7CUyUszqdwmENY3JX6_PoQD6uHRCNcRPJMlC4qlkw/edit?usp=sharing

BUG=308818
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@167574 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove the mediaEnabled setting

This setting only prevented HTMLMediaElement::load() from running, which
very rarely makes any difference, since scripts modifying the DOM will
almost always implicitly invoke resource selection. The exceptions are
adding source elements when networkState is not NETWORK_EMPTY, removing
the src attribute, and removing source elements.

Since the callers to setMediaEnabled(false) seems to have survived
without actually disabling media, just remove the setting for now.

BUG=none

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

git-svn-id: svn://svn.chromium.org/blink/trunk@167575 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Bail out from shaping if glyphs are missing

Handle missing glyphs in HarfBuzzShaper gracefully instead of crashing.

BUG=337886
R=dglazkov@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@167576 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use nullptr_t for RefPtr, PassRefPtr and RawPtr.

This makes all of our smart pointers use nullptr_t to avoid issues when
using the oilpan transition types where we get a mix of nullptr and 0
that does not work unless we make OwnPtr, RefPtr, PassRefPtr consistently
use one or the other. Since we have decided to use nullptr for OwnPtr
(which used to use 0) this change goes all out and uses nullptr
consistently for all of them.

R=eseidel@chromium.org, haraken@chromium.org, wibling@chromium.org, abarth@chromium.org, jochen@chromium.org

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

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