Make ScriptPromiseProperty GarbageCollectedFinalized.

Off-heap ScriptPromiseProperty with an on-heap holder has a leak.
Hence this CL makes ScriptPromiseProperty an on-heap class.

This CL also fixes the problem that on-heap ScriptPromiseProperty
can't work with un-traceable types, such as integers, V8UndefinedType,
and so on.

BUG=363967
R=dominicc, haraken

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

git-svn-id: svn://svn.chromium.org/blink/trunk@178748 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix bugs in clip parent calculations

I noticed two bugs in the clip parent code - when walking up the layers
in the stacking tree looking for clipping layers, I'd forgotten to
consider the layers themselves (I'd only considered their clipping
containers). I'd also incorrectly gated promotion for having a clip
parent on having an ancestor scrolling layer that needed composited
scrolling. This condition was bogus: we often need a clip parent
precisely because we have no ancestor scrolling layer (eg, we're fixed
positioned and have 'escaped' our ancestor scrollers in tree order).

BUG=None

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

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

git-svn-id: svn://svn.chromium.org/blink/trunk@178749 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Clean up obsolete shadow DOM-related code

* Remove isUnknownPseudoElement() (no user)
* Remove Element.customPseudoId(), use Element.pseudoId()
  Only PseudoElement::customPseudoId() makes sense,
  otherwise NOPSEUDO is returned.

BUG=none
TEST=no layout test failures

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

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