| OLD | NEW |
| 1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2014 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_assets_manager_chromeos.h" | 5 #include "chrome/browser/extensions/extension_assets_manager_chromeos.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 280 InstallExtensionCallback callback) { | 280 InstallExtensionCallback callback) { |
| 281 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 281 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 282 | 282 |
| 283 const std::string& user_id = profile->GetProfileUserName(); | 283 const std::string& user_id = profile->GetProfileUserName(); |
| 284 user_manager::UserManager* user_manager = user_manager::UserManager::Get(); | 284 user_manager::UserManager* user_manager = user_manager::UserManager::Get(); |
| 285 if (!user_manager) { | 285 if (!user_manager) { |
| 286 NOTREACHED(); | 286 NOTREACHED(); |
| 287 return; | 287 return; |
| 288 } | 288 } |
| 289 | 289 |
| 290 if (user_manager->IsUserNonCryptohomeDataEphemeral(user_id) || | 290 if (user_manager->IsUserNonCryptohomeDataEphemeral( |
| 291 AccountId::FromUserEmail(user_id)) || |
| 291 !user_manager->IsLoggedInAsUserWithGaiaAccount()) { | 292 !user_manager->IsLoggedInAsUserWithGaiaAccount()) { |
| 292 // Don't cache anything in shared location for ephemeral user or special | 293 // Don't cache anything in shared location for ephemeral user or special |
| 293 // user types. | 294 // user types. |
| 294 ExtensionAssetsManagerChromeOS::GetFileTaskRunner(profile)->PostTask( | 295 ExtensionAssetsManagerChromeOS::GetFileTaskRunner(profile)->PostTask( |
| 295 FROM_HERE, | 296 FROM_HERE, |
| 296 base::Bind(&ExtensionAssetsManagerChromeOS::InstallLocalExtension, | 297 base::Bind(&ExtensionAssetsManagerChromeOS::InstallLocalExtension, |
| 297 id, | 298 id, |
| 298 version, | 299 version, |
| 299 unpacked_extension_root, | 300 unpacked_extension_root, |
| 300 local_install_dir, | 301 local_install_dir, |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 523 return false; | 524 return false; |
| 524 } | 525 } |
| 525 | 526 |
| 526 size_t num_users = users->GetSize(); | 527 size_t num_users = users->GetSize(); |
| 527 for (size_t i = 0; i < num_users; i++) { | 528 for (size_t i = 0; i < num_users; i++) { |
| 528 std::string user_id; | 529 std::string user_id; |
| 529 if (!users->GetString(i, &user_id)) { | 530 if (!users->GetString(i, &user_id)) { |
| 530 NOTREACHED(); | 531 NOTREACHED(); |
| 531 return false; | 532 return false; |
| 532 } | 533 } |
| 533 const user_manager::User* user = user_manager->FindUser(user_id); | 534 const user_manager::User* user = |
| 535 user_manager->FindUser(AccountId::FromUserEmail(user_id)); |
| 534 bool not_used = false; | 536 bool not_used = false; |
| 535 if (!user) { | 537 if (!user) { |
| 536 not_used = true; | 538 not_used = true; |
| 537 } else if (user->is_logged_in()) { | 539 } else if (user->is_logged_in()) { |
| 538 // For logged in user also check that this path is actually used as | 540 // For logged in user also check that this path is actually used as |
| 539 // installed extension or as delayed install. | 541 // installed extension or as delayed install. |
| 540 Profile* profile = | 542 Profile* profile = |
| 541 chromeos::ProfileHelper::Get()->GetProfileByUserUnsafe(user); | 543 chromeos::ProfileHelper::Get()->GetProfileByUserUnsafe(user); |
| 542 ExtensionPrefs* extension_prefs = ExtensionPrefs::Get(profile); | 544 ExtensionPrefs* extension_prefs = ExtensionPrefs::Get(profile); |
| 543 if (!extension_prefs || extension_prefs->pref_service()->ReadOnly()) | 545 if (!extension_prefs || extension_prefs->pref_service()->ReadOnly()) |
| (...skipping 22 matching lines...) Expand all Loading... |
| 566 std::make_pair(id, base::FilePath(shared_path))); | 568 std::make_pair(id, base::FilePath(shared_path))); |
| 567 } else { | 569 } else { |
| 568 extension_info->RemoveWithoutPathExpansion(*it, NULL); | 570 extension_info->RemoveWithoutPathExpansion(*it, NULL); |
| 569 } | 571 } |
| 570 } | 572 } |
| 571 | 573 |
| 572 return true; | 574 return true; |
| 573 } | 575 } |
| 574 | 576 |
| 575 } // namespace extensions | 577 } // namespace extensions |
| OLD | NEW |