summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_webnavigation_api.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/extension_webnavigation_api.cc')
-rw-r--r--chrome/browser/extensions/extension_webnavigation_api.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/chrome/browser/extensions/extension_webnavigation_api.cc b/chrome/browser/extensions/extension_webnavigation_api.cc
index c58ecd0..1eae3a6 100644
--- a/chrome/browser/extensions/extension_webnavigation_api.cc
+++ b/chrome/browser/extensions/extension_webnavigation_api.cc
@@ -40,6 +40,11 @@ int GetFrameId(ProvisionalLoadDetails* details) {
return details->main_frame() ? 0 : static_cast<int>(details->frame_id());
}
+// Returns |time| as milliseconds since the epoch.
+double MilliSecondsFromTime(const base::Time& time) {
+ return 1000 * time.ToDoubleT();
+}
+
// Dispatches events to the extension message service.
void DispatchEvent(Profile* profile,
const char* event_name,
@@ -62,6 +67,7 @@ void DispatchOnBeforeNavigate(NavigationController* controller,
dict->SetInteger(keys::kFrameIdKey, GetFrameId(details));
dict->SetString(keys::kRequestIdKey,
base::Uint64ToString(request_id));
+ dict->SetDouble(keys::kTimeStampKey, MilliSecondsFromTime(base::Time::Now()));
args.Append(dict);
std::string json_args;
@@ -89,6 +95,7 @@ void DispatchOnCommitted(NavigationController* controller,
if (details->transition_type() & PageTransition::FORWARD_BACK)
qualifiers->Append(Value::CreateStringValue("forward_back"));
dict->Set(keys::kTransitionQualifiersKey, qualifiers);
+ dict->SetDouble(keys::kTimeStampKey, MilliSecondsFromTime(base::Time::Now()));
args.Append(dict);
std::string json_args;
@@ -108,6 +115,7 @@ void DispatchOnDOMContentLoaded(NavigationController* controller,
dict->SetString(keys::kUrlKey, url.spec());
dict->SetInteger(keys::kFrameIdKey,
is_main_frame ? 0 : static_cast<int>(frame_id));
+ dict->SetDouble(keys::kTimeStampKey, MilliSecondsFromTime(base::Time::Now()));
args.Append(dict);
std::string json_args;
@@ -127,6 +135,7 @@ void DispatchOnCompleted(NavigationController* controller,
dict->SetString(keys::kUrlKey, url.spec());
dict->SetInteger(keys::kFrameIdKey,
is_main_frame ? 0 : static_cast<int>(frame_id));
+ dict->SetDouble(keys::kTimeStampKey, MilliSecondsFromTime(base::Time::Now()));
args.Append(dict);
std::string json_args;
@@ -353,6 +362,7 @@ void ExtensionWebNavigationEventRouter::FailProvisionalLoadWithError(
dict->SetInteger(keys::kFrameIdKey, GetFrameId(details));
dict->SetString(keys::kErrorKey,
std::string(net::ErrorToString(details->error_code())));
+ dict->SetDouble(keys::kTimeStampKey, MilliSecondsFromTime(base::Time::Now()));
args.Append(dict);
std::string json_args;
@@ -371,6 +381,7 @@ void ExtensionWebNavigationEventRouter::CreatingNewWindow(
dict->SetString(keys::kSourceUrlKey, details->opener_url.spec());
dict->SetString(keys::kUrlKey,
details->target_url.possibly_invalid_spec());
+ dict->SetDouble(keys::kTimeStampKey, MilliSecondsFromTime(base::Time::Now()));
args.Append(dict);
std::string json_args;