1 // Copyright 2014 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.
5 #ifndef CHROMECAST_BROWSER_CAST_CONTENT_WINDOW_H_
6 #define CHROMECAST_BROWSER_CAST_CONTENT_WINDOW_H_
8 #include "base/macros.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "content/public/browser/web_contents_observer.h"
25 namespace chromecast
{
27 class CastContentWindow
: public content::WebContentsObserver
{
31 // Removes the window from the screen.
32 ~CastContentWindow() override
;
34 // Sets the window's background to be transparent (call before
36 void SetTransparent() { transparent_
= true; }
38 // Create a window with the given size for |web_contents|.
39 void CreateWindowTree(const gfx::Size
& initial_size
,
40 content::WebContents
* web_contents
);
42 scoped_ptr
<content::WebContents
> CreateWebContents(
43 const gfx::Size
& initial_size
,
44 content::BrowserContext
* browser_context
);
46 // content::WebContentsObserver implementation:
47 void DidFirstVisuallyNonEmptyPaint() override
;
48 void MediaPaused() override
;
49 void MediaStartedPlaying() override
;
50 void RenderViewCreated(content::RenderViewHost
* render_view_host
) override
;
54 scoped_ptr
<aura::WindowTreeHost
> window_tree_host_
;
58 DISALLOW_COPY_AND_ASSIGN(CastContentWindow
);
61 } // namespace chromecast
63 #endif // CHROMECAST_BROWSER_CAST_CONTENT_WINDOW_H_