diff options
author | jamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-16 01:07:08 +0000 |
---|---|---|
committer | jamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-16 01:07:08 +0000 |
commit | 135fd3b65dac543c78543f85f83b4d0ea83d5184 (patch) | |
tree | 154c664fec0b39e5f263cc7a8616c4cdcb983d1d /chrome/browser/login_model.h | |
parent | 20cb5f48d36abeb25bbf6cdd6a5f6debe014e8b1 (diff) | |
download | chromium_src-135fd3b65dac543c78543f85f83b4d0ea83d5184.zip chromium_src-135fd3b65dac543c78543f85f83b4d0ea83d5184.tar.gz chromium_src-135fd3b65dac543c78543f85f83b4d0ea83d5184.tar.bz2 |
Give classes with virtual methods virtual protected d'tors instead of non-virtual public implicit d'tors.
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.
(chrome/browser/[a-m]* only)
(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.)
BUG=none
TEST=base_unittests & app_unittests
Review URL: http://codereview.chromium.org/201100
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34634 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/login_model.h')
-rw-r--r-- | chrome/browser/login_model.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/chrome/browser/login_model.h b/chrome/browser/login_model.h index cbd2fef..22c50c5 100644 --- a/chrome/browser/login_model.h +++ b/chrome/browser/login_model.h @@ -15,6 +15,9 @@ class LoginModelObserver { // as a match for the pending login prompt. virtual void OnAutofillDataAvailable(const std::wstring& username, const std::wstring& password) = 0; + + protected: + virtual ~LoginModelObserver() {} }; class LoginModel { @@ -23,6 +26,9 @@ class LoginModel { // observer can be null, signifying there is no longer any observer // interested in the data. virtual void SetObserver(LoginModelObserver* observer) = 0; + + protected: + virtual ~LoginModel() {} }; #endif // CHROME_BROWSER_LOGIN_MODEL_H_ |