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

Unified Diff: extensions/shell/browser/shell_browser_main_parts.cc

Issue 437503004: Add NaCl support to app_shell (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: (nacl-init) rebase Created 6 years, 4 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
Index: extensions/shell/browser/shell_browser_main_parts.cc
diff --git a/extensions/shell/browser/shell_browser_main_parts.cc b/extensions/shell/browser/shell_browser_main_parts.cc
index 3a33566a9ad25d6009af6aef9c90ea2162365b23..15ee0d9623c4eec05acd5b1dbf6acd496e34ae27 100644
--- a/extensions/shell/browser/shell_browser_main_parts.cc
+++ b/extensions/shell/browser/shell_browser_main_parts.cc
@@ -31,7 +31,15 @@
#include "extensions/shell/browser/shell_network_controller_chromeos.h"
#endif
+#if !defined(DISABLE_NACL)
+#include "components/nacl/browser/nacl_browser.h"
+#include "components/nacl/browser/nacl_process_host.h"
+#include "content/public/browser/browser_thread.h"
+#include "extensions/shell/browser/shell_nacl_browser_delegate.h"
+#endif
+
using content::BrowserContext;
+using content::BrowserThread;
namespace {
@@ -95,26 +103,26 @@ void ShellBrowserMainParts::PreMainMessageLoopRun() {
// TODO(jamescook): Initialize chromeos::UserManager.
net_log_.reset(new content::ShellNetLog("app_shell"));
- extensions_client_.reset(new ShellExtensionsClient());
- ExtensionsClient::Set(extensions_client_.get());
-
- extensions_browser_client_.reset(
- new ShellExtensionsBrowserClient(browser_context_.get()));
- ExtensionsBrowserClient::Set(extensions_browser_client_.get());
+ InitExtensionsModule();
omaha_query_params_delegate_.reset(new ShellOmahaQueryParamsDelegate);
omaha_query_params::OmahaQueryParams::SetDelegate(
omaha_query_params_delegate_.get());
- // Create our custom ExtensionSystem first because other
- // KeyedServices depend on it.
- // TODO(yoz): Move this after EnsureBrowserContextKeyedServiceFactoriesBuilt.
- CreateExtensionSystem();
-
::EnsureBrowserContextKeyedServiceFactoriesBuilt();
BrowserContextDependencyManager::GetInstance()->CreateBrowserContextServices(
browser_context_.get());
+#if !defined(DISABLE_NACL)
+ // Takes ownership.
+ nacl::NaClBrowser::SetDelegate(
+ new ShellNaClBrowserDelegate(browser_context_.get()));
+ BrowserThread::PostTask(
+ BrowserThread::IO,
+ FROM_HERE,
+ base::Bind(nacl::NaClProcessHost::EarlyStartup));
+#endif
+
devtools_delegate_.reset(
new content::ShellDevToolsDelegate(browser_context_.get()));
if (parameters_.ui_task) {
@@ -157,8 +165,19 @@ void ShellBrowserMainParts::PostDestroyThreads() {
#endif
}
-void ShellBrowserMainParts::CreateExtensionSystem() {
+void ShellBrowserMainParts::InitExtensionsModule() {
teravest 2014/08/12 15:48:31 Why does this code have to be moved into InitExten
James Cook 2014/08/12 18:17:05 It doesn't have to be. I thought PreMainMessageLoo
DCHECK(browser_context_);
+
+ extensions_client_.reset(new ShellExtensionsClient());
+ ExtensionsClient::Set(extensions_client_.get());
+
+ extensions_browser_client_.reset(
+ new ShellExtensionsBrowserClient(browser_context_.get()));
+ ExtensionsBrowserClient::Set(extensions_browser_client_.get());
+
+ // Create our custom ExtensionSystem first because other KeyedServices depend
+ // on it.
+ // TODO(yoz): Move this after EnsureBrowserContextKeyedServiceFactoriesBuilt.
extension_system_ = static_cast<ShellExtensionSystem*>(
ExtensionSystem::Get(browser_context_.get()));
extension_system_->InitForRegularProfile(true);

Powered by Google App Engine
This is Rietveld 408576698