| Index: ui/ozone/platform/drm/host/drm_overlay_candidates_host.h
|
| diff --git a/ui/ozone/platform/drm/host/drm_overlay_candidates_host.h b/ui/ozone/platform/drm/host/drm_overlay_candidates_host.h
|
| index 8cdbadccb7c86c224ddb44bf6089785fd09dbd18..113de504269f6f082adc478baa6d1c33eac950e9 100644
|
| --- a/ui/ozone/platform/drm/host/drm_overlay_candidates_host.h
|
| +++ b/ui/ozone/platform/drm/host/drm_overlay_candidates_host.h
|
| @@ -10,16 +10,11 @@
|
| #include <vector>
|
|
|
| #include "base/macros.h"
|
| -#include "ui/ozone/common/gpu/ozone_gpu_message_params.h"
|
| -#include "ui/ozone/platform/drm/host/drm_overlay_candidates_host_core.h"
|
| -#include "ui/ozone/public/gpu_platform_support_host.h"
|
| #include "ui/ozone/public/overlay_candidates_ozone.h"
|
|
|
| namespace ui {
|
|
|
| -class DrmGpuPlatformSupportHost;
|
| -class DrmWindowHost;
|
| -class DrmOverlayCandidatesHost;
|
| +class DrmOverlayManagerCore;
|
|
|
| // This is an implementation of OverlayCandidatesOzone where the driver is asked
|
| // about overlay capabilities via IPC. We have no way of querying abstract
|
| @@ -30,59 +25,19 @@ class DrmOverlayCandidatesHost;
|
| // the result is returned in OzoneHostMsg_OverlayCapabilitiesReceived. Testing
|
| // is asynchronous, until the reply arrives that configuration will be failed.
|
| //
|
| -// There is a many:1 relationship between this class and
|
| -// DrmGpuPlatformSupportHost, each compositor will own one of these objects.
|
| -// Each request has a unique request ID, which is assigned from a shared
|
| -// sequence number so that replies can be routed to the correct object.
|
| -// TODO(rjkroege): Consider removing the dependency on
|
| -// GpuPlatformSupportHost.
|
| -class DrmOverlayCandidatesHost : public OverlayCandidatesOzone,
|
| - public GpuPlatformSupportHost {
|
| +// All OverlayCandidatesOzone objects share a single cache of tested
|
| +// configurations stored in the overlay manager.
|
| +class DrmOverlayCandidatesHost : public OverlayCandidatesOzone {
|
| public:
|
| - DrmOverlayCandidatesHost(DrmGpuPlatformSupportHost* platform_support,
|
| - DrmWindowHost* window);
|
| + DrmOverlayCandidatesHost(DrmOverlayManagerCore* manager_core,
|
| + gfx::AcceleratedWidget widget);
|
| ~DrmOverlayCandidatesHost() override;
|
|
|
| - // OverlayCandidatesOzone:
|
| void CheckOverlaySupport(OverlaySurfaceCandidateList* candidates) override;
|
|
|
| - // GpuPlatformSupportHost:
|
| - void OnChannelEstablished(
|
| - int host_id,
|
| - scoped_refptr<base::SingleThreadTaskRunner> send_runner,
|
| - const base::Callback<void(IPC::Message*)>& sender) override;
|
| - void OnChannelDestroyed(int host_id) override;
|
| - bool OnMessageReceived(const IPC::Message& message) override;
|
| -
|
| private:
|
| - class OverlayCandidatesIPC : public DrmOverlayCandidatesHostProxy {
|
| - public:
|
| - OverlayCandidatesIPC(DrmGpuPlatformSupportHost* platform_support,
|
| - DrmOverlayCandidatesHost* parent);
|
| - ~OverlayCandidatesIPC() override;
|
| - void RegisterHandler() override;
|
| - bool IsConnected() override;
|
| - void UnregisterHandler() override;
|
| - bool CheckOverlayCapabilities(
|
| - gfx::AcceleratedWidget widget,
|
| - const std::vector<OverlayCheck_Params>& new_params) override;
|
| -
|
| - private:
|
| - DrmGpuPlatformSupportHost* platform_support_;
|
| - DrmOverlayCandidatesHost* parent_;
|
| - DISALLOW_COPY_AND_ASSIGN(OverlayCandidatesIPC);
|
| - };
|
| -
|
| - // Entry point for incoming IPC.
|
| - void OnOverlayResult(bool* handled,
|
| - gfx::AcceleratedWidget widget,
|
| - const std::vector<OverlayCheck_Params>& params);
|
| -
|
| - // Sends messages to the GPU thread.
|
| - scoped_ptr<OverlayCandidatesIPC> sender_;
|
| -
|
| - // Implementation without messaging functionality.
|
| - scoped_ptr<DrmOverlayCandidatesHostCore> core_;
|
| + DrmOverlayManagerCore* overlay_manager_; // Not owned.
|
| + gfx::AcceleratedWidget widget_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(DrmOverlayCandidatesHost);
|
| };
|
|
|