Remove BlobBuilder.

The BlobBuilder JavaScript API was removed some time ago. However, its
implementation in core/fileapi/BlobBuilder.{cpp,h} remained, as it was
used by the Blob constructor.

This commit pushes the functionality from BlobBuilder into Blob, File
and BlobData.

BUG=315038

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164151 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Simplify the insides of DocumentSharedObjectPool and reduce memory usage

Instead of storing an OwnPtr to an object that has a pointer to the
SharableElementData as well as a pointer into the SharableElementData
and the length we can just store a RefPtr to the SharableElementData.

This also reduces the memory usage of the pool by 2 pointers per entry.

In making this change I also realized that the way the cache currently works
when two elements with attributes that hash to the same value collide we
just don't share. I think we need fix this with a HashTranslator in the future.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164152 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Reverting custom pseudo element.

Since custom pseudo element was deprecated and removed from shadow dom spec,
we should remove the code from Blink, i.e.
(1) replacing pseudo with shadowPseudoId,
(2) replacing setPseudo with setShadowPseudoId,
(3) adding m_shadowPseudoId to elementRareData,
(4) removing pseudoAttr,
(5) removing psuedo and webkitPseudo from Element.idl,
(6) fixing layout tests using pseudoAttr.

However, we have to keep "cue" and -webkit-prefixed custom pseudo elements.
So We still need "shadowPseudoId" and "setShadowPseudoId".

BUG=321953

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164153 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove usage of Length(Undefined) as a placeholder in GridLength

This patch simplifies some of the logic in creating and applying
GridLength and GridTrackSize values to RenderStyles by using the
constructors for initialisation instead of deferring to setters.

Neither of createGridTrackSize nor createGridTrackBreadth should
be able to fail, so these are changed to return objects directly
instead of taking an out reference (note that in general failing
in applying properties is incorrect and we should catch these in
the parser).

I've also removed copying the quirk value across to the Lengths,
this doesn't apply to Grid (maybe we can remove the Length quirk
in a later patch, it only appears to be used for margins).

BUG=329365

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164154 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: Parallelize module-wise compilation in compile_frontend.py

If more than 8G of RAM are available, the modules will be compiled in parallel,
with the nice level of 10 (since the number of modules can exceed the number of cores).
Parallel compilation can be forced by setting the environment variable
FORCE_PARALLEL_DEVTOOLS_COMPILATION=1.

This gives a rougly 50% performance gain (47s vs 101s on the local machine).

R=aandrey, eustas, vsevik
NOTRY=true

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

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