summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcaseq@google.com <caseq@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-10 18:05:10 +0000
committercaseq@google.com <caseq@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-10 18:05:10 +0000
commitbcfc82aa62de3794364854fabf908b1ebe0aa8de (patch)
tree9c9a3a17a3704d4b35b8196873617dd2888f28c3
parent9a40ebef1a4b169ef5627795d4ad564f612951e5 (diff)
downloadchromium_src-bcfc82aa62de3794364854fabf908b1ebe0aa8de.zip
chromium_src-bcfc82aa62de3794364854fabf908b1ebe0aa8de.tar.gz
chromium_src-bcfc82aa62de3794364854fabf908b1ebe0aa8de.tar.bz2
Avoid collecting headers from several reqeusts in case of redirect.
BUG=http://crbug.com/62665 TEST=manual -- see bug description Review URL: http://codereview.chromium.org/4732007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65682 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/debugger/devtools_netlog_observer.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/chrome/browser/debugger/devtools_netlog_observer.cc b/chrome/browser/debugger/devtools_netlog_observer.cc
index 83a7fbb..c92c0e1 100644
--- a/chrome/browser/debugger/devtools_netlog_observer.cc
+++ b/chrome/browser/debugger/devtools_netlog_observer.cc
@@ -54,7 +54,13 @@ void DevToolsNetLogObserver::OnAddEntry(net::NetLog::EventType type,
request_to_info_.clear();
}
scoped_refptr<ResourceInfo> new_record(new ResourceInfo());
- request_to_info_.insert(std::make_pair(source.id, new_record));
+ // We may encounter multiple PHASE_BEGIN for same resource in case of
+ // redirect -- if so, replace the old record to avoid keeping headers
+ // from different requests.
+ std::pair<RequestToInfoMap::iterator, bool> inserted =
+ request_to_info_.insert(std::make_pair(source.id, new_record));
+ if (!inserted.second)
+ inserted.first->second = new_record;
return;
}
if (type == net::NetLog::TYPE_REQUEST_ALIVE &&