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/command_updater.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/command_updater.h')
-rw-r--r-- | chrome/browser/command_updater.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/chrome/browser/command_updater.h b/chrome/browser/command_updater.h index ebe271e..1ef1ee6 100644 --- a/chrome/browser/command_updater.h +++ b/chrome/browser/command_updater.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. @@ -24,6 +24,9 @@ class CommandUpdater { public: // Perform the action associated with the command with the specified ID. virtual void ExecuteCommand(int id) = 0; + + protected: + virtual ~CommandUpdaterDelegate() {} }; // Create a CommandUpdater with a CommandUpdaterDelegate to handle execution @@ -50,6 +53,9 @@ class CommandUpdater { // Notifies the observer that the enabled state has changed for the // specified command id. virtual void EnabledStateChangedForCommand(int id, bool enabled) = 0; + + protected: + virtual ~CommandObserver() {} }; // Adds an observer to the state of a particular command. If the command does |