Add ability to gather metrics to BubbleManager.
[chromium-blink-merge.git] / chrome / browser / ui / profile_error_dialog.cc
blob40423cbe18ff2104485513c7b642a57d8b95aca0
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/ui/profile_error_dialog.h"
7 #include "base/auto_reset.h"
8 #include "base/base_switches.h"
9 #include "base/command_line.h"
10 #include "base/metrics/histogram.h"
11 #include "chrome/browser/ui/simple_message_box.h"
12 #include "chrome/grit/chromium_strings.h"
13 #include "ui/base/l10n/l10n_util.h"
15 void ShowProfileErrorDialog(ProfileErrorType type, int message_id) {
16 #if defined(OS_ANDROID) || defined(OS_IOS)
17 NOTIMPLEMENTED();
18 #else
19 UMA_HISTOGRAM_ENUMERATION("Profile.ProfileError", type, PROFILE_ERROR_END);
20 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
21 switches::kNoErrorDialogs))
22 return;
24 static bool is_showing_profile_error_dialog = false;
25 if (!is_showing_profile_error_dialog) {
26 base::AutoReset<bool> resetter(&is_showing_profile_error_dialog, true);
27 chrome::ShowMessageBox(NULL,
28 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME),
29 l10n_util::GetStringUTF16(message_id),
30 chrome::MESSAGE_BOX_TYPE_WARNING);
32 #endif