OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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_service.h" | 5 #include "chrome/browser/extensions/extension_service.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <iterator> | 8 #include <iterator> |
9 #include <set> | 9 #include <set> |
10 | 10 |
(...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
496 if (state == extensions::BLACKLISTED_SECURITY_VULNERABILITY || | 496 if (state == extensions::BLACKLISTED_SECURITY_VULNERABILITY || |
497 state == extensions::BLACKLISTED_POTENTIALLY_UNWANTED || | 497 state == extensions::BLACKLISTED_POTENTIALLY_UNWANTED || |
498 state == extensions::BLACKLISTED_CWS_POLICY_VIOLATION) | 498 state == extensions::BLACKLISTED_CWS_POLICY_VIOLATION) |
499 greylist_.Insert(*it); | 499 greylist_.Insert(*it); |
500 } | 500 } |
501 } | 501 } |
502 | 502 |
503 bool ExtensionService::UpdateExtension(const std::string& id, | 503 bool ExtensionService::UpdateExtension(const std::string& id, |
504 const base::FilePath& extension_path, | 504 const base::FilePath& extension_path, |
505 bool file_ownership_passed, | 505 bool file_ownership_passed, |
506 const GURL& download_url, | |
507 CrxInstaller** out_crx_installer) { | 506 CrxInstaller** out_crx_installer) { |
508 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 507 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
509 if (browser_terminating_) { | 508 if (browser_terminating_) { |
510 LOG(WARNING) << "Skipping UpdateExtension due to browser shutdown"; | 509 LOG(WARNING) << "Skipping UpdateExtension due to browser shutdown"; |
511 // Leak the temp file at extension_path. We don't want to add to the disk | 510 // Leak the temp file at extension_path. We don't want to add to the disk |
512 // I/O burden at shutdown, we can't rely on the I/O completing anyway, and | 511 // I/O burden at shutdown, we can't rely on the I/O completing anyway, and |
513 // the file is in the OS temp directory which should be cleaned up for us. | 512 // the file is in the OS temp directory which should be cleaned up for us. |
514 return false; | 513 return false; |
515 } | 514 } |
516 | 515 |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
576 | 575 |
577 if (extension && extension->was_installed_by_oem()) | 576 if (extension && extension->was_installed_by_oem()) |
578 creation_flags |= Extension::WAS_INSTALLED_BY_OEM; | 577 creation_flags |= Extension::WAS_INSTALLED_BY_OEM; |
579 | 578 |
580 if (extension && extension->is_ephemeral()) | 579 if (extension && extension->is_ephemeral()) |
581 creation_flags |= Extension::IS_EPHEMERAL; | 580 creation_flags |= Extension::IS_EPHEMERAL; |
582 | 581 |
583 installer->set_creation_flags(creation_flags); | 582 installer->set_creation_flags(creation_flags); |
584 | 583 |
585 installer->set_delete_source(file_ownership_passed); | 584 installer->set_delete_source(file_ownership_passed); |
586 installer->set_download_url(download_url); | |
587 installer->set_install_cause(extension_misc::INSTALL_CAUSE_UPDATE); | 585 installer->set_install_cause(extension_misc::INSTALL_CAUSE_UPDATE); |
588 installer->InstallCrx(extension_path); | 586 installer->InstallCrx(extension_path); |
589 | 587 |
590 if (out_crx_installer) | 588 if (out_crx_installer) |
591 *out_crx_installer = installer.get(); | 589 *out_crx_installer = installer.get(); |
592 | 590 |
593 return true; | 591 return true; |
594 } | 592 } |
595 | 593 |
596 void ExtensionService::ReloadExtension(const std::string extension_id) { | 594 void ExtensionService::ReloadExtension(const std::string extension_id) { |
(...skipping 1848 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2445 void ExtensionService::UnloadAllExtensionsInternal() { | 2443 void ExtensionService::UnloadAllExtensionsInternal() { |
2446 profile_->GetExtensionSpecialStoragePolicy()->RevokeRightsForAllExtensions(); | 2444 profile_->GetExtensionSpecialStoragePolicy()->RevokeRightsForAllExtensions(); |
2447 | 2445 |
2448 registry_->ClearAll(); | 2446 registry_->ClearAll(); |
2449 system_->runtime_data()->ClearAll(); | 2447 system_->runtime_data()->ClearAll(); |
2450 | 2448 |
2451 // TODO(erikkay) should there be a notification for this? We can't use | 2449 // TODO(erikkay) should there be a notification for this? We can't use |
2452 // EXTENSION_UNLOADED since that implies that the extension has been disabled | 2450 // EXTENSION_UNLOADED since that implies that the extension has been disabled |
2453 // or uninstalled. | 2451 // or uninstalled. |
2454 } | 2452 } |
OLD | NEW |