| Index: chrome/browser/extensions/extension_webrequest_api.cc
|
| diff --git a/chrome/browser/extensions/extension_webrequest_api.cc b/chrome/browser/extensions/extension_webrequest_api.cc
|
| index 9a2c18962b323c70f69105b058c02ecd0ce1d36f..18a18dc1552c82411b78a2240a7caf4db98bf1f9 100644
|
| --- a/chrome/browser/extensions/extension_webrequest_api.cc
|
| +++ b/chrome/browser/extensions/extension_webrequest_api.cc
|
| @@ -1196,10 +1196,11 @@ helpers::EventResponseDelta* CalculateDelta(
|
| case ExtensionWebRequestEventRouter::kOnHeadersReceived: {
|
| net::HttpResponseHeaders* old_headers =
|
| blocked_request->original_response_headers.get();
|
| + helpers::ResponseHeaders* new_headers =
|
| + response->response_headers.get();
|
| return helpers::CalculateOnHeadersReceivedDelta(
|
| response->extension_id, response->extension_install_time,
|
| - response->cancel, old_headers->GetStatusLine(),
|
| - response->response_headers_string);
|
| + response->cancel, old_headers, new_headers);
|
| }
|
| case ExtensionWebRequestEventRouter::kOnAuthRequired:
|
| return helpers::CalculateOnAuthRequiredDelta(
|
| @@ -1276,6 +1277,7 @@ void ExtensionWebRequestEventRouter::DecrementBlockCount(
|
| CHECK(blocked_request.callback);
|
| helpers::MergeOnHeadersReceivedResponses(
|
| blocked_request.response_deltas,
|
| + blocked_request.original_response_headers.get(),
|
| blocked_request.override_response_headers,
|
| &conflicting_extensions,
|
| &event_log_entries);
|
| @@ -1553,7 +1555,8 @@ bool WebRequestEventHandled::RunImpl() {
|
| }
|
|
|
| if (value->HasKey("responseHeaders")) {
|
| - std::string response_headers_string;
|
| + helpers::ResponseHeaders* response_headers =
|
| + new helpers::ResponseHeaders();
|
| ListValue* response_headers_value = NULL;
|
| EXTENSION_FUNCTION_VALIDATE(value->GetList(keys::kResponseHeadersKey,
|
| &response_headers_value));
|
| @@ -1565,10 +1568,9 @@ bool WebRequestEventHandled::RunImpl() {
|
| response_headers_value->GetDictionary(i, &header_value));
|
| EXTENSION_FUNCTION_VALIDATE(
|
| FromHeaderDictionary(header_value, &name, &value));
|
| - response_headers_string += name + ": " + value + '\n';
|
| + response_headers->push_back(helpers::ResponseHeader(name, value));
|
| }
|
| - response_headers_string += '\n';
|
| - response->response_headers_string.swap(response_headers_string);
|
| + response->response_headers.reset(response_headers);
|
| }
|
|
|
| if (value->HasKey(keys::kAuthCredentialsKey)) {
|
|
|