summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-22 21:27:33 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-22 21:27:33 +0000
commitd7509b924091be8c5130bad343055dfe39c306d3 (patch)
tree4d521b0eb45fab279905423ffcc25ec94b594402
parentc6d97ad27c69d7909c55ebbec523c3df10ec08a0 (diff)
downloadchromium_src-d7509b924091be8c5130bad343055dfe39c306d3.zip
chromium_src-d7509b924091be8c5130bad343055dfe39c306d3.tar.gz
chromium_src-d7509b924091be8c5130bad343055dfe39c306d3.tar.bz2
Remove some dependencies on Windows-specific files in BrowserView. The usage
of WindowWin was unnecessary so I removed it. I created a function in Menu go get the system menu so that can be ported inside views. Review URL: http://codereview.chromium.org/113785 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16797 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/views/frame/browser_view.cc17
-rw-r--r--views/controls/menu/menu.h4
-rw-r--r--views/controls/menu/menu_win.cc5
3 files changed, 16 insertions, 10 deletions
diff --git a/chrome/browser/views/frame/browser_view.cc b/chrome/browser/views/frame/browser_view.cc
index bb213ac..4bf8e1d 100644
--- a/chrome/browser/views/frame/browser_view.cc
+++ b/chrome/browser/views/frame/browser_view.cc
@@ -56,14 +56,12 @@
#include "grit/generated_resources.h"
#include "grit/theme_resources.h"
#include "grit/webkit_resources.h"
-#include "views/controls/menu/menu_win.h"
+#include "views/controls/menu/menu.h"
#include "views/controls/scrollbar/native_scroll_bar.h"
#include "views/fill_layout.h"
#include "views/view.h"
#include "views/widget/root_view.h"
#include "views/window/non_client_view.h"
-#include "views/window/window_win.h"
-
using base::TimeDelta;
@@ -135,7 +133,7 @@ class ResizeCorner : public views::View {
ResizeCorner() { }
virtual void Paint(gfx::Canvas* canvas) {
- views::WindowWin* window = GetWindow();
+ views::Window* window = GetWindow();
if (!window || (window->IsMaximized() || window->IsFullscreen()))
return;
@@ -163,7 +161,7 @@ class ResizeCorner : public views::View {
}
virtual gfx::Size GetPreferredSize() {
- views::WindowWin* window = GetWindow();
+ views::Window* window = GetWindow();
return (!window || window->IsMaximized() || window->IsFullscreen()) ?
gfx::Size() : GetSize();
}
@@ -182,9 +180,9 @@ class ResizeCorner : public views::View {
private:
// Returns the WindowWin we're displayed in. Returns NULL if we're not
// currently in a window.
- views::WindowWin* GetWindow() {
+ views::Window* GetWindow() {
views::Widget* widget = GetWidget();
- return widget ? static_cast<views::WindowWin*>(widget) : NULL;
+ return widget ? widget->GetWindow() : NULL;
}
DISALLOW_COPY_AND_ASSIGN(ResizeCorner);
@@ -1300,9 +1298,8 @@ void BrowserView::Init() {
}
void BrowserView::InitSystemMenu() {
- HMENU system_menu = GetSystemMenu(frame_->GetWindow()->GetNativeWindow(),
- FALSE);
- system_menu_.reset(new views::MenuWin(system_menu));
+ system_menu_.reset(
+ views::Menu::GetSystemMenu(frame_->GetWindow()->GetNativeWindow()));
int insertion_index = std::max(0, system_menu_->ItemCount() - 1);
// We add the menu items in reverse order so that insertion_index never needs
// to change.
diff --git a/views/controls/menu/menu.h b/views/controls/menu/menu.h
index e07d7e5..0017ac1 100644
--- a/views/controls/menu/menu.h
+++ b/views/controls/menu/menu.h
@@ -180,6 +180,10 @@ class Menu {
AnchorPoint anchor,
gfx::NativeView parent);
+ // Creates a new menu with the contents of the system menu for the given
+ // parent window. The caller owns the returned pointer.
+ static Menu* GetSystemMenu(gfx::NativeView parent);
+
void set_delegate(Delegate* delegate) { delegate_ = delegate; }
Delegate* delegate() const { return delegate_; }
diff --git a/views/controls/menu/menu_win.cc b/views/controls/menu/menu_win.cc
index eab1816..84c3fac 100644
--- a/views/controls/menu/menu_win.cc
+++ b/views/controls/menu/menu_win.cc
@@ -236,6 +236,11 @@ Menu* Menu::Create(Delegate* delegate,
return new MenuWin(delegate, anchor, parent);
}
+// static
+Menu* Menu::GetSystemMenu(gfx::NativeView parent) {
+ return new views::MenuWin(::GetSystemMenu(parent, FALSE));
+}
+
MenuWin::MenuWin(Delegate* d, AnchorPoint anchor, HWND owner)
: Menu(d, anchor),
menu_(CreatePopupMenu()),