Commit 8d3790eb authored by Fady Samuel's avatar Fady Samuel Committed by Commit Bot

viz: Move ReferencedSurfaceTracker to components/viz/service/frame_sinks

It is used only by CompositorFrameSinkSupport so I'm moving it to
components/viz/service/frame_sinks where CompositorFrameSinkSupport is.
This CL also updates all includes, forward declarations and namespaces
as appropriate.

TBR=piman@chromium.org

Bug: 722935
Change-Id: Ibd3548c8a2aada8346c48e7a58b8fd9b35d63c16
Reviewed-on: https://chromium-review.googlesource.com/572589Reviewed-by: default avatarRobert Kroeger <rjkroege@chromium.org>
Commit-Queue: Fady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487139}
parent 883ea33b
...@@ -836,7 +836,6 @@ cc_test("cc_unittests") { ...@@ -836,7 +836,6 @@ cc_test("cc_unittests") {
"animation/keyframed_animation_curve_unittest.cc", "animation/keyframed_animation_curve_unittest.cc",
"animation/scroll_offset_animation_curve_unittest.cc", "animation/scroll_offset_animation_curve_unittest.cc",
"animation/transform_operations_unittest.cc", "animation/transform_operations_unittest.cc",
"surfaces/referenced_surface_tracker_unittest.cc",
"surfaces/surface_hittest_unittest.cc", "surfaces/surface_hittest_unittest.cc",
"surfaces/surface_manager_ref_unittest.cc", "surfaces/surface_manager_ref_unittest.cc",
"surfaces/surface_synchronization_unittest.cc", "surfaces/surface_synchronization_unittest.cc",
......
...@@ -9,8 +9,6 @@ cc_component("surfaces") { ...@@ -9,8 +9,6 @@ cc_component("surfaces") {
sources = [ sources = [
"direct_surface_reference_factory.cc", "direct_surface_reference_factory.cc",
"direct_surface_reference_factory.h", "direct_surface_reference_factory.h",
"referenced_surface_tracker.cc",
"referenced_surface_tracker.h",
"stub_surface_reference_factory.cc", "stub_surface_reference_factory.cc",
"stub_surface_reference_factory.h", "stub_surface_reference_factory.h",
"surface.cc", "surface.cc",
......
...@@ -53,6 +53,8 @@ viz_component("service") { ...@@ -53,6 +53,8 @@ viz_component("service") {
"frame_sinks/gpu_root_compositor_frame_sink.h", "frame_sinks/gpu_root_compositor_frame_sink.h",
"frame_sinks/primary_begin_frame_source.cc", "frame_sinks/primary_begin_frame_source.cc",
"frame_sinks/primary_begin_frame_source.h", "frame_sinks/primary_begin_frame_source.h",
"frame_sinks/referenced_surface_tracker.cc",
"frame_sinks/referenced_surface_tracker.h",
"frame_sinks/surface_resource_holder.cc", "frame_sinks/surface_resource_holder.cc",
"frame_sinks/surface_resource_holder.h", "frame_sinks/surface_resource_holder.h",
"frame_sinks/surface_resource_holder_client.h", "frame_sinks/surface_resource_holder_client.h",
...@@ -135,6 +137,7 @@ viz_source_set("unit_tests") { ...@@ -135,6 +137,7 @@ viz_source_set("unit_tests") {
"frame_sinks/compositor_frame_sink_support_unittest.cc", "frame_sinks/compositor_frame_sink_support_unittest.cc",
"frame_sinks/direct_layer_tree_frame_sink_unittest.cc", "frame_sinks/direct_layer_tree_frame_sink_unittest.cc",
"frame_sinks/frame_sink_manager_unittest.cc", "frame_sinks/frame_sink_manager_unittest.cc",
"frame_sinks/referenced_surface_tracker_unittest.cc",
"hit_test/hit_test_aggregator_unittest.cc", "hit_test/hit_test_aggregator_unittest.cc",
] ]
......
...@@ -14,10 +14,10 @@ ...@@ -14,10 +14,10 @@
#include "base/memory/weak_ptr.h" #include "base/memory/weak_ptr.h"
#include "cc/output/compositor_frame.h" #include "cc/output/compositor_frame.h"
#include "cc/scheduler/begin_frame_source.h" #include "cc/scheduler/begin_frame_source.h"
#include "cc/surfaces/referenced_surface_tracker.h"
#include "cc/surfaces/surface_client.h" #include "cc/surfaces/surface_client.h"
#include "components/viz/common/surfaces/surface_info.h" #include "components/viz/common/surfaces/surface_info.h"
#include "components/viz/service/frame_sinks/frame_sink_manager_client.h" #include "components/viz/service/frame_sinks/frame_sink_manager_client.h"
#include "components/viz/service/frame_sinks/referenced_surface_tracker.h"
#include "components/viz/service/frame_sinks/surface_resource_holder.h" #include "components/viz/service/frame_sinks/surface_resource_holder.h"
#include "components/viz/service/frame_sinks/surface_resource_holder_client.h" #include "components/viz/service/frame_sinks/surface_resource_holder_client.h"
#include "components/viz/service/viz_service_export.h" #include "components/viz/service/viz_service_export.h"
......
...@@ -2,37 +2,37 @@ ...@@ -2,37 +2,37 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "cc/surfaces/referenced_surface_tracker.h" #include "components/viz/service/frame_sinks/referenced_surface_tracker.h"
#include "base/logging.h" #include "base/logging.h"
namespace cc { namespace viz {
void GetSurfaceReferenceDifference( void GetSurfaceReferenceDifference(
const viz::SurfaceId& parent_surface_id, const SurfaceId& parent_surface_id,
const base::flat_set<viz::SurfaceId>& old_referenced_surfaces, const base::flat_set<SurfaceId>& old_referenced_surfaces,
const base::flat_set<viz::SurfaceId>& new_referenced_surfaces, const base::flat_set<SurfaceId>& new_referenced_surfaces,
std::vector<SurfaceReference>* references_to_add, std::vector<cc::SurfaceReference>* references_to_add,
std::vector<SurfaceReference>* references_to_remove) { std::vector<cc::SurfaceReference>* references_to_remove) {
DCHECK(parent_surface_id.is_valid()); DCHECK(parent_surface_id.is_valid());
// Find SurfaceIds in |old_referenced_surfaces| that aren't referenced // Find SurfaceIds in |old_referenced_surfaces| that aren't referenced
// anymore. // anymore.
for (const viz::SurfaceId& surface_id : old_referenced_surfaces) { for (const SurfaceId& surface_id : old_referenced_surfaces) {
if (new_referenced_surfaces.count(surface_id) == 0) { if (new_referenced_surfaces.count(surface_id) == 0) {
references_to_remove->push_back( references_to_remove->push_back(
SurfaceReference(parent_surface_id, surface_id)); cc::SurfaceReference(parent_surface_id, surface_id));
} }
} }
// Find SurfaceIds in |new_referenced_surfaces| that aren't already // Find SurfaceIds in |new_referenced_surfaces| that aren't already
// referenced. // referenced.
for (const viz::SurfaceId& surface_id : new_referenced_surfaces) { for (const SurfaceId& surface_id : new_referenced_surfaces) {
if (old_referenced_surfaces.count(surface_id) == 0) { if (old_referenced_surfaces.count(surface_id) == 0) {
references_to_add->push_back( references_to_add->push_back(
SurfaceReference(parent_surface_id, surface_id)); cc::SurfaceReference(parent_surface_id, surface_id));
} }
} }
} }
} // namespace cc } // namespace viz
...@@ -2,29 +2,29 @@ ...@@ -2,29 +2,29 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#ifndef CC_SURFACES_REFERENCED_SURFACE_TRACKER_H_ #ifndef COMPONENTS_VIZ_SERVICE_FRAME_SINKS_REFERENCED_SURFACE_TRACKER_H_
#define CC_SURFACES_REFERENCED_SURFACE_TRACKER_H_ #define COMPONENTS_VIZ_SERVICE_FRAME_SINKS_REFERENCED_SURFACE_TRACKER_H_
#include <vector> #include <vector>
#include "base/containers/flat_set.h" #include "base/containers/flat_set.h"
#include "cc/surfaces/surface_reference.h" #include "cc/surfaces/surface_reference.h"
#include "cc/surfaces/surfaces_export.h"
#include "components/viz/common/surfaces/surface_id.h" #include "components/viz/common/surfaces/surface_id.h"
#include "components/viz/service/viz_service_export.h"
namespace cc { namespace viz {
// Finds the difference between |old_referenced_surfaces| and // Finds the difference between |old_referenced_surfaces| and
// |new_referenced_surfaces|. Populates |references_to_add| and // |new_referenced_surfaces|. Populates |references_to_add| and
// |references_to_remove| based on the difference using |parent_surface_id| as // |references_to_remove| based on the difference using |parent_surface_id| as
// the parent for references. // the parent for references.
CC_SURFACES_EXPORT void GetSurfaceReferenceDifference( void VIZ_SERVICE_EXPORT GetSurfaceReferenceDifference(
const viz::SurfaceId& parent_surface_id, const SurfaceId& parent_surface_id,
const base::flat_set<viz::SurfaceId>& old_referenced_surfaces, const base::flat_set<SurfaceId>& old_referenced_surfaces,
const base::flat_set<viz::SurfaceId>& new_referenced_surfaces, const base::flat_set<SurfaceId>& new_referenced_surfaces,
std::vector<SurfaceReference>* references_to_add, std::vector<cc::SurfaceReference>* references_to_add,
std::vector<SurfaceReference>* references_to_remove); std::vector<cc::SurfaceReference>* references_to_remove);
} // namespace cc } // namespace viz
#endif // CC_SURFACES_REFERENCED_SURFACE_TRACKER_H_ #endif // COMPONENTS_VIZ_SERVICE_FRAME_SINKS_REFERENCED_SURFACE_TRACKER_H_
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "cc/surfaces/referenced_surface_tracker.h" #include "components/viz/service/frame_sinks/referenced_surface_tracker.h"
#include <memory> #include <memory>
...@@ -19,24 +19,23 @@ ...@@ -19,24 +19,23 @@
using testing::UnorderedElementsAre; using testing::UnorderedElementsAre;
using testing::IsEmpty; using testing::IsEmpty;
namespace cc { namespace viz {
namespace test { namespace test {
namespace { namespace {
constexpr viz::FrameSinkId kParentFrameSink(2, 1); constexpr FrameSinkId kParentFrameSink(2, 1);
constexpr viz::FrameSinkId kChildFrameSink1(65563, 1); constexpr FrameSinkId kChildFrameSink1(65563, 1);
constexpr viz::FrameSinkId kChildFrameSink2(65564, 1); constexpr FrameSinkId kChildFrameSink2(65564, 1);
base::flat_set<viz::SurfaceId> MakeReferenceSet( base::flat_set<SurfaceId> MakeReferenceSet(
std::initializer_list<viz::SurfaceId> surface_ids) { std::initializer_list<SurfaceId> surface_ids) {
return base::flat_set<viz::SurfaceId>(surface_ids, base::KEEP_FIRST_OF_DUPES); return base::flat_set<SurfaceId>(surface_ids, base::KEEP_FIRST_OF_DUPES);
} }
viz::SurfaceId MakeSurfaceId(const viz::FrameSinkId& frame_sink_id, SurfaceId MakeSurfaceId(const FrameSinkId& frame_sink_id, uint32_t local_id) {
uint32_t local_id) { return SurfaceId(
return viz::SurfaceId( frame_sink_id,
frame_sink_id, viz::LocalSurfaceId( LocalSurfaceId(local_id, base::UnguessableToken::Deserialize(0, 1u)));
local_id, base::UnguessableToken::Deserialize(0, 1u)));
} }
} // namespace } // namespace
...@@ -46,18 +45,18 @@ class ReferencedSurfaceTrackerTest : public testing::Test { ...@@ -46,18 +45,18 @@ class ReferencedSurfaceTrackerTest : public testing::Test {
ReferencedSurfaceTrackerTest() {} ReferencedSurfaceTrackerTest() {}
~ReferencedSurfaceTrackerTest() override {} ~ReferencedSurfaceTrackerTest() override {}
const std::vector<SurfaceReference>& references_to_remove() const { const std::vector<cc::SurfaceReference>& references_to_remove() const {
return references_to_remove_; return references_to_remove_;
} }
const std::vector<SurfaceReference>& references_to_add() const { const std::vector<cc::SurfaceReference>& references_to_add() const {
return references_to_add_; return references_to_add_;
} }
void UpdateReferences( void UpdateReferences(
const viz::SurfaceId& surface_id, const SurfaceId& surface_id,
const base::flat_set<viz::SurfaceId>& old_referenced_surfaces, const base::flat_set<SurfaceId>& old_referenced_surfaces,
const base::flat_set<viz::SurfaceId>& new_referenced_surfaces) { const base::flat_set<SurfaceId>& new_referenced_surfaces) {
references_to_add_.clear(); references_to_add_.clear();
references_to_remove_.clear(); references_to_remove_.clear();
GetSurfaceReferenceDifference(surface_id, old_referenced_surfaces, GetSurfaceReferenceDifference(surface_id, old_referenced_surfaces,
...@@ -66,16 +65,16 @@ class ReferencedSurfaceTrackerTest : public testing::Test { ...@@ -66,16 +65,16 @@ class ReferencedSurfaceTrackerTest : public testing::Test {
} }
private: private:
std::vector<SurfaceReference> references_to_add_; std::vector<cc::SurfaceReference> references_to_add_;
std::vector<SurfaceReference> references_to_remove_; std::vector<cc::SurfaceReference> references_to_remove_;
DISALLOW_COPY_AND_ASSIGN(ReferencedSurfaceTrackerTest); DISALLOW_COPY_AND_ASSIGN(ReferencedSurfaceTrackerTest);
}; };
TEST_F(ReferencedSurfaceTrackerTest, AddSurfaceReference) { TEST_F(ReferencedSurfaceTrackerTest, AddSurfaceReference) {
const viz::SurfaceId parent_id = MakeSurfaceId(kParentFrameSink, 1); const SurfaceId parent_id = MakeSurfaceId(kParentFrameSink, 1);
const viz::SurfaceId child_id1 = MakeSurfaceId(kChildFrameSink1, 1); const SurfaceId child_id1 = MakeSurfaceId(kChildFrameSink1, 1);
const SurfaceReference reference(parent_id, child_id1); const cc::SurfaceReference reference(parent_id, child_id1);
// Check that reference to |child_id1| is added. // Check that reference to |child_id1| is added.
UpdateReferences(parent_id, MakeReferenceSet({}), UpdateReferences(parent_id, MakeReferenceSet({}),
...@@ -85,9 +84,9 @@ TEST_F(ReferencedSurfaceTrackerTest, AddSurfaceReference) { ...@@ -85,9 +84,9 @@ TEST_F(ReferencedSurfaceTrackerTest, AddSurfaceReference) {
} }
TEST_F(ReferencedSurfaceTrackerTest, NoChangeToReferences) { TEST_F(ReferencedSurfaceTrackerTest, NoChangeToReferences) {
const viz::SurfaceId parent_id = MakeSurfaceId(kParentFrameSink, 1); const SurfaceId parent_id = MakeSurfaceId(kParentFrameSink, 1);
const viz::SurfaceId child_id1 = MakeSurfaceId(kChildFrameSink1, 1); const SurfaceId child_id1 = MakeSurfaceId(kChildFrameSink1, 1);
const SurfaceReference reference(parent_id, child_id1); const cc::SurfaceReference reference(parent_id, child_id1);
// Check that no references are added or removed. // Check that no references are added or removed.
auto referenced_surfaces = MakeReferenceSet({child_id1}); auto referenced_surfaces = MakeReferenceSet({child_id1});
...@@ -97,9 +96,9 @@ TEST_F(ReferencedSurfaceTrackerTest, NoChangeToReferences) { ...@@ -97,9 +96,9 @@ TEST_F(ReferencedSurfaceTrackerTest, NoChangeToReferences) {
} }
TEST_F(ReferencedSurfaceTrackerTest, RemoveSurfaceReference) { TEST_F(ReferencedSurfaceTrackerTest, RemoveSurfaceReference) {
const viz::SurfaceId parent_id = MakeSurfaceId(kParentFrameSink, 1); const SurfaceId parent_id = MakeSurfaceId(kParentFrameSink, 1);
const viz::SurfaceId child_id1 = MakeSurfaceId(kChildFrameSink1, 1); const SurfaceId child_id1 = MakeSurfaceId(kChildFrameSink1, 1);
const SurfaceReference reference(parent_id, child_id1); const cc::SurfaceReference reference(parent_id, child_id1);
// Check that reference to |child_id1| is removed. // Check that reference to |child_id1| is removed.
UpdateReferences(parent_id, MakeReferenceSet({child_id1}), UpdateReferences(parent_id, MakeReferenceSet({child_id1}),
...@@ -109,11 +108,11 @@ TEST_F(ReferencedSurfaceTrackerTest, RemoveSurfaceReference) { ...@@ -109,11 +108,11 @@ TEST_F(ReferencedSurfaceTrackerTest, RemoveSurfaceReference) {
} }
TEST_F(ReferencedSurfaceTrackerTest, RemoveOneOfTwoSurfaceReferences) { TEST_F(ReferencedSurfaceTrackerTest, RemoveOneOfTwoSurfaceReferences) {
const viz::SurfaceId parent_id = MakeSurfaceId(kParentFrameSink, 1); const SurfaceId parent_id = MakeSurfaceId(kParentFrameSink, 1);
const viz::SurfaceId child_id1_first = MakeSurfaceId(kChildFrameSink1, 1); const SurfaceId child_id1_first = MakeSurfaceId(kChildFrameSink1, 1);
const viz::SurfaceId child_id1_second = MakeSurfaceId(kChildFrameSink1, 2); const SurfaceId child_id1_second = MakeSurfaceId(kChildFrameSink1, 2);
const SurfaceReference reference_first(parent_id, child_id1_first); const cc::SurfaceReference reference_first(parent_id, child_id1_first);
const SurfaceReference reference_second(parent_id, child_id1_second); const cc::SurfaceReference reference_second(parent_id, child_id1_second);
// Check that reference to |child_id1_first| is removed and reference to // Check that reference to |child_id1_first| is removed and reference to
// |child_id1_second| is added. // |child_id1_second| is added.
...@@ -124,11 +123,11 @@ TEST_F(ReferencedSurfaceTrackerTest, RemoveOneOfTwoSurfaceReferences) { ...@@ -124,11 +123,11 @@ TEST_F(ReferencedSurfaceTrackerTest, RemoveOneOfTwoSurfaceReferences) {
} }
TEST_F(ReferencedSurfaceTrackerTest, AddTwoThenRemoveOneSurfaceReferences) { TEST_F(ReferencedSurfaceTrackerTest, AddTwoThenRemoveOneSurfaceReferences) {
const viz::SurfaceId parent_id = MakeSurfaceId(kParentFrameSink, 1); const SurfaceId parent_id = MakeSurfaceId(kParentFrameSink, 1);
const viz::SurfaceId child_id1 = MakeSurfaceId(kChildFrameSink1, 1); const SurfaceId child_id1 = MakeSurfaceId(kChildFrameSink1, 1);
const viz::SurfaceId child_id2 = MakeSurfaceId(kChildFrameSink2, 2); const SurfaceId child_id2 = MakeSurfaceId(kChildFrameSink2, 2);
const SurfaceReference reference1(parent_id, child_id1); const cc::SurfaceReference reference1(parent_id, child_id1);
const SurfaceReference reference2(parent_id, child_id2); const cc::SurfaceReference reference2(parent_id, child_id2);
// Check that first frame adds both surface references. // Check that first frame adds both surface references.
const auto initial_referenced = MakeReferenceSet({child_id1, child_id2}); const auto initial_referenced = MakeReferenceSet({child_id1, child_id2});
...@@ -145,4 +144,4 @@ TEST_F(ReferencedSurfaceTrackerTest, AddTwoThenRemoveOneSurfaceReferences) { ...@@ -145,4 +144,4 @@ TEST_F(ReferencedSurfaceTrackerTest, AddTwoThenRemoveOneSurfaceReferences) {
} }
} // namespace test } // namespace test
} // namespace cc } // namespace viz
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment