| Index: ui/ozone/platform/dri/gpu_platform_support_host_gbm.cc
|
| diff --git a/ui/ozone/platform/dri/gpu_platform_support_host_gbm.cc b/ui/ozone/platform/dri/gpu_platform_support_host_gbm.cc
|
| index 160b5153dbd4df2eaddf55892c9c6fab5196251b..90a75ca52f67b582421218b925dd29d3dbecffe1 100644
|
| --- a/ui/ozone/platform/dri/gpu_platform_support_host_gbm.cc
|
| +++ b/ui/ozone/platform/dri/gpu_platform_support_host_gbm.cc
|
| @@ -7,6 +7,7 @@
|
| #include "base/debug/trace_event.h"
|
| #include "ui/ozone/common/gpu/ozone_gpu_message_params.h"
|
| #include "ui/ozone/common/gpu/ozone_gpu_messages.h"
|
| +#include "ui/ozone/platform/dri/channel_observer.h"
|
|
|
| namespace ui {
|
|
|
| @@ -29,6 +30,18 @@ void GpuPlatformSupportHostGbm::UnregisterHandler(
|
| handlers_.erase(it);
|
| }
|
|
|
| +void GpuPlatformSupportHostGbm::AddChannelObserver(ChannelObserver* observer) {
|
| + channel_observers_.AddObserver(observer);
|
| +
|
| + if (sender_)
|
| + observer->OnChannelEstablished();
|
| +}
|
| +
|
| +void GpuPlatformSupportHostGbm::RemoveChannelObserver(
|
| + ChannelObserver* observer) {
|
| + channel_observers_.RemoveObserver(observer);
|
| +}
|
| +
|
| void GpuPlatformSupportHostGbm::OnChannelEstablished(int host_id,
|
| IPC::Sender* sender) {
|
| TRACE_EVENT0("dri", "GpuPlatformSupportHostGbm::OnChannelEstablished");
|
| @@ -42,6 +55,9 @@ void GpuPlatformSupportHostGbm::OnChannelEstablished(int host_id,
|
|
|
| for (size_t i = 0; i < handlers_.size(); ++i)
|
| handlers_[i]->OnChannelEstablished(host_id, sender);
|
| +
|
| + FOR_EACH_OBSERVER(
|
| + ChannelObserver, channel_observers_, OnChannelEstablished());
|
| }
|
|
|
| void GpuPlatformSupportHostGbm::OnChannelDestroyed(int host_id) {
|
| @@ -53,6 +69,8 @@ void GpuPlatformSupportHostGbm::OnChannelDestroyed(int host_id) {
|
|
|
| for (size_t i = 0; i < handlers_.size(); ++i)
|
| handlers_[i]->OnChannelDestroyed(host_id);
|
| +
|
| + FOR_EACH_OBSERVER(ChannelObserver, channel_observers_, OnChannelDestroyed());
|
| }
|
|
|
| bool GpuPlatformSupportHostGbm::OnMessageReceived(const IPC::Message& message) {
|
|
|