| // 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_WEB_WEB_STATE_UI_CRW_CONTEXT_MENU_ELEMENT_FETCHER_H_ |
| #define IOS_WEB_WEB_STATE_UI_CRW_CONTEXT_MENU_ELEMENT_FETCHER_H_ |
| |
| #import <Foundation/Foundation.h> |
| #import <WebKit/WebKit.h> |
| |
| namespace web { |
| struct ContextMenuParams; |
| class WebState; |
| } |
| |
| // Class handling the fetching information about DOM element in a specific |
| // position. |
| @interface CRWContextMenuElementFetcher : NSObject |
| |
| - (instancetype)initWithWebView:(WKWebView*)webView |
| webState:(web::WebState*)webState; |
| |
| // Asynchronously fetches information about DOM element for the given `point` |
| // (in the scroll view coordinates). `handler` can not be nil. |
| - (void)fetchDOMElementAtPoint:(CGPoint)point |
| completionHandler:(void (^)(const web::ContextMenuParams&))handler; |
| |
| // Cancels all the fetches current in progress. |
| - (void)cancelFetches; |
| |
| @end |
| |
| #endif // IOS_WEB_WEB_STATE_UI_CRW_CONTEXT_MENU_ELEMENT_FETCHER_H_ |