| // Copyright 2020 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_LINK_TO_TEXT_LINK_TO_TEXT_PAYLOAD_H_ |
| #define IOS_CHROME_BROWSER_LINK_TO_TEXT_LINK_TO_TEXT_PAYLOAD_H_ |
| |
| #import <UIKit/UIKit.h> |
| |
| #import "url/gurl.h" |
| |
| // This object holds necessary information for sharing a deep-link to text on a |
| // Web page. |
| @interface LinkToTextPayload : NSObject |
| |
| // Initializes an object with the |URL| of the Web page containing text |
| // fragments, the page's |title|, the |selectedText| itself, the |sourceView| |
| // which contains the text, and |sourceRect| showing where that text is located. |
| - (instancetype)initWithURL:(const GURL&)URL |
| title:(NSString*)title |
| selectedText:(NSString*)selectedText |
| sourceView:(UIView*)sourceView |
| sourceRect:(CGRect)sourceRect NS_DESIGNATED_INITIALIZER; |
| - (instancetype)init NS_UNAVAILABLE; |
| |
| // URL of the page containing the relevant fragments allowing to deep-link to |
| // the selected text. |
| @property(nonatomic, readonly, assign) GURL URL; |
| |
| // The Web page's title. |
| @property(nonatomic, readonly, copy) NSString* title; |
| |
| // The selected text to the shared. |
| @property(nonatomic, readonly, copy) NSString* selectedText; |
| |
| // The view owning the selected text. |
| @property(nonatomic, readonly, weak) UIView* sourceView; |
| |
| // Coordinates showing where the selected text is located inside the owning |
| // view. |
| @property(nonatomic, readonly, assign) CGRect sourceRect; |
| |
| @end |
| |
| #endif // IOS_CHROME_BROWSER_LINK_TO_TEXT_LINK_TO_TEXT_PAYLOAD_H_ |