diff options
Diffstat (limited to 'chrome/browser')
32 files changed, 145 insertions, 25 deletions
diff --git a/chrome/browser/aeropeek_manager.h b/chrome/browser/aeropeek_manager.h index 80d60db..4495a95 100644 --- a/chrome/browser/aeropeek_manager.h +++ b/chrome/browser/aeropeek_manager.h @@ -45,6 +45,9 @@ class AeroPeekWindowDelegate { virtual void GetContentInsets(gfx::Insets* insets) = 0; virtual bool GetTabThumbnail(int tab_id, SkBitmap* thumbnail) = 0; virtual bool GetTabPreview(int tab_id, SkBitmap* preview) = 0; + + protected: + virtual ~AeroPeekWindowDelegate() {} }; // A class that implements AeroPeek of Windows 7: @@ -91,7 +94,7 @@ class AeroPeekManager : public TabStripModelObserver, public AeroPeekWindowDelegate { public: explicit AeroPeekManager(HWND application_window); - ~AeroPeekManager(); + virtual ~AeroPeekManager(); // Sets the margins of the "user-perceived content area". // (See comments of |content_insets_|). diff --git a/chrome/browser/browser_window.h b/chrome/browser/browser_window.h index d4e679e..d1ce48b 100644 --- a/chrome/browser/browser_window.h +++ b/chrome/browser/browser_window.h @@ -320,7 +320,7 @@ class BrowserWindow { friend class BrowserView; virtual void DestroyBrowser() = 0; - ~BrowserWindow() {} + virtual ~BrowserWindow() {} }; #if defined(OS_WIN) || defined(TOOLKIT_VIEWS) @@ -349,6 +349,9 @@ class BrowserWindowTesting { // Returns the ToolbarView. virtual ToolbarView* GetToolbarView() const = 0; #endif + + protected: + virtual ~BrowserWindowTesting() {} }; #endif // CHROME_BROWSER_BROWSER_WINDOW_H_ diff --git a/chrome/browser/child_process_launcher.h b/chrome/browser/child_process_launcher.h index ce1c04d..d37b52d 100644 --- a/chrome/browser/child_process_launcher.h +++ b/chrome/browser/child_process_launcher.h @@ -21,6 +21,9 @@ class ChildProcessLauncher { // Will be called on the thread that the ChildProcessLauncher was // constructed on. virtual void OnProcessLaunched() = 0; + + protected: + virtual ~Client() {} }; // Launches the process asynchronously, calling the client when the result is diff --git a/chrome/browser/chromeos/cros_settings.h b/chrome/browser/chromeos/cros_settings.h index cfe4ec8..cb459ec 100644 --- a/chrome/browser/chromeos/cros_settings.h +++ b/chrome/browser/chromeos/cros_settings.h @@ -43,6 +43,9 @@ class CrosSettings { bool GetInteger(const std::wstring& path, int* out_value) const; bool GetReal(const std::wstring& path, double* out_value) const; bool GetString(const std::wstring& path, std::string* out_value) const; + + protected: + virtual ~CrosSettings() {} }; } // namespace chromeos diff --git a/chrome/browser/cocoa/location_bar/autocomplete_text_field.h b/chrome/browser/cocoa/location_bar/autocomplete_text_field.h index 0340874..aad52a6 100644 --- a/chrome/browser/cocoa/location_bar/autocomplete_text_field.h +++ b/chrome/browser/cocoa/location_bar/autocomplete_text_field.h @@ -89,6 +89,9 @@ class AutocompleteTextFieldObserver { // Called whenever the autocomplete text field is losing focus. virtual void OnKillFocus() = 0; + + protected: + virtual ~AutocompleteTextFieldObserver() {} }; @interface AutocompleteTextField : StyledTextField<NSTextViewDelegate, diff --git a/chrome/browser/cocoa/table_row_nsimage_cache.h b/chrome/browser/cocoa/table_row_nsimage_cache.h index 6409123..a8c0052 100644 --- a/chrome/browser/cocoa/table_row_nsimage_cache.h +++ b/chrome/browser/cocoa/table_row_nsimage_cache.h @@ -15,15 +15,18 @@ // caches the results. class TableRowNSImageCache { public: - // Interface this cache expects for its table model. - class Table { - public: - // Returns the number of rows in the table. - virtual int RowCount() const = 0; - - // Returns the icon of the |row|th row. - virtual SkBitmap GetIcon(int row) const = 0; - }; + // Interface this cache expects for its table model. + class Table { + public: + // Returns the number of rows in the table. + virtual int RowCount() const = 0; + + // Returns the icon of the |row|th row. + virtual SkBitmap GetIcon(int row) const = 0; + + protected: + virtual ~Table() {} + }; // |model| must outlive the cache. explicit TableRowNSImageCache(Table* model); diff --git a/chrome/browser/content_setting_image_model.h b/chrome/browser/content_setting_image_model.h index f5d5a66..efc9b8e 100644 --- a/chrome/browser/content_setting_image_model.h +++ b/chrome/browser/content_setting_image_model.h @@ -15,6 +15,8 @@ class TabContents; // that are displayed in the location bar. class ContentSettingImageModel { public: + virtual ~ContentSettingImageModel() {} + // Factory function. static ContentSettingImageModel* CreateContentSettingImageModel( ContentSettingsType content_settings_type); diff --git a/chrome/browser/crash_handler_host_linux.h b/chrome/browser/crash_handler_host_linux.h index 3f1ea2e..8a76297 100644 --- a/chrome/browser/crash_handler_host_linux.h +++ b/chrome/browser/crash_handler_host_linux.h @@ -38,7 +38,7 @@ class CrashHandlerHostLinux : public MessageLoopForIO::Watcher, protected: CrashHandlerHostLinux(); - ~CrashHandlerHostLinux(); + virtual ~CrashHandlerHostLinux(); // This is here on purpose to make CrashHandlerHostLinux abstract. virtual void SetProcessType() = 0; @@ -60,7 +60,7 @@ class PluginCrashHandlerHostLinux : public CrashHandlerHostLinux { PluginCrashHandlerHostLinux() { SetProcessType(); } - ~PluginCrashHandlerHostLinux() {} + virtual ~PluginCrashHandlerHostLinux() {} virtual void SetProcessType() { process_type_ = "plugin"; @@ -75,7 +75,7 @@ class RendererCrashHandlerHostLinux : public CrashHandlerHostLinux { RendererCrashHandlerHostLinux() { SetProcessType(); } - ~RendererCrashHandlerHostLinux() {} + virtual ~RendererCrashHandlerHostLinux() {} virtual void SetProcessType() { process_type_ = "renderer"; diff --git a/chrome/browser/extensions/extension_clipboard_api.h b/chrome/browser/extensions/extension_clipboard_api.h index 4789221..d47d50e 100644 --- a/chrome/browser/extensions/extension_clipboard_api.h +++ b/chrome/browser/extensions/extension_clipboard_api.h @@ -14,6 +14,9 @@ class ClipboardFunction : public SyncExtensionFunction { public: virtual bool RunImpl(); virtual bool RunImpl(RenderViewHost* render_view_host) = 0; + + protected: + virtual ~ClipboardFunction() {} }; class ExecuteCopyClipboardFunction : public ClipboardFunction { diff --git a/chrome/browser/extensions/extension_infobar_delegate.h b/chrome/browser/extensions/extension_infobar_delegate.h index 01174ef..2d20d82 100644 --- a/chrome/browser/extensions/extension_infobar_delegate.h +++ b/chrome/browser/extensions/extension_infobar_delegate.h @@ -21,6 +21,9 @@ class ExtensionInfoBarDelegate : public InfoBarDelegate, class DelegateObserver { public: virtual void OnDelegateDeleted() = 0; + + protected: + virtual ~DelegateObserver() {} }; ExtensionInfoBarDelegate(Browser* browser, TabContents* contents, diff --git a/chrome/browser/extensions/pack_extension_job.h b/chrome/browser/extensions/pack_extension_job.h index 2ad95a6..f0d10e1 100644 --- a/chrome/browser/extensions/pack_extension_job.h +++ b/chrome/browser/extensions/pack_extension_job.h @@ -23,6 +23,9 @@ class PackExtensionJob : public base::RefCountedThreadSafe<PackExtensionJob> { virtual void OnPackSuccess(const FilePath& crx_file, const FilePath& key_file) = 0; virtual void OnPackFailure(const std::wstring& message) = 0; + + protected: + virtual ~Client() {} }; PackExtensionJob(Client* client, diff --git a/chrome/browser/gtk/bookmark_bar_instructions_gtk.h b/chrome/browser/gtk/bookmark_bar_instructions_gtk.h index ce711e0..fd19eb2 100644 --- a/chrome/browser/gtk/bookmark_bar_instructions_gtk.h +++ b/chrome/browser/gtk/bookmark_bar_instructions_gtk.h @@ -21,6 +21,9 @@ class BookmarkBarInstructionsGtk : public NotificationObserver { class Delegate { public: virtual void ShowImportDialog() = 0; + + protected: + virtual ~Delegate() {} }; explicit BookmarkBarInstructionsGtk(Delegate* delegate, Profile* profile); diff --git a/chrome/browser/gtk/options/options_layout_gtk.h b/chrome/browser/gtk/options/options_layout_gtk.h index 96bbc8ba..0cc8b7f 100644 --- a/chrome/browser/gtk/options/options_layout_gtk.h +++ b/chrome/browser/gtk/options/options_layout_gtk.h @@ -12,6 +12,8 @@ class OptionsLayoutBuilderGtk { public: + virtual ~OptionsLayoutBuilderGtk() {} + GtkWidget* get_page_widget() { return page_; } @@ -38,7 +40,6 @@ class OptionsLayoutBuilderGtk { protected: // The parent widget GtkWidget* page_; - }; #endif // CHROME_BROWSER_GTK_OPTIONS_OPTIONS_LAYOUT_GTK_H_ diff --git a/chrome/browser/notifications/balloon_host.h b/chrome/browser/notifications/balloon_host.h index 07ddf3d..7b21d27 100644 --- a/chrome/browser/notifications/balloon_host.h +++ b/chrome/browser/notifications/balloon_host.h @@ -113,6 +113,7 @@ class BalloonHost : public RenderViewHostDelegate, virtual RendererPreferences GetRendererPrefs(Profile* profile) const; protected: + virtual ~BalloonHost() {} // Must override in platform specific implementations. virtual void InitRenderWidgetHostView() = 0; virtual RenderWidgetHostView* render_widget_host_view() const = 0; diff --git a/chrome/browser/notifications/notification_delegate.h b/chrome/browser/notifications/notification_delegate.h index 6d69335..2aa8ee8 100644 --- a/chrome/browser/notifications/notification_delegate.h +++ b/chrome/browser/notifications/notification_delegate.h @@ -15,7 +15,6 @@ class NotificationDelegate : public base::RefCountedThreadSafe<NotificationDelegate> { public: - // To be called when the desktop notification is actually shown. virtual void Display() = 0; @@ -29,6 +28,12 @@ class NotificationDelegate // Returns unique id of the notification. virtual std::string id() const = 0; + + protected: + virtual ~NotificationDelegate() {} + + private: + friend class base::RefCountedThreadSafe<NotificationDelegate>; }; #endif // CHROME_BROWSER_NOTIFICATIONS_NOTIFICATION_DELEGATE_H_ diff --git a/chrome/browser/page_info_model.h b/chrome/browser/page_info_model.h index a3bee79..63cb79d 100644 --- a/chrome/browser/page_info_model.h +++ b/chrome/browser/page_info_model.h @@ -21,8 +21,11 @@ class Profile; class PageInfoModel { public: class PageInfoModelObserver { - public: - virtual void ModelChanged() = 0; + public: + virtual void ModelChanged() = 0; + + protected: + virtual ~PageInfoModelObserver() {} }; struct SectionInfo { diff --git a/chrome/browser/parsers/metadata_parser.h b/chrome/browser/parsers/metadata_parser.h index 65210fa..65c57d0 100644 --- a/chrome/browser/parsers/metadata_parser.h +++ b/chrome/browser/parsers/metadata_parser.h @@ -13,6 +13,8 @@ class MetadataPropertyIterator { public: MetadataPropertyIterator() {} + virtual ~MetadataPropertyIterator() {} + // Gets the next Property in the iterator. Returns false if at the end // of the list. @@ -29,6 +31,8 @@ class MetadataPropertyIterator { class MetadataParser { public: explicit MetadataParser(const FilePath& path) {} + virtual ~MetadataParser() {} + static const char* kPropertyType; static const char* kPropertyFilesize; diff --git a/chrome/browser/parsers/metadata_parser_factory.h b/chrome/browser/parsers/metadata_parser_factory.h index 2636804..553a785 100644 --- a/chrome/browser/parsers/metadata_parser_factory.h +++ b/chrome/browser/parsers/metadata_parser_factory.h @@ -12,6 +12,7 @@ class MetadataParserFactory { public: MetadataParserFactory() {} + virtual ~MetadataParserFactory() {} // Used to check to see if the parser can parse the given file. This // should not do any additional reading of the file. diff --git a/chrome/browser/renderer_host/render_view_host_delegate.h b/chrome/browser/renderer_host/render_view_host_delegate.h index a56fc57..ed08340 100644 --- a/chrome/browser/renderer_host/render_view_host_delegate.h +++ b/chrome/browser/renderer_host/render_view_host_delegate.h @@ -174,6 +174,9 @@ class RenderViewHostDelegate { // The contents' preferred size changed. virtual void UpdatePreferredSize(const gfx::Size& pref_size) = 0; + + protected: + virtual ~View() {} }; // RendererManagerment ------------------------------------------------------- @@ -199,6 +202,9 @@ class RenderViewHostDelegate { // Called the ResourceDispatcherHost's associate CrossSiteRequestHandler // when a cross-site navigation has been canceled. virtual void OnCrossSiteNavigationCanceled() = 0; + + protected: + virtual ~RendererManagement() {} }; // BrowserIntegration -------------------------------------------------------- @@ -254,6 +260,9 @@ class RenderViewHostDelegate { const std::string& original_lang, const std::string& translated_lang, TranslateErrors::Type error_type) = 0; + + protected: + virtual ~BrowserIntegration() {} }; // Resource ------------------------------------------------------------------ @@ -310,6 +319,9 @@ class RenderViewHostDelegate { // Notification that a document has been loaded in a frame. virtual void DocumentLoadedInFrame() = 0; + + protected: + virtual ~Resource() {} }; // ContentSettings------------------------------------------------------------ @@ -357,6 +369,9 @@ class RenderViewHostDelegate { // page. virtual void OnGeolocationPermissionSet(const GURL& requesting_frame, bool allowed) = 0; + + protected: + virtual ~ContentSettings() {} }; // Save ---------------------------------------------------------------------- @@ -382,6 +397,9 @@ class RenderViewHostDelegate { virtual void OnReceivedSerializedHtmlData(const GURL& frame_url, const std::string& data, int32 status) = 0; + + protected: + virtual ~Save() {} }; // Printing ------------------------------------------------------------------ @@ -397,6 +415,9 @@ class RenderViewHostDelegate { // EMF memory mapped data. virtual void DidPrintPage( const ViewHostMsg_DidPrintPage_Params& params) = 0; + + protected: + virtual ~Printing() {} }; // FavIcon ------------------------------------------------------------------- @@ -420,6 +441,9 @@ class RenderViewHostDelegate { virtual void UpdateFavIconURL(RenderViewHost* render_view_host, int32 page_id, const GURL& icon_url) = 0; + + protected: + virtual ~FavIcon() {} }; // Autocomplete -------------------------------------------------------------- @@ -446,6 +470,9 @@ class RenderViewHostDelegate { // Autocomplete suggestion from the database. virtual void RemoveAutocompleteEntry(const string16& field_name, const string16& value) = 0; + + protected: + virtual ~Autocomplete() {} }; // AutoFill ------------------------------------------------------------------ @@ -482,6 +509,9 @@ class RenderViewHostDelegate { // Called when the user selects the 'AutoFill Options...' suggestions in the // AutoFill popup. virtual void ShowAutoFillDialog() = 0; + + protected: + virtual ~AutoFill() {} }; // BookmarkDrag -------------------------------------------------------------- @@ -493,6 +523,9 @@ class RenderViewHostDelegate { virtual void OnDragOver(const BookmarkDragData& data) = 0; virtual void OnDragLeave(const BookmarkDragData& data) = 0; virtual void OnDrop(const BookmarkDragData& data) = 0; + + protected: + virtual ~BookmarkDrag() {} }; // SSL ----------------------------------------------------------------------- @@ -504,6 +537,9 @@ class RenderViewHostDelegate { // returning them to |handler|. virtual void ShowClientCertificateRequestDialog( scoped_refptr<SSLClientAuthHandler> handler) = 0; + + protected: + virtual ~SSL() {} }; // --------------------------------------------------------------------------- @@ -555,7 +591,7 @@ class RenderViewHostDelegate { // The RenderView is going to be deleted. This is called when each // RenderView is going to be destroyed - virtual void RenderViewDeleted(RenderViewHost* render_view_host) { } + virtual void RenderViewDeleted(RenderViewHost* render_view_host) {} // The RenderView was navigated to a different page. virtual void DidNavigate(RenderViewHost* render_view_host, @@ -724,6 +760,9 @@ class RenderViewHostDelegate { // The content being displayed is a PDF. virtual void SetDisplayingPDFContent() {} + + protected: + virtual ~RenderViewHostDelegate() {} }; #endif // CHROME_BROWSER_RENDERER_HOST_RENDER_VIEW_HOST_DELEGATE_H_ diff --git a/chrome/browser/renderer_host/render_widget_host_painting_observer.h b/chrome/browser/renderer_host/render_widget_host_painting_observer.h index 70d96fd..529d35f 100644 --- a/chrome/browser/renderer_host/render_widget_host_painting_observer.h +++ b/chrome/browser/renderer_host/render_widget_host_painting_observer.h @@ -33,6 +33,9 @@ class RenderWidgetHostPaintingObserver { RenderWidgetHost* widget, int tag, const gfx::Size& size) = 0; + + protected: + virtual ~RenderWidgetHostPaintingObserver() {} }; #endif // CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_PAINTING_OBSERVER_H_ diff --git a/chrome/browser/search_engines/template_url_model.h b/chrome/browser/search_engines/template_url_model.h index 95a4a8d..885b382 100644 --- a/chrome/browser/search_engines/template_url_model.h +++ b/chrome/browser/search_engines/template_url_model.h @@ -49,6 +49,9 @@ class TemplateURLModelObserver { public: // Notification that the template url model has changed in some way. virtual void OnTemplateURLModelChanged() = 0; + + protected: + virtual ~TemplateURLModelObserver() {} }; class TemplateURLModel : public WebDataServiceConsumer, @@ -67,8 +70,7 @@ class TemplateURLModel : public WebDataServiceConsumer, explicit TemplateURLModel(Profile* profile); // The following is for testing. TemplateURLModel(const Initializer* initializers, const int count); - - ~TemplateURLModel(); + virtual ~TemplateURLModel(); // Generates a suitable keyword for the specified url. Returns an empty // string if a keyword couldn't be generated. If |autodetected| is true, we diff --git a/chrome/browser/spellcheck_host_observer.h b/chrome/browser/spellcheck_host_observer.h index 222cd91..ff74802 100644 --- a/chrome/browser/spellcheck_host_observer.h +++ b/chrome/browser/spellcheck_host_observer.h @@ -10,6 +10,9 @@ class SpellCheckHostObserver { public: // Invoked on the UI thread when SpellCheckHost is initialized. virtual void SpellCheckHostInitialized() = 0; + + protected: + virtual ~SpellCheckHostObserver() {} }; #endif // CHROME_BROWSER_SPELLCHECK_HOST_OBSERVER_H_ diff --git a/chrome/browser/sync/util/channel.h b/chrome/browser/sync/util/channel.h index ba516b6..0b98347 100644 --- a/chrome/browser/sync/util/channel.h +++ b/chrome/browser/sync/util/channel.h @@ -64,6 +64,9 @@ template <typename EventType> class ChannelEventHandler : public EventHandler { public: virtual void HandleChannelEvent(const EventType& event) = 0; + + protected: + virtual ~ChannelEventHandler() {} }; // This class manages a connection to a channel. When it is destroyed, it diff --git a/chrome/browser/tab_contents/constrained_window.h b/chrome/browser/tab_contents/constrained_window.h index 3dc6592..7de2ade 100644 --- a/chrome/browser/tab_contents/constrained_window.h +++ b/chrome/browser/tab_contents/constrained_window.h @@ -53,6 +53,9 @@ class ConstrainedWindow { // Sets focus on the Constrained Window. virtual void FocusConstrainedWindow() {} + + protected: + virtual ~ConstrainedWindow() {} }; #endif // CHROME_BROWSER_TAB_CONTENTS_CONSTRAINED_WINDOW_H_ diff --git a/chrome/browser/tab_contents/render_view_host_manager.h b/chrome/browser/tab_contents/render_view_host_manager.h index 0fa0f26..5a6e0f7 100644 --- a/chrome/browser/tab_contents/render_view_host_manager.h +++ b/chrome/browser/tab_contents/render_view_host_manager.h @@ -67,6 +67,9 @@ class RenderViewHostManager // Focuses the location bar. virtual void SetFocusToLocationBar(bool select_all) = 0; + + protected: + virtual ~Delegate() {} }; // Both delegate pointers must be non-NULL and are not owned by this class. @@ -76,7 +79,7 @@ class RenderViewHostManager // You must call Init() before using this class. RenderViewHostManager(RenderViewHostDelegate* render_view_delegate, Delegate* delegate); - ~RenderViewHostManager(); + virtual ~RenderViewHostManager(); // For arguments, see TabContents constructor. void Init(Profile* profile, diff --git a/chrome/browser/tab_contents/tab_contents_delegate.h b/chrome/browser/tab_contents/tab_contents_delegate.h index 7854003..fdd0964 100644 --- a/chrome/browser/tab_contents/tab_contents_delegate.h +++ b/chrome/browser/tab_contents/tab_contents_delegate.h @@ -276,7 +276,7 @@ class TabContentsDelegate : public AutomationResourceRoutingDelegate { virtual void ContentTypeChanged(TabContents* source); protected: - ~TabContentsDelegate(); + virtual ~TabContentsDelegate(); }; #endif // CHROME_BROWSER_TAB_CONTENTS_TAB_CONTENTS_DELEGATE_H_ diff --git a/chrome/browser/tabs/tab_strip_model.h b/chrome/browser/tabs/tab_strip_model.h index d8eba2e..99036cc 100644 --- a/chrome/browser/tabs/tab_strip_model.h +++ b/chrome/browser/tabs/tab_strip_model.h @@ -129,6 +129,9 @@ class TabStripModelObserver { // Sent when the tabstrip model is about to be deleted and any reference held // must be dropped. virtual void TabStripModelDeleted(); + + protected: + virtual ~TabStripModelObserver() {} }; /////////////////////////////////////////////////////////////////////////////// @@ -236,6 +239,9 @@ class TabStripModelDelegate { // Toggles the use of the vertical tabstrip. virtual void ToggleUseVerticalTabs() = 0; + + protected: + virtual ~TabStripModelDelegate() {} }; //////////////////////////////////////////////////////////////////////////////// diff --git a/chrome/browser/views/bookmark_bar_instructions_view.h b/chrome/browser/views/bookmark_bar_instructions_view.h index c598f101..1e82e5e 100644 --- a/chrome/browser/views/bookmark_bar_instructions_view.h +++ b/chrome/browser/views/bookmark_bar_instructions_view.h @@ -26,6 +26,9 @@ class BookmarkBarInstructionsView : public views::View, class Delegate { public: virtual void ShowImportDialog() = 0; + + protected: + virtual ~Delegate() {} }; explicit BookmarkBarInstructionsView(Delegate* delegate); diff --git a/chrome/browser/views/bookmark_context_menu.h b/chrome/browser/views/bookmark_context_menu.h index d141277..ea863c4 100644 --- a/chrome/browser/views/bookmark_context_menu.h +++ b/chrome/browser/views/bookmark_context_menu.h @@ -17,6 +17,9 @@ class BookmarkContextMenuObserver { // Invoked after the items have been removed from the model. virtual void DidRemoveBookmarks() = 0; + + protected: + virtual ~BookmarkContextMenuObserver() {} }; class BookmarkContextMenu : public BookmarkContextMenuControllerViewsDelegate, diff --git a/chrome/browser/views/bookmark_menu_controller_views.h b/chrome/browser/views/bookmark_menu_controller_views.h index 511483a..f858bfd 100644 --- a/chrome/browser/views/bookmark_menu_controller_views.h +++ b/chrome/browser/views/bookmark_menu_controller_views.h @@ -43,6 +43,9 @@ class BookmarkMenuController : public BaseBookmarkModelObserver, class Observer { public: virtual void BookmarkMenuDeleted(BookmarkMenuController* controller) = 0; + + protected: + virtual ~Observer() {} }; // Creates a BookmarkMenuController showing the children of |node| starting @@ -121,7 +124,7 @@ class BookmarkMenuController : public BaseBookmarkModelObserver, typedef std::map<const BookmarkNode*, int> NodeToMenuIDMap; // BookmarkMenuController deletes itself as necessary. - ~BookmarkMenuController(); + virtual ~BookmarkMenuController(); // Creates a menu and adds it to node_to_menu_id_map_. This uses // BuildMenu to recursively populate the menu. diff --git a/chrome/browser/views/tab_contents/native_tab_contents_container.h b/chrome/browser/views/tab_contents/native_tab_contents_container.h index 9c540b9..714be9a 100644 --- a/chrome/browser/views/tab_contents/native_tab_contents_container.h +++ b/chrome/browser/views/tab_contents/native_tab_contents_container.h @@ -40,6 +40,8 @@ class NativeTabContentsContainer { // Retrieves the views::View that hosts the TabContents. virtual views::View* GetView() = 0; + protected: + virtual ~NativeTabContentsContainer() {} }; #endif // CHROME_BROWSER_VIEWS_TAB_CONTENTS_NATIVE_TAB_CONTENTS_CONTAINER_H_ diff --git a/chrome/browser/views/tabs/base_tab.h b/chrome/browser/views/tabs/base_tab.h index 0cc56c4..78c2d94 100644 --- a/chrome/browser/views/tabs/base_tab.h +++ b/chrome/browser/views/tabs/base_tab.h @@ -33,7 +33,7 @@ class BaseTab : public AnimationDelegate, public views::View { public: explicit BaseTab(TabController* controller); - ~BaseTab(); + virtual ~BaseTab(); // Sets the data this tabs displays. Invokes DataChanged for subclasses to // update themselves appropriately. |