summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-23 23:16:28 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-23 23:16:28 +0000
commit0ed9480c6a0ac1a8cc75c7b421f64d421570f2ce (patch)
tree7e4bb4c588517f5d55ae271cdfce28e2b399300f
parent13e2f04da83dc9fa5ef42d28e113168b2a4b4d9a (diff)
downloadchromium_src-0ed9480c6a0ac1a8cc75c7b421f64d421570f2ce.zip
chromium_src-0ed9480c6a0ac1a8cc75c7b421f64d421570f2ce.tar.gz
chromium_src-0ed9480c6a0ac1a8cc75c7b421f64d421570f2ce.tar.bz2
bookmarks: Extract BookmarkMenuController observer into its own header file.
BUG=None TEST=None R=sky@chromium.org Review URL: https://codereview.chromium.org/23068028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219378 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc8
-rw-r--r--chrome/browser/ui/views/bookmarks/bookmark_bar_view.h15
-rw-r--r--chrome/browser/ui/views/bookmarks/bookmark_menu_controller_observer.h20
-rw-r--r--chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.cc3
-rw-r--r--chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h24
-rw-r--r--chrome/chrome_browser_ui.gypi1
6 files changed, 44 insertions, 27 deletions
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
index 09546a4..6764ea2 100644
--- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
+++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
@@ -42,6 +42,7 @@
#include "chrome/browser/ui/views/bookmarks/bookmark_bar_instructions_view.h"
#include "chrome/browser/ui/views/bookmarks/bookmark_context_menu.h"
#include "chrome/browser/ui/views/bookmarks/bookmark_drag_drop_views.h"
+#include "chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h"
#include "chrome/browser/ui/views/event_utils.h"
#include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/browser/ui/views/location_bar/location_bar_view.h"
@@ -940,7 +941,8 @@ void BookmarkBarView::AnimationEnded(const ui::Animation* animation) {
}
}
-void BookmarkBarView::BookmarkMenuDeleted(BookmarkMenuController* controller) {
+void BookmarkBarView::BookmarkMenuControllerDeleted(
+ BookmarkMenuController* controller) {
if (controller == bookmark_menu_)
bookmark_menu_ = NULL;
else if (controller == bookmark_drop_menu_)
@@ -1167,8 +1169,8 @@ void BookmarkBarView::OnMenuButtonClicked(views::View* view,
}
bookmark_utils::RecordBookmarkFolderOpen(GetBookmarkLaunchLocation());
- bookmark_menu_ = new BookmarkMenuController(browser_,
- page_navigator_, GetWidget(), node, start_index);
+ bookmark_menu_ = new BookmarkMenuController(
+ browser_, page_navigator_, GetWidget(), node, start_index);
bookmark_menu_->set_observer(this);
bookmark_menu_->RunMenuAt(this, false);
}
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.h b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.h
index afea414..f61e061 100644
--- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.h
+++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.h
@@ -19,12 +19,13 @@
#include "chrome/browser/ui/bookmarks/bookmark_bar.h"
#include "chrome/browser/ui/bookmarks/bookmark_bar_instructions_delegate.h"
#include "chrome/browser/ui/views/bookmarks/bookmark_bubble_view_observer.h"
-#include "chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h"
+#include "chrome/browser/ui/views/bookmarks/bookmark_menu_controller_observer.h"
#include "chrome/browser/ui/views/detachable_toolbar_view.h"
#include "ui/base/animation/animation_delegate.h"
#include "ui/views/context_menu_controller.h"
#include "ui/views/controls/button/button.h"
#include "ui/views/controls/button/menu_button_listener.h"
+#include "ui/views/controls/menu/menu_item_view.h"
#include "ui/views/drag_controller.h"
class BookmarkContextMenu;
@@ -42,7 +43,6 @@ class SlideAnimation;
namespace views {
class CustomButton;
class MenuButton;
-class MenuItemView;
class TextButton;
}
@@ -60,7 +60,7 @@ class BookmarkBarView : public DetachableToolbarView,
public views::ContextMenuController,
public views::DragController,
public ui::AnimationDelegate,
- public BookmarkMenuController::Observer,
+ public BookmarkMenuControllerObserver,
public chrome::BookmarkBarInstructionsDelegate,
public BookmarkBubbleViewObserver {
public:
@@ -118,9 +118,8 @@ class BookmarkBarView : public DetachableToolbarView,
views::MenuButton* GetMenuButtonForNode(const BookmarkNode* node);
// Returns the position to anchor the menu for |button| at.
- void GetAnchorPositionForButton(
- views::MenuButton* button,
- views::MenuItemView::AnchorPosition* anchor);
+ void GetAnchorPositionForButton(views::MenuButton* button,
+ views::MenuItemView::AnchorPosition* anchor);
// Returns the button responsible for showing bookmarks in the other bookmark
// folder.
@@ -189,8 +188,8 @@ class BookmarkBarView : public DetachableToolbarView,
virtual void AnimationProgressed(const ui::Animation* animation) OVERRIDE;
virtual void AnimationEnded(const ui::Animation* animation) OVERRIDE;
- // BookmarkMenuController::Observer:
- virtual void BookmarkMenuDeleted(
+ // BookmarkMenuControllerObserver:
+ virtual void BookmarkMenuControllerDeleted(
BookmarkMenuController* controller) OVERRIDE;
// chrome::BookmarkBarInstructionsDelegate:
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_observer.h b/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_observer.h
new file mode 100644
index 0000000..f6ca016
--- /dev/null
+++ b/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_observer.h
@@ -0,0 +1,20 @@
+// Copyright 2013 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.
+
+#ifndef CHROME_BROWSER_UI_VIEWS_BOOKMARKS_BOOKMARK_MENU_CONTROLLER_OBSERVER_H_
+#define CHROME_BROWSER_UI_VIEWS_BOOKMARKS_BOOKMARK_MENU_CONTROLLER_OBSERVER_H_
+
+class BookmarkMenuController;
+
+// The observer is notified prior to the menu being deleted.
+class BookmarkMenuControllerObserver {
+ public:
+ virtual void BookmarkMenuControllerDeleted(
+ BookmarkMenuController* controller) = 0;
+
+ protected:
+ virtual ~BookmarkMenuControllerObserver() {}
+};
+
+#endif // CHROME_BROWSER_UI_VIEWS_BOOKMARKS_BOOKMARK_MENU_CONTROLLER_OBSERVER_H_
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.cc b/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.cc
index ffbeb43..d3a4614 100644
--- a/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.cc
+++ b/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.cc
@@ -10,6 +10,7 @@
#include "chrome/browser/bookmarks/bookmark_model.h"
#include "chrome/browser/bookmarks/bookmark_utils.h"
#include "chrome/browser/ui/views/bookmarks/bookmark_bar_view.h"
+#include "chrome/browser/ui/views/bookmarks/bookmark_menu_controller_observer.h"
#include "chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.h"
#include "chrome/common/pref_names.h"
#include "content/public/browser/page_navigator.h"
@@ -193,5 +194,5 @@ void BookmarkMenuController::BookmarkModelChanged() {
BookmarkMenuController::~BookmarkMenuController() {
menu_delegate_->GetBookmarkModel()->RemoveObserver(this);
if (observer_)
- observer_->BookmarkMenuDeleted(this);
+ observer_->BookmarkMenuControllerDeleted(this);
}
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h b/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h
index 269738b..326edb7 100644
--- a/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h
+++ b/chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h
@@ -14,6 +14,7 @@
#include "ui/views/controls/menu/menu_item_view.h"
class BookmarkBarView;
+class BookmarkMenuControllerObserver;
class BookmarkMenuDelegate;
class BookmarkNode;
class Browser;
@@ -24,13 +25,13 @@ class PageNavigator;
namespace ui {
class OSExchangeData;
-} // namespace ui
+}
namespace views {
class MenuButton;
class MenuRunner;
class Widget;
-} // namespace views
+}
// BookmarkMenuController is responsible for showing a menu of bookmarks,
// each item in the menu represents a bookmark.
@@ -39,15 +40,6 @@ class Widget;
class BookmarkMenuController : public BaseBookmarkModelObserver,
public views::MenuDelegate {
public:
- // The observer is notified prior to the menu being deleted.
- class Observer {
- public:
- virtual void BookmarkMenuDeleted(BookmarkMenuController* controller) = 0;
-
- protected:
- virtual ~Observer() {}
- };
-
// Creates a BookmarkMenuController showing the children of |node| starting
// at |start_child_index|.
BookmarkMenuController(Browser* browser,
@@ -73,9 +65,11 @@ class BookmarkMenuController : public BaseBookmarkModelObserver,
// Sets the page navigator.
void SetPageNavigator(content::PageNavigator* navigator);
- void set_observer(Observer* observer) { observer_ = observer; }
+ void set_observer(BookmarkMenuControllerObserver* observer) {
+ observer_ = observer;
+ }
- // MenuDelegate methods.
+ // views::MenuDelegate:
virtual string16 GetTooltipText(int id, const gfx::Point& p) const OVERRIDE;
virtual bool IsTriggerableEvent(views::MenuItemView* view,
const ui::Event& e) OVERRIDE;
@@ -113,7 +107,7 @@ class BookmarkMenuController : public BaseBookmarkModelObserver,
views::MenuButton** button) OVERRIDE;
virtual int GetMaxWidthForMenu(views::MenuItemView* view) OVERRIDE;
- // BookmarkModelObserver methods.
+ // BaseBookmarkModelObserver:
virtual void BookmarkModelChanged() OVERRIDE;
private:
@@ -131,7 +125,7 @@ class BookmarkMenuController : public BaseBookmarkModelObserver,
BookmarkNodeData drop_data_;
// The observer, may be null.
- Observer* observer_;
+ BookmarkMenuControllerObserver* observer_;
// Is the menu being shown for a drop?
bool for_drop_;
diff --git a/chrome/chrome_browser_ui.gypi b/chrome/chrome_browser_ui.gypi
index 3e1c504..509b81c 100644
--- a/chrome/chrome_browser_ui.gypi
+++ b/chrome/chrome_browser_ui.gypi
@@ -1576,6 +1576,7 @@
'browser/ui/views/bookmarks/bookmark_drag_drop_views.h',
'browser/ui/views/bookmarks/bookmark_editor_view.cc',
'browser/ui/views/bookmarks/bookmark_editor_view.h',
+ 'browser/ui/views/bookmarks/bookmark_menu_controller_observer.h',
'browser/ui/views/bookmarks/bookmark_menu_controller_views.cc',
'browser/ui/views/bookmarks/bookmark_menu_controller_views.h',
'browser/ui/views/bookmarks/bookmark_menu_delegate.cc',