### Issue Details

* **Electron Version:**
  * `8.3.3`
* **Operating System:**
  * Windows 10 2004
* **Last Known Working Electron version:**
  * `7.x`

### Expected Behavior
You can write and read from clipboard via `Buffer`.

### Actual Behavior
You can write but not read.

### To Reproduce

```js
setTimeout(() => {
  clipboard.writeBuffer('code/file-list', Buffer.from("Hello World"));
  console.log("did write")
}, 1000);

setTimeout(() => {
  const res = clipboard.readBuffer('code/file-list');
  console.log(res.toString());
}, 2000);
```

The output is empty with Electron 8 but filled with Electron 7.

//cc @deepak1556 
shell/common/api/electron_api_clipboard.cc
ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread();
  ui::ClipboardFormatType format(
      ui::ClipboardFormatType::GetType(format_string));
  std::string data;
  clipboard->ReadData(format, &data);
  return data;
}
v8::Local<v8::Value> Clipboard::ReadBuffer(const std::string& format_string,
                                           gin_helper::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,
                            const v8::Local<v8::Value> buffer,
                            gin_helper::Arguments* args) {
  if (!node::Buffer::HasInstance(buffer)) {
    args->ThrowError("buffer must be a node Buffer");
    return;
  }
  ui::ScopedClipboardWriter writer(GetClipboardBuffer(args));
  base::span<const uint8_t> payload_span(
      reinterpret_cast<const uint8_t*>(node::Buffer::Data(buffer)),
      node::Buffer::Length(buffer));
  writer.WriteData(
      base::UTF8ToUTF16(ui::ClipboardFormatType::GetType(format).Serialize()),
      mojo_base::BigBuffer(payload_span));
}
void Clipboard::Write(const gin_helper::Dictionary& data,