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/bookmarks | |
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/bookmarks')
-rw-r--r-- | chrome/browser/bookmarks/bookmark_model_observer.h | 5 | ||||
-rw-r--r-- | chrome/browser/bookmarks/bookmark_service.h | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/chrome/browser/bookmarks/bookmark_model_observer.h b/chrome/browser/bookmarks/bookmark_model_observer.h index 1b85fe3..e850cb3 100644 --- a/chrome/browser/bookmarks/bookmark_model_observer.h +++ b/chrome/browser/bookmarks/bookmark_model_observer.h @@ -15,7 +15,7 @@ class BookmarkModelObserver { virtual void Loaded(BookmarkModel* model) = 0; // Invoked from the destructor of the BookmarkModel. - virtual void BookmarkModelBeingDeleted(BookmarkModel* model) { } + virtual void BookmarkModelBeingDeleted(BookmarkModel* model) {} // Invoked when a node has moved. virtual void BookmarkNodeMoved(BookmarkModel* model, @@ -51,6 +51,9 @@ class BookmarkModelObserver { // |node| have been reordered in some way, such as sorted. virtual void BookmarkNodeChildrenReordered(BookmarkModel* model, const BookmarkNode* node) = 0; + + protected: + virtual ~BookmarkModelObserver() {} }; #endif // CHROME_BROWSER_BOOKMARKS_BOOKMARK_MODEL_OBSERVER_H_ diff --git a/chrome/browser/bookmarks/bookmark_service.h b/chrome/browser/bookmarks/bookmark_service.h index 2de91cf..baa898b 100644 --- a/chrome/browser/bookmarks/bookmark_service.h +++ b/chrome/browser/bookmarks/bookmark_service.h @@ -1,4 +1,4 @@ -// Copyright 2008, Google Inc. +// Copyright 2009, The Chromium Authors // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -56,6 +56,9 @@ class BookmarkService { // Blocks until loaded. This is intended for usage on a thread other than // the main thread. virtual void BlockTillLoaded() = 0; + + protected: + virtual ~BookmarkService() {} }; #endif // CHROME_BROWSER_BOOKMARKS_BOOKMARK_SERVICE_H_ |