Changeset 169998 in webkit
- Timestamp:
- Jun 15, 2014 8:23:55 PM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r169997 r169998 1 2014-06-15 Dan Bernstein <mitz@apple.com> 2 3 <rdar://problem/17291697> [Cocoa] Can’t tell at policy decision time whether WebKit can handle the request 4 https://bugs.webkit.org/show_bug.cgi?id=133930 5 6 Reviewed by Sam Weinig. 7 8 * Shared/NavigationActionData.cpp: 9 (WebKit::NavigationActionData::NavigationActionData): Initialize new member canHandleRequest 10 to false. 11 (WebKit::NavigationActionData::encode): Encode canHandleRequest. 12 (WebKit::NavigationActionData::decode): Decode it. 13 * Shared/NavigationActionData.h: Declared new boolean member canHandleRequest. 14 15 * UIProcess/API/Cocoa/WKNavigationAction.mm: 16 (-[WKNavigationAction _initWithNavigationActionData:]): Set new ivar _canHandleRequest from 17 the action data. 18 (-[WKNavigationAction _canHandleRequest]): Added this getter. 19 * UIProcess/API/Cocoa/WKNavigationActionPrivate.h: Declared new property _canHandleRequest. 20 21 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 22 (WebKit::WebChromeClient::createWindow): Set canHandleRequest in the NavigationActionData. 23 24 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 25 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): Ditto. 26 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto. 27 1 28 2014-06-15 Ryuan Choi <ryuan.choi@samsung.com> 2 29 -
trunk/Source/WebKit2/Shared/NavigationActionData.cpp
r166976 r169998 39 39 , mouseButton(WebMouseEvent::NoButton) 40 40 , isProcessingUserGesture(false) 41 , canHandleRequest(false) 41 42 { 42 43 } … … 48 49 encoder.encodeEnum(mouseButton); 49 50 encoder << isProcessingUserGesture; 51 encoder << canHandleRequest; 50 52 } 51 53 … … 60 62 if (!decoder.decode(result.isProcessingUserGesture)) 61 63 return false; 64 if (!decoder.decode(result.canHandleRequest)) 65 return false; 62 66 63 67 return true; -
trunk/Source/WebKit2/Shared/NavigationActionData.h
r166976 r169998 47 47 WebMouseEvent::Button mouseButton; 48 48 bool isProcessingUserGesture; 49 bool canHandleRequest; 49 50 }; 50 51 -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKNavigationAction.mm
r168691 r169998 38 38 RetainPtr<NSURL> _originalURL; 39 39 BOOL _userInitiated; 40 BOOL _canHandleRequest; 40 41 } 41 42 … … 116 117 117 118 _userInitiated = navigationActionData.isProcessingUserGesture; 119 _canHandleRequest = navigationActionData.canHandleRequest; 118 120 119 121 return self; … … 166 168 } 167 169 170 @end 171 172 @implementation WKNavigationAction (WKPrivate) 173 168 174 - (BOOL)_isUserInitiated 169 175 { … … 171 177 } 172 178 179 - (BOOL)_canHandleRequest 180 { 181 return _canHandleRequest; 182 } 183 173 184 @end 174 185 -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionPrivate.h
r168541 r169998 32 32 @property (nonatomic, readonly) NSURL *_originalURL; 33 33 @property (nonatomic, readonly, getter=_isUserInitiated) BOOL _userInitiated; 34 @property (nonatomic, readonly) BOOL _canHandleRequest; 34 35 35 36 @end -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
r169394 r169998 211 211 navigationActionData.mouseButton = InjectedBundleNavigationAction::mouseButtonForNavigationAction(navigationAction); 212 212 navigationActionData.isProcessingUserGesture = navigationAction.processingUserGesture(); 213 navigationActionData.canHandleRequest = m_page->canHandleRequest(request.resourceRequest()); 213 214 214 215 uint64_t newPageID = 0; -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
r169799 r169998 700 700 navigationActionData.mouseButton = action->mouseButton(); 701 701 navigationActionData.isProcessingUserGesture = navigationAction.processingUserGesture(); 702 navigationActionData.canHandleRequest = webPage->canHandleRequest(request); 702 703 703 704 webPage->send(Messages::WebPageProxy::DecidePolicyForNewWindowAction(m_frame->frameID(), navigationActionData, request, frameName, listenerID, InjectedBundleUserMessageEncoder(userData.get()))); … … 759 760 navigationActionData.mouseButton = action->mouseButton(); 760 761 navigationActionData.isProcessingUserGesture = navigationAction.processingUserGesture(); 762 navigationActionData.canHandleRequest = webPage->canHandleRequest(request); 761 763 762 764 // Notify the UIProcess.
Note: See TracChangeset
for help on using the changeset viewer.