Infobar material design refresh: layout
[chromium-blink-merge.git] / chrome / browser / ui / chrome_bubble_manager.h
blob2c7dd7e96b0e261942b9e0fc37069c019f3f2964
1 // Copyright 2015 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_CHROME_BUBBLE_MANAGER_H_
6 #define CHROME_BROWSER_UI_CHROME_BUBBLE_MANAGER_H_
8 #include "chrome/browser/ui/tabs/tab_strip_model_observer.h"
9 #include "components/bubble/bubble_manager.h"
10 #include "content/public/browser/web_contents_observer.h"
12 class TabStripModel;
14 class ChromeBubbleManager : public BubbleManager,
15 public TabStripModelObserver,
16 public content::WebContentsObserver {
17 public:
18 explicit ChromeBubbleManager(TabStripModel* tab_strip_model);
19 ~ChromeBubbleManager() override;
21 // TabStripModelObserver:
22 void TabDetachedAt(content::WebContents* contents, int index) override;
23 void TabDeactivated(content::WebContents* contents) override;
24 void ActiveTabChanged(content::WebContents* old_contents,
25 content::WebContents* new_contents,
26 int index,
27 int reason) override;
29 // content::WebContentsObserver:
30 void DidToggleFullscreenModeForTab(bool entered_fullscreen) override;
31 void NavigationEntryCommitted(
32 const content::LoadCommittedDetails& load_details) override;
34 private:
35 TabStripModel* tab_strip_model_;
37 DISALLOW_COPY_AND_ASSIGN(ChromeBubbleManager);
40 #endif // CHROME_BROWSER_UI_CHROME_BUBBLE_MANAGER_H_