Revert 181702 "Oilpan: Move MediaStreamSource, MediaStreamCompon..."

This CL caused memory leaks in content_unittests.
http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20LSan%20Tests%20%282%29/builds/7259

> Oilpan: Move MediaStreamSource, MediaStreamComponent and MediaStreamDescriptor
> to oilpan's heap
> 
> - MediaStreamSource, MediaStreamComponent and MediaStreamDescriptor must be moved
> to oilpan's heap in one go because their lifetime are tightly coupled.
> 
> - Removed m_descriptor->setClient(0) from MediaStream's destructor. This is OK
> because MediaStreamDescriptor has a strong Member back to the Client
> (i.e., MediaStream).
> 
> - Removed m_component->source()->removeObserver(this) from MediaStreamTrack's
> destructor. This is OK because this CL made the observers weak
> (i.e., MediaStreamSource::m_observers is a hash set of weak members to
> MediaStreamTrack objects).
> 
> - Removed WebMediaStreamTrack::ExtraData::m_owner because it's unused.
> 
> - Introduced MediaStreamComponentDisposer to delay the destruction of
> MediaStreamComponent::m_extraData. The ExtraData is exposed to the web
> and some Chromium objects inherit from the ExtraData. If we clear the
> m_extraData in the MediaStreamComponent's destructor, those Chromium-side
> objects are also destructed in the MediaStreamComponent's destructor.
> This is problematic because the destructors of the Chromium-side classes
> can touch other on-heap objects in the Blink side. To avoid the issue,
> we need to delay the destruction of the ExtraData to thread-specific
> weak processing. The disposer pattern actually makes the deletion of
> the extra data happen earlier and not later. The disposer makes sure
> that the extra data is destructed in weak processing which is run before
> sweeping and therefore all the objects are still alive and can be touched.
> 
> 
> - The same problem arises for MediaStreamDescriptor and MediaStreamSource.
> This CL adds MediaStreamDescriptorDisposer and MediaStreamSourceDisposer.
> 
> - This CL depends on https://codereview.chromium.org/543603003/ and https://codereview.chromium.org/549153002.
> 
> BUG=340522
> 
> Review URL: https://codereview.chromium.org/552653005

TBR=haraken@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181730 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert of Remove some CSS properties from UseCounters (patchset #1 id:1 of https://codereview.chromium.org/558473002/)

Reason for revert:
We don't want to remove properties that we still support.

Original issue's description:
> Remove some CSS properties from UseCounters
> 
> All of these measure stable features except CSSPropertyWebkitCursorVisibility which
> is actually removed.
> 
> Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=181680

TBR=rob.buis@samsung.com
NOTREECHECKS=true
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181731 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[SVG2] Add support for marker orient="auto-start-reverse".

Spec: https://svgwg.org/svg2-draft/painting.html#OrientAttribute

BUG=367748

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181732 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Adjust error-handling for invalid filter primitive references

When a filter primitive has an 'in' (or, where applicable, 'in2') attribute
that references a non-existent result, treat that reference as having the
default value (==no value) instead of producing an error.
This aligns with Presto and IE.

BUG=411833

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181733 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Oilpan: Replace blink_gc_plugin_dump_graph with a more general blink_gc_plugin_flags GYP variable.

This allows developers to pass any combination of plugin flags
without modifying the existing GYP setup. For example,
GYP_DEFINES+="blink_gc_plugin_flags='dump-graph=1 warn-raw-ptr=1'"
will enable both graph dumps and raw-pointer warnings.

R=haraken@chromium.org
BUG=334149

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181734 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Allow HTMLMediaElement.currentTime to be set before the transition to HAVE_METADATA

Spec now allows currentTime to be set when the readyState is still HAVE_NOTHING.
This patch modifies the behaviour in accordance to the spec. The default playback
start position is set to the new currentTime and the resource plays from that point
once it is loaded.
http://www.whatwg.org/specs/web-apps/current-work/#dom-media-currenttime

BUG=399314

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181736 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Support CanvasPattern.setTransform

Patterns have a transformation matrix, which controls how the pattern is used when it is painted. 

Initially, a pattern's transformation matrix must be the identity transform. 

When the setTransform() method is invoked on the pattern, the user agent must replace the pattern's
transformation matrix with the one described by the SVGMatrix object provided as an argument to the method.

Specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-canvaspattern-settransform
IDL Definition: http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting.html#2dcontext:dom-canvaspattern-settransform
Intent to Implement: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/dUt2_2xn3NU

BUG=289572
R=junov@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181737 bbb929c8-8fbe-4397-9dbb-9b2b20218538
In generated dictionary toImpl(), throw all exceptions via ExceptionState

This allows us to simplify callers by not having a v8::TryCatch there, and
instead only check the ExceptionState object.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181738 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: extract TracingManager from TracingModel

Let TracingManager handle back-end interactions while TracingModel
acts just as a container for trace events. The model will later be
moved out of sdk and this will allow introducing backing storage for
trace events (e.g. a file).

BUG=412709

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181741 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Factor painting code out of RenderBox into a new class called BoxPainter.

Along the way, create BoxDecorationData and BorderEdge classes, to represent classes
that used to be internal to the RenderBox and subclass implementations. Also moves
a couple of methods to RenderStyle that use only style data.

This CL increases the size of RenderBox, RenderTable, Render TableCell and RenderFieldset objects by one pointer,
to accomodate a back pointer from the BoxPainter to the Render object.

BUG=412088

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181742 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: MQs should start at zero in the grid

The left hand icon bar now is drawn through to the bottom of the toolbar, so media queries start at actual zero of the rulers. The vertical ruler had to be enlarged to accommodate.

BUG=411247

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181743 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove RuntimeEnabledFeatures flag MediaQueryParser (status=stable)

This flag has been stable for over three months, no point keeping it around.

BUG=375171

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181744 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Auto-rebaseline for r181733

http://src.chromium.org/viewvc/blink?view=revision&revision=181733

BUG=411833
TBR=fs@opera.com

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181745 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Shrink canonicalizedTitle a bit.

Noticed that it was (in content_shell x64 for Linux) 421 and 425 bytes
which seemed excessive. Just rewrote it a bit to do less work for the
same result.

gcc (not even going to guess why createQualifiedName changed):
---------------------------------------------------------------------------------------------------------------------
 -635 - Source: /home/bratell/src/chromium/src/third_party/WebKit/Source/core/dom/Document.cpp - (gained 8, lost 643)
---------------------------------------------------------------------------------------------------------------------
  Grown symbols:
         +8: WebCore::Document::didChangeVisibilityState() type=t, (was 299 bytes, now 307 bytes)
  Shrunk symbols:
        -64: WebCore::createQualifiedName(WTF::AtomicString const&, WTF::AtomicString const&, WebCore::ExceptionState&) type=t, (was 1112 bytes, now 1048 bytes)
       -579: WebCore::Document::updateTitle(WTF::String const&) type=t, (was 1541 bytes, now 962 bytes)

clang:
  Shrunk symbols:
       -241: WebCore::Document::updateTitle(WTF::String const&) type=t, (was 1124 bytes, now 883 bytes)

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181746 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Manual rebaseline for r181492

TBR=dglazkov@chromium.org
BUG=395425

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181747 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Manual rebaselines for r181659

BUG=408075
TBR=pdr@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181748 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Non DCTSIZE multiple width support for JPEG YUV decoding

Since jpeg_read_raw_data reads blocks of memory, we have to make sure
that the memory allocated is a multiple of the DCT block size. For
example, if DCTSIZE is 8, which is generally the case, we have to make
sure that the allocated memory to read the raw JPEG data has a width
rounded up to the next multiple of 8 (if it's not already a multiple
of 8) to avoid writing data out of the bounds of the memory. If this
isn't done properly, the end of some decode image lines can overwrite
the beginning of the following lines.

BUG=411189

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181749 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Adding ArrayBuffer support to ServiceWorker Response and tests

BUG=412027

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181751 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use correct viewport for intrinsic size-less SVG images in <svg:image>

Prior to https://codereview.chromium.org/403393002, an SVG image which had
no intrinsic size specified, would (somewhat accidentally) get the
<image>'s bounds set as their container size. After said CL, the container
size would never be set, and hence remain as 300x150. This will result in
incorrect scale factors being used when painting, and hence an incorrectly
scaled result.
Revert to setting the <image>'s bounds when the SVG image does not have an
intrinsic size.

BUG=411906

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

git-svn-id: svn://svn.chromium.org/blink/trunk@181752 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge FontPlatformDataHarfBuzz into FontPlatformData

From WebKit legacy we have two redundant copies of this file.
In order for switching shapers on mac, we need to fuse these files again. 
This is part two of the merge,
after the headers were merged in r181655 / ad011a9df.

BUG=334269

R=eae

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

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