blob: 0c552a788796685610d7c4b62cc5bda048fdf00a [file] [log] [blame]
// Copyright (c) 2011 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.
#ifndef CHROME_BROWSER_UI_PROFILE_ERROR_DIALOG_H_
#define CHROME_BROWSER_UI_PROFILE_ERROR_DIALOG_H_
#include <string>
// Be very careful while modifying this enum. Do NOT remove any elements from
// this enum. If you need to add one, add them to the end, right before END.
// END should ALWAYS be the last element in this enum. This is important because
// this enum is used to back a histogram, and these are implicit assumptions
// made in terms of how enumerated histograms are defined.
enum class ProfileErrorType {
HISTORY,
PREFERENCES,
DB_AUTOFILL_WEB_DATA,
DB_TOKEN_WEB_DATA,
DB_WEB_DATA,
DB_KEYWORD_WEB_DATA,
CREATE_FAILURE_SPECIFIED,
CREATE_FAILURE_ALL,
END
};
// Shows an error dialog corresponding to the inability to open some portion of
// the profile.
// The ProfileErrorType |type| needs to correspond to one of the profile error
// types in the enum above. If your use case doesn't fit any of the ones listed
// above, please add your type to the enum and modify the enum definition in
// tools/metrics/histograms/histograms.xml accordingly.
// |message_id| is a string id corresponding to the message to show.
// |diagnostics| contains diagnostic information about the database file that
// might have caused a profile error.
void ShowProfileErrorDialog(ProfileErrorType type,
int message_id,
const std::string& diagnostics);
#endif // CHROME_BROWSER_UI_PROFILE_ERROR_DIALOG_H_