Chromium Code Reviews| 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_ |