Chromium Code Reviews| 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 "ios/chrome/browser/metrics/tab_usage_recorder.h" | 5 #include "ios/chrome/browser/metrics/tab_usage_recorder.h" |
| 6 | 6 |
| 7 #include "base/metrics/histogram_macros.h" | 7 #include "base/metrics/histogram_macros.h" |
| 8 #include "ios/chrome/browser/chrome_url_constants.h" | 8 #include "ios/chrome/browser/chrome_url_constants.h" |
| 9 #import "ios/chrome/browser/metrics/previous_session_info.h" | 9 #import "ios/chrome/browser/metrics/previous_session_info.h" |
| 10 #import "ios/chrome/browser/tabs/tab.h" | 10 #import "ios/chrome/browser/tabs/tab.h" |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 287 | 287 |
| 288 void TabUsageRecorder::ResetEvictedTab() { | 288 void TabUsageRecorder::ResetEvictedTab() { |
| 289 evicted_tab_ = NULL; | 289 evicted_tab_ = NULL; |
| 290 evicted_tab_state_ = IN_MEMORY; | 290 evicted_tab_state_ = IN_MEMORY; |
| 291 evicted_tab_reload_start_time_ = base::TimeTicks(); | 291 evicted_tab_reload_start_time_ = base::TimeTicks(); |
| 292 } | 292 } |
| 293 | 293 |
| 294 bool TabUsageRecorder::ShouldIgnoreTab(Tab* tab) { | 294 bool TabUsageRecorder::ShouldIgnoreTab(Tab* tab) { |
| 295 // Do not count chrome:// urls to avoid data noise. For example, if they were | 295 // Do not count chrome:// urls to avoid data noise. For example, if they were |
| 296 // counted, every new tab created would add noise to the page load count. | 296 // counted, every new tab created would add noise to the page load count. |
| 297 return [tab url].SchemeIs(kChromeUIScheme); | 297 return tab.lastCommittedURL.SchemeIs(kChromeUIScheme); |
|
kkhorimoto
2017/04/14 20:40:47
chrome:// URLs are never pending, so lastCommitted
Eugene But (OOO till 7-30)
2017/04/14 21:48:09
WebUI can be a pending URL, so maybe we should che
kkhorimoto
2017/05/31 23:06:17
Done.
| |
| 298 } | 298 } |
| 299 | 299 |
| 300 bool TabUsageRecorder::TabAlreadyEvicted(Tab* tab) { | 300 bool TabUsageRecorder::TabAlreadyEvicted(Tab* tab) { |
| 301 base::WeakNSObject<Tab> weak_tab(tab); | 301 base::WeakNSObject<Tab> weak_tab(tab); |
| 302 auto tab_item = evicted_tabs_.find(weak_tab); | 302 auto tab_item = evicted_tabs_.find(weak_tab); |
| 303 return tab_item != evicted_tabs_.end(); | 303 return tab_item != evicted_tabs_.end(); |
| 304 } | 304 } |
| 305 | 305 |
| 306 TabUsageRecorder::TabStateWhenSelected TabUsageRecorder::ExtractTabState( | 306 TabUsageRecorder::TabStateWhenSelected TabUsageRecorder::ExtractTabState( |
| 307 Tab* tab) { | 307 Tab* tab) { |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 327 } | 327 } |
| 328 | 328 |
| 329 void TabUsageRecorder::ClearDeletedTabs() { | 329 void TabUsageRecorder::ClearDeletedTabs() { |
| 330 base::WeakNSObject<Tab> empty_tab(nil); | 330 base::WeakNSObject<Tab> empty_tab(nil); |
| 331 auto tab_item = evicted_tabs_.find(empty_tab); | 331 auto tab_item = evicted_tabs_.find(empty_tab); |
| 332 while (tab_item != evicted_tabs_.end()) { | 332 while (tab_item != evicted_tabs_.end()) { |
| 333 evicted_tabs_.erase(empty_tab); | 333 evicted_tabs_.erase(empty_tab); |
| 334 tab_item = evicted_tabs_.find(empty_tab); | 334 tab_item = evicted_tabs_.find(empty_tab); |
| 335 } | 335 } |
| 336 } | 336 } |
| OLD | NEW |