Skip to content

Commit 400b789

Browse files
authored
Refactor FXIOS-14049 #30453 ⁃ Enable Native error pages by default for develop (#30456)
* Enable error pages by default + small refactor * Remove code that handle other error pages cases causing limbo state
1 parent c4b0541 commit 400b789

File tree

5 files changed

+9
-10
lines changed

5 files changed

+9
-10
lines changed

firefox-ios/Client/Frontend/Browser/BrowserViewController/Extensions/BrowserViewController+WebViewDelegates.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1031,8 +1031,8 @@ extension BrowserViewController: WKNavigationDelegate {
10311031
CFNetworkErrors.cfurlErrorNotConnectedToInternet.rawValue
10321032
)
10331033

1034-
if isNativeErrorPageEnabled {
1035-
guard isNICErrorPageEnabled && error.code == noInternetErrorCode else { return }
1034+
// Only handle No internet access because other cases show about:blank page
1035+
if isNICErrorPageEnabled && error.code == noInternetErrorCode {
10361036
let action = NativeErrorPageAction(networkError: error,
10371037
windowUUID: windowUUID,
10381038
actionType: NativeErrorPageActionType.receivedError

firefox-ios/Client/Frontend/Browser/BrowserViewController/Views/BrowserViewController.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1943,11 +1943,10 @@ class BrowserViewController: UIViewController,
19431943
let isNICErrorCode = url.absoluteString.contains(String(Int(
19441944
CFNetworkErrors.cfurlErrorNotConnectedToInternet.rawValue)))
19451945
let noInternetConnectionEnabled = isNICErrorCode && isNICErrorPageEnabled
1946-
let genericErrorPageEnabled = isErrorURL && isNativeErrorPageEnabled
19471946

19481947
if isAboutHomeURL {
19491948
showEmbeddedHomepage(inline: true, isPrivate: tabManager.selectedTab?.isPrivate ?? false)
1950-
} else if genericErrorPageEnabled && noInternetConnectionEnabled {
1949+
} else if isErrorURL && noInternetConnectionEnabled {
19511950
showEmbeddedNativeErrorPage()
19521951
} else {
19531952
showEmbeddedWebview()

firefox-ios/Client/Frontend/InternalSchemeHandler/ErrorPageHelper.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,9 +175,8 @@ class ErrorPageHandler: InternalSchemeResponse, FeatureFlaggable {
175175
CFNetworkErrors.cfurlErrorNotConnectedToInternet.rawValue
176176
)
177177

178-
if isNativeErrorPageEnabled && !useOldErrorPage {
179-
return responseForNativeErrorPage(request: request)
180-
} else if isNICErrorPageEnabled && (errCode == noInternetErrorCode) && !useOldErrorPage {
178+
// Only handle No internet access because other cases show about:blank page
179+
if isNICErrorPageEnabled && (errCode == noInternetErrorCode) && !useOldErrorPage {
181180
return responseForNativeErrorPage(request: request)
182181
} else {
183182
return responseForErrorWebPage(request: request)

firefox-ios/Client/Frontend/NativeErrorPage/NativeErrorPageFeatureFlag.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ struct NativeErrorPageFeatureFlag: FeatureFlaggable {
1111

1212
/// Temporary flag for showing no internet connection native error page only.
1313
var isNICErrorPageEnabled: Bool {
14-
return featureFlags.isFeatureEnabled(.noInternetConnectionErrorPage, checking: .buildOnly)
14+
return featureFlags.isFeatureEnabled(.nativeErrorPage, checking: .buildOnly) &&
15+
featureFlags.isFeatureEnabled(.noInternetConnectionErrorPage, checking: .buildOnly)
1516
}
1617
}

firefox-ios/nimbus-features/nativeErrorPageFeature.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@ features:
2222
no_internet_connection_error: false
2323
- channel: developer
2424
value:
25-
enabled: false
26-
no_internet_connection_error: false
25+
enabled: true
26+
no_internet_connection_error: true

0 commit comments

Comments
 (0)