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_TAB_CONTENTS_CONTAINER_GTK_H_ | 5 #ifndef CHROME_BROWSER_GTK_TAB_CONTENTS_CONTAINER_GTK_H_ |
6 #define CHROME_BROWSER_GTK_TAB_CONTENTS_CONTAINER_GTK_H_ | 6 #define CHROME_BROWSER_GTK_TAB_CONTENTS_CONTAINER_GTK_H_ |
7 | 7 |
8 #include <gtk/gtk.h> | 8 #include <gtk/gtk.h> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "chrome/common/notification_registrar.h" | 11 #include "chrome/common/notification_registrar.h" |
| 12 #include "chrome/common/owned_widget_gtk.h" |
12 | 13 |
13 class RenderViewHost; | 14 class RenderViewHost; |
14 class StatusBubbleGtk; | 15 class StatusBubbleGtk; |
15 class TabContents; | 16 class TabContents; |
16 | 17 |
17 typedef struct _GtkFloatingContainer GtkFloatingContainer; | 18 typedef struct _GtkFloatingContainer GtkFloatingContainer; |
18 | 19 |
19 class TabContentsContainerGtk : public NotificationObserver { | 20 class TabContentsContainerGtk : public NotificationObserver { |
20 public: | 21 public: |
21 explicit TabContentsContainerGtk(StatusBubbleGtk* status_bubble); | 22 explicit TabContentsContainerGtk(StatusBubbleGtk* status_bubble); |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 // The currently visible TabContents. | 74 // The currently visible TabContents. |
74 TabContents* tab_contents_; | 75 TabContents* tab_contents_; |
75 | 76 |
76 // The status bubble manager. Always non-NULL. | 77 // The status bubble manager. Always non-NULL. |
77 StatusBubbleGtk* status_bubble_; | 78 StatusBubbleGtk* status_bubble_; |
78 | 79 |
79 // Top of the TabContentsContainerGtk widget hierarchy. A cross between a | 80 // Top of the TabContentsContainerGtk widget hierarchy. A cross between a |
80 // GtkBin and a GtkFixed, |floating_| has |fixed_| as its one "real" child, | 81 // GtkBin and a GtkFixed, |floating_| has |fixed_| as its one "real" child, |
81 // and the various things that hang off the bottom (status bubble, etc) have | 82 // and the various things that hang off the bottom (status bubble, etc) have |
82 // their positions manually set in OnSetFloatingPosition. | 83 // their positions manually set in OnSetFloatingPosition. |
83 GtkWidget* floating_; | 84 OwnedWidgetGtk floating_; |
84 | 85 |
85 // We insert and remove TabContents GtkWidgets into this fixed_. This should | 86 // We insert and remove TabContents GtkWidgets into this fixed_. This should |
86 // not be a GtkVBox since there were errors with timing where the vbox was | 87 // not be a GtkVBox since there were errors with timing where the vbox was |
87 // horizontally split with the top half displaying the current TabContents | 88 // horizontally split with the top half displaying the current TabContents |
88 // and bottom half displaying the loading page. | 89 // and bottom half displaying the loading page. |
89 GtkWidget* fixed_; | 90 GtkWidget* fixed_; |
90 | 91 |
91 DISALLOW_COPY_AND_ASSIGN(TabContentsContainerGtk); | 92 DISALLOW_COPY_AND_ASSIGN(TabContentsContainerGtk); |
92 }; | 93 }; |
93 | 94 |
94 #endif // CHROME_BROWSER_GTK_TAB_CONTENTS_CONTAINER_GTK_H_ | 95 #endif // CHROME_BROWSER_GTK_TAB_CONTENTS_CONTAINER_GTK_H_ |
OLD | NEW |