Implement MediaSource VideoPlaybackQuality functionality.

Implements the VideoPlaybackQuality object and HTMLVideoElement.getVideoPlaybackQuality()
method specified in the Media Source Extensions spec. This change implements all attributes
mentioned in the spec except for totalFrameDelay because that attribute is currently
being debated. Only stable attributes that aren't expected to change are being implemented here.

BUG=313406
TEST=LayoutTests/http/test/media/media-source/mediasource-getvideoplaybackquality.html

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161100 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Don't set document.domain to an IP address fragment.

Remove duplicated logic in Document.cpp and force the decision-making into
the existing weborigin/ code which makes the decision properly.

Adds a setting to permit tests that rely on 0.0.1 being a super-domain of 127.0.0.1.

BUG=312489

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161101 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Cache the tracer category flag for graphics_context_annotations.

We're currently calling EventTracer::getTraceCategoryEnabledFlag() on
every paintContents(), and the category lookup has a significant
overhead (linear string search). We should be caching and reusing the
result instead.

BUG=259433
R=nduca@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@161102 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Node::setNeedsStyleRecalc() should not call confusingAndOftenMisusedAttached()

This caller wants inActiveDocument(). There's no reason to bail out of
setting needsStyleRecalc before going through lazyAttach as long as
we're in an active document.

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

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