| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/extensions/extension_system.h" | 5 #include "chrome/browser/extensions/extension_system.h" |
| 6 | 6 |
| 7 #include "base/base_switches.h" | 7 #include "base/base_switches.h" |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 180 // Load any extensions specified with --load-extension. | 180 // Load any extensions specified with --load-extension. |
| 181 // TODO(yoz): Seems like this should move into ExtensionService::Init. | 181 // TODO(yoz): Seems like this should move into ExtensionService::Init. |
| 182 // But maybe it's no longer important. | 182 // But maybe it's no longer important. |
| 183 if (command_line->HasSwitch(switches::kLoadExtension)) { | 183 if (command_line->HasSwitch(switches::kLoadExtension)) { |
| 184 CommandLine::StringType path_list = command_line->GetSwitchValueNative( | 184 CommandLine::StringType path_list = command_line->GetSwitchValueNative( |
| 185 switches::kLoadExtension); | 185 switches::kLoadExtension); |
| 186 base::StringTokenizerT<CommandLine::StringType, | 186 base::StringTokenizerT<CommandLine::StringType, |
| 187 CommandLine::StringType::const_iterator> t(path_list, | 187 CommandLine::StringType::const_iterator> t(path_list, |
| 188 FILE_PATH_LITERAL(",")); | 188 FILE_PATH_LITERAL(",")); |
| 189 while (t.GetNext()) { | 189 while (t.GetNext()) { |
| 190 std::string extension_id; |
| 190 UnpackedInstaller::Create(extension_service_.get())-> | 191 UnpackedInstaller::Create(extension_service_.get())-> |
| 191 LoadFromCommandLine(base::FilePath(t.token()), false); | 192 LoadFromCommandLine(base::FilePath(t.token()), &extension_id); |
| 192 } | 193 } |
| 193 } | 194 } |
| 194 } | 195 } |
| 195 | 196 |
| 196 // Make the chrome://extension-icon/ resource available. | 197 // Make the chrome://extension-icon/ resource available. |
| 197 content::URLDataSource::Add(profile_, new ExtensionIconSource(profile_)); | 198 content::URLDataSource::Add(profile_, new ExtensionIconSource(profile_)); |
| 198 | 199 |
| 199 // Initialize extension event routers. Note that on Chrome OS, this will | 200 // Initialize extension event routers. Note that on Chrome OS, this will |
| 200 // not succeed if the user has not logged in yet, in which case the | 201 // not succeed if the user has not logged in yet, in which case the |
| 201 // event routers are initialized in LoginUtilsImpl::CompleteLogin instead. | 202 // event routers are initialized in LoginUtilsImpl::CompleteLogin instead. |
| (...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 415 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( | 416 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( |
| 416 const std::string& extension_id, | 417 const std::string& extension_id, |
| 417 const extension_misc::UnloadedExtensionReason reason) { | 418 const extension_misc::UnloadedExtensionReason reason) { |
| 418 BrowserThread::PostTask( | 419 BrowserThread::PostTask( |
| 419 BrowserThread::IO, FROM_HERE, | 420 BrowserThread::IO, FROM_HERE, |
| 420 base::Bind(&ExtensionInfoMap::RemoveExtension, info_map(), | 421 base::Bind(&ExtensionInfoMap::RemoveExtension, info_map(), |
| 421 extension_id, reason)); | 422 extension_id, reason)); |
| 422 } | 423 } |
| 423 | 424 |
| 424 } // namespace extensions | 425 } // namespace extensions |
| OLD | NEW |