Index: chromecast/browser/cast_content_window_linux.h |
diff --git a/chromecast/browser/cast_content_window.h b/chromecast/browser/cast_content_window_linux.h |
similarity index 56% |
copy from chromecast/browser/cast_content_window.h |
copy to chromecast/browser/cast_content_window_linux.h |
index aeeeab94f021cb51ab83195e41442e277ebb16e0..98d9c04116fde6b722a45bfa76948d956fa1e84e 100644 |
--- a/chromecast/browser/cast_content_window.h |
+++ b/chromecast/browser/cast_content_window_linux.h |
@@ -1,15 +1,17 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef CHROMECAST_BROWSER_CAST_CONTENT_WINDOW_H_ |
-#define CHROMECAST_BROWSER_CAST_CONTENT_WINDOW_H_ |
+#ifndef CHROMECAST_BROWSER_CAST_CONTENT_WINDOW_LINUX_H_ |
+#define CHROMECAST_BROWSER_CAST_CONTENT_WINDOW_LINUX_H_ |
#include <memory> |
#include "base/macros.h" |
+#include "chromecast/browser/cast_content_window.h" |
#include "chromecast/graphics/cast_vsync_settings.h" |
#include "content/public/browser/web_contents_observer.h" |
+#include "ui/events/keycodes/keyboard_codes.h" |
namespace aura { |
class WindowTreeHost; |
@@ -23,23 +25,18 @@ class WebContents; |
namespace chromecast { |
namespace shell { |
-class CastContentWindow : public content::WebContentsObserver, |
- public CastVSyncSettings::Observer { |
+class CastContentWindowLinux : public CastContentWindow, |
+ public content::WebContentsObserver, |
+ public CastVSyncSettings::Observer { |
public: |
- CastContentWindow(); |
- |
// Removes the window from the screen. |
- ~CastContentWindow() override; |
- |
- // Sets the window's background to be transparent (call before |
- // CreateWindowTree). |
- void SetTransparent() { transparent_ = true; } |
- |
- // Create a full-screen window for |web_contents|. |
- void CreateWindowTree(content::WebContents* web_contents); |
+ ~CastContentWindowLinux() override; |
+ // CastContentWindow implementation. |
+ void SetTransparent() override; |
+ void ShowWebContents(content::WebContents* web_contents) override; |
std::unique_ptr<content::WebContents> CreateWebContents( |
- content::BrowserContext* browser_context); |
+ content::BrowserContext* browser_context) override; |
// content::WebContentsObserver implementation: |
void DidFirstVisuallyNonEmptyPaint() override; |
@@ -53,15 +50,20 @@ class CastContentWindow : public content::WebContentsObserver, |
void OnVSyncIntervalChanged(base::TimeDelta interval) override; |
private: |
+ friend class CastContentWindow; |
+ |
+ // This class should only be instantiated by CastContentWindow::Create. |
+ CastContentWindowLinux(); |
+ |
#if defined(USE_AURA) |
std::unique_ptr<aura::WindowTreeHost> window_tree_host_; |
#endif |
bool transparent_; |
- DISALLOW_COPY_AND_ASSIGN(CastContentWindow); |
+ DISALLOW_COPY_AND_ASSIGN(CastContentWindowLinux); |
}; |
} // namespace shell |
} // namespace chromecast |
-#endif // CHROMECAST_BROWSER_CAST_CONTENT_WINDOW_H_ |
+#endif // CHROMECAST_BROWSER_CAST_CONTENT_WINDOW_LINUX_H_ |