diff options
author | ericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-15 05:08:42 +0000 |
---|---|---|
committer | ericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-15 05:08:42 +0000 |
commit | 2884a4619edeac1787e2b1d1b57e913f7e442cae (patch) | |
tree | f194f30877c49ce17031a29393143039eacfb496 /net/ftp | |
parent | 202e7a773359b24943d7de0943dd9c7d257ab1cb (diff) | |
download | chromium_src-2884a4619edeac1787e2b1d1b57e913f7e442cae.zip chromium_src-2884a4619edeac1787e2b1d1b57e913f7e442cae.tar.gz chromium_src-2884a4619edeac1787e2b1d1b57e913f7e442cae.tar.bz2 |
* Move the global "DnsResolutionObserver" code depended on by DNS prefetcher, into HostResolver. This has the advantage that consumers of DNS no longer have to remember to call "DidFinishDnsResolutionWithStatus()" followed by "DidStartDnsResolution()" in order for the prefetcher to observe the resolution. Instead it just happens automatically, and subscribers register via HostResolver::AddObserver() on a particular resolver instance.
* To accomodate the prefetcher's observer, HostResolver::Resolve() needs an additional "referrer" parameter. This is slightly awkward since "referrer" has nothing to do with the actual resolve request. To simplify plumbing through this and other optional parameters, Resolve() was changed to take a "RequestInfo&" parameter in place of say {hostname, port, flags}.
* Added an option to HostResolver::Resolve() for disallowing cached responses (RequestInfo::allow_cached_response). This will be used when you refresh a page, to bypass the host cache. The code to do this has been added to HttpNetworkTransaction, but is commented out pending an appropriate unit-test to verify it.
BUG=14056
Review URL: http://codereview.chromium.org/125107
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18371 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/ftp')
-rw-r--r-- | net/ftp/ftp_network_transaction.cc | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/net/ftp/ftp_network_transaction.cc b/net/ftp/ftp_network_transaction.cc index 87f9217..18bd808 100644 --- a/net/ftp/ftp_network_transaction.cc +++ b/net/ftp/ftp_network_transaction.cc @@ -339,13 +339,13 @@ int FtpNetworkTransaction::DoCtrlResolveHost() { host = request_->url.host(); port = request_->url.EffectiveIntPort(); - DidStartDnsResolution(host, this); - return resolver_.Resolve(host, port, &addresses_, &io_callback_); + HostResolver::RequestInfo info(host, port); + // No known referrer. + return resolver_.Resolve(info, &addresses_, &io_callback_); } int FtpNetworkTransaction::DoCtrlResolveHostComplete(int result) { bool ok = (result == OK); - DidFinishDnsResolutionWithStatus(ok, GURL(), this); if (ok) { next_state_ = STATE_CTRL_CONNECT; return result; @@ -832,14 +832,14 @@ int FtpNetworkTransaction::DoDataResolveHost() { next_state_ = STATE_DATA_RESOLVE_HOST_COMPLETE; - DidStartDnsResolution(data_connection_ip_, this); - return resolver_.Resolve(data_connection_ip_, data_connection_port_, - &addresses_, &io_callback_); + HostResolver::RequestInfo info(data_connection_ip_, + data_connection_port_); + // No known referrer. + return resolver_.Resolve(info, &addresses_, &io_callback_); } int FtpNetworkTransaction::DoDataResolveHostComplete(int result) { bool ok = (result == OK); - DidFinishDnsResolutionWithStatus(ok, GURL(), this); if (ok) { next_state_ = STATE_DATA_CONNECT; return result; |