• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2010 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_COCOA_NOTIFICATIONS_BALLOON_VIEW_HOST_MAC_H_
6 #define CHROME_BROWSER_UI_COCOA_NOTIFICATIONS_BALLOON_VIEW_HOST_MAC_H_
7 #pragma once
8 
9 #include "chrome/browser/notifications/balloon_host.h"
10 
11 class RenderWidgetHostView;
12 class RenderWidgetHostViewMac;
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 
24   // Changes the size of the balloon.
25   void UpdateActualSize(const gfx::Size& new_size);
26 
27   // Accessors.
28   gfx::NativeView native_view() const;
29 
30  protected:
31   virtual void InitRenderWidgetHostView();
32   virtual RenderWidgetHostView* render_widget_host_view() const;
33 
34  private:
35   // The Mac-specific widget host view.  This is owned by its native view,
36   // which this class frees in its destructor.
37   RenderWidgetHostViewMac* render_widget_host_view_;
38 
39   DISALLOW_COPY_AND_ASSIGN(BalloonViewHost);
40 };
41 
42 #endif  // CHROME_BROWSER_UI_COCOA_NOTIFICATIONS_BALLOON_VIEW_HOST_MAC_H_
43