• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
~BalloonViewHost()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