diff options
Diffstat (limited to 'chrome/browser/ui')
104 files changed, 460 insertions, 423 deletions
diff --git a/chrome/browser/ui/browser_window.h b/chrome/browser/ui/browser_window.h index 74c67a3..e72fc97 100644 --- a/chrome/browser/ui/browser_window.h +++ b/chrome/browser/ui/browser_window.h @@ -34,10 +34,6 @@ namespace gfx { class Rect; } -namespace views { -class Window; -} - class Extension; //////////////////////////////////////////////////////////////////////////////// diff --git a/chrome/browser/ui/gtk/gtk_util.cc b/chrome/browser/ui/gtk/gtk_util.cc index c07fb15..05c3136 100644 --- a/chrome/browser/ui/gtk/gtk_util.cc +++ b/chrome/browser/ui/gtk/gtk_util.cc @@ -44,7 +44,6 @@ #if defined(OS_CHROMEOS) #include "chrome/browser/chromeos/frame/browser_view.h" #include "chrome/browser/chromeos/native_dialog_window.h" -#include "views/window/window.h" #else #include "chrome/browser/ui/gtk/browser_window_gtk.h" #endif @@ -1082,9 +1081,9 @@ void ShowDialogWithLocalizedSize(GtkWidget* dialog, int height_id, bool resizeable) { int width = (width_id == -1) ? 0 : - views::Window::GetLocalizedContentsWidth(width_id); + views::Widget::GetLocalizedContentsWidth(width_id); int height = (height_id == -1) ? 0 : - views::Window::GetLocalizedContentsHeight(height_id); + views::Widget::GetLocalizedContentsHeight(height_id); chromeos::ShowNativeDialog(GetDialogTransientParent(GTK_WINDOW(dialog)), dialog, @@ -1097,7 +1096,7 @@ void ShowDialogWithLocalizedSize(GtkWidget* dialog, void ShowDialogWithMinLocalizedWidth(GtkWidget* dialog, int width_id) { int width = (width_id == -1) ? 0 : - views::Window::GetLocalizedContentsWidth(width_id); + views::Widget::GetLocalizedContentsWidth(width_id); chromeos::ShowNativeDialog(GetDialogTransientParent(GTK_WINDOW(dialog)), dialog, diff --git a/chrome/browser/ui/input_window_dialog_win.cc b/chrome/browser/ui/input_window_dialog_win.cc index 7012d10..58bbd08 100644 --- a/chrome/browser/ui/input_window_dialog_win.cc +++ b/chrome/browser/ui/input_window_dialog_win.cc @@ -13,14 +13,18 @@ #include "views/controls/textfield/textfield_controller.h" #include "views/layout/grid_layout.h" #include "views/layout/layout_constants.h" +#include "views/widget/widget.h" #include "views/window/dialog_delegate.h" -#include "views/window/window.h" // Width to make the text field, in pixels. static const int kTextfieldWidth = 200; class ContentView; +namespace views { +class Widget; +} + // The Windows implementation of the cross platform input dialog interface. class WinInputWindowDialog : public InputWindowDialog { public: @@ -42,7 +46,7 @@ class WinInputWindowDialog : public InputWindowDialog { private: // Our chrome views window. - views::Window* window_; + views::Widget* window_; // Strings to feed to the on screen window. std::wstring window_title_; @@ -207,8 +211,8 @@ WinInputWindowDialog::WinInputWindowDialog(HWND parent, label_(label), contents_(contents), delegate_(delegate) { - window_ = views::Window::CreateChromeWindow(parent, gfx::Rect(), - new ContentView(this)); + window_ = views::Widget::CreateWindowWithParent(new ContentView(this), + parent); window_->client_view()->AsDialogClientView()->UpdateDialogButtons(); } diff --git a/chrome/browser/ui/panels/panel_browser_frame_view.cc b/chrome/browser/ui/panels/panel_browser_frame_view.cc index c2ff574..fb1796f 100644 --- a/chrome/browser/ui/panels/panel_browser_frame_view.cc +++ b/chrome/browser/ui/panels/panel_browser_frame_view.cc @@ -28,7 +28,7 @@ #include "views/controls/menu/menu_2.h" #include "views/painter.h" #include "views/screen.h" -#include "views/window/window.h" +#include "views/widget/widget_delegate.h" #include "views/window/window_shape.h" #if !defined(OS_WIN) @@ -200,7 +200,7 @@ PanelBrowserFrameView::PanelBrowserFrameView(BrowserFrame* frame, title_icon_(NULL), title_label_(NULL) { EnsureResourcesInitialized(); - frame_->set_frame_type(views::Window::FRAME_TYPE_FORCE_CUSTOM); + frame_->set_frame_type(views::Widget::FRAME_TYPE_FORCE_CUSTOM); settings_button_ = new views::MenuButton(NULL, std::wstring(), this, false); settings_button_->SetIcon(*(settings_button_resources.normal_image)); @@ -291,7 +291,7 @@ int PanelBrowserFrameView::NonClientHitTest(const gfx::Point& point) { int window_component = GetHTComponentForFrame(point, NonClientBorderThickness(), NonClientBorderThickness(), 0, 0, - frame_->window_delegate()->CanResize()); + frame_->widget_delegate()->CanResize()); // Fall back to the caption if no other component matches. return (window_component == HTNOWHERE) ? HTCAPTION : window_component; } @@ -494,7 +494,7 @@ bool PanelBrowserFrameView::ShouldTabIconViewAnimate() const { } SkBitmap PanelBrowserFrameView::GetFaviconForTabIconView() { - return frame_->window_delegate()->GetWindowIcon(); + return frame_->widget_delegate()->GetWindowIcon(); } void PanelBrowserFrameView::ExtensionDialogAccepted() { @@ -626,8 +626,7 @@ void PanelBrowserFrameView::PaintClientEdge(gfx::Canvas* canvas) { } void PanelBrowserFrameView::UpdateTitleBar() { - title_label_->SetText( - frame_->window_delegate()->GetWindowTitle()); + title_label_->SetText(frame_->widget_delegate()->GetWindowTitle()); } void PanelBrowserFrameView::OnActivationChanged(bool active) { diff --git a/chrome/browser/ui/panels/panel_browser_view.cc b/chrome/browser/ui/panels/panel_browser_view.cc index 39e58cd..9da81a6 100644 --- a/chrome/browser/ui/panels/panel_browser_view.cc +++ b/chrome/browser/ui/panels/panel_browser_view.cc @@ -12,7 +12,7 @@ #include "grit/chromium_strings.h" #include "ui/base/animation/slide_animation.h" #include "ui/base/l10n/l10n_util.h" -#include "views/window/window.h" +#include "views/widget/widget.h" namespace { // This value is experimental and subjective. diff --git a/chrome/browser/ui/touch/tabs/touch_tab_strip.cc b/chrome/browser/ui/touch/tabs/touch_tab_strip.cc index e2cc8bc..fa8490d 100644 --- a/chrome/browser/ui/touch/tabs/touch_tab_strip.cc +++ b/chrome/browser/ui/touch/tabs/touch_tab_strip.cc @@ -12,8 +12,8 @@ #include "chrome/browser/ui/views/tabs/browser_tab_strip_controller.h" #include "ui/gfx/canvas_skia.h" #include "views/metrics.h" +#include "views/widget/widget.h" #include "views/window/non_client_view.h" -#include "views/window/window.h" static const int kTouchTabStripHeight = 64; static const int kTouchTabWidth = 64; diff --git a/chrome/browser/ui/views/about_chrome_view.cc b/chrome/browser/ui/views/about_chrome_view.cc index 352c3d1..6765a73 100644 --- a/chrome/browser/ui/views/about_chrome_view.cc +++ b/chrome/browser/ui/views/about_chrome_view.cc @@ -41,7 +41,6 @@ #include "views/layout/layout_constants.h" #include "views/view_text_utils.h" #include "views/widget/widget.h" -#include "views/window/window.h" #include "webkit/glue/webkit_glue.h" #if defined(OS_WIN) @@ -82,17 +81,15 @@ std::wstring StringSubRange(const std::wstring& text, size_t start, namespace browser { - // Declared in browser_dialogs.h so that others don't - // need to depend on our .h. - views::Window* ShowAboutChromeView(gfx::NativeWindow parent, - Profile* profile) { - views::Window* about_chrome_window = - browser::CreateViewsWindow(parent, - gfx::Rect(), - new AboutChromeView(profile)); +// Declared in browser_dialogs.h so that others don't +// need to depend on our .h. +views::Widget* ShowAboutChromeView(gfx::NativeWindow parent, Profile* profile) { + views::Widget* about_chrome_window = + browser::CreateViewsWindow(parent, gfx::Rect(), + new AboutChromeView(profile)); about_chrome_window->Show(); - return about_chrome_window; - } + return about_chrome_window; +} } // namespace browser @@ -278,7 +275,7 @@ void AboutChromeView::Init() { main_label_chunk2_ + open_source_url_->GetText() + main_label_chunk3_; - dialog_dimensions_ = views::Window::GetLocalizedContentsSize( + dialog_dimensions_ = views::Widget::GetLocalizedContentsSize( IDS_ABOUT_DIALOG_WIDTH_CHARS, IDS_ABOUT_DIALOG_MINIMUM_HEIGHT_LINES); @@ -530,7 +527,7 @@ void AboutChromeView::ViewHierarchyChanged(bool is_add, !base::win::UserAccountControlIsEnabled())) { UpdateStatus(UPGRADE_CHECK_STARTED, GOOGLE_UPDATE_NO_ERROR); // CheckForUpdate(false, ...) means don't upgrade yet. - google_updater_->CheckForUpdate(false, window()); + google_updater_->CheckForUpdate(false, GetWidget()); } #endif } else { @@ -698,7 +695,7 @@ void AboutChromeView::UpdateStatus(GoogleUpdateUpgradeResult result, google_updater_->set_status_listener(this); UpdateStatus(UPGRADE_STARTED, GOOGLE_UPDATE_NO_ERROR); // CheckForUpdate(true,...) means perform upgrade if new version found. - google_updater_->CheckForUpdate(true, window()); + google_updater_->CheckForUpdate(true, GetWidget()); // TODO(seanparent): Need to see if this code needs to change to // force a machine restart. return; @@ -784,8 +781,8 @@ void AboutChromeView::UpdateStatus(GoogleUpdateUpgradeResult result, parent()->Layout(); // Check button may have appeared/disappeared. We cannot call this during - // ViewHierarchyChanged because the |window()| pointer hasn't been set yet. - if (window()) + // ViewHierarchyChanged because the view hasn't been added to a Widget yet. + if (GetWidget()) GetDialogClientView()->UpdateDialogButtons(); } diff --git a/chrome/browser/ui/views/about_chrome_view.h b/chrome/browser/ui/views/about_chrome_view.h index 35c02ec..d3d2417 100644 --- a/chrome/browser/ui/views/about_chrome_view.h +++ b/chrome/browser/ui/views/about_chrome_view.h @@ -21,7 +21,6 @@ namespace views { class Textfield; class Throbber; -class Window; } class Profile; @@ -33,8 +32,7 @@ class Profile; // and check for updates. // //////////////////////////////////////////////////////////////////////////////// -class AboutChromeView : public views::View, - public views::DialogDelegate, +class AboutChromeView : public views::DialogDelegateView, public views::LinkListener #if defined(OS_WIN) , public GoogleUpdateStatusListener diff --git a/chrome/browser/ui/views/about_ipc_dialog.cc b/chrome/browser/ui/views/about_ipc_dialog.cc index fbb6e29..266a989 100644 --- a/chrome/browser/ui/views/about_ipc_dialog.cc +++ b/chrome/browser/ui/views/about_ipc_dialog.cc @@ -34,7 +34,6 @@ #include "views/layout/grid_layout.h" #include "views/layout/layout_constants.h" #include "views/widget/widget.h" -#include "views/window/window.h" namespace { @@ -214,8 +213,7 @@ AboutIPCDialog::~AboutIPCDialog() { void AboutIPCDialog::RunDialog() { if (!g_active_dialog) { g_active_dialog = new AboutIPCDialog; - views::Window::CreateChromeWindow(NULL, gfx::Rect(), - g_active_dialog)->Show(); + views::Widget::CreateWindow(g_active_dialog)->Show(); } else { // TODO(brettw) it would be nice to focus the existing window. } diff --git a/chrome/browser/ui/views/about_ipc_dialog.h b/chrome/browser/ui/views/about_ipc_dialog.h index a243aac..482df2e 100644 --- a/chrome/browser/ui/views/about_ipc_dialog.h +++ b/chrome/browser/ui/views/about_ipc_dialog.h @@ -26,10 +26,9 @@ class NativeViewHost; class TextButton; } // namespace views -class AboutIPCDialog : public views::DialogDelegate, +class AboutIPCDialog : public views::DialogDelegateView, public views::ButtonListener, - public IPC::Logging::Consumer, - public views::View { + public IPC::Logging::Consumer { public: // This dialog is a singleton. If the dialog is already opened, it won't do // anything, so you can just blindly call this function all you want. diff --git a/chrome/browser/ui/views/accessibility_event_router_views.cc b/chrome/browser/ui/views/accessibility_event_router_views.cc index 84ecf45..0c85ff9 100644 --- a/chrome/browser/ui/views/accessibility_event_router_views.cc +++ b/chrome/browser/ui/views/accessibility_event_router_views.cc @@ -28,7 +28,6 @@ #include "views/view.h" #include "views/widget/native_widget.h" #include "views/widget/widget.h" -#include "views/window/window.h" using views::FocusManager; diff --git a/chrome/browser/ui/views/accessibility_event_router_views_unittest.cc b/chrome/browser/ui/views/accessibility_event_router_views_unittest.cc index 3ca6466..3f1223d 100644 --- a/chrome/browser/ui/views/accessibility_event_router_views_unittest.cc +++ b/chrome/browser/ui/views/accessibility_event_router_views_unittest.cc @@ -19,8 +19,7 @@ #include "views/widget/native_widget.h" #include "views/widget/root_view.h" #include "views/widget/widget.h" -#include "views/window/window.h" -#include "views/window/window_delegate.h" +#include "views/widget/widget_delegate.h" #if defined(TOOLKIT_VIEWS) @@ -31,17 +30,17 @@ class AccessibilityViewsDelegate : public views::ViewsDelegate { // Overridden from views::ViewsDelegate: virtual ui::Clipboard* GetClipboard() const { return NULL; } - virtual void SaveWindowPlacement(views::Window* window, + virtual void SaveWindowPlacement(const views::Widget* window, const std::wstring& window_name, const gfx::Rect& bounds, bool maximized) { } - virtual bool GetSavedWindowBounds(views::Window* window, + virtual bool GetSavedWindowBounds(const views::Widget* window, const std::wstring& window_name, gfx::Rect* bounds) const { return false; } - virtual bool GetSavedMaximizedState(views::Window* window, + virtual bool GetSavedMaximizedState(const views::Widget* window, const std::wstring& window_name, bool* maximized) const { return false; @@ -72,14 +71,18 @@ class AccessibilityViewsDelegate : public views::ViewsDelegate { DISALLOW_COPY_AND_ASSIGN(AccessibilityViewsDelegate); }; -class AccessibilityWindowDelegate : public views::WindowDelegate { +class AccessibilityWindowDelegate : public views::WidgetDelegate { public: explicit AccessibilityWindowDelegate(views::View* contents) : contents_(contents) { } - virtual void DeleteDelegate() { delete this; } - - virtual views::View* GetContentsView() { return contents_; } + // Overridden from views::WidgetDelegate: + virtual void DeleteDelegate() OVERRIDE { delete this; } + virtual views::View* GetContentsView() OVERRIDE { return contents_; } + virtual const views::Widget* GetWidget() const OVERRIDE { + return contents_->GetWidget(); + } + virtual views::Widget* GetWidget() OVERRIDE { return contents_->GetWidget(); } private: views::View* contents_; @@ -101,10 +104,10 @@ class AccessibilityEventRouterViewsTest delete window_delegate_; } - views::Window* CreateWindowWithContents(views::View* contents) { + views::Widget* CreateWindowWithContents(views::View* contents) { window_delegate_ = new AccessibilityWindowDelegate(contents); - return views::Window::CreateChromeWindow( - NULL, gfx::Rect(0, 0, 500, 500), window_delegate_); + return views::Widget::CreateWindowWithBounds(window_delegate_, + gfx::Rect(0, 0, 500, 500)); } protected: @@ -145,7 +148,7 @@ TEST_F(AccessibilityEventRouterViewsTest, TestFocusNotification) { contents->AddChildView(button3); // Put the view in a window. - views::Window* window = CreateWindowWithContents(contents); + views::Widget* window = CreateWindowWithContents(contents); // Set focus to the first button initially. button1->RequestFocus(); diff --git a/chrome/browser/ui/views/autocomplete/autocomplete_popup_contents_view.cc b/chrome/browser/ui/views/autocomplete/autocomplete_popup_contents_view.cc index 510faf2..13a73fb 100644 --- a/chrome/browser/ui/views/autocomplete/autocomplete_popup_contents_view.cc +++ b/chrome/browser/ui/views/autocomplete/autocomplete_popup_contents_view.cc @@ -31,7 +31,6 @@ #include "views/layout/layout_constants.h" #include "views/painter.h" #include "views/widget/widget.h" -#include "views/window/window.h" #if defined(OS_WIN) #include <commctrl.h> diff --git a/chrome/browser/ui/views/avatar_menu_button.cc b/chrome/browser/ui/views/avatar_menu_button.cc index c94fab0..4e81a81 100644 --- a/chrome/browser/ui/views/avatar_menu_button.cc +++ b/chrome/browser/ui/views/avatar_menu_button.cc @@ -6,7 +6,7 @@ #include "ui/gfx/canvas_skia.h" #include "views/controls/menu/menu_model_adapter.h" -#include "views/window/window.h" +#include "views/widget/widget.h" // Menu should display below the image on the frame. This // offset size depends on whether the frame is in glass or opaque mode. diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc index 301109e..ddc2e9e 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc @@ -58,7 +58,6 @@ #include "views/view_constants.h" #include "views/widget/tooltip_manager.h" #include "views/widget/widget.h" -#include "views/window/window.h" using views::CustomButton; using views::DropTargetEvent; diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc b/chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc index 54c3277..fc01da5 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc @@ -27,7 +27,7 @@ #include "views/controls/menu/menu_item_view.h" #include "views/controls/menu/submenu_view.h" #include "views/views_delegate.h" -#include "views/window/window.h" +#include "views/widget/widget.h" #if defined(OS_LINUX) // See http://crbug.com/40040 for details. @@ -66,16 +66,16 @@ class ViewsDelegateImpl : public views::ViewsDelegate { public: ViewsDelegateImpl() {} virtual ui::Clipboard* GetClipboard() const { return NULL; } - virtual void SaveWindowPlacement(views::Window* window, + virtual void SaveWindowPlacement(const views::Widget* window, const std::wstring& window_name, const gfx::Rect& bounds, bool maximized) {} - virtual bool GetSavedWindowBounds(views::Window* window, + virtual bool GetSavedWindowBounds(const views::Widget* window, const std::wstring& window_name, gfx::Rect* bounds) const { return false; } - virtual bool GetSavedMaximizedState(views::Window* window, + virtual bool GetSavedMaximizedState(const views::Widget* window, const std::wstring& window_name, bool* maximized) const { return false; diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc index 736a2f1..6260f17 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_bubble_view.cc @@ -33,7 +33,6 @@ #include "views/layout/grid_layout.h" #include "views/layout/layout_constants.h" #include "views/window/client_view.h" -#include "views/window/window.h" using views::ColumnSet; using views::GridLayout; diff --git a/chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc index 6fd396b..6198ab8 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc @@ -30,7 +30,6 @@ #include "views/layout/grid_layout.h" #include "views/layout/layout_constants.h" #include "views/widget/widget.h" -#include "views/window/window.h" using views::Button; using views::ColumnSet; @@ -152,7 +151,7 @@ gfx::Size BookmarkEditorView::GetPreferredSize() { if (!show_tree_) return views::View::GetPreferredSize(); - return gfx::Size(views::Window::GetLocalizedContentsSize( + return gfx::Size(views::Widget::GetLocalizedContentsSize( IDS_EDITBOOKMARK_DIALOG_WIDTH_CHARS, IDS_EDITBOOKMARK_DIALOG_HEIGHT_LINES)); } @@ -224,11 +223,11 @@ void BookmarkEditorView::ExecuteCommand(int command_id) { } void BookmarkEditorView::Show(HWND parent_hwnd) { - views::Window::CreateChromeWindow(parent_hwnd, gfx::Rect(), this); + views::Widget::CreateWindowWithParent(this, parent_hwnd); UserInputChanged(); if (show_tree_ && bb_model_->IsLoaded()) ExpandAndSelect(); - window()->Show(); + GetWidget()->Show(); // Select all the text in the name Textfield. title_tf_.SelectAll(); // Give focus to the name Textfield. @@ -236,8 +235,8 @@ void BookmarkEditorView::Show(HWND parent_hwnd) { } void BookmarkEditorView::Close() { - DCHECK(window()); - window()->Close(); + DCHECK(GetWidget()); + GetWidget()->Close(); } void BookmarkEditorView::ShowContextMenuForView(View* source, @@ -391,7 +390,7 @@ void BookmarkEditorView::BookmarkNodeRemoved(BookmarkModel* model, details_.existing_node->HasAncestor(node)) || (parent_ && parent_->HasAncestor(node))) { // The node, or its parent was removed. Close the dialog. - window()->Close(); + GetWidget()->Close(); } else { Reset(); } diff --git a/chrome/browser/ui/views/bookmarks/bookmark_editor_view.h b/chrome/browser/ui/views/bookmarks/bookmark_editor_view.h index 69b4a8a..c73b52d 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_editor_view.h +++ b/chrome/browser/ui/views/bookmarks/bookmark_editor_view.h @@ -22,7 +22,6 @@ namespace views { class Label; class Menu2; class NativeButton; -class Window; } class BookmarkEditorViewTest; @@ -41,10 +40,9 @@ class Profile; // To use BookmarkEditorView invoke the static show method. class BookmarkEditorView : public BookmarkEditor, - public views::View, public views::ButtonListener, public views::TreeViewController, - public views::DialogDelegate, + public views::DialogDelegateView, public views::TextfieldController, public views::ContextMenuController, public ui::SimpleMenuModel::Delegate, diff --git a/chrome/browser/ui/views/browser_actions_container.cc b/chrome/browser/ui/views/browser_actions_container.cc index 21f7864..f7649f7 100644 --- a/chrome/browser/ui/views/browser_actions_container.cc +++ b/chrome/browser/ui/views/browser_actions_container.cc @@ -46,7 +46,6 @@ #include "views/controls/menu/menu_model_adapter.h" #include "views/drag_utils.h" #include "views/metrics.h" -#include "views/window/window.h" // Horizontal spacing between most items in the container, as well as after the // last item or chevron (if visible). diff --git a/chrome/browser/ui/views/browser_bubble.cc b/chrome/browser/ui/views/browser_bubble.cc index c960bdd..6dcd658 100644 --- a/chrome/browser/ui/views/browser_bubble.cc +++ b/chrome/browser/ui/views/browser_bubble.cc @@ -8,7 +8,7 @@ #if defined(OS_WIN) #include "chrome/browser/external_tab_container_win.h" #endif -#include "views/window/window.h" +#include "views/widget/widget.h" namespace { @@ -17,7 +17,7 @@ BrowserBubbleHost* GetBubbleHostFromFrame(views::Widget* frame) { return NULL; BrowserBubbleHost* bubble_host = NULL; - views::Window* window = frame->GetContainingWindow(); + views::Widget* window = frame->GetTopLevelWidget(); if (window) { bubble_host = BrowserView::GetBrowserViewForNativeWindow( window->GetNativeWindow()); diff --git a/chrome/browser/ui/views/browser_bubble_win.cc b/chrome/browser/ui/views/browser_bubble_win.cc index 3696019..e53b7aa 100644 --- a/chrome/browser/ui/views/browser_bubble_win.cc +++ b/chrome/browser/ui/views/browser_bubble_win.cc @@ -9,7 +9,7 @@ #include "chrome/browser/ui/views/frame/browser_view.h" #include "views/widget/root_view.h" #include "views/widget/native_widget_win.h" -#include "views/window/window.h" +#include "views/widget/widget.h" class BubbleWidget : public views::NativeWidgetWin { public: diff --git a/chrome/browser/ui/views/browser_dialogs.h b/chrome/browser/ui/views/browser_dialogs.h index 21dda5c..a9575e53 100644 --- a/chrome/browser/ui/views/browser_dialogs.h +++ b/chrome/browser/ui/views/browser_dialogs.h @@ -35,7 +35,6 @@ class Size; namespace views { class Widget; -class Window; } namespace browser { @@ -51,7 +50,7 @@ void HideBookmarkBubbleView(); bool IsBookmarkBubbleViewShowing(); // Shows the about dialog. See AboutChromeView. -views::Window* ShowAboutChromeView(gfx::NativeWindow parent, +views::Widget* ShowAboutChromeView(gfx::NativeWindow parent, Profile* profile); // Creates and returns a find bar for the given browser window. See FindBarWin. diff --git a/chrome/browser/ui/views/bubble/bubble.cc b/chrome/browser/ui/views/bubble/bubble.cc index 5fa32e7..477e96b 100644 --- a/chrome/browser/ui/views/bubble/bubble.cc +++ b/chrome/browser/ui/views/bubble/bubble.cc @@ -14,7 +14,6 @@ #include "views/layout/fill_layout.h" #include "views/widget/widget.h" #include "views/window/client_view.h" -#include "views/window/window.h" #if defined(OS_CHROMEOS) #include "chrome/browser/chromeos/wm_ipc.h" @@ -173,7 +172,7 @@ void Bubble::InitBubble(views::Widget* parent, // Create the main window. #if defined(OS_WIN) - views::Window* parent_window = parent->GetContainingWindow(); + views::Widget* parent_window = parent->GetTopLevelWidget(); if (parent_window) parent_window->DisableInactiveRendering(); set_window_style(WS_POPUP | WS_CLIPCHILDREN); diff --git a/chrome/browser/ui/views/chrome_views_delegate.cc b/chrome/browser/ui/views/chrome_views_delegate.cc index a72e548..fef4e22 100644 --- a/chrome/browser/ui/views/chrome_views_delegate.cc +++ b/chrome/browser/ui/views/chrome_views_delegate.cc @@ -19,7 +19,6 @@ #include "ui/gfx/rect.h" #include "views/widget/native_widget.h" #include "views/widget/widget.h" -#include "views/window/window.h" #if defined(OS_WIN) #include "chrome/browser/app_icon_win.h" @@ -33,10 +32,9 @@ namespace { // been initialized. // TODO(mirandac): This function will also separate windows by profile in a // multi-profile environment. -PrefService* GetPrefsForWindow(views::Window* window) { +PrefService* GetPrefsForWindow(const views::Widget* window) { Profile* profile = reinterpret_cast<Profile*>( - window->AsWidget()->native_widget()->GetNativeWindowProperty( - Profile::kProfileKey)); + window->native_widget()->GetNativeWindowProperty(Profile::kProfileKey)); if (!profile) { // Use local state for windows that have no explicit profile. return g_browser_process->local_state(); @@ -53,7 +51,7 @@ ui::Clipboard* ChromeViewsDelegate::GetClipboard() const { return g_browser_process->clipboard(); } -void ChromeViewsDelegate::SaveWindowPlacement(views::Window* window, +void ChromeViewsDelegate::SaveWindowPlacement(const views::Widget* window, const std::wstring& window_name, const gfx::Rect& bounds, bool maximized) { @@ -80,7 +78,7 @@ void ChromeViewsDelegate::SaveWindowPlacement(views::Window* window, window_preferences->SetInteger("work_area_bottom", work_area.bottom()); } -bool ChromeViewsDelegate::GetSavedWindowBounds(views::Window* window, +bool ChromeViewsDelegate::GetSavedWindowBounds(const views::Widget* window, const std::wstring& window_name, gfx::Rect* bounds) const { PrefService* prefs = GetPrefsForWindow(window); @@ -102,7 +100,7 @@ bool ChromeViewsDelegate::GetSavedWindowBounds(views::Window* window, } bool ChromeViewsDelegate::GetSavedMaximizedState( - views::Window* window, + const views::Widget* window, const std::wstring& window_name, bool* maximized) const { PrefService* prefs = GetPrefsForWindow(window); diff --git a/chrome/browser/ui/views/chrome_views_delegate.h b/chrome/browser/ui/views/chrome_views_delegate.h index 8f8e67c..210ee06 100644 --- a/chrome/browser/ui/views/chrome_views_delegate.h +++ b/chrome/browser/ui/views/chrome_views_delegate.h @@ -12,10 +12,6 @@ #include "ui/base/accessibility/accessibility_types.h" #include "views/views_delegate.h" -namespace views { -class Window; -} - class ChromeViewsDelegate : public views::ViewsDelegate { public: ChromeViewsDelegate() {} @@ -23,14 +19,14 @@ class ChromeViewsDelegate : public views::ViewsDelegate { // Overridden from views::ViewsDelegate: virtual ui::Clipboard* GetClipboard() const OVERRIDE; - virtual void SaveWindowPlacement(views::Window* window, + virtual void SaveWindowPlacement(const views::Widget* window, const std::wstring& window_name, const gfx::Rect& bounds, bool maximized) OVERRIDE; - virtual bool GetSavedWindowBounds(views::Window* window, + virtual bool GetSavedWindowBounds(const views::Widget* window, const std::wstring& window_name, gfx::Rect* bounds) const OVERRIDE; - virtual bool GetSavedMaximizedState(views::Window* window, + virtual bool GetSavedMaximizedState(const views::Widget* window, const std::wstring& window_name, bool* maximized) const OVERRIDE; virtual void NotifyAccessibilityEvent( diff --git a/chrome/browser/ui/views/collected_cookies_win.cc b/chrome/browser/ui/views/collected_cookies_win.cc index 1b23611c..5d2cda8 100644 --- a/chrome/browser/ui/views/collected_cookies_win.cc +++ b/chrome/browser/ui/views/collected_cookies_win.cc @@ -27,7 +27,7 @@ #include "views/layout/box_layout.h" #include "views/layout/grid_layout.h" #include "views/layout/layout_constants.h" -#include "views/window/window.h" +#include "views/widget/widget.h" namespace browser { @@ -387,6 +387,14 @@ views::View* CollectedCookiesWin::GetContentsView() { return this; } +views::Widget* CollectedCookiesWin::GetWidget() { + return View::GetWidget(); +} + +const views::Widget* CollectedCookiesWin::GetWidget() const { + return View::GetWidget(); +} + /////////////////////////////////////////////////////////////////////////////// // views::ButtonListener implementation. diff --git a/chrome/browser/ui/views/collected_cookies_win.h b/chrome/browser/ui/views/collected_cookies_win.h index b05f8d6..329638d 100644 --- a/chrome/browser/ui/views/collected_cookies_win.h +++ b/chrome/browser/ui/views/collected_cookies_win.h @@ -51,6 +51,8 @@ class CollectedCookiesWin : public ConstrainedDialogDelegate, virtual void DeleteDelegate() OVERRIDE; virtual bool Cancel() OVERRIDE; virtual views::View* GetContentsView() OVERRIDE; + virtual views::Widget* GetWidget() OVERRIDE; + virtual const views::Widget* GetWidget() const OVERRIDE; // views::ButtonListener: virtual void ButtonPressed(views::Button* sender, diff --git a/chrome/browser/ui/views/compact_nav/compact_location_bar_view.cc b/chrome/browser/ui/views/compact_nav/compact_location_bar_view.cc index dd9fd3b..2dbac47 100644 --- a/chrome/browser/ui/views/compact_nav/compact_location_bar_view.cc +++ b/chrome/browser/ui/views/compact_nav/compact_location_bar_view.cc @@ -39,7 +39,6 @@ #include "views/controls/button/image_button.h" #include "views/controls/native/native_view_host.h" #include "views/widget/widget.h" -#include "views/window/window.h" namespace { diff --git a/chrome/browser/ui/views/constrained_html_delegate_win.cc b/chrome/browser/ui/views/constrained_html_delegate_win.cc index 0f4ab34..33d532e 100644 --- a/chrome/browser/ui/views/constrained_html_delegate_win.cc +++ b/chrome/browser/ui/views/constrained_html_delegate_win.cc @@ -11,7 +11,7 @@ #include "content/browser/tab_contents/tab_contents.h" #include "ui/gfx/rect.h" #include "views/view.h" -#include "views/window/window_delegate.h" +#include "views/widget/widget_delegate.h" class ConstrainedHtmlDelegateWin : public TabContentsContainer, public ConstrainedHtmlUIDelegate, @@ -26,7 +26,7 @@ class ConstrainedHtmlDelegateWin : public TabContentsContainer, virtual HtmlDialogUIDelegate* GetHtmlDialogUIDelegate(); virtual void OnDialogClose(); - // ConstrainedWindowDelegate (aka views::WindowDelegate) interface. + // ConstrainedWindowDelegate (aka views::WidgetDelegate) interface. virtual bool CanResize() const { return true; } virtual views::View* GetContentsView() { return this; diff --git a/chrome/browser/ui/views/constrained_window_views.cc b/chrome/browser/ui/views/constrained_window_views.cc index e6fb0bd..5679c37 100644 --- a/chrome/browser/ui/views/constrained_window_views.cc +++ b/chrome/browser/ui/views/constrained_window_views.cc @@ -28,16 +28,14 @@ #include "ui/gfx/rect.h" #include "views/controls/button/image_button.h" #include "views/focus/focus_manager.h" +#include "views/widget/widget.h" #include "views/window/client_view.h" -#include "views/window/native_window.h" #include "views/window/non_client_view.h" #include "views/window/window_resources.h" #include "views/window/window_shape.h" -#include "views/window/window.h" #if defined(OS_WIN) #include "views/widget/native_widget_win.h" -#include "views/window/native_window_win.h" #endif using base::TimeDelta; @@ -274,7 +272,7 @@ ConstrainedWindowFrameView::ConstrainedWindowFrameView( // Constrained windows always use the custom frame - they just have a // different set of bitmaps. - container->set_frame_type(views::Window::FRAME_TYPE_FORCE_CUSTOM); + container->set_frame_type(views::Widget::FRAME_TYPE_FORCE_CUSTOM); ResourceBundle& rb = ResourceBundle::GetSharedInstance(); close_button_->SetImage(views::CustomButton::BS_NORMAL, @@ -335,7 +333,7 @@ int ConstrainedWindowFrameView::NonClientHitTest(const gfx::Point& point) { int window_component = GetHTComponentForFrame(point, kFrameBorderThickness, NonClientBorderThickness(), kResizeAreaCornerSize, kResizeAreaCornerSize, - container_->window_delegate()->CanResize()); + container_->widget_delegate()->CanResize()); // Fall back to the caption if no other component matches. return (window_component == HTNOWHERE) ? HTCAPTION : window_component; } @@ -490,7 +488,7 @@ void ConstrainedWindowFrameView::PaintFrameBorder(gfx::Canvas* canvas) { void ConstrainedWindowFrameView::PaintTitleBar(gfx::Canvas* canvas) { canvas->DrawStringInt( - container_->window_delegate()->GetWindowTitle(), + container_->widget_delegate()->GetWindowTitle(), *title_font_, GetTitleColor(), GetMirroredXForRect(title_bounds_), title_bounds_.y(), title_bounds_.width(), title_bounds_.height()); } @@ -556,7 +554,7 @@ void ConstrainedWindowFrameView::InitClass() { static bool initialized = false; if (!initialized) { #if defined(OS_WIN) - title_font_ = new gfx::Font(views::NativeWindowWin::GetWindowTitleFont()); + title_font_ = new gfx::Font(views::NativeWidgetWin::GetWindowTitleFont()); #endif initialized = true; } @@ -567,17 +565,16 @@ void ConstrainedWindowFrameView::InitClass() { ConstrainedWindowViews::ConstrainedWindowViews( TabContents* owner, - views::WindowDelegate* window_delegate) + views::WidgetDelegate* widget_delegate) : owner_(owner), ALLOW_THIS_IN_INITIALIZER_LIST(native_constrained_window_( NativeConstrainedWindow::CreateNativeConstrainedWindow(this))) { - views::Window::InitParams params(window_delegate); - params.native_window = native_constrained_window_->AsNativeWindow(); - params.widget_init_params.child = true; - params.widget_init_params.parent = owner->GetNativeView(); - params.widget_init_params.native_widget = - native_constrained_window_->AsNativeWindow()->AsNativeWidget(); - InitWindow(params); + views::Widget::InitParams params; + params.delegate = widget_delegate; + params.child = true; + params.parent = owner->GetNativeView(); + params.native_widget = native_constrained_window_->AsNativeWidget(); + Init(params); } ConstrainedWindowViews::~ConstrainedWindowViews() { @@ -609,9 +606,9 @@ void ConstrainedWindowViews::CloseConstrainedWindow() { void ConstrainedWindowViews::FocusConstrainedWindow() { if ((!owner_->delegate() || owner_->delegate()->ShouldFocusConstrainedWindow()) && - window_delegate() && - window_delegate()->GetInitiallyFocusedView()) { - window_delegate()->GetInitiallyFocusedView()->RequestFocus(); + widget_delegate() && + widget_delegate()->GetInitiallyFocusedView()) { + widget_delegate()->GetInitiallyFocusedView()->RequestFocus(); } } @@ -635,8 +632,8 @@ void ConstrainedWindowViews::OnNativeConstrainedWindowMouseActivate() { Activate(); } -views::internal::NativeWindowDelegate* - ConstrainedWindowViews::AsNativeWindowDelegate() { +views::internal::NativeWidgetDelegate* + ConstrainedWindowViews::AsNativeWidgetDelegate() { return this; } @@ -647,6 +644,6 @@ views::internal::NativeWindowDelegate* // static ConstrainedWindow* ConstrainedWindow::CreateConstrainedDialog( TabContents* parent, - views::WindowDelegate* window_delegate) { - return new ConstrainedWindowViews(parent, window_delegate); + views::WidgetDelegate* widget_delegate) { + return new ConstrainedWindowViews(parent, widget_delegate); } diff --git a/chrome/browser/ui/views/constrained_window_views.h b/chrome/browser/ui/views/constrained_window_views.h index 14a93c2..15a69c0 100644 --- a/chrome/browser/ui/views/constrained_window_views.h +++ b/chrome/browser/ui/views/constrained_window_views.h @@ -10,19 +10,18 @@ #include "content/browser/tab_contents/constrained_window.h" #include "ui/gfx/native_widget_types.h" #include "ui/gfx/rect.h" -#include "views/window/window.h" +#include "views/widget/widget.h" class ConstrainedTabContentsWindowDelegate; class ConstrainedWindowAnimation; class ConstrainedWindowFrameView; namespace views { namespace internal { -class NativeWindowDelegate; +class NativeWidgetDelegate; } -class NativeWindow; +class NativeWidget; class NonClientFrameView; -class Window; -class WindowDelegate; +class WidgetDelegate; } class NativeConstrainedWindowDelegate { @@ -36,7 +35,7 @@ class NativeConstrainedWindowDelegate { // Called when the NativeConstrainedWindow is clicked on when inactive. virtual void OnNativeConstrainedWindowMouseActivate() = 0; - virtual views::internal::NativeWindowDelegate* AsNativeWindowDelegate() = 0; + virtual views::internal::NativeWidgetDelegate* AsNativeWidgetDelegate() = 0; }; class NativeConstrainedWindow { @@ -47,7 +46,7 @@ class NativeConstrainedWindow { static NativeConstrainedWindow* CreateNativeConstrainedWindow( NativeConstrainedWindowDelegate* delegate); - virtual views::NativeWindow* AsNativeWindow() = 0; + virtual views::NativeWidget* AsNativeWidget() = 0; }; /////////////////////////////////////////////////////////////////////////////// @@ -56,12 +55,12 @@ class NativeConstrainedWindow { // A ConstrainedWindow implementation that implements a Constrained Window as // a child HWND with a custom window frame. // -class ConstrainedWindowViews : public views::Window, +class ConstrainedWindowViews : public views::Widget, public ConstrainedWindow, public NativeConstrainedWindowDelegate { public: ConstrainedWindowViews(TabContents* owner, - views::WindowDelegate* window_delegate); + views::WidgetDelegate* widget_delegate); virtual ~ConstrainedWindowViews(); // Returns the TabContents that constrains this Constrained Window. @@ -73,14 +72,14 @@ class ConstrainedWindowViews : public views::Window, virtual void FocusConstrainedWindow() OVERRIDE; private: - // Overridden from views::Window: + // Overridden from views::Widget: virtual views::NonClientFrameView* CreateNonClientFrameView() OVERRIDE; // Overridden from NativeConstrainedWindowDelegate: virtual void OnNativeConstrainedWindowDestroyed() OVERRIDE; virtual void OnNativeConstrainedWindowMouseActivate() OVERRIDE; - virtual views::internal::NativeWindowDelegate* - AsNativeWindowDelegate() OVERRIDE; + virtual views::internal::NativeWidgetDelegate* + AsNativeWidgetDelegate() OVERRIDE; // The TabContents that owns and constrains this ConstrainedWindow. TabContents* owner_; diff --git a/chrome/browser/ui/views/create_application_shortcut_view.cc b/chrome/browser/ui/views/create_application_shortcut_view.cc index bcc4af4..022b7d6 100644 --- a/chrome/browser/ui/views/create_application_shortcut_view.cc +++ b/chrome/browser/ui/views/create_application_shortcut_view.cc @@ -36,7 +36,7 @@ #include "views/controls/label.h" #include "views/layout/grid_layout.h" #include "views/layout/layout_constants.h" -#include "views/window/window.h" +#include "views/widget/widget.h" namespace { @@ -198,15 +198,17 @@ namespace browser { void ShowCreateWebAppShortcutsDialog(gfx::NativeWindow parent_window, TabContentsWrapper* tab_contents) { - views::Window::CreateChromeWindow(parent_window, gfx::Rect(), - new CreateUrlApplicationShortcutView(tab_contents))->Show(); + views::Widget::CreateWindowWithParent( + new CreateUrlApplicationShortcutView(tab_contents), + parent_window)->Show(); } void ShowCreateChromeAppShortcutsDialog(gfx::NativeWindow parent_window, Profile* profile, const Extension* app) { - views::Window::CreateChromeWindow(parent_window, gfx::Rect(), - new CreateChromeApplicationShortcutView(profile, app))->Show(); + views::Widget::CreateWindowWithParent( + new CreateChromeApplicationShortcutView(profile, app), + parent_window)->Show(); } } // namespace browser diff --git a/chrome/browser/ui/views/create_application_shortcut_view.h b/chrome/browser/ui/views/create_application_shortcut_view.h index 5f4efae..2117116 100644 --- a/chrome/browser/ui/views/create_application_shortcut_view.h +++ b/chrome/browser/ui/views/create_application_shortcut_view.h @@ -18,7 +18,6 @@ namespace views { class Checkbox; class Label; -class Window; }; // namespace views class Extension; diff --git a/chrome/browser/ui/views/default_search_view.cc b/chrome/browser/ui/views/default_search_view.cc index 1e0d72c..12da394 100644 --- a/chrome/browser/ui/views/default_search_view.cc +++ b/chrome/browser/ui/views/default_search_view.cc @@ -25,7 +25,7 @@ #include "views/layout/grid_layout.h" #include "views/layout/layout_constants.h" #include "views/window/dialog_client_view.h" -#include "views/window/window.h" +#include "views/widget/widget.h" namespace { @@ -226,7 +226,7 @@ void DefaultSearchView::SetupControls(PrefService* prefs) { layout->AddColumnSet(kWholeDialogViewSetId); whole_dialog_column_set->AddColumn(GridLayout::LEADING, GridLayout::LEADING, 1, GridLayout::FIXED, - views::Window::GetLocalizedContentsWidth( + views::Widget::GetLocalizedContentsWidth( IDS_DEFAULT_SEARCH_WIDTH_CHARS), 0); diff --git a/chrome/browser/ui/views/download/download_in_progress_dialog_view.cc b/chrome/browser/ui/views/download/download_in_progress_dialog_view.cc index 722f10f..47045a8 100644 --- a/chrome/browser/ui/views/download/download_in_progress_dialog_view.cc +++ b/chrome/browser/ui/views/download/download_in_progress_dialog_view.cc @@ -18,7 +18,7 @@ #include "views/border.h" #include "views/controls/label.h" #include "views/layout/grid_layout.h" -#include "views/window/window.h" +#include "views/widget/widget.h" DownloadInProgressDialogView::DownloadInProgressDialogView(Browser* browser) : browser_(browser), @@ -79,7 +79,7 @@ DownloadInProgressDialogView::DownloadInProgressDialogView(Browser* browser) layout->StartRow(0, columnset_id); layout->AddView(explanation_); - dialog_dimensions_ = views::Window::GetLocalizedContentsSize( + dialog_dimensions_ = views::Widget::GetLocalizedContentsSize( IDS_DOWNLOAD_IN_PROGRESS_WIDTH_CHARS, IDS_DOWNLOAD_IN_PROGRESS_MINIMUM_HEIGHT_LINES); const int height = diff --git a/chrome/browser/ui/views/edit_search_engine_dialog.cc b/chrome/browser/ui/views/edit_search_engine_dialog.cc index a727fdb..767593e 100644 --- a/chrome/browser/ui/views/edit_search_engine_dialog.cc +++ b/chrome/browser/ui/views/edit_search_engine_dialog.cc @@ -21,7 +21,7 @@ #include "views/controls/textfield/textfield.h" #include "views/layout/grid_layout.h" #include "views/layout/layout_constants.h" -#include "views/window/window.h" +#include "views/widget/widget.h" using views::GridLayout; using views::ImageView; @@ -66,8 +66,8 @@ void EditSearchEngineDialog::Show(gfx::NativeWindow parent, new EditSearchEngineDialog(template_url, delegate, profile); // Window interprets an empty rectangle as needing to query the content for // the size as well as centering relative to the parent. - views::Window::CreateChromeWindow(parent, gfx::Rect(), contents); - contents->window()->Show(); + views::Widget::CreateWindowWithParent(contents, parent); + contents->GetWidget()->Show(); contents->GetDialogClientView()->UpdateDialogButtons(); contents->title_tf_->SelectAll(); contents->title_tf_->RequestFocus(); diff --git a/chrome/browser/ui/views/edit_search_engine_dialog.h b/chrome/browser/ui/views/edit_search_engine_dialog.h index 9d7ffcc..b944fac 100644 --- a/chrome/browser/ui/views/edit_search_engine_dialog.h +++ b/chrome/browser/ui/views/edit_search_engine_dialog.h @@ -19,7 +19,6 @@ namespace views { class Label; class ImageView; -class Window; } class EditSearchEngineController; @@ -28,9 +27,8 @@ class Profile; class TemplateURL; class TemplateURLService; -class EditSearchEngineDialog : public views::View, - public views::TextfieldController, - public views::DialogDelegate { +class EditSearchEngineDialog : public views::TextfieldController, + public views::DialogDelegateView { public: // The |template_url| and/or |delegate| may be NULL. EditSearchEngineDialog(const TemplateURL* template_url, diff --git a/chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.cc b/chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.cc index dbdf75e..0ed6a2f 100644 --- a/chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.cc +++ b/chrome/browser/ui/views/extensions/browser_action_overflow_menu_controller.cc @@ -16,7 +16,7 @@ #include "views/controls/menu/menu_item_view.h" #include "views/controls/menu/menu_model_adapter.h" #include "views/controls/menu/submenu_view.h" -#include "views/window/window.h" +#include "views/widget/widget.h" BrowserActionOverflowMenuController::BrowserActionOverflowMenuController( BrowserActionsContainer* owner, diff --git a/chrome/browser/ui/views/extensions/extension_dialog.cc b/chrome/browser/ui/views/extensions/extension_dialog.cc index 50ac515..4455ec0 100644 --- a/chrome/browser/ui/views/extensions/extension_dialog.cc +++ b/chrome/browser/ui/views/extensions/extension_dialog.cc @@ -19,7 +19,7 @@ #include "content/common/notification_type.h" #include "googleurl/src/gurl.h" #include "views/widget/root_view.h" -#include "views/window/window.h" +#include "views/widget/widget.h" #if defined(OS_CHROMEOS) #include "chrome/browser/chromeos/wm_ipc.h" @@ -101,7 +101,7 @@ void ExtensionDialog::Show(bool activate) { return; #if defined(OS_WIN) - frame_->GetContainingWindow()->DisableInactiveRendering(); + frame_->GetTopLevelWidget()->DisableInactiveRendering(); #endif BrowserBubble::Show(activate); diff --git a/chrome/browser/ui/views/extensions/extension_install_dialog_view.cc b/chrome/browser/ui/views/extensions/extension_install_dialog_view.cc index 27a52e2..99f4e7e 100644 --- a/chrome/browser/ui/views/extensions/extension_install_dialog_view.cc +++ b/chrome/browser/ui/views/extensions/extension_install_dialog_view.cc @@ -18,8 +18,8 @@ #include "views/controls/label.h" #include "views/layout/layout_constants.h" #include "views/view.h" +#include "views/widget/widget.h" #include "views/window/dialog_delegate.h" -#include "views/window/window.h" namespace { @@ -338,7 +338,7 @@ void ShowExtensionInstallDialog( ExtensionInstallDialogView* dialog = new ExtensionInstallDialogView( delegate, extension, icon, permissions, type); - views::Window* window = browser::CreateViewsWindow( + views::Widget* window = browser::CreateViewsWindow( browser_window->GetNativeHandle(), gfx::Rect(), dialog); window->Show(); diff --git a/chrome/browser/ui/views/extensions/extension_popup.cc b/chrome/browser/ui/views/extensions/extension_popup.cc index 121f0b7..4007371 100644 --- a/chrome/browser/ui/views/extensions/extension_popup.cc +++ b/chrome/browser/ui/views/extensions/extension_popup.cc @@ -21,7 +21,7 @@ #include "content/common/notification_source.h" #include "content/common/notification_type.h" #include "views/widget/root_view.h" -#include "views/window/window.h" +#include "views/widget/widget.h" #if defined(OS_CHROMEOS) #include "chrome/browser/chromeos/wm_ipc.h" @@ -77,7 +77,7 @@ void ExtensionPopup::Show(bool activate) { return; #if defined(OS_WIN) - frame_->GetContainingWindow()->DisableInactiveRendering(); + frame_->GetTopLevelWidget()->DisableInactiveRendering(); #endif ResizeToView(); diff --git a/chrome/browser/ui/views/extensions/extension_uninstall_dialog_view.cc b/chrome/browser/ui/views/extensions/extension_uninstall_dialog_view.cc index 1e6af5d..74fdd9e 100644 --- a/chrome/browser/ui/views/extensions/extension_uninstall_dialog_view.cc +++ b/chrome/browser/ui/views/extensions/extension_uninstall_dialog_view.cc @@ -18,8 +18,8 @@ #include "views/controls/label.h" #include "views/layout/layout_constants.h" #include "views/view.h" +#include "views/widget/widget.h" #include "views/window/dialog_delegate.h" -#include "views/window/window.h" namespace { diff --git a/chrome/browser/ui/views/external_protocol_dialog.cc b/chrome/browser/ui/views/external_protocol_dialog.cc index 3a9b63f..99e5ece 100644 --- a/chrome/browser/ui/views/external_protocol_dialog.cc +++ b/chrome/browser/ui/views/external_protocol_dialog.cc @@ -19,7 +19,7 @@ #include "ui/base/message_box_flags.h" #include "ui/base/text/text_elider.h" #include "views/controls/message_box_view.h" -#include "views/window/window.h" +#include "views/widget/widget.h" namespace { @@ -157,7 +157,7 @@ ExternalProtocolDialog::ExternalProtocolDialog(TabContents* tab_contents, root_hwnd = NULL; } - views::Window::CreateChromeWindow(root_hwnd, gfx::Rect(), this)->Show(); + views::Widget::CreateWindowWithParent(this, root_hwnd)->Show(); } // static diff --git a/chrome/browser/ui/views/file_manager_dialog.cc b/chrome/browser/ui/views/file_manager_dialog.cc index d2da11e..543d347 100644 --- a/chrome/browser/ui/views/file_manager_dialog.cc +++ b/chrome/browser/ui/views/file_manager_dialog.cc @@ -15,7 +15,6 @@ #include "chrome/browser/ui/views/window.h" #include "content/browser/browser_thread.h" #include "content/browser/tab_contents/tab_contents.h" -#include "views/window/window.h" namespace { diff --git a/chrome/browser/ui/views/first_run_bubble.cc b/chrome/browser/ui/views/first_run_bubble.cc index d1965de..7708120 100644 --- a/chrome/browser/ui/views/first_run_bubble.cc +++ b/chrome/browser/ui/views/first_run_bubble.cc @@ -25,7 +25,7 @@ #include "views/focus/focus_manager.h" #include "views/layout/layout_constants.h" #include "views/widget/native_widget_win.h" -#include "views/window/window.h" +#include "views/widget/widget.h" namespace { @@ -201,7 +201,7 @@ void FirstRunBubbleView::Layout() { } gfx::Size FirstRunBubbleView::GetPreferredSize() { - return gfx::Size(views::Window::GetLocalizedContentsSize( + return gfx::Size(views::Widget::GetLocalizedContentsSize( IDS_FIRSTRUNBUBBLE_DIALOG_WIDTH_CHARS, IDS_FIRSTRUNBUBBLE_DIALOG_HEIGHT_LINES)); } @@ -453,7 +453,7 @@ void FirstRunMinimalBubbleView::Layout() { } gfx::Size FirstRunMinimalBubbleView::GetPreferredSize() { - return gfx::Size(views::Window::GetLocalizedContentsSize( + return gfx::Size(views::Widget::GetLocalizedContentsSize( IDS_FIRSTRUN_MINIMAL_BUBBLE_DIALOG_WIDTH_CHARS, IDS_FIRSTRUN_MINIMAL_BUBBLE_DIALOG_HEIGHT_LINES)); } @@ -517,7 +517,7 @@ void FirstRunBubble::EnableParent() { views::NativeWidget* parent = views::NativeWidget::GetNativeWidgetForNativeView(GetParent()); if (parent) - parent->GetWidget()->GetContainingWindow()->DisableInactiveRendering(); + parent->GetWidget()->GetTopLevelWidget()->DisableInactiveRendering(); // Reactivate the FirstRunBubble so it responds to OnActivate messages. SetWindowPos(GetParent(), 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOREDRAW | SWP_SHOWWINDOW); diff --git a/chrome/browser/ui/views/first_run_search_engine_view.cc b/chrome/browser/ui/views/first_run_search_engine_view.cc index f554420..98ce3b4 100644 --- a/chrome/browser/ui/views/first_run_search_engine_view.cc +++ b/chrome/browser/ui/views/first_run_search_engine_view.cc @@ -37,7 +37,6 @@ #include "views/layout/layout_constants.h" #include "views/view_text_utils.h" #include "views/widget/widget.h" -#include "views/window/window.h" namespace { @@ -64,9 +63,7 @@ void ShowFirstRunDialog(Profile* profile, return; } - views::Window* window = views::Window::CreateChromeWindow( - NULL, - gfx::Rect(), + views::Widget* window = views::Widget::CreateWindow( new FirstRunSearchEngineView( profile, randomize_search_engine_experiment)); DCHECK(window); @@ -301,7 +298,7 @@ void FirstRunSearchEngineView::OnTemplateURLServiceChanged() { } gfx::Size FirstRunSearchEngineView::GetPreferredSize() { - return views::Window::GetLocalizedContentsSize( + return views::Widget::GetLocalizedContentsSize( IDS_FIRSTRUN_SEARCH_ENGINE_SELECTION_WIDTH_CHARS, IDS_FIRSTRUN_SEARCH_ENGINE_SELECTION_HEIGHT_LINES); } diff --git a/chrome/browser/ui/views/first_run_search_engine_view.h b/chrome/browser/ui/views/first_run_search_engine_view.h index 95252ff..d689f7f 100644 --- a/chrome/browser/ui/views/first_run_search_engine_view.h +++ b/chrome/browser/ui/views/first_run_search_engine_view.h @@ -12,14 +12,13 @@ #include "ui/gfx/size.h" #include "views/controls/button/native_button.h" #include "views/view.h" -#include "views/window/window_delegate.h" +#include "views/widget/widget_delegate.h" namespace views { class ButtonListener; class ImageView; class Label; class Separator; -class Window; } class Profile; @@ -77,9 +76,8 @@ class SearchEngineChoice : public views::NativeButton { // This class displays a large search engine choice dialog view during // initial first run import. class FirstRunSearchEngineView - : public views::View, - public views::ButtonListener, - public views::WindowDelegate, + : public views::ButtonListener, + public views::WidgetDelegateView, public TemplateURLServiceObserver { public: // |profile| allows us to get the set of imported search engines. @@ -96,7 +94,7 @@ class FirstRunSearchEngineView virtual void Layout() OVERRIDE; virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; - // Overridden from views::WindowDelegate: + // Overridden from views::WidgetDelegate: virtual std::wstring GetWindowTitle() const OVERRIDE; views::View* GetContentsView() OVERRIDE { return this; } bool CanResize() const OVERRIDE{ return false; } diff --git a/chrome/browser/ui/views/frame/app_panel_browser_frame_view.cc b/chrome/browser/ui/views/frame/app_panel_browser_frame_view.cc index 68816a2..a5ed604 100644 --- a/chrome/browser/ui/views/frame/app_panel_browser_frame_view.cc +++ b/chrome/browser/ui/views/frame/app_panel_browser_frame_view.cc @@ -19,7 +19,8 @@ #include "ui/gfx/font.h" #include "ui/gfx/path.h" #include "views/controls/button/image_button.h" -#include "views/window/window.h" +#include "views/widget/widget.h" +#include "views/widget/widget_delegate.h" #include "views/window/window_resources.h" #if !defined(OS_WIN) @@ -65,7 +66,7 @@ AppPanelBrowserFrameView::AppPanelBrowserFrameView(BrowserFrame* frame, DCHECK(browser_view->ShouldShowWindowIcon()); DCHECK(browser_view->ShouldShowWindowTitle()); - frame_->set_frame_type(views::Window::FRAME_TYPE_FORCE_CUSTOM); + frame_->set_frame_type(views::Widget::FRAME_TYPE_FORCE_CUSTOM); ResourceBundle& rb = ResourceBundle::GetSharedInstance(); close_button_->SetImage(views::CustomButton::BS_NORMAL, @@ -164,7 +165,7 @@ int AppPanelBrowserFrameView::NonClientHitTest(const gfx::Point& point) { int window_component = GetHTComponentForFrame(point, NonClientBorderThickness(), NonClientBorderThickness(), kResizeAreaCornerSize, kResizeAreaCornerSize, - frame_->window_delegate()->CanResize()); + frame_->widget_delegate()->CanResize()); // Fall back to the caption if no other component matches. return (window_component == HTNOWHERE) ? HTCAPTION : window_component; } @@ -248,7 +249,7 @@ bool AppPanelBrowserFrameView::ShouldTabIconViewAnimate() const { } SkBitmap AppPanelBrowserFrameView::GetFaviconForTabIconView() { - return frame_->window_delegate()->GetWindowIcon(); + return frame_->widget_delegate()->GetWindowIcon(); } /////////////////////////////////////////////////////////////////////////////// @@ -399,7 +400,7 @@ void AppPanelBrowserFrameView::PaintMaximizedFrameBorder(gfx::Canvas* canvas) { void AppPanelBrowserFrameView::PaintTitleBar(gfx::Canvas* canvas) { // The window icon is painted by the TabIconView. - views::WindowDelegate* d = frame_->window_delegate(); + views::WidgetDelegate* d = frame_->widget_delegate(); canvas->DrawStringInt(d->GetWindowTitle(), BrowserFrame::GetTitleFont(), SK_ColorBLACK, GetMirroredXForRect(title_bounds_), title_bounds_.y(), title_bounds_.width(), title_bounds_.height()); diff --git a/chrome/browser/ui/views/frame/browser_frame.cc b/chrome/browser/ui/views/frame/browser_frame.cc index 1302436..6a4a5d1 100644 --- a/chrome/browser/ui/views/frame/browser_frame.cc +++ b/chrome/browser/ui/views/frame/browser_frame.cc @@ -15,9 +15,6 @@ #include "chrome/common/chrome_switches.h" #include "ui/base/theme_provider.h" #include "views/widget/native_widget.h" -#include "views/widget/widget.h" -#include "views/window/native_window.h" -#include "views/window/window.h" #if defined(OS_WIN) #include "chrome/browser/ui/views/frame/glass_browser_frame_view.h" @@ -41,11 +38,10 @@ BrowserFrame::~BrowserFrame() { void BrowserFrame::InitBrowserFrame() { native_browser_frame_ = NativeBrowserFrame::CreateNativeBrowserFrame(this, browser_view_); - views::Window::InitParams params(browser_view_); - params.native_window = native_browser_frame_->AsNativeWindow(); - params.widget_init_params.native_widget = - params.native_window->AsNativeWidget(); - InitWindow(params); + views::Widget::InitParams params; + params.delegate = browser_view_; + params.native_widget = native_browser_frame_->AsNativeWidget(); + Init(params); #if defined(OS_CHROMEOS) // On ChromeOS we always want top-level windows to appear active. if (!browser_view_->IsBrowserTypePopup()) @@ -89,10 +85,10 @@ bool BrowserFrame::IsMaximized() const { #if defined(OS_CHROMEOS) if (!CommandLine::ForCurrentProcess()->HasSwitch(switches::kChromeosFrame)) { return !IsFullscreen() && - (!browser_view_->IsBrowserTypePopup() || Window::IsMaximized()); + (!browser_view_->IsBrowserTypePopup() || Widget::IsMaximized()); } #endif - return Window::IsMaximized(); + return Widget::IsMaximized(); } views::internal::RootView* BrowserFrame::CreateRootView() { @@ -128,12 +124,12 @@ void BrowserFrame::OnNativeWidgetActivationChanged(bool active) { if (active) { // When running under remote desktop, if the remote desktop client is not // active on the users desktop, then none of the windows contained in the - // remote desktop will be activated. However, NativeWindowWin::Activate() + // remote desktop will be activated. However, NativeWidgetWin::Activate() // will still bring this browser window to the foreground. We explicitly // set ourselves as the last active browser window to ensure that we get // treated as such by the rest of Chrome. BrowserList::SetLastActive(browser_view_->browser()); } - Window::OnNativeWidgetActivationChanged(active); + Widget::OnNativeWidgetActivationChanged(active); } diff --git a/chrome/browser/ui/views/frame/browser_frame.h b/chrome/browser/ui/views/frame/browser_frame.h index 2c5dc35..4fc1661 100644 --- a/chrome/browser/ui/views/frame/browser_frame.h +++ b/chrome/browser/ui/views/frame/browser_frame.h @@ -10,7 +10,7 @@ #include "base/logging.h" #include "build/build_config.h" #include "chrome/browser/ui/views/frame/native_browser_frame_delegate.h" -#include "views/window/window.h" +#include "views/widget/widget.h" class AeroGlassNonClientView; class BrowserNonClientFrameView; @@ -31,11 +31,10 @@ class ThemeProvider; namespace views { class View; -class Window; } // This is a virtual interface that allows system specific browser frames. -class BrowserFrame : public views::Window { +class BrowserFrame : public views::Widget { public: explicit BrowserFrame(BrowserView* browser_view); virtual ~BrowserFrame(); @@ -68,7 +67,7 @@ class BrowserFrame : public views::Window { // its frame treatment if necessary. void TabStripDisplayModeChanged(); - // Overridden from views::Window: + // Overridden from views::Widget: virtual bool IsMaximized() const OVERRIDE; virtual views::internal::RootView* CreateRootView() OVERRIDE; virtual views::NonClientFrameView* CreateNonClientFrameView() OVERRIDE; diff --git a/chrome/browser/ui/views/frame/browser_frame_gtk.cc b/chrome/browser/ui/views/frame/browser_frame_gtk.cc index f996f2c..5513a98 100644 --- a/chrome/browser/ui/views/frame/browser_frame_gtk.cc +++ b/chrome/browser/ui/views/frame/browser_frame_gtk.cc @@ -24,7 +24,7 @@ const gfx::Font& BrowserFrame::GetTitleFont() { BrowserFrameGtk::BrowserFrameGtk(BrowserFrame* browser_frame, BrowserView* browser_view) - : views::NativeWindowGtk(browser_frame), + : views::NativeWidgetGtk(browser_frame), browser_view_(browser_view) { // Don't focus anything on creation, selecting a tab will set the focus. set_focus_on_creation(false); @@ -36,11 +36,11 @@ BrowserFrameGtk::~BrowserFrameGtk() { //////////////////////////////////////////////////////////////////////////////// // BrowserFrameGtk, NativeBrowserFrame implementation: -views::NativeWindow* BrowserFrameGtk::AsNativeWindow() { +views::NativeWidget* BrowserFrameGtk::AsNativeWidget() { return this; } -const views::NativeWindow* BrowserFrameGtk::AsNativeWindow() const { +const views::NativeWidget* BrowserFrameGtk::AsNativeWidget() const { return this; } @@ -58,12 +58,12 @@ void BrowserFrameGtk::TabStripDisplayModeChanged() { } //////////////////////////////////////////////////////////////////////////////// -// BrowserFrameGtk, NativeWindowGtk overrides: +// BrowserFrameGtk, NativeWidgetGtk overrides: gboolean BrowserFrameGtk::OnWindowStateEvent(GtkWidget* widget, GdkEventWindowState* event) { bool was_full_screen = IsFullscreen(); - gboolean result = views::NativeWindowGtk::OnWindowStateEvent(widget, event); + gboolean result = views::NativeWidgetGtk::OnWindowStateEvent(widget, event); if ((!IsVisible() || IsMinimized()) && browser_view_->GetStatusBubble()) { // The window is effectively hidden. We have to hide the status bubble as // unlike windows gtk has no notion of child windows that are hidden along @@ -78,7 +78,7 @@ gboolean BrowserFrameGtk::OnWindowStateEvent(GtkWidget* widget, gboolean BrowserFrameGtk::OnConfigureEvent(GtkWidget* widget, GdkEventConfigure* event) { browser_view_->WindowMoved(); - return views::NativeWindowGtk::OnConfigureEvent(widget, event); + return views::NativeWidgetGtk::OnConfigureEvent(widget, event); } diff --git a/chrome/browser/ui/views/frame/browser_frame_gtk.h b/chrome/browser/ui/views/frame/browser_frame_gtk.h index d1c2014..59e6c49 100644 --- a/chrome/browser/ui/views/frame/browser_frame_gtk.h +++ b/chrome/browser/ui/views/frame/browser_frame_gtk.h @@ -9,12 +9,12 @@ #include "base/basictypes.h" #include "chrome/browser/ui/views/frame/browser_frame.h" #include "chrome/browser/ui/views/frame/native_browser_frame.h" -#include "views/window/native_window_gtk.h" +#include "views/widget/native_widget_gtk.h" class BrowserNonClientFrameView; class BrowserRootView; -class BrowserFrameGtk : public views::NativeWindowGtk, +class BrowserFrameGtk : public views::NativeWidgetGtk, public NativeBrowserFrame { public: // Normally you will create this class by calling BrowserFrame::Create. @@ -24,12 +24,12 @@ class BrowserFrameGtk : public views::NativeWindowGtk, protected: // Overridden from NativeBrowserFrame: - virtual views::NativeWindow* AsNativeWindow() OVERRIDE; - virtual const views::NativeWindow* AsNativeWindow() const OVERRIDE; + virtual views::NativeWidget* AsNativeWidget() OVERRIDE; + virtual const views::NativeWidget* AsNativeWidget() const OVERRIDE; virtual int GetMinimizeButtonOffset() const OVERRIDE; virtual void TabStripDisplayModeChanged() OVERRIDE; - // Overridden from views::NativeWindowGtk: + // Overridden from views::NativeWidgetGtk: virtual gboolean OnWindowStateEvent(GtkWidget* widget, GdkEventWindowState* event) OVERRIDE; virtual gboolean OnConfigureEvent(GtkWidget* widget, diff --git a/chrome/browser/ui/views/frame/browser_frame_win.cc b/chrome/browser/ui/views/frame/browser_frame_win.cc index cfba2d1..1d2d4f5 100644 --- a/chrome/browser/ui/views/frame/browser_frame_win.cc +++ b/chrome/browser/ui/views/frame/browser_frame_win.cc @@ -16,8 +16,9 @@ #include "ui/base/theme_provider.h" #include "ui/gfx/font.h" #include "views/screen.h" +#include "views/widget/native_widget_win.h" +#include "views/widget/widget.h" #include "views/window/non_client_view.h" -#include "views/window/window.h" // static static const int kClientEdgeThickness = 3; @@ -33,7 +34,7 @@ static int explicit_show_state = -1; BrowserFrameWin::BrowserFrameWin(BrowserFrame* browser_frame, BrowserView* browser_view) - : views::NativeWindowWin(browser_frame), + : views::NativeWidgetWin(browser_frame), browser_view_(browser_view), browser_frame_(browser_frame) { // Don't focus anything on creation, selecting a tab will set the focus. @@ -49,7 +50,7 @@ void BrowserFrameWin::SetShowState(int state) { } /////////////////////////////////////////////////////////////////////////////// -// BrowserFrameWin, views::NativeWindowWin overrides: +// BrowserFrameWin, views::NativeWidgetWin overrides: int BrowserFrameWin::GetShowState() const { if (explicit_show_state != -1) @@ -65,9 +66,9 @@ int BrowserFrameWin::GetShowState() const { gfx::Insets BrowserFrameWin::GetClientAreaInsets() const { // Use the default client insets for an opaque frame or a glass popup/app // frame. - if (!GetWindow()->ShouldUseNativeFrame() || + if (!GetWidget()->ShouldUseNativeFrame() || !browser_view_->IsBrowserTypeNormal()) { - return NativeWindowWin::GetClientAreaInsets(); + return NativeWidgetWin::GetClientAreaInsets(); } int border_thickness = GetSystemMetrics(SM_CXSIZEFRAME); @@ -84,7 +85,7 @@ void BrowserFrameWin::UpdateFrameAfterFrameChange() { // We need to update the glass region on or off before the base class adjusts // the window region. UpdateDWMFrame(); - NativeWindowWin::UpdateFrameAfterFrameChange(); + NativeWidgetWin::UpdateFrameAfterFrameChange(); } void BrowserFrameWin::OnEndSession(BOOL ending, UINT logoff) { @@ -97,7 +98,7 @@ void BrowserFrameWin::OnInitMenuPopup(HMENU menu, UINT position, } void BrowserFrameWin::OnWindowPosChanged(WINDOWPOS* window_pos) { - NativeWindowWin::OnWindowPosChanged(window_pos); + NativeWidgetWin::OnWindowPosChanged(window_pos); UpdateDWMFrame(); // Windows lies to us about the position of the minimize button before a @@ -110,14 +111,14 @@ void BrowserFrameWin::OnWindowPosChanged(WINDOWPOS* window_pos) { // SWP_SHOWWINDOW, however callers typically are careful about not specifying // this flag unless necessary to avoid flicker. if (window_pos->flags & SWP_SHOWWINDOW) { - GetWindow()->non_client_view()->Layout(); - GetWindow()->non_client_view()->SchedulePaint(); + GetWidget()->non_client_view()->Layout(); + GetWidget()->non_client_view()->SchedulePaint(); } } void BrowserFrameWin::OnScreenReaderDetected() { BrowserAccessibilityState::GetInstance()->OnScreenReaderDetected(); - NativeWindowWin::OnScreenReaderDetected(); + NativeWidgetWin::OnScreenReaderDetected(); } bool BrowserFrameWin::ShouldUseNativeFrame() const { @@ -129,7 +130,7 @@ bool BrowserFrameWin::ShouldUseNativeFrame() const { // theme is active for normal browser windows, we don't want to use the custom // frame for popups/apps. if (!browser_view_->IsBrowserTypeNormal() && - NativeWindowWin::ShouldUseNativeFrame()) { + NativeWidgetWin::ShouldUseNativeFrame()) { return true; } @@ -141,11 +142,11 @@ bool BrowserFrameWin::ShouldUseNativeFrame() const { //////////////////////////////////////////////////////////////////////////////// // BrowserFrameWin, NativeBrowserFrame implementation: -views::NativeWindow* BrowserFrameWin::AsNativeWindow() { +views::NativeWidget* BrowserFrameWin::AsNativeWidget() { return this; } -const views::NativeWindow* BrowserFrameWin::AsNativeWindow() const { +const views::NativeWidget* BrowserFrameWin::AsNativeWidget() const { return this; } @@ -170,7 +171,7 @@ void BrowserFrameWin::TabStripDisplayModeChanged() { void BrowserFrameWin::UpdateDWMFrame() { // Nothing to do yet, or we're not showing a DWM frame. - if (!GetWindow()->client_view() || !browser_frame_->ShouldUseNativeFrame()) + if (!GetWidget()->client_view() || !browser_frame_->ShouldUseNativeFrame()) return; MARGINS margins = { 0 }; @@ -204,7 +205,7 @@ void BrowserFrameWin::UpdateDWMFrame() { // static const gfx::Font& BrowserFrame::GetTitleFont() { static gfx::Font* title_font = - new gfx::Font(views::NativeWindowWin::GetWindowTitleFont()); + new gfx::Font(views::NativeWidgetWin::GetWindowTitleFont()); return *title_font; } diff --git a/chrome/browser/ui/views/frame/browser_frame_win.h b/chrome/browser/ui/views/frame/browser_frame_win.h index 56391aeb..b0365c0 100644 --- a/chrome/browser/ui/views/frame/browser_frame_win.h +++ b/chrome/browser/ui/views/frame/browser_frame_win.h @@ -9,17 +9,17 @@ #include "base/basictypes.h" #include "chrome/browser/ui/views/frame/browser_frame.h" #include "chrome/browser/ui/views/frame/native_browser_frame.h" -#include "views/window/native_window_win.h" +#include "views/widget/native_widget_win.h" class BrowserView; //////////////////////////////////////////////////////////////////////////////// // BrowserFrameWin // -// BrowserFrame is a NativeWindowWin subclass that provides the window frame +// BrowserFrameWin is a NativeWidgetWin subclass that provides the window frame // for the Chrome browser window. // -class BrowserFrameWin : public views::NativeWindowWin, +class BrowserFrameWin : public views::NativeWidgetWin, public NativeBrowserFrame { public: BrowserFrameWin(BrowserFrame* browser_frame, BrowserView* browser_view); @@ -33,7 +33,7 @@ class BrowserFrameWin : public views::NativeWindowWin, static void SetShowState(int state); protected: - // Overridden from views::NativeWindowWin: + // Overridden from views::NativeWidgetWin: virtual int GetShowState() const OVERRIDE; virtual gfx::Insets GetClientAreaInsets() const OVERRIDE; virtual void UpdateFrameAfterFrameChange() OVERRIDE; @@ -46,8 +46,8 @@ class BrowserFrameWin : public views::NativeWindowWin, virtual bool ShouldUseNativeFrame() const OVERRIDE; // Overridden from NativeBrowserFrame: - virtual views::NativeWindow* AsNativeWindow() OVERRIDE; - virtual const views::NativeWindow* AsNativeWindow() const OVERRIDE; + virtual views::NativeWidget* AsNativeWidget() OVERRIDE; + virtual const views::NativeWidget* AsNativeWidget() const OVERRIDE; virtual int GetMinimizeButtonOffset() const OVERRIDE; virtual void TabStripDisplayModeChanged() OVERRIDE; diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc index 3c4b856..73247fb 100644 --- a/chrome/browser/ui/views/frame/browser_view.cc +++ b/chrome/browser/ui/views/frame/browser_view.cc @@ -98,9 +98,8 @@ #include "views/layout/grid_layout.h" #include "views/widget/native_widget.h" #include "views/widget/root_view.h" +#include "views/widget/widget.h" #include "views/window/dialog_delegate.h" -#include "views/window/native_window.h" -#include "views/window/window.h" #if defined(OS_WIN) #include "chrome/browser/aeropeek_manager.h" @@ -646,7 +645,7 @@ void BrowserView::FlashFrame() { } gfx::NativeWindow BrowserView::GetNativeHandle() { - return GetWidget()->GetContainingWindow()->GetNativeWindow(); + return GetWidget()->GetTopLevelWidget()->GetNativeWindow(); } BrowserWindowTesting* BrowserView::GetBrowserWindowTesting() { @@ -1014,7 +1013,7 @@ void BrowserView::ShowAboutChromeDialog() { DoShowAboutChromeDialog(); } -views::Window* BrowserView::DoShowAboutChromeDialog() { +views::Widget* BrowserView::DoShowAboutChromeDialog() { return browser::ShowAboutChromeView(GetWidget()->GetNativeWindow(), browser_->profile()); } @@ -1583,7 +1582,7 @@ void BrowserView::SaveWindowPlacement(const gfx::Rect& bounds, // we're catching the going-into-fullscreen sizing and positioning calls, // which we want to ignore. if (!IsFullscreen() && browser_->ShouldSaveWindowPlacement()) { - WindowDelegate::SaveWindowPlacement(bounds, maximized); + WidgetDelegate::SaveWindowPlacement(bounds, maximized); browser_->SaveWindowPlacement(bounds, maximized); } } @@ -1673,6 +1672,14 @@ void BrowserView::OnWidgetMove() { location_bar_view->location_entry()->ClosePopup(); } +views::Widget* BrowserView::GetWidget() { + return View::GetWidget(); +} + +const views::Widget* BrowserView::GetWidget() const { + return View::GetWidget(); +} + /////////////////////////////////////////////////////////////////////////////// // BrowserView, views::ClientView overrides: @@ -2264,9 +2271,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen) { #endif } #if defined(OS_WIN) - static_cast<views::NativeWidgetWin*>( - frame_->native_window()->AsNativeWidget())-> - PushForceHidden(); + static_cast<views::NativeWidgetWin*>(frame_->native_widget())-> + PushForceHidden(); #endif // Notify bookmark bar, so it can set itself to the appropriate drawing state. @@ -2307,9 +2313,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen) { ignore_layout_ = false; Layout(); #if defined(OS_WIN) - static_cast<views::NativeWidgetWin*>( - frame_->native_window()->AsNativeWidget())-> - PopForceHidden(); + static_cast<views::NativeWidgetWin*>(frame_->native_widget())-> + PopForceHidden(); #endif } diff --git a/chrome/browser/ui/views/frame/browser_view.h b/chrome/browser/ui/views/frame/browser_view.h index d61522a..2726d95 100644 --- a/chrome/browser/ui/views/frame/browser_view.h +++ b/chrome/browser/ui/views/frame/browser_view.h @@ -27,8 +27,8 @@ #include "ui/base/models/simple_menu_model.h" #include "ui/gfx/native_widget_types.h" #include "views/controls/single_split_view.h" +#include "views/widget/widget_delegate.h" #include "views/window/client_view.h" -#include "views/window/window_delegate.h" #if defined(OS_WIN) #include "chrome/browser/hang_monitor/hung_plugin_action.h" @@ -84,7 +84,7 @@ class BrowserView : public BrowserBubbleHost, public NotificationObserver, public TabStripModelObserver, public ui::SimpleMenuModel::Delegate, - public views::WindowDelegate, + public views::WidgetDelegate, public views::ClientView, public InfoBarContainer::Delegate, public views::SingleSplitView::Observer { @@ -374,7 +374,7 @@ class BrowserView : public BrowserBubbleHost, virtual string16 GetLabelForCommandId(int command_id) const OVERRIDE; virtual void ExecuteCommand(int command_id) OVERRIDE; - // Overridden from views::WindowDelegate: + // Overridden from views::WidgetDelegate: virtual bool CanResize() const OVERRIDE; virtual bool CanMaximize() const OVERRIDE; virtual bool CanActivate() const OVERRIDE; @@ -397,6 +397,8 @@ class BrowserView : public BrowserBubbleHost, virtual void OnWindowActivationChanged(bool active) OVERRIDE; virtual void OnWindowBeginUserBoundsChange() OVERRIDE; virtual void OnWidgetMove() OVERRIDE; + virtual views::Widget* GetWidget() OVERRIDE; + virtual const views::Widget* GetWidget() const OVERRIDE; // Overridden from views::ClientView: virtual bool CanClose() OVERRIDE; @@ -550,7 +552,7 @@ class BrowserView : public BrowserBubbleHost, gfx::Size GetResizeCornerSize() const; // Shows the about chrome modal dialog and returns the Window object. - views::Window* DoShowAboutChromeDialog(); + views::Widget* DoShowAboutChromeDialog(); // Shows the Compact Location Bar under the selected tab. void ShowCompactLocationBarUnderSelectedTab(); diff --git a/chrome/browser/ui/views/frame/browser_view_layout.cc b/chrome/browser/ui/views/frame/browser_view_layout.cc index e6b07c0..fb2634e 100644 --- a/chrome/browser/ui/views/frame/browser_view_layout.cc +++ b/chrome/browser/ui/views/frame/browser_view_layout.cc @@ -21,7 +21,6 @@ #include "ui/gfx/scrollbar_size.h" #include "ui/gfx/size.h" #include "views/controls/single_split_view.h" -#include "views/window/window.h" #if !defined(OS_WIN) #include "views/window/hit_test.h" diff --git a/chrome/browser/ui/views/frame/glass_browser_frame_view.cc b/chrome/browser/ui/views/frame/glass_browser_frame_view.cc index f2e26c9..9f6e0c3 100644 --- a/chrome/browser/ui/views/frame/glass_browser_frame_view.cc +++ b/chrome/browser/ui/views/frame/glass_browser_frame_view.cc @@ -220,7 +220,7 @@ int GlassBrowserFrameView::NonClientHitTest(const gfx::Point& point) { int window_component = GetHTComponentForFrame(point, frame_border_thickness, nonclient_border_thickness, frame_border_thickness, kResizeAreaCornerSize - frame_border_thickness, - frame_->window_delegate()->CanResize()); + frame_->widget_delegate()->CanResize()); // Fall back to the caption if no other component matches. return (window_component == HTNOWHERE) ? HTCAPTION : window_component; } diff --git a/chrome/browser/ui/views/frame/native_browser_frame.h b/chrome/browser/ui/views/frame/native_browser_frame.h index 120fa1f..756cd8e 100644 --- a/chrome/browser/ui/views/frame/native_browser_frame.h +++ b/chrome/browser/ui/views/frame/native_browser_frame.h @@ -17,8 +17,8 @@ class NativeBrowserFrame { BrowserFrame* browser_frame, BrowserView* browser_view); - virtual views::NativeWindow* AsNativeWindow() = 0; - virtual const views::NativeWindow* AsNativeWindow() const = 0; + virtual views::NativeWidget* AsNativeWidget() = 0; + virtual const views::NativeWidget* AsNativeWidget() const = 0; protected: friend class BrowserFrame; diff --git a/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc b/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc index 66f4c70..b0c6f66 100644 --- a/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc +++ b/chrome/browser/ui/views/frame/opaque_browser_frame_view.cc @@ -35,7 +35,6 @@ #include "views/controls/button/image_button.h" #include "views/controls/image_view.h" #include "views/widget/root_view.h" -#include "views/window/window.h" #include "views/window/window_resources.h" #include "views/window/window_shape.h" @@ -245,7 +244,7 @@ gfx::Rect OpaqueBrowserFrameView::GetBoundsForReservedArea() const { int OpaqueBrowserFrameView::NonClientTopBorderHeight( bool restored, bool ignore_vertical_tabs) const { - views::WindowDelegate* delegate = frame_->window_delegate(); + views::WidgetDelegate* delegate = frame_->widget_delegate(); // |delegate| may be NULL if called from callback of InputMethodChanged while // a window is being destroyed. // See more discussion at http://crosbug.com/8958 @@ -308,7 +307,7 @@ gfx::Size OpaqueBrowserFrameView::GetMinimumSize() { min_size.Enlarge(2 * border_thickness, NonClientTopBorderHeight(false, false) + border_thickness); - views::WindowDelegate* delegate = frame_->window_delegate(); + views::WidgetDelegate* delegate = frame_->widget_delegate(); int min_titlebar_width = (2 * FrameBorderThickness(false)) + kIconLeftSpacing + (delegate && delegate->ShouldShowWindowIcon() ? @@ -379,7 +378,7 @@ int OpaqueBrowserFrameView::NonClientHitTest(const gfx::Point& point) { minimize_button_->GetMirroredBounds().Contains(point)) return HTMINBUTTON; - views::WindowDelegate* delegate = frame_->window_delegate(); + views::WidgetDelegate* delegate = frame_->widget_delegate(); if (!delegate) { LOG(WARNING) << "delegate is NULL, returning safe default."; return HTCAPTION; @@ -507,7 +506,7 @@ bool OpaqueBrowserFrameView::ShouldTabIconViewAnimate() const { } SkBitmap OpaqueBrowserFrameView::GetFaviconForTabIconView() { - views::WindowDelegate* delegate = frame_->window_delegate(); + views::WidgetDelegate* delegate = frame_->widget_delegate(); if (!delegate) { LOG(WARNING) << "delegate is NULL, returning safe default."; return SkBitmap(); @@ -576,7 +575,7 @@ gfx::Rect OpaqueBrowserFrameView::IconBounds() const { int size = IconSize(); int frame_thickness = FrameBorderThickness(false); int y; - views::WindowDelegate* delegate = frame_->window_delegate(); + views::WidgetDelegate* delegate = frame_->widget_delegate(); if (delegate && (delegate->ShouldShowWindowIcon() || delegate->ShouldShowWindowTitle())) { // Our frame border has a different "3D look" than Windows'. Theirs has a @@ -802,7 +801,7 @@ void OpaqueBrowserFrameView::PaintMaximizedFrameBorder(gfx::Canvas* canvas) { void OpaqueBrowserFrameView::PaintTitleBar(gfx::Canvas* canvas) { // The window icon is painted by the TabIconView. - views::WindowDelegate* delegate = frame_->window_delegate(); + views::WidgetDelegate* delegate = frame_->widget_delegate(); if (!delegate) { LOG(WARNING) << "delegate is NULL"; return; @@ -1036,7 +1035,7 @@ void OpaqueBrowserFrameView::LayoutWindowControls() { #if defined(OS_CHROMEOS) // LayoutWindowControls could be triggered from - // NativeWindowGtk::UpdateWindowTitle(), which could happen when user + // NativeWidgetGtk::UpdateWindowTitle(), which could happen when user // navigates in fullscreen mode. And because // BrowserFrameChromeos::IsMaximized() return false for fullscreen mode, we // explicitly test fullscreen mode here and make it use the same code path @@ -1098,7 +1097,7 @@ void OpaqueBrowserFrameView::LayoutTitleBar() { // The window title is based on the calculated icon position, even when there // is no icon. gfx::Rect icon_bounds(IconBounds()); - views::WindowDelegate* delegate = frame_->window_delegate(); + views::WidgetDelegate* delegate = frame_->widget_delegate(); if (delegate && delegate->ShouldShowWindowIcon()) window_icon_->SetBoundsRect(icon_bounds); diff --git a/chrome/browser/ui/views/frame/popup_non_client_frame_view.cc b/chrome/browser/ui/views/frame/popup_non_client_frame_view.cc index c2e6f63..624a4ae 100644 --- a/chrome/browser/ui/views/frame/popup_non_client_frame_view.cc +++ b/chrome/browser/ui/views/frame/popup_non_client_frame_view.cc @@ -14,7 +14,7 @@ #endif PopupNonClientFrameView::PopupNonClientFrameView(BrowserFrame* frame) { - frame->set_frame_type(views::Window::FRAME_TYPE_FORCE_NATIVE); + frame->set_frame_type(views::Widget::FRAME_TYPE_FORCE_NATIVE); } gfx::Rect PopupNonClientFrameView::GetBoundsForClientView() const { diff --git a/chrome/browser/ui/views/fullscreen_exit_bubble.cc b/chrome/browser/ui/views/fullscreen_exit_bubble.cc index bdb219d..3009674 100644 --- a/chrome/browser/ui/views/fullscreen_exit_bubble.cc +++ b/chrome/browser/ui/views/fullscreen_exit_bubble.cc @@ -15,7 +15,7 @@ #include "ui/gfx/canvas_skia.h" #include "views/controls/link.h" #include "views/screen.h" -#include "views/window/window.h" +#include "views/widget/widget.h" #if defined(OS_WIN) #include "ui/base/l10n/l10n_util_win.h" diff --git a/chrome/browser/ui/views/generic_info_view_unittest.cc b/chrome/browser/ui/views/generic_info_view_unittest.cc index 153d96d8..88a5897 100644 --- a/chrome/browser/ui/views/generic_info_view_unittest.cc +++ b/chrome/browser/ui/views/generic_info_view_unittest.cc @@ -11,7 +11,7 @@ #include "ui/base/l10n/l10n_util.h" #include "views/controls/label.h" #include "views/controls/textfield/textfield.h" -#include "views/window/window.h" +#include "views/widget/widget.h" // This class is only used on windows for now. #if defined(OS_WIN) diff --git a/chrome/browser/ui/views/html_dialog_view.cc b/chrome/browser/ui/views/html_dialog_view.cc index 8e98c51..dd48600 100644 --- a/chrome/browser/ui/views/html_dialog_view.cc +++ b/chrome/browser/ui/views/html_dialog_view.cc @@ -17,10 +17,9 @@ #include "views/events/event.h" #include "views/widget/root_view.h" #include "views/widget/widget.h" -#include "views/window/window.h" #if defined(TOOLKIT_USES_GTK) -#include "views/window/native_window_gtk.h" +#include "views/widget/native_widget_gtk.h" #endif class RenderWidgetHost; @@ -34,8 +33,8 @@ gfx::NativeWindow ShowHtmlDialog(gfx::NativeWindow parent, Profile* profile, new HtmlDialogView(profile, delegate); browser::CreateViewsWindow(parent, gfx::Rect(), html_view); html_view->InitDialog(); - html_view->window()->Show(); - return html_view->window()->GetNativeWindow(); + html_view->GetWidget()->Show(); + return html_view->GetWidget()->GetNativeWindow(); } } // namespace browser @@ -127,6 +126,14 @@ bool HtmlDialogView::ShouldShowWindowTitle() const { return ShouldShowDialogTitle(); } +views::Widget* HtmlDialogView::GetWidget() { + return View::GetWidget(); +} + +const views::Widget* HtmlDialogView::GetWidget() const { + return View::GetWidget(); +} + //////////////////////////////////////////////////////////////////////////////// // HtmlDialogUIDelegate implementation: @@ -168,7 +175,7 @@ void HtmlDialogView::OnDialogClosed(const std::string& json_retval) { delegate_ = NULL; // We will not communicate further with the delegate. dialog_delegate->OnDialogClosed(json_retval); } - window()->Close(); + GetWidget()->Close(); } void HtmlDialogView::OnWindowClosed() { @@ -213,8 +220,8 @@ void HtmlDialogView::HandleKeyboardEvent(const NativeWebKeyboardEvent& event) { DefWindowProc(event.os_event.hwnd, event.os_event.message, event.os_event.wParam, event.os_event.lParam); #elif defined(TOOLKIT_USES_GTK) - views::NativeWindowGtk* window_gtk = - static_cast<views::NativeWindowGtk*>(window()->native_window()); + views::NativeWidgetGtk* window_gtk = + static_cast<views::NativeWidgetGtk*>(GetWidget()->native_widget()); if (event.os_event && !event.skip_in_browser) { views::KeyEvent views_event(reinterpret_cast<GdkEvent*>(event.os_event)); window_gtk->HandleKeyboardEvent(views_event); diff --git a/chrome/browser/ui/views/html_dialog_view.h b/chrome/browser/ui/views/html_dialog_view.h index dd2d903..cc06018 100644 --- a/chrome/browser/ui/views/html_dialog_view.h +++ b/chrome/browser/ui/views/html_dialog_view.h @@ -15,12 +15,9 @@ #include "content/common/notification_observer.h" #include "content/common/notification_registrar.h" #include "ui/gfx/size.h" -#include "views/window/window_delegate.h" +#include "views/widget/widget_delegate.h" class Browser; -namespace views { -class Window; -} //////////////////////////////////////////////////////////////////////////////// // @@ -39,7 +36,7 @@ class HtmlDialogView : public DOMView, public HtmlDialogTabContentsDelegate, public HtmlDialogUIDelegate, - public views::WindowDelegate, + public views::WidgetDelegate, public NotificationObserver { public: HtmlDialogView(Profile* profile, HtmlDialogUIDelegate* delegate); @@ -49,42 +46,48 @@ class HtmlDialogView void InitDialog(); // Overridden from views::View: - virtual gfx::Size GetPreferredSize(); - virtual bool AcceleratorPressed(const views::Accelerator& accelerator); - virtual void ViewHierarchyChanged(bool is_add, View* parent, View* child); - - // Overridden from views::WindowDelegate: - virtual bool CanResize() const; - virtual bool IsModal() const; - virtual std::wstring GetWindowTitle() const; - virtual void WindowClosing(); - virtual views::View* GetContentsView(); - virtual views::View* GetInitiallyFocusedView(); - virtual bool ShouldShowWindowTitle() const; + virtual gfx::Size GetPreferredSize() OVERRIDE; + virtual bool AcceleratorPressed(const views::Accelerator& accelerator) + OVERRIDE; + virtual void ViewHierarchyChanged(bool is_add, View* parent, View* child) + OVERRIDE; + + // Overridden from views::WidgetDelegate: + virtual bool CanResize() const OVERRIDE; + virtual bool IsModal() const OVERRIDE; + virtual std::wstring GetWindowTitle() const OVERRIDE; + virtual void WindowClosing() OVERRIDE; + virtual views::View* GetContentsView() OVERRIDE; + virtual views::View* GetInitiallyFocusedView() OVERRIDE; + virtual bool ShouldShowWindowTitle() const OVERRIDE; + virtual views::Widget* GetWidget() OVERRIDE; + virtual const views::Widget* GetWidget() const OVERRIDE; // Overridden from HtmlDialogUIDelegate: - virtual bool IsDialogModal() const; - virtual std::wstring GetDialogTitle() const; - virtual GURL GetDialogContentURL() const; + virtual bool IsDialogModal() const OVERRIDE; + virtual std::wstring GetDialogTitle() const OVERRIDE; + virtual GURL GetDialogContentURL() const OVERRIDE; virtual void GetWebUIMessageHandlers( - std::vector<WebUIMessageHandler*>* handlers) const; - virtual void GetDialogSize(gfx::Size* size) const; - virtual std::string GetDialogArgs() const; - virtual void OnWindowClosed(); - virtual void OnDialogClosed(const std::string& json_retval); - virtual void OnCloseContents(TabContents* source, bool* out_close_dialog); - virtual bool ShouldShowDialogTitle() const; - virtual bool HandleContextMenu(const ContextMenuParams& params); + std::vector<WebUIMessageHandler*>* handlers) const OVERRIDE; + virtual void GetDialogSize(gfx::Size* size) const OVERRIDE; + virtual std::string GetDialogArgs() const OVERRIDE; + virtual void OnWindowClosed() OVERRIDE; + virtual void OnDialogClosed(const std::string& json_retval) OVERRIDE; + virtual void OnCloseContents(TabContents* source, bool* out_close_dialog) + OVERRIDE; + virtual bool ShouldShowDialogTitle() const OVERRIDE; + virtual bool HandleContextMenu(const ContextMenuParams& params) OVERRIDE; // Overridden from TabContentsDelegate: - virtual void MoveContents(TabContents* source, const gfx::Rect& pos); - virtual void HandleKeyboardEvent(const NativeWebKeyboardEvent& event); - virtual void CloseContents(TabContents* source); + virtual void MoveContents(TabContents* source, const gfx::Rect& pos) OVERRIDE; + virtual void HandleKeyboardEvent(const NativeWebKeyboardEvent& event) + OVERRIDE; + virtual void CloseContents(TabContents* source) OVERRIDE; // Overridden from NotificationObserver virtual void Observe(NotificationType type, const NotificationSource& source, - const NotificationDetails& details); + const NotificationDetails& details) OVERRIDE; protected: // Register accelerators for this dialog. diff --git a/chrome/browser/ui/views/html_dialog_view_browsertest.cc b/chrome/browser/ui/views/html_dialog_view_browsertest.cc index 1d81977..60f3ebb 100644 --- a/chrome/browser/ui/views/html_dialog_view_browsertest.cc +++ b/chrome/browser/ui/views/html_dialog_view_browsertest.cc @@ -17,7 +17,6 @@ #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" #include "views/widget/widget.h" -#include "views/window/window.h" using testing::Eq; @@ -131,10 +130,10 @@ IN_PROC_BROWSER_TEST_F(HtmlDialogBrowserTest, MAYBE_SizeWindow) { new HtmlDialogView(browser()->profile(), delegate); TabContents* tab_contents = browser()->GetSelectedTabContents(); ASSERT_TRUE(tab_contents != NULL); - views::Window::CreateChromeWindow(tab_contents->GetDialogRootWindow(), - gfx::Rect(), html_view); + views::Widget::CreateWindowWithParent(html_view, + tab_contents->GetDialogRootWindow()); html_view->InitDialog(); - html_view->window()->Show(); + html_view->GetWidget()->Show(); MessageLoopForUI::current()->AddObserver( WindowChangedObserver::GetInstance()); @@ -213,13 +212,13 @@ IN_PROC_BROWSER_TEST_F(HtmlDialogBrowserTest, FLAKY_TestStateTransition) { new HtmlDialogView(browser()->profile(), delegate); TabContents* tab_contents = browser()->GetSelectedTabContents(); ASSERT_TRUE(tab_contents != NULL); - views::Window::CreateChromeWindow(tab_contents->GetDialogRootWindow(), - gfx::Rect(), html_view); + views::Widget::CreateWindowWithParent(html_view, + tab_contents->GetDialogRootWindow()); // Test if the state transitions from INITIALIZED to -> PAINTED EXPECT_EQ(HtmlDialogView::INITIALIZED, html_view->state_); html_view->InitDialog(); - html_view->window()->Show(); + html_view->GetWidget()->Show(); MessageLoopForUI::current()->AddObserver( WindowChangedObserver::GetInstance()); diff --git a/chrome/browser/ui/views/hung_renderer_view.cc b/chrome/browser/ui/views/hung_renderer_view.cc index 652ec2b..5833c64 100644 --- a/chrome/browser/ui/views/hung_renderer_view.cc +++ b/chrome/browser/ui/views/hung_renderer_view.cc @@ -27,9 +27,9 @@ #include "views/controls/table/group_table_view.h" #include "views/layout/grid_layout.h" #include "views/layout/layout_constants.h" +#include "views/widget/widget.h" #include "views/window/client_view.h" #include "views/window/dialog_delegate.h" -#include "views/window/window.h" class HungRendererDialogView; @@ -123,8 +123,7 @@ void HungPagesTableModel::GetGroupRangeForItem(int item, /////////////////////////////////////////////////////////////////////////////// // HungRendererDialogView -class HungRendererDialogView : public views::View, - public views::DialogDelegate, +class HungRendererDialogView : public views::DialogDelegateView, public views::ButtonListener, public TabContentsObserver { public: @@ -233,7 +232,7 @@ HungRendererDialogView::~HungRendererDialogView() { } void HungRendererDialogView::ShowForTabContents(TabContents* contents) { - DCHECK(contents && window()); + DCHECK(contents && GetWidget()); contents_ = contents; Observe(contents); @@ -243,20 +242,20 @@ void HungRendererDialogView::ShowForTabContents(TabContents* contents) { HWND frame_hwnd = GetAncestor(contents->GetNativeView(), GA_ROOT); HWND foreground_window = GetForegroundWindow(); if (foreground_window != frame_hwnd && - foreground_window != window()->GetNativeWindow()) { + foreground_window != GetWidget()->GetNativeWindow()) { return; } - if (!window()->IsActive()) { + if (!GetWidget()->IsActive()) { volatile TabContents* passed_c = contents; volatile TabContents* this_contents = contents_; gfx::Rect bounds = GetDisplayBounds(contents); views::Widget* insert_after = views::Widget::GetWidgetForNativeView(frame_hwnd); - window()->SetBoundsConstrained(bounds, insert_after); + GetWidget()->SetBoundsConstrained(bounds, insert_after); if (insert_after) - window()->MoveAboveWidget(insert_after); + GetWidget()->MoveAboveWidget(insert_after); // We only do this if the window isn't active (i.e. hasn't been shown yet, // or is currently shown but deactivated for another TabContents). This is @@ -265,7 +264,7 @@ void HungRendererDialogView::ShowForTabContents(TabContents* contents) { // the list of hung pages for a potentially unrelated renderer while this // one is showing. hung_pages_table_model_->InitForTabContents(contents); - window()->Show(); + GetWidget()->Show(); } } @@ -273,7 +272,7 @@ void HungRendererDialogView::EndForTabContents(TabContents* contents) { DCHECK(contents); if (contents_ && contents_->GetRenderProcessHost() == contents->GetRenderProcessHost()) { - window()->Close(); + GetWidget()->Close(); // Since we're closing, we no longer need this TabContents. contents_ = NULL; Observe(NULL); @@ -447,7 +446,7 @@ gfx::Rect HungRendererDialogView::GetDisplayBounds( RECT contents_bounds_rect; GetWindowRect(contents_hwnd, &contents_bounds_rect); gfx::Rect contents_bounds(contents_bounds_rect); - gfx::Rect window_bounds = window()->GetWindowScreenBounds(); + gfx::Rect window_bounds = GetWidget()->GetWindowScreenBounds(); int window_x = contents_bounds.x() + (contents_bounds.width() - window_bounds.width()) / 2; @@ -468,7 +467,7 @@ void HungRendererDialogView::InitClass() { static HungRendererDialogView* CreateHungRendererDialogView() { HungRendererDialogView* cv = new HungRendererDialogView; - views::Window::CreateChromeWindow(NULL, gfx::Rect(), cv); + views::Widget::CreateWindow(cv); return cv; } diff --git a/chrome/browser/ui/views/importer/import_lock_dialog_view.cc b/chrome/browser/ui/views/importer/import_lock_dialog_view.cc index 1149ccc..7e0a2f5 100644 --- a/chrome/browser/ui/views/importer/import_lock_dialog_view.cc +++ b/chrome/browser/ui/views/importer/import_lock_dialog_view.cc @@ -15,7 +15,7 @@ #include "ui/base/l10n/l10n_util.h" #include "views/controls/label.h" #include "views/layout/layout_constants.h" -#include "views/window/window.h" +#include "views/widget/widget.h" // Default size of the dialog window. static const int kDefaultWindowWidth = 320; @@ -34,9 +34,7 @@ void ShowImportLockDialog(gfx::NativeWindow parent, // static void ImportLockDialogView::Show(gfx::NativeWindow parent, ImporterHost* importer_host) { - views::Window::CreateChromeWindow( - NULL, gfx::Rect(), - new ImportLockDialogView(importer_host))->Show(); + views::Widget::CreateWindow(new ImportLockDialogView(importer_host))->Show(); } ImportLockDialogView::ImportLockDialogView(ImporterHost* importer_host) @@ -53,7 +51,7 @@ ImportLockDialogView::~ImportLockDialogView() { } gfx::Size ImportLockDialogView::GetPreferredSize() { - return gfx::Size(views::Window::GetLocalizedContentsSize( + return gfx::Size(views::Widget::GetLocalizedContentsSize( IDS_IMPORTLOCK_DIALOG_WIDTH_CHARS, IDS_IMPORTLOCK_DIALOG_HEIGHT_LINES)); } diff --git a/chrome/browser/ui/views/importer/import_progress_dialog_view.cc b/chrome/browser/ui/views/importer/import_progress_dialog_view.cc index 624dda5..2124841 100644 --- a/chrome/browser/ui/views/importer/import_progress_dialog_view.cc +++ b/chrome/browser/ui/views/importer/import_progress_dialog_view.cc @@ -16,7 +16,7 @@ #include "views/controls/throbber.h" #include "views/layout/grid_layout.h" #include "views/layout/layout_constants.h" -#include "views/window/window.h" +#include "views/widget/widget.h" ImportProgressDialogView::ImportProgressDialogView( HWND parent_window, @@ -98,7 +98,7 @@ ImportProgressDialogView::~ImportProgressDialogView() { } gfx::Size ImportProgressDialogView::GetPreferredSize() { - return gfx::Size(views::Window::GetLocalizedContentsSize( + return gfx::Size(views::Widget::GetLocalizedContentsSize( IDS_IMPORTPROGRESS_DIALOG_WIDTH_CHARS, IDS_IMPORTPROGRESS_DIALOG_HEIGHT_LINES)); } @@ -275,7 +275,7 @@ void ImportProgressDialogView::ImportEnded() { // In every case, we need to close the UI now. importing_ = false; importer_host_->SetObserver(NULL); - window()->Close(); + GetWidget()->Close(); if (importer_observer_) importer_observer_->ImportCompleted(); } @@ -298,8 +298,8 @@ void ShowImportProgressDialog(HWND parent_window, source_profile.importer_name, source_profile.importer_type == importer::BOOKMARKS_HTML); - views::Window* window = views::Window::CreateChromeWindow( - parent_window, gfx::Rect(), progress_view); + views::Widget* window = + views::Widget::CreateWindowWithParent(progress_view, parent_window); if (!importer_host->is_headless() && !first_run) window->Show(); diff --git a/chrome/browser/ui/views/importer/import_progress_dialog_view.h b/chrome/browser/ui/views/importer/import_progress_dialog_view.h index afed11a..cbd23e5 100644 --- a/chrome/browser/ui/views/importer/import_progress_dialog_view.h +++ b/chrome/browser/ui/views/importer/import_progress_dialog_view.h @@ -23,8 +23,7 @@ class CheckmarkThrobber; class Label; } -class ImportProgressDialogView : public views::View, - public views::DialogDelegate, +class ImportProgressDialogView : public views::DialogDelegateView, public importer::ImporterProgressObserver { public: // |items| is a bitmask of importer::ImportItem being imported. diff --git a/chrome/browser/ui/views/infobars/after_translate_infobar.cc b/chrome/browser/ui/views/infobars/after_translate_infobar.cc index 2355093..e08fffc 100644 --- a/chrome/browser/ui/views/infobars/after_translate_infobar.cc +++ b/chrome/browser/ui/views/infobars/after_translate_infobar.cc @@ -12,7 +12,7 @@ #include "views/controls/label.h" #include "views/controls/menu/menu_item_view.h" #include "views/controls/menu/menu_model_adapter.h" -#include "views/window/window.h" +#include "views/widget/widget.h" AfterTranslateInfoBar::AfterTranslateInfoBar( TabContentsWrapper* owner, diff --git a/chrome/browser/ui/views/infobars/before_translate_infobar.cc b/chrome/browser/ui/views/infobars/before_translate_infobar.cc index 4e89da5..1637922 100644 --- a/chrome/browser/ui/views/infobars/before_translate_infobar.cc +++ b/chrome/browser/ui/views/infobars/before_translate_infobar.cc @@ -12,7 +12,7 @@ #include "views/controls/label.h" #include "views/controls/menu/menu_item_view.h" #include "views/controls/menu/menu_model_adapter.h" -#include "views/window/window.h" +#include "views/widget/widget.h" BeforeTranslateInfoBar::BeforeTranslateInfoBar( TabContentsWrapper* owner, diff --git a/chrome/browser/ui/views/infobars/extension_infobar.cc b/chrome/browser/ui/views/infobars/extension_infobar.cc index 182b03d..35fd409 100644 --- a/chrome/browser/ui/views/infobars/extension_infobar.cc +++ b/chrome/browser/ui/views/infobars/extension_infobar.cc @@ -21,7 +21,6 @@ #include "views/controls/menu/menu_item_view.h" #include "views/controls/menu/menu_model_adapter.h" #include "views/widget/widget.h" -#include "views/window/window.h" // ExtensionInfoBarDelegate --------------------------------------------------- diff --git a/chrome/browser/ui/views/instant_confirm_view.cc b/chrome/browser/ui/views/instant_confirm_view.cc index cd8bcb7..4f5f02b 100644 --- a/chrome/browser/ui/views/instant_confirm_view.cc +++ b/chrome/browser/ui/views/instant_confirm_view.cc @@ -18,7 +18,7 @@ #include "views/controls/link.h" #include "views/layout/grid_layout.h" #include "views/layout/layout_constants.h" -#include "views/window/window.h" +#include "views/widget/widget.h" InstantConfirmView::InstantConfirmView(Profile* profile) : profile_(profile) { views::Label* description_label = new views::Label( @@ -67,7 +67,7 @@ std::wstring InstantConfirmView::GetWindowTitle() const { gfx::Size InstantConfirmView::GetPreferredSize() { DCHECK(GetLayoutManager()); - int pref_width = views::Window::GetLocalizedContentsWidth( + int pref_width = views::Widget::GetLocalizedContentsWidth( IDS_INSTANT_CONFIRM_DIALOG_WIDTH_CHARS); int pref_height = GetLayoutManager()->GetPreferredHeightForWidth(this, pref_width); @@ -87,8 +87,8 @@ void InstantConfirmView::LinkClicked(views::Link* source, int event_flags) { namespace browser { void ShowInstantConfirmDialog(gfx::NativeWindow parent, Profile* profile) { - views::Window::CreateChromeWindow(parent, gfx::Rect(), - new InstantConfirmView(profile))->Show(); + views::Widget::CreateWindowWithParent(new InstantConfirmView(profile), + parent)->Show(); } } // namespace browser diff --git a/chrome/browser/ui/views/js_modal_dialog_views.cc b/chrome/browser/ui/views/js_modal_dialog_views.cc index 4f3f472..c01c7fa 100644 --- a/chrome/browser/ui/views/js_modal_dialog_views.cc +++ b/chrome/browser/ui/views/js_modal_dialog_views.cc @@ -13,7 +13,7 @@ #include "ui/base/message_box_flags.h" #include "views/controls/message_box_view.h" #include "views/controls/textfield/textfield.h" -#include "views/window/window.h" +#include "views/widget/widget.h" //////////////////////////////////////////////////////////////////////////////// // JSModalDialogViews, public: @@ -46,16 +46,16 @@ int JSModalDialogViews::GetAppModalDialogButtons() const { } void JSModalDialogViews::ShowAppModalDialog() { - window()->Show(); + GetWidget()->Show(); } void JSModalDialogViews::ActivateAppModalDialog() { - window()->Show(); - window()->Activate(); + GetWidget()->Show(); + GetWidget()->Activate(); } void JSModalDialogViews::CloseAppModalDialog() { - window()->Close(); + GetWidget()->Close(); } void JSModalDialogViews::AcceptAppModalDialog() { @@ -118,6 +118,14 @@ void JSModalDialogViews::OnClose() { parent_->OnClose(); } +views::Widget* JSModalDialogViews::GetWidget() { + return message_box_view_->GetWidget(); +} + +const views::Widget* JSModalDialogViews::GetWidget() const { + return message_box_view_->GetWidget(); +} + std::wstring JSModalDialogViews::GetDialogButtonLabel( ui::MessageBoxFlags::DialogButton button) const { if (parent_->is_before_unload_dialog()) { diff --git a/chrome/browser/ui/views/js_modal_dialog_views.h b/chrome/browser/ui/views/js_modal_dialog_views.h index c0bb886..abb2b60 100644 --- a/chrome/browser/ui/views/js_modal_dialog_views.h +++ b/chrome/browser/ui/views/js_modal_dialog_views.h @@ -25,29 +25,31 @@ class JSModalDialogViews : public NativeAppModalDialog, virtual ~JSModalDialogViews(); // Overridden from NativeAppModalDialog: - virtual int GetAppModalDialogButtons() const; - virtual void ShowAppModalDialog(); - virtual void ActivateAppModalDialog(); - virtual void CloseAppModalDialog(); - virtual void AcceptAppModalDialog(); - virtual void CancelAppModalDialog(); + virtual int GetAppModalDialogButtons() const OVERRIDE; + virtual void ShowAppModalDialog() OVERRIDE; + virtual void ActivateAppModalDialog() OVERRIDE; + virtual void CloseAppModalDialog() OVERRIDE; + virtual void AcceptAppModalDialog() OVERRIDE; + virtual void CancelAppModalDialog() OVERRIDE; // Overridden from views::DialogDelegate: - virtual int GetDefaultDialogButton() const; - virtual int GetDialogButtons() const; - virtual std::wstring GetWindowTitle() const; - virtual void WindowClosing(); - virtual void DeleteDelegate(); - virtual bool Cancel(); - virtual bool Accept(); + virtual int GetDefaultDialogButton() const OVERRIDE; + virtual int GetDialogButtons() const OVERRIDE; + virtual std::wstring GetWindowTitle() const OVERRIDE; + virtual void WindowClosing() OVERRIDE; + virtual void DeleteDelegate() OVERRIDE; + virtual bool Cancel() OVERRIDE; + virtual bool Accept() OVERRIDE; virtual std::wstring GetDialogButtonLabel( - ui::MessageBoxFlags::DialogButton button) const; + ui::MessageBoxFlags::DialogButton button) const OVERRIDE; // Overridden from views::WindowDelegate: - virtual bool IsModal() const; - virtual views::View* GetContentsView(); - virtual views::View* GetInitiallyFocusedView(); - virtual void OnClose(); + virtual bool IsModal() const OVERRIDE; + virtual views::View* GetContentsView() OVERRIDE; + virtual views::View* GetInitiallyFocusedView() OVERRIDE; + virtual void OnClose() OVERRIDE; + virtual views::Widget* GetWidget() OVERRIDE; + virtual const views::Widget* GetWidget() const OVERRIDE; private: // A pointer to the AppModalDialog that owns us. diff --git a/chrome/browser/ui/views/keyboard_overlay_dialog_view.cc b/chrome/browser/ui/views/keyboard_overlay_dialog_view.cc index bfdb86a..4375472 100644 --- a/chrome/browser/ui/views/keyboard_overlay_dialog_view.cc +++ b/chrome/browser/ui/views/keyboard_overlay_dialog_view.cc @@ -18,7 +18,6 @@ #include "views/events/event.h" #include "views/widget/root_view.h" #include "views/widget/widget.h" -#include "views/window/window.h" namespace { struct Accelerator { @@ -94,7 +93,7 @@ void KeyboardOverlayDialogView::ShowDialog( gfx::Rect(), chromeos::BubbleWindow::STYLE_XSHAPE, html_view); - html_view->window()->Show(); + html_view->GetWidget()->Show(); } bool KeyboardOverlayDialogView::IsCloseAccelerator( diff --git a/chrome/browser/ui/views/keyboard_overlay_dialog_view.h b/chrome/browser/ui/views/keyboard_overlay_dialog_view.h index 6aafc0d..ff0d95f 100644 --- a/chrome/browser/ui/views/keyboard_overlay_dialog_view.h +++ b/chrome/browser/ui/views/keyboard_overlay_dialog_view.h @@ -11,7 +11,6 @@ #include "chrome/browser/ui/webui/html_dialog_tab_contents_delegate.h" #include "chrome/browser/ui/webui/html_dialog_ui.h" #include "chrome/browser/ui/views/html_dialog_view.h" -#include "views/window/window_delegate.h" class BrowserView; diff --git a/chrome/browser/ui/views/menu_item_view_test.cc b/chrome/browser/ui/views/menu_item_view_test.cc index c3f27d3..05bf1ea 100644 --- a/chrome/browser/ui/views/menu_item_view_test.cc +++ b/chrome/browser/ui/views/menu_item_view_test.cc @@ -10,7 +10,7 @@ #include "views/controls/menu/submenu_view.h" #include "views/controls/menu/view_menu_delegate.h" #include "views/widget/root_view.h" -#include "views/window/window.h" +#include "views/widget/widget.h" // This is a convenience base class for all tests to provide some // common functionality. It sets up a MenuButton and a MenuItemView diff --git a/chrome/browser/ui/views/native_constrained_window_win.cc b/chrome/browser/ui/views/native_constrained_window_win.cc index 7ae1e34..1602e21 100644 --- a/chrome/browser/ui/views/native_constrained_window_win.cc +++ b/chrome/browser/ui/views/native_constrained_window_win.cc @@ -4,7 +4,7 @@ #include "chrome/browser/ui/views/constrained_window_views.h" -#include "views/window/native_window_win.h" +#include "views/widget/native_widget_win.h" namespace { bool IsNonClientHitTestCode(UINT hittest) { @@ -13,10 +13,10 @@ bool IsNonClientHitTestCode(UINT hittest) { } class NativeConstrainedWindowWin : public NativeConstrainedWindow, - public views::NativeWindowWin { + public views::NativeWidgetWin { public: explicit NativeConstrainedWindowWin(NativeConstrainedWindowDelegate* delegate) - : views::NativeWindowWin(delegate->AsNativeWindowDelegate()), + : views::NativeWidgetWin(delegate->AsNativeWidgetDelegate()), delegate_(delegate) { } @@ -25,21 +25,21 @@ class NativeConstrainedWindowWin : public NativeConstrainedWindow, private: // Overridden from NativeConstrainedWindow: - virtual views::NativeWindow* AsNativeWindow() OVERRIDE { + virtual views::NativeWidget* AsNativeWidget() OVERRIDE { return this; } - // Overridden from views::NativeWindowWin: + // Overridden from views::NativeWidgetWin: virtual void OnFinalMessage(HWND window) OVERRIDE { delegate_->OnNativeConstrainedWindowDestroyed(); - NativeWindowWin::OnFinalMessage(window); + NativeWidgetWin::OnFinalMessage(window); } virtual LRESULT OnMouseActivate(UINT message, WPARAM w_param, LPARAM l_param) OVERRIDE { if (IsNonClientHitTestCode(static_cast<UINT>(LOWORD(l_param)))) delegate_->OnNativeConstrainedWindowMouseActivate(); - return NativeWindowWin::OnMouseActivate(message, w_param, l_param); + return NativeWidgetWin::OnMouseActivate(message, w_param, l_param); } NativeConstrainedWindowDelegate* delegate_; diff --git a/chrome/browser/ui/views/page_info_bubble_view.cc b/chrome/browser/ui/views/page_info_bubble_view.cc index 56f1a07..520eb32 100644 --- a/chrome/browser/ui/views/page_info_bubble_view.cc +++ b/chrome/browser/ui/views/page_info_bubble_view.cc @@ -25,7 +25,6 @@ #include "views/controls/separator.h" #include "views/layout/grid_layout.h" #include "views/widget/widget.h" -#include "views/window/window.h" namespace { @@ -195,7 +194,7 @@ void PageInfoBubbleView::LayoutSections() { // according to the animation stage, and let it know how transparent it // should draw itself. section->SetAnimationStage(resize_animation_.GetCurrentValue()); - gfx::Size sz(views::Window::GetLocalizedContentsSize( + gfx::Size sz(views::Widget::GetLocalizedContentsSize( IDS_PAGEINFOBUBBLE_WIDTH_CHARS, IDS_PAGEINFOBUBBLE_HEIGHT_LINES)); layout->AddView(section, 1, 1, // Colspan & Rowspan. @@ -229,7 +228,7 @@ void PageInfoBubbleView::LayoutSections() { } gfx::Size PageInfoBubbleView::GetPreferredSize() { - gfx::Size size(views::Window::GetLocalizedContentsSize( + gfx::Size size(views::Widget::GetLocalizedContentsSize( IDS_PAGEINFOBUBBLE_WIDTH_CHARS, IDS_PAGEINFOBUBBLE_HEIGHT_LINES)); size.set_height(0); diff --git a/chrome/browser/ui/views/profile_menu_button.cc b/chrome/browser/ui/views/profile_menu_button.cc new file mode 100644 index 0000000..6c7c983 --- /dev/null +++ b/chrome/browser/ui/views/profile_menu_button.cc @@ -0,0 +1,62 @@ +// 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 "chrome/browser/ui/views/profile_menu_button.h" + +#include "chrome/browser/ui/profile_menu_model.h" +#include "ui/base/text/text_elider.h" +#include "ui/gfx/color_utils.h" +#include "views/controls/button/button.h" +#include "views/controls/menu/menu_item_view.h" +#include "views/controls/menu/menu_model_adapter.h" +#include "views/widget/widget.h" + +// Menu should display below the profile button tag image on the frame. This +// offset size depends on whether the frame is in glass or opaque mode. +const int kMenuDisplayOffset = 7; + +// TextHover is slightly darker than enabled color, for a subtle hover shift. +const SkColor kTextHover = 0xFFDDDDDD; +const SkColor kTextEnabled = SK_ColorWHITE; +const SkColor kTextHighlighted = SK_ColorWHITE; + +// Horizontal padding beside profile menu button, to center it in the +// underlying tag image. +const int kProfileButtonBorderSpacing = 10; + +// Maximum width for name string in pixels. +const int kMaxTextWidth = 200; + +ProfileMenuButton::ProfileMenuButton(const std::wstring& text, Profile* profile) + : MenuButton(NULL, text, this, true) { + // Turn off hover highlighting and position button in the center of the + // underlying profile tag image. + set_border(views::Border::CreateEmptyBorder( + 0, kProfileButtonBorderSpacing, 0, kProfileButtonBorderSpacing)); + SetHoverColor(kTextHover); + SetEnabledColor(kTextEnabled); + SetHighlightColor(kTextHighlighted); + + profile_menu_model_.reset(new ProfileMenuModel); +} + +ProfileMenuButton::~ProfileMenuButton() {} + +void ProfileMenuButton::SetText(const std::wstring& text) { + MenuButton::SetText(UTF16ToWideHack(ui::ElideText(WideToUTF16Hack(text), + font(), kMaxTextWidth, false))); +} + +// views::ViewMenuDelegate implementation +void ProfileMenuButton::RunMenu(views::View* source, const gfx::Point &pt) { + views::MenuModelAdapter menu_model_adapter(profile_menu_model_.get()); + views::MenuItemView menu(&menu_model_adapter); + menu_model_adapter.BuildMenu(&menu); + + gfx::Point menu_point(pt.x(), pt.y() + kMenuDisplayOffset); + menu.RunMenuAt(source->GetWidget()->GetNativeWindow(), NULL, + gfx::Rect(pt, gfx::Size(0, 0)), + views::MenuItemView::TOPRIGHT, + true); +} diff --git a/chrome/browser/ui/views/repost_form_warning_view.cc b/chrome/browser/ui/views/repost_form_warning_view.cc index df26298..8c5aa2c 100644 --- a/chrome/browser/ui/views/repost_form_warning_view.cc +++ b/chrome/browser/ui/views/repost_form_warning_view.cc @@ -14,7 +14,6 @@ #include "ui/base/l10n/l10n_util.h" #include "ui/base/message_box_flags.h" #include "views/controls/message_box_view.h" -#include "views/window/window.h" namespace browser { diff --git a/chrome/browser/ui/views/repost_form_warning_view.h b/chrome/browser/ui/views/repost_form_warning_view.h index c698c93..ae98c40 100644 --- a/chrome/browser/ui/views/repost_form_warning_view.h +++ b/chrome/browser/ui/views/repost_form_warning_view.h @@ -17,7 +17,6 @@ class TabContents; namespace views { class MessageBoxView; -class Window; } // Displays a dialog that warns the user that they are about to resubmit diff --git a/chrome/browser/ui/views/restart_message_box.cc b/chrome/browser/ui/views/restart_message_box.cc index 91a736f..6d04555 100644 --- a/chrome/browser/ui/views/restart_message_box.cc +++ b/chrome/browser/ui/views/restart_message_box.cc @@ -10,7 +10,7 @@ #include "ui/base/l10n/l10n_util.h" #include "ui/base/message_box_flags.h" #include "views/controls/message_box_view.h" -#include "views/window/window.h" +#include "views/widget/widget.h" //////////////////////////////////////////////////////////////////////////////// // RestartMessageBox, public: @@ -60,7 +60,7 @@ RestartMessageBox::RestartMessageBox(gfx::NativeWindow parent_window) { l10n_util::GetStringUTF16(IDS_OPTIONS_RELAUNCH_REQUIRED)).c_str(), std::wstring(), kDialogWidth); - views::Window::CreateChromeWindow(parent_window, gfx::Rect(), this)->Show(); + views::Widget::CreateWindowWithParent(this, parent_window)->Show(); } RestartMessageBox::~RestartMessageBox() { diff --git a/chrome/browser/ui/views/select_file_dialog.cc b/chrome/browser/ui/views/select_file_dialog.cc index 563707c..b8802d2 100644 --- a/chrome/browser/ui/views/select_file_dialog.cc +++ b/chrome/browser/ui/views/select_file_dialog.cc @@ -24,7 +24,6 @@ #include "grit/generated_resources.h" #include "ui/base/l10n/l10n_util.h" #include "views/window/non_client_view.h" -#include "views/window/window.h" namespace { diff --git a/chrome/browser/ui/views/status_bubble_views.cc b/chrome/browser/ui/views/status_bubble_views.cc index 35319a4..a99449e 100644 --- a/chrome/browser/ui/views/status_bubble_views.cc +++ b/chrome/browser/ui/views/status_bubble_views.cc @@ -29,7 +29,6 @@ #include "views/screen.h" #include "views/widget/root_view.h" #include "views/widget/widget.h" -#include "views/window/window.h" using views::Widget; @@ -794,7 +793,7 @@ bool StatusBubbleViews::IsFrameVisible() { if (!frame->IsVisible()) return false; - views::Window* window = frame->GetContainingWindow(); + views::Widget* window = frame->GetTopLevelWidget(); return !window || !window->IsMinimized(); } diff --git a/chrome/browser/ui/views/tabs/base_tab_strip.cc b/chrome/browser/ui/views/tabs/base_tab_strip.cc index a6de3a9..e933f5d 100644 --- a/chrome/browser/ui/views/tabs/base_tab_strip.cc +++ b/chrome/browser/ui/views/tabs/base_tab_strip.cc @@ -9,7 +9,7 @@ #include "chrome/browser/ui/views/tabs/dragged_tab_controller.h" #include "chrome/browser/ui/views/tabs/tab_strip_controller.h" #include "views/widget/root_view.h" -#include "views/window/window.h" +#include "views/widget/widget.h" #if defined(OS_WIN) // GET_X_LPARAM, et al. diff --git a/chrome/browser/ui/views/tabs/dragged_tab_controller.cc b/chrome/browser/ui/views/tabs/dragged_tab_controller.cc index e42f8e8..298b2fc 100644 --- a/chrome/browser/ui/views/tabs/dragged_tab_controller.cc +++ b/chrome/browser/ui/views/tabs/dragged_tab_controller.cc @@ -37,7 +37,6 @@ #include "views/events/event.h" #include "views/screen.h" #include "views/widget/widget.h" -#include "views/window/window.h" #if defined(TOOLKIT_USES_GTK) #include <gdk/gdk.h> // NOLINT diff --git a/chrome/browser/ui/views/tabs/tab.cc b/chrome/browser/ui/views/tabs/tab.cc index 3a83bfe..9526e99 100644 --- a/chrome/browser/ui/views/tabs/tab.cc +++ b/chrome/browser/ui/views/tabs/tab.cc @@ -27,7 +27,6 @@ #include "views/widget/tooltip_manager.h" #include "views/widget/widget.h" #include "views/window/non_client_view.h" -#include "views/window/window.h" static const int kLeftPadding = 16; static const int kTopPadding = 6; @@ -449,8 +448,7 @@ void Tab::PaintInactiveTabBackground(gfx::Canvas* canvas) { int offset = GetMirroredX() + background_offset_.x(); int tab_id; - if (GetWidget() && - GetWidget()->GetContainingWindow()->ShouldUseNativeFrame()) { + if (GetWidget() && GetWidget()->GetTopLevelWidget()->ShouldUseNativeFrame()) { tab_id = IDR_THEME_TAB_BACKGROUND_V; } else { tab_id = data().incognito ? IDR_THEME_TAB_BACKGROUND_INCOGNITO : diff --git a/chrome/browser/ui/views/tabs/tab_strip.cc b/chrome/browser/ui/views/tabs/tab_strip.cc index d247063..ce53b94 100644 --- a/chrome/browser/ui/views/tabs/tab_strip.cc +++ b/chrome/browser/ui/views/tabs/tab_strip.cc @@ -27,8 +27,8 @@ #include "ui/gfx/size.h" #include "views/controls/image_view.h" #include "views/widget/default_theme_provider.h" +#include "views/widget/widget.h" #include "views/window/non_client_view.h" -#include "views/window/window.h" #if defined(OS_WIN) #include "views/widget/monitor_win.h" diff --git a/chrome/browser/ui/views/task_manager_view.cc b/chrome/browser/ui/views/task_manager_view.cc index df8cbaf..06654c1 100644 --- a/chrome/browser/ui/views/task_manager_view.cc +++ b/chrome/browser/ui/views/task_manager_view.cc @@ -34,7 +34,6 @@ #include "views/layout/layout_constants.h" #include "views/widget/widget.h" #include "views/window/dialog_delegate.h" -#include "views/window/window.h" // The task manager window default size. static const int kDefaultWidth = 460; @@ -257,9 +256,8 @@ class BackgroundColorGroupTableView : public views::GroupTableView { }; // The Task manager UI container. -class TaskManagerView : public views::View, - public views::ButtonListener, - public views::DialogDelegate, +class TaskManagerView : public views::ButtonListener, + public views::DialogDelegateView, public views::TableViewObserver, public views::LinkListener, public views::ContextMenuController, @@ -567,18 +565,18 @@ void TaskManagerView::Show(bool highlight_background_resources) { if (instance_) { if (instance_->highlight_background_resources_ != highlight_background_resources) { - instance_->window()->Close(); + instance_->GetWidget()->Close(); } else { // If there's a Task manager window open already, just activate it. - instance_->window()->Activate(); + instance_->GetWidget()->Activate(); return; } } instance_ = new TaskManagerView(highlight_background_resources); - views::Window::CreateChromeWindow(NULL, gfx::Rect(), instance_); + views::Widget::CreateWindow(instance_); instance_->InitAlwaysOnTopState(); instance_->model_->StartUpdating(); - instance_->window()->Show(); + instance_->GetWidget()->Show(); // Set the initial focus to the list of tasks. views::FocusManager* focus_manager = instance_->GetFocusManager(); @@ -626,7 +624,7 @@ bool TaskManagerView::ExecuteWindowsCommand(int command_id) { r = SetMenuItemInfo(system_menu, IDC_ALWAYS_ON_TOP, FALSE, &menu_info); // Now change the actual window's behavior. - window()->SetAlwaysOnTop(is_always_on_top_); + GetWidget()->SetAlwaysOnTop(is_always_on_top_); // Save the state. if (g_browser_process->local_state()) { @@ -718,7 +716,7 @@ void TaskManagerView::ExecuteCommand(int id) { void TaskManagerView::InitAlwaysOnTopState() { is_always_on_top_ = false; if (GetSavedAlwaysOnTopState(&is_always_on_top_)) - window()->SetAlwaysOnTop(is_always_on_top_); + GetWidget()->SetAlwaysOnTop(is_always_on_top_); AddAlwaysOnTopSystemMenuItem(); } diff --git a/chrome/browser/ui/views/toolbar_view.cc b/chrome/browser/ui/views/toolbar_view.cc index 9721b0b..c9908f4 100644 --- a/chrome/browser/ui/views/toolbar_view.cc +++ b/chrome/browser/ui/views/toolbar_view.cc @@ -36,7 +36,6 @@ #include "views/focus/view_storage.h" #include "views/widget/tooltip_manager.h" #include "views/window/non_client_view.h" -#include "views/window/window.h" #if defined(OS_WIN) #include "chrome/browser/enumerate_modules_model_win.h" diff --git a/chrome/browser/ui/views/update_recommended_message_box.cc b/chrome/browser/ui/views/update_recommended_message_box.cc index 1eb76c4..09ce309 100644 --- a/chrome/browser/ui/views/update_recommended_message_box.cc +++ b/chrome/browser/ui/views/update_recommended_message_box.cc @@ -15,7 +15,7 @@ #include "ui/base/l10n/l10n_util.h" #include "ui/base/message_box_flags.h" #include "views/controls/message_box_view.h" -#include "views/window/window.h" +#include "views/widget/widget.h" #if defined(OS_CHROMEOS) #include "chrome/browser/chromeos/cros/cros_library.h" diff --git a/chrome/browser/ui/views/user_data_dir_dialog.cc b/chrome/browser/ui/views/user_data_dir_dialog.cc index 996f442..26235fd 100644 --- a/chrome/browser/ui/views/user_data_dir_dialog.cc +++ b/chrome/browser/ui/views/user_data_dir_dialog.cc @@ -11,7 +11,6 @@ #include "ui/base/message_box_flags.h" #include "views/controls/message_box_view.h" #include "views/widget/widget.h" -#include "views/window/window.h" // static FilePath UserDataDirDialog::RunUserDataDirDialog( @@ -34,7 +33,7 @@ UserDataDirDialog::UserDataDirDialog(const FilePath& user_data_dir) ui::MessageBoxFlags::kIsConfirmMessageBox, message_text.c_str(), std::wstring(), kDialogWidth); - views::Window::CreateChromeWindow(NULL, gfx::Rect(), this)->Show(); + views::Widget::CreateWindow(this)->Show(); } UserDataDirDialog::~UserDataDirDialog() { diff --git a/chrome/browser/ui/views/user_data_dir_dialog.h b/chrome/browser/ui/views/user_data_dir_dialog.h index fd00ac6..fa51df1 100644 --- a/chrome/browser/ui/views/user_data_dir_dialog.h +++ b/chrome/browser/ui/views/user_data_dir_dialog.h @@ -18,7 +18,6 @@ class FilePath; namespace views { class MessageBoxView; -class Window; } class UserDataDirDialog : public views::DialogDelegate, diff --git a/chrome/browser/ui/views/window.cc b/chrome/browser/ui/views/window.cc index ed52599..59a6d93 100644 --- a/chrome/browser/ui/views/window.cc +++ b/chrome/browser/ui/views/window.cc @@ -5,7 +5,7 @@ #include "chrome/browser/ui/views/window.h" #include "ui/gfx/rect.h" -#include "views/window/window.h" +#include "views/widget/widget.h" #if defined(OS_CHROMEOS) #include "chrome/browser/chromeos/frame/bubble_window.h" @@ -13,16 +13,16 @@ namespace browser { -views::Window* CreateViewsWindow(gfx::NativeWindow parent, +views::Widget* CreateViewsWindow(gfx::NativeWindow parent, const gfx::Rect& bounds, - views::WindowDelegate* delegate) { + views::WidgetDelegate* delegate) { #if defined(OS_CHROMEOS) return chromeos::BubbleWindow::Create(parent, gfx::Rect(), chromeos::BubbleWindow::STYLE_GENERIC, delegate); #else - return views::Window::CreateChromeWindow(parent, gfx::Rect(), delegate); + return views::Widget::CreateWindowWithParent(delegate, parent); #endif } diff --git a/chrome/browser/ui/views/window.h b/chrome/browser/ui/views/window.h index 9981f2d..04c4b81 100644 --- a/chrome/browser/ui/views/window.h +++ b/chrome/browser/ui/views/window.h @@ -13,16 +13,16 @@ class Rect; } namespace views { -class Window; -class WindowDelegate; +class Widget; +class WidgetDelegate; } namespace browser { // Create a window for given |delegate| using default frame view. -views::Window* CreateViewsWindow(gfx::NativeWindow parent, +views::Widget* CreateViewsWindow(gfx::NativeWindow parent, const gfx::Rect& bounds, - views::WindowDelegate* delegate); + views::WidgetDelegate* delegate); } // namespace browser diff --git a/chrome/browser/ui/views/wrench_menu.cc b/chrome/browser/ui/views/wrench_menu.cc index 9094a9e..93abf2a 100644 --- a/chrome/browser/ui/views/wrench_menu.cc +++ b/chrome/browser/ui/views/wrench_menu.cc @@ -38,7 +38,7 @@ #include "views/controls/menu/menu_item_view.h" #include "views/controls/menu/menu_scroll_view_container.h" #include "views/controls/menu/submenu_view.h" -#include "views/window/window.h" +#include "views/widget/widget.h" using ui::MenuModel; using views::CustomButton; diff --git a/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc index 3c7979e..66ac058 100644 --- a/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc +++ b/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc @@ -19,7 +19,7 @@ #include "third_party/skia/include/core/SkBitmap.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" -#include "views/window/window.h" +#include "views/widget/widget.h" namespace chromeos { @@ -113,7 +113,7 @@ void ChangePictureOptionsHandler::ChooseFile(const ListValue* args) { void ChangePictureOptionsHandler::TakePhoto(const ListValue* args) { DCHECK(args && args->empty()); - views::Window* window = browser::CreateViewsWindow( + views::Widget* window = browser::CreateViewsWindow( GetBrowserWindow(), gfx::Rect(), new TakePhotoDialog()); diff --git a/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc index 7f63487..bd8762c 100644 --- a/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc +++ b/chrome/browser/ui/webui/options/chromeos/internet_options_handler.cc @@ -44,7 +44,7 @@ #include "third_party/skia/include/core/SkBitmap.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" -#include "views/window/window.h" +#include "views/widget/widget.h" static const char kOtherNetworksFakePath[] = "?"; @@ -813,8 +813,8 @@ void InternetOptionsHandler::SetActivationButtonVisibility( } } -void InternetOptionsHandler::CreateModalPopup(views::WindowDelegate* view) { - views::Window* window = browser::CreateViewsWindow(GetNativeWindow(), +void InternetOptionsHandler::CreateModalPopup(views::WidgetDelegate* view) { + views::Widget* window = browser::CreateViewsWindow(GetNativeWindow(), gfx::Rect(), view); window->SetAlwaysOnTop(true); diff --git a/chrome/browser/ui/webui/options/chromeos/internet_options_handler.h b/chrome/browser/ui/webui/options/chromeos/internet_options_handler.h index f8a0d7a..9b2a02b 100644 --- a/chrome/browser/ui/webui/options/chromeos/internet_options_handler.h +++ b/chrome/browser/ui/webui/options/chromeos/internet_options_handler.h @@ -14,7 +14,7 @@ class SkBitmap; namespace views { -class WindowDelegate; +class WidgetDelegate; } // ChromeOS internet options page UI handler. @@ -49,7 +49,7 @@ class InternetOptionsHandler private: // Opens a modal popup dialog. - void CreateModalPopup(views::WindowDelegate* view); + void CreateModalPopup(views::WidgetDelegate* view); gfx::NativeWindow GetNativeWindow() const; // Passes data needed to show details overlay for network. diff --git a/chrome/browser/ui/webui/options/personal_options_handler.cc b/chrome/browser/ui/webui/options/personal_options_handler.cc index e3ed25b..958ecea 100644 --- a/chrome/browser/ui/webui/options/personal_options_handler.cc +++ b/chrome/browser/ui/webui/options/personal_options_handler.cc @@ -42,7 +42,6 @@ #include "chrome/browser/ui/browser_window.h" #include "chrome/browser/ui/views/window.h" #include "third_party/skia/include/core/SkBitmap.h" -#include "views/window/window.h" #endif // defined(OS_CHROMEOS) #if defined(TOOLKIT_GTK) #include "chrome/browser/ui/gtk/gtk_theme_service.h" |