summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/bookmarks/bookmark_bar_folder_hover_state.h
diff options
context:
space:
mode:
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.h78
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