summaryrefslogtreecommitdiffstats
path: root/net/socket
diff options
context:
space:
mode:
authorwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-24 21:42:10 +0000
committerwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-24 21:42:10 +0000
commit40f1cc31488946d67d32500c0593f6c37afe2774 (patch)
treeee6e8b8c93d6ec0a81f3b8dc664985ef80d131a5 /net/socket
parentf0f1db697fe2ff3501611c6a024eaa8d619767ac (diff)
downloadchromium_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.h3
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,