| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 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_gcm_app_handler.h" | 5 #include "chrome/browser/extensions/extension_gcm_app_handler.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 #include "components/gcm_driver/fake_gcm_app_handler.h" | 38 #include "components/gcm_driver/fake_gcm_app_handler.h" |
| 39 #include "components/gcm_driver/fake_gcm_client.h" | 39 #include "components/gcm_driver/fake_gcm_client.h" |
| 40 #include "components/gcm_driver/fake_gcm_client_factory.h" | 40 #include "components/gcm_driver/fake_gcm_client_factory.h" |
| 41 #include "components/gcm_driver/gcm_client_factory.h" | 41 #include "components/gcm_driver/gcm_client_factory.h" |
| 42 #include "components/gcm_driver/gcm_driver.h" | 42 #include "components/gcm_driver/gcm_driver.h" |
| 43 #include "components/gcm_driver/gcm_profile_service.h" | 43 #include "components/gcm_driver/gcm_profile_service.h" |
| 44 #include "components/keyed_service/core/keyed_service.h" | 44 #include "components/keyed_service/core/keyed_service.h" |
| 45 #include "components/signin/core/browser/signin_manager.h" | 45 #include "components/signin/core/browser/signin_manager.h" |
| 46 #include "content/public/browser/browser_context.h" | 46 #include "content/public/browser/browser_context.h" |
| 47 #include "content/public/browser/browser_thread.h" | 47 #include "content/public/browser/browser_thread.h" |
| 48 #include "content/public/browser/service_manager_context.h" |
| 48 #include "content/public/test/test_browser_thread_bundle.h" | 49 #include "content/public/test/test_browser_thread_bundle.h" |
| 49 #include "content/public/test/test_utils.h" | 50 #include "content/public/test/test_utils.h" |
| 50 #include "extensions/browser/extension_system.h" | 51 #include "extensions/browser/extension_system.h" |
| 51 #include "extensions/browser/uninstall_reason.h" | 52 #include "extensions/browser/uninstall_reason.h" |
| 52 #include "extensions/common/extension.h" | 53 #include "extensions/common/extension.h" |
| 53 #include "extensions/common/manifest.h" | 54 #include "extensions/common/manifest.h" |
| 54 #include "extensions/common/manifest_constants.h" | 55 #include "extensions/common/manifest_constants.h" |
| 55 #include "extensions/common/permissions/api_permission.h" | 56 #include "extensions/common/permissions/api_permission.h" |
| 56 #include "extensions/common/permissions/permissions_data.h" | 57 #include "extensions/common/permissions/permissions_data.h" |
| 57 #include "testing/gtest/include/gtest/gtest.h" | 58 #include "testing/gtest/include/gtest/gtest.h" |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 233 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | 234 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
| 234 | 235 |
| 235 // Make BrowserThread work in unittest. | 236 // Make BrowserThread work in unittest. |
| 236 thread_bundle_.reset(new content::TestBrowserThreadBundle( | 237 thread_bundle_.reset(new content::TestBrowserThreadBundle( |
| 237 content::TestBrowserThreadBundle::REAL_IO_THREAD)); | 238 content::TestBrowserThreadBundle::REAL_IO_THREAD)); |
| 238 | 239 |
| 239 // Allow extension update to unpack crx in process. | 240 // Allow extension update to unpack crx in process. |
| 240 in_process_utility_thread_helper_.reset( | 241 in_process_utility_thread_helper_.reset( |
| 241 new content::InProcessUtilityThreadHelper); | 242 new content::InProcessUtilityThreadHelper); |
| 242 | 243 |
| 244 service_manager_context_ = content::ServiceManagerContext::Create(); |
| 245 |
| 243 // This is needed to create extension service under CrOS. | 246 // This is needed to create extension service under CrOS. |
| 244 #if defined(OS_CHROMEOS) | 247 #if defined(OS_CHROMEOS) |
| 245 test_user_manager_.reset(new chromeos::ScopedTestUserManager()); | 248 test_user_manager_.reset(new chromeos::ScopedTestUserManager()); |
| 246 // Creating a DBus thread manager setter has the side effect of | 249 // Creating a DBus thread manager setter has the side effect of |
| 247 // creating a DBusThreadManager, which is needed for testing. | 250 // creating a DBusThreadManager, which is needed for testing. |
| 248 // We don't actually need the setter so we ignore the return value. | 251 // We don't actually need the setter so we ignore the return value. |
| 249 chromeos::DBusThreadManager::GetSetterForTesting(); | 252 chromeos::DBusThreadManager::GetSetterForTesting(); |
| 250 #endif | 253 #endif |
| 251 | 254 |
| 252 // Create a new profile. | 255 // Create a new profile. |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 390 } | 393 } |
| 391 gcm::GCMClient::Result unregistration_result() const { | 394 gcm::GCMClient::Result unregistration_result() const { |
| 392 return unregistration_result_; | 395 return unregistration_result_; |
| 393 } | 396 } |
| 394 | 397 |
| 395 private: | 398 private: |
| 396 std::unique_ptr<content::TestBrowserThreadBundle> thread_bundle_; | 399 std::unique_ptr<content::TestBrowserThreadBundle> thread_bundle_; |
| 397 std::unique_ptr<content::InProcessUtilityThreadHelper> | 400 std::unique_ptr<content::InProcessUtilityThreadHelper> |
| 398 in_process_utility_thread_helper_; | 401 in_process_utility_thread_helper_; |
| 399 std::unique_ptr<TestingProfile> profile_; | 402 std::unique_ptr<TestingProfile> profile_; |
| 403 std::unique_ptr<content::ServiceManagerContext> service_manager_context_; |
| 400 ExtensionService* extension_service_; // Not owned. | 404 ExtensionService* extension_service_; // Not owned. |
| 401 base::ScopedTempDir temp_dir_; | 405 base::ScopedTempDir temp_dir_; |
| 402 | 406 |
| 403 // This is needed to create extension service under CrOS. | 407 // This is needed to create extension service under CrOS. |
| 404 #if defined(OS_CHROMEOS) | 408 #if defined(OS_CHROMEOS) |
| 405 chromeos::ScopedTestDeviceSettingsService test_device_settings_service_; | 409 chromeos::ScopedTestDeviceSettingsService test_device_settings_service_; |
| 406 chromeos::ScopedTestCrosSettings test_cros_settings_; | 410 chromeos::ScopedTestCrosSettings test_cros_settings_; |
| 407 std::unique_ptr<chromeos::ScopedTestUserManager> test_user_manager_; | 411 std::unique_ptr<chromeos::ScopedTestUserManager> test_user_manager_; |
| 408 #endif | 412 #endif |
| 409 | 413 |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 485 | 489 |
| 486 // App handler is removed when the extension is updated to the version that | 490 // App handler is removed when the extension is updated to the version that |
| 487 // has GCM permission removed. | 491 // has GCM permission removed. |
| 488 UpdateExtension(extension.get(), "good2.crx"); | 492 UpdateExtension(extension.get(), "good2.crx"); |
| 489 waiter()->PumpUILoop(); | 493 waiter()->PumpUILoop(); |
| 490 EXPECT_TRUE(gcm_app_handler()->app_handler_count_drop_to_zero()); | 494 EXPECT_TRUE(gcm_app_handler()->app_handler_count_drop_to_zero()); |
| 491 EXPECT_FALSE(HasAppHandlers(extension->id())); | 495 EXPECT_FALSE(HasAppHandlers(extension->id())); |
| 492 } | 496 } |
| 493 | 497 |
| 494 } // namespace extensions | 498 } // namespace extensions |
| OLD | NEW |