Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(94)

Unified Diff: ios/chrome/browser/ui/authentication/authentication_ui_util.mm

Issue 2586993002: Upstream Chrome on iOS source code [3/11]. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ios/chrome/browser/ui/authentication/authentication_ui_util.mm
diff --git a/ios/chrome/browser/ui/authentication/authentication_ui_util.mm b/ios/chrome/browser/ui/authentication/authentication_ui_util.mm
new file mode 100644
index 0000000000000000000000000000000000000000..a61be1bd6175b3ee39fb2f1210eb7313f299eff5
--- /dev/null
+++ b/ios/chrome/browser/ui/authentication/authentication_ui_util.mm
@@ -0,0 +1,61 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "ios/chrome/browser/ui/authentication/authentication_ui_util.h"
+
+#include "base/format_macros.h"
+#include "base/logging.h"
+#include "components/strings/grit/components_strings.h"
+#include "ios/chrome/browser/ui/alert_coordinator/alert_coordinator.h"
+#include "ios/chrome/grit/ios_strings.h"
+#include "ui/base/l10n/l10n_util.h"
+
+namespace ios_internal {
+
+AlertCoordinator* ErrorCoordinator(NSError* error,
+ ProceduralBlock dismissAction,
+ UIViewController* viewController) {
+ DCHECK(error);
+
+ AlertCoordinator* alertCoordinator =
+ ErrorCoordinatorNoItem(error, viewController);
+
+ NSString* okButtonLabel = l10n_util::GetNSString(IDS_OK);
+ [alertCoordinator addItemWithTitle:okButtonLabel
+ action:dismissAction
+ style:UIAlertActionStyleDefault];
+
+ [alertCoordinator setCancelAction:dismissAction];
+
+ return alertCoordinator;
+}
+
+AlertCoordinator* ErrorCoordinatorNoItem(NSError* error,
+ UIViewController* viewController) {
+ DCHECK(error);
+
+ NSString* title = l10n_util::GetNSString(
+ IDS_IOS_SYNC_AUTHENTICATION_ERROR_ALERT_VIEW_TITLE);
+ NSString* errorMessage;
+ if ([NSURLErrorDomain isEqualToString:error.domain] &&
+ error.code == kCFURLErrorCannotConnectToHost) {
+ errorMessage =
+ l10n_util::GetNSString(IDS_IOS_SYNC_ERROR_INTERNET_DISCONNECTED);
+ } else if ([error.userInfo objectForKey:NSLocalizedDescriptionKey]) {
+ errorMessage = [NSString stringWithFormat:@"%@ (%@ %" PRIdNS ")",
+ error.localizedDescription,
+ error.domain, error.code];
+ } else {
+ // If the error has no NSLocalizedDescriptionKey in its user info, then
+ // |error.localizedDescription| contains the error domain and code.
+ errorMessage = error.localizedDescription;
+ }
+ AlertCoordinator* alertCoordinator = [[[AlertCoordinator alloc]
+ initWithBaseViewController:viewController
+ title:title
+ message:errorMessage] autorelease];
+ return alertCoordinator;
+}
+
+} // namespace ios_internal

Powered by Google App Engine
This is Rietveld 408576698