| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_GTK_INFOBARS_INFOBAR_CONTAINER_GTK_H_ | 5 #ifndef CHROME_BROWSER_UI_GTK_INFOBARS_INFOBAR_CONTAINER_GTK_H_ |
| 6 #define CHROME_BROWSER_UI_GTK_INFOBARS_INFOBAR_CONTAINER_GTK_H_ | 6 #define CHROME_BROWSER_UI_GTK_INFOBARS_INFOBAR_CONTAINER_GTK_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 // | 31 // |
| 32 // Due to how X11/GTK+ works, this class owns the methods to draw arrows on top | 32 // Due to how X11/GTK+ works, this class owns the methods to draw arrows on top |
| 33 // of other widgets. Since most bars in the top of the window have their own | 33 // of other widgets. Since most bars in the top of the window have their own |
| 34 // event boxes, we can't just draw over the coordinates in the toplevel window | 34 // event boxes, we can't just draw over the coordinates in the toplevel window |
| 35 // as event boxes get their own canvases (and they need to have their own event | 35 // as event boxes get their own canvases (and they need to have their own event |
| 36 // boxes for a mixture of handling mouse events and themeing). And because they | 36 // boxes for a mixture of handling mouse events and themeing). And because they |
| 37 // have their own event boxes and event boxes can't be partially transparent, | 37 // have their own event boxes and event boxes can't be partially transparent, |
| 38 // we can't just overlap the widgets. | 38 // we can't just overlap the widgets. |
| 39 class InfoBarContainerGtk : public InfoBarContainer { | 39 class InfoBarContainerGtk : public InfoBarContainer { |
| 40 public: | 40 public: |
| 41 explicit InfoBarContainerGtk(InfoBarContainer::Delegate* delegate, | 41 InfoBarContainerGtk(InfoBarContainer::Delegate* delegate, Profile* profile); |
| 42 Profile* profile); | |
| 43 virtual ~InfoBarContainerGtk(); | 42 virtual ~InfoBarContainerGtk(); |
| 44 | 43 |
| 45 // Get the native widget. | 44 // Get the native widget. |
| 46 GtkWidget* widget() const { return container_.get(); } | 45 GtkWidget* widget() const { return container_.get(); } |
| 47 | 46 |
| 48 // Remove the specified InfoBarDelegate from the selected TabContents. This | 47 // Remove the specified InfoBarDelegate from the selected TabContents. This |
| 49 // will notify us back and cause us to close the View. This is called from | 48 // will notify us back and cause us to close the View. This is called from |
| 50 // the InfoBar's close button handler. | 49 // the InfoBar's close button handler. |
| 51 void RemoveDelegate(InfoBarDelegate* delegate); | 50 void RemoveDelegate(InfoBarDelegate* delegate); |
| 52 | 51 |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 86 // which InfoBarGtk supplies information about drawing the arrows. | 85 // which InfoBarGtk supplies information about drawing the arrows. |
| 87 std::vector<InfoBarGtk*> infobars_gtk_; | 86 std::vector<InfoBarGtk*> infobars_gtk_; |
| 88 | 87 |
| 89 // VBox that holds the info bars. | 88 // VBox that holds the info bars. |
| 90 OwnedWidgetGtk container_; | 89 OwnedWidgetGtk container_; |
| 91 | 90 |
| 92 DISALLOW_COPY_AND_ASSIGN(InfoBarContainerGtk); | 91 DISALLOW_COPY_AND_ASSIGN(InfoBarContainerGtk); |
| 93 }; | 92 }; |
| 94 | 93 |
| 95 #endif // CHROME_BROWSER_UI_GTK_INFOBARS_INFOBAR_CONTAINER_GTK_H_ | 94 #endif // CHROME_BROWSER_UI_GTK_INFOBARS_INFOBAR_CONTAINER_GTK_H_ |
| OLD | NEW |