Changeset 167633 in webkit
- Timestamp:
- Apr 21, 2014 4:51:15 PM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 4 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r167632 r167633 1 2014-04-21 Anders Carlsson <andersca@apple.com> 2 3 Errors passed to delegate methods should have recovery attempters 4 https://bugs.webkit.org/show_bug.cgi?id=131957 5 <rdar://problem/16642539> 6 7 Reviewed by Tim Horton. 8 9 * UIProcess/API/Cocoa/_WKErrorRecoveryAttempting.h: Added. 10 * UIProcess/API/Cocoa/_WKErrorRecoveryAttempting.mm: Added. 11 * UIProcess/Cocoa/NavigationState.mm: 12 (WebKit::createErrorWithRecoveryAttempter): 13 (WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame): 14 (WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame): 15 * UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.h: Added. 16 * UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm: Added. 17 (-[WKReloadFrameErrorRecoveryAttempter initWithWebView:frameHandle:urlString:]): 18 (-[WKReloadFrameErrorRecoveryAttempter attemptRecovery]): 19 * WebKit2.xcodeproj/project.pbxproj: 20 1 21 2014-04-21 Eric Carlson <eric.carlson@apple.com> 2 22 -
trunk/Source/WebKit2/UIProcess/Cocoa/NavigationState.mm
r167611 r167633 29 29 #if WK_API_ENABLED 30 30 31 #import "_WKErrorRecoveryAttempting.h" 32 #import "_WKFrameHandleInternal.h" 31 33 #import "APINavigationData.h" 32 34 #import "APIURL.h" … … 46 48 #import "WKNavigationInternal.h" 47 49 #import "WKNavigationResponseInternal.h" 50 #import "WKReloadFrameErrorRecoveryAttempter.h" 48 51 #import "WKWebViewInternal.h" 49 52 #import "WebFrameProxy.h" … … 382 385 } 383 386 387 static RetainPtr<NSError> createErrorWithRecoveryAttempter(WKWebView *webView, WebFrameProxy& webFrameProxy, NSError *originalError) 388 { 389 RefPtr<API::FrameHandle> frameHandle = API::FrameHandle::create(webFrameProxy.frameID()); 390 391 auto recoveryAttempter = adoptNS([[WKReloadFrameErrorRecoveryAttempter alloc] initWithWebView:webView frameHandle:wrapper(*frameHandle) urlString:originalError.userInfo[NSURLErrorFailingURLStringErrorKey]]); 392 393 auto userInfo = adoptNS([[NSMutableDictionary alloc] initWithObjectsAndKeys:recoveryAttempter.get(), _WKRecoveryAttempterErrorKey, nil]); 394 395 if (NSDictionary *originalUserInfo = originalError.userInfo) 396 [userInfo addEntriesFromDictionary:originalUserInfo]; 397 398 return adoptNS([[NSError alloc] initWithDomain:originalError.domain code:originalError.code userInfo:userInfo.get()]); 399 } 400 384 401 void NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame(WebPageProxy*, WebFrameProxy* webFrameProxy, uint64_t navigationID, const WebCore::ResourceError& error, API::Object*) 385 402 { … … 401 418 return; 402 419 403 [navigationDelegate webView:m_navigationState.m_webView didFailProvisionalNavigation:navigation.get() withError:error]; 420 auto errorWithRecoveryAttempter = createErrorWithRecoveryAttempter(m_navigationState.m_webView, *webFrameProxy, error); 421 [navigationDelegate webView:m_navigationState.m_webView didFailProvisionalNavigation:navigation.get() withError:errorWithRecoveryAttempter.get()]; 404 422 } 405 423 … … 480 498 navigation = m_navigationState.m_navigations.get(navigationID).get(); 481 499 482 [navigationDelegate webView:m_navigationState.m_webView didFailNavigation:navigation withError:error]; 500 auto errorWithRecoveryAttempter = createErrorWithRecoveryAttempter(m_navigationState.m_webView, *webFrameProxy, error); 501 [navigationDelegate webView:m_navigationState.m_webView didFailNavigation:navigation withError:errorWithRecoveryAttempter.get()]; 483 502 } 484 503 -
trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
r167586 r167633 377 377 1ACECD2417162DB1001FC9EF /* StorageAreaMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ACECD2217162DB1001FC9EF /* StorageAreaMap.cpp */; }; 378 378 1ACECD2517162DB1001FC9EF /* StorageAreaMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ACECD2317162DB1001FC9EF /* StorageAreaMap.h */; }; 379 1AD01BC81905D37E00C9C45F /* _WKErrorRecoveryAttempting.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1AD01BC61905D37E00C9C45F /* _WKErrorRecoveryAttempting.mm */; }; 380 1AD01BC91905D37E00C9C45F /* _WKErrorRecoveryAttempting.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AD01BC71905D37E00C9C45F /* _WKErrorRecoveryAttempting.h */; settings = {ATTRIBUTES = (Private, ); }; }; 381 1AD01BCC1905D54900C9C45F /* WKReloadFrameErrorRecoveryAttempter.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1AD01BCA1905D54900C9C45F /* WKReloadFrameErrorRecoveryAttempter.mm */; }; 382 1AD01BCD1905D54900C9C45F /* WKReloadFrameErrorRecoveryAttempter.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AD01BCB1905D54900C9C45F /* WKReloadFrameErrorRecoveryAttempter.h */; }; 379 383 1AD09F2B1743F8E600A95E50 /* WKNPAPIPlugInContainer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1AD09F291743F8E600A95E50 /* WKNPAPIPlugInContainer.mm */; }; 380 384 1AD09F2C1743F8E600A95E50 /* WKNPAPIPlugInContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AD09F2A1743F8E600A95E50 /* WKNPAPIPlugInContainer.h */; }; … … 2165 2169 1ACECD2217162DB1001FC9EF /* StorageAreaMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StorageAreaMap.cpp; sourceTree = "<group>"; }; 2166 2170 1ACECD2317162DB1001FC9EF /* StorageAreaMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StorageAreaMap.h; sourceTree = "<group>"; }; 2171 1AD01BC61905D37E00C9C45F /* _WKErrorRecoveryAttempting.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = _WKErrorRecoveryAttempting.mm; sourceTree = "<group>"; }; 2172 1AD01BC71905D37E00C9C45F /* _WKErrorRecoveryAttempting.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKErrorRecoveryAttempting.h; sourceTree = "<group>"; }; 2173 1AD01BCA1905D54900C9C45F /* WKReloadFrameErrorRecoveryAttempter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKReloadFrameErrorRecoveryAttempter.mm; sourceTree = "<group>"; }; 2174 1AD01BCB1905D54900C9C45F /* WKReloadFrameErrorRecoveryAttempter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKReloadFrameErrorRecoveryAttempter.h; sourceTree = "<group>"; }; 2167 2175 1AD09F291743F8E600A95E50 /* WKNPAPIPlugInContainer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKNPAPIPlugInContainer.mm; sourceTree = "<group>"; }; 2168 2176 1AD09F2A1743F8E600A95E50 /* WKNPAPIPlugInContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKNPAPIPlugInContainer.h; sourceTree = "<group>"; }; … … 4265 4273 1AFE436418B6C081009C7A48 /* UIDelegate.h */, 4266 4274 1AFE436318B6C081009C7A48 /* UIDelegate.mm */, 4275 1AD01BCB1905D54900C9C45F /* WKReloadFrameErrorRecoveryAttempter.h */, 4276 1AD01BCA1905D54900C9C45F /* WKReloadFrameErrorRecoveryAttempter.mm */, 4267 4277 2D7AAFD218C8640600A7ACD4 /* WKWebViewContentProvider.h */, 4268 4278 2DC6D9C118C44A610043BAD4 /* WKWebViewContentProviderRegistry.h */, … … 4629 4639 379A873718BBFE0F00588AF2 /* _WKElementAction.mm */, 4630 4640 379A873B18BBFF0700588AF2 /* _WKElementActionInternal.h */, 4641 1AD01BC71905D37E00C9C45F /* _WKErrorRecoveryAttempting.h */, 4642 1AD01BC61905D37E00C9C45F /* _WKErrorRecoveryAttempting.mm */, 4631 4643 005D158E18E4C4EB00734619 /* _WKFindDelegate.h */, 4632 4644 37A64E5418F38E3C00EB30F1 /* _WKFormDelegate.h */, … … 7004 7016 516A4A5D120A2CCD00C05B7F /* APIError.h in Headers */, 7005 7017 1A433F0D113C53DD00FACDE9 /* WebErrors.h in Headers */, 7018 1AD01BC91905D37E00C9C45F /* _WKErrorRecoveryAttempting.h in Headers */, 7006 7019 BC032DB910F4380F0058C15A /* WebEvent.h in Headers */, 7007 7020 BC032DBB10F4380F0058C15A /* WebEventConversion.h in Headers */, … … 7219 7232 51290993183ACEAF005522A6 /* WebIDBServerConnection.h in Headers */, 7220 7233 370F34A31829BE1E009027C8 /* WKNavigationData.h in Headers */, 7234 1AD01BCD1905D54900C9C45F /* WKReloadFrameErrorRecoveryAttempter.h in Headers */, 7221 7235 1AB7D78D1288CD9A00CFD08C /* WKDownload.h in Headers */, 7222 7236 BC4075FC124FF0270068F20A /* WKError.h in Headers */, … … 8142 8156 BCE81D8C1319F7EF00241910 /* FontInfo.cpp in Sources */, 8143 8157 378E1A4918208CD60031007A /* WKNSString.mm in Sources */, 8158 1AD01BCC1905D54900C9C45F /* WKReloadFrameErrorRecoveryAttempter.mm in Sources */, 8144 8159 C55CB5B818C2A5D600CA81E1 /* WKFormSelectPicker.mm in Sources */, 8145 8160 BC06F43012DBB9B6002D78DE /* GeolocationPermissionRequestManager.cpp in Sources */, … … 8578 8593 33367657130C9ECA006C9DE2 /* WebResourceCacheManagerProxyMessageReceiver.cpp in Sources */, 8579 8594 1A8E7D3C18C15149005A702A /* VisitedLinkTableControllerMessageReceiver.cpp in Sources */, 8595 1AD01BC81905D37E00C9C45F /* _WKErrorRecoveryAttempting.mm in Sources */, 8580 8596 510AFFB916542048001BA05E /* WebResourceLoader.cpp in Sources */, 8581 8597 3F889D14188778C900FEADAF /* WebVideoFullscreenManagerProxy.mm in Sources */,
Note: See TracChangeset
for help on using the changeset viewer.