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

Unified Diff: trunk/src/chrome/browser/extensions/extension_garbage_collector_chromeos.cc

Issue 306023007: Revert 273763 "Add garbage collection for shared extensions on C..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 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
Index: trunk/src/chrome/browser/extensions/extension_garbage_collector_chromeos.cc
===================================================================
--- trunk/src/chrome/browser/extensions/extension_garbage_collector_chromeos.cc (revision 273797)
+++ trunk/src/chrome/browser/extensions/extension_garbage_collector_chromeos.cc (working copy)
@@ -1,80 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/extensions/extension_garbage_collector_chromeos.h"
-
-#include "chrome/browser/chromeos/login/users/user_manager.h"
-#include "chrome/browser/extensions/extension_assets_manager_chromeos.h"
-#include "chrome/browser/extensions/extension_service.h"
-#include "extensions/browser/extension_system.h"
-
-namespace extensions {
-
-bool ExtensionGarbageCollectorChromeOS::shared_extensions_garbage_collected =
- false;
-
-ExtensionGarbageCollectorChromeOS::ExtensionGarbageCollectorChromeOS(
- content::BrowserContext* context)
- : ExtensionGarbageCollector(context),
- disable_garbage_collection_(false) {
-}
-
-ExtensionGarbageCollectorChromeOS::~ExtensionGarbageCollectorChromeOS() {}
-
-// static
-ExtensionGarbageCollectorChromeOS* ExtensionGarbageCollectorChromeOS::Get(
- content::BrowserContext* context) {
- return static_cast<ExtensionGarbageCollectorChromeOS*>(
- ExtensionGarbageCollector::Get(context));
-}
-
-void ExtensionGarbageCollectorChromeOS::GarbageCollectExtensions() {
- if (disable_garbage_collection_)
- return;
-
- // Process per-profile extensions dir.
- ExtensionGarbageCollector::GarbageCollectExtensions();
-
- if (!shared_extensions_garbage_collected &&
- CanGarbageCollectSharedExtensions()) {
- GarbageCollectSharedExtensions();
- shared_extensions_garbage_collected = true;
- }
-}
-
-bool ExtensionGarbageCollectorChromeOS::CanGarbageCollectSharedExtensions() {
- chromeos::UserManager* user_manager = chromeos::UserManager::Get();
- if (!user_manager) {
- NOTREACHED();
- return false;
- }
-
- const chromeos::UserList& active_users = user_manager->GetLoggedInUsers();
- for (size_t i = 0; i < active_users.size(); i++) {
- Profile* profile = user_manager->GetProfileByUser(active_users[i]);
- ExtensionGarbageCollectorChromeOS* gc =
- ExtensionGarbageCollectorChromeOS::Get(profile);
- if (gc->crx_installs_in_progress_ > 0)
- return false;
- }
-
- return true;
-}
-
-void ExtensionGarbageCollectorChromeOS::GarbageCollectSharedExtensions() {
- std::multimap<std::string, base::FilePath> paths;
- if (ExtensionAssetsManagerChromeOS::CleanUpSharedExtensions(&paths)) {
- ExtensionService* service =
- ExtensionSystem::Get(context_)->extension_service();
- if (!service->GetFileTaskRunner()->PostTask(
- FROM_HERE,
- base::Bind(&GarbageCollectExtensionsOnFileThread,
- ExtensionAssetsManagerChromeOS::GetSharedInstallDir(),
- paths))) {
- NOTREACHED();
- }
- }
-}
-
-} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698