| Index: net/spdy/spdy_stream.cc
 | 
| diff --git a/net/spdy/spdy_stream.cc b/net/spdy/spdy_stream.cc
 | 
| index a04016742cdbf391abf283e22a578411c3d30086..0fa6290161eddf94ea13135bd63d224205b9f988 100644
 | 
| --- a/net/spdy/spdy_stream.cc
 | 
| +++ b/net/spdy/spdy_stream.cc
 | 
| @@ -9,6 +9,7 @@
 | 
|  #include "base/message_loop.h"
 | 
|  #include "base/stringprintf.h"
 | 
|  #include "base/values.h"
 | 
| +#include "net/spdy/spdy_http_utils.h"
 | 
|  #include "net/spdy/spdy_session.h"
 | 
|  
 | 
|  namespace net {
 | 
| @@ -532,44 +533,8 @@ bool SpdyStream::HasUrl() const {
 | 
|  GURL SpdyStream::GetUrl() const {
 | 
|    DCHECK(HasUrl());
 | 
|  
 | 
| -  if (pushed_) {
 | 
| -    if (GetProtocolVersion() >= 3) {
 | 
| -      return GetUrlFromHeaderBlock(response_);
 | 
| -    } else {
 | 
| -      // assemble from the response
 | 
| -      std::string url;
 | 
| -      SpdyHeaderBlock::const_iterator it;
 | 
| -      it = response_->find("url");
 | 
| -      if (it != (*response_).end())
 | 
| -        url = it->second;
 | 
| -      return GURL(url);
 | 
| -    }
 | 
| -  }
 | 
| -
 | 
| -  return GetUrlFromHeaderBlock(request_);
 | 
| -}
 | 
| -
 | 
| -GURL SpdyStream::GetUrlFromHeaderBlock(
 | 
| -    const linked_ptr<SpdyHeaderBlock>& headers) const {
 | 
| -  const char* scheme_header = GetProtocolVersion() >= 3 ? ":scheme" : "scheme";
 | 
| -  const char* host_header = GetProtocolVersion() >= 3 ? ":host" : "host";
 | 
| -  const char* path_header = GetProtocolVersion() >= 3 ? ":path" : "path";
 | 
| -
 | 
| -  std::string scheme;
 | 
| -  std::string host_port;
 | 
| -  std::string path;
 | 
| -  SpdyHeaderBlock::const_iterator it;
 | 
| -  it = headers->find(scheme_header);
 | 
| -  if (it != (*headers).end())
 | 
| -    scheme = it->second;
 | 
| -  it = headers->find(host_header);
 | 
| -  if (it != (*headers).end())
 | 
| -    host_port = it->second;
 | 
| -  it = headers->find(path_header);
 | 
| -  if (it != (*headers).end())
 | 
| -    path = it->second;
 | 
| -  std::string url = scheme + "://" + host_port + path;
 | 
| -  return GURL(url);
 | 
| +  const SpdyHeaderBlock& headers = (pushed_) ? *response_ : *request_;
 | 
| +  return GetUrlFromHeaderBlock(headers, GetProtocolVersion(), pushed_);
 | 
|  }
 | 
|  
 | 
|  void SpdyStream::OnGetDomainBoundCertComplete(int result) {
 | 
| 
 |