LEFT | RIGHT |
1 /* | 1 /* |
2 * Copyright (C) 2014-2016 Apple Inc. All rights reserved. | 2 * Copyright (C) 2014-2016 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 969 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
980 FALLTHROUGH; | 980 FALLTHROUGH; |
981 case ProcessTerminationReason::RequestedByClient: | 981 case ProcessTerminationReason::RequestedByClient: |
982 return _WKProcessTerminationReasonRequestedByClient; | 982 return _WKProcessTerminationReasonRequestedByClient; |
983 case ProcessTerminationReason::Crash: | 983 case ProcessTerminationReason::Crash: |
984 return _WKProcessTerminationReasonCrash; | 984 return _WKProcessTerminationReasonCrash; |
985 } | 985 } |
986 ASSERT_NOT_REACHED(); | 986 ASSERT_NOT_REACHED(); |
987 return _WKProcessTerminationReasonCrash; | 987 return _WKProcessTerminationReasonCrash; |
988 } | 988 } |
989 | 989 |
990 void NavigationState::NavigationClient::processDidTerminate(WebPageProxy& page,
ProcessTerminationReason reason) | 990 bool NavigationState::NavigationClient::processDidTerminate(WebPageProxy& page,
ProcessTerminationReason reason) |
991 { | 991 { |
992 if (!m_navigationState.m_navigationDelegateMethods.webViewWebContentProcessD
idTerminate | 992 if (!m_navigationState.m_navigationDelegateMethods.webViewWebContentProcessD
idTerminate |
993 && !m_navigationState.m_navigationDelegateMethods.webViewWebContentProce
ssDidTerminateWithReason | 993 && !m_navigationState.m_navigationDelegateMethods.webViewWebContentProce
ssDidTerminateWithReason |
994 && !m_navigationState.m_navigationDelegateMethods.webViewWebProcessDidCr
ash) | 994 && !m_navigationState.m_navigationDelegateMethods.webViewWebProcessDidCr
ash) |
995 return; | 995 return false; |
996 | 996 |
997 auto navigationDelegate = m_navigationState.m_navigationDelegate.get(); | 997 auto navigationDelegate = m_navigationState.m_navigationDelegate.get(); |
998 if (!navigationDelegate) | 998 if (!navigationDelegate) |
999 return; | 999 return false; |
1000 | 1000 |
1001 if (m_navigationState.m_navigationDelegateMethods.webViewWebContentProcessDi
dTerminateWithReason) { | 1001 if (m_navigationState.m_navigationDelegateMethods.webViewWebContentProcessDi
dTerminateWithReason) { |
1002 [static_cast<id <WKNavigationDelegatePrivate>>(navigationDelegate.get())
_webView:m_navigationState.m_webView webContentProcessDidTerminateWithReason:wk
ProcessTerminationReason(reason)]; | 1002 [static_cast<id <WKNavigationDelegatePrivate>>(navigationDelegate.get())
_webView:m_navigationState.m_webView webContentProcessDidTerminateWithReason:wk
ProcessTerminationReason(reason)]; |
1003 return; | 1003 return true; |
1004 } | 1004 } |
1005 | 1005 |
1006 // We prefer webViewWebContentProcessDidTerminate: over _webViewWebProcessDi
dCrash:. | 1006 // We prefer webViewWebContentProcessDidTerminate: over _webViewWebProcessDi
dCrash:. |
1007 if (m_navigationState.m_navigationDelegateMethods.webViewWebContentProcessDi
dTerminate) { | 1007 if (m_navigationState.m_navigationDelegateMethods.webViewWebContentProcessDi
dTerminate) { |
1008 [navigationDelegate webViewWebContentProcessDidTerminate:m_navigationSta
te.m_webView]; | 1008 [navigationDelegate webViewWebContentProcessDidTerminate:m_navigationSta
te.m_webView]; |
1009 return; | 1009 return true; |
1010 } | 1010 } |
1011 | 1011 |
1012 ASSERT(m_navigationState.m_navigationDelegateMethods.webViewWebProcessDidCra
sh); | 1012 ASSERT(m_navigationState.m_navigationDelegateMethods.webViewWebProcessDidCra
sh); |
1013 [static_cast<id <WKNavigationDelegatePrivate>>(navigationDelegate.get()) _we
bViewWebProcessDidCrash:m_navigationState.m_webView]; | 1013 [static_cast<id <WKNavigationDelegatePrivate>>(navigationDelegate.get()) _we
bViewWebProcessDidCrash:m_navigationState.m_webView]; |
| 1014 return true; |
1014 } | 1015 } |
1015 | 1016 |
1016 void NavigationState::NavigationClient::processDidBecomeResponsive(WebPageProxy&
page) | 1017 void NavigationState::NavigationClient::processDidBecomeResponsive(WebPageProxy&
page) |
1017 { | 1018 { |
1018 if (!m_navigationState.m_navigationDelegateMethods.webViewWebProcessDidBecom
eResponsive) | 1019 if (!m_navigationState.m_navigationDelegateMethods.webViewWebProcessDidBecom
eResponsive) |
1019 return; | 1020 return; |
1020 | 1021 |
1021 auto navigationDelegate = m_navigationState.m_navigationDelegate.get(); | 1022 auto navigationDelegate = m_navigationState.m_navigationDelegate.get(); |
1022 if (!navigationDelegate) | 1023 if (!navigationDelegate) |
1023 return; | 1024 return; |
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1292 } | 1293 } |
1293 | 1294 |
1294 void NavigationState::didChangeWebProcessIsResponsive() | 1295 void NavigationState::didChangeWebProcessIsResponsive() |
1295 { | 1296 { |
1296 [m_webView didChangeValueForKey:@"_webProcessIsResponsive"]; | 1297 [m_webView didChangeValueForKey:@"_webProcessIsResponsive"]; |
1297 } | 1298 } |
1298 | 1299 |
1299 } // namespace WebKit | 1300 } // namespace WebKit |
1300 | 1301 |
1301 #endif | 1302 #endif |
LEFT | RIGHT |