WmWindowMus needs to support ShelfItemDetails (currently NOTIMPLEMENTED) WmWindowAura maps these to aura::Window properties. We might be able to simply use ui::Window properties similarly. See related CL: https://codereview.chromium.org/2211463002
msw@ any idea who might own? Assigned to you for the moment.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5b121135307b585ea60e1cd24d2f7cb75a7ee354 commit 5b121135307b585ea60e1cd24d2f7cb75a7ee354 Author: msw <msw@chromium.org> Date: Thu Sep 15 00:24:07 2016 mash: Remove shelf util functions; use WmWindow properties. Move aura window properties to WmWindowAura. (towards supporting [Shelf]WindowWatcher in mash) Cleanup ShelfItem and ShelfItemDetails structs. Remove unused ash support for UserManagerView BUG= 634150 TEST=Automated tests; no shelf functionality changes. R=sky@chromium.org Review-Url: https://codereview.chromium.org/2332393003 Cr-Commit-Position: refs/heads/master@{#418723} [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/ash/BUILD.gn [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/ash/aura/wm_window_aura.cc [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/ash/common/shelf/shelf_constants.cc [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/ash/common/shelf/shelf_constants.h [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/ash/common/shelf/shelf_item_types.cc [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/ash/common/shelf/shelf_item_types.h [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/ash/metrics/user_metrics_recorder_unittest.cc [delete] https://crrev.com/0a7922abb655a17a03ee108190b017b9a72ab899/ash/shelf/shelf_util.cc [delete] https://crrev.com/0a7922abb655a17a03ee108190b017b9a72ab899/ash/shelf/shelf_util.h [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/ash/shell/window_watcher.cc [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/ash/test/test_shelf_delegate.cc [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/ash/wm/panels/panel_layout_manager_unittest.cc [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/ash/wm/panels/panel_window_resizer_unittest.cc [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/chrome/browser/ui/ash/launcher/arc_app_launcher_browsertest.cc [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/chrome/browser/ui/ash/launcher/arc_app_window_launcher_controller.cc [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/chrome/browser/ui/ash/launcher/browser_shortcut_launcher_item_controller.cc [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/chrome/browser/ui/ash/launcher/browser_status_monitor.cc [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_browsertest.cc [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/chrome/browser/ui/ash/launcher/extension_app_window_launcher_controller.cc [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/chrome/browser/ui/ash/launcher/extension_app_window_launcher_controller.h [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/chrome/browser/ui/ash/launcher/multi_profile_browser_status_monitor.cc [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/chrome/browser/ui/views/profiles/user_manager_view.cc [modify] https://crrev.com/5b121135307b585ea60e1cd24d2f7cb75a7ee354/chrome/browser/ui/views/task_manager_view.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6ab444005ded90d3b70ad8bd086888307dcc924a commit 6ab444005ded90d3b70ad8bd086888307dcc924a Author: msw <msw@chromium.org> Date: Thu Sep 29 09:40:09 2016 mash: Support ShelfWindowWatcher via ShelfItem properties. Show mash shelf items for open windows via ShelfWindowWatcher. Decompose ash::ShelfItemDetails into several window properties. Use the existing window title, with new WmWindow setters. Add window icon and shelf item type properties. Support "Settings" tooltip instead of "Google Chrome - Settings". Use WmWindow directly in ShelfWindowWatcherItemDelegate. (don't go through wm::WindowState helpers) TODO: combine mash browser window items. TODO: fix crash when clicking new shelf items, surfaced here. TODO: fix mash settings window title and icon. TODO: aura::Window::SetTitle calls observers always BUG= 634150 TEST=No cros regresssions; mash shelf shows items for open windows. R=jamescook@chromium.org,tsepez@chromium.org Review-Url: https://codereview.chromium.org/2357143004 Cr-Commit-Position: refs/heads/master@{#421788} [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/ash/aura/wm_window_aura.cc [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/ash/aura/wm_window_aura.h [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/ash/common/shelf/shelf_constants.h [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/ash/common/shelf/shelf_item_types.cc [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/ash/common/shelf/shelf_item_types.h [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/ash/common/shelf/shelf_window_watcher.cc [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/ash/common/shelf/shelf_window_watcher.h [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/ash/common/shelf/shelf_window_watcher_item_delegate.cc [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/ash/common/shelf/shelf_window_watcher_unittest.cc [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/ash/common/wm_window.h [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/ash/common/wm_window_property.h [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/ash/mus/bridge/wm_window_mus.cc [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/ash/mus/bridge/wm_window_mus.h [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/ash/mus/property_util.cc [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/ash/mus/property_util.h [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/chrome/browser/ui/ash/launcher/browser_status_monitor.cc [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/chrome/browser/ui/ash/launcher/multi_profile_browser_status_monitor.cc [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/chrome/browser/ui/views/task_manager_view.cc [modify] https://crrev.com/6ab444005ded90d3b70ad8bd086888307dcc924a/services/ui/public/interfaces/window_manager.mojom
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/745fe06919e14e926d3464f64bc2f0d91b00b326 commit 745fe06919e14e926d3464f64bc2f0d91b00b326 Author: msw <msw@chromium.org> Date: Mon Oct 03 23:09:19 2016 mash: Fix shelf window property use in Chrome. Support the ShelfID window property in mash. (ShelfWindowWatcher uses this to find existing items) Allow WM clients to set ShelfItemType and ShelfIconResourceId. Define aura property keys in a shared location for chrome and ash. Notify WmWindowObserver of certain white-listed property changes. Add WmWindowProperty::INVALID_PROPERTY for key translation checks. Add property utility functions to c/b/ui/ash for aura/ui windows. Use SettingsWindowObserver in ChromeLauncherController (cash&mash). Use separate aura/ui window trackers to watch for name changes. (Can't use ash::WmWindow in Chrome... depends on ash internals) Early return from Window::SetTitle if the values match. TODO: Use ash/mus/property_util.h (move some to ash/public/cpp)? TODO: Automatically propagate some props with an observer? BUG= 634150 TEST=chrome --mash shows task manager and settings shelf icons. R=jamescook@chromium.org,sky@chromium.org,tsepez@chromium.org, Review-Url: https://codereview.chromium.org/2381183002 Cr-Commit-Position: refs/heads/master@{#422588} [modify] https://crrev.com/745fe06919e14e926d3464f64bc2f0d91b00b326/ash/aura/wm_window_aura.cc [modify] https://crrev.com/745fe06919e14e926d3464f64bc2f0d91b00b326/ash/common/wm_window_property.h [modify] https://crrev.com/745fe06919e14e926d3464f64bc2f0d91b00b326/ash/mus/bridge/wm_window_mus.cc [modify] https://crrev.com/745fe06919e14e926d3464f64bc2f0d91b00b326/ash/mus/window_manager.cc [modify] https://crrev.com/745fe06919e14e926d3464f64bc2f0d91b00b326/ash/wm/window_properties.cc [modify] https://crrev.com/745fe06919e14e926d3464f64bc2f0d91b00b326/ash/wm/window_properties.h [modify] https://crrev.com/745fe06919e14e926d3464f64bc2f0d91b00b326/chrome/browser/ui/BUILD.gn [modify] https://crrev.com/745fe06919e14e926d3464f64bc2f0d91b00b326/chrome/browser/ui/ash/launcher/browser_status_monitor.cc [modify] https://crrev.com/745fe06919e14e926d3464f64bc2f0d91b00b326/chrome/browser/ui/ash/launcher/browser_status_monitor.h [modify] https://crrev.com/745fe06919e14e926d3464f64bc2f0d91b00b326/chrome/browser/ui/ash/launcher/chrome_launcher_controller.h [add] https://crrev.com/745fe06919e14e926d3464f64bc2f0d91b00b326/chrome/browser/ui/ash/launcher/settings_window_observer.cc [add] https://crrev.com/745fe06919e14e926d3464f64bc2f0d91b00b326/chrome/browser/ui/ash/launcher/settings_window_observer.h [add] https://crrev.com/745fe06919e14e926d3464f64bc2f0d91b00b326/chrome/browser/ui/ash/property_util.cc [add] https://crrev.com/745fe06919e14e926d3464f64bc2f0d91b00b326/chrome/browser/ui/ash/property_util.h [modify] https://crrev.com/745fe06919e14e926d3464f64bc2f0d91b00b326/chrome/browser/ui/views/task_manager_view.cc [modify] https://crrev.com/745fe06919e14e926d3464f64bc2f0d91b00b326/services/ui/public/interfaces/window_manager.mojom [modify] https://crrev.com/745fe06919e14e926d3464f64bc2f0d91b00b326/ui/aura/window.cc
This is generally fixed.
Comment 1 by rjkroege@chromium.org
, Aug 8 2016