blob: e84ce91911437f8c53b93a18e082092761a76ed2 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/viz/client/local_surface_id_provider.h"
#include "components/viz/common/quads/compositor_frame.h"
namespace viz {
LocalSurfaceIdProvider::LocalSurfaceIdProvider() = default;
LocalSurfaceIdProvider::~LocalSurfaceIdProvider() = default;
DefaultLocalSurfaceIdProvider::DefaultLocalSurfaceIdProvider() = default;
const LocalSurfaceId& DefaultLocalSurfaceIdProvider::GetLocalSurfaceIdForFrame(
const CompositorFrame& frame) {
if (frame.size_in_pixels() != surface_size_ ||
frame.device_scale_factor() != device_scale_factor_) {
parent_local_surface_id_allocator_.GenerateId();
}
surface_size_ = frame.size_in_pixels();
device_scale_factor_ = frame.device_scale_factor();
return parent_local_surface_id_allocator_.GetCurrentLocalSurfaceId();
}
} // namespace viz