**Is your feature request related to a problem? Please describe.**
The clipboard module depends on the remote module on Linux.

**Describe the solution you'd like**
It should be implemented using dedicated IPCs that are properly validated to avoid security issues.

**Describe alternatives you've considered**
The app can call the clipboard APIs in the main process in response to app-level IPCs from the renderer.

**Additional context**
Follow-up from https://github.com/electron/electron/pull/13028

atom/common/api/atom_api_native_image.cc
return image_.IsEmpty();
}
gfx::Size NativeImage::GetSize() {
  return image_.Size();
}
float NativeImage::GetAspectRatio() {
  gfx::Size size = GetSize();
  if (size.IsEmpty())
    return 1.f;
  else
    return static_cast<float>(size.width()) _cast<float>(size.height());
}
mate::Handle<NativeImage> NativeImage::Resize(
    v8::Isolate* isolate,
    const base::DictionaryValue& options) {
  gfx::Size size = GetSize();
  int width = size.width();
  int height = size.height();
  bool width_set = options.GetInteger("width", &width);
  bool height_set = options.GetInteger("height", &height);
  size.SetSize(width, height);