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

Unified Diff: gpu/ipc/service/child_window_win.h

Issue 2623763003: Split out ChildWindowWin (Closed)
Patch Set: initialize window_ 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
Index: gpu/ipc/service/child_window_win.h
diff --git a/gpu/ipc/service/child_window_win.h b/gpu/ipc/service/child_window_win.h
new file mode 100644
index 0000000000000000000000000000000000000000..a8bf83cebd9f74174becb422f489ffd0edb8a8c6
--- /dev/null
+++ b/gpu/ipc/service/child_window_win.h
@@ -0,0 +1,44 @@
+// Copyright 2017 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 GPU_IPC_SERVICE_CHILD_WINDOW_WIN_H_
+#define GPU_IPC_SERVICE_CHILD_WINDOW_WIN_H_
+
+#include "base/memory/weak_ptr.h"
+#include "gpu/ipc/service/image_transport_surface_delegate.h"
+
+#include <windows.h>
+
+namespace gpu {
+
+struct SharedData;
+
+class ChildWindowWin {
stanisc 2017/01/10 20:54:57 Consider adding a short comment that explaining th
+ public:
+ ChildWindowWin(base::WeakPtr<ImageTransportSurfaceDelegate> delegate,
+ HWND parent_window);
+ ~ChildWindowWin();
+
+ bool Initialize();
+ void ClearInvalidContents();
+ HWND window() const { return window_; }
+
+ private:
+ // This member contains all the data that can be accessed from the main or
+ // window owner threads.
+ std::unique_ptr<SharedData> shared_data_;
+ // The eventual parent of the window living in the browser process.
+ HWND parent_window_;
+ HWND window_;
+ // The window is initially created with this parent window. We need to keep it
+ // around so that we can destroy it at the end.
+ HWND initial_parent_window_;
+ base::WeakPtr<ImageTransportSurfaceDelegate> delegate_;
+
+ DISALLOW_COPY_AND_ASSIGN(ChildWindowWin);
+};
+
+} // namespace gpu
+
+#endif // GPU_IPC_SERVICE_CHILD_WINDOW_WIN_H_

Powered by Google App Engine
This is Rietveld 408576698