Index: trunk/src/chrome/browser/extensions/api/web_request/web_request_api.cc |
=================================================================== |
--- trunk/src/chrome/browser/extensions/api/web_request/web_request_api.cc (revision 195309) |
+++ trunk/src/chrome/browser/extensions/api/web_request/web_request_api.cc (working copy) |
@@ -17,8 +17,6 @@ |
#include "base/values.h" |
#include "chrome/browser/browser_process.h" |
#include "chrome/browser/chrome_content_browser_client.h" |
-#include "chrome/browser/extensions/activity_log.h" |
-#include "chrome/browser/extensions/activity_log_web_request_constants.h" |
#include "chrome/browser/extensions/api/declarative_webrequest/request_stage.h" |
#include "chrome/browser/extensions/api/declarative_webrequest/webrequest_constants.h" |
#include "chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_registry.h" |
@@ -79,7 +77,6 @@ |
namespace keys = extension_web_request_api_constants; |
namespace web_request = extensions::api::web_request; |
namespace declarative_keys = extensions::declarative_webrequest_constants; |
-namespace activitylog = activity_log_web_request_constants; |
namespace { |
@@ -1404,156 +1401,6 @@ |
return NULL; |
} |
-Value* SerializeResponseHeaders(const helpers::ResponseHeaders& headers) { |
- scoped_ptr<ListValue> serialized_headers(new ListValue()); |
- for (helpers::ResponseHeaders::const_iterator i = headers.begin(); |
- i != headers.end(); ++i) { |
- serialized_headers->Append(ToHeaderDictionary(i->first, i->second)); |
- } |
- return serialized_headers.release(); |
-} |
- |
-// Convert a RequestCookieModifications/ResponseCookieModifications object to a |
-// ListValue which summarizes the changes made. This is templated since the |
-// two types (request/response) are different but contain essentially the same |
-// fields. |
-template<typename CookieType> |
-ListValue* SummarizeCookieModifications( |
- const std::vector<linked_ptr<CookieType> >& modifications) { |
- scoped_ptr<ListValue> cookie_modifications(new ListValue()); |
- for (typename std::vector<linked_ptr<CookieType> >::const_iterator i = |
- modifications.begin(); |
- i != modifications.end(); ++i) { |
- scoped_ptr<DictionaryValue> summary(new DictionaryValue()); |
- const CookieType& mod = *i->get(); |
- switch (mod.type) { |
- case helpers::ADD: |
- summary->SetString(activitylog::kCookieModificationTypeKey, |
- activitylog::kCookieModificationAdd); |
- break; |
- case helpers::EDIT: |
- summary->SetString(activitylog::kCookieModificationTypeKey, |
- activitylog::kCookieModificationEdit); |
- break; |
- case helpers::REMOVE: |
- summary->SetString(activitylog::kCookieModificationTypeKey, |
- activitylog::kCookieModificationRemove); |
- break; |
- } |
- if (mod.filter) { |
- if (mod.filter->name) |
- summary->SetString(activitylog::kCookieFilterNameKey, |
- *mod.modification->name); |
- if (mod.filter->domain) |
- summary->SetString(activitylog::kCookieFilterDomainKey, |
- *mod.modification->name); |
- } |
- if (mod.modification) { |
- if (mod.modification->name) |
- summary->SetString(activitylog::kCookieModDomainKey, |
- *mod.modification->name); |
- if (mod.modification->domain) |
- summary->SetString(activitylog::kCookieModDomainKey, |
- *mod.modification->name); |
- } |
- cookie_modifications->Append(summary.release()); |
- } |
- return cookie_modifications.release(); |
-} |
- |
-// Converts an EventResponseDelta object to a dictionary value suitable for the |
-// activity log. The caller takes ownership of the returned DictionaryValue |
-// object. |
-DictionaryValue* SummarizeResponseDelta( |
- const std::string& event_name, |
- const helpers::EventResponseDelta& delta) { |
- scoped_ptr<DictionaryValue> details(new DictionaryValue()); |
- if (delta.cancel) { |
- details->SetBoolean(activitylog::kCancelKey, true); |
- } |
- if (!delta.new_url.is_empty()) { |
- details->SetString(activitylog::kNewUrlKey, delta.new_url.spec()); |
- } |
- |
- scoped_ptr<ListValue> modified_headers(new ListValue()); |
- net::HttpRequestHeaders::Iterator iter(delta.modified_request_headers); |
- while (iter.GetNext()) { |
- modified_headers->Append(ToHeaderDictionary(iter.name(), iter.value())); |
- } |
- if (!modified_headers->empty()) { |
- details->Set(activitylog::kModifiedRequestHeadersKey, |
- modified_headers.release()); |
- } |
- |
- scoped_ptr<ListValue> deleted_headers(new ListValue()); |
- deleted_headers->AppendStrings(delta.deleted_request_headers); |
- if (!deleted_headers->empty()) { |
- details->Set(activitylog::kDeletedRequestHeadersKey, |
- deleted_headers.release()); |
- } |
- |
- if (!delta.added_response_headers.empty()) { |
- details->Set(activitylog::kAddedRequestHeadersKey, |
- SerializeResponseHeaders(delta.added_response_headers)); |
- } |
- if (!delta.deleted_response_headers.empty()) { |
- details->Set(activitylog::kDeletedResponseHeadersKey, |
- SerializeResponseHeaders(delta.deleted_response_headers)); |
- } |
- if (delta.auth_credentials) { |
- details->SetString(activitylog::kAuthCredentialsKey, |
- UTF16ToUTF8(delta.auth_credentials->username()) + ":*"); |
- } |
- |
- if (!delta.response_cookie_modifications.empty()) { |
- details->Set( |
- activitylog::kResponseCookieModificationsKey, |
- SummarizeCookieModifications(delta.response_cookie_modifications)); |
- } |
- |
- return details.release(); |
-} |
- |
-void LogExtensionActivity(Profile* profile, |
- const std::string& extension_id, |
- const GURL& url, |
- const std::string& api_call, |
- DictionaryValue* details) { |
- if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) { |
- BrowserThread::PostTask(BrowserThread::UI, |
- FROM_HERE, |
- base::Bind(&LogExtensionActivity, |
- profile, |
- extension_id, |
- url, |
- api_call, |
- details)); |
- } else { |
- // An ExtensionService might not be running during unit tests, or an |
- // extension might have been unloadd by the time we get to logging it. In |
- // those cases log a warning. |
- ExtensionService* extension_service = |
- extensions::ExtensionSystem::Get(profile)->extension_service(); |
- if (!extension_service) { |
- LOG(WARNING) << "ExtensionService does not seem to be available " |
- << "(this may be normal for unit tests)"; |
- } else { |
- const Extension* extension = |
- extension_service->extensions()->GetByID(extension_id); |
- if (!extension) { |
- LOG(WARNING) << "Extension " << extension_id << " not found!"; |
- } else { |
- extensions::ActivityLog::GetInstance(profile)->LogWebRequestAction( |
- extension, |
- url, |
- api_call, |
- scoped_ptr<DictionaryValue>(details), |
- ""); |
- } |
- } |
- } |
-} |
- |
} // namespace |
void ExtensionWebRequestEventRouter::DecrementBlockCount( |
@@ -1574,19 +1421,9 @@ |
CHECK_GE(num_handlers_blocking, 0); |
if (response) { |
- helpers::EventResponseDelta* delta = |
- CalculateDelta(&blocked_request, response); |
- |
- if (extensions::ActivityLog::IsLogEnabled()) { |
- LogExtensionActivity(static_cast<Profile*>(profile), |
- extension_id, |
- blocked_request.request->url(), |
- event_name, |
- SummarizeResponseDelta(event_name, *delta)); |
- } |
- |
blocked_request.response_deltas.push_back( |
- linked_ptr<helpers::EventResponseDelta>(delta)); |
+ linked_ptr<helpers::EventResponseDelta>( |
+ CalculateDelta(&blocked_request, response))); |
} |
base::TimeDelta block_time = |
Property changes on: trunk/src/chrome/browser/extensions/api/web_request/web_request_api.cc |
___________________________________________________________________ |
Added: svn:mergeinfo |