**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
if (!gfx::PNGCodec::Decode(data, size, decoded.get())) {
    
    decoded = gfx::JPEGCodec::Decode(data, size);
    if (decoded) {
      
      
      
      
      
      
      
      decoded->setAlphaType(SkAlphaType::kOpaque_SkAlphaType);
    }
  }
  if (!decoded) {
    
    if (width > 0 && height > 0) {
      decoded.reset(new SkBitmap);
      decoded->allocN32Pixels(width, height, false);
      decoded->setPixels(
          const_cast<void*>(reinterpret_cast<const void*>(data)));
    } else {
      return false;
    }
  }
  image->AddRepresentation(gfx::ImageSkiaRep(*decoded, scale_factor));
  return true;
}
bool AddImageSkiaRep(gfx::ImageSkia* image,