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

Unified Diff: chromecast/browser/cast_window_manager_aura.h

Issue 2428383007: [Chromecast] Add input support. (Closed)
Patch Set: Created 4 years, 2 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
Index: chromecast/browser/cast_window_manager_aura.h
diff --git a/chromecast/browser/cast_window_manager_aura.h b/chromecast/browser/cast_window_manager_aura.h
new file mode 100644
index 0000000000000000000000000000000000000000..0260cca6ad7fa76215f4a5caa6e181136ba2430f
--- /dev/null
+++ b/chromecast/browser/cast_window_manager_aura.h
@@ -0,0 +1,57 @@
+// 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_WINDOW_MANAGER_AURA_H_
+#define CHROMECAST_BROWSER_CAST_WINDOW_MANAGER_AURA_H_
+
+#include <memory>
+
+#include "base/macros.h"
+#include "chromecast/browser/cast_window_manager.h"
+#include "chromecast/graphics/cast_vsync_settings.h"
+#include "ui/aura/layout_manager.h"
+
+namespace aura {
+class Window;
+class WindowTreeHost;
+}
+
+namespace chromecast {
+namespace shell {
+
+class CastWindowManagerAura : public CastWindowManager,
+ public CastVSyncSettings::Observer,
+ public aura::LayoutManager {
+ public:
+ CastWindowManagerAura();
+
+ ~CastWindowManagerAura() override;
+
+ // CastWindowManager implementation:
+ void StartWindowManager() override;
+ void AddWebContents(content::WebContents* web_contents,
+ bool is_overlay, bool is_transparent) override;
+
+ // CastVSyncSettings::Observer implementation:
+ void OnVSyncIntervalChanged(base::TimeDelta interval) override;
+
+ // aura::LayoutManager implementation:
+ void OnWindowResized() override;
+ void OnWindowAddedToLayout(aura::Window* child) override;
+ void OnWillRemoveWindowFromLayout(aura::Window* child) override;
+ void OnWindowRemovedFromLayout(aura::Window* child) override;
+ void OnChildWindowVisibilityChanged(aura::Window* child,
+ bool visible) override;
+ void SetChildBounds(aura::Window* child,
+ const gfx::Rect& requested_bounds) override;
+
+ private:
+ std::unique_ptr<aura::WindowTreeHost> window_tree_host_;
+
+ DISALLOW_COPY_AND_ASSIGN(CastWindowManagerAura);
+};
+
+} // namespace shell
+} // namespace chromecast
+
+#endif // CHROMECAST_BROWSER_CAST_WINDOW_MANAGER_AURA_H_

Powered by Google App Engine
This is Rietveld 408576698