Context menu for multiple launchers
- move the code to create/open context menu from launcher to
root window controller.
- updated methods that access shelf/launcher state to take root window so that menu can specify on which display it is working on.
BUG=145978, 155776
TEST=none
Review URL: https://chromiumcodereview.appspot.com/11198078
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163459 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/ash/root_window_controller.h b/ash/root_window_controller.h
index 170c0c2..e264b3c 100644
--- a/ash/root_window_controller.h
+++ b/ash/root_window_controller.h
@@ -13,6 +13,10 @@
class SkBitmap;
+namespace gfx {
+class Point;
+}
+
namespace aura {
class EventFilter;
class RootWindow;
@@ -73,6 +77,10 @@
return status_area_widget_;
}
+ // Shows context menu at the |location_in_screen|. This uses
+ // |ShellDelegate::CreateContextMenu| to define the content of the menu.
+ void ShowContextMenu(const gfx::Point& location_in_screen);
+
// Returns the layout-manager for the appropriate modal-container. If the
// window is inside the lockscreen modal container, then the layout manager
// for that is returned. Otherwise the layout manager for the default modal
@@ -135,7 +143,11 @@
bool SetShelfAlignment(ShelfAlignment alignment);
ShelfAlignment GetShelfAlignment();
-private:
+ // Get the shelf's auto hide status.
+ bool IsShelfAutoHideMenuHideChecked();
+ ShelfAutoHideBehavior GetToggledShelfAutoHideBehavior();
+
+ private:
// Creates each of the special window containers that holds windows of various
// types in the shell UI.
void CreateContainersInRootWindow(aura::RootWindow* root_window);