diff options
Diffstat (limited to 'chromium/ui/base/dragdrop/os_exchange_data_provider_x11.cc')
-rw-r--r-- | chromium/ui/base/dragdrop/os_exchange_data_provider_x11.cc | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/chromium/ui/base/dragdrop/os_exchange_data_provider_x11.cc b/chromium/ui/base/dragdrop/os_exchange_data_provider_x11.cc index 8365cc492e5..419325a9ff4 100644 --- a/chromium/ui/base/dragdrop/os_exchange_data_provider_x11.cc +++ b/chromium/ui/base/dragdrop/os_exchange_data_provider_x11.cc @@ -22,12 +22,12 @@ OSExchangeDataProviderX11::OSExchangeDataProviderX11( : XOSExchangeDataProvider(x_window, selection) {} OSExchangeDataProviderX11::OSExchangeDataProviderX11() { - X11EventSource::GetInstance()->AddXEventDispatcher(this); + x11::Connection::Get()->AddEventObserver(this); } OSExchangeDataProviderX11::~OSExchangeDataProviderX11() { if (own_window()) - X11EventSource::GetInstance()->RemoveXEventDispatcher(this); + x11::Connection::Get()->RemoveEventObserver(this); } std::unique_ptr<OSExchangeDataProvider> OSExchangeDataProviderX11::Clone() @@ -38,13 +38,10 @@ std::unique_ptr<OSExchangeDataProvider> OSExchangeDataProviderX11::Clone() return std::move(ret); } -bool OSExchangeDataProviderX11::DispatchXEvent(x11::Event* xev) { - auto* selection = xev->As<x11::SelectionRequestEvent>(); - if (selection && selection->owner == x_window()) { - selection_owner().OnSelectionRequest(*xev); - return true; - } - return false; +void OSExchangeDataProviderX11::OnEvent(const x11::Event& xev) { + auto* selection = xev.As<x11::SelectionRequestEvent>(); + if (selection && selection->owner == x_window()) + selection_owner().OnSelectionRequest(*selection); } void OSExchangeDataProviderX11::SetSource( |