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

Unified Diff: client/crash_report_database_mac.mm

Issue 988063003: Define the Settings interface for a CrashReportDatabase and provide a Mac implementation. (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: Created 5 years, 9 months 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: client/crash_report_database_mac.mm
diff --git a/client/crash_report_database_mac.mm b/client/crash_report_database_mac.mm
index eeb203eaef39d43330dcdde6ecbee2609a287ce0..247e5443ab8a7b5e91873fcdb73e04c9becaf8ad 100644
--- a/client/crash_report_database_mac.mm
+++ b/client/crash_report_database_mac.mm
@@ -29,6 +29,7 @@
#include "base/strings/string_piece.h"
#include "base/strings/stringprintf.h"
#include "base/strings/sys_string_conversions.h"
+#include "client/settings_mac.h"
#include "util/file/file_io.h"
#include "util/mac/xattr.h"
@@ -42,6 +43,8 @@ const char kWriteDirectory[] = "new";
const char kUploadPendingDirectory[] = "pending";
const char kCompletedDirectory[] = "completed";
+const char kSettings[] = "settings.plist";
+
const char* const kReportDirectories[] = {
kWriteDirectory,
kUploadPendingDirectory,
@@ -106,6 +109,7 @@ class CrashReportDatabaseMac : public CrashReportDatabase {
bool Initialize();
// CrashReportDatabase:
+ Settings* GetSettings() override;
OperationStatus PrepareNewCrashReport(NewReport** report) override;
OperationStatus FinishedWritingCrashReport(NewReport* report,
UUID* uuid) override;
@@ -186,12 +190,15 @@ class CrashReportDatabaseMac : public CrashReportDatabase {
static std::string XattrName(const base::StringPiece& name);
base::FilePath base_dir_;
+ internal::SettingsMac settings_;
DISALLOW_COPY_AND_ASSIGN(CrashReportDatabaseMac);
};
CrashReportDatabaseMac::CrashReportDatabaseMac(const base::FilePath& path)
- : CrashReportDatabase(), base_dir_(path) {
+ : CrashReportDatabase(),
+ base_dir_(path),
+ settings_(base_dir_.Append(kSettings)) {
}
CrashReportDatabaseMac::~CrashReportDatabaseMac() {}
@@ -207,11 +214,18 @@ bool CrashReportDatabaseMac::Initialize() {
return false;
}
+ if (!settings_.Initialize())
+ return false;
+
// Write an xattr as the last step, to ensure the filesystem has support for
// them. This attribute will never be read.
return WriteXattrBool(base_dir_, XattrName(kXattrDatabaseInitialized), true);
}
+Settings* CrashReportDatabaseMac::GetSettings() {
+ return &settings_;
+}
+
CrashReportDatabase::OperationStatus
CrashReportDatabaseMac::PrepareNewCrashReport(NewReport** out_report) {
uuid_t uuid_gen;

Powered by Google App Engine
This is Rietveld 408576698