removed bpp (it can be calculated)
fixed buffer size calculation (we actually send the whole image, not just the dirty part) removed the unnecessary resets and const now we use Copy instead of New
This commit is contained in:
parent
ca16132268
commit
1b0af6f6f1
2 changed files with 4 additions and 12 deletions
|
@ -1345,16 +1345,15 @@ bool WebContents::IsOffScreen() const {
|
|||
|
||||
void WebContents::OnPaint(const gfx::Rect& dirty_rect,
|
||||
const gfx::Size& bitmap_size,
|
||||
const int pixel_size,
|
||||
int pixel_size,
|
||||
void* bitmap_pixels) {
|
||||
v8::MaybeLocal<v8::Object> buffer = node::Buffer::New(
|
||||
v8::MaybeLocal<v8::Object> buffer = node::Buffer::Copy(
|
||||
isolate(), reinterpret_cast<char*>(bitmap_pixels),
|
||||
pixel_size * dirty_rect.width() * dirty_rect.height());
|
||||
pixel_size * bitmap_size.width() * bitmap_size.height());
|
||||
|
||||
mate::Dictionary dict = mate::Dictionary::CreateEmpty(isolate());
|
||||
dict.Set("width", bitmap_size.width());
|
||||
dict.Set("height", bitmap_size.height());
|
||||
dict.Set("bytesPerPixel", pixel_size);
|
||||
|
||||
if (!buffer.IsEmpty())
|
||||
Emit("paint", dirty_rect, buffer.ToLocalChecked(), dict);
|
||||
|
@ -1367,8 +1366,8 @@ void WebContents::StartPainting() {
|
|||
auto* osr_rwhv = static_cast<OffScreenRenderWidgetHostView*>(
|
||||
web_contents()->GetRenderWidgetHostView());
|
||||
if (osr_rwhv) {
|
||||
osr_rwhv->SetPainting(true);
|
||||
osr_rwhv->Show();
|
||||
osr_rwhv->SetPainting(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -379,13 +379,6 @@ OffScreenRenderWidgetHostView::~OffScreenRenderWidgetHostView() {
|
|||
#if defined(OS_MACOSX)
|
||||
DestroyPlatformWidget();
|
||||
#endif
|
||||
|
||||
if (copy_frame_generator_.get())
|
||||
copy_frame_generator_.reset(nullptr);
|
||||
|
||||
delegated_frame_host_.reset(nullptr);
|
||||
compositor_.reset(nullptr);
|
||||
root_layer_.reset(nullptr);
|
||||
}
|
||||
|
||||
void OffScreenRenderWidgetHostView::OnBeginFrameTimerTick() {
|
||||
|
|
Loading…
Reference in a new issue