Oilpan: Use transition types for HTMLMediaElement and make AudioSourceProviderClient a GC mixin.

BUG=357163
R=haraken@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176013 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[SVG2] Add support for the 'turn' unit in <angle>.

Spec:
https://svgwg.org/svg2-draft/painting.html#OrientAttribute
http://www.w3.org/TR/2012/WD-css3-values-20120308/#angles

BUG=377514

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176014 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make SurroundingText work for a Range.

It generalize the algorithm to find the surrounding text to be able to
work with a starting position and an ending position. The goal is to be
able to get the surrounding text arround the current selection.

BUG=330238

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176015 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use webkit-margin-end for details element to get same margin for both ltr and rtl

RenderDetailMarker needs both left and right margin to get rendered with same margin. Updated with webkit-margin-end to get the same margin result for both ltr and rtl

R=eseidel, leviw, tkent
BUG=335075
TEST=Existing details-writing-mode covers test for showing text in RTL box, with the patch rtl box now shows margin which is currently missing.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176016 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IDL: restructure logic handling registration of methods

Methods are registered in one of three different ways on an interface's
prototype object;

 1) via an entry in a static array,
 2) via custom code in the interface's configure{{class}}Template(), or
 3) via custom code in its installPerContextEnabledMethods();

depending on whether the method is static and its extended attributes.
E.g., [RuntimeEnabled] leads to 2 and [PerContextEnabled] leads to 3.

The old method of setting flags on each method signalling how it ought
to be registered, and filtering the single list of methods in the
templates based on these flags, was becoming seriously unwieldy for
complicated cases such as overloaded methods.

To address this, change the logic to instead filter methods into three
lists in the scripts, one for each type of registration. The templates
simply use a different list of methods when generating the different
code blocks.

For overloaded methods, take the attributes of all overloads into
account, instead of looking at only one of them (the first in IDL file
order, as it were.)

Also introduce a compile-time check that a set of overloaded methods
doesn't contain methods with conflicting extended attributes that affect
how the method ought to be registered.

BUG=339000

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176017 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make SpeechSynthesis gracefully handle ExecutionContext-less operation.

The SpeechSynthesis may lose its observed execution context and still
be accessed by the platform. Check if present before accessing the
context.

R=haraken@chromium.org
BUG=345061

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176018 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Oilpan: Switch RefCountedGarbageCollected to GarbageCollectedFinalized for Node.

- Source/core/dom/Node.h
  Replace TreeSharedWillBeRefCountedGarbageCollected with
  TreeSharedWillBeGarbageCollectedFinalized.
- Source/platform/heap/Handle.h
  Replace TreeSharedWillBeRefCountedGarbageCollected with
  TreeSharedWillBeGarbageCollectedFinalized.
- public/platform/WebPrivatePtr.h
  Introduce PtrStorageImpl<T, GarbageCollectedLifetime>::
  assign(const RawPtr<U>&) because matching RawPtr<U> value with
  assign(const RawPtr<T>&) and assign(T*) are ambiguous.

Leftover RefPtr:
- Source/core/dom/StyleEngine.cpp
- Source/core/dom/StyleEngine.h
- Source/core/fetch/FontResource.h

Remove |using| directives for T::ref and T::deref if ENABLE(OILPAN)
- Source/core/dom/Document.h
- Source/core/html/HTMLFormControlElement.h
- Source/core/html/HTMLObjectElement.h
- Source/core/svg/SVGSVGElement.h
- Source/core/svg/SVGViewElement.h

Simple replacement of adoptRefWillBeRefCountedGarbageCollected:
- Source/core/dom/Attr.cpp
- Source/core/dom/CDATASection.cpp
- Source/core/dom/Comment.cpp
- Source/core/dom/Document.h
- Source/core/dom/DocumentFragment.cpp
- Source/core/dom/DocumentType.h
- Source/core/dom/Element.cpp
- Source/core/dom/Element.h
- Source/core/dom/ProcessingInstruction.cpp
- Source/core/dom/PseudoElement.h
- Source/core/dom/TemplateContentDocumentFragment.h
- Source/core/dom/Text.cpp
- Source/core/dom/XMLDocument.h
- Source/core/dom/shadow/ShadowRoot.h
- Source/core/html/HTMLAnchorElement.cpp
- Source/core/html/HTMLAppletElement.cpp
- Source/core/html/HTMLAudioElement.cpp
- Source/core/html/HTMLButtonElement.cpp
- Source/core/html/HTMLDataListElement.cpp
- Source/core/html/HTMLDetailsElement.cpp
- Source/core/html/HTMLDocument.h
- Source/core/html/HTMLEmbedElement.cpp
- Source/core/html/HTMLFieldSetElement.cpp
- Source/core/html/HTMLFormElement.cpp
- Source/core/html/HTMLImageElement.cpp
- Source/core/html/HTMLInputElement.cpp
- Source/core/html/HTMLKeygenElement.cpp
- Source/core/html/HTMLLinkElement.cpp
- Source/core/html/HTMLMarqueeElement.cpp
- Source/core/html/HTMLMeterElement.cpp
- Source/core/html/HTMLObjectElement.cpp
- Source/core/html/HTMLOptionElement.cpp
- Source/core/html/HTMLOutputElement.cpp
- Source/core/html/HTMLProgressElement.cpp
- Source/core/html/HTMLScriptElement.cpp
- Source/core/html/HTMLSelectElement.cpp
- Source/core/html/HTMLStyleElement.cpp
- Source/core/html/HTMLSummaryElement.cpp
- Source/core/html/HTMLTextAreaElement.cpp
- Source/core/html/HTMLUnknownElement.h
- Source/core/html/HTMLVideoElement.cpp
- Source/core/html/HTMLViewSourceDocument.h
- Source/core/html/ImageDocument.h
- Source/core/html/MediaDocument.h
- Source/core/html/PluginDocument.h
- Source/core/html/TextDocument.h
- Source/core/html/forms/TextFieldInputType.cpp
- Source/core/html/shadow/ClearButtonElement.cpp
- Source/core/html/shadow/DateTimeEditElement.cpp
- Source/core/html/shadow/DateTimeFieldElements.cpp
- Source/core/html/shadow/DetailsMarkerControl.h
- Source/core/html/shadow/MediaControlElements.cpp
- Source/core/html/shadow/MediaControls.cpp
- Source/core/html/shadow/MeterShadowElement.cpp
- Source/core/html/shadow/PickerIndicatorElement.cpp
- Source/core/html/shadow/SliderThumbElement.cpp
- Source/core/html/shadow/SpinButtonElement.cpp
- Source/core/html/shadow/TextControlInnerElements.cpp
- Source/core/html/track/vtt/VTTCue.h
- Source/core/html/track/vtt/VTTElement.cpp
- Source/core/loader/SinkDocument.h
- Source/core/svg/SVGAnimateElement.cpp
- Source/core/svg/SVGScriptElement.cpp
- Source/core/svg/SVGScriptElement.cpp
- Source/core/svg/SVGUseElement.cpp

BUG=357163

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176019 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove unnecessary .get() in DOMEditor::ReplaceChildNodeAction.

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176020 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Oilpan: Prepare moving inspector script related classes to oilpan.

This moves the following classes to the heap:
JavaScriptCallFrame
ScriptArguments
ScriptCallStack
ScriptProfile

BUG=340522

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176021 bbb929c8-8fbe-4397-9dbb-9b2b20218538
This is a follow up of r174021 where we added support for placing grid items
using named grid lines. We left unfixed the case of the author using non
existent named grid lines. The truth is that it was already partially fixed
by some previous changes.

Instead of forcing resolveGridPositionFromStyle() to return a non resolved
grid position (like 'auto') we try to detect the usage of a non existent
named grid line before trying to resolve the grid position.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176022 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix for magnifying glass to magnify/shrink images when the zoom is not at 100%.

Allow zoom/restore in a zoomed image document. It is a regression from the earlier fix:
http://src.chromium.org/viewvc/blink?revision=156402&view=revision

BUG=324086
R=levi, tony

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176023 bbb929c8-8fbe-4397-9dbb-9b2b20218538
The position of opaque black rect is incorrect when alpha is false.

It should be drawn using the layout rect instead of the canvas size rect.

BUG=382884

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176024 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Enable Oilpan by default in modules/speech/

R=dmazzoni@chromium.org,haraken@chromium.org,tommi@chromium.org,tkent@chromium.org
BUG=340522

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176025 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Oilpan: Test/example showing how to get the GC to remove empty sets from a map

R=haraken@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176026 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove SimpleFontData::applyTransforms, which is a no-op.

BUG=383594

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176027 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IDL: support per-overload [RuntimeEnabled] extended attribute

If different overloads of a method have different [RuntimeEnabled]
extended attributes, check the runtime flags as part of overload
resolution instead of when configuring the prototype object template.
If the runtime feature is disabled, the overload resolution algorithm
will act as if the method did not exist.

If all overloads have the same [RuntimeEnabled] extended attribute,
it is checked when configured the prototype object template as for
regular non-overloaded methods.

BUG=339000

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176028 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Removing "using" declarations that import names in the C++ Standard library.

This is as per the the coding guidelines for blink, which disallows the
use of "using" declarations of any kind to import names in the standard
template library.

BUG=NONE

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176032 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Rename Repaint to Paint Invalidation Part 4

This CL renames the remaining methods in RenderObject which used repaint to
be paint invalidation.

BUG=338691

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176033 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Oilpan: Fix leaks through RenderStyle objects.

RenderStyle objects are not on the heap and they keep the CSSFontSelector
and its associated ResourceFetcher alive. We turned raw pointers to the
document in CSSFontSelector and ResourceFetcher into traced Members. That
will leak until we can also trace through the RenderStyle structure.

See crbug.com/383860 for details.

This fixed the leaks by using WeakMembers to the document in these two
places. We really should trace through all of this but that is going
to be a larger change and we should fix this leak now.

R=haraken@chromium.org, oilpan-reviews@chromium.org, sigbjornf@opera.com
BUG=383860

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176034 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix fast/css tests for Win7/DirectWrite by explicitly setting height

The height of text and form control can vary slightly depending on
alignment and baseline. Explicitly set height for CSS tests that do not
test nor depend on text rendering.

BUG=378610
R=dglazkov@chromium.org, eseidel@chromium.org

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

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