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_ |