| Index: ui/base/clipboard/clipboard_aurax11.cc
|
| diff --git a/ui/base/clipboard/clipboard_aurax11.cc b/ui/base/clipboard/clipboard_aurax11.cc
|
| index e1b64e036ca6b953b3c317329a196031e4c51164..e40af36f4523d1fbe1247a7b0ede0f65259be39b 100644
|
| --- a/ui/base/clipboard/clipboard_aurax11.cc
|
| +++ b/ui/base/clipboard/clipboard_aurax11.cc
|
| @@ -513,7 +513,15 @@ void Clipboard::AuraX11Details::StoreCopyPasteDataAndWait() {
|
| }
|
|
|
| bool Clipboard::AuraX11Details::CanDispatchEvent(const PlatformEvent& event) {
|
| - return event->xany.window == x_window_;
|
| + if (event->xany.window == x_window_)
|
| + return true;
|
| +
|
| + if (event->type == PropertyNotify) {
|
| + return primary_owner_.CanDispatchPropertyEvent(*event) ||
|
| + clipboard_owner_.CanDispatchPropertyEvent(*event) ||
|
| + selection_requestor_.CanDispatchPropertyEvent(*event);
|
| + }
|
| + return false;
|
| }
|
|
|
| uint32_t Clipboard::AuraX11Details::DispatchEvent(const PlatformEvent& xev) {
|
| @@ -544,6 +552,15 @@ uint32_t Clipboard::AuraX11Details::DispatchEvent(const PlatformEvent& xev) {
|
| }
|
| break;
|
| }
|
| + case PropertyNotify: {
|
| + if (primary_owner_.CanDispatchPropertyEvent(*xev))
|
| + primary_owner_.OnPropertyEvent(*xev);
|
| + if (clipboard_owner_.CanDispatchPropertyEvent(*xev))
|
| + clipboard_owner_.OnPropertyEvent(*xev);
|
| + if (selection_requestor_.CanDispatchPropertyEvent(*xev))
|
| + selection_requestor_.OnPropertyEvent(*xev);
|
| + break;
|
| + }
|
| default:
|
| break;
|
| }
|
|
|