[atom/common/api/atom_api_clipboard.cc](https://github.com/electron/electron/blob/master/atom/common/api/atom_api_clipboard.cc)

See TODO in the code.

/cc @gavignus 

atom/common/api/atom_api_clipboard.cc
std::vector<base::string16> format_types;
  bool ignore;
  ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread();
  clipboard->ReadAvailableTypes(GetClipboardType(args), &format_types, &ignore);
  return format_types;
}
bool Clipboard::Has(const std::string& format_string, mate::Arguments* args) {
  ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread();
  ui::Clipboard::FormatType format(ui::Clipboard::GetFormatType(format_string));
  return clipboard->IsFormatAvailable(format, GetClipboardType(args));
}
std::string Clipboard::Read(const std::string& format_string) {
  ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread();
  ui::Clipboard::FormatType format(ui::Clipboard::GetFormatType(format_string));
  std::string data;
  clipboard->ReadData(format, &data);
  return data;
}
v8::Local<v8::Value> Clipboard::ReadBuffer(const std::string& format_string,
                                           mate::Arguments* args) {
  std::string data = Read(format_string);
  return node::Buffer::Copy(
      args->isolate(), data.data(), data.length()).ToLocalChecked();
}
void Clipboard::WriteBuffer(const std::string& format,