Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(901)

Unified Diff: content/browser/compositor/mus_browser_compositor_output_surface.cc

Issue 2547243002: Set device scale factor in CompositorFrame and scale frame size in WS. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/compositor/mus_browser_compositor_output_surface.cc
diff --git a/content/browser/compositor/mus_browser_compositor_output_surface.cc b/content/browser/compositor/mus_browser_compositor_output_surface.cc
index 1b7a30b3ffc34254fbe5db8432b414ce54bcc6d4..d0ab5594967c6f4dd7f0837fbfe7d5a72b16d4e5 100644
--- a/content/browser/compositor/mus_browser_compositor_output_surface.cc
+++ b/content/browser/compositor/mus_browser_compositor_output_surface.cc
@@ -29,12 +29,14 @@ MusBrowserCompositorOutputSurface::MusBrowserCompositorOutputSurface(
scoped_refptr<ui::CompositorVSyncManager> vsync_manager,
cc::SyntheticBeginFrameSource* begin_frame_source,
std::unique_ptr<display_compositor::CompositorOverlayCandidateValidator>
- overlay_candidate_validator)
+ overlay_candidate_validator,
+ float device_scale_factor)
: GpuBrowserCompositorOutputSurface(std::move(context),
std::move(vsync_manager),
begin_frame_source,
std::move(overlay_candidate_validator)),
- ui_window_(window) {
+ ui_window_(window),
+ device_scale_factor_(device_scale_factor) {
ui_compositor_frame_sink_ = ui_window_->RequestCompositorFrameSink(
ui::mojom::CompositorFrameSinkType::DEFAULT, context,
gpu_memory_buffer_manager);
@@ -48,12 +50,14 @@ MusBrowserCompositorOutputSurface::MusBrowserCompositorOutputSurface(
scoped_refptr<ui::CompositorVSyncManager> vsync_manager,
cc::SyntheticBeginFrameSource* begin_frame_source,
std::unique_ptr<display_compositor::CompositorOverlayCandidateValidator>
- overlay_candidate_validator)
+ overlay_candidate_validator,
+ float device_scale_factor)
: GpuBrowserCompositorOutputSurface(std::move(context),
std::move(vsync_manager),
begin_frame_source,
std::move(overlay_candidate_validator)),
- window_(window) {
+ window_(window),
+ device_scale_factor_(device_scale_factor) {
aura::WindowPortMus* window_port = aura::WindowPortMus::Get(window_);
DCHECK(window_port);
compositor_frame_sink_ = window_port->RequestCompositorFrameSink(
@@ -69,6 +73,7 @@ void MusBrowserCompositorOutputSurface::SwapBuffers(
const gfx::Rect bounds = ui_window_ ? gfx::Rect(ui_window_->bounds().size())
: gfx::Rect(window_->bounds().size());
cc::CompositorFrame ui_frame;
+ ui_frame.metadata.device_scale_factor = device_scale_factor_;
danakj 2016/12/06 22:44:27 What if the device scale changes? It's not fixed f
riajiang 2016/12/15 18:14:41 Changed to get the device_scale_factor from the di
ui_frame.metadata.latency_info = std::move(frame.latency_info);
// Reset latency_info to known empty state after moving contents.
frame.latency_info.clear();

Powered by Google App Engine
This is Rietveld 408576698