diff options
author | dhollowa@chromium.org <dhollowa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-19 03:15:34 +0000 |
---|---|---|
committer | dhollowa@chromium.org <dhollowa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-19 03:15:34 +0000 |
commit | 6f637730a38de10a1173f05e48271483d27b648d (patch) | |
tree | 44bacffdd54e6b8d28215b4a7ccd9a06bbeb88ef /ui/views/widget | |
parent | e48c61d39a63a10675af85eb9417ed453eea6a6a (diff) | |
download | chromium_src-6f637730a38de10a1173f05e48271483d27b648d.zip chromium_src-6f637730a38de10a1173f05e48271483d27b648d.tar.gz chromium_src-6f637730a38de10a1173f05e48271483d27b648d.tar.bz2 |
Aura Shell needs to exist on Mac
Adds first cut at "Aura Shell.app" on Mac. The 'ash_shell' is extended
to generate a Cocoa application. This application brings up a single
window containing the Aura desktop. The main view of this window provides
an accelerated surface to Aura in which it can composite and draw its
results.
What works:
- The application launches and renders the Aura desktop and background
- Mouse movement, clicking, double-clicking, and interactions with
Aura windows and widgets
- Text buttons render with Skia text (needs improvement)
- Non-modal transient window button
- Window-modal window button
- System-modal window button
- Example Widgets button (checkboxes, radios, buttons)
- Lock Screen button
- Create Non-Resizable window button
- Create Pointy Bubble button
- Create Widow button
- Switcher and Taskbar
What doesn't work:
- Open Views Examples Window button
- Views menus
- Views scrollbars
- Views accelerators
- Views tooltips
- Drag and drop
- Anything involving MessageLoop dispatcher logic
- Mouse movement doesn't pass through to Aura when mouse button is up
Note: Required .gyp flags are:
'use_aura': 1,
'use_webkit_compositor': 1,
BUG=109946
TEST=Manual tests.
R=sky@chromium.org, thakis@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9232028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118222 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/views/widget')
-rw-r--r-- | ui/views/widget/drop_helper.cc | 4 | ||||
-rw-r--r-- | ui/views/widget/native_widget_aura.cc | 2 | ||||
-rw-r--r-- | ui/views/widget/widget.cc | 7 |
3 files changed, 10 insertions, 3 deletions
diff --git a/ui/views/widget/drop_helper.cc b/ui/views/widget/drop_helper.cc index 1582351..04305e2 100644 --- a/ui/views/widget/drop_helper.cc +++ b/ui/views/widget/drop_helper.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 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. @@ -99,7 +99,7 @@ View* DropHelper::CalculateTargetViewImpl( (!view->enabled() || !view->CanDrop(data))) { view = view->parent(); } -#else +#elif !defined(OS_MACOSX) int formats = 0; std::set<OSExchangeData::CustomFormat> custom_formats; while (view && view != target_view_) { diff --git a/ui/views/widget/native_widget_aura.cc b/ui/views/widget/native_widget_aura.cc index 13632fa..7c637df 100644 --- a/ui/views/widget/native_widget_aura.cc +++ b/ui/views/widget/native_widget_aura.cc @@ -191,9 +191,11 @@ void NativeWidgetAura::InitNativeWidget(const Widget::InitParams& params) { delegate_->OnNativeWidgetSizeChanged(params.bounds.size()); can_activate_ = params.can_activate; DCHECK(GetWidget()->GetRootView()); +#if !defined(OS_MACOSX) if (params.type != Widget::InitParams::TYPE_TOOLTIP) { tooltip_manager_.reset(new views::TooltipManagerAura(this)); } +#endif // !defined(OS_MACOSX) drop_helper_.reset(new DropHelper(GetWidget()->GetRootView())); if (params.type != Widget::InitParams::TYPE_TOOLTIP && diff --git a/ui/views/widget/widget.cc b/ui/views/widget/widget.cc index b9be13b4..3a77c69 100644 --- a/ui/views/widget/widget.cc +++ b/ui/views/widget/widget.cc @@ -13,7 +13,6 @@ #include "ui/gfx/compositor/compositor.h" #include "ui/gfx/compositor/layer.h" #include "ui/gfx/screen.h" -#include "ui/views/controls/menu/menu_controller.h" #include "ui/views/focus/focus_manager.h" #include "ui/views/focus/focus_manager_factory.h" #include "ui/views/focus/view_storage.h" @@ -27,6 +26,10 @@ #include "ui/views/widget/widget_delegate.h" #include "ui/views/window/custom_frame_view.h" +#if !defined(OS_MACOSX) +#include "ui/views/controls/menu/menu_controller.h" +#endif + namespace { // Set to true if a pure Views implementation is preferred @@ -885,10 +888,12 @@ void Widget::OnNativeWidgetActivationChanged(bool active) { if (!active) { SaveWindowPlacement(); +#if !defined(OS_MACOSX) // Close any open menus. MenuController* menu_controller = MenuController::GetActiveInstance(); if (menu_controller) menu_controller->OnWidgetActivationChanged(); +#endif // !defined(OS_MACOSX) } FOR_EACH_OBSERVER(Observer, observers_, |