Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(332)

Unified Diff: trunk/src/chrome/browser/extensions/api/web_request/web_request_api.cc

Issue 14378006: Revert 195265 "Improved extension activity logging for the chrom..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698