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

Side by Side Diff: ui/ozone/public/gpu_platform_support_host.h

Issue 821133006: ozone: Dispatch GPU process IPCs to IO thread directly from GpuPlatformSupportHost (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_OZONE_PUBLIC_GPU_PLATFORM_SUPPORT_HOST_H_ 5 #ifndef UI_OZONE_PUBLIC_GPU_PLATFORM_SUPPORT_HOST_H_
6 #define UI_OZONE_PUBLIC_GPU_PLATFORM_SUPPORT_HOST_H_ 6 #define UI_OZONE_PUBLIC_GPU_PLATFORM_SUPPORT_HOST_H_
7 7
8 #include "base/memory/ref_counted.h"
9 #include "base/single_thread_task_runner.h"
8 #include "ipc/ipc_listener.h" 10 #include "ipc/ipc_listener.h"
9 #include "ipc/ipc_sender.h" 11 #include "ipc/ipc_sender.h"
10 #include "ui/ozone/ozone_base_export.h" 12 #include "ui/ozone/ozone_base_export.h"
11 13
12 namespace ui { 14 namespace ui {
13 15
14 // Platform-specific object to support a GPU process host. 16 // Platform-specific object to support a GPU process host.
15 // 17 //
16 // ChromeOS on bare hardware will do display configuration and cursor 18 // ChromeOS on bare hardware will do display configuration and cursor
17 // movement from the GPU process. This provides a conduit for the 19 // movement from the GPU process. This provides a conduit for the
18 // messages needed to make this work. 20 // messages needed to make this work.
19 // 21 //
20 // Under X11, we don't need any GPU messages for display configuration. 22 // Under X11, we don't need any GPU messages for display configuration.
21 // That's why there's no real functionality here: it's purely mechanism 23 // That's why there's no real functionality here: it's purely mechanism
22 // to support additional messages needed by specific platforms. 24 // to support additional messages needed by specific platforms.
23 class OZONE_BASE_EXPORT GpuPlatformSupportHost : public IPC::Listener { 25 class OZONE_BASE_EXPORT GpuPlatformSupportHost : public IPC::Listener {
24 public: 26 public:
25 GpuPlatformSupportHost(); 27 GpuPlatformSupportHost();
26 ~GpuPlatformSupportHost() override; 28 ~GpuPlatformSupportHost() override;
27 29
28 // Called when the GPU process is spun up & channel established. 30 // Called when the GPU process is spun up & channel established.
29 virtual void OnChannelEstablished(int host_id, IPC::Sender* sender) = 0; 31 virtual void OnChannelEstablished(
32 int host_id,
33 scoped_refptr<base::SingleThreadTaskRunner> send_runner,
34 const base::Callback<void(IPC::Message*)>& sender) = 0;
30 35
31 // Called when the GPU process is destroyed. 36 // Called when the GPU process is destroyed.
32 virtual void OnChannelDestroyed(int host_id) = 0; 37 virtual void OnChannelDestroyed(int host_id) = 0;
33 }; 38 };
34 39
35 // create a stub implementation. 40 // create a stub implementation.
36 OZONE_BASE_EXPORT GpuPlatformSupportHost* CreateStubGpuPlatformSupportHost(); 41 OZONE_BASE_EXPORT GpuPlatformSupportHost* CreateStubGpuPlatformSupportHost();
37 42
38 } // namespace ui 43 } // namespace ui
39 44
40 #endif // UI_OZONE_PUBLIC_GPU_PLATFORM_SUPPORT_HOST_H_ 45 #endif // UI_OZONE_PUBLIC_GPU_PLATFORM_SUPPORT_HOST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698