| Index: chrome/browser/performance_monitor/performance_monitor_browsertest.cc
|
| diff --git a/chrome/browser/performance_monitor/performance_monitor_browsertest.cc b/chrome/browser/performance_monitor/performance_monitor_browsertest.cc
|
| index d5b3a353b5b072ece250f94ab7b62a3578d75b74..07573c0cc7574287104c29510b73518e81035f57 100644
|
| --- a/chrome/browser/performance_monitor/performance_monitor_browsertest.cc
|
| +++ b/chrome/browser/performance_monitor/performance_monitor_browsertest.cc
|
| @@ -674,16 +674,26 @@ IN_PROC_BROWSER_TEST_F(PerformanceMonitorUncleanExitBrowserTest,
|
| performance_monitor()->CheckForUncleanExits();
|
| content::RunAllPendingInMessageLoop();
|
|
|
| - // Load the second profile, which has also exited uncleanly.
|
| + // Load the second profile, which has also exited uncleanly. Note that since
|
| + // the second profile is new, component extensions will be installed as part
|
| + // of the browser startup for that profile, generating extra events.
|
| g_browser_process->profile_manager()->GetProfile(second_profile_path);
|
| content::RunAllPendingInMessageLoop();
|
|
|
| Database::EventVector events = GetEvents();
|
|
|
| - const size_t kNumEvents = 2;
|
| - ASSERT_EQ(kNumEvents, events.size());
|
| - CheckEventType(EVENT_UNCLEAN_EXIT, events[0]);
|
| - CheckEventType(EVENT_UNCLEAN_EXIT, events[1]);
|
| + const size_t kNumUncleanExitEvents = 2;
|
| + size_t num_unclean_exit_events = 0;
|
| + for (size_t i = 0; i < events.size(); ++i) {
|
| + int event_type = -1;
|
| + if (events[i]->data()->GetInteger("eventType", &event_type) &&
|
| + event_type == EVENT_EXTENSION_INSTALL) {
|
| + continue;
|
| + }
|
| + CheckEventType(EVENT_UNCLEAN_EXIT, events[i]);
|
| + ++num_unclean_exit_events;
|
| + }
|
| + ASSERT_EQ(kNumUncleanExitEvents, num_unclean_exit_events);
|
|
|
| std::string event_profile;
|
| ASSERT_TRUE(events[0]->data()->GetString("profileName", &event_profile));
|
|
|