| Index: components/dom_distiller/content/dom_distiller_service_factory.cc
|
| diff --git a/components/dom_distiller/content/dom_distiller_service_factory.cc b/components/dom_distiller/content/dom_distiller_service_factory.cc
|
| index a5d7e0de44ed86915381d4b5c9194210c681a7f5..0b88cf3d632cb18cc047703c633689ce53bf55e4 100644
|
| --- a/components/dom_distiller/content/dom_distiller_service_factory.cc
|
| +++ b/components/dom_distiller/content/dom_distiller_service_factory.cc
|
| @@ -4,11 +4,13 @@
|
|
|
| #include "components/dom_distiller/content/dom_distiller_service_factory.h"
|
|
|
| +#include "base/threading/sequenced_worker_pool.h"
|
| #include "components/browser_context_keyed_service/browser_context_dependency_manager.h"
|
| #include "components/dom_distiller/content/distiller_page_web_contents.h"
|
| #include "components/dom_distiller/core/distiller.h"
|
| #include "components/dom_distiller/core/dom_distiller_store.h"
|
| #include "content/public/browser/browser_context.h"
|
| +#include "content/public/browser/browser_thread.h"
|
|
|
| namespace dom_distiller {
|
|
|
| @@ -39,15 +41,32 @@ DomDistillerServiceFactory::~DomDistillerServiceFactory() {}
|
|
|
| BrowserContextKeyedService* DomDistillerServiceFactory::BuildServiceInstanceFor(
|
| content::BrowserContext* profile) const {
|
| - scoped_ptr<DomDistillerStoreInterface> dom_distiller_store;
|
| +
|
| + scoped_refptr<base::SequencedTaskRunner> background_task_runner =
|
| + content::BrowserThread::GetBlockingPool()->GetSequencedTaskRunner(
|
| + content::BrowserThread::GetBlockingPool()->GetSequenceToken());
|
| +
|
| + scoped_ptr<DomDistillerDatabase> db(
|
| + new DomDistillerDatabase(background_task_runner));
|
| +
|
| + base::FilePath database_dir(
|
| + profile->GetPath().Append(FILE_PATH_LITERAL("Articles")));
|
| +
|
| + scoped_ptr<DomDistillerStore> dom_distiller_store(
|
| + new DomDistillerStore(db.PassAs<DomDistillerDatabaseInterface>(),
|
| + database_dir));
|
| +
|
| scoped_ptr<DistillerPageFactory> distiller_page_factory(
|
| new DistillerPageWebContentsFactory(profile));
|
| scoped_ptr<DistillerURLFetcherFactory> distiller_url_fetcher_factory(
|
| new DistillerURLFetcherFactory(profile->GetRequestContext()));
|
| - scoped_ptr<DistillerFactory> distiller_factory(new DistillerFactoryImpl(
|
| - distiller_page_factory.Pass(), distiller_url_fetcher_factory.Pass()));
|
| - return new DomDistillerContextKeyedService(dom_distiller_store.Pass(),
|
| - distiller_factory.Pass());
|
| + scoped_ptr<DistillerFactory> distiller_factory(
|
| + new DistillerFactoryImpl(distiller_page_factory.Pass(),
|
| + distiller_url_fetcher_factory.Pass()));
|
| + return new DomDistillerContextKeyedService(
|
| + dom_distiller_store.PassAs<DomDistillerStoreInterface>(),
|
| + distiller_factory.Pass());
|
| +
|
| }
|
|
|
| content::BrowserContext* DomDistillerServiceFactory::GetBrowserContextToUse(
|
|
|