Add SharedWorkerMessageFilter for the embedded SharedWorker.

It will be used instead of WorkerMessageFilter when "enable-embedded-shared-worker" is set.

BUG=327256

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251334 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 251334
Implementations of SharedWorker in the renderer process.

In this CL I introduce 2 classes (EmbeddedSharedWorkerDevToolsAgent, EmbeddedSharedWorkerStub).

EmbeddedSharedWorkerStub and EmbeddedSharedWorkerDevToolsAgent are almost same as WebSharedWorkerStub and SharedWorkerDevToolsAgent which are used in the worker process now.
These classes are not used yet.
EmbeddedSharedWorkerStub will be created when CreateWorker message is received by RenderThreadImpl.

In this CL I move shared_worker_devtools_agent.* from content/worker/ to content/child/ because I want use it from content/renderer/shared_worker.

BUG=327256

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251335 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 251335
Eliminate potential for flaky crash in BCKSFactory::SetTestingFactory().

BCKSFactory::SetTestingFactory() calls BCKSFactory::BrowserContextShutdown(),
which a BCKSFactory subclass may override to perform operations that result in
BrowserContextDependencyManager::AssertBrowserContextWasntDestroyed() being
called (e.g., BCKSFactory::GetServiceForContext()). When used with
TestingProfile::Builder, BCKSFactory::SetTestingFactory() is called *before*
the TestingProfile calls
BrowserContextDependencyManager::CreateBrowserContextServicesForTest(). These
facts set up the potential for a flaky crash: if the BrowserContext instance
being used is at the same address as one that had been used in a previous test,
then the call to AssertBrowserContextWasntDestroyed() will raise an error. This
CL eliminates the potential for that crash by explicitly informing
BrowserContextDependencyManager that the BrowserContext instance being used in
BCKSFactory::SetTestingFactory() is live.

NOTRY=true

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251336 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 251336