summaryrefslogtreecommitdiffstats
path: root/ui/views/widget
diff options
context:
space:
mode:
authordhollowa@chromium.org <dhollowa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-19 03:15:34 +0000
committerdhollowa@chromium.org <dhollowa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-19 03:15:34 +0000
commit6f637730a38de10a1173f05e48271483d27b648d (patch)
tree44bacffdd54e6b8d28215b4a7ccd9a06bbeb88ef /ui/views/widget
parente48c61d39a63a10675af85eb9417ed453eea6a6a (diff)
downloadchromium_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.cc4
-rw-r--r--ui/views/widget/native_widget_aura.cc2
-rw-r--r--ui/views/widget/widget.cc7
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_,