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

Unified Diff: extensions/browser/api/web_request/web_request_api_helpers.cc

Issue 2708923005: Extensions: Add metrics for Web Request API actions. (Closed)
Patch Set: -- Created 3 years, 10 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: extensions/browser/api/web_request/web_request_api_helpers.cc
diff --git a/extensions/browser/api/web_request/web_request_api_helpers.cc b/extensions/browser/api/web_request/web_request_api_helpers.cc
index bdd91f1dfe04310d620abafce152939a6acd4dcb..2e8697e5e5b1f390bcdb7d5feba3121b81d4f39a 100644
--- a/extensions/browser/api/web_request/web_request_api_helpers.cc
+++ b/extensions/browser/api/web_request/web_request_api_helpers.cc
@@ -652,7 +652,11 @@ void MergeCookiesInOnBeforeSendHeadersResponses(
const EventResponseDeltas& deltas,
net::HttpRequestHeaders* request_headers,
extensions::WarningSet* conflicting_extensions,
- const net::NetLogWithSource* net_log) {
+ const net::NetLogWithSource* net_log,
+ bool* request_cookies_modified) {
+ DCHECK(request_cookies_modified);
+ *request_cookies_modified = false;
+
// Skip all work if there are no registered cookie modifications.
bool cookie_modifications_exist = false;
EventResponseDeltas::const_iterator delta;
@@ -670,13 +674,15 @@ void MergeCookiesInOnBeforeSendHeadersResponses(
net::cookie_util::ParseRequestCookieLine(cookie_header, &cookies);
// Modify cookies.
- bool modified = false;
- modified |= MergeAddRequestCookieModifications(deltas, &cookies);
- modified |= MergeEditRequestCookieModifications(deltas, &cookies);
- modified |= MergeRemoveRequestCookieModifications(deltas, &cookies);
+ *request_cookies_modified |=
+ MergeAddRequestCookieModifications(deltas, &cookies);
+ *request_cookies_modified |=
+ MergeEditRequestCookieModifications(deltas, &cookies);
+ *request_cookies_modified |=
+ MergeRemoveRequestCookieModifications(deltas, &cookies);
// Reassemble and store new cookie line.
- if (modified) {
+ if (*request_cookies_modified) {
std::string new_cookie_header =
net::cookie_util::SerializeRequestCookieLine(cookies);
request_headers->SetHeader(net::HttpRequestHeaders::kCookie,
@@ -725,7 +731,14 @@ void MergeOnBeforeSendHeadersResponses(
const EventResponseDeltas& deltas,
net::HttpRequestHeaders* request_headers,
extensions::WarningSet* conflicting_extensions,
- const net::NetLogWithSource* net_log) {
+ const net::NetLogWithSource* net_log,
+ bool* request_headers_modified,
+ bool* request_cookies_modified) {
+ DCHECK(request_headers_modified);
+ DCHECK(request_cookies_modified);
+ *request_headers_modified = false;
+ *request_cookies_modified = false;
+
EventResponseDeltas::const_iterator delta;
// Here we collect which headers we have removed or set to new values
@@ -822,6 +835,7 @@ void MergeOnBeforeSendHeadersResponses(
}
net_log->AddEvent(net::NetLogEventType::CHROME_EXTENSION_MODIFIED_HEADERS,
base::Bind(&NetLogModificationCallback, delta->get()));
+ *request_headers_modified = true;
} else {
conflicting_extensions->insert(
extensions::Warning::CreateRequestHeaderConflictWarning(
@@ -834,7 +848,8 @@ void MergeOnBeforeSendHeadersResponses(
}
MergeCookiesInOnBeforeSendHeadersResponses(deltas, request_headers,
- conflicting_extensions, net_log);
+ conflicting_extensions, net_log,
+ request_cookies_modified);
}
// Retrives all cookies from |override_response_headers|.
@@ -1032,7 +1047,11 @@ void MergeCookiesInOnHeadersReceivedResponses(
const net::HttpResponseHeaders* original_response_headers,
scoped_refptr<net::HttpResponseHeaders>* override_response_headers,
extensions::WarningSet* conflicting_extensions,
- const net::NetLogWithSource* net_log) {
+ const net::NetLogWithSource* net_log,
+ bool* response_cookies_modified) {
+ DCHECK(response_cookies_modified);
+ *response_cookies_modified = false;
+
// Skip all work if there are no registered cookie modifications.
bool cookie_modifications_exist = false;
EventResponseDeltas::const_reverse_iterator delta;
@@ -1052,13 +1071,15 @@ void MergeCookiesInOnHeadersReceivedResponses(
ParsedResponseCookies cookies =
GetResponseCookies(*override_response_headers);
- bool modified = false;
- modified |= MergeAddResponseCookieModifications(deltas, &cookies);
- modified |= MergeEditResponseCookieModifications(deltas, &cookies);
- modified |= MergeRemoveResponseCookieModifications(deltas, &cookies);
+ *response_cookies_modified |=
+ MergeAddResponseCookieModifications(deltas, &cookies);
+ *response_cookies_modified |=
+ MergeEditResponseCookieModifications(deltas, &cookies);
+ *response_cookies_modified |=
+ MergeRemoveResponseCookieModifications(deltas, &cookies);
// Store new value.
- if (modified)
+ if (*response_cookies_modified)
StoreResponseCookies(cookies, *override_response_headers);
}
@@ -1088,7 +1109,14 @@ void MergeOnHeadersReceivedResponses(
scoped_refptr<net::HttpResponseHeaders>* override_response_headers,
GURL* allowed_unsafe_redirect_url,
extensions::WarningSet* conflicting_extensions,
- const net::NetLogWithSource* net_log) {
+ const net::NetLogWithSource* net_log,
+ bool* response_headers_modified,
+ bool* response_cookies_modified) {
+ DCHECK(response_headers_modified);
+ DCHECK(response_cookies_modified);
+ *response_headers_modified = false;
+ *response_cookies_modified = false;
+
EventResponseDeltas::const_iterator delta;
// Here we collect which headers we have removed or added so far due to
@@ -1154,6 +1182,7 @@ void MergeOnHeadersReceivedResponses(
}
net_log->AddEvent(net::NetLogEventType::CHROME_EXTENSION_MODIFIED_HEADERS,
CreateNetLogExtensionIdCallback(delta->get()));
+ *response_headers_modified = true;
} else {
conflicting_extensions->insert(
extensions::Warning::CreateResponseHeaderConflictWarning(
@@ -1165,8 +1194,9 @@ void MergeOnHeadersReceivedResponses(
}
}
- MergeCookiesInOnHeadersReceivedResponses(deltas, original_response_headers,
- override_response_headers, conflicting_extensions, net_log);
+ MergeCookiesInOnHeadersReceivedResponses(
+ deltas, original_response_headers, override_response_headers,
+ conflicting_extensions, net_log, response_cookies_modified);
GURL new_url;
MergeRedirectUrlOfResponses(

Powered by Google App Engine
This is Rietveld 408576698