Index: chrome/browser/sessions/session_restore_delegate.cc |
diff --git a/chrome/browser/sessions/session_restore_delegate.cc b/chrome/browser/sessions/session_restore_delegate.cc |
index a24167ae1f24bfbbbee5a6f895ec54570c6097ca..18adde4f2d58bbae6e4ac0d6e857978b5e573649 100644 |
--- a/chrome/browser/sessions/session_restore_delegate.cc |
+++ b/chrome/browser/sessions/session_restore_delegate.cc |
@@ -4,6 +4,7 @@ |
#include "chrome/browser/sessions/session_restore_delegate.h" |
+#include "base/metrics/field_trial.h" |
#include "chrome/browser/sessions/session_restore_stats_collector.h" |
#include "chrome/browser/sessions/tab_loader.h" |
@@ -11,6 +12,19 @@ |
void SessionRestoreDelegate::RestoreTabs( |
const std::vector<RestoredTab>& tabs, |
const base::TimeTicks& restore_started) { |
- SessionRestoreStatsCollector::TrackTabs(tabs, restore_started); |
- TabLoader::RestoreTabs(tabs, restore_started); |
+ base::FieldTrial* trial = |
+ base::FieldTrialList::Find("SessionRestoreBackgroundLoading"); |
sky
2015/04/03 20:59:09
Can you elaborate on the value of running a field
Georges Khalil
2015/04/03 21:51:33
Discussed offline.
|
+ // If there is no trial, enable experiment to get coverage on the perf |
+ // waterfall. |
+ if (trial && trial->group_name() != "Disabled") { |
+ SessionRestoreStatsCollector::TrackTabs(tabs, restore_started); |
+ TabLoader::RestoreTabs(tabs, restore_started); |
+ } else { |
+ // If tab loading is disabled, only track active tabs. |
+ std::vector<RestoredTab> active_tabs; |
+ for (const auto& restored_tab : tabs) |
sky
2015/04/03 20:59:09
nit: braces here.
Georges Khalil
2015/04/03 21:51:33
Acknowledged.
|
+ if (restored_tab.is_active) |
+ active_tabs.push_back(restored_tab); |
+ SessionRestoreStatsCollector::TrackTabs(active_tabs, restore_started); |
+ } |
} |