Only process each StyleSheetContents once when collecting features during style resolution

Now that Blink shares StyleSheetContents between <style> elements with
identical textContent, it's wasteful to add features from every
CSSStyleSheet instance.

Instead, keep a HashSet of visited StyleSheetContents in
ScopedStyleTree::collectFeaturesTo() and consult it when adding each
stylesheet's features in ScopedStyleResolve::collectFeaturesTo().

The included test goes from ~390ms on my Z620 without to patch
down to ~80ms with it.

BUG=351145

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169044 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Further clean-ups in the Blink Web Notification implementation.

This patch switches the WebNotification API interface to use WebPrivatePtr,
renames various cancel() methods to close(), fixes IWYU in various places
and does more general clean-ups now that the legacy API is gone.

BUG=
R=abarth@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169045 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Propagate onInput event after changing the HTMLSelect value

Dispatch input event when the value of the <select> element is
modified.

R=tkent@chromium.org, mkwst@chromium.org
BUG=349472

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169047 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Let HTMLStyleElement::removedFrom beware in shadow tree with @scoped.

HTMLStyleElement::removedFrom didn't handle the case where
@scope is specified and the element is in a shadow tree.

This change make these two state orthogonal by adding new TreeScope
parameter to StyleEngine::removeStyleSheetCandidateNode().

TEST=style-scoped-shadow-crash.html
BUG=350760
R=tasak,hayato

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169048 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Find cdb in depot_tools toolchain also

For symbolizing crash dumps on Windows.

R=jochen@chromium.org
BUG=https://groups.google.com/a/chromium.org/d/msg/blink-dev/bAGOoOAukN4/Amcwo-tFFzEJ

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169049 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Handle percent height children of multicol containers correctly.

The render flow thread block that's reparented between the multicol container
and its actual children is just an implementation detail, invisible to DOM and CSS.
Its height will always be auto, and we need to bypass it.

BUG=351657

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

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