Index: chrome/browser/prerender/prerender_origin.cc |
diff --git a/chrome/browser/prerender/prerender_origin.cc b/chrome/browser/prerender/prerender_origin.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..eb17aa2e714024968750ad5f104beb464fbed873 |
--- /dev/null |
+++ b/chrome/browser/prerender/prerender_origin.cc |
@@ -0,0 +1,43 @@ |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "chrome/browser/prerender/prerender_origin.h" |
+ |
+#include "base/metrics/histogram.h" |
+#include "chrome/browser/prerender/prerender_manager.h" |
+ |
+namespace prerender { |
+ |
+namespace { |
+ |
+const char* kOriginNames[] = { |
+ "Link Rel Prerender", |
+ "Pending Link Rel Prerender", |
+ "Omnibox", |
+ "Max" |
+}; |
+COMPILE_ASSERT(arraysize(kOriginNames) == ORIGIN_MAX + 1, |
+ PrerenderOrigin_name_count_mismatch); |
+ |
+} |
+ |
+void RecordOrigin(Origin origin) { |
cbentzel
2011/06/22 17:27:32
Why do we need to record this? We have all the dat
dominich
2011/06/22 19:00:51
It is calculable from FinalStatus but this is a qu
cbentzel
2011/06/22 19:08:40
It's pretty easy to calculate from FinalStauts. I'
|
+ CHECK(origin < ORIGIN_MAX); |
+ // FINAL_STATUS_CONTROL_GROUP indicates that the PrerenderContents |
+ // was created only to measure "would-have-been-prerendered" for |
+ // control group measurements. Don't pollute data with it. |
+ if (PrerenderManager::IsControlGroup()) |
+ return; |
+ UMA_HISTOGRAM_ENUMERATION("Prerender.Origin", |
+ origin, |
+ ORIGIN_MAX); |
+} |
+ |
+const char* NameFromOrigin(Origin origin) { |
cbentzel
2011/06/22 17:27:32
Is this being used?
dominich
2011/06/22 19:00:51
Not currently, but I was going to add the info to
cbentzel
2011/06/22 19:08:40
OK, I'm fine with it if there is a plan for it's u
|
+ DCHECK(static_cast<int>(origin) >= 0 && |
+ origin <= ORIGIN_MAX); |
+ return kOriginNames[origin]; |
+} |
+ |
+} // namespace prerender |