Changeset 223439 in webkit
- Timestamp:
- Oct 16, 2017, 2:33:11 PM (8 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r223437 r223439 1 2017-10-16 Alex Christensen <achristensen@webkit.org> 2 3 Add a _WKThumbnailView initializer with a WKWebView 4 https://bugs.webkit.org/show_bug.cgi?id=178351 5 <rdar://problem/34979453> 6 7 Reviewed by Tim Horton. 8 9 * UIProcess/API/Cocoa/WKWebView.mm: 10 (-[WKWebView _page]): 11 (-[WKWebView _setThumbnailView:]): 12 (-[WKWebView _thumbnailView]): 13 (-[WKWebView _setIgnoresAllEvents:]): 14 (-[WKWebView _ignoresAllEvents]): 15 * UIProcess/API/Cocoa/WKWebViewInternal.h: 16 * UIProcess/API/Cocoa/WKWebViewPrivate.h: 17 * UIProcess/API/Cocoa/_WKThumbnailView.h: 18 * UIProcess/API/Cocoa/_WKThumbnailView.mm: 19 (-[_WKThumbnailView initWithFrame:fromWKWebView:]): 20 (-[_WKThumbnailView _viewWasUnparented]): 21 (-[_WKThumbnailView _viewWasParented]): 22 1 23 2017-10-16 Alex Christensen <achristensen@webkit.org> 2 24 -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
r223437 r223439 1078 1078 { 1079 1079 return toAPI(_page.get()); 1080 } 1081 1082 - (WebKit::WebPageProxy *)_page 1083 { 1084 return _page.get(); 1080 1085 } 1081 1086 … … 5459 5464 } 5460 5465 5466 - (void)_setThumbnailView:(_WKThumbnailView *)thumbnailView 5467 { 5468 _impl->setThumbnailView(thumbnailView); 5469 } 5470 5471 - (_WKThumbnailView *)_thumbnailView 5472 { 5473 if (!_impl) 5474 return nil; 5475 return _impl->thumbnailView(); 5476 } 5477 5478 - (void)_setIgnoresAllEvents:(BOOL)ignoresAllEvents 5479 { 5480 _impl->setIgnoresAllEvents(ignoresAllEvents); 5481 } 5482 5483 - (BOOL)_ignoresAllEvents 5484 { 5485 return _impl->ignoresAllEvents(); 5486 } 5487 5461 5488 #endif 5462 5489 -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h
r221065 r223439 148 148 149 149 - (WKPageRef)_pageForTesting; 150 - (WebKit::WebPageProxy*)_page; 150 151 151 152 @end -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h
r223437 r223439 101 101 @class _WKRemoteObjectRegistry; 102 102 @class _WKSessionState; 103 @class _WKThumbnailView; 103 104 @class _WKWebsitePolicies; 104 105 @class _WKWebViewPrintFormatter; … … 289 290 @property (nonatomic, setter=_setOverlayScrollbarStyle:) _WKOverlayScrollbarStyle _overlayScrollbarStyle WK_API_AVAILABLE(macosx(WK_MAC_TBA)); 290 291 @property (strong, nonatomic, setter=_setInspectorAttachmentView:) NSView *_inspectorAttachmentView WK_API_AVAILABLE(macosx(WK_MAC_TBA)); 292 293 @property (nonatomic, setter=_setThumbnailView:) _WKThumbnailView *_thumbnailView WK_API_AVAILABLE(macosx(WK_MAC_TBA)); 294 @property (nonatomic, setter=_setIgnoresAllEvents:) BOOL _ignoresAllEvents WK_API_AVAILABLE(macosx(WK_MAC_TBA)); 291 295 292 296 #endif -
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKThumbnailView.h
r205878 r223439 33 33 34 34 @class WKView; 35 @class WKWebView; 35 36 36 37 WK_CLASS_AVAILABLE(macosx(10.10), ios(8.0)) … … 38 39 39 40 - (instancetype)initWithFrame:(NSRect)frame fromWKView:(WKView *)wkView; 41 - (instancetype)initWithFrame:(NSRect)frame fromWKWebView:(WKWebView *)webView; 40 42 41 43 @property (nonatomic) CGFloat scale; -
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKThumbnailView.mm
r221068 r223439 35 35 #import "WKView.h" 36 36 #import "WKViewInternal.h" 37 #import "WKWebViewInternal.h" 37 38 #import "WebPageProxy.h" 38 39 … … 48 49 @implementation _WKThumbnailView { 49 50 RetainPtr<WKView> _wkView; 51 RetainPtr<WKWebView> _wkWebView; 50 52 WebPageProxy* _webPageProxy; 51 53 … … 63 65 @synthesize shouldKeepSnapshotWhenRemovedFromSuperview=_shouldKeepSnapshotWhenRemovedFromSuperview; 64 66 65 - (instancetype)initWithFrame:(NSRect)frame fromWKView:(WKView *)wkView67 - (instancetype)initWithFrame:(NSRect)frame 66 68 { 67 69 if (!(self = [super initWithFrame:frame])) … … 70 72 self.wantsLayer = YES; 71 73 self.layer.backgroundColor = [NSColor whiteColor].CGColor; 74 _scale = 1; 75 _lastSnapshotScale = NAN; 76 77 return self; 78 } 79 80 - (instancetype)initWithFrame:(NSRect)frame fromWKView:(WKView *)wkView 81 { 82 if (!(self = [self initWithFrame:frame])) 83 return nil; 72 84 73 85 _wkView = wkView; 74 86 _webPageProxy = toImpl([_wkView pageRef]); 75 _scale = 1;76 _lastSnapshotScale = NAN;77 78 87 _originalMayStartMediaWhenInWindow = _webPageProxy->mayStartMediaWhenInWindow(); 79 88 _originalSourceViewIsInWindow = !![_wkView window]; 80 89 90 return self; 91 } 92 93 - (instancetype)initWithFrame:(NSRect)frame fromWKWebView:(WKWebView *)webView 94 { 95 if (!(self = [super initWithFrame:frame])) 96 return nil; 97 98 _wkWebView = webView; 99 _webPageProxy = [_wkWebView _page]; 100 _originalMayStartMediaWhenInWindow = _webPageProxy->mayStartMediaWhenInWindow(); 101 _originalSourceViewIsInWindow = !![_wkWebView window]; 102 81 103 return self; 82 104 } … … 118 140 { 119 141 if (!_exclusivelyUsesSnapshot) { 120 [_wkView _setThumbnailView:nil]; 121 [_wkView _setIgnoresAllEvents:NO]; 142 if (_wkView) { 143 [_wkView _setThumbnailView:nil]; 144 [_wkView _setIgnoresAllEvents:NO]; 145 } else { 146 ASSERT(_wkWebView); 147 [_wkWebView _setThumbnailView:nil]; 148 [_wkWebView _setIgnoresAllEvents:NO]; 149 } 122 150 _webPageProxy->setMayStartMediaWhenInWindow(_originalMayStartMediaWhenInWindow); 123 151 } … … 132 160 - (void)_viewWasParented 133 161 { 134 if ([_wkView _thumbnailView]) 162 if (_wkView && [_wkView _thumbnailView]) 163 return; 164 if (_wkWebView && [_wkWebView _thumbnailView]) 135 165 return; 136 166 … … 141 171 142 172 if (!_exclusivelyUsesSnapshot) { 143 [_wkView _setThumbnailView:self]; 144 [_wkView _setIgnoresAllEvents:YES]; 173 if (_wkView) { 174 [_wkView _setThumbnailView:self]; 175 [_wkView _setIgnoresAllEvents:YES]; 176 } else { 177 ASSERT(_wkWebView); 178 [_wkWebView _setThumbnailView:self]; 179 [_wkWebView _setIgnoresAllEvents:YES]; 180 } 145 181 } 146 182 }
Note:
See TracChangeset
for help on using the changeset viewer.