Disable view source for Developer Tools.
[chromium-blink-merge.git] / chrome / browser / ui / ash / launcher / multi_profile_browser_status_monitor.h
blob2ce371a461d98aced119779fb60979aee70d79ee
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_ASH_LAUNCHER_MULTI_PROFILE_BROWSER_STATUS_MONITOR_H_
6 #define CHROME_BROWSER_UI_ASH_LAUNCHER_MULTI_PROFILE_BROWSER_STATUS_MONITOR_H_
8 #include "chrome/browser/ui/ash/launcher/browser_status_monitor.h"
10 // MultiProfileBrowserStatusMonitor uses mainly the BrowserStatusMonitor
11 // with the addition that it creates and destroys launcher items for windowed
12 // V1 apps - upon creation as well as upon user switch.
13 class MultiProfileBrowserStatusMonitor : public BrowserStatusMonitor {
14 public:
15 explicit MultiProfileBrowserStatusMonitor(
16 ChromeLauncherController* launcher_controller);
17 virtual ~MultiProfileBrowserStatusMonitor();
19 // BrowserStatusMonitor overrides.
20 virtual void ActiveUserChanged(const std::string& user_email) OVERRIDE;
21 virtual void AddV1AppToShelf(Browser* browser) OVERRIDE;
22 virtual void RemoveV1AppFromShelf(Browser* browser) OVERRIDE;
24 private:
25 typedef std::vector<Browser*> AppList;
26 AppList app_list_;
28 // Connect a V1 app to the launcher.
29 void ConnectV1AppToLauncher(Browser* browser);
31 // Disconnect a V1 app from the launcher.
32 void DisconnectV1AppFromLauncher(Browser* browser);
34 // The launcher controller which is associated with this object.
35 ChromeLauncherController* launcher_controller_;
37 DISALLOW_COPY_AND_ASSIGN(MultiProfileBrowserStatusMonitor);
40 #endif // CHROME_BROWSER_UI_ASH_LAUNCHER_MULTI_PROFILE_BROWSER_STATUS_MONITOR_H_