| Index: ui/ozone/platform/cast/platform_window_cast.cc
|
| diff --git a/ui/ozone/platform/cast/platform_window_cast.cc b/ui/ozone/platform/cast/platform_window_cast.cc
|
| index 6a09ace58f36ed83142c0cd2f912644f7fc14d15..330868ea6eb80e9f0f48a1eff88d7b0e255255e2 100644
|
| --- a/ui/ozone/platform/cast/platform_window_cast.cc
|
| +++ b/ui/ozone/platform/cast/platform_window_cast.cc
|
| @@ -4,6 +4,10 @@
|
|
|
| #include "ui/ozone/platform/cast/platform_window_cast.h"
|
|
|
| +#include "base/bind.h"
|
| +#include "ui/events/event.h"
|
| +#include "ui/events/ozone/events_ozone.h"
|
| +#include "ui/events/platform/platform_event_source.h"
|
| #include "ui/platform_window/platform_window_delegate.h"
|
|
|
| namespace ui {
|
| @@ -13,6 +17,16 @@ PlatformWindowCast::PlatformWindowCast(PlatformWindowDelegate* delegate,
|
| : delegate_(delegate), bounds_(bounds) {
|
| widget_ = (bounds.width() << 16) + bounds.height();
|
| delegate_->OnAcceleratedWidgetAvailable(widget_, 1.f);
|
| +
|
| + if (ui::PlatformEventSource::GetInstance()) {
|
| + ui::PlatformEventSource::GetInstance()->AddPlatformEventDispatcher(this);
|
| + }
|
| +}
|
| +
|
| +PlatformWindowCast::~PlatformWindowCast() {
|
| + if (ui::PlatformEventSource::GetInstance()) {
|
| + ui::PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this);
|
| + }
|
| }
|
|
|
| gfx::Rect PlatformWindowCast::GetBounds() {
|
| @@ -31,4 +45,17 @@ PlatformImeController* PlatformWindowCast::GetPlatformImeController() {
|
| return nullptr;
|
| }
|
|
|
| +bool PlatformWindowCast::CanDispatchEvent(const ui::PlatformEvent& ne) {
|
| + return true;
|
| +}
|
| +
|
| +uint32_t PlatformWindowCast::DispatchEvent(
|
| + const ui::PlatformEvent& native_event) {
|
| + DispatchEventFromNativeUiEvent(
|
| + native_event, base::Bind(&PlatformWindowDelegate::DispatchEvent,
|
| + base::Unretained(delegate_)));
|
| +
|
| + return ui::POST_DISPATCH_STOP_PROPAGATION;
|
| +}
|
| +
|
| } // namespace ui
|
|
|