| 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/power/process_power_collector.h" | 5 #include "chrome/browser/power/process_power_collector.h" |
| 6 | 6 |
| 7 #include "chrome/browser/apps/scoped_keep_alive.h" | 7 #include "chrome/browser/apps/scoped_keep_alive.h" |
| 8 #include "chrome/browser/profiles/profile_manager.h" | 8 #include "chrome/browser/profiles/profile_manager.h" |
| 9 #include "chrome/browser/ui/apps/chrome_app_delegate.h" | 9 #include "chrome/browser/ui/apps/chrome_app_delegate.h" |
| 10 #include "chrome/browser/ui/browser_commands.h" | 10 #include "chrome/browser/ui/browser_commands.h" |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 | 110 |
| 111 collector->set_cpu_usage_callback_for_testing( | 111 collector->set_cpu_usage_callback_for_testing( |
| 112 base::Bind(&BrowserProcessPowerTest::ReturnCpuAsConstant, | 112 base::Bind(&BrowserProcessPowerTest::ReturnCpuAsConstant, |
| 113 base::Unretained(this), | 113 base::Unretained(this), |
| 114 5)); | 114 5)); |
| 115 EXPECT_DOUBLE_EQ(5, collector->UpdatePowerConsumptionForTesting()); | 115 EXPECT_DOUBLE_EQ(5, collector->UpdatePowerConsumptionForTesting()); |
| 116 EXPECT_EQ(100, origin_power_map->GetPowerForOrigin(url)); | 116 EXPECT_EQ(100, origin_power_map->GetPowerForOrigin(url)); |
| 117 } | 117 } |
| 118 | 118 |
| 119 TEST_F(BrowserProcessPowerTest, MultipleSites) { | 119 TEST_F(BrowserProcessPowerTest, MultipleSites) { |
| 120 Browser::CreateParams native_params(profile(), | 120 Browser::CreateParams native_params(profile(), ui::HOST_DESKTOP_TYPE_NATIVE); |
| 121 chrome::HOST_DESKTOP_TYPE_NATIVE); | |
| 122 GURL url1("http://www.google.com"); | 121 GURL url1("http://www.google.com"); |
| 123 GURL url2("http://www.example.com"); | 122 GURL url2("http://www.example.com"); |
| 124 GURL url3("https://www.google.com"); | 123 GURL url3("https://www.google.com"); |
| 125 scoped_ptr<Browser> browser2( | 124 scoped_ptr<Browser> browser2( |
| 126 chrome::CreateBrowserWithTestWindowForParams(&native_params)); | 125 chrome::CreateBrowserWithTestWindowForParams(&native_params)); |
| 127 scoped_ptr<Browser> browser3( | 126 scoped_ptr<Browser> browser3( |
| 128 chrome::CreateBrowserWithTestWindowForParams(&native_params)); | 127 chrome::CreateBrowserWithTestWindowForParams(&native_params)); |
| 129 AddTab(browser(), url1); | 128 AddTab(browser(), url1); |
| 130 AddTab(browser2.get(), url2); | 129 AddTab(browser2.get(), url2); |
| 131 AddTab(browser3.get(), url3); | 130 AddTab(browser3.get(), url3); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 160 // Close some tabs and verify that they are removed from the metrics map. | 159 // Close some tabs and verify that they are removed from the metrics map. |
| 161 chrome::CloseTab(browser2.get()); | 160 chrome::CloseTab(browser2.get()); |
| 162 chrome::CloseTab(browser3.get()); | 161 chrome::CloseTab(browser3.get()); |
| 163 | 162 |
| 164 collector->UpdatePowerConsumptionForTesting(); | 163 collector->UpdatePowerConsumptionForTesting(); |
| 165 EXPECT_EQ(1u, metrics_map->size()); | 164 EXPECT_EQ(1u, metrics_map->size()); |
| 166 } | 165 } |
| 167 | 166 |
| 168 TEST_F(BrowserProcessPowerTest, IncognitoDoesntRecordPowerUsage) { | 167 TEST_F(BrowserProcessPowerTest, IncognitoDoesntRecordPowerUsage) { |
| 169 Browser::CreateParams native_params(profile()->GetOffTheRecordProfile(), | 168 Browser::CreateParams native_params(profile()->GetOffTheRecordProfile(), |
| 170 chrome::HOST_DESKTOP_TYPE_NATIVE); | 169 ui::HOST_DESKTOP_TYPE_NATIVE); |
| 171 scoped_ptr<Browser> incognito_browser( | 170 scoped_ptr<Browser> incognito_browser( |
| 172 chrome::CreateBrowserWithTestWindowForParams(&native_params)); | 171 chrome::CreateBrowserWithTestWindowForParams(&native_params)); |
| 173 GURL url("http://www.google.com"); | 172 GURL url("http://www.google.com"); |
| 174 AddTab(browser(), url); | 173 AddTab(browser(), url); |
| 175 | 174 |
| 176 GURL hidden_url("http://foo.com"); | 175 GURL hidden_url("http://foo.com"); |
| 177 AddTab(incognito_browser.get(), hidden_url); | 176 AddTab(incognito_browser.get(), hidden_url); |
| 178 | 177 |
| 179 // Create fake process numbers. | 178 // Create fake process numbers. |
| 180 GetProcess(browser())->SetProcessHandle(MakeProcessHandle(1).Pass()); | 179 GetProcess(browser())->SetProcessHandle(MakeProcessHandle(1).Pass()); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 199 // Verify that the incognito data was not stored. | 198 // Verify that the incognito data was not stored. |
| 200 EXPECT_EQ(100, origin_power_map->GetPowerForOrigin(url)); | 199 EXPECT_EQ(100, origin_power_map->GetPowerForOrigin(url)); |
| 201 EXPECT_EQ(0, origin_power_map->GetPowerForOrigin(hidden_url)); | 200 EXPECT_EQ(0, origin_power_map->GetPowerForOrigin(hidden_url)); |
| 202 | 201 |
| 203 chrome::CloseTab(incognito_browser.get()); | 202 chrome::CloseTab(incognito_browser.get()); |
| 204 } | 203 } |
| 205 | 204 |
| 206 TEST_F(BrowserProcessPowerTest, MultipleProfilesRecordSeparately) { | 205 TEST_F(BrowserProcessPowerTest, MultipleProfilesRecordSeparately) { |
| 207 scoped_ptr<Profile> other_profile(CreateProfile()); | 206 scoped_ptr<Profile> other_profile(CreateProfile()); |
| 208 Browser::CreateParams native_params(other_profile.get(), | 207 Browser::CreateParams native_params(other_profile.get(), |
| 209 chrome::HOST_DESKTOP_TYPE_NATIVE); | 208 ui::HOST_DESKTOP_TYPE_NATIVE); |
| 210 scoped_ptr<Browser> other_user( | 209 scoped_ptr<Browser> other_user( |
| 211 chrome::CreateBrowserWithTestWindowForParams(&native_params)); | 210 chrome::CreateBrowserWithTestWindowForParams(&native_params)); |
| 212 | 211 |
| 213 GURL url("http://www.google.com"); | 212 GURL url("http://www.google.com"); |
| 214 AddTab(browser(), url); | 213 AddTab(browser(), url); |
| 215 | 214 |
| 216 GURL hidden_url("http://foo.com"); | 215 GURL hidden_url("http://foo.com"); |
| 217 AddTab(other_user.get(), hidden_url); | 216 AddTab(other_user.get(), hidden_url); |
| 218 | 217 |
| 219 // Create fake process numbers. | 218 // Create fake process numbers. |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 287 base::Bind(&BrowserProcessPowerTest::ReturnCpuAsConstant, | 286 base::Bind(&BrowserProcessPowerTest::ReturnCpuAsConstant, |
| 288 base::Unretained(this), | 287 base::Unretained(this), |
| 289 5)); | 288 5)); |
| 290 collector->UpdatePowerConsumptionForTesting(); | 289 collector->UpdatePowerConsumptionForTesting(); |
| 291 EXPECT_EQ(1u, collector->metrics_map_for_testing()->size()); | 290 EXPECT_EQ(1u, collector->metrics_map_for_testing()->size()); |
| 292 | 291 |
| 293 window->OnNativeClose(); | 292 window->OnNativeClose(); |
| 294 collector->UpdatePowerConsumptionForTesting(); | 293 collector->UpdatePowerConsumptionForTesting(); |
| 295 EXPECT_EQ(0u, collector->metrics_map_for_testing()->size()); | 294 EXPECT_EQ(0u, collector->metrics_map_for_testing()->size()); |
| 296 } | 295 } |
| OLD | NEW |