Home | History | Annotate | Download | only in notifications
      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