New issue
Advanced search Search tips

Issue 910303 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 19
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 878200



Sign in to add a comment

keep occlusion change in single procss mash in one transaction

Project Member Reported by osh...@chromium.org, Nov 29

Issue description

currently occlusion change in snigle process mash happens per window basisc, which is a bit problematic because:
1) It makes it difficult to know the global occlusion state after
   window operation.
2) which also makes it difficult to write unit tests.

I'd be better if all occlusion state changes are grouped into one transaction instead.
 
Status: Assigned (was: Untriaged)
Labels: Proj-Mash-SingleProcess
Project Member

Comment 3 by bugdroid1@chromium.org, Nov 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a06485ba70afc41ab805c85e8caaf0d110cf6e0c

commit a06485ba70afc41ab805c85e8caaf0d110cf6e0c
Author: Mitsuru Oshima <oshima@chromium.org>
Date: Thu Nov 29 23:25:39 2018

Skip WindowSelectorControllerTest.OcclustionTest in single process mash

This also increased the timeout for test because it can take longer on asan.

TBR=hiroshige@chromium.org, xiyuan@chromium.org

Bug:  910303 ,  910105 
Test: OcclustionTest is skipped in single process mash
Change-Id: I669d7343255980dd540c98aa645e5f14c641c371
Reviewed-on: https://chromium-review.googlesource.com/c/1355883
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Commit-Queue: Mitsuru Oshima <oshima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612429}
[modify] https://crrev.com/a06485ba70afc41ab805c85e8caaf0d110cf6e0c/ash/wm/overview/window_selector_controller_unittest.cc
[modify] https://crrev.com/a06485ba70afc41ab805c85e8caaf0d110cf6e0c/testing/buildbot/filters/chromeos.single_process_mash.ash_unittests.filter

Blocking: 878200
Project Member

Comment 5 by bugdroid1@chromium.org, Dec 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/816082ddf43c7d78aea9853617ff659f2982078c

commit 816082ddf43c7d78aea9853617ff659f2982078c
Author: Xiyuan Xia <xiyuan@chromium.org>
Date: Wed Dec 12 20:57:59 2018

mash: Enable WindowSelectorControllerTest.OcclustionTest

The test creates windows on ash side, which uses the Shell's
env in local mode. Hence, occlusion state change happens
synchronously and does not depend on grouping occlusion state
change.

Bug:  910303 
Change-Id: I99765acb3818295cbb96cef212cea91e06929704
Reviewed-on: https://chromium-review.googlesource.com/c/1372662
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616030}
[modify] https://crrev.com/816082ddf43c7d78aea9853617ff659f2982078c/ash/BUILD.gn
[modify] https://crrev.com/816082ddf43c7d78aea9853617ff659f2982078c/testing/buildbot/chromium.chromiumos.json
[modify] https://crrev.com/816082ddf43c7d78aea9853617ff659f2982078c/testing/buildbot/chromium.memory.json
[modify] https://crrev.com/816082ddf43c7d78aea9853617ff659f2982078c/testing/buildbot/filters/BUILD.gn
[delete] https://crrev.com/674591d696ee953056168b122e14b01df290a3fb/testing/buildbot/filters/chromeos.single_process_mash.ash_unittests.filter
[modify] https://crrev.com/816082ddf43c7d78aea9853617ff659f2982078c/testing/buildbot/test_suites.pyl

I think this still needs to be addressed to solve issue like this : crbug.com/911213
Yep, I will figure out something.
Project Member

Comment 8 by bugdroid1@chromium.org, Dec 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/40cd41d149eef46fdc4709ea4b2465492093e9b4

commit 40cd41d149eef46fdc4709ea4b2465492093e9b4
Author: Xiyuan Xia <xiyuan@chromium.org>
Date: Tue Dec 18 16:22:43 2018

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}
[modify] https://crrev.com/40cd41d149eef46fdc4709ea4b2465492093e9b4/ui/aura/BUILD.gn
[modify] https://crrev.com/40cd41d149eef46fdc4709ea4b2465492093e9b4/ui/aura/window.h
[add] https://crrev.com/40cd41d149eef46fdc4709ea4b2465492093e9b4/ui/aura/window_occlusion_change_builder.cc
[add] https://crrev.com/40cd41d149eef46fdc4709ea4b2465492093e9b4/ui/aura/window_occlusion_change_builder.h
[add] https://crrev.com/40cd41d149eef46fdc4709ea4b2465492093e9b4/ui/aura/window_occlusion_change_builder_unittest.cc
[modify] https://crrev.com/40cd41d149eef46fdc4709ea4b2465492093e9b4/ui/aura/window_occlusion_tracker.cc
[modify] https://crrev.com/40cd41d149eef46fdc4709ea4b2465492093e9b4/ui/aura/window_occlusion_tracker.h

Project Member

Comment 9 by bugdroid1@chromium.org, Dec 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3cdac32183aa44f45e31e63bc2956fcfc5a41c36

commit 3cdac32183aa44f45e31e63bc2956fcfc5a41c36
Author: Xiyuan Xia <xiyuan@chromium.org>
Date: Wed Dec 19 19:34:50 2018

ws: Update occlusion change in one mojo call

- Update WindowTreeClient mojo interface to pass multiple occlusion
  changes;
- Add a ws::WindowOcclusionChangeBuilder to group and dispatch
  occlusion changes per WindowTree;

Bug:  910303 
Change-Id: Ie768ab312248a2aab47360aa50771ebd73638e68
Reviewed-on: https://chromium-review.googlesource.com/c/1381150
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#617911}
[modify] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/content/renderer/mus/renderer_window_tree_client.cc
[modify] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/content/renderer/mus/renderer_window_tree_client.h
[modify] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/services/ws/BUILD.gn
[modify] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/services/ws/public/mojom/window_tree.mojom
[modify] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/services/ws/test_change_tracker.cc
[modify] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/services/ws/test_change_tracker.h
[modify] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/services/ws/test_window_tree_client.cc
[modify] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/services/ws/test_window_tree_client.h
[modify] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/services/ws/window_delegate_impl.cc
[modify] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/services/ws/window_delegate_impl.h
[add] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/services/ws/window_occlusion_change_builder.cc
[add] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/services/ws/window_occlusion_change_builder.h
[modify] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/services/ws/window_service.cc
[modify] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/services/ws/window_tree.cc
[modify] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/services/ws/window_tree.h
[modify] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/services/ws/window_tree_unittest.cc
[modify] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/ui/aura/mus/window_tree_client.cc
[modify] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/ui/aura/mus/window_tree_client.h
[modify] https://crrev.com/3cdac32183aa44f45e31e63bc2956fcfc5a41c36/ui/aura/mus/window_tree_client_unittest.cc

Status: Fixed (was: Assigned)

Sign in to add a comment