| // Copyright 2020 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_BROWSER_SHARED_PUBLIC_COMMANDS_SHARE_HIGHLIGHT_COMMAND_H_ |
| #define IOS_CHROME_BROWSER_SHARED_PUBLIC_COMMANDS_SHARE_HIGHLIGHT_COMMAND_H_ |
| |
| #import <Foundation/Foundation.h> |
| #import <UIKit/UIKit.h> |
| |
| class GURL; |
| |
| // Payload object for the command to share a deep-link to selected text on a Web |
| // page. |
| @interface ShareHighlightCommand : NSObject |
| |
| // Initializes the object with the page's `URL`, `title` and the currently |
| // `selectedText`. `sourceView` represents the view owning the |
| // selected text, and `sourceRect` represents the starting bounds of that |
| // text. |
| - (instancetype)initWithURL:(const GURL&)URL |
| title:(NSString*)title |
| selectedText:(NSString*)selectedText |
| sourceView:(UIView*)sourceView |
| sourceRect:(CGRect)sourceRect NS_DESIGNATED_INITIALIZER; |
| - (instancetype)init NS_UNAVAILABLE; |
| |
| // Page's URL with text fragments. |
| @property(nonatomic, readonly) GURL URL; |
| |
| // Page's title. |
| @property(copy, nonatomic, readonly) NSString* title; |
| |
| // Selected text on the page. |
| @property(copy, nonatomic, readonly) NSString* selectedText; |
| |
| // View owning the selected text. |
| @property(nonatomic, readonly, weak) UIView* sourceView; |
| |
| // Coordinates representing the starting bounds of the selected text inside |
| // `sourceView`. |
| @property(nonatomic, readonly, assign) CGRect sourceRect; |
| |
| @end |
| |
| #endif // IOS_CHROME_BROWSER_SHARED_PUBLIC_COMMANDS_SHARE_HIGHLIGHT_COMMAND_H_ |