OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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_GTK_BROWSER_WINDOW_GTK_H_ | 5 #ifndef CHROME_BROWSER_GTK_BROWSER_WINDOW_GTK_H_ |
6 #define CHROME_BROWSER_GTK_BROWSER_WINDOW_GTK_H_ | 6 #define CHROME_BROWSER_GTK_BROWSER_WINDOW_GTK_H_ |
7 | 7 |
8 #include <gtk/gtk.h> | 8 #include <gtk/gtk.h> |
9 | 9 |
10 #include <map> | 10 #include <map> |
11 | 11 |
12 #include "app/active_window_watcher_x.h" | 12 #include "app/active_window_watcher_x.h" |
13 #include "base/gfx/rect.h" | 13 #include "base/gfx/rect.h" |
14 #include "base/scoped_ptr.h" | 14 #include "base/scoped_ptr.h" |
15 #include "base/timer.h" | 15 #include "base/timer.h" |
16 #include "build/build_config.h" | 16 #include "build/build_config.h" |
17 #include "chrome/browser/browser_window.h" | 17 #include "chrome/browser/browser_window.h" |
18 #include "chrome/browser/tabs/tab_strip_model.h" | 18 #include "chrome/browser/tabs/tab_strip_model.h" |
19 #include "chrome/common/notification_registrar.h" | 19 #include "chrome/common/notification_registrar.h" |
20 #include "chrome/common/pref_member.h" | 20 #include "chrome/common/pref_member.h" |
21 #include "chrome/common/x11_util.h" | 21 #include "chrome/common/x11_util.h" |
22 | 22 |
23 #ifdef OS_CHROMEOS | 23 #ifdef OS_CHROMEOS |
| 24 namespace chromeos { |
24 class CompactNavigationBar; | 25 class CompactNavigationBar; |
| 26 class PanelController; |
25 class StatusAreaView; | 27 class StatusAreaView; |
| 28 } |
26 #endif | 29 #endif |
27 | 30 |
28 class BookmarkBarGtk; | 31 class BookmarkBarGtk; |
29 class Browser; | 32 class Browser; |
30 class BrowserTitlebar; | 33 class BrowserTitlebar; |
31 class BrowserToolbarGtk; | 34 class BrowserToolbarGtk; |
32 class CustomDrawButton; | 35 class CustomDrawButton; |
33 class DownloadShelfGtk; | 36 class DownloadShelfGtk; |
34 class FindBarGtk; | 37 class FindBarGtk; |
35 class InfoBarContainerGtk; | 38 class InfoBarContainerGtk; |
36 class LocationBar; | 39 class LocationBar; |
37 class StatusBubbleGtk; | 40 class StatusBubbleGtk; |
38 class TabContentsContainerGtk; | 41 class TabContentsContainerGtk; |
39 class TabStripGtk; | 42 class TabStripGtk; |
40 | 43 |
41 #ifdef OS_CHROMEOS | |
42 class PanelController; | |
43 #endif | |
44 | |
45 // An implementation of BrowserWindow for GTK. | 44 // An implementation of BrowserWindow for GTK. |
46 // Cross-platform code will interact with this object when | 45 // Cross-platform code will interact with this object when |
47 // it needs to manipulate the window. | 46 // it needs to manipulate the window. |
48 | 47 |
49 class BrowserWindowGtk : public BrowserWindow, | 48 class BrowserWindowGtk : public BrowserWindow, |
50 public NotificationObserver, | 49 public NotificationObserver, |
51 public TabStripModelObserver, | 50 public TabStripModelObserver, |
52 public ActiveWindowWatcherX::Observer { | 51 public ActiveWindowWatcherX::Observer { |
53 public: | 52 public: |
54 explicit BrowserWindowGtk(Browser* browser); | 53 explicit BrowserWindowGtk(Browser* browser); |
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
378 | 377 |
379 // Whether the custom chrome frame pref is set. Normally you want to use | 378 // Whether the custom chrome frame pref is set. Normally you want to use |
380 // UseCustomFrame() above to determine whether to use the custom frame or | 379 // UseCustomFrame() above to determine whether to use the custom frame or |
381 // not. | 380 // not. |
382 BooleanPrefMember use_custom_frame_pref_; | 381 BooleanPrefMember use_custom_frame_pref_; |
383 | 382 |
384 #if defined(OS_CHROMEOS) | 383 #if defined(OS_CHROMEOS) |
385 // True if a drag is active. See description above setter for details. | 384 // True if a drag is active. See description above setter for details. |
386 bool drag_active_; | 385 bool drag_active_; |
387 // Controls interactions with the window manager for popup panels. | 386 // Controls interactions with the window manager for popup panels. |
388 PanelController* panel_controller_; | 387 chromeos::PanelController* panel_controller_; |
389 | 388 |
390 CompactNavigationBar* compact_navigation_bar_; | 389 chromeos::CompactNavigationBar* compact_navigation_bar_; |
391 StatusAreaView* status_area_; | 390 chromeos::StatusAreaView* status_area_; |
392 | 391 |
393 // The MainMenu button. | 392 // The MainMenu button. |
394 CustomDrawButton* main_menu_button_; | 393 CustomDrawButton* main_menu_button_; |
395 | 394 |
396 // A hbox container for the compact navigation bar. | 395 // A hbox container for the compact navigation bar. |
397 GtkWidget* compact_navbar_hbox_; | 396 GtkWidget* compact_navbar_hbox_; |
398 | 397 |
399 static bool next_window_should_use_compact_nav_; | 398 static bool next_window_should_use_compact_nav_; |
400 #endif | 399 #endif |
401 | 400 |
(...skipping 18 matching lines...) Expand all Loading... |
420 // first time. This is to work around a compiz bug. | 419 // first time. This is to work around a compiz bug. |
421 bool maximize_after_show_; | 420 bool maximize_after_show_; |
422 | 421 |
423 // The accelerator group used to handle accelerators, owned by this object. | 422 // The accelerator group used to handle accelerators, owned by this object. |
424 GtkAccelGroup* accel_group_; | 423 GtkAccelGroup* accel_group_; |
425 | 424 |
426 DISALLOW_COPY_AND_ASSIGN(BrowserWindowGtk); | 425 DISALLOW_COPY_AND_ASSIGN(BrowserWindowGtk); |
427 }; | 426 }; |
428 | 427 |
429 #endif // CHROME_BROWSER_GTK_BROWSER_WINDOW_GTK_H_ | 428 #endif // CHROME_BROWSER_GTK_BROWSER_WINDOW_GTK_H_ |
OLD | NEW |