| Index: content/browser/devtools/renderer_overrides_handler.cc
|
| diff --git a/content/browser/devtools/renderer_overrides_handler.cc b/content/browser/devtools/renderer_overrides_handler.cc
|
| index 1fd66da0607687ec7f5db3d6b05cb8ec8ac6daa1..5f620084cfef55e40924886f5701cab5bd5268d0 100644
|
| --- a/content/browser/devtools/renderer_overrides_handler.cc
|
| +++ b/content/browser/devtools/renderer_overrides_handler.cc
|
| @@ -43,6 +43,8 @@
|
| #include "third_party/WebKit/public/web/WebInputEvent.h"
|
| #include "ui/gfx/codec/jpeg_codec.h"
|
| #include "ui/gfx/codec/png_codec.h"
|
| +#include "ui/gfx/display.h"
|
| +#include "ui/gfx/screen.h"
|
| #include "ui/gfx/size_conversions.h"
|
| #include "ui/snapshot/snapshot.h"
|
| #include "url/gurl.h"
|
| @@ -204,13 +206,16 @@ void RendererOverridesHandler::InnerSwapCompositorFrame() {
|
| double scale = 1;
|
| ParseCaptureParameters(screencast_command_.get(), &format, &quality, &scale);
|
|
|
| - RenderWidgetHostViewBase* view = static_cast<RenderWidgetHostViewBase*>(
|
| - host->GetView());
|
| + const gfx::Display& display =
|
| + gfx::Screen::GetNativeScreen()->GetPrimaryDisplay();
|
| + float device_scale_factor = display.device_scale_factor();
|
|
|
| gfx::Rect view_bounds = host->GetView()->GetViewBounds();
|
| - gfx::Size snapshot_size = gfx::ToFlooredSize(
|
| - gfx::ScaleSize(view_bounds.size(), scale));
|
| + gfx::Size snapshot_size(gfx::ToCeiledSize(
|
| + gfx::ScaleSize(view_bounds.size(), scale / device_scale_factor)));
|
|
|
| + RenderWidgetHostViewBase* view = static_cast<RenderWidgetHostViewBase*>(
|
| + host->GetView());
|
| view->CopyFromCompositingSurface(
|
| view_bounds, snapshot_size,
|
| base::Bind(&RendererOverridesHandler::ScreencastFrameCaptured,
|
|
|