See ash/shelf/ShelfLayoutManager. It tracks the bounds of docked windows to inset by it.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/828394031639b3305df4fbae8a41d6c730003262 commit 828394031639b3305df4fbae8a41d6c730003262 Author: msw <msw@chromium.org> Date: Tue Aug 30 18:57:29 2016 mash: Port ash_sysui ShelfDelegateMus impl to mojo:ash. Migrate ash/sysui/shelf_delegate_mus.* to ash/mus. Move mash/shelf/public/interfaces to ash/public/interfaces. Merge shelf_constants.mojom and shelf.mojom. Add ShelfController/ShelfObserver multi-display support. Add ShelfObserver::OnShelfCreated mojo interface. Add EnumTraits for alignment and auto-hide behavior. Remove redundant ash/shelf_layout_manager* Inline RootWindowController::OnShelfWindowAvailable. BUG= 557406 , 614182 , 615155 , 616857 TEST=Mash shelf shows chrome icon; no cros changes. R=jamescook@chromium.org,sky@chromium.org TBR=tsepez@chromium.org Review-Url: https://codereview.chromium.org/2259153002 Cr-Commit-Position: refs/heads/master@{#415378} [modify] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/mus/BUILD.gn [modify] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/mus/DEPS [modify] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/mus/root_window_controller.cc [modify] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/mus/root_window_controller.h [add] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/mus/shelf_delegate_mus.cc [add] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/mus/shelf_delegate_mus.h [delete] https://crrev.com/316099ac4e77dabe98f7ea49cf5fdccab6f93876/ash/mus/shelf_layout_manager.cc [delete] https://crrev.com/316099ac4e77dabe98f7ea49cf5fdccab6f93876/ash/mus/shelf_layout_manager.h [delete] https://crrev.com/316099ac4e77dabe98f7ea49cf5fdccab6f93876/ash/mus/shelf_layout_manager_delegate.h [modify] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/mus/shell_delegate_mus.cc [modify] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/mus/test/wm_test_helper.cc [modify] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/mus/window_manager_application.cc [modify] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/mus/window_manager_application.h [modify] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/public/interfaces/BUILD.gn [rename] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/public/interfaces/shelf.mojom [add] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/public/interfaces/shelf.typemap [add] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/public/interfaces/shelf_enum_traits.h [add] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/public/interfaces/typemaps.gni [modify] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/sysui/BUILD.gn [delete] https://crrev.com/316099ac4e77dabe98f7ea49cf5fdccab6f93876/ash/sysui/shelf_delegate_mus.cc [delete] https://crrev.com/316099ac4e77dabe98f7ea49cf5fdccab6f93876/ash/sysui/shelf_delegate_mus.h [modify] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/sysui/shell_delegate_mus.cc [modify] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/sysui/sysui_application.cc [modify] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/ash/sysui/sysui_application.h [modify] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/chrome/app/mojo/chrome_manifest.json [modify] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/chrome/browser/ui/BUILD.gn [modify] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/chrome/browser/ui/ash/launcher/chrome_mash_shelf_controller.cc [modify] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/chrome/browser/ui/ash/launcher/chrome_mash_shelf_controller.h [delete] https://crrev.com/316099ac4e77dabe98f7ea49cf5fdccab6f93876/mash/shelf/public/interfaces/BUILD.gn [delete] https://crrev.com/316099ac4e77dabe98f7ea49cf5fdccab6f93876/mash/shelf/public/interfaces/shelf_constants.mojom [modify] https://crrev.com/828394031639b3305df4fbae8a41d6c730003262/mojo/public/tools/bindings/chromium_bindings_configuration.gni
Mike, is this still an issue?
Let's call this WontFix as per the removal of docked windows: https://codereview.chromium.org/2700523004/ (and issue 668355)
Comment 1 by sky@chromium.org
, May 23 2016