Index: ios/chrome/browser/ui/context_menu/context_menu_coordinator.h |
diff --git a/ios/chrome/browser/ui/context_menu/context_menu_coordinator.h b/ios/chrome/browser/ui/context_menu/context_menu_coordinator.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2942a13cb70edd12a2c63ea7d6cdff70ad177fc8 |
--- /dev/null |
+++ b/ios/chrome/browser/ui/context_menu/context_menu_coordinator.h |
@@ -0,0 +1,38 @@ |
+// Copyright 2016 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 IOS_CHROME_BROWSER_UI_CONTEXT_MENU_CONTEXT_MENU_COORDINATOR_H_ |
+#define IOS_CHROME_BROWSER_UI_CONTEXT_MENU_CONTEXT_MENU_COORDINATOR_H_ |
+ |
+#import <UIKit/UIKit.h> |
+ |
+#include "base/ios/block_types.h" |
+ |
+namespace web { |
+struct ContextMenuParams; |
+} |
+ |
+// Abstracts displaying context menus for all device form factors. Will show a |
+// sheet on the phone and use a popover on a tablet. |
+@interface ContextMenuCoordinator : NSObject |
+ |
+// Whether the context menu is visible. |
+@property(nonatomic, readonly, getter=isVisible) BOOL visible; |
+ |
+// Initializes with details provided in |params|. Context menu will be presented |
+// from |viewController|. |
+- (instancetype)initWithViewController:(UIViewController*)viewController |
+ params:(const web::ContextMenuParams&)params; |
+ |
+// Adds an item at the end of the menu if |-start| has not yet been called. |
+- (void)addItemWithTitle:(NSString*)title action:(ProceduralBlock)action; |
+ |
+// Displays the context menu. |
+- (void)start; |
+// Dismisses displayed context menu. |
marq (ping after 24h)
2016/05/24 07:01:45
Can you clarify more the expectations around the o
michaeldo
2016/05/24 15:49:38
I would expect this object to only used with one s
|
+- (void)stop; |
+ |
+@end |
+ |
+#endif // IOS_CHROME_BROWSER_UI_CONTEXT_MENU_CONTEXT_MENU_COORDINATOR_H_ |