Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5495)

Unified Diff: chromecast/browser/cast_content_window_linux.h

Issue 2570623003: [Chromecast] Turn CastContentWindow into an abstract interface. (Closed)
Patch Set: Fix browser test Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chromecast/browser/cast_content_window.cc ('k') | chromecast/browser/cast_content_window_linux.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_
« no previous file with comments | « chromecast/browser/cast_content_window.cc ('k') | chromecast/browser/cast_content_window_linux.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698