OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_BACKGROUND_BACKGROUND_MODE_MANAGER_H_ | 5 #ifndef CHROME_BROWSER_BACKGROUND_BACKGROUND_MODE_MANAGER_H_ |
6 #define CHROME_BROWSER_BACKGROUND_BACKGROUND_MODE_MANAGER_H_ | 6 #define CHROME_BROWSER_BACKGROUND_BACKGROUND_MODE_MANAGER_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
| 9 #include <memory> |
9 #include <set> | 10 #include <set> |
10 #include <vector> | 11 #include <vector> |
11 | 12 |
12 #include "base/callback_forward.h" | 13 #include "base/callback_forward.h" |
13 #include "base/gtest_prod_util.h" | 14 #include "base/gtest_prod_util.h" |
14 #include "base/macros.h" | 15 #include "base/macros.h" |
15 #include "base/memory/linked_ptr.h" | 16 #include "base/memory/linked_ptr.h" |
16 #include "base/memory/scoped_vector.h" | |
17 #include "base/memory/weak_ptr.h" | 17 #include "base/memory/weak_ptr.h" |
18 #include "chrome/browser/background/background_application_list_model.h" | 18 #include "chrome/browser/background/background_application_list_model.h" |
19 #include "chrome/browser/lifetime/scoped_keep_alive.h" | 19 #include "chrome/browser/lifetime/scoped_keep_alive.h" |
20 #include "chrome/browser/profiles/profile_attributes_storage.h" | 20 #include "chrome/browser/profiles/profile_attributes_storage.h" |
21 #include "chrome/browser/status_icons/status_icon.h" | 21 #include "chrome/browser/status_icons/status_icon.h" |
22 #include "chrome/browser/status_icons/status_icon_menu_model.h" | 22 #include "chrome/browser/status_icons/status_icon_menu_model.h" |
23 #include "chrome/browser/ui/browser_list_observer.h" | 23 #include "chrome/browser/ui/browser_list_observer.h" |
24 #include "components/keyed_service/core/keyed_service.h" | 24 #include "components/keyed_service/core/keyed_service.h" |
25 #include "components/prefs/pref_change_registrar.h" | 25 #include "components/prefs/pref_change_registrar.h" |
26 #include "content/public/browser/notification_observer.h" | 26 #include "content/public/browser/notification_observer.h" |
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
417 content::NotificationRegistrar registrar_; | 417 content::NotificationRegistrar registrar_; |
418 PrefChangeRegistrar pref_registrar_; | 418 PrefChangeRegistrar pref_registrar_; |
419 | 419 |
420 // The profile-keyed data for this background mode manager. Keyed on profile. | 420 // The profile-keyed data for this background mode manager. Keyed on profile. |
421 BackgroundModeInfoMap background_mode_data_; | 421 BackgroundModeInfoMap background_mode_data_; |
422 | 422 |
423 // Indexes the command ids for the entire background menu to their handlers. | 423 // Indexes the command ids for the entire background menu to their handlers. |
424 CommandIdHandlerVector command_id_handler_vector_; | 424 CommandIdHandlerVector command_id_handler_vector_; |
425 | 425 |
426 // Maintains submenu lifetime for the multiple profile context menu. | 426 // Maintains submenu lifetime for the multiple profile context menu. |
427 ScopedVector<StatusIconMenuModel> submenus; | 427 std::vector<std::unique_ptr<StatusIconMenuModel>> submenus; |
428 | 428 |
429 // Reference to our status tray. If null, the platform doesn't support status | 429 // Reference to our status tray. If null, the platform doesn't support status |
430 // icons. | 430 // icons. |
431 StatusTray* status_tray_; | 431 StatusTray* status_tray_; |
432 | 432 |
433 // Reference to our status icon (if any) - owned by the StatusTray. | 433 // Reference to our status icon (if any) - owned by the StatusTray. |
434 StatusIcon* status_icon_; | 434 StatusIcon* status_icon_; |
435 | 435 |
436 // Reference to our status icon's context menu (if any) - owned by the | 436 // Reference to our status icon's context menu (if any) - owned by the |
437 // status_icon_. | 437 // status_icon_. |
(...skipping 24 matching lines...) Expand all Loading... |
462 | 462 |
463 // Set to true when background mode is suspended. | 463 // Set to true when background mode is suspended. |
464 bool background_mode_suspended_; | 464 bool background_mode_suspended_; |
465 | 465 |
466 base::WeakPtrFactory<BackgroundModeManager> weak_factory_; | 466 base::WeakPtrFactory<BackgroundModeManager> weak_factory_; |
467 | 467 |
468 DISALLOW_COPY_AND_ASSIGN(BackgroundModeManager); | 468 DISALLOW_COPY_AND_ASSIGN(BackgroundModeManager); |
469 }; | 469 }; |
470 | 470 |
471 #endif // CHROME_BROWSER_BACKGROUND_BACKGROUND_MODE_MANAGER_H_ | 471 #endif // CHROME_BROWSER_BACKGROUND_BACKGROUND_MODE_MANAGER_H_ |
OLD | NEW |