DevTools overlay: use screen, not page coords when passing highlight shapes

This seems to cut a few lines and makes things a bit simpler.

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@178914 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Oilpan: Prepare to move MemoryCache and MemoryCahce::MemoryCacheEntry to Oilpan heap.

Also, this CL makes MemoryCacheLRUList traceable.

setMemoryCacheForTesting was renamed to replaceMemoryCacheFor Testing,
and it returns PassOwnPtr<> for the previous one.

This is a prepration to move Resource hierarchy to Oilpan heap.

BUG=393516

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

git-svn-id: svn://svn.chromium.org/blink/trunk@178915 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix a typo in bindings/scripts/v8_types.py (isoalte -> isolate)

The typo can make some scripting errors.

BUG=none

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

git-svn-id: svn://svn.chromium.org/blink/trunk@178916 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Attempt to deflake service-worker-gc.html

Two failure modes I've seen are:
- one of the "assert wasCollected is false" is missing
- the final "assert wasCollected is false" is actually true

I suspect the setTimeout in onRegister() is causing the 
flakes. The failures are explained if that task can execute 
after unregister or onUnregister.

This patch simplifies the test to only check for gc
in two places: immediately before unregister and
after the worker reaches the redundant state.

BUG=383972,393721

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

git-svn-id: svn://svn.chromium.org/blink/trunk@178917 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Inject a prototype object of a private script into the prototype chain of a holder object

This is a split CL from https://codereview.chromium.org/394773003/.

This CL lets |this| object use properties defined on a prototype object of the private script. For example:

installClass("HTMLMarqueeElement", function(global, HTMLMarqueeElementPrototype) {
  HTMLMarqueeElementPrototype.foo = function () { ... };
  HTMLMarqueeElementPrototype.bar = function () {
    this.foo();  // This CL makes this workable.
  };
});

Before this CL, we had to write foo.call(this) because the HTMLMarqueeElementPrototype is not in the prototype chain of |this| object. After this CL, the HTMLMarqueeElementPrototype is in the prototype chain, so we can just write it as this.foo().

BUG=341031
TEST=fast/dom/private_script_unittest.html

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

git-svn-id: svn://svn.chromium.org/blink/trunk@178918 bbb929c8-8fbe-4397-9dbb-9b2b20218538
ServiceWorker: Implement ServiceWorkerRegistration [1/3]

This implements a part of ServiceWorkerRegistration interface as per the latest
spec, and makes navigator.serviceWorker.register() resolve a promise with a
ServiceWorkerRegistration object instead of a ServiceWorker object.

Spec: https://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#service-worker-registration-obj

[1] Blink: This patch.
[2] Chromium: https://codereview.chromium.org/415963002/
[3] Blink: Remove the macro and fix a bunch of layout tests.


BUG=396400
TEST=compile (tests will be added by subsequent patches)

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

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