diff options
author | jamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-16 01:01:25 +0000 |
---|---|---|
committer | jamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-16 01:01:25 +0000 |
commit | 20cb5f48d36abeb25bbf6cdd6a5f6debe014e8b1 (patch) | |
tree | c8cf260017c72af1080cdbb5861f1e11a250a271 /net | |
parent | 131a86821a98e41d363080d9d7925e514ab57869 (diff) | |
download | chromium_src-20cb5f48d36abeb25bbf6cdd6a5f6debe014e8b1.zip chromium_src-20cb5f48d36abeb25bbf6cdd6a5f6debe014e8b1.tar.gz chromium_src-20cb5f48d36abeb25bbf6cdd6a5f6debe014e8b1.tar.bz2 |
Give classes with virtual methods virtual protected destructors instead of implicit non-virtual public destructors.
Was originally:
Replace public nonvirtual destructors in classes with virtual members
with protected nonvirtual destructors where possible, and with
public virtual destructors where destruction of a derived class occurs.
(Excluding chrome/browser/...)
(Part 4 of http://www.gotw.ca/publications/mill18.htm
has a rationale for why public nonvirtual destructors in classes with
virtual members is dangerous.)
Patch by: Jacob Mandelson (jlmjln@gmail.com)
BUG=none
TEST=base_unittests & app_unittests
Review URL: http://codereview.chromium.org/200106
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34633 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r-- | net/base/directory_lister.h | 3 | ||||
-rw-r--r-- | net/socket/client_socket_pool_base.h | 4 | ||||
-rw-r--r-- | net/tools/fetch/http_listen_socket.h | 3 | ||||
-rw-r--r-- | net/url_request/url_request_unittest.h | 6 |
4 files changed, 11 insertions, 5 deletions
diff --git a/net/base/directory_lister.h b/net/base/directory_lister.h index 609a087..541741e 100644 --- a/net/base/directory_lister.h +++ b/net/base/directory_lister.h @@ -33,6 +33,9 @@ class DirectoryLister : public base::RefCountedThreadSafe<DirectoryLister>, virtual void OnListFile( const file_util::FileEnumerator::FindInfo& data) = 0; virtual void OnListDone(int error) = 0; + + protected: + virtual ~DirectoryListerDelegate() {} }; DirectoryLister(const FilePath& dir, DirectoryListerDelegate* delegate); diff --git a/net/socket/client_socket_pool_base.h b/net/socket/client_socket_pool_base.h index cfad0a0..897ffec 100644 --- a/net/socket/client_socket_pool_base.h +++ b/net/socket/client_socket_pool_base.h @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // @@ -451,7 +451,7 @@ class ClientSocketPoolBase { unused_idle_socket_timeout, used_idle_socket_timeout, new ConnectJobFactoryAdaptor(connect_job_factory))) {} - ~ClientSocketPoolBase() {} + virtual ~ClientSocketPoolBase() {} // These member functions simply forward to ClientSocketPoolBaseHelper. diff --git a/net/tools/fetch/http_listen_socket.h b/net/tools/fetch/http_listen_socket.h index bb6d383..73f09f6 100644 --- a/net/tools/fetch/http_listen_socket.h +++ b/net/tools/fetch/http_listen_socket.h @@ -19,6 +19,9 @@ class HttpListenSocket : public ListenSocket, public: virtual void OnRequest(HttpListenSocket* connection, HttpServerRequestInfo* info) = 0; + + protected: + virtual ~Delegate() {} }; static HttpListenSocket* Listen(const std::string& ip, int port, diff --git a/net/url_request/url_request_unittest.h b/net/url_request/url_request_unittest.h index b4a17ca..649aa37 100644 --- a/net/url_request/url_request_unittest.h +++ b/net/url_request/url_request_unittest.h @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -240,9 +240,9 @@ class TestDelegate : public URLRequest::Delegate { // that can provide various responses useful for testing. class BaseTestServer : public base::RefCounted<BaseTestServer> { protected: - BaseTestServer() { } + BaseTestServer() {} BaseTestServer(int connection_attempts, int connection_timeout) - : launcher_(connection_attempts, connection_timeout) { } + : launcher_(connection_attempts, connection_timeout) {} public: void set_forking(bool forking) { |