summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-16 16:37:30 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-16 16:37:30 +0000
commit8dd791d08b42a61976626b5a8e2a58a4e66efea2 (patch)
treee32f42b471f186d7b673c2ec2183a413e50656e9 /ui
parent527316365ae362d83de28af7c509757b503e38af (diff)
downloadchromium_src-8dd791d08b42a61976626b5a8e2a58a4e66efea2.zip
chromium_src-8dd791d08b42a61976626b5a8e2a58a4e66efea2.tar.gz
chromium_src-8dd791d08b42a61976626b5a8e2a58a4e66efea2.tar.bz2
Adds some features to the shell:
- desktop background - stub launcher - clicking the background opens test windows BUG=none TEST=none Review URL: http://codereview.chromium.org/7903018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101496 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui')
-rw-r--r--ui/aura/demo/demo_main.cc3
-rw-r--r--ui/aura/desktop.cc2
-rw-r--r--ui/aura/window.cc10
-rw-r--r--ui/aura/window.h6
-rw-r--r--ui/aura/window_delegate.h5
-rw-r--r--ui/aura/window_unittest.cc2
-rw-r--r--ui/aura_shell/aura_shell.gyp14
-rw-r--r--ui/aura_shell/aura_shell_main.cc33
-rw-r--r--ui/aura_shell/desktop_background_view.cc31
-rw-r--r--ui/aura_shell/desktop_background_view.h7
-rw-r--r--ui/aura_shell/desktop_layout_manager.cc16
-rw-r--r--ui/aura_shell/desktop_layout_manager.h11
-rw-r--r--ui/aura_shell/launcher/launcher_button.cc18
-rw-r--r--ui/aura_shell/launcher/launcher_button.h26
-rw-r--r--ui/aura_shell/launcher/launcher_view.cc50
-rw-r--r--ui/aura_shell/launcher/launcher_view.h41
-rw-r--r--ui/aura_shell/sample_window.cc38
-rw-r--r--ui/aura_shell/sample_window.h35
-rw-r--r--ui/aura_shell/shell_factory.h26
-rw-r--r--ui/aura_shell/status_area_view.cc5
-rw-r--r--ui/aura_shell/status_area_view.h4
-rw-r--r--ui/gfx/screen_aura.cc1
-rw-r--r--ui/resources/aura/applist.pngbin0 -> 1181 bytes
-rw-r--r--ui/resources/aura/browser_instance.pngbin0 -> 1446 bytes
-rw-r--r--ui/resources/aura/chromium-48.pngbin0 -> 1790 bytes
-rw-r--r--ui/resources/aura/damask.pngbin0 -> 20400 bytes
-rw-r--r--ui/resources/aura/statusbar.pngbin0 -> 3680 bytes
-rw-r--r--ui/resources/ui_resources.grd8
28 files changed, 374 insertions, 18 deletions
diff --git a/ui/aura/demo/demo_main.cc b/ui/aura/demo/demo_main.cc
index 25f405b..d99dc2a 100644
--- a/ui/aura/demo/demo_main.cc
+++ b/ui/aura/demo/demo_main.cc
@@ -29,6 +29,9 @@ class DemoWindowDelegate : public aura::WindowDelegate {
public:
explicit DemoWindowDelegate(SkColor color) : color_(color) {}
+ // Overridden from WindowDelegate:
+ virtual void OnBoundsChanged(const gfx::Rect& old_bounds,
+ const gfx::Rect& new_bounds) OVERRIDE {}
virtual void OnFocus() OVERRIDE {}
virtual void OnBlur() OVERRIDE {}
virtual bool OnKeyEvent(aura::KeyEvent* event) OVERRIDE {
diff --git a/ui/aura/desktop.cc b/ui/aura/desktop.cc
index 9e7cca2..aadcdef 100644
--- a/ui/aura/desktop.cc
+++ b/ui/aura/desktop.cc
@@ -18,7 +18,7 @@ namespace aura {
Desktop* Desktop::instance_ = NULL;
Desktop::Desktop()
- : host_(aura::DesktopHost::Create(gfx::Rect(200, 200, 1024, 768))),
+ : host_(aura::DesktopHost::Create(gfx::Rect(200, 200, 1280, 1024))),
ALLOW_THIS_IN_INITIALIZER_LIST(schedule_paint_(this)) {
DCHECK(MessageLoopForUI::current())
<< "The UI message loop must be initialized first.";
diff --git a/ui/aura/window.cc b/ui/aura/window.cc
index 561d605..e1197da 100644
--- a/ui/aura/window.cc
+++ b/ui/aura/window.cc
@@ -9,6 +9,7 @@
#include "base/logging.h"
#include "ui/aura/desktop.h"
#include "ui/aura/event.h"
+#include "ui/aura/layout_manager.h"
#include "ui/aura/window_delegate.h"
#include "ui/aura/window_manager.h"
#include "ui/gfx/canvas_skia.h"
@@ -59,12 +60,21 @@ void Window::SetVisibility(Visibility visibility) {
SchedulePaint();
}
+void Window::SetLayoutManager(LayoutManager* layout_manager) {
+ layout_manager_.reset(layout_manager);
+}
+
void Window::SetBounds(const gfx::Rect& bounds, int anim_ms) {
// TODO: support anim_ms
// TODO: funnel this through the Desktop.
bool was_move = bounds_.size() == bounds.size();
+ gfx::Rect old_bounds = bounds_;
bounds_ = bounds;
layer_->SetBounds(bounds);
+ if (layout_manager_.get())
+ layout_manager_->OnWindowResized();
+ if (delegate_)
+ delegate_->OnBoundsChanged(old_bounds, bounds_);
if (was_move)
SchedulePaintInRect(gfx::Rect());
else
diff --git a/ui/aura/window.h b/ui/aura/window.h
index de4189f..548991e 100644
--- a/ui/aura/window.h
+++ b/ui/aura/window.h
@@ -25,6 +25,7 @@ namespace aura {
class Desktop;
class KeyEvent;
+class LayoutManager;
class MouseEvent;
class WindowDelegate;
class WindowManager;
@@ -65,6 +66,10 @@ class AURA_EXPORT Window : public ui::LayerDelegate {
void SetVisibility(Visibility visibility);
Visibility visibility() const { return visibility_; }
+ // Assigns a LayoutManager to size and place child windows.
+ // The Window takes ownership of the LayoutManager.
+ void SetLayoutManager(LayoutManager* layout_manager);
+
// Changes the bounds of the window.
void SetBounds(const gfx::Rect& bounds, int anim_ms);
const gfx::Rect& bounds() const { return bounds_; }
@@ -155,6 +160,7 @@ class AURA_EXPORT Window : public ui::LayerDelegate {
int id_;
scoped_ptr<WindowManager> window_manager_;
+ scoped_ptr<LayoutManager> layout_manager_;
void* user_data_;
diff --git a/ui/aura/window_delegate.h b/ui/aura/window_delegate.h
index b7b02e0..956763b 100644
--- a/ui/aura/window_delegate.h
+++ b/ui/aura/window_delegate.h
@@ -9,6 +9,7 @@
namespace gfx {
class Canvas;
class Point;
+class Rect;
}
namespace aura {
@@ -19,6 +20,10 @@ class MouseEvent;
// Delegate interface for aura::Window.
class WindowDelegate {
public:
+ // Called when the Window's position and/or size changes.
+ virtual void OnBoundsChanged(const gfx::Rect& old_bounds,
+ const gfx::Rect& new_bounds) = 0;
+
// Sent to the Window's delegate when the Window gains or loses focus.
virtual void OnFocus() = 0;
virtual void OnBlur() = 0;
diff --git a/ui/aura/window_unittest.cc b/ui/aura/window_unittest.cc
index 82b9c0d..532a44a 100644
--- a/ui/aura/window_unittest.cc
+++ b/ui/aura/window_unittest.cc
@@ -30,6 +30,8 @@ class WindowDelegateImpl : public WindowDelegate {
virtual ~WindowDelegateImpl() {}
// Overriden from WindowDelegate:
+ virtual void OnBoundsChanged(const gfx::Rect& old_bounds,
+ const gfx::Rect& new_bounds) OVERRIDE {}
virtual void OnFocus() OVERRIDE {}
virtual void OnBlur() OVERRIDE {}
virtual bool OnKeyEvent(KeyEvent* event) OVERRIDE {
diff --git a/ui/aura_shell/aura_shell.gyp b/ui/aura_shell/aura_shell.gyp
index 75e65fe..77f947e 100644
--- a/ui/aura_shell/aura_shell.gyp
+++ b/ui/aura_shell/aura_shell.gyp
@@ -25,10 +25,24 @@
'../ui.gyp:ui',
'../ui.gyp:ui_resources',
'../ui.gyp:ui_resources_standard',
+ '../aura/aura.gyp:aura',
'../../views/views.gyp:views',
],
'sources': [
# All .cc, .h under views, except unittests
+ 'desktop_background_view.cc',
+ 'desktop_background_view.h',
+ 'desktop_layout_manager.cc',
+ 'desktop_layout_manager.h',
+ 'launcher/launcher_view.cc',
+ 'launcher/launcher_view.h',
+ 'launcher/launcher_button.cc',
+ 'launcher/launcher_button.h',
+ 'sample_window.cc',
+ 'sample_window.h',
+ 'shell_factory.h',
+ 'status_area_view.cc',
+ 'status_area_view.h',
],
},
{
diff --git a/ui/aura_shell/aura_shell_main.cc b/ui/aura_shell/aura_shell_main.cc
index aad7bf2..c7cc81f 100644
--- a/ui/aura_shell/aura_shell_main.cc
+++ b/ui/aura_shell/aura_shell_main.cc
@@ -7,22 +7,27 @@
#include "base/i18n/icu_util.h"
#include "base/memory/scoped_ptr.h"
#include "base/message_loop.h"
-#include "third_party/skia/include/core/SkXfermode.h"
#include "ui/aura/desktop.h"
-#include "ui/aura/desktop_host.h"
-#include "ui/aura/window.h"
-#include "ui/aura/window_delegate.h"
+#include "ui/aura_shell/desktop_layout_manager.h"
+#include "ui/aura_shell/shell_factory.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/base/ui_base_paths.h"
-#include "ui/gfx/canvas.h"
-#include "ui/gfx/canvas_skia.h"
-#include "ui/gfx/rect.h"
-#include "views/widget/widget.h"
-#include "views/widget/widget_delegate.h"
-
-#if !defined(OS_WIN)
-#include "ui/aura/hit_test.h"
-#endif
+
+namespace aura_shell {
+namespace internal {
+
+void InitDesktopWindow() {
+ aura::Window* desktop_window = aura::Desktop::GetInstance()->window();
+ DesktopLayoutManager* desktop_layout =
+ new DesktopLayoutManager(desktop_window);
+ desktop_window->SetLayoutManager(desktop_layout);
+
+ desktop_layout->set_background_widget(CreateDesktopBackground());
+ desktop_layout->set_launcher_widget(CreateLauncher());
+}
+
+} // namespace internal
+} // namespace aura_shell
int main(int argc, char** argv) {
CommandLine::Init(argc, argv);
@@ -41,6 +46,8 @@ int main(int argc, char** argv) {
// Create the message-loop here before creating the desktop.
MessageLoop message_loop(MessageLoop::TYPE_UI);
+ aura_shell::internal::InitDesktopWindow();
+
aura::Desktop::GetInstance()->Run();
delete aura::Desktop::GetInstance();
diff --git a/ui/aura_shell/desktop_background_view.cc b/ui/aura_shell/desktop_background_view.cc
index 613a85e27..d8d70ce 100644
--- a/ui/aura_shell/desktop_background_view.cc
+++ b/ui/aura_shell/desktop_background_view.cc
@@ -5,17 +5,21 @@
#include "ui/aura_shell/desktop_background_view.h"
#include "grit/ui_resources.h"
+#include "ui/aura/desktop.h"
+#include "ui/aura_shell/sample_window.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/gfx/canvas.h"
+#include "views/widget/widget.h"
+
+namespace aura_shell {
+namespace internal {
////////////////////////////////////////////////////////////////////////////////
// DesktopBackgroundView, public:
DesktopBackgroundView::DesktopBackgroundView() {
- /*
wallpaper_ = *ResourceBundle::GetSharedInstance().GetBitmapNamed(
IDR_AURA_WALLPAPER);
- */
}
DesktopBackgroundView::~DesktopBackgroundView() {
@@ -25,9 +29,30 @@ DesktopBackgroundView::~DesktopBackgroundView() {
// DesktopBackgroundView, views::View overrides:
void DesktopBackgroundView::OnPaint(gfx::Canvas* canvas) {
- //canvas->TileImageInt(wallpaper_, 0, 0, width(), height());
+ canvas->TileImageInt(wallpaper_, 0, 0, width(), height());
}
void DesktopBackgroundView::OnBoundsChanged(const gfx::Rect& previous_bounds) {
LOG(WARNING) << "Here";
}
+
+bool DesktopBackgroundView::OnMousePressed(const views::MouseEvent& event) {
+ SampleWindow::CreateSampleWindow();
+ return true;
+}
+
+views::Widget* CreateDesktopBackground() {
+ views::Widget* desktop_widget = new views::Widget;
+ views::Widget::InitParams params(views::Widget::InitParams::TYPE_CONTROL);
+ params.bounds = gfx::Rect(0, 0, 1024, 768);
+ params.parent = aura::Desktop::GetInstance()->window();
+ DesktopBackgroundView* view = new DesktopBackgroundView;
+ params.delegate = view;
+ desktop_widget->Init(params);
+ desktop_widget->SetContentsView(view);
+ desktop_widget->Show();
+ return desktop_widget;
+}
+
+} // namespace internal
+} // namespace aura_shell
diff --git a/ui/aura_shell/desktop_background_view.h b/ui/aura_shell/desktop_background_view.h
index 04e515a..0b1c3662 100644
--- a/ui/aura_shell/desktop_background_view.h
+++ b/ui/aura_shell/desktop_background_view.h
@@ -10,6 +10,9 @@
#include "views/widget/widget_delegate.h"
#include "third_party/skia/include/core/SkBitmap.h"
+namespace aura_shell {
+namespace internal {
+
class DesktopBackgroundView : public views::WidgetDelegateView {
public:
DesktopBackgroundView();
@@ -19,10 +22,14 @@ class DesktopBackgroundView : public views::WidgetDelegateView {
// Overridden from views::View:
virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE;
virtual void OnBoundsChanged(const gfx::Rect& previous_bounds) OVERRIDE;
+ virtual bool OnMousePressed(const views::MouseEvent& event) OVERRIDE;
SkBitmap wallpaper_;
DISALLOW_COPY_AND_ASSIGN(DesktopBackgroundView);
};
+} // namespace internal
+} // namespace aura_shell
+
#endif // UI_AURA_SHELL_DESKTOP_BACKGROUND_VIEW_H_
diff --git a/ui/aura_shell/desktop_layout_manager.cc b/ui/aura_shell/desktop_layout_manager.cc
index ddcb3b1..9dca12b 100644
--- a/ui/aura_shell/desktop_layout_manager.cc
+++ b/ui/aura_shell/desktop_layout_manager.cc
@@ -7,12 +7,16 @@
#include "ui/aura/window.h"
#include "views/widget/widget.h"
+namespace aura_shell {
+namespace internal {
+
////////////////////////////////////////////////////////////////////////////////
// DesktopLayoutManager, public:
DesktopLayoutManager::DesktopLayoutManager(aura::Window* owner)
: owner_(owner),
- background_widget_(NULL) {
+ background_widget_(NULL),
+ launcher_widget_(NULL) {
}
DesktopLayoutManager::~DesktopLayoutManager() {
@@ -24,4 +28,14 @@ DesktopLayoutManager::~DesktopLayoutManager() {
void DesktopLayoutManager::OnWindowResized() {
background_widget_->SetBounds(
gfx::Rect(owner_->bounds().width(), owner_->bounds().height()));
+
+ gfx::Rect launcher_bounds = launcher_widget_->GetWindowScreenBounds();
+ launcher_widget_->SetBounds(
+ gfx::Rect(owner_->bounds().width() / 2 - launcher_bounds.width() / 2,
+ owner_->bounds().bottom() - launcher_bounds.height(),
+ launcher_bounds.width(),
+ launcher_bounds.height()));
}
+
+} // namespace internal
+} // namespace aura_shell
diff --git a/ui/aura_shell/desktop_layout_manager.h b/ui/aura_shell/desktop_layout_manager.h
index 08ec341..db0a7a2 100644
--- a/ui/aura_shell/desktop_layout_manager.h
+++ b/ui/aura_shell/desktop_layout_manager.h
@@ -17,6 +17,9 @@ namespace views {
class Widget;
}
+namespace aura_shell {
+namespace internal {
+
class DesktopLayoutManager : public aura::LayoutManager {
public:
explicit DesktopLayoutManager(aura::Window* owner);
@@ -26,14 +29,22 @@ class DesktopLayoutManager : public aura::LayoutManager {
background_widget_ = background_widget;
}
+ void set_launcher_widget(views::Widget* launcher_widget) {
+ launcher_widget_ = launcher_widget;
+ }
+
private:
// Overridden from aura::LayoutManager:
virtual void OnWindowResized() OVERRIDE;
aura::Window* owner_;
views::Widget* background_widget_;
+ views::Widget* launcher_widget_;
DISALLOW_COPY_AND_ASSIGN(DesktopLayoutManager);
};
+} // namespace internal
+} // namespace aura_shell
+
#endif // UI_AURA_SHELL_DESKTOP_LAYOUT_MANAGER_H_
diff --git a/ui/aura_shell/launcher/launcher_button.cc b/ui/aura_shell/launcher/launcher_button.cc
new file mode 100644
index 0000000..c2048b0
--- /dev/null
+++ b/ui/aura_shell/launcher/launcher_button.cc
@@ -0,0 +1,18 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "ui/aura_shell/launcher/launcher_button.h"
+
+namespace aura_shell {
+namespace internal {
+
+LauncherButton::LauncherButton(views::ButtonListener* listener)
+ : views::ImageButton(listener) {
+}
+
+LauncherButton::~LauncherButton() {
+}
+
+} // namespace internal
+} // namespace aura_shell
diff --git a/ui/aura_shell/launcher/launcher_button.h b/ui/aura_shell/launcher/launcher_button.h
new file mode 100644
index 0000000..edbab5e
--- /dev/null
+++ b/ui/aura_shell/launcher/launcher_button.h
@@ -0,0 +1,26 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef UI_AURA_SHELL_LAUNCHER_BUTTON_H_
+#define UI_AURA_SHELL_LAUNCHER_BUTTON_H_
+#pragma once
+
+#include "views/controls/button/image_button.h"
+
+namespace aura_shell {
+namespace internal {
+
+class LauncherButton : public views::ImageButton {
+ public:
+ explicit LauncherButton(views::ButtonListener* listener);
+ virtual ~LauncherButton();
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(LauncherButton);
+};
+
+} // namespace internal
+} // namespace aura_shell
+
+#endif // UI_AURA_SHELL_LAUNCHER_BUTTON_H_
diff --git a/ui/aura_shell/launcher/launcher_view.cc b/ui/aura_shell/launcher/launcher_view.cc
new file mode 100644
index 0000000..457e9ee
--- /dev/null
+++ b/ui/aura_shell/launcher/launcher_view.cc
@@ -0,0 +1,50 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "ui/aura_shell/launcher/launcher_view.h"
+
+#include "ui/aura/desktop.h"
+#include "ui/aura_shell/launcher/launcher_button.h"
+#include "ui/gfx/canvas.h"
+#include "views/widget/widget.h"
+
+namespace aura_shell {
+namespace internal {
+
+LauncherView::LauncherView()
+ : ALLOW_THIS_IN_INITIALIZER_LIST(chrome_button_(new LauncherButton(this))),
+ ALLOW_THIS_IN_INITIALIZER_LIST(
+ applist_button_(new LauncherButton(this))) {
+ AddChildView(chrome_button_);
+ AddChildView(applist_button_);
+}
+LauncherView::~LauncherView() {
+}
+
+void LauncherView::Layout() {
+}
+
+void LauncherView::OnPaint(gfx::Canvas* canvas) {
+ canvas->FillRectInt(SK_ColorRED, 0, 0, width(), height());
+}
+
+void LauncherView::ButtonPressed(views::Button* sender,
+ const views::Event& event) {
+}
+
+views::Widget* CreateLauncher() {
+ views::Widget* launcher_widget = new views::Widget;
+ views::Widget::InitParams params2(views::Widget::InitParams::TYPE_CONTROL);
+ params2.bounds = gfx::Rect(0, 0, 300, 64);
+ params2.parent = aura::Desktop::GetInstance()->window();
+ LauncherView* launcher_view = new LauncherView;
+ params2.delegate = launcher_view;
+ launcher_widget->Init(params2);
+ launcher_widget->SetContentsView(launcher_view);
+ launcher_widget->Show();
+ return launcher_widget;
+}
+
+} // namespace internal
+} // namespace aura_shell
diff --git a/ui/aura_shell/launcher/launcher_view.h b/ui/aura_shell/launcher/launcher_view.h
new file mode 100644
index 0000000..0f949cc
--- /dev/null
+++ b/ui/aura_shell/launcher/launcher_view.h
@@ -0,0 +1,41 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef UI_AURA_SHELL_LAUNCHER_VIEW_H_
+#define UI_AURA_SHELL_LAUNCHER_VIEW_H_
+#pragma once
+
+#include "views/widget/widget_delegate.h"
+#include "views/controls/button/button.h"
+
+namespace aura_shell {
+namespace internal {
+
+class LauncherButton;
+
+class LauncherView : public views::WidgetDelegateView,
+ public views::ButtonListener {
+ public:
+ LauncherView();
+ virtual ~LauncherView();
+
+ private:
+ // Overridden from views::View:
+ virtual void Layout() OVERRIDE;
+ virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE;
+
+ // Overridden from views::ButtonListener:
+ virtual void ButtonPressed(views::Button* sender,
+ const views::Event& event) OVERRIDE;
+
+ LauncherButton* chrome_button_;
+ LauncherButton* applist_button_;
+
+ DISALLOW_COPY_AND_ASSIGN(LauncherView);
+};
+
+} // namespace internal
+} // namespace aura_shell
+
+#endif // UI_AURA_SHELL_LAUNCHER_VIEW_H_
diff --git a/ui/aura_shell/sample_window.cc b/ui/aura_shell/sample_window.cc
new file mode 100644
index 0000000..6da01b9
--- /dev/null
+++ b/ui/aura_shell/sample_window.cc
@@ -0,0 +1,38 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "ui/aura_shell/sample_window.h"
+
+#include "ui/gfx/canvas.h"
+#include "views/widget/widget.h"
+
+namespace aura_shell {
+namespace internal {
+
+// static
+void SampleWindow::CreateSampleWindow() {
+ views::Widget::CreateWindowWithBounds(new SampleWindow,
+ gfx::Rect(120, 150, 400, 300))->Show();
+}
+
+SampleWindow::SampleWindow() {
+}
+
+SampleWindow::~SampleWindow() {
+}
+
+void SampleWindow::OnPaint(gfx::Canvas* canvas) {
+ canvas->FillRectInt(SK_ColorDKGRAY, 0, 0, width(), height());
+}
+
+std::wstring SampleWindow::GetWindowTitle() const {
+ return L"Sample Window";
+}
+
+views::View* SampleWindow::GetContentsView() {
+ return this;
+}
+
+} // namespace internal
+} // namespace aura_shell
diff --git a/ui/aura_shell/sample_window.h b/ui/aura_shell/sample_window.h
new file mode 100644
index 0000000..e92fc30
--- /dev/null
+++ b/ui/aura_shell/sample_window.h
@@ -0,0 +1,35 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef UI_AURA_SHELL_SAMPLE_WINDOW_H_
+#define UI_AURA_SHELL_SAMPLE_WINDOW_H_
+#pragma once
+
+#include "views/widget/widget_delegate.h"
+
+namespace aura_shell {
+namespace internal {
+
+class SampleWindow : public views::WidgetDelegateView {
+ public:
+ static void CreateSampleWindow();
+
+ private:
+ SampleWindow();
+ virtual ~SampleWindow();
+
+ // Overridden from views::View:
+ virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE;
+
+ // Overridden from views::WidgetDelegate:
+ virtual std::wstring GetWindowTitle() const OVERRIDE;
+ virtual View* GetContentsView() OVERRIDE;
+
+ DISALLOW_COPY_AND_ASSIGN(SampleWindow);
+};
+
+} // namespace internal
+} // namespace aura_shell
+
+#endif // UI_AURA_SHELL_SAMPLE_WINDOW_H_
diff --git a/ui/aura_shell/shell_factory.h b/ui/aura_shell/shell_factory.h
new file mode 100644
index 0000000..939a260
--- /dev/null
+++ b/ui/aura_shell/shell_factory.h
@@ -0,0 +1,26 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef UI_AURA_SHELL_SHELL_FACTORY_H_
+#define UI_AURA_SHELL_SHELL_FACTORY_H_
+#pragma once
+
+namespace views {
+class Widget;
+}
+
+namespace aura_shell {
+namespace internal {
+
+// Declarations of shell component factory functions.
+
+views::Widget* CreateDesktopBackground();
+
+views::Widget* CreateLauncher();
+
+} // namespace internal
+} // namespace aura_shell
+
+
+#endif // UI_AURA_SHELL_SHELL_FACTORY_H_
diff --git a/ui/aura_shell/status_area_view.cc b/ui/aura_shell/status_area_view.cc
index e41c17b..54d1ac7 100644
--- a/ui/aura_shell/status_area_view.cc
+++ b/ui/aura_shell/status_area_view.cc
@@ -3,3 +3,8 @@
// found in the LICENSE file.
#include "ui/aura_shell/status_area_view.h"
+
+namespace aura_shell {
+namespace internal {
+} // namespace internal
+} // namespace aura_shell
diff --git a/ui/aura_shell/status_area_view.h b/ui/aura_shell/status_area_view.h
index 4db8141..2c1b4c5 100644
--- a/ui/aura_shell/status_area_view.h
+++ b/ui/aura_shell/status_area_view.h
@@ -6,5 +6,9 @@
#define UI_AURA_SHELL_STATUS_AREA_VIEW_H_
#pragma once
+namespace aura_shell {
+namespace internal {
+} // namespace internal
+} // namespace aura_shell
#endif // UI_AURA_SHELL_STATUS_AREA_VIEW_H_
diff --git a/ui/gfx/screen_aura.cc b/ui/gfx/screen_aura.cc
index b47a832..2ed1800 100644
--- a/ui/gfx/screen_aura.cc
+++ b/ui/gfx/screen_aura.cc
@@ -9,6 +9,7 @@
#endif
#include "base/logging.h"
+#include "ui/gfx/native_widget_types.h"
namespace gfx {
diff --git a/ui/resources/aura/applist.png b/ui/resources/aura/applist.png
new file mode 100644
index 0000000..e23f708
--- /dev/null
+++ b/ui/resources/aura/applist.png
Binary files differ
diff --git a/ui/resources/aura/browser_instance.png b/ui/resources/aura/browser_instance.png
new file mode 100644
index 0000000..d279362
--- /dev/null
+++ b/ui/resources/aura/browser_instance.png
Binary files differ
diff --git a/ui/resources/aura/chromium-48.png b/ui/resources/aura/chromium-48.png
new file mode 100644
index 0000000..9085a79
--- /dev/null
+++ b/ui/resources/aura/chromium-48.png
Binary files differ
diff --git a/ui/resources/aura/damask.png b/ui/resources/aura/damask.png
new file mode 100644
index 0000000..58f22ca5
--- /dev/null
+++ b/ui/resources/aura/damask.png
Binary files differ
diff --git a/ui/resources/aura/statusbar.png b/ui/resources/aura/statusbar.png
new file mode 100644
index 0000000..343c17b
--- /dev/null
+++ b/ui/resources/aura/statusbar.png
Binary files differ
diff --git a/ui/resources/ui_resources.grd b/ui/resources/ui_resources.grd
index 15dfaac..d6d8b41 100644
--- a/ui/resources/ui_resources.grd
+++ b/ui/resources/ui_resources.grd
@@ -118,6 +118,14 @@
<include name="IDR_MENU_ARROW" file="menu_arrow.png" type="BINDATA" />
<include name="IDR_MENU_CHECK" file="menu_check.png" type="BINDATA" />
</if>
+
+ <!-- Images only used by Aura. -->
+ <if expr="pp_ifdef('use_aura')">
+ <include name="IDR_AURA_LAUNCHER_ICON_CHROME" file="aura/chromium-48.png" type="BINDATA" />
+ <include name="IDR_AURA_LAUNCHER_ICON_APPLIST" file="aura/applist.png" type="BINDATA" />
+ <include name="IDR_AURA_STATUS_MOCK" file="aura/statusbar.png" type="BINDATA" />
+ <include name="IDR_AURA_WALLPAPER" file="aura/damask.png" type="BINDATA" />
+ </if>
</includes>
</release>
</grit>