aura: Refactor occlusion info update
- Create a WindowOcclusionChangeBuilder interface for batch
updating occlusion info;
- Move existing update logic in WindowOcclusionTracker into
DefaultWindowOcclusionChangeBuilder;
- Change WindowOcclusionTracker to use WindowOcclusionChangeBuilder;
This is a pre-flight CL to group occlusion change in batches per
WindowTree. In the follow-up, WS will provide the factory to create
batches that dispatch occlusion change to each tree with a single
mojo call.
Bug: 910303
Change-Id: I45a83af3895291b04e899e4e15437fbd5aa84d60
Reviewed-on: https://chromium-review.googlesource.com/c/1379055
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#617516}
diff --git a/ui/aura/BUILD.gn b/ui/aura/BUILD.gn
index ed193c1..131a694 100644
--- a/ui/aura/BUILD.gn
+++ b/ui/aura/BUILD.gn
@@ -79,6 +79,7 @@
"window_event_dispatcher.h",
"window_event_dispatcher_observer.h",
"window_observer.h",
+ "window_occlusion_change_builder.h",
"window_occlusion_tracker.h",
"window_port.h",
"window_targeter.h",
@@ -146,6 +147,7 @@
"window_delegate.cc",
"window_event_dispatcher.cc",
"window_observer.cc",
+ "window_occlusion_change_builder.cc",
"window_occlusion_tracker.cc",
"window_port.cc",
"window_port_for_shutdown.cc",
@@ -394,6 +396,7 @@
"test/aura_test_suite.h",
"test/run_all_unittests.cc",
"window_event_dispatcher_unittest.cc",
+ "window_occlusion_change_builder_unittest.cc",
"window_occlusion_tracker_unittest.cc",
"window_targeter_unittest.cc",
"window_tree_host_unittest.cc",