diff options
author | caseq@google.com <caseq@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-10 18:05:10 +0000 |
---|---|---|
committer | caseq@google.com <caseq@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-10 18:05:10 +0000 |
commit | bcfc82aa62de3794364854fabf908b1ebe0aa8de (patch) | |
tree | 9c9a3a17a3704d4b35b8196873617dd2888f28c3 | |
parent | 9a40ebef1a4b169ef5627795d4ad564f612951e5 (diff) | |
download | chromium_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.cc | 8 |
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 && |