Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1268)

Unified Diff: chrome/browser/extensions/extension_service.cc

Issue 10392181: Implement serial API for Windows. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: From -> At. Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/extensions/extension_service.h ('k') | chrome/common/extensions/api/experimental_serial.idl » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/extension_service.cc
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index 2b5391b2eba36f3d9034b2f8d9bd1ad2fb402546..87472127e7ff1a84d8a2c59c68e4c2de8db811da 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -438,15 +438,6 @@ ExtensionService::~ExtensionService() {
ExternalExtensionProviderInterface* provider = i->get();
provider->ServiceShutdown();
}
-
- if (api_resource_controller_) {
- // If this check failed, then a unit test was using an APIResource but
- // didn't provide the IO thread message loop needed for those resources to
- // do their job (including destroying themselves at shutdown).
- DCHECK(BrowserThread::IsMessageLoopValid(BrowserThread::IO));
- BrowserThread::DeleteSoon(BrowserThread::IO, FROM_HERE,
- api_resource_controller_);
- }
}
void ExtensionService::InitEventRoutersAfterImport() {
@@ -2551,16 +2542,15 @@ ExtensionService::NaClModuleInfoList::iterator
extensions::APIResourceController*
ExtensionService::api_resource_controller() {
- // TODO(miket): Find a better place for this thing to live. It needs to be
- // scoped such that it can be created and destroyed on the IO thread.
- //
- // To coexist with certain unit tests that don't have an IO thread message
+ // TODO(miket): Find a better place for this thing to live. Like every other
+ // piece of baggage on ExtensionService, it's scoped along with a Profile.
+
+ // To coexist with certain unit tests that don't have a work-thread message
// loop available at ExtensionService shutdown, we lazy-initialize this
// object so that those cases neither create nor destroy an
// APIResourceController.
- CHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
- if (!api_resource_controller_) {
- api_resource_controller_ = new extensions::APIResourceController();
+ if (!api_resource_controller_.get()) {
+ api_resource_controller_.reset(new extensions::APIResourceController());
}
- return api_resource_controller_;
+ return api_resource_controller_.get();
}
« no previous file with comments | « chrome/browser/extensions/extension_service.h ('k') | chrome/common/extensions/api/experimental_serial.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698