summaryrefslogtreecommitdiffstats
path: root/chrome/browser/automation/automation_provider_observers.cc
diff options
context:
space:
mode:
authortony@chromium.org <tony@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-07 17:01:44 +0000
committertony@chromium.org <tony@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-07 17:01:44 +0000
commit84abba65c18ad3746066129990ad46421675d5a2 (patch)
treea3e6193d74f96ab728b3baeeb0a35fdd3dd47e47 /chrome/browser/automation/automation_provider_observers.cc
parent0c882b2856e5851765ce89f63d337902a3e6b823 (diff)
downloadchromium_src-84abba65c18ad3746066129990ad46421675d5a2.zip
chromium_src-84abba65c18ad3746066129990ad46421675d5a2.tar.gz
chromium_src-84abba65c18ad3746066129990ad46421675d5a2.tar.bz2
Revert "Revert "Add startup tests that log start script, domcontentloaded, and onload.""
This reverts commit r28209 and relands r28199. The failure seems to have been flaky (it passed on the other bots and on the following run). I want to try to land again. If it fails again, I'll disable the test. TBR=mattm Review URL: http://codereview.chromium.org/268003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28268 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/automation/automation_provider_observers.cc')
-rw-r--r--chrome/browser/automation/automation_provider_observers.cc33
1 files changed, 30 insertions, 3 deletions
diff --git a/chrome/browser/automation/automation_provider_observers.cc b/chrome/browser/automation/automation_provider_observers.cc
index 57fe3e7..9250ec8 100644
--- a/chrome/browser/automation/automation_provider_observers.cc
+++ b/chrome/browser/automation/automation_provider_observers.cc
@@ -9,13 +9,15 @@
#include "chrome/browser/automation/automation_provider.h"
#include "chrome/browser/dom_operation_notification_details.h"
#include "chrome/browser/login_prompt.h"
-#if defined(OS_WIN)
-#include "chrome/browser/printing/print_job.h"
-#endif // defined(OS_WIN)
+#include "chrome/browser/metrics/metric_event_duration_details.h"
#include "chrome/browser/tab_contents/navigation_controller.h"
#include "chrome/browser/tab_contents/tab_contents.h"
#include "chrome/common/notification_service.h"
+#if defined(OS_WIN)
+#include "chrome/browser/printing/print_job.h"
+#endif // defined(OS_WIN)
+
InitialLoadObserver::InitialLoadObserver(size_t tab_count,
AutomationProvider* automation)
: automation_(automation),
@@ -628,3 +630,28 @@ void DocumentPrintedNotificationObserver::Observe(
}
}
#endif // defined(OS_WIN)
+
+MetricEventDurationObserver::MetricEventDurationObserver() {
+ registrar_.Add(this, NotificationType::METRIC_EVENT_DURATION,
+ NotificationService::AllSources());
+}
+
+int MetricEventDurationObserver::GetEventDurationMs(
+ const std::string& event_name) {
+ EventDurationMap::const_iterator it = durations_.find(event_name);
+ if (it == durations_.end())
+ return -1;
+ return it->second;
+}
+
+void MetricEventDurationObserver::Observe(NotificationType type,
+ const NotificationSource& source, const NotificationDetails& details) {
+ if (type != NotificationType::METRIC_EVENT_DURATION) {
+ NOTREACHED();
+ return;
+ }
+ MetricEventDurationDetails* metric_event_duration =
+ Details<MetricEventDurationDetails>(details).ptr();
+ durations_[metric_event_duration->event_name] =
+ metric_event_duration->duration_ms;
+}