OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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_UI_VIEWS_FRAME_GLOBAL_MENU_BAR_X11_H_ | 5 #ifndef CHROME_BROWSER_UI_VIEWS_FRAME_GLOBAL_MENU_BAR_X11_H_ |
6 #define CHROME_BROWSER_UI_VIEWS_FRAME_GLOBAL_MENU_BAR_X11_H_ | 6 #define CHROME_BROWSER_UI_VIEWS_FRAME_GLOBAL_MENU_BAR_X11_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 // Unity has an Apple-like menu bar at the top of the screen that changes | 46 // Unity has an Apple-like menu bar at the top of the screen that changes |
47 // depending on the active window. In the GTK port, we had a hidden GtkMenuBar | 47 // depending on the active window. In the GTK port, we had a hidden GtkMenuBar |
48 // object in each GtkWindow which existed only to be scrapped by the | 48 // object in each GtkWindow which existed only to be scrapped by the |
49 // libdbusmenu-gtk code. Since we don't have GtkWindows anymore, we need to | 49 // libdbusmenu-gtk code. Since we don't have GtkWindows anymore, we need to |
50 // interface directly with the lower level libdbusmenu-glib, which we | 50 // interface directly with the lower level libdbusmenu-glib, which we |
51 // opportunistically dlopen() since not everyone is running Ubuntu. | 51 // opportunistically dlopen() since not everyone is running Ubuntu. |
52 class GlobalMenuBarX11 : public AvatarMenuObserver, | 52 class GlobalMenuBarX11 : public AvatarMenuObserver, |
53 public chrome::BrowserListObserver, | 53 public chrome::BrowserListObserver, |
54 public CommandObserver, | 54 public CommandObserver, |
55 public history::TopSitesObserver, | 55 public history::TopSitesObserver, |
56 public TabRestoreServiceObserver, | 56 public sessions::TabRestoreServiceObserver, |
57 public views::DesktopWindowTreeHostObserverX11 { | 57 public views::DesktopWindowTreeHostObserverX11 { |
58 public: | 58 public: |
59 GlobalMenuBarX11(BrowserView* browser_view, | 59 GlobalMenuBarX11(BrowserView* browser_view, |
60 BrowserDesktopWindowTreeHostX11* host); | 60 BrowserDesktopWindowTreeHostX11* host); |
61 ~GlobalMenuBarX11() override; | 61 ~GlobalMenuBarX11() override; |
62 | 62 |
63 // Creates the object path for DbusemenuServer which is attached to |xid|. | 63 // Creates the object path for DbusemenuServer which is attached to |xid|. |
64 static std::string GetPathForWindow(unsigned long xid); | 64 static std::string GetPathForWindow(unsigned long xid); |
65 | 65 |
66 private: | 66 private: |
(...skipping 17 matching lines...) Expand all Loading... |
84 // |menu_str_id|. Then appends it to |parent|. | 84 // |menu_str_id|. Then appends it to |parent|. |
85 DbusmenuMenuitem* BuildStaticMenu(DbusmenuMenuitem* parent, | 85 DbusmenuMenuitem* BuildStaticMenu(DbusmenuMenuitem* parent, |
86 int menu_str_id, | 86 int menu_str_id, |
87 GlobalMenuBarCommand* commands); | 87 GlobalMenuBarCommand* commands); |
88 | 88 |
89 // Sets the accelerator for |item|. | 89 // Sets the accelerator for |item|. |
90 void RegisterAccelerator(DbusmenuMenuitem* item, | 90 void RegisterAccelerator(DbusmenuMenuitem* item, |
91 const ui::Accelerator& accelerator); | 91 const ui::Accelerator& accelerator); |
92 | 92 |
93 // Creates a HistoryItem from the data in |entry|. | 93 // Creates a HistoryItem from the data in |entry|. |
94 HistoryItem* HistoryItemForTab(const TabRestoreService::Tab& entry); | 94 HistoryItem* HistoryItemForTab(const sessions::TabRestoreService::Tab& entry); |
95 | 95 |
96 // Creates a menu item form |item| and inserts it in |menu| at |index|. | 96 // Creates a menu item form |item| and inserts it in |menu| at |index|. |
97 void AddHistoryItemToMenu(HistoryItem* item, | 97 void AddHistoryItemToMenu(HistoryItem* item, |
98 DbusmenuMenuitem* menu, | 98 DbusmenuMenuitem* menu, |
99 int tag, | 99 int tag, |
100 int index); | 100 int index); |
101 | 101 |
102 // Sends a message off to History for data. | 102 // Sends a message off to History for data. |
103 void GetTopSitesData(); | 103 void GetTopSitesData(); |
104 | 104 |
(...skipping 24 matching lines...) Expand all Loading... |
129 | 129 |
130 // Overridden from CommandObserver: | 130 // Overridden from CommandObserver: |
131 void EnabledStateChangedForCommand(int id, bool enabled) override; | 131 void EnabledStateChangedForCommand(int id, bool enabled) override; |
132 | 132 |
133 // Overridden from history::TopSitesObserver: | 133 // Overridden from history::TopSitesObserver: |
134 void TopSitesLoaded(history::TopSites* top_sites) override; | 134 void TopSitesLoaded(history::TopSites* top_sites) override; |
135 void TopSitesChanged(history::TopSites* top_sites, | 135 void TopSitesChanged(history::TopSites* top_sites, |
136 ChangeReason change_reason) override; | 136 ChangeReason change_reason) override; |
137 | 137 |
138 // Overridden from TabRestoreServiceObserver: | 138 // Overridden from TabRestoreServiceObserver: |
139 void TabRestoreServiceChanged(TabRestoreService* service) override; | 139 void TabRestoreServiceChanged(sessions::TabRestoreService* service) override; |
140 void TabRestoreServiceDestroyed(TabRestoreService* service) override; | 140 void TabRestoreServiceDestroyed( |
| 141 sessions::TabRestoreService* service) override; |
141 | 142 |
142 // Overridden from views::DesktopWindowTreeHostObserverX11: | 143 // Overridden from views::DesktopWindowTreeHostObserverX11: |
143 void OnWindowMapped(unsigned long xid) override; | 144 void OnWindowMapped(unsigned long xid) override; |
144 void OnWindowUnmapped(unsigned long xid) override; | 145 void OnWindowUnmapped(unsigned long xid) override; |
145 | 146 |
146 CHROMEG_CALLBACK_1(GlobalMenuBarX11, void, OnItemActivated, DbusmenuMenuitem*, | 147 CHROMEG_CALLBACK_1(GlobalMenuBarX11, void, OnItemActivated, DbusmenuMenuitem*, |
147 unsigned int); | 148 unsigned int); |
148 CHROMEG_CALLBACK_1(GlobalMenuBarX11, void, OnHistoryItemActivated, | 149 CHROMEG_CALLBACK_1(GlobalMenuBarX11, void, OnHistoryItemActivated, |
149 DbusmenuMenuitem*, unsigned int); | 150 DbusmenuMenuitem*, unsigned int); |
150 CHROMEG_CALLBACK_0(GlobalMenuBarX11, void, OnHistoryMenuAboutToShow, | 151 CHROMEG_CALLBACK_0(GlobalMenuBarX11, void, OnHistoryMenuAboutToShow, |
(...skipping 17 matching lines...) Expand all Loading... |
168 DbusmenuServer* server_; | 169 DbusmenuServer* server_; |
169 DbusmenuMenuitem* root_item_; | 170 DbusmenuMenuitem* root_item_; |
170 DbusmenuMenuitem* history_menu_; | 171 DbusmenuMenuitem* history_menu_; |
171 DbusmenuMenuitem* profiles_menu_; | 172 DbusmenuMenuitem* profiles_menu_; |
172 | 173 |
173 // Tracks value of the kShowBookmarkBar preference. | 174 // Tracks value of the kShowBookmarkBar preference. |
174 PrefChangeRegistrar pref_change_registrar_; | 175 PrefChangeRegistrar pref_change_registrar_; |
175 | 176 |
176 scoped_refptr<history::TopSites> top_sites_; | 177 scoped_refptr<history::TopSites> top_sites_; |
177 | 178 |
178 TabRestoreService* tab_restore_service_; // weak | 179 sessions::TabRestoreService* tab_restore_service_; // weak |
179 | 180 |
180 scoped_ptr<AvatarMenu> avatar_menu_; | 181 scoped_ptr<AvatarMenu> avatar_menu_; |
181 | 182 |
182 ScopedObserver<history::TopSites, history::TopSitesObserver> scoped_observer_; | 183 ScopedObserver<history::TopSites, history::TopSitesObserver> scoped_observer_; |
183 | 184 |
184 // For callbacks may be run after destruction. | 185 // For callbacks may be run after destruction. |
185 base::WeakPtrFactory<GlobalMenuBarX11> weak_ptr_factory_; | 186 base::WeakPtrFactory<GlobalMenuBarX11> weak_ptr_factory_; |
186 | 187 |
187 DISALLOW_COPY_AND_ASSIGN(GlobalMenuBarX11); | 188 DISALLOW_COPY_AND_ASSIGN(GlobalMenuBarX11); |
188 }; | 189 }; |
189 | 190 |
190 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_GLOBAL_MENU_BAR_X11_H_ | 191 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_GLOBAL_MENU_BAR_X11_H_ |
OLD | NEW |