Merge idl_definitions_builder.py into idl_definitions.py

idl_definitions_builder.py was separate from idl_definitions.py
b/c the latter had lots of Perl compatibility cruft (JSON export etc.)
Now that it's gone, there's no reason to have these separate, as
idl_definitions was almost only class definitions, and
idl_definitions_builder was basically constructors.

Keeping them separate made it harder to read (b/c had to bounce back
and forth), and the calls to the actual constructors were incredibly
long.

This merges them, deleting one file and making the code quite simple.
Net -70 lines, though more like -100 due to adding a few comments
(class diagram).

Change is just merging the functions into constructors (in a few cases
changing an alternative constructor into a class method) and adding
a few comments.

Further cleanup is possible (remove IdlEnum and IdlUnionType),
but involve CG changes, so will do in followup.

BUG=345137
TBR=haraken

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168582 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move StyleSheet to the oilpan heap using transition types.

This makes StyleSheets RefCountedGarbageCollected. Next step is
removing RefPtrs and raw pointers and dealing with finalization
order issues.

R=erik.corry@gmail.com, haraken@chromium.org, wibling@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168583 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: Implement recursive viewport for the Heap Summary view

BUG=255363

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168584 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Convert some Shape code to use references

This change makes shapes implementation inline with webkit's.
Also using references is lot safe for caller method and
also removes extra null checks.

Insprired by https://bugs.webkit.org/show_bug.cgi?id=124876

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168585 bbb929c8-8fbe-4397-9dbb-9b2b20218538
MediaStream API: Update RTCIceCandidate to match the Spec
The members of RTCIceCandidate are no longer read-only.

BUG=349437

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168586 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[SVG] Make all C-macros used in the old property implementation NOOP.

This CL also removes all calls to |localAttributeToPropertyMap()| and |registerAnimatedPropertiesFor##OwnerType()|, the methods which were defined via the macros. This map was already empty, so no change in behavior.
|SVGElement::cleanupAnimatedProperties()| contents are moved back to |~SVGElement()| again, as they were temporary workaround for the old SVGProperty implementation bug.

BUG=308818
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168587 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move testRunner.startSpeechInput/setValueForUser to internals

Now TestRunner is being moved from CppBoundClass to gin::Wrappable,
where it is not appropriate to use WebElements directly. This CL moves
some functions which treats WebElement* from testRunner to internals.
(To be exact, this CL only copies some functions, but I'll remove those ones
in testRunner later.)

BUG=331301

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=168495

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168588 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[SVG] remove deprecated SVG{Static,Animated}{,List}PropertyTearOff.h

These header files are not being referenced from anywhere. They were replaced by NewSVGAnimatedProperty.h

BUG=349370
TBR=haraken,pdr,fs

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

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

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

BUG=349222
TBR=qinmin@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168590 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Enable use_allocator instead of linux_use_tcmalloc in Blink.

See the bug and http://crrev.com/255129 for the details.

BUG=345554
R=haraken@chromium.org, jamesr@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168591 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix incorrect indices for emphasis marks drawing in InlineTextBox::paint

The assertion failure in HarfBuzzShaper is triggered because the TextRun
passed to paintTextWithShadows is replaced with
objectReplacementCharacterTextRun which only has a length of 1.
Previously, we did not have an implementation of emphasis mark
drawing for complex text with HarfBuzz, so instead of running into the
assertion, those paint calls were not doing anything.  The indices have
been wrong since the emphasis marks drawing for RenderCombineText
elements was fixed in 7565e3bbdccf98450271 (in 2011).  I updated the
test case to be equivalent to the original fuzz testing report and so
that it actually combines text that is marked as combined where no
font with narrow digits exists.

BUG=348682

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

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

The recently added 'HashTraits::PeekInType' type allows us to remove
HashMap<RefPtr..> template specialization without loosing the efficiency
and without bringing any significant changes and complexity to the HashMap
class.

To get rid of 'RefPtrHashMap' a new 'RefPtrValuePeeker' type was created
and used as 'HashTraits::PeekInType' for RefPtr. The 'RefPtrValuePeeker'
class can be constructed either from RefPtr, PassRefPtr or a plain pointer,
then it behaves like a plain pointer itself within HashTable methods.

The proposed change brings the following benefits:
1) Removes tons of duplicated code
2) Allows avoiding ref-count churn also at HashSet<RefPtr>

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168593 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove some SVG API

This code is not in use anymore, mostly because of bindings changes.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168594 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add tests for sticky and various display values

Add tests for sticky and various display values, tests should show up all green.

BUG=231754

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168595 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make RenderObject::compositorDrivenAcceleratedScrollingEnabled smarter

This function turned up in one of our profiles. I'm not sure this change makes
much of a difference, but we might as well not have silly code on the profile.

R=esprehn@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168596 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Web Animations: Sort Players in DocumentTimeline::serviceAnimations

This patch makes Animations get serviced in the order specified by the
spec[1]. This means that once custom effect are implemented, they will
be queued up in the correct order. This also gets us closer to having
the animation stack in a correct order (I'm thinking of emptying the
stack after getting out the compositable values, as we traverse the
animations in the correct order).

[1] http://dev.w3.org/fxtf/web-animations/#the-animation-stack

BUG=334936

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168597 bbb929c8-8fbe-4397-9dbb-9b2b20218538
GraphicsLayer::removeAllChildren shouldn't be n^2

This CL changes GraphicsLayer::removeAllChildren to be linear in the number of
children instead of n^2. Previously, we were removing the zero-th element of
the vector in a loop, which causes a shift of all the elements of the vector.
Now we walk the vector from the end, which means remove is constant cost.

This code is called during a compositing update if anything changes about the
GraphicsLayer's children. We didn't actually see this code on our profile
because we're not actually changing the GraphicsLayer tree, but it seemed worth
fixing.

R=ojan@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168598 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Clean up generate_event_interfaces.py

Follow-up to the split CL.
Just clean-up, no changes to generated EventInterfaces.in.

* Rename to generate_event_interfaces (from "*_names")
This is b/c:
- the output file is called EventInterfaces.in
- the output file is used for both EventFactory and EventNames

* Remove EventInterfaces.in from run-bindings-tests
This file is useless, and adds unnecessary complexity to r-b-t.
The actual output file is trivial:
namespace="Event"

Source/bindings/tests/idls/TestInterfaceEventConstructor
...and I've never looked at it during CG changes.

With it, we need to have 2 passes of compute_interfaces_info,
and a separate temporary file.
Without it, once Terry's CL lands, we'll have no individual files,
and we can just use one temporary directory, removing lots of
temp file complexity.

* Compute source_dir robustly (not using getcwd)

* Refactoring and renaming

Follow-up to:
Split generate_event_interfaces.py from compute_interfaces_info.py
https://codereview.chromium.org/185303008/

BUG=341748
R=haraken

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168599 bbb929c8-8fbe-4397-9dbb-9b2b20218538
RenderLayerScrollableArea::updateScrollCornerStyle shouldn't do work if we're using overlay scrollbars

This function showed up on a profile of updateStyle in Silk's toggle_drawer
test case, but there no reason to update the scroll corner style if we're using
overlay scrollbars. If the author has created a custom scrollbar, we'll realize
that we don't have overlay scrollbars.

R=esprehn@chromium.org
BUG=335703

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

git-svn-id: svn://svn.chromium.org/blink/trunk@168601 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[SVG] remove SVGAnimatedEnumerationPropertyTearOff.h

The file is not being referenced from anywhere. Its functionality was moved to SVGAnimatedEnumeration.h

BUG=349370
TBR=haraken,pdr,fs

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

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