Index: chrome/browser/chrome_browser_field_trials_desktop.cc |
diff --git a/chrome/browser/chrome_browser_field_trials_desktop.cc b/chrome/browser/chrome_browser_field_trials_desktop.cc |
index 3970bf2f0b90b873b2ea5497cef6a28e509ec351..98cbe94e7d10e9ea7ed46c6b063d0ed8b249c91b 100644 |
--- a/chrome/browser/chrome_browser_field_trials_desktop.cc |
+++ b/chrome/browser/chrome_browser_field_trials_desktop.cc |
@@ -7,8 +7,11 @@ |
#include <string> |
#include "base/command_line.h" |
+#include "base/debug/activity_tracker.h" |
#include "base/metrics/field_trial.h" |
+#include "base/path_service.h" |
#include "chrome/browser/prerender/prerender_field_trial.h" |
+#include "chrome/common/chrome_paths.h" |
#include "chrome/common/chrome_switches.h" |
#include "chrome/common/variations/variations_util.h" |
#include "components/variations/variations_associated_data.h" |
@@ -52,6 +55,14 @@ void SetupDesktopFieldTrials(const base::CommandLine& parsed_command_line) { |
prerender::ConfigurePrerender(parsed_command_line); |
SetupLightSpeedTrials(); |
SetupStunProbeTrial(); |
+ |
+ // Track code activities (such as posting task, blocking on locks, and |
+ // joining threads) that can cause threads to hang. |
+ base::FilePath activity_file; |
+ bool success = base::PathService::Get(chrome::DIR_USER_DATA, &activity_file); |
+ DCHECK(success); |
+ activity_file = activity_file.AppendASCII("ActivityTracker"); |
+ base::debug::SetupGlobalActivityTrackerFieldTrial(activity_file); |
} |
} // namespace chrome |