Changeset 219034 in webkit
- Timestamp:
- Jun 30, 2017, 7:25:59 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r219029 r219034 1 2017-06-30 Megan Gardner <megan_gardner@apple.com> 2 3 Add API to get WKActivatedElementInfo 4 https://bugs.webkit.org/show_bug.cgi?id=174001 5 <rdar://problem/29165518> 6 7 Adding a way to get a WKActivatedElementInfo for a point on a WKWebView. 8 9 Reviewed by Tim Horton. 10 11 * UIProcess/API/Cocoa/WKWebView.mm: 12 (-[WKWebView requestActivatedElementAtPosition:completionBlock:]): 13 * UIProcess/API/Cocoa/WKWebViewPrivate.h: 14 * UIProcess/API/Cocoa/_WKActivatedElementInfo.mm: 15 (+[_WKActivatedElementInfo infoWithType:withInteractionInformationAtPosition:]): 16 (-[_WKActivatedElementInfo infoWithType:withInteractionInformationAtPosition:]): 17 * UIProcess/API/Cocoa/_WKActivatedElementInfoInternal.h: 18 1 19 2017-06-30 Tim Horton <timothy_horton@apple.com> 2 20 -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm
r219012 r219034 82 82 #import "WebURLSchemeHandlerCocoa.h" 83 83 #import "WebViewImpl.h" 84 #import "_WKActivatedElementInfoInternal.h" 84 85 #import "_WKDiagnosticLoggingDelegate.h" 85 86 #import "_WKFindDelegate.h" … … 5255 5256 } 5256 5257 5258 - (void)_requestActivatedElementAtPosition:(CGPoint)position completionBlock:(void (^)(_WKActivatedElementInfo *))block 5259 { 5260 auto infoRequest = WebKit::InteractionInformationRequest(WebCore::roundedIntPoint(position)); 5261 infoRequest.includeSnapshot = true; 5262 5263 [_contentView doAfterPositionInformationUpdate:[capturedBlock = makeBlockPtr(block)] (WebKit::InteractionInformationAtPosition information) { 5264 capturedBlock([_WKActivatedElementInfo activatedElementInfoWithInteractionInformationAtPosition:information]); 5265 } forRequest:infoRequest]; 5266 } 5267 5257 5268 - (CGRect)_contentVisibleRect 5258 5269 { -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h
r218998 r219034 28 28 #if WK_API_ENABLED 29 29 30 #import <WebKit/_WKActivatedElementInfo.h> 30 31 #import <WebKit/_WKFindOptions.h> 31 32 #import <WebKit/_WKLayoutMode.h> … … 363 364 - (_WKDraggableElementInfo *)_draggableElementAtPosition:(CGPoint)position WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA)); 364 365 - (void)_requestDraggableElementAtPosition:(CGPoint)position completionBlock:(void (^)(_WKDraggableElementInfo *))block WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA)); 366 367 - (void)_requestActivatedElementAtPosition:(CGPoint)position completionBlock:(void (^)(_WKActivatedElementInfo *))block WK_API_AVAILABLE(ios(WK_IOS_TBA)); 365 368 366 369 #endif // TARGET_OS_IPHONE -
trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKActivatedElementInfo.h
r218444 r219034 38 38 _WKActivatedElementTypeImage, 39 39 _WKActivatedElementTypeAttachment WK_API_AVAILABLE(macosx(10.12), ios(10.0)), 40 _WKActivatedElementTypeUnspecified WK_API_AVAILABLE(macosx(10.13), ios(11.0)), 40 41 } WK_API_AVAILABLE(macosx(10.10), ios(8.0)); 41 42 -
trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKActivatedElementInfo.mm
r213170 r219034 53 53 RetainPtr<NSImage> _nsImage; 54 54 #endif 55 } 56 57 + (instancetype)activatedElementInfoWithInteractionInformationAtPosition:(const WebKit::InteractionInformationAtPosition&)information 58 { 59 return [[[self alloc] _initWithInteractionInformationAtPosition:information] autorelease]; 60 } 61 62 - (instancetype)_initWithInteractionInformationAtPosition:(const WebKit::InteractionInformationAtPosition&)information 63 { 64 if (!(self = [super init])) 65 return nil; 66 67 _URL = information.url; 68 _interactionLocation = information.request.point; 69 _title = information.title; 70 _boundingRect = information.bounds; 71 72 if (information.isAttachment) 73 _type = _WKActivatedElementTypeAttachment; 74 else if (information.isImage) 75 _type = _WKActivatedElementTypeImage; 76 else if (information.isLink) 77 _type = _WKActivatedElementTypeLink; 78 else 79 _type = _WKActivatedElementTypeUnspecified; 80 81 _image = information.image; 82 _ID = information.idAttribute; 83 84 return self; 55 85 } 56 86 -
trunk/Source/WebKit2/UIProcess/API/Cocoa/_WKActivatedElementInfoInternal.h
r213170 r219034 24 24 */ 25 25 26 #import "InteractionInformationAtPosition.h" 26 27 #import "_WKActivatedElementInfo.h" 27 28 … … 34 35 @interface _WKActivatedElementInfo () 35 36 37 + (instancetype)activatedElementInfoWithInteractionInformationAtPosition:(const WebKit::InteractionInformationAtPosition&)information; 38 - (instancetype)_initWithInteractionInformationAtPosition:(const WebKit::InteractionInformationAtPosition&)information; 36 39 - (instancetype)_initWithType:(_WKActivatedElementType)type URL:(NSURL *)url location:(CGPoint)location title:(NSString *)title ID:(NSString *)ID rect:(CGRect)rect image:(WebKit::ShareableBitmap*)image; 37 40 - (instancetype)_initWithType:(_WKActivatedElementType)type URL:(NSURL *)url location:(CGPoint)location title:(NSString *)title ID:(NSString *)ID rect:(CGRect)rect image:(WebKit::ShareableBitmap*)image userInfo:(NSDictionary *)userInfo; -
trunk/Tools/ChangeLog
r219025 r219034 1 2017-06-30 Megan Gardner <megan_gardner@apple.com> 2 3 Add API to get WKActivatedElementInfo 4 https://bugs.webkit.org/show_bug.cgi?id=174001 5 <rdar://problem/29165518> 6 7 Tests for now SPI to get activatedElementInfo. 8 9 Reviewed by Tim Horton. 10 11 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: 12 * TestWebKitAPI/Tests/WebKit2Cocoa/WKRequestActivatedElementInfo.mm: Added. 13 (TestWebKitAPI::TEST): 14 1 15 2017-06-30 Chris Dumez <cdumez@apple.com> 2 16 -
trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
r219013 r219034 133 133 3FCC4FE51EC4E8520076E37C /* PictureInPictureDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3FCC4FE41EC4E8520076E37C /* PictureInPictureDelegate.mm */; }; 134 134 3FCC4FE81EC4E8CA0076E37C /* PictureInPictureDelegate.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 3FCC4FE61EC4E87E0076E37C /* PictureInPictureDelegate.html */; }; 135 44817A2F1F0486BF00003810 /* WKRequestActivatedElementInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = 44817A2E1F0486BF00003810 /* WKRequestActivatedElementInfo.mm */; }; 135 136 448D7E471EA6C55500ECC756 /* EnvironmentUtilitiesTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 448D7E451EA6C55500ECC756 /* EnvironmentUtilitiesTest.cpp */; }; 136 137 46397B951DC2C850009A78AE /* DOMNode.mm in Sources */ = {isa = PBXBuildFile; fileRef = 46397B941DC2C850009A78AE /* DOMNode.mm */; }; … … 1143 1144 440A1D3814A0103A008A66F2 /* URL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = URL.cpp; sourceTree = "<group>"; }; 1144 1145 442BBF681C91CAD90017087F /* RefLogger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RefLogger.cpp; sourceTree = "<group>"; }; 1146 44817A2E1F0486BF00003810 /* WKRequestActivatedElementInfo.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKRequestActivatedElementInfo.mm; sourceTree = "<group>"; }; 1145 1147 448D7E451EA6C55500ECC756 /* EnvironmentUtilitiesTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EnvironmentUtilitiesTest.cpp; sourceTree = "<group>"; }; 1146 1148 44A622C114A0E2B60048515B /* WTFStringUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WTFStringUtilities.h; sourceTree = "<group>"; }; … … 1890 1892 2D00065D1C1F58940088E6A7 /* WKPDFViewResizeCrash.mm */, 1891 1893 2D21FE581F04642800B58E7D /* WKPDFViewStablePresentationUpdateCallback.mm */, 1894 44817A2E1F0486BF00003810 /* WKRequestActivatedElementInfo.mm */, 1892 1895 5E4B1D2C1D404C6100053621 /* WKScrollViewDelegateCrash.mm */, 1893 1896 51C683DD1EA134DB00650183 /* WKURLSchemeHandler-1.mm */, … … 3230 3233 51D124981E763B02002B2820 /* WKHTTPCookieStore.mm in Sources */, 3231 3234 7CCE7F1D1A411AE600447C4C /* WKImageCreateCGImageCrash.cpp in Sources */, 3235 44817A2F1F0486BF00003810 /* WKRequestActivatedElementInfo.mm in Sources */, 3232 3236 375E0E171D66674400EFEC2C /* WKNSNumber.mm in Sources */, 3233 3237 37B47E301D64E7CA005F4EFF /* WKObject.mm in Sources */,
Note:
See TracChangeset
for help on using the changeset viewer.