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 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_UI_GTK_NOTIFICATIONS_BALLOON_VIEW_HOST_GTK_H_ 6 #define CHROME_BROWSER_UI_GTK_NOTIFICATIONS_BALLOON_VIEW_HOST_GTK_H_ 7 #pragma once 8 9 #include "chrome/browser/notifications/balloon_host.h" 10 #include "ui/gfx/native_widget_types.h" 11 12 class RenderWidgetHostViewGtk; 13 14 // BalloonViewHost class is a delegate to the renderer host for the HTML 15 // notification. When initialized it creates a new RenderViewHost and loads 16 // the contents of the toast into it. It also handles links within the toast, 17 // loading them into a new tab. 18 class BalloonViewHost : public BalloonHost { 19 public: 20 explicit BalloonViewHost(Balloon* balloon); 21 22 ~BalloonViewHost() { 23 Shutdown(); 24 } 25 26 // Changes the size of the balloon. 27 void UpdateActualSize(const gfx::Size& new_size); 28 29 // Accessors. 30 gfx::NativeView native_view() const; 31 32 protected: 33 virtual void InitRenderWidgetHostView(); 34 virtual RenderWidgetHostView* render_widget_host_view() const; 35 36 private: 37 // The GTK-specific widget host view. Owned by its native view. 38 RenderWidgetHostViewGtk* render_widget_host_view_; 39 40 DISALLOW_COPY_AND_ASSIGN(BalloonViewHost); 41 }; 42 43 #endif // CHROME_BROWSER_UI_GTK_NOTIFICATIONS_BALLOON_VIEW_HOST_GTK_H_ 44