Remove NoInterfaceObject from BatteryManager.

This flag has been removed from newer versions of the specification.

BUG=353337

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

git-svn-id: svn://svn.chromium.org/blink/trunk@169459 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Oilpan: Fix worker thread termination finalization order issues.

We need to carry out the nullptr assignment to m_workerGlobalScope
before notifying the proxy that the worker thread is going away. 
Otherwise, the main thread could destroy the WorkerThread object 
which owns the m_workerGlobalScope persistent before the assignment 
and that would lead to a use-after-free.

It turns out that there are objects that keep the execution context
alive in order to be able to determine if they are being destructed
on the right thread. Therefore, clearing out the thread member
in WorkerGlobalScope cannot be done before the WorkerGlobalScope
is actually dead. Therefore, the larger change that Sigbjorn did
will not work. (One example of this kind of dependency is
SQLCallbackWrapper.)

We need to just keep the thread member intact and let objects
die normally. The call to detach needs to happen before we
actually kill the worker thread because finalizers need to
be able to access thread local data.

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

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