Remove node key from document marker set in Node::didMoveToNewDocument

This patch makes |Node::didMoveToNewDocument| to remove marked node from old document's marker set.

Removal of node key from marker set is similar to node key removal from AXObjectCache. Both removal should be happened in same places.

This patch fixes regression introduced by
https://codereview.chromium.org/98273002, which changed marker set update from |Document::nodeWillBeRemoved| to |Node::willBeDeletedFromDocument|.

BUG=360214
TEST=DocumentMarkerControllerTest.DidMoveToNewDocument

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171527 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Oilpan: Add support for WebLeakDetector.

This CL changes WebLeakDetector to involve multiple event loops. This is needed to support Oilpan precise GC, as it is run in between event loops.

This CL also changes WebLeakDetector interface. The "DOMCount" results are no longer returned synchronously. The old interface "collectGarbargeAndGetDOMCounts" is deprecated in this CL and changed to NOP.

Chromium side CL: https://codereview.chromium.org/230323002

BUG=332630

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171528 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move 'dir' attribute from HTMLDocument to Document.

Move 'dir' attribute from HTMLDocument to Document to comply with the
specification:
http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#dom-document-dir

This behavior is consistent with Firefox 28 and IE11.

BUG=362955
TEST=fast/dom/dir-non-html-document.html

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171529 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move 'scripts' attribute form HTMLDocument to Document

Move 'scripts' attribute form HTMLDocument to Document to comply with the
specification:
http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#dom-document-scripts

This behavior is consistent with IE11. However, Firefox 28 still exposes
'scripts' on HTMLDocument only.

BUG=362955
TEST=fast/dom/Document/scripts-non-html.html

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171530 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Clean up v8_interface.generate_overloads_by_type

(Preliminary refactoring for overload resolution.)

This fixes generate_overloads_by_type to progressively filter lists,
and then apply a short piece of code to them,
instead of having lots of redundant checks and long loops.
(removes 4 |continue| statements by making lists explicit)

R=haraken
BUG=293561

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

git-svn-id: svn://svn.chromium.org/blink/trunk@171531 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert of Make ServiceWorker an EventTarget and dispatch statechange to it. (https://codereview.chromium.org/236823002/)

Reason for revert:
[Gardening] This patch seemed to break http/tests/serviceworker/state.html

Dashboard:
http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=http/tests/serviceworker/state.html

Original issue's description:
> Make ServiceWorker an EventTarget and dispatch statechange to it.
> 
> Some infelicities with the event when reusing a service worker, and
> unregistering service workers, are noted in FIXMEs in the test. Those
> fixes must come later.
> 
> BUG=363413
> R=kinuko@chromium.org
> 
> Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=171525

TBR=kinuko@chromium.org,dominicc@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=363413

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

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