summaryrefslogtreecommitdiffstats
path: root/chrome/browser/bookmarks
diff options
context:
space:
mode:
authorjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-16 01:07:08 +0000
committerjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-16 01:07:08 +0000
commit135fd3b65dac543c78543f85f83b4d0ea83d5184 (patch)
tree154c664fec0b39e5f263cc7a8616c4cdcb983d1d /chrome/browser/bookmarks
parent20cb5f48d36abeb25bbf6cdd6a5f6debe014e8b1 (diff)
downloadchromium_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.h5
-rw-r--r--chrome/browser/bookmarks/bookmark_service.h5
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_