ash: A first step for the uber tray.
As a first step, there are items to open settings, help pages, and an item to
allow [un]muting volume.
The resources have not been uploaded yet. That will be done in a separate CL to
allow this one to go through trybots etc.
This new uber-tray can be turned on at runtime using --ash-uber-tray flag.
BUG=110130
TEST=none yet. will be added when a little more fleshed out.
Review URL: https://chromiumcodereview.appspot.com/9463039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123799 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/ash/shell.h b/ash/shell.h
index db60bae3..5a57c240 100644
--- a/ash/shell.h
+++ b/ash/shell.h
@@ -42,6 +42,8 @@
class NestedDispatcherController;
class PowerButtonController;
class ShellDelegate;
+class SystemTrayDelegate;
+class SystemTray;
class VideoDetector;
class WindowCycleController;
@@ -188,11 +190,14 @@
}
ShellDelegate* delegate() { return delegate_.get(); }
+ SystemTrayDelegate* tray_delegate() { return tray_delegate_.get(); }
Launcher* launcher() { return launcher_.get(); }
internal::ShelfLayoutManager* shelf() const { return shelf_; }
+ SystemTray* tray() const { return tray_.get(); }
+
// Made available for tests.
internal::ShadowController* shadow_controller() {
return shadow_controller_.get();
@@ -240,6 +245,7 @@
#endif // !defined(OS_MACOSX)
scoped_ptr<ShellDelegate> delegate_;
+ scoped_ptr<SystemTrayDelegate> tray_delegate_;
scoped_ptr<Launcher> launcher_;
@@ -287,6 +293,10 @@
// Status area with clock, Wi-Fi signal, etc.
views::Widget* status_widget_;
+ // System tray with clock, Wi-Fi signal, etc. (a replacement in progress for
+ // |status_widget_|).
+ scoped_ptr<SystemTray> tray_;
+
// Offset between the corner of the status area and the corner of the screen
// when in the compact window mode.
gfx::Size compact_status_area_offset_;