New issue
Advanced search Search tips

Issue 883864 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug



Sign in to add a comment

Resizing a video causes a DCHECK() crash in SetDrawRectangle() in the direct composition overlay path

Project Member Reported by magchen@chromium.org, Sep 13

Issue description

Chrome Version: (M71)
OS: (e.g. Win10)

No corruption or any thing abnormal is observed. It can also continue playing the video if I just click the "Continue" button in the debugger. If this is a bug, it should be fixed. Otherwise, the DCHECK() should be updated.

What steps will reproduce the problem?
(1) Play any video in YouTube
(2) Resize the video, or go to full screen mode and change back to window mode
(3) In debug build of Chrome, it will crash in DCHECK( has_set_draw_rectangle_since_last_resize_ || (gfx::Rect(size_) == rect));

https://cs.chromium.org/chromium/src/components/viz/service/display_embedder/gl_output_surface.cc?type=cs&q=GLOutputSurface::SetDrawRectangle&g=0&l=72


Call stack:
service.dll!viz::GLOutputSurface::SetDrawRectangle() Line 72	C++
service.dll!viz::DirectRenderer::UseRenderPass() Line 632	C++
service.dll!viz::DirectRenderer::DrawRenderPass() Line 492	C++
service.dll!viz::DirectRenderer::DrawRenderPassAndExecuteCopyRequests() Line 468	C++
service.dll!viz::DirectRenderer::DrawFrame() Line 341	C++
service.dll!viz::Display::DrawAndSwap() Line 378	C++
service.dll!viz::DisplayScheduler::DrawAndSwap() Line 212	C++
service.dll!viz::DisplayScheduler::AttemptDrawAndSwap() Line 489	C++
service.dll!viz::DisplayScheduler::OnBeginFrameDeadline() Line 506	C++


 
Description: Show this description
Do you know what condition causes the DCHECK to fail? Is it
has_set_draw_rectangle_since_last_resize_, or gfx::Rect(size_) == rect?
It's caused by gfx::Rect(size_) == rect.
This happens in both overlay and underlay.

Sign in to add a comment