diff options
Diffstat (limited to 'ui/base/x/selection_requestor.cc')
-rw-r--r-- | ui/base/x/selection_requestor.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ui/base/x/selection_requestor.cc b/ui/base/x/selection_requestor.cc index f044cf8..158028d 100644 --- a/ui/base/x/selection_requestor.cc +++ b/ui/base/x/selection_requestor.cc @@ -55,6 +55,13 @@ bool SelectionRequestor::PerformBlockingConvertSelection( base::MessageLoop::ScopedNestableTaskAllower allow_nested(loop); base::RunLoop run_loop; + // Stop waiting for a response after a certain amount of time. + const int kMaxWaitTimeForClipboardResponse = 300; + loop->PostDelayedTask( + FROM_HERE, + run_loop.QuitClosure(), + base::TimeDelta::FromMilliseconds(kMaxWaitTimeForClipboardResponse)); + PendingRequest pending_request(target, run_loop.QuitClosure()); pending_requests_.push_back(&pending_request); run_loop.Run(); |