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

Side by Side Diff: chrome/browser/background/background_mode_manager_unittest.cc

Issue 2528013002: Initialize the message center as part of the testing browser process (Closed)
Patch Set: re-uploding due to time outs Created 4 years 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/background/background_mode_manager.h" 5 #include "chrome/browser/background/background_mode_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <string> 10 #include <string>
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 class BackgroundModeManagerWithExtensionsTest : public testing::Test { 221 class BackgroundModeManagerWithExtensionsTest : public testing::Test {
222 public: 222 public:
223 BackgroundModeManagerWithExtensionsTest() {} 223 BackgroundModeManagerWithExtensionsTest() {}
224 ~BackgroundModeManagerWithExtensionsTest() override {} 224 ~BackgroundModeManagerWithExtensionsTest() override {}
225 225
226 void SetUp() override { 226 void SetUp() override {
227 command_line_.reset(new base::CommandLine(base::CommandLine::NO_PROGRAM)); 227 command_line_.reset(new base::CommandLine(base::CommandLine::NO_PROGRAM));
228 profile_manager_ = CreateTestingProfileManager(); 228 profile_manager_ = CreateTestingProfileManager();
229 profile_ = profile_manager_->CreateTestingProfile("p1"); 229 profile_ = profile_manager_->CreateTestingProfile("p1");
230 230
231 // Aura clears notifications from the message center at shutdown.
232 message_center::MessageCenter::Initialize();
233
234 test_keep_alive_.reset( 231 test_keep_alive_.reset(
235 new ScopedKeepAlive(KeepAliveOrigin::BACKGROUND_MODE_MANAGER, 232 new ScopedKeepAlive(KeepAliveOrigin::BACKGROUND_MODE_MANAGER,
236 KeepAliveRestartOption::DISABLED)); 233 KeepAliveRestartOption::DISABLED));
237 234
238 // Create our test BackgroundModeManager. 235 // Create our test BackgroundModeManager.
239 manager_.reset(new TestBackgroundModeManager( 236 manager_.reset(new TestBackgroundModeManager(
240 *command_line_, profile_manager_->profile_attributes_storage())); 237 *command_line_, profile_manager_->profile_attributes_storage()));
241 manager_->RegisterProfile(profile_); 238 manager_->RegisterProfile(profile_);
242 } 239 }
243 240
(...skipping 25 matching lines...) Expand all
269 // cleared without having |manager_| attempt to perform optimizations. 266 // cleared without having |manager_| attempt to perform optimizations.
270 test_keep_alive_.reset(); 267 test_keep_alive_.reset();
271 268
272 // The Profile Manager references the Browser Process. 269 // The Profile Manager references the Browser Process.
273 // The Browser Process references the Notification UI Manager. 270 // The Browser Process references the Notification UI Manager.
274 // The Notification UI Manager references the Message Center. 271 // The Notification UI Manager references the Message Center.
275 // As a result, we have to clear the browser process state here 272 // As a result, we have to clear the browser process state here
276 // before tearing down the Message Center. 273 // before tearing down the Message Center.
277 profile_manager_.reset(); 274 profile_manager_.reset();
278 275
279 // Message Center shutdown must occur after the KeepAlive is released
280 // because clearing it will end up referencing the message center.
281 message_center::MessageCenter::Shutdown();
282
283 // Clear the shutdown flag to isolate the remaining effect of this test. 276 // Clear the shutdown flag to isolate the remaining effect of this test.
284 browser_shutdown::SetTryingToQuit(false); 277 browser_shutdown::SetTryingToQuit(false);
285 } 278 }
286 279
287 protected: 280 protected:
288 scoped_refptr<extensions::Extension> CreateExtension( 281 scoped_refptr<extensions::Extension> CreateExtension(
289 extensions::Manifest::Location location, 282 extensions::Manifest::Location location,
290 const std::string& data, 283 const std::string& data,
291 const std::string& id) { 284 const std::string& id) {
292 std::unique_ptr<base::DictionaryValue> parsed_manifest( 285 std::unique_ptr<base::DictionaryValue> parsed_manifest(
(...skipping 728 matching lines...) Expand 10 before | Expand all | Expand 10 after
1021 // When the background mode pref is enabled and there are pending triggers 1014 // When the background mode pref is enabled and there are pending triggers
1022 // they will be registered and the user will be notified. 1015 // they will be registered and the user will be notified.
1023 EXPECT_CALL(manager, EnableLaunchOnStartup(true)); 1016 EXPECT_CALL(manager, EnableLaunchOnStartup(true));
1024 g_browser_process->local_state()->SetBoolean(prefs::kBackgroundModeEnabled, 1017 g_browser_process->local_state()->SetBoolean(prefs::kBackgroundModeEnabled,
1025 true); 1018 true);
1026 Mock::VerifyAndClearExpectations(&manager); 1019 Mock::VerifyAndClearExpectations(&manager);
1027 ASSERT_EQ(1, manager.GetBackgroundClientCountForProfile(profile_)); 1020 ASSERT_EQ(1, manager.GetBackgroundClientCountForProfile(profile_));
1028 AssertBackgroundModeActive(manager); 1021 AssertBackgroundModeActive(manager);
1029 ASSERT_TRUE(manager.HasShownBalloon()); 1022 ASSERT_TRUE(manager.HasShownBalloon());
1030 } 1023 }
OLDNEW
« no previous file with comments | « chrome/browser/background/background_contents_service_unittest.cc ('k') | chrome/browser/browser_process_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698