diff options
author | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-24 21:42:10 +0000 |
---|---|---|
committer | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-24 21:42:10 +0000 |
commit | 40f1cc31488946d67d32500c0593f6c37afe2774 (patch) | |
tree | ee6e8b8c93d6ec0a81f3b8dc664985ef80d131a5 /net/socket | |
parent | f0f1db697fe2ff3501611c6a024eaa8d619767ac (diff) | |
download | chromium_src-40f1cc31488946d67d32500c0593f6c37afe2774.zip chromium_src-40f1cc31488946d67d32500c0593f6c37afe2774.tar.gz chromium_src-40f1cc31488946d67d32500c0593f6c37afe2774.tar.bz2 |
Reland r97821. DiskCacheBasedSSLHostInfo needs to be declared with
NET_EXPORT_PRIVATE for the shared builds.
Do not call callback->Run() until we are about to return from this
object because callback->Run() may cause this object to be deleted.
Previously we were calling callback->Run() in DoWaitForDataReadyDone(),
which returns to the do-while loop in DoLoop(). The do-while loop
reads the state_ member. If the object was deleted in callback->Run(),
we would be reading state_ after free.
Miscellaneous cleanups: omit net::, and use the assign() method of
std::string to avoid constructing a temporary object.
R=agl@chromium.org,rvargas@chromium.org
BUG=84426
TEST=net_unittests --gtest_filter=DiskCacheBasedSSLHostInfo.DeleteInCallback
Review URL: http://codereview.chromium.org/7715007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98119 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket')
-rw-r--r-- | net/socket/ssl_host_info.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/socket/ssl_host_info.h b/net/socket/ssl_host_info.h index 1387071..6441e60e 100644 --- a/net/socket/ssl_host_info.h +++ b/net/socket/ssl_host_info.h @@ -15,6 +15,7 @@ #include "net/base/cert_verify_result.h" #include "net/base/completion_callback.h" #include "net/base/dnsrr_resolver.h" +#include "net/base/net_export.h" #include "net/socket/ssl_client_socket.h" namespace net { @@ -26,7 +27,7 @@ struct SSLConfig; // This information may be stored on disk so does not include keys or session // information etc. Primarily it's intended for caching the server's // certificates. -class SSLHostInfo { +class NET_EXPORT_PRIVATE SSLHostInfo { public: SSLHostInfo(const std::string& hostname, const SSLConfig& ssl_config, |