OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 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 <string> | 5 #include <string> |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "chrome/browser/extensions/extension_service.h" | 9 #include "chrome/browser/extensions/extension_service.h" |
10 #include "chrome/browser/extensions/test_extension_system.h" | 10 #include "chrome/browser/extensions/test_extension_system.h" |
(...skipping 22 matching lines...) Expand all Loading... |
33 ~MessageCenterSettingsControllerBaseTest() override{}; | 33 ~MessageCenterSettingsControllerBaseTest() override{}; |
34 | 34 |
35 base::FilePath GetProfilePath(const std::string& base_name) { | 35 base::FilePath GetProfilePath(const std::string& base_name) { |
36 return testing_profile_manager_.profile_manager()->user_data_dir() | 36 return testing_profile_manager_.profile_manager()->user_data_dir() |
37 .AppendASCII(base_name); | 37 .AppendASCII(base_name); |
38 } | 38 } |
39 | 39 |
40 void SetUp() override { ASSERT_TRUE(testing_profile_manager_.SetUp()); } | 40 void SetUp() override { ASSERT_TRUE(testing_profile_manager_.SetUp()); } |
41 | 41 |
42 virtual TestingProfile* CreateProfile(const std::string& name) { | 42 virtual TestingProfile* CreateProfile(const std::string& name) { |
43 return testing_profile_manager_.CreateTestingProfile(name); | 43 TestingProfile* profile = |
| 44 testing_profile_manager_.CreateTestingProfile(name); |
| 45 ProfileInfoCache* cache = testing_profile_manager_.profile_info_cache(); |
| 46 // Preload the avatar icon so it's cached for the test's execution. This |
| 47 // test is synchronous, but access of the AvatarIcon during creation of the |
| 48 // ProfileNotifierGroup will post tasks to create the gfx::Image that don't |
| 49 // execute until after NotifierGroups's deleted, meaning the references leak |
| 50 // and cause ASAN errors. |
| 51 cache->GetAvatarIconOfProfileAtIndex( |
| 52 cache->GetIndexOfProfileWithPath(profile->GetPath())); |
| 53 base::MessageLoop::current()->RunUntilIdle(); |
| 54 return profile; |
44 } | 55 } |
45 | 56 |
46 void CreateController() { | 57 void CreateController() { |
47 controller_.reset(new MessageCenterSettingsController( | 58 controller_.reset(new MessageCenterSettingsController( |
48 testing_profile_manager_.profile_info_cache())); | 59 testing_profile_manager_.profile_info_cache())); |
49 } | 60 } |
50 | 61 |
51 void ResetController() { | 62 void ResetController() { |
52 controller_.reset(); | 63 controller_.reset(); |
53 } | 64 } |
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
250 EXPECT_EQ(3u, notifiers.size()); | 261 EXPECT_EQ(3u, notifiers.size()); |
251 EXPECT_EQ(ash::system_notifier::kNotifierScreenshot, | 262 EXPECT_EQ(ash::system_notifier::kNotifierScreenshot, |
252 notifiers[2]->notifier_id.id); | 263 notifiers[2]->notifier_id.id); |
253 #endif | 264 #endif |
254 | 265 |
255 EXPECT_EQ(kBarId, notifiers[0]->notifier_id.id); | 266 EXPECT_EQ(kBarId, notifiers[0]->notifier_id.id); |
256 EXPECT_EQ(kFooId, notifiers[1]->notifier_id.id); | 267 EXPECT_EQ(kFooId, notifiers[1]->notifier_id.id); |
257 | 268 |
258 STLDeleteElements(¬ifiers); | 269 STLDeleteElements(¬ifiers); |
259 } | 270 } |
OLD | NEW |