chromium/ios/chrome/share_extension/share_extension_view.h

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef IOS_CHROME_SHARE_EXTENSION_SHARE_EXTENSION_VIEW_H_
#define IOS_CHROME_SHARE_EXTENSION_SHARE_EXTENSION_VIEW_H_

#import <UIKit/UIKit.h>

#import "ios/chrome/common/app_group/app_group_constants.h"

@class ShareExtensionView;

@protocol ShareExtensionViewActionTarget

// Called when the user presses the cancel button.
- (void)shareExtensionViewDidSelectCancel:(id)sender;

// Called when the user presses the "Add to bookmarks" button.
- (void)shareExtensionViewDidSelectAddToBookmarks:(id)sender;

// Called when the user presses the "Add to Reading List" button.
- (void)shareExtensionViewDidSelectAddToReadingList:(id)sender;

// Called when the user presses the "Open in Chrome" button.
- (void)shareExtensionViewDidSelectOpenInChrome:(id)sender;

@end

// This is the view for the ShareExtensionController. It shows the shared
// URL and title and let the user choose between adding a bookmark and
// adding item to reading list.
@interface ShareExtensionView : UIView

// Creates a ShareExtensionView with the `delegate`. Designated
// initializer.
- (instancetype)initWithActionTarget:(id<ShareExtensionViewActionTarget>)target
    NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithFrame:(CGRect)frame NS_UNAVAILABLE;
- (instancetype)initWithCoder:(NSCoder*)aDecoder NS_UNAVAILABLE;

// Sets the `URL` displayed in the share view.
- (void)setURL:(NSURL*)URL;

// Sets the `title` displayed in the share view.
- (void)setTitle:(NSString*)title;

// Sets the `screenshot` displayed in the share view.
- (void)setScreenshot:(UIImage*)screenshot;

@end

#endif  // IOS_CHROME_SHARE_EXTENSION_SHARE_EXTENSION_VIEW_H_