OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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_BROWSER_H_ | 5 #ifndef CHROME_BROWSER_BROWSER_H_ |
6 #define CHROME_BROWSER_BROWSER_H_ | 6 #define CHROME_BROWSER_BROWSER_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <map> | 9 #include <map> |
10 #include <set> | 10 #include <set> |
11 #include <string> | 11 #include <string> |
12 #include <vector> | 12 #include <vector> |
13 | 13 |
14 #include "base/basictypes.h" | 14 #include "base/basictypes.h" |
15 #include "base/gtest_prod_util.h" | 15 #include "base/gtest_prod_util.h" |
16 #include "base/scoped_ptr.h" | 16 #include "base/scoped_ptr.h" |
17 #include "base/task.h" | |
18 #include "chrome/browser/command_updater.h" | 17 #include "chrome/browser/command_updater.h" |
19 #include "chrome/browser/debugger/devtools_toggle_action.h" | 18 #include "chrome/browser/debugger/devtools_toggle_action.h" |
20 #include "chrome/browser/prefs/pref_member.h" | 19 #include "chrome/browser/prefs/pref_member.h" |
21 #include "chrome/browser/sessions/session_id.h" | 20 #include "chrome/browser/sessions/session_id.h" |
22 #include "chrome/browser/sessions/tab_restore_service_observer.h" | 21 #include "chrome/browser/sessions/tab_restore_service.h" |
23 #include "chrome/browser/shell_dialogs.h" | 22 #include "chrome/browser/shell_dialogs.h" |
24 #include "chrome/browser/sync/profile_sync_service_observer.h" | 23 #include "chrome/browser/sync/profile_sync_service_observer.h" |
25 #include "chrome/browser/tabs/tab_strip_model.h" | 24 #include "chrome/browser/tabs/tab_strip_model.h" |
26 #include "chrome/browser/tab_contents/page_navigator.h" | 25 #include "chrome/browser/tab_contents/page_navigator.h" |
27 #include "chrome/browser/tab_contents/tab_contents_delegate.h" | 26 #include "chrome/browser/tab_contents/tab_contents_delegate.h" |
28 #include "chrome/browser/toolbar_model.h" | 27 #include "chrome/browser/toolbar_model.h" |
29 #include "chrome/common/extensions/extension.h" | 28 #include "chrome/common/extensions/extension.h" |
30 #include "chrome/common/notification_registrar.h" | 29 #include "chrome/common/notification_registrar.h" |
31 #include "chrome/common/page_transition_types.h" | 30 #include "chrome/common/page_transition_types.h" |
32 #include "chrome/common/page_zoom.h" | 31 #include "chrome/common/page_zoom.h" |
(...skipping 11 matching lines...) Expand all Loading... |
44 class Point; | 43 class Point; |
45 } | 44 } |
46 | 45 |
47 class Browser : public TabStripModelDelegate, | 46 class Browser : public TabStripModelDelegate, |
48 public TabStripModelObserver, | 47 public TabStripModelObserver, |
49 public TabContentsDelegate, | 48 public TabContentsDelegate, |
50 public PageNavigator, | 49 public PageNavigator, |
51 public CommandUpdater::CommandUpdaterDelegate, | 50 public CommandUpdater::CommandUpdaterDelegate, |
52 public NotificationObserver, | 51 public NotificationObserver, |
53 public SelectFileDialog::Listener, | 52 public SelectFileDialog::Listener, |
54 public TabRestoreServiceObserver, | 53 public TabRestoreService::Observer, |
55 public ProfileSyncServiceObserver { | 54 public ProfileSyncServiceObserver { |
56 public: | 55 public: |
57 // If you change the values in this enum you'll need to update browser_proxy. | 56 // If you change the values in this enum you'll need to update browser_proxy. |
58 // TODO(sky): move into a common place that is referenced by both ui_tests | 57 // TODO(sky): move into a common place that is referenced by both ui_tests |
59 // and chrome. | 58 // and chrome. |
60 enum Type { | 59 enum Type { |
61 TYPE_NORMAL = 1, | 60 TYPE_NORMAL = 1, |
62 TYPE_POPUP = 2, | 61 TYPE_POPUP = 2, |
63 // The old-style app created via "Create application shortcuts". | 62 // The old-style app created via "Create application shortcuts". |
64 TYPE_APP = 4, | 63 TYPE_APP = 4, |
(...skipping 548 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
613 virtual void OpenURL(const GURL& url, const GURL& referrer, | 612 virtual void OpenURL(const GURL& url, const GURL& referrer, |
614 WindowOpenDisposition disposition, | 613 WindowOpenDisposition disposition, |
615 PageTransition::Type transition); | 614 PageTransition::Type transition); |
616 | 615 |
617 // Overridden from CommandUpdater::CommandUpdaterDelegate: | 616 // Overridden from CommandUpdater::CommandUpdaterDelegate: |
618 virtual void ExecuteCommand(int id); | 617 virtual void ExecuteCommand(int id); |
619 | 618 |
620 // Helper function to run unload listeners on a TabContents. | 619 // Helper function to run unload listeners on a TabContents. |
621 static bool RunUnloadEventsHelper(TabContents* contents); | 620 static bool RunUnloadEventsHelper(TabContents* contents); |
622 | 621 |
623 // TabRestoreServiceObserver ///////////////////////////////////////////////// | 622 // TabRestoreService::Observer /////////////////////////////////////////////// |
624 virtual void TabRestoreServiceChanged(TabRestoreService* service); | 623 virtual void TabRestoreServiceChanged(TabRestoreService* service); |
625 virtual void TabRestoreServiceDestroyed(TabRestoreService* service); | 624 virtual void TabRestoreServiceDestroyed(TabRestoreService* service); |
626 | 625 |
627 private: | 626 private: |
628 FRIEND_TEST_ALL_PREFIXES(BrowserTest, NoTabsInPopups); | 627 FRIEND_TEST_ALL_PREFIXES(BrowserTest, NoTabsInPopups); |
629 | 628 |
630 // Used to describe why a tab is being detached. This is used by | 629 // Used to describe why a tab is being detached. This is used by |
631 // TabDetachedAtImpl. | 630 // TabDetachedAtImpl. |
632 enum DetachType { | 631 enum DetachType { |
633 // Result of TabDetachedAt. | 632 // Result of TabDetachedAt. |
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1075 mutable BooleanPrefMember use_vertical_tabs_; | 1074 mutable BooleanPrefMember use_vertical_tabs_; |
1076 | 1075 |
1077 // The profile's tab restore service. The service is owned by the profile, | 1076 // The profile's tab restore service. The service is owned by the profile, |
1078 // and we install ourselves as an observer. | 1077 // and we install ourselves as an observer. |
1079 TabRestoreService* tab_restore_service_; | 1078 TabRestoreService* tab_restore_service_; |
1080 | 1079 |
1081 DISALLOW_COPY_AND_ASSIGN(Browser); | 1080 DISALLOW_COPY_AND_ASSIGN(Browser); |
1082 }; | 1081 }; |
1083 | 1082 |
1084 #endif // CHROME_BROWSER_BROWSER_H_ | 1083 #endif // CHROME_BROWSER_BROWSER_H_ |
OLD | NEW |