Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / ui / views / tabs / tab_strip_observer.h
blobb9dea2e8a4fde031ac3adf4dd7b779d6c1e22bc7
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_UI_VIEWS_TABS_TAB_STRIP_OBSERVER_H_
6 #define CHROME_BROWSER_UI_VIEWS_TABS_TAB_STRIP_OBSERVER_H_
8 #include "chrome/browser/ui/views/chrome_views_export.h"
10 class TabStrip;
12 ////////////////////////////////////////////////////////////////////////////////
14 // TabStripObserver
16 // Objects implement this interface when they wish to be notified of changes
17 // to the TabStrip.
19 // Register your TabStripObserver with the TabStrip using its
20 // Add/RemoveObserver methods.
22 ////////////////////////////////////////////////////////////////////////////////
23 class CHROME_VIEWS_EXPORT TabStripObserver {
24 public:
25 // A new tab was added to |tab_strip| at |index|.
26 virtual void TabStripAddedTabAt(TabStrip* tab_strip, int index);
28 // The tab at |from_index| was moved to |to_index| in |tab_strip|.
29 virtual void TabStripMovedTab(TabStrip* tab_strip,
30 int from_index,
31 int to_index);
33 // The tab at |index| was removed from |tab_strip|.
34 virtual void TabStripRemovedTabAt(TabStrip* tab_strip, int index);
36 // Sent when the |tabstrip| is about to be deleted and any reference held must
37 // be dropped.
38 virtual void TabStripDeleted(TabStrip* tab_strip);
40 protected:
41 virtual ~TabStripObserver() {}
44 #endif // CHROME_BROWSER_UI_VIEWS_TABS_TAB_STRIP_OBSERVER_H_