| // Copyright 2020 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/browser/ash/crosapi/clipboard_ash.h" |
| |
| #include "base/strings/utf_string_conversions.h" |
| #include "ui/base/clipboard/clipboard.h" |
| |
| namespace crosapi { |
| |
| ClipboardAsh::ClipboardAsh() = default; |
| ClipboardAsh::~ClipboardAsh() = default; |
| |
| void ClipboardAsh::BindReceiver( |
| mojo::PendingReceiver<mojom::Clipboard> pending_receiver) { |
| receivers_.Add(this, std::move(pending_receiver)); |
| } |
| |
| void ClipboardAsh::GetCopyPasteText(GetCopyPasteTextCallback callback) { |
| std::u16string text; |
| |
| const ui::DataTransferEndpoint endpoint(ui::EndpointType::kLacros); |
| ui::Clipboard::GetForCurrentThread()->ReadText( |
| ui::ClipboardBuffer::kCopyPaste, &endpoint, &text); |
| |
| std::move(callback).Run(base::UTF16ToUTF8(text)); |
| } |
| |
| } // namespace crosapi |