### Preflight Checklist

- [X] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/main/CONTRIBUTING.md) for this project.
- [X] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/main/CODE_OF_CONDUCT.md) that this project adheres to.
- [X] I have searched the [issue tracker](https://www.github.com/electron/electron/issues) for a bug report that matches the one I want to file, without success.

### Electron Version

18.1.0

### What operating system are you using?

Ubuntu

### Operating System Version

Ubuntu 20.04

### What arch are you using?

x64

### Last Known Working Electron version

_No response_

### Expected Behavior

Offscreen rendering paint events should receive events for SELECT input elements.

### Actual Behavior

Sometimes an empty white box appears, or nothing happens.

### Testcase Gist URL

https://gist.github.com/gtalusan/c0ad56685aeb3b2c1108fbccf6b451b4

### Additional Information

Here's a screenshot when the fiddle is run with `offscreen = false`:

<img width="760" alt="Screen Shot 2022-05-03 at 9 54 42 AM" src="https://user-images.githubusercontent.com/355585/166471227-1e0e27b0-cc8b-4c8e-94e5-a4261e2437b6.png">

Here are the paint event images saved to PNGs when `offscreen = true`:
![0](https://user-images.githubusercontent.com/355585/166471435-209960eb-27e2-47f1-a758-1760a052f3d1.png)
![1](https://user-images.githubusercontent.com/355585/166471445-269fab98-f046-43d4-b72a-65a49c5bc067.png)


shell/browser/osr/osr_video_consumer.cc
pixels,
      media::VideoFrame::RowBytes(media::VideoFrame::kARGBPlane,
                                  info->pixel_format, info->coded_size.width()),
      [](void* addr, void* context) {
        delete static_cast<FramePinner*>(context);
      },
      new FramePinner{std::move(mapping), callbacks_remote.Unbind()});
  bitmap.setImmutable();
  absl::optional<gfx::Rect> update_rect = info->metadata.capture_update_rect;
  if (!update_rect.has_value() || update_rect->IsEmpty()) {
    update_rect = content_rect;
  }
  callback_.Run(*update_rect, bitmap);
}
void OffScreenVideoConsumer::OnFrameWithEmptyRegionCapture() {}
void OffScreenVideoConsumer::OnStopped() {}
void OffScreenVideoConsumer::OnLog(const std::string& message) {}
bool OffScreenVideoConsumer::CheckContentRect(const gfx::Rect& content_rect) {
  gfx::Size view_size = view_->SizeInPixels();
  gfx::Size content_size = content_rect.size();
  if (std::abs(view_size.width() - content_size.width()) > 2) {
    return false;
  }
  if (std::abs(view_size.height() - content_size.height()) > 2) {
    return false;
  }
  return true;
}
}