balloon_view_host_mac.h revision 21d179b334e59e9a3bfcaed4c4430bef1bc5759d
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 11class RenderWidgetHostView; 12class 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. 18class 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