| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_CONTROLLER_H_ | 5 #ifndef CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_CONTROLLER_H_ |
| 6 #define CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_CONTROLLER_H_ | 6 #define CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_CONTROLLER_H_ |
| 7 | 7 |
| 8 #import <Cocoa/Cocoa.h> | 8 #import <Cocoa/Cocoa.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 |
| 10 #include <map> | 11 #include <map> |
| 12 #include <memory> |
| 11 | 13 |
| 12 #import "base/mac/cocoa_protocols.h" | 14 #import "base/mac/cocoa_protocols.h" |
| 13 #include "base/mac/scoped_nsobject.h" | 15 #include "base/mac/scoped_nsobject.h" |
| 14 #include "base/memory/scoped_ptr.h" | |
| 15 #include "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_bridge.h" | 16 #include "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_bridge.h" |
| 16 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_constants.h" | 17 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_constants.h" |
| 17 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_state.h" | 18 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_state.h" |
| 18 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_toolbar_view.h" | 19 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_toolbar_view.h" |
| 19 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_button.h" | 20 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_button.h" |
| 20 #import "chrome/browser/ui/cocoa/has_weak_browser_pointer.h" | 21 #import "chrome/browser/ui/cocoa/has_weak_browser_pointer.h" |
| 21 #include "chrome/browser/ui/cocoa/tabs/tab_strip_model_observer_bridge.h" | 22 #include "chrome/browser/ui/cocoa/tabs/tab_strip_model_observer_bridge.h" |
| 22 #include "ui/base/window_open_disposition.h" | 23 #include "ui/base/window_open_disposition.h" |
| 23 | 24 |
| 24 @class BookmarkBarController; | 25 @class BookmarkBarController; |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 | 198 |
| 198 // The default image, so we can use one copy for all buttons. | 199 // The default image, so we can use one copy for all buttons. |
| 199 base::scoped_nsobject<NSImage> defaultImage_; | 200 base::scoped_nsobject<NSImage> defaultImage_; |
| 200 | 201 |
| 201 // If the bar is disabled, we hide it and ignore show/hide commands. | 202 // If the bar is disabled, we hide it and ignore show/hide commands. |
| 202 // Set when using fullscreen mode. | 203 // Set when using fullscreen mode. |
| 203 BOOL barIsEnabled_; | 204 BOOL barIsEnabled_; |
| 204 | 205 |
| 205 // Bridge from Chrome-style C++ notifications (e.g. derived from | 206 // Bridge from Chrome-style C++ notifications (e.g. derived from |
| 206 // BookmarkModelObserver) | 207 // BookmarkModelObserver) |
| 207 scoped_ptr<BookmarkBarBridge> bridge_; | 208 std::unique_ptr<BookmarkBarBridge> bridge_; |
| 208 | 209 |
| 209 // Delegate that is informed about state changes in the bookmark bar. | 210 // Delegate that is informed about state changes in the bookmark bar. |
| 210 id<BookmarkBarControllerDelegate> delegate_; // weak | 211 id<BookmarkBarControllerDelegate> delegate_; // weak |
| 211 | 212 |
| 212 // Logic for dealing with a click on a bookmark folder button. | 213 // Logic for dealing with a click on a bookmark folder button. |
| 213 base::scoped_nsobject<BookmarkFolderTarget> folderTarget_; | 214 base::scoped_nsobject<BookmarkFolderTarget> folderTarget_; |
| 214 | 215 |
| 215 // A controller for a pop-up bookmark folder window (custom menu). | 216 // A controller for a pop-up bookmark folder window (custom menu). |
| 216 // This is not a scoped_nsobject because it owns itself (when its | 217 // This is not a scoped_nsobject because it owns itself (when its |
| 217 // window closes the controller gets autoreleased). | 218 // window closes the controller gets autoreleased). |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 286 base::scoped_nsobject<BookmarkContextMenuCocoaController> | 287 base::scoped_nsobject<BookmarkContextMenuCocoaController> |
| 287 contextMenuController_; | 288 contextMenuController_; |
| 288 | 289 |
| 289 // Weak pointer to the pulsed button for the currently pulsing node. We need | 290 // Weak pointer to the pulsed button for the currently pulsing node. We need |
| 290 // to store this as it may not be possible to determine the pulsing button if | 291 // to store this as it may not be possible to determine the pulsing button if |
| 291 // the pulsing node is deleted. Nil if there is no pulsing node. | 292 // the pulsing node is deleted. Nil if there is no pulsing node. |
| 292 BookmarkButton* pulsingButton_; | 293 BookmarkButton* pulsingButton_; |
| 293 | 294 |
| 294 // Specifically watch the currently pulsing node. This lets us stop pulsing | 295 // Specifically watch the currently pulsing node. This lets us stop pulsing |
| 295 // when anything happens to the node. Null if there is no pulsing node. | 296 // when anything happens to the node. Null if there is no pulsing node. |
| 296 scoped_ptr<BookmarkModelObserverForCocoa> pulsingBookmarkObserver_; | 297 std::unique_ptr<BookmarkModelObserverForCocoa> pulsingBookmarkObserver_; |
| 297 } | 298 } |
| 298 | 299 |
| 299 @property(readonly, nonatomic) BookmarkBar::State currentState; | 300 @property(readonly, nonatomic) BookmarkBar::State currentState; |
| 300 @property(readonly, nonatomic) BookmarkBar::State lastState; | 301 @property(readonly, nonatomic) BookmarkBar::State lastState; |
| 301 @property(readonly, nonatomic) BOOL isAnimationRunning; | 302 @property(readonly, nonatomic) BOOL isAnimationRunning; |
| 302 @property(assign, nonatomic) id<BookmarkBarControllerDelegate> delegate; | 303 @property(assign, nonatomic) id<BookmarkBarControllerDelegate> delegate; |
| 303 @property(assign, nonatomic) BOOL stateAnimationsEnabled; | 304 @property(assign, nonatomic) BOOL stateAnimationsEnabled; |
| 304 @property(assign, nonatomic) BOOL innerContentAnimationsEnabled; | 305 @property(assign, nonatomic) BOOL innerContentAnimationsEnabled; |
| 305 | 306 |
| 306 // Initializes the bookmark bar controller with the given browser and delegate. | 307 // Initializes the bookmark bar controller with the given browser and delegate. |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 442 - (BookmarkButton*)buttonForDroppingOnAtPoint:(NSPoint)point; | 443 - (BookmarkButton*)buttonForDroppingOnAtPoint:(NSPoint)point; |
| 443 - (BOOL)isEventAnExitEvent:(NSEvent*)event; | 444 - (BOOL)isEventAnExitEvent:(NSEvent*)event; |
| 444 - (BOOL)shrinkOrHideView:(NSView*)view forMaxX:(CGFloat)maxViewX; | 445 - (BOOL)shrinkOrHideView:(NSView*)view forMaxX:(CGFloat)maxViewX; |
| 445 - (void)unhighlightBookmark:(const bookmarks::BookmarkNode*)node; | 446 - (void)unhighlightBookmark:(const bookmarks::BookmarkNode*)node; |
| 446 | 447 |
| 447 // The following are for testing purposes only and are not used internally. | 448 // The following are for testing purposes only and are not used internally. |
| 448 - (NSMenu *)menuForFolderNode:(const bookmarks::BookmarkNode*)node; | 449 - (NSMenu *)menuForFolderNode:(const bookmarks::BookmarkNode*)node; |
| 449 @end | 450 @end |
| 450 | 451 |
| 451 #endif // CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_CONTROLLER_H_ | 452 #endif // CHROME_BROWSER_UI_COCOA_BOOKMARKS_BOOKMARK_BAR_CONTROLLER_H_ |
| OLD | NEW |