diff options
Diffstat (limited to 'chrome/browser/cocoa/bookmarks/bookmark_bar_folder_hover_state.h')
-rw-r--r-- | chrome/browser/cocoa/bookmarks/bookmark_bar_folder_hover_state.h | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/chrome/browser/cocoa/bookmarks/bookmark_bar_folder_hover_state.h b/chrome/browser/cocoa/bookmarks/bookmark_bar_folder_hover_state.h deleted file mode 100644 index 21d0658..0000000 --- a/chrome/browser/cocoa/bookmarks/bookmark_bar_folder_hover_state.h +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright (c) 2010 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. - -#import <Cocoa/Cocoa.h> - -#include "base/scoped_nsobject.h" -#import "chrome/browser/cocoa/bookmarks/bookmark_button.h" - -// Hover state machine. Encapsulates the hover state for -// BookmarkBarFolderController. -// A strict call order is implied with these calls. It is ONLY valid to make -// the following state transitions: -// From: To: Via: -// closed opening scheduleOpen...: -// opening closed cancelPendingOpen...: or -// open scheduleOpen...: completes. -// open closing scheduleClose...: -// closing open cancelPendingClose...: or -// closed scheduleClose...: completes. -// -@interface BookmarkBarFolderHoverState : NSObject { - @private - // Enumeration of the valid states that the |hoverButton_| member can be in. - // Because the opening and closing of hover views can be done asyncronously - // there are periods where the hover state is in transtion between open and - // closed. During those times of transition the opening or closing operation - // can be cancelled. We serialize the opening and closing of the - // |hoverButton_| using this state information. This serialization is to - // avoid race conditions where one hover button is being opened while another - // is closing. - enum HoverState { - kHoverStateClosed = 0, - kHoverStateOpening = 1, - kHoverStateOpen = 2, - kHoverStateClosing = 3 - }; - - // Like normal menus, hovering over a folder button causes it to - // open. This variable is set when a hover is initiated (but has - // not necessarily fired yet). - scoped_nsobject<BookmarkButton> hoverButton_; - - // We model hover state as a state machine with specific allowable - // transitions. |hoverState_| is the state of this machine at any - // given time. - HoverState hoverState_; -} - -// Designated initializer. -- (id)init; - -// The BookmarkBarFolderHoverState decides when it is appropriate to hide -// and show the button that the BookmarkBarFolderController drags over. -- (NSDragOperation)draggingEnteredButton:(BookmarkButton*)button; - -// The BookmarkBarFolderHoverState decides the fate of the hover button -// when the BookmarkBarFolderController's view is exited. -- (void)draggingExited; - -@end - -// Exposing these for unit testing purposes. They are used privately in the -// implementation as well. -@interface BookmarkBarFolderHoverState(PrivateAPI) -// State change APIs. -- (void)scheduleCloseBookmarkFolderOnHoverButton; -- (void)cancelPendingCloseBookmarkFolderOnHoverButton; -- (void)scheduleOpenBookmarkFolderOnHoverButton:(BookmarkButton*)hoverButton; -- (void)cancelPendingOpenBookmarkFolderOnHoverButton; -@end - -// Exposing these for unit testing purposes. They are used only in tests. -@interface BookmarkBarFolderHoverState(TestingAPI) -// Accessors and setters for button and hover state. -- (BookmarkButton*)hoverButton; -- (HoverState)hoverState; -@end |