summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions')
-rw-r--r--chrome/browser/extensions/extension_webnavigation_api.cc11
-rw-r--r--chrome/browser/extensions/extension_webnavigation_api_constants.cc3
-rw-r--r--chrome/browser/extensions/extension_webnavigation_api_constants.h3
-rw-r--r--chrome/browser/extensions/extension_webrequest_api.cc4
-rw-r--r--chrome/browser/extensions/extension_webrequest_api_constants.cc3
-rw-r--r--chrome/browser/extensions/extension_webrequest_api_constants.h3
6 files changed, 23 insertions, 4 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;
diff --git a/chrome/browser/extensions/extension_webnavigation_api_constants.cc b/chrome/browser/extensions/extension_webnavigation_api_constants.cc
index 8566fef..88f68c1 100644
--- a/chrome/browser/extensions/extension_webnavigation_api_constants.cc
+++ b/chrome/browser/extensions/extension_webnavigation_api_constants.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// 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.
@@ -12,6 +12,7 @@ const char kRequestIdKey[] = "requestId";
const char kSourceTabIdKey[] = "sourceTabId";
const char kSourceUrlKey[] = "sourceUrl";
const char kTabIdKey[] = "tabId";
+const char kTimeStampKey[] = "timeStamp";
const char kTransitionTypeKey[] = "transitionType";
const char kTransitionQualifiersKey[] = "transitionQualifiers";
const char kUrlKey[] = "url";
diff --git a/chrome/browser/extensions/extension_webnavigation_api_constants.h b/chrome/browser/extensions/extension_webnavigation_api_constants.h
index 775cf0d..aadeebf 100644
--- a/chrome/browser/extensions/extension_webnavigation_api_constants.h
+++ b/chrome/browser/extensions/extension_webnavigation_api_constants.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// 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.
@@ -17,6 +17,7 @@ extern const char kRequestIdKey[];
extern const char kSourceTabIdKey[];
extern const char kSourceUrlKey[];
extern const char kTabIdKey[];
+extern const char kTimeStampKey[];
extern const char kTransitionTypeKey[];
extern const char kTransitionQualifiersKey[];
extern const char kUrlKey[];
diff --git a/chrome/browser/extensions/extension_webrequest_api.cc b/chrome/browser/extensions/extension_webrequest_api.cc
index fbc0402..6daf001 100644
--- a/chrome/browser/extensions/extension_webrequest_api.cc
+++ b/chrome/browser/extensions/extension_webrequest_api.cc
@@ -317,6 +317,8 @@ int ExtensionWebRequestEventRouter::OnBeforeRequest(
dict->SetString(keys::kMethodKey, request->method());
dict->SetInteger(keys::kTabIdKey, tab_id);
dict->SetString(keys::kTypeKey, ResourceTypeToString(resource_type));
+ dict->SetDouble(keys::kTimeStampKey,
+ request->request_time().ToDoubleT() * 1000);
args.Append(dict);
if (DispatchEvent(profile_id, event_router, request, callback, listeners,
@@ -352,6 +354,8 @@ int ExtensionWebRequestEventRouter::OnBeforeSendHeaders(
dict->SetString(keys::kRequestIdKey,
base::Uint64ToString(request->identifier()));
dict->SetString(keys::kUrlKey, request->url().spec());
+ dict->SetDouble(keys::kTimeStampKey,
+ request->request_time().ToDoubleT() * 1000);
// TODO(mpcomplete): request headers.
args.Append(dict);
diff --git a/chrome/browser/extensions/extension_webrequest_api_constants.cc b/chrome/browser/extensions/extension_webrequest_api_constants.cc
index 460e21f..32a6f4c 100644
--- a/chrome/browser/extensions/extension_webrequest_api_constants.cc
+++ b/chrome/browser/extensions/extension_webrequest_api_constants.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// 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.
@@ -13,6 +13,7 @@ const char kRedirectUrlKey[] = "redirectUrl";
const char kRequestIdKey[] = "requestId";
const char kStatusCodeKey[] = "statusCode";
const char kTabIdKey[] = "tabId";
+const char kTimeStampKey[] = "timeStamp";
const char kTypeKey[] = "type";
const char kUrlKey[] = "url";
diff --git a/chrome/browser/extensions/extension_webrequest_api_constants.h b/chrome/browser/extensions/extension_webrequest_api_constants.h
index a026f68..21c654a 100644
--- a/chrome/browser/extensions/extension_webrequest_api_constants.h
+++ b/chrome/browser/extensions/extension_webrequest_api_constants.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// 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.
@@ -18,6 +18,7 @@ extern const char kRedirectUrlKey[];
extern const char kRequestIdKey[];
extern const char kStatusCodeKey[];
extern const char kTabIdKey[];
+extern const char kTimeStampKey[];
extern const char kTypeKey[];
extern const char kUrlKey[];