| // 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, | 
 |   DB_PAYMENT_MANIFEST_WEB_DATA, | 
 |   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_ |