Remove more redundant code from CompositedLayerMapping.

Its amazing what a little use of helper functions
can do for code readability.

Should be no functional change.

BUG=338896

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166083 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Compositor touch hit rects report unnecessary rects for non-composited scrolling layers

A non-composited scrolling layer will get projected to the same compositing
layer as its bounding box so to make its visualization easier don't report
m_scrollableArea->overflowRect().

BUG=337844

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166084 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add a watchlist for Source/core/fetch.

It didn't get one when it was split out of Source/core/loader. Copy the
subscriber list.

BUG=none
TEST=Verified with watchlist.py

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166085 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move V8Utilities::xxxHiddenDependency to V8Binding.h

The goal is to remove V8Utilities.h

This CL also does the following rename:

createHiddenDependency => addHiddenValueToArray
removeHiddenDependency => removeHiddenValueFromArray
transferHiddenDependency => moveEventListenerToNewWrapper (since this is a method specific to event listeners)

BUG=339037

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166086 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Let svg event attributes be reflected the same as html event attributes.

Corresponds to "SVGElement implements GlobalEventHandlers", https://svgwg.org/svg2-draft/types.html#InterfaceSVGElement.

BUG=338288

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166087 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Have getElementsByClassName() / getElementsByTagName*() return an HTMLCollection

Have getElementsByClassName() / getElementsByTagName*() return an HTMLCollection
instead of a NodeList, as per the specification:
http://dom.spec.whatwg.org/#document
http://dom.spec.whatwg.org/#element

This behavior is consistent with Firefox 26 and IE 11.

R=arv, haraken, tkent
BUG=235008

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166088 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[Font Load Events] Make load() work on constructed FontFace objects

* Add a CSSFontSelector parameter to CSSFontFace::beginLoadIfNeeded().
  When a FontFace is not associated with any FontFaceSet, it does not have
  a pointer to CSSSegmentedFontFace. So we have to pass a CSSFontSelector
  as an argument so it can reach FontLoader.

* Tweak CSSFontFace::fontLoaded so it updates its status and resolve
  Promises when m_segmentedFontFace is null.

* Pass Document to CSS parser when constructing FontFace. It is needed to
  parse relative URLs in src:url(...).

BUG=336631
TEST=fast/css/fontface-methods.html

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

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

Remove WTF_COMPILER_SUPPORTS_EABI flag as it is never used.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166090 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Rename collectHarfBuzzRuns to createHarfBuzzRuns

Rename HarfBuzzShaper::collectHarfBuzzRuns to createHarfBuzzRuns to
better represent what the method is doing.

BUG=311372
R=leviw@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166091 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Enable WebSocket new impl behind a runtime enabled feature.

Use NewWebSocketChannelImpl when Blink runtime enabled feature
'ExperimentalWebSocket' is enabled.

We enabled NewWebSocketChannelImpl behind a chromium-side flag at [A], but
it was reverted because it leads to crashes on chrome with the flag
turned on (the chromium-side flag was used previously for another feature
which is stable now and some users turns it on). Hence we change the strategy.

We are going to:

1: Land this CL.
2: Turn the blink runtime enabled feature on on LayoutTests and
   run LayoutTests for both the old impl and the new impl.
3: Stabilize the impl.
4: Land [B] to bind the chromium-side flag and the runtime enabled feature.
5: Remove Settings::ExperimentalWebSocketEnabled.

The chromium-side flag will take effect when [B] is landed.

[A]: https://src.chromium.org/viewvc/blink?view=rev&revision=165637
[B]: https://codereview.chromium.org/138443010/

BUG=275458
R=ricea@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166092 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix a crash by removing an assertion in InsertionPoint::isActive().

InsertionPoint::isActive() assume the following condition always be held:
  - Given an insertion point, if insertionPoint->isInShadowTree() is true,
  then insertionPoint->containingShadowRoot() is always non-null ShadowRoot object.

But this assumption would break while processing editing command, "insert text" (The stack trace is attached at the bug), where the following conditions would be satisfied, unfortunately:
  - insertionPoint->isInShadowTree is true,
  - But the insertionPoint's treeScope()->rootNode() is a *document*, rather than a shadow root.

This patch removes the assertion and explicitly checks whether the insertionPoint->containingShadowRoot() is really non-null shadow root object or not.

This is a quick fix for the P1 crash. See the bug for further investigation.

BUG=338545
TEST=Manually checked that crash doesn't happen. The test case is really hard to minimize.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166093 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix RenderGeometryMap ASSERT in touch hit rect computation

RenderGeometryMap requires that the RenderView be pushed as the first mapping.
It helpfully does this for you when on the 'canMapBetweenRenderers' fast-path,
but not in the slow path.  Touch hit rect computation wasn't explicitly
pushing the RenderView and so could trigger this ASSERT (and potentially
other issues) if the first layer pushed doesn't satisfy the canMapBetweenRenderers
requirement (almost never the case in practice since the first layer is the
document element's layer).

BUG=339141

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166094 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Layout positioned descendants before endLayout().

Also fix an issue with paginated overflow.

BUG=302005

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

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