Depend on content/test for unit test setup/teardown

This will allow us to organize code more logically on the chromium side.
In Chromium, content is the embedder of Blink and provides the platform
implementation.

R=darin@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154586 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Reland change to enable deferred image decoding for animated GIFs

TBR=gavinp@chromium.org

BUG=169377,259786,259783

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

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

This CL introduces WTF::StringView, which is an offset + length "view" into an underlying String object.  This mechanism replaces String::substringSharingImpl, which leaves StringImpl::m_substringBuffer unused.  In effect, I've extracted this mechanism from being internal to String into StringView.

The one unfortunate part of this change is the code duplication in TextRun.h.  I tried using a template to avoid the duplication, but too many clients were relying upon the declared String type to force implicit conversions.  There's a lot of duplicated code in TextRun.h.  We should consider refactoring the TextRun constructors to share more code.

R=eseidel@chromium.org
BUG=261751

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154588 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove StringBuilder::toStringPreserveCapacity

This API uses StringImpl::m_substringBuffer, which we're in the process of
removing. We could re-implement this API using StringView, but none of the
callers of this API seem to actually require this optimization.

R=eseidel@chromium.org
BUG=262320

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

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