diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-27 22:00:39 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-27 22:00:39 +0000 |
commit | 6128eae7d27e2fd1446fabe7af4f1033a2937934 (patch) | |
tree | f6e0caacb21d47f749f5ee756f453dfdbd300353 /chrome | |
parent | 26feb1fe0c81e3545aa2bc85bc6ec7cc366049cd (diff) | |
download | chromium_src-6128eae7d27e2fd1446fabe7af4f1033a2937934.zip chromium_src-6128eae7d27e2fd1446fabe7af4f1033a2937934.tar.gz chromium_src-6128eae7d27e2fd1446fabe7af4f1033a2937934.tar.bz2 |
Converts a bunch things from NativeWindow to NativeView to make it
easier for callers. Also gets bookmark menu button to compile.
I'm also removing a function I just added to gtk_util as it's not
needed. GTK offers gtk_widget_get_toplevel which does what I need.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/115831
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17029 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/bookmarks/bookmark_context_menu.cc | 6 | ||||
-rw-r--r-- | chrome/browser/bookmarks/bookmark_context_menu.h | 4 | ||||
-rw-r--r-- | chrome/browser/bookmarks/bookmark_editor.h | 2 | ||||
-rw-r--r-- | chrome/browser/bookmarks/bookmark_utils.cc | 6 | ||||
-rw-r--r-- | chrome/browser/bookmarks/bookmark_utils.h | 4 | ||||
-rw-r--r-- | chrome/browser/gtk/bookmark_bar_gtk.cc | 6 | ||||
-rw-r--r-- | chrome/browser/gtk/bookmark_editor_gtk.cc | 6 | ||||
-rw-r--r-- | chrome/browser/gtk/bookmark_menu_controller_gtk.cc | 3 | ||||
-rw-r--r-- | chrome/browser/input_window_dialog.h | 7 | ||||
-rw-r--r-- | chrome/browser/input_window_dialog_gtk.cc | 4 | ||||
-rw-r--r-- | chrome/browser/input_window_dialog_win.cc | 2 | ||||
-rw-r--r-- | chrome/browser/views/bookmark_menu_button.cc | 10 | ||||
-rw-r--r-- | chrome/browser/views/bookmark_menu_controller_views.cc | 11 | ||||
-rw-r--r-- | chrome/browser/views/bookmark_menu_controller_views.h | 4 | ||||
-rw-r--r-- | chrome/chrome.gyp | 2 | ||||
-rw-r--r-- | chrome/common/gtk_util.cc | 9 | ||||
-rw-r--r-- | chrome/common/gtk_util.h | 4 |
17 files changed, 40 insertions, 50 deletions
diff --git a/chrome/browser/bookmarks/bookmark_context_menu.cc b/chrome/browser/bookmarks/bookmark_context_menu.cc index 93dd7c0..06ed2d4 100644 --- a/chrome/browser/bookmarks/bookmark_context_menu.cc +++ b/chrome/browser/bookmarks/bookmark_context_menu.cc @@ -56,7 +56,7 @@ class EditFolderController : public InputWindowDialog::Delegate, } static void Show(Profile* profile, - gfx::NativeWindow wnd, + gfx::NativeView wnd, BookmarkNode* node, bool is_new, bool show_in_manager) { @@ -68,7 +68,7 @@ class EditFolderController : public InputWindowDialog::Delegate, private: EditFolderController(Profile* profile, - gfx::NativeWindow wnd, + gfx::NativeView wnd, BookmarkNode* node, bool is_new, bool show_in_manager) @@ -214,7 +214,7 @@ class SelectOnCreationHandler : public BookmarkEditor::Handler { // BookmarkContextMenu ------------------------------------------- BookmarkContextMenu::BookmarkContextMenu( - gfx::NativeWindow wnd, + gfx::NativeView wnd, Profile* profile, Browser* browser, PageNavigator* navigator, diff --git a/chrome/browser/bookmarks/bookmark_context_menu.h b/chrome/browser/bookmarks/bookmark_context_menu.h index 035af5e..75f72f4 100644 --- a/chrome/browser/bookmarks/bookmark_context_menu.h +++ b/chrome/browser/bookmarks/bookmark_context_menu.h @@ -55,7 +55,7 @@ class BookmarkContextMenu : public BookmarkModelObserver, // |parent| is the parent for newly created nodes if |selection| is empty. // |selection| is the nodes the context menu operates on and may be empty. // |configuration| determines which items to show. - BookmarkContextMenu(gfx::NativeWindow hwnd, + BookmarkContextMenu(gfx::NativeView hwnd, Profile* profile, Browser* browser, PageNavigator* navigator, @@ -130,7 +130,7 @@ class BookmarkContextMenu : public BookmarkModelObserver, // parent_ is returned. BookmarkNode* GetParentForNewNodes() const; - gfx::NativeWindow wnd_; + gfx::NativeView wnd_; Profile* profile_; Browser* browser_; PageNavigator* navigator_; diff --git a/chrome/browser/bookmarks/bookmark_editor.h b/chrome/browser/bookmarks/bookmark_editor.h index 5e356e1..54996db 100644 --- a/chrome/browser/bookmarks/bookmark_editor.h +++ b/chrome/browser/bookmarks/bookmark_editor.h @@ -33,7 +33,7 @@ class BookmarkEditor { // |show_tree| is false the tree is not shown. BookmarkEditor takes // ownership of |handler| and deletes it when done. |handler| may be // null. See description of Handler for details. - static void Show(gfx::NativeWindow parent_window, + static void Show(gfx::NativeView parent_window, Profile* profile, BookmarkNode* parent, BookmarkNode* node, diff --git a/chrome/browser/bookmarks/bookmark_utils.cc b/chrome/browser/bookmarks/bookmark_utils.cc index 7cedca3..61be84d 100644 --- a/chrome/browser/bookmarks/bookmark_utils.cc +++ b/chrome/browser/bookmarks/bookmark_utils.cc @@ -138,7 +138,7 @@ void OpenAllImpl(BookmarkNode* node, } } -bool ShouldOpenAll(gfx::NativeWindow parent, +bool ShouldOpenAll(gfx::NativeView parent, const std::vector<BookmarkNode*>& nodes) { int descendant_count = 0; for (size_t i = 0; i < nodes.size(); ++i) @@ -306,7 +306,7 @@ void CloneDragData(BookmarkModel* model, CloneDragDataImpl(model, elements[i], parent, index_to_add_at + i); } -void OpenAll(gfx::NativeWindow parent, +void OpenAll(gfx::NativeView parent, Profile* profile, PageNavigator* navigator, const std::vector<BookmarkNode*>& nodes, @@ -334,7 +334,7 @@ void OpenAll(gfx::NativeWindow parent, OpenAllImpl(nodes[i], initial_disposition, &navigator, &opened_url); } -void OpenAll(gfx::NativeWindow parent, +void OpenAll(gfx::NativeView parent, Profile* profile, PageNavigator* navigator, BookmarkNode* node, diff --git a/chrome/browser/bookmarks/bookmark_utils.h b/chrome/browser/bookmarks/bookmark_utils.h index 7be4aad..057183b 100644 --- a/chrome/browser/bookmarks/bookmark_utils.h +++ b/chrome/browser/bookmarks/bookmark_utils.h @@ -73,14 +73,14 @@ void CloneDragData(BookmarkModel* model, // |navigator| is used to open the URLs. If |navigator| is NULL the last // tabbed browser with the profile |profile| is used. If there is no browser // with the specified profile a new one is created. -void OpenAll(gfx::NativeWindow parent, +void OpenAll(gfx::NativeView parent, Profile* profile, PageNavigator* navigator, const std::vector<BookmarkNode*>& nodes, WindowOpenDisposition initial_disposition); // Convenience for opening a single BookmarkNode. -void OpenAll(gfx::NativeWindow parent, +void OpenAll(gfx::NativeView parent, Profile* profile, PageNavigator* navigator, BookmarkNode* node, diff --git a/chrome/browser/gtk/bookmark_bar_gtk.cc b/chrome/browser/gtk/bookmark_bar_gtk.cc index 0d2122b..1fc5dfc 100644 --- a/chrome/browser/gtk/bookmark_bar_gtk.cc +++ b/chrome/browser/gtk/bookmark_bar_gtk.cc @@ -464,8 +464,7 @@ void BookmarkBarGtk::PopupMenuForNode(GtkWidget* sender, BookmarkNode* node, } current_context_menu_.reset(new BookmarkContextMenu( - GTK_WINDOW(gtk_widget_get_toplevel(sender)), - profile_, browser_, page_navigator_, + sender, profile_, browser_, page_navigator_, parent, nodes, BookmarkContextMenu::BOOKMARK_BAR)); current_context_menu_->PopupAsContext(event->time); @@ -510,8 +509,7 @@ gboolean BookmarkBarGtk::OnButtonReleased(GtkWidget* sender, PageTransition::AUTO_BOOKMARK); } else { bookmark_utils::OpenAll( - GTK_WINDOW(gtk_widget_get_toplevel(sender)), bar->profile_, - bar->page_navigator_, node, + sender, bar->profile_, bar->page_navigator_, node, event_utils::DispositionFromEventFlags(event->state)); } diff --git a/chrome/browser/gtk/bookmark_editor_gtk.cc b/chrome/browser/gtk/bookmark_editor_gtk.cc index 7f5ed6f..e8a3a93 100644 --- a/chrome/browser/gtk/bookmark_editor_gtk.cc +++ b/chrome/browser/gtk/bookmark_editor_gtk.cc @@ -33,7 +33,7 @@ static const int kTreeHeight = 150; } // namespace // static -void BookmarkEditor::Show(gfx::NativeWindow parent_hwnd, +void BookmarkEditor::Show(gfx::NativeView parent_hwnd, Profile* profile, BookmarkNode* parent, BookmarkNode* node, @@ -41,8 +41,8 @@ void BookmarkEditor::Show(gfx::NativeWindow parent_hwnd, Handler* handler) { DCHECK(profile); BookmarkEditorGtk* editor = - new BookmarkEditorGtk(parent_hwnd, profile, parent, node, configuration, - handler); + new BookmarkEditorGtk(GTK_WINDOW(gtk_widget_get_toplevel(parent_hwnd)), + profile, parent, node, configuration, handler); editor->Show(); } diff --git a/chrome/browser/gtk/bookmark_menu_controller_gtk.cc b/chrome/browser/gtk/bookmark_menu_controller_gtk.cc index ca05738..f94ef7f 100644 --- a/chrome/browser/gtk/bookmark_menu_controller_gtk.cc +++ b/chrome/browser/gtk/bookmark_menu_controller_gtk.cc @@ -150,8 +150,7 @@ gboolean BookmarkMenuController::OnButtonPressed( nodes.push_back(node); controller->context_menu_.reset( new BookmarkContextMenu( - GTK_WINDOW(gtk_widget_get_toplevel(sender)), - controller->profile_, controller->browser_, + sender, controller->profile_, controller->browser_, controller->page_navigator_, parent, nodes, BookmarkContextMenu::BOOKMARK_BAR)); controller->context_menu_->PopupAsContext(event->time); diff --git a/chrome/browser/input_window_dialog.h b/chrome/browser/input_window_dialog.h index 5229c1b..56bdfb9 100644 --- a/chrome/browser/input_window_dialog.h +++ b/chrome/browser/input_window_dialog.h @@ -27,10 +27,9 @@ class InputWindowDialog { virtual void InputCanceled() = 0; }; - // Creates a new input window dialog from the parent window - // |parent|, Ownership of |delegate| is taken by InputWindowDialog or - // InputWindowDialog's owner. - static InputWindowDialog* Create(gfx::NativeWindow parent, + // Creates a new input window dialog parented to |parent|. Ownership of + // |delegate| is taken by InputWindowDialog or InputWindowDialog's owner. + static InputWindowDialog* Create(gfx::NativeView parent, const std::wstring& window_title, const std::wstring& label, const std::wstring& contents, diff --git a/chrome/browser/input_window_dialog_gtk.cc b/chrome/browser/input_window_dialog_gtk.cc index b6bf5dc..353cb39 100644 --- a/chrome/browser/input_window_dialog_gtk.cc +++ b/chrome/browser/input_window_dialog_gtk.cc @@ -148,12 +148,12 @@ void GtkInputWindowDialog::OnWindowDestroy(GtkWidget* widget, } // static -InputWindowDialog* InputWindowDialog::Create(gfx::NativeWindow parent, +InputWindowDialog* InputWindowDialog::Create(gfx::NativeView parent, const std::wstring& window_title, const std::wstring& label, const std::wstring& contents, Delegate* delegate) { - return new GtkInputWindowDialog(parent, + return new GtkInputWindowDialog(GTK_WINDOW(gtk_widget_get_toplevel(parent)), WideToUTF8(window_title), WideToUTF8(label), WideToUTF8(contents), diff --git a/chrome/browser/input_window_dialog_win.cc b/chrome/browser/input_window_dialog_win.cc index 1f942c0..102fc9a 100644 --- a/chrome/browser/input_window_dialog_win.cc +++ b/chrome/browser/input_window_dialog_win.cc @@ -223,7 +223,7 @@ void WinInputWindowDialog::Close() { } // static -InputWindowDialog* InputWindowDialog::Create(gfx::NativeWindow parent, +InputWindowDialog* InputWindowDialog::Create(HWND parent, const std::wstring& window_title, const std::wstring& label, const std::wstring& contents, diff --git a/chrome/browser/views/bookmark_menu_button.cc b/chrome/browser/views/bookmark_menu_button.cc index 3f6c43a..b06e0df 100644 --- a/chrome/browser/views/bookmark_menu_button.cc +++ b/chrome/browser/views/bookmark_menu_button.cc @@ -4,6 +4,12 @@ #include "chrome/browser/views/bookmark_menu_button.h" +#include "build/build_config.h" + +#if defined(OS_GTK) +#include <gtk/gtk.h> +#endif + #include "app/resource_bundle.h" #include "app/os_exchange_data.h" #include "chrome/browser/bookmarks/bookmark_model.h" @@ -129,9 +135,13 @@ void BookmarkMenuButton::StartShowFolderDropMenuTimer() { if (show_drop_menu_timer_.IsRunning()) return; +#if defined(OS_WIN) static DWORD delay = 0; if (!delay && !SystemParametersInfo(SPI_GETMENUSHOWDELAY, 0, &delay, 0)) delay = 400; +#else + static int delay = 400; +#endif show_drop_menu_timer_.Start(base::TimeDelta::FromMilliseconds(delay), this, &BookmarkMenuButton::ShowDropMenu); } diff --git a/chrome/browser/views/bookmark_menu_controller_views.cc b/chrome/browser/views/bookmark_menu_controller_views.cc index 2ac58eb..cd550ca 100644 --- a/chrome/browser/views/bookmark_menu_controller_views.cc +++ b/chrome/browser/views/bookmark_menu_controller_views.cc @@ -21,7 +21,7 @@ BookmarkMenuController::BookmarkMenuController(Browser* browser, Profile* profile, PageNavigator* navigator, - gfx::NativeWindow parent, + gfx::NativeView parent, BookmarkNode* node, int start_child_index, bool show_other_folder) @@ -48,15 +48,10 @@ void BookmarkMenuController::RunMenuAt( bool for_drop) { for_drop_ = for_drop; profile_->GetBookmarkModel()->AddObserver(this); -#if defined(OS_WIN) - gfx::NativeView widget = parent_; -#else - gfx::NativeView widget = GTK_WIDGET(parent_); -#endif if (for_drop) { - menu_->RunMenuForDropAt(widget, bounds, position); + menu_->RunMenuForDropAt(parent_, bounds, position); } else { - menu_->RunMenuAt(widget, bounds, position, false); + menu_->RunMenuAt(parent_, bounds, position, false); delete this; } } diff --git a/chrome/browser/views/bookmark_menu_controller_views.h b/chrome/browser/views/bookmark_menu_controller_views.h index 4764cd0..54c11de 100644 --- a/chrome/browser/views/bookmark_menu_controller_views.h +++ b/chrome/browser/views/bookmark_menu_controller_views.h @@ -38,7 +38,7 @@ class BookmarkMenuController : public BaseBookmarkModelObserver, BookmarkMenuController(Browser* browser, Profile* profile, PageNavigator* page_navigator, - gfx::NativeWindow parent, + gfx::NativeView parent, BookmarkNode* node, int start_child_index, bool show_other_folder); @@ -110,7 +110,7 @@ class BookmarkMenuController : public BaseBookmarkModelObserver, PageNavigator* page_navigator_; // Parent of menus. - gfx::NativeWindow parent_; + gfx::NativeView parent_; // The node we're showing the contents of. BookmarkNode* node_; diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp index 7a63dd3..762cbc4 100644 --- a/chrome/chrome.gyp +++ b/chrome/chrome.gyp @@ -1686,6 +1686,8 @@ ['include', '^browser/dock_info_gtk.cc'], ['include', '^browser/dock_info.cc'], ['include', '^browser/dock_info.h'], + ['include', '^browser/views/bookmark_menu_button.cc'], + ['include', '^browser/views/bookmark_menu_button.h'], ['include', '^browser/views/bookmark_menu_controller_views.cc'], ['include', '^browser/views/dialog_stubs_gtk.cc'], ['include', '^browser/views/download_item_view.cc'], diff --git a/chrome/common/gtk_util.cc b/chrome/common/gtk_util.cc index 1deb58f..01d952e 100644 --- a/chrome/common/gtk_util.cc +++ b/chrome/common/gtk_util.cc @@ -122,13 +122,4 @@ void InitRCStyles() { gtk_rc_parse_string(kRCText); } -GtkWindow* ParentWindow(GtkWidget* widget) { - while (widget) { - if (GTK_IS_WINDOW(widget)) - return GTK_WINDOW(widget); - widget = gtk_widget_get_parent(widget); - } - return NULL; -} - } // namespace gtk_util diff --git a/chrome/common/gtk_util.h b/chrome/common/gtk_util.h index 5770030..d72045b 100644 --- a/chrome/common/gtk_util.h +++ b/chrome/common/gtk_util.h @@ -44,10 +44,6 @@ gfx::Rect GetWidgetScreenBounds(GtkWidget* widget); // Initialize some GTK settings so that our dialogs are consistent. void InitRCStyles(); -// Returns the closest ancestor of |widget| which is a top level window or NULL -// if there is no such ancestor. The search starts at |widget|. -GtkWindow* ParentWindow(GtkWidget* widget); - } // namespace gtk_util #endif // CHROME_COMMON_GTK_UTIL_H_ |