Add buffer support in clipboard.write()

This commit is contained in:
Ryohei Ikegami 2017-04-21 15:15:29 +09:00 committed by Kevin Sawicki
parent 66cc07d8e9
commit 03fdc7aa28
2 changed files with 17 additions and 1 deletions

View file

@ -66,6 +66,7 @@ void Clipboard::Write(const mate::Dictionary& data, mate::Arguments* args) {
ui::ScopedClipboardWriter writer(GetClipboardType(args));
base::string16 text, html, bookmark;
gfx::Image image;
std::map<std::string, v8::Local<v8::Value>> customBuffers;
if (data.Get("text", &text)) {
writer.WriteText(text);
@ -84,6 +85,14 @@ void Clipboard::Write(const mate::Dictionary& data, mate::Arguments* args) {
if (data.Get("image", &image))
writer.WriteImage(image.AsBitmap());
if (data.Get("buffer", &customBuffers)) {
for (auto i = customBuffers.begin(); i != customBuffers.end(); ++i) {
writer.WriteData(node::Buffer::Data(i->second),
node::Buffer::Length(i->second),
ui::Clipboard::GetFormatType(i->first));
}
}
}
base::string16 Clipboard::ReadText(mate::Arguments* args) {