diff options
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/mac/Breakpad.xcodeproj/project.pbxproj | 56 | ||||
-rw-r--r-- | src/client/mac/Framework/Breakpad.h | 49 | ||||
-rw-r--r-- | src/client/mac/Framework/Breakpad.mm | 23 | ||||
-rw-r--r-- | src/client/mac/crash_generation/Inspector.h | 15 | ||||
-rw-r--r-- | src/client/mac/crash_generation/Inspector.mm | 28 | ||||
-rw-r--r-- | src/client/mac/sender/English.lproj/Breakpad.nib/classes.nib | 33 | ||||
-rw-r--r-- | src/client/mac/sender/English.lproj/Breakpad.nib/info.nib | 20 | ||||
-rw-r--r-- | src/client/mac/sender/English.lproj/Breakpad.nib/keyedobjects.nib | bin | 0 -> 10208 bytes | |||
-rw-r--r-- | src/client/mac/sender/English.lproj/Breakpad.xib | 834 | ||||
-rw-r--r-- | src/client/mac/sender/ReporterIcon.graffle | 2 | ||||
-rw-r--r-- | src/client/mac/sender/crash_report_sender-Info.plist | 2 | ||||
-rw-r--r-- | src/client/mac/sender/crash_report_sender.icns (renamed from src/client/mac/sender/ReporterIcon.icns) | bin | 170816 -> 170816 bytes | |||
-rw-r--r-- | src/client/mac/testapp/Info.plist | 84 |
13 files changed, 204 insertions, 942 deletions
diff --git a/src/client/mac/Breakpad.xcodeproj/project.pbxproj b/src/client/mac/Breakpad.xcodeproj/project.pbxproj index 1794529a..f532d99a 100644 --- a/src/client/mac/Breakpad.xcodeproj/project.pbxproj +++ b/src/client/mac/Breakpad.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 44; + objectVersion = 42; objects = { /* Begin PBXAggregateTarget section */ @@ -26,8 +26,9 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 4084699D0F5D9CF900FDCA37 /* ReporterIcon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 4084699C0F5D9CF900FDCA37 /* ReporterIcon.icns */; }; + 4084699D0F5D9CF900FDCA37 /* crash_report_sender.icns in Resources */ = {isa = PBXBuildFile; fileRef = 4084699C0F5D9CF900FDCA37 /* crash_report_sender.icns */; }; 8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; }; + F9267CB30F844BDD00A827EC /* Breakpad.nib in Resources */ = {isa = PBXBuildFile; fileRef = F9267CB10F844BDD00A827EC /* Breakpad.nib */; }; F9286B3A0F7EB25800A4DCC8 /* InspectorMain.mm in Sources */ = {isa = PBXBuildFile; fileRef = F9286B390F7EB25800A4DCC8 /* InspectorMain.mm */; }; F92C53B80ECCE7B3009BE4BA /* Inspector.mm in Sources */ = {isa = PBXBuildFile; fileRef = F92C53B70ECCE7B3009BE4BA /* Inspector.mm */; }; F92C554C0ECCF534009BE4BA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; }; @@ -84,7 +85,6 @@ F93DE33F0F82C66B00608B94 /* string_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53820ECCE635009BE4BA /* string_utilities.cc */; }; F93DE3410F82C68300608B94 /* exception_handler_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = F93DE3400F82C68300608B94 /* exception_handler_test.cc */; }; F945849E0F280E3C009A47BF /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = F945849C0F280E3C009A47BF /* Localizable.strings */; }; - F94586220F7842CF009A47BF /* Breakpad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 40F2AEEB0F4F2F55004510E8 /* Breakpad.xib */; }; F9C444530F7981E600991B96 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = F9C444510F7981E600991B96 /* InfoPlist.strings */; }; F9C44DB20EF07288003AEBAA /* Controller.m in Sources */ = {isa = PBXBuildFile; fileRef = F9C44DAC0EF07288003AEBAA /* Controller.m */; }; F9C44DB30EF07288003AEBAA /* crashduringload in Resources */ = {isa = PBXBuildFile; fileRef = F9C44DAD0EF07288003AEBAA /* crashduringload */; }; @@ -130,28 +130,28 @@ isa = PBXContainerItemProxy; containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; proxyType = 1; - remoteGlobalIDString = F93803BD0F80820F004D428B /* generator_test */; + remoteGlobalIDString = F93803BD0F80820F004D428B; remoteInfo = generator_test; }; F93DE2FD0F82C3C900608B94 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; proxyType = 1; - remoteGlobalIDString = F93DE2D00F82A67300608B94 /* minidump_file_writer_unittest */; + remoteGlobalIDString = F93DE2D00F82A67300608B94; remoteInfo = minidump_file_writer_unittest; }; F93DE36F0F82CC1300608B94 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; proxyType = 1; - remoteGlobalIDString = F93DE32B0F82C55600608B94 /* handler_test */; + remoteGlobalIDString = F93DE32B0F82C55600608B94; remoteInfo = handler_test; }; F93DE3A60F830D1D00608B94 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; proxyType = 1; - remoteGlobalIDString = F9C77DD90F7DD5CF0045F7DB /* UnitTests */; + remoteGlobalIDString = F9C77DD90F7DD5CF0045F7DB; remoteInfo = UnitTests; }; F94585870F78232B009A47BF /* PBXContainerItemProxy */ = { @@ -224,9 +224,9 @@ 0867D6A5FE840307C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; }; 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; }; 32DBCF5E0370ADEE00C91783 /* Breakpad_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Breakpad_Prefix.pch; path = Framework/Breakpad_Prefix.pch; sourceTree = "<group>"; }; - 4084699C0F5D9CF900FDCA37 /* ReporterIcon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = ReporterIcon.icns; path = sender/ReporterIcon.icns; sourceTree = "<group>"; }; - 40F2AEEC0F4F2F55004510E8 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = sender/English.lproj/Breakpad.xib; sourceTree = "<group>"; }; + 4084699C0F5D9CF900FDCA37 /* crash_report_sender.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = crash_report_sender.icns; path = sender/crash_report_sender.icns; sourceTree = "<group>"; }; 8DC2EF5B0486A6940098B216 /* Breakpad.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Breakpad.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F9267CB20F844BDD00A827EC /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = sender/English.lproj/Breakpad.nib; sourceTree = "<group>"; }; F9286B380F7EB25800A4DCC8 /* Inspector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Inspector.h; path = crash_generation/Inspector.h; sourceTree = "<group>"; }; F9286B390F7EB25800A4DCC8 /* InspectorMain.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = InspectorMain.mm; path = crash_generation/InspectorMain.mm; sourceTree = "<group>"; }; F92C53540ECCE349009BE4BA /* Inspector */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = Inspector; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -405,7 +405,6 @@ F92C53600ECCE3D6009BE4BA /* common */, 0867D69AFE84028FC02AAC07 /* Frameworks */, 034768DFFF38A50411DB9C8B /* Products */, - F92C56A20ECE04A7009BE4BA /* crash_report_sender-Info.plist */, F9C77DDB0F7DD5CF0045F7DB /* UnitTests-Info.plist */, ); name = Breakpad; @@ -533,9 +532,10 @@ F92C56A60ECE04B6009BE4BA /* sender */ = { isa = PBXGroup; children = ( - 4084699C0F5D9CF900FDCA37 /* ReporterIcon.icns */, - 40F2AEEB0F4F2F55004510E8 /* Breakpad.xib */, F945849C0F280E3C009A47BF /* Localizable.strings */, + 4084699C0F5D9CF900FDCA37 /* crash_report_sender.icns */, + F92C56A20ECE04A7009BE4BA /* crash_report_sender-Info.plist */, + F9267CB10F844BDD00A827EC /* Breakpad.nib */, F92C56A70ECE04C5009BE4BA /* crash_report_sender.h */, F92C56A80ECE04C5009BE4BA /* crash_report_sender.m */, ); @@ -768,7 +768,7 @@ 0867D690FE84028FC02AAC07 /* Project object */ = { isa = PBXProject; buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "Breakpad" */; - compatibilityVersion = "Xcode 3.0"; + compatibilityVersion = "Xcode 2.4"; hasScannedForEncodings = 1; mainGroup = 0867D691FE84028FC02AAC07 /* Breakpad */; productRefGroup = 034768DFFF38A50411DB9C8B /* Products */; @@ -805,9 +805,9 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - F94586220F7842CF009A47BF /* Breakpad.xib in Resources */, F945849E0F280E3C009A47BF /* Localizable.strings in Resources */, - 4084699D0F5D9CF900FDCA37 /* ReporterIcon.icns in Resources */, + 4084699D0F5D9CF900FDCA37 /* crash_report_sender.icns in Resources */, + F9267CB30F844BDD00A827EC /* Breakpad.nib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -844,7 +844,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "install_name_tool -id \"@executable_path/../Resources/breakpadUtilities.dylib\" ${BUILT_PRODUCTS_DIR}/breakpadUtilities.dylib\n"; + shellScript = "install_name_tool -id \"@executable_path/../Resources/breakpadUtilities.dylib\" \"${BUILT_PRODUCTS_DIR}/breakpadUtilities.dylib\"\n"; }; F97A0E850ED4EC15008784D3 /* Change install name of breakpadUtilities */ = { isa = PBXShellScriptBuildPhase; @@ -858,7 +858,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "#!/bin/bash\ninstall_name_tool -id \"@executable_path/../Frameworks/Breakpad.framework/Resources/breakpadUtilities.dylib\" ${BUILT_PRODUCTS_DIR}/breakpadUtilities.dylib\n"; + shellScript = "#!/bin/bash\ninstall_name_tool -id \"@executable_path/../Frameworks/Breakpad.framework/Resources/breakpadUtilities.dylib\" \"${BUILT_PRODUCTS_DIR}/breakpadUtilities.dylib\"\n"; }; F9C77DD80F7DD5CF0045F7DB /* ShellScript */ = { isa = PBXShellScriptBuildPhase; @@ -1070,12 +1070,12 @@ /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - 40F2AEEB0F4F2F55004510E8 /* Breakpad.xib */ = { + F9267CB10F844BDD00A827EC /* Breakpad.nib */ = { isa = PBXVariantGroup; children = ( - 40F2AEEC0F4F2F55004510E8 /* English */, + F9267CB20F844BDD00A827EC /* English */, ); - name = Breakpad.xib; + name = Breakpad.nib; sourceTree = "<group>"; }; F945849C0F280E3C009A47BF /* Localizable.strings */ = { @@ -1149,7 +1149,6 @@ INFOPLIST_FILE = Framework/Info.plist; INSTALL_PATH = "@executable_path/../Frameworks"; PRODUCT_NAME = Breakpad; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk"; WRAPPER_EXTENSION = framework; }; name = Release; @@ -1164,7 +1163,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; ONLY_ACTIVE_ARCH_PRE_XCODE_3_1 = "$(NATIVE_ARCH)"; PREBINDING = NO; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk"; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; }; name = Debug; }; @@ -1178,7 +1177,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = "../..//**"; PREBINDING = NO; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk"; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; }; name = Release; }; @@ -1191,7 +1190,6 @@ GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; HEADER_SEARCH_PATHS = "../..//**"; INSTALL_PATH = /usr/local/bin; OTHER_LDFLAGS = ( @@ -1200,7 +1198,6 @@ ); PREBINDING = NO; PRODUCT_NAME = Inspector; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk"; }; name = Debug; }; @@ -1212,7 +1209,6 @@ DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_PRECOMPILE_PREFIX_HEADER = YES; HEADER_SEARCH_PATHS = "../..//**"; INSTALL_PATH = /usr/local/bin; LD_GENERATE_MAP_FILE = YES; @@ -1222,7 +1218,6 @@ ); PREBINDING = NO; PRODUCT_NAME = Inspector; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk"; ZERO_LINK = NO; }; name = Release; @@ -1249,7 +1244,6 @@ ); PREBINDING = NO; PRODUCT_NAME = breakpadUtilities; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk"; }; name = Debug; }; @@ -1273,7 +1267,6 @@ ); PREBINDING = NO; PRODUCT_NAME = breakpadUtilities; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk"; ZERO_LINK = NO; }; name = Release; @@ -1461,7 +1454,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; ONLY_ACTIVE_ARCH_PRE_XCODE_3_1 = "$(NATIVE_ARCH)"; PREBINDING = NO; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk"; + SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; }; name = "Debug With Code Coverage"; }; @@ -1496,7 +1489,6 @@ GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; HEADER_SEARCH_PATHS = "../..//**"; INSTALL_PATH = /usr/local/bin; OTHER_LDFLAGS = ( @@ -1505,7 +1497,6 @@ ); PREBINDING = NO; PRODUCT_NAME = Inspector; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk"; }; name = "Debug With Code Coverage"; }; @@ -1531,7 +1522,6 @@ ); PREBINDING = NO; PRODUCT_NAME = breakpadUtilities; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk"; }; name = "Debug With Code Coverage"; }; diff --git a/src/client/mac/Framework/Breakpad.h b/src/client/mac/Framework/Breakpad.h index 05005a99..5c6c2154 100644 --- a/src/client/mac/Framework/Breakpad.h +++ b/src/client/mac/Framework/Breakpad.h @@ -54,6 +54,11 @@ extern "C" { #define kReporterMinidumpDirectoryKey "MinidumpDir" #define kReporterMinidumpIDKey "MinidumpID" +// The default subdirectory of the Library to put crash dumps in +// The subdirectory is +// ~/Library/<kDefaultLibrarySubdirectory>/<GoogleBreakpadProduct> +#define kDefaultLibrarySubdirectory "Breakpad" + // Specify some special keys to be used in the configuration file that is // generated by Breakpad and consumed by the crash_sender. #define BREAKPAD_PRODUCT_DISPLAY "BreakpadProductDisplay" @@ -64,6 +69,7 @@ extern "C" { #define BREAKPAD_REPORT_INTERVAL "BreakpadReportInterval" #define BREAKPAD_SKIP_CONFIRM "BreakpadSkipConfirm" #define BREAKPAD_SEND_AND_EXIT "BreakpadSendAndExit" +#define BREAKPAD_DUMP_DIRECTORY "BreakpadMinidumpLocation" #define BREAKPAD_INSPECTOR_LOCATION "BreakpadInspectorLocation" #define BREAKPAD_REPORTER_EXE_LOCATION \ @@ -94,41 +100,66 @@ typedef bool (*BreakpadFilterCallback)(int exception_type, // BREAKPAD_PRODUCT Product name (e.g., "MyAwesomeProduct") // This one is used as the key to identify // the product when uploading +// REQUIRED +// // BREAKPAD_PRODUCT_DISPLAY This is the display name, e.g. a pretty // name for the product when the crash_sender // pops up UI for the user. Falls back to // BREAKPAD_PRODUCT if not specified. +// // BREAKPAD_VERSION Product version (e.g., 1.2.3), used // as metadata for crash report +// REQUIRED +// // BREAKPAD_VENDOR Vendor named, used in UI (e.g. the Xxxx // foo bar company product widget has crashed) +// // BREAKPAD_URL URL destination for reporting +// REQUIRED +// // BREAKPAD_REPORT_INTERVAL # of seconds between sending // reports. If an additional report is // generated within this time, it will // be ignored. Default: 3600sec. // Specify 0 to send all reports. +// // BREAKPAD_SKIP_CONFIRM If true, the reporter will send the report // without any user intervention. +// Defaults to NO +// // BREAKPAD_SEND_AND_EXIT If true, the handler will exit after sending. // This will prevent any other handler (e.g., // CrashReporter) from getting the crash. +// Defaults TO YES +// +// BREAKPAD_DUMP_DIRECTORY The directory to store crash-dumps +// in. By default, we use +// ~/Library/Breakpad/<BREAKPAD_PRODUCT> +// The path you specify here is tilde-expanded. +// // BREAKPAD_INSPECTOR_LOCATION The full path to the Inspector executable. +// Defaults to <Framework resources>/Inspector +// // BREAKPAD_REPORTER_EXE_LOCATION The full path to the Reporter/sender // executable. +// Default: +// <Framework Resources>/crash_report_sender.app +// // BREAKPAD_LOGFILES Indicates an array of log file paths that -// should be uploaded at crash time +// should be uploaded at crash time. +// // BREAKPAD_REQUEST_COMMENTS If true, the message dialog will have a // text box for the user to enter comments as // well as a name and email address. -// BREAKPAD_COMMENTS The text the user provided as comments. -// -// The BREAKPAD_PRODUCT and BREAKPAD_VERSION are required to have non- -// NULL values. By default, the BREAKPAD_PRODUCT will be the -// CFBundleName and the BREAKPAD_VERSION will be the CFBundleVersion -// when these keys are present in the bundle's Info.plist. If the -// BREAKPAD_PRODUCT or BREAKPAD_VERSION are ultimately undefined, -// BreakpadCreate() will fail. You have been warned. +// Default: NO +// +// The BREAKPAD_PRODUCT, BREAKPAD_VERSION, and BREAKPAD_URL are +// required to have non-NULL values. By default, the BREAKPAD_PRODUCT +// will be the CFBundleName and the BREAKPAD_VERSION will be the +// CFBundleVersion when these keys are present in the bundle's +// Info.plist. If the BREAKPAD_PRODUCT or BREAKPAD_VERSION are +// ultimately undefined, BreakpadCreate() will fail. You have been +// warned. // // If you are running in a debugger, breakpad will not install, unless the // BREAKPAD_IGNORE_DEBUGGER envionment variable is set and/or non-zero. diff --git a/src/client/mac/Framework/Breakpad.mm b/src/client/mac/Framework/Breakpad.mm index 52301c72..9de0a94b 100644 --- a/src/client/mac/Framework/Breakpad.mm +++ b/src/client/mac/Framework/Breakpad.mm @@ -407,7 +407,9 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) { [parameters objectForKey:@BREAKPAD_REQUEST_COMMENTS]; NSString *vendor = [parameters objectForKey:@BREAKPAD_VENDOR]; - + NSString *dumpSubdirectory = + [parameters objectForKey:@BREAKPAD_DUMP_DIRECTORY]; + // If these two are not already set(skipConfirm and sendAndExit can // come from user defaults and take priority) if (!skipConfirm) { @@ -509,9 +511,14 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) { return false; } - // The product and version are required values + if (!dumpSubdirectory) { + dumpSubdirectory = @""; + } + + // The product and version are required values. if (![product length] || ![version length]) { - DEBUGLOG(stderr, "Missing required product and/or version keys\n"); + DEBUGLOG(stderr, + "Missing required product or version subdirectory keys\n"); return false; } @@ -537,7 +544,9 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) { [requestUserText UTF8String]); dictionary.SetKeyValue(BREAKPAD_VENDOR, [vendor UTF8String]); - + dictionary.SetKeyValue(BREAKPAD_DUMP_DIRECTORY, + [dumpSubdirectory UTF8String]); + if (logFilePaths) { char logFileKey[255]; for(unsigned int i = 0; i < [logFilePaths count]; i++) { @@ -550,12 +559,6 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) { dictionary.SetKeyValue(BREAKPAD_EMAIL, [reportEmail UTF8String]); } -#if 0 // for testing - BreakpadSetKeyValue(this, @"UserKey1", @"User Value 1"); - BreakpadSetKeyValue(this, @"UserKey2", @"User Value 2"); - BreakpadSetKeyValue(this, @"UserKey3", @"User Value 3"); - BreakpadSetKeyValue(this, @"UserKey4", @"User Value 4"); -#endif return true; } diff --git a/src/client/mac/crash_generation/Inspector.h b/src/client/mac/crash_generation/Inspector.h index 38d441fb..098c56e8 100644 --- a/src/client/mac/crash_generation/Inspector.h +++ b/src/client/mac/crash_generation/Inspector.h @@ -122,18 +122,9 @@ class ConfigFile { //============================================================================= class MinidumpLocation { public: - MinidumpLocation() { - NSString *minidumpDirBase = NSHomeDirectory(); - NSString *minidumpDir; - - // Put root processes at root - if (geteuid() == 0) - minidumpDirBase = @"/"; - - minidumpDir = - [minidumpDirBase stringByAppendingPathComponent:@"Library/Logs/Google"]; - + MinidumpLocation(const NSString *minidumpDir) { // Ensure that the path exists. Fallback to /tmp if unable to locate path. + assert(minidumpDir); if (!EnsureDirectoryPathExists(minidumpDir)) { DEBUGLOG(stderr, "Unable to create: %s\n", [minidumpDir UTF8String]); minidumpDir = @"/tmp"; @@ -196,5 +187,3 @@ class Inspector { } // namespace google_breakpad - - diff --git a/src/client/mac/crash_generation/Inspector.mm b/src/client/mac/crash_generation/Inspector.mm index f659b669..2508289c 100644 --- a/src/client/mac/crash_generation/Inspector.mm +++ b/src/client/mac/crash_generation/Inspector.mm @@ -325,7 +325,33 @@ bool Inspector::InspectTask() { // keep the task quiet while we're looking at it task_suspend(remote_task_); - MinidumpLocation minidumpLocation; + NSString *minidumpDir; + + const char *minidumpDirectory = + config_params_.GetValueForKey(BREAKPAD_DUMP_DIRECTORY); + + // If the client app has not specified a minidump directory, + // use a default of Library/<kDefaultLibrarySubdirectory>/<Product Name> + if (0 == strlen(minidumpDirectory)) { + NSArray *libraryDirectories = + NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, + NSUserDomainMask, + YES); + + NSString *applicationSupportDirectory = + [libraryDirectories objectAtIndex:0]; + + minidumpDir = + [NSString stringWithFormat:@"%@/%s/%s", + applicationSupportDirectory, + kDefaultLibrarySubdirectory, + config_params_.GetValueForKey(GOOGLE_BREAKPAD_PRODUCT)]; + } else { + minidumpDir = [[NSString stringWithUTF8String:minidumpDirectory] + stringByExpandingTildeInPath]; + } + + MinidumpLocation minidumpLocation(minidumpDir); config_file_.WriteFile( &config_params_, minidumpLocation.GetPath(), diff --git a/src/client/mac/sender/English.lproj/Breakpad.nib/classes.nib b/src/client/mac/sender/English.lproj/Breakpad.nib/classes.nib new file mode 100644 index 00000000..2636d457 --- /dev/null +++ b/src/client/mac/sender/English.lproj/Breakpad.nib/classes.nib @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>IBClasses</key> + <array> + <dict> + <key>ACTIONS</key> + <dict> + <key>cancel</key> + <string>id</string> + <key>sendReport</key> + <string>id</string> + <key>showPrivacyPolicy</key> + <string>id</string> + </dict> + <key>CLASS</key> + <string>Reporter</string> + <key>LANGUAGE</key> + <string>ObjC</string> + <key>OUTLETS</key> + <dict> + <key>alertWindow</key> + <string>NSWindow</string> + </dict> + <key>SUPERCLASS</key> + <string>NSObject</string> + </dict> + </array> + <key>IBVersion</key> + <string>1</string> +</dict> +</plist> diff --git a/src/client/mac/sender/English.lproj/Breakpad.nib/info.nib b/src/client/mac/sender/English.lproj/Breakpad.nib/info.nib new file mode 100644 index 00000000..55565cda --- /dev/null +++ b/src/client/mac/sender/English.lproj/Breakpad.nib/info.nib @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>IBFramework Version</key> + <string>670</string> + <key>IBLastKnownRelativeProjectPath</key> + <string>../../Breakpad.xcodeproj</string> + <key>IBOldestOS</key> + <integer>5</integer> + <key>IBOpenObjects</key> + <array> + <integer>2</integer> + </array> + <key>IBSystem Version</key> + <string>9F33</string> + <key>targetFramework</key> + <string>IBCocoaFramework</string> +</dict> +</plist> diff --git a/src/client/mac/sender/English.lproj/Breakpad.nib/keyedobjects.nib b/src/client/mac/sender/English.lproj/Breakpad.nib/keyedobjects.nib Binary files differnew file mode 100644 index 00000000..50dff43d --- /dev/null +++ b/src/client/mac/sender/English.lproj/Breakpad.nib/keyedobjects.nib diff --git a/src/client/mac/sender/English.lproj/Breakpad.xib b/src/client/mac/sender/English.lproj/Breakpad.xib deleted file mode 100644 index 7b5053a5..00000000 --- a/src/client/mac/sender/English.lproj/Breakpad.xib +++ /dev/null @@ -1,834 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.02"> - <data> - <int key="IBDocument.SystemTarget">1050</int> - <string key="IBDocument.SystemVersion">9F33</string> - <string key="IBDocument.InterfaceBuilderVersion">670</string> - <string key="IBDocument.AppKitVersion">949.34</string> - <string key="IBDocument.HIToolboxVersion">352.00</string> - <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> - <bool key="EncodedWithXMLCoder">YES</bool> - <integer value="2"/> - </object> - <object class="NSArray" key="IBDocument.PluginDependencies"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - </object> - <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSCustomObject" id="1001"> - <string key="NSClassName">Reporter</string> - </object> - <object class="NSCustomObject" id="1003"> - <string key="NSClassName">FirstResponder</string> - </object> - <object class="NSCustomObject" id="1004"> - <string key="NSClassName">NSApplication</string> - </object> - <object class="NSWindowTemplate" id="1005"> - <int key="NSWindowStyleMask">1</int> - <int key="NSWindowBacking">2</int> - <string key="NSWindowRect">{{196, 157}, {484, 353}}</string> - <int key="NSWTFlags">536871936</int> - <string key="NSWindowTitle"/> - <string key="NSWindowClass">NSWindow</string> - <nil key="NSViewClass"/> - <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string> - <object class="NSView" key="NSWindowView" id="1006"> - <reference key="NSNextResponder"/> - <int key="NSvFlags">264</int> - <object class="NSMutableArray" key="NSSubviews"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSTextField" id="52942477"> - <reference key="NSNextResponder" ref="1006"/> - <int key="NSvFlags">266</int> - <string key="NSFrame">{{89, 279}, {378, 54}}</string> - <reference key="NSSuperview" ref="1006"/> - <bool key="NSEnabled">YES</bool> - <object class="NSTextFieldCell" key="NSCell" id="237530958"> - <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">272629760</int> - <string type="base64-UTF8" key="NSContents">RE8gTk9UIExPQ0FMSVpFLiBUaGUgPFJlYWxseSBMb25nIENvbXBhbnkgTmFtZT4gcHJvZ3JhbSA8UmVh -bGx5IExvbmcgQXBwIE5hbWUgSGVyZT4gaGFzIHVuZXhwZWN0ZWRseSBxdWl0LiA</string> - <object class="NSFont" key="NSSupport"> - <string key="NSName">LucidaGrande-Bold</string> - <double key="NSSize">1.400000e+01</double> - <int key="NSfFlags">16</int> - </object> - <reference key="NSControlView" ref="52942477"/> - <object class="NSColor" key="NSBackgroundColor" id="738791573"> - <int key="NSColorSpace">6</int> - <string key="NSCatalogName">System</string> - <string key="NSColorName">controlColor</string> - <object class="NSColor" key="NSColor"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MC42NjY2NjY2OQA</bytes> - </object> - </object> - <object class="NSColor" key="NSTextColor" id="909242260"> - <int key="NSColorSpace">6</int> - <string key="NSCatalogName">System</string> - <string key="NSColorName">controlTextColor</string> - <object class="NSColor" key="NSColor" id="488201583"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MAA</bytes> - </object> - </object> - </object> - </object> - <object class="NSImageView" id="131954859"> - <reference key="NSNextResponder" ref="1006"/> - <int key="NSvFlags">268</int> - <object class="NSMutableSet" key="NSDragTypes"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMutableArray" key="set.sortedObjects"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>Apple PDF pasteboard type</string> - <string>Apple PICT pasteboard type</string> - <string>Apple PNG pasteboard type</string> - <string>NSFilenamesPboardType</string> - <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string> - <string>NeXT TIFF v4.0 pasteboard type</string> - </object> - </object> - <string key="NSFrame">{{20, 269}, {64, 64}}</string> - <reference key="NSSuperview" ref="1006"/> - <bool key="NSEnabled">YES</bool> - <object class="NSImageCell" key="NSCell" id="863447683"> - <int key="NSCellFlags">130560</int> - <int key="NSCellFlags2">33554432</int> - <object class="NSCustomResource" key="NSContents"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">NSApplicationIcon</string> - </object> - <int key="NSAlign">0</int> - <int key="NSScale">0</int> - <int key="NSStyle">0</int> - <bool key="NSAnimates">NO</bool> - </object> - <bool key="NSEditable">YES</bool> - </object> - <object class="NSTextField" id="547141541"> - <reference key="NSNextResponder" ref="1006"/> - <int key="NSvFlags">266</int> - <string key="NSFrame">{{17, 191}, {450, 70}}</string> - <reference key="NSSuperview" ref="1006"/> - <bool key="NSEnabled">YES</bool> - <object class="NSTextFieldCell" key="NSCell" id="857260085"> - <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">272760832</int> - <string type="base64-UTF8" key="NSContents">RE8gTk9UIExPQ0FMSVpFLiBUaGUgc3lzdGVtIGFuZCBvdGhlciBhcHBsaWNhdGlvbnMgaGF2ZSBub3Qg -YmVlbiBhZmZlY3RlZC4gQSByZXBvcnQgaGFzIGJlZW4gY3JlYXRlZCB0aGF0IHlvdSBjYW4gc2VuZCB0 -byA8UmVhbGx5IExvbmcgQ29tcGFueSBOYW1lPiB0byBoZWxwIGlkZW50aWZ5IHRoZSBwcm9ibGVtLgoK -UGxlYXNlIGhlbHAgdXMgZml4IHRoZSBwcm9ibGVtIGJ5IGRlc2NyaWJpbmcgd2hhdCBoYXBwZW5lZCBi -ZWZvcmUgdGhlIGNyYXNoLg</string> - <object class="NSFont" key="NSSupport" id="26"> - <string key="NSName">LucidaGrande</string> - <double key="NSSize">1.100000e+01</double> - <int key="NSfFlags">3100</int> - </object> - <reference key="NSControlView" ref="547141541"/> - <reference key="NSBackgroundColor" ref="738791573"/> - <reference key="NSTextColor" ref="909242260"/> - </object> - </object> - <object class="NSTextField" id="637803025"> - <reference key="NSNextResponder" ref="1006"/> - <int key="NSvFlags">290</int> - <string key="NSFrame">{{17, 85}, {450, 28}}</string> - <reference key="NSSuperview" ref="1006"/> - <bool key="NSEnabled">YES</bool> - <object class="NSTextFieldCell" key="NSCell" id="862965674"> - <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">272760832</int> - <string key="NSContents">DO NOT LOCALIZE. Providing your email address is optional and will allow us contact you in case we need more details.</string> - <reference key="NSSupport" ref="26"/> - <reference key="NSControlView" ref="637803025"/> - <reference key="NSBackgroundColor" ref="738791573"/> - <reference key="NSTextColor" ref="909242260"/> - </object> - </object> - <object class="NSButton" id="506323760"> - <reference key="NSNextResponder" ref="1006"/> - <int key="NSvFlags">289</int> - <string key="NSFrame">{{353, 12}, {117, 32}}</string> - <reference key="NSSuperview" ref="1006"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="555878343"> - <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">134217728</int> - <string key="NSContents">Send Report</string> - <object class="NSFont" key="NSSupport" id="890637240"> - <string key="NSName">LucidaGrande</string> - <double key="NSSize">1.300000e+01</double> - <int key="NSfFlags">1044</int> - </object> - <reference key="NSControlView" ref="506323760"/> - <int key="NSButtonFlags">-2038284033</int> - <int key="NSButtonFlags2">129</int> - <reference key="NSAlternateImage" ref="890637240"/> - <string key="NSAlternateContents"/> - <string type="base64-UTF8" key="NSKeyEquivalent">DQ</string> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - </object> - <object class="NSButton" id="1066255572"> - <reference key="NSNextResponder" ref="1006"/> - <int key="NSvFlags">289</int> - <string key="NSFrame">{{243, 12}, {110, 32}}</string> - <reference key="NSSuperview" ref="1006"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="910201563"> - <int key="NSCellFlags">67239424</int> - <int key="NSCellFlags2">134217728</int> - <string key="NSContents">Cancel</string> - <reference key="NSSupport" ref="890637240"/> - <reference key="NSControlView" ref="1066255572"/> - <int key="NSButtonFlags">-2038284033</int> - <int key="NSButtonFlags2">129</int> - <reference key="NSAlternateImage" ref="890637240"/> - <string key="NSAlternateContents"/> - <string type="base64-UTF8" key="NSKeyEquivalent">Gw</string> - <int key="NSPeriodicDelay">200</int> - <int key="NSPeriodicInterval">25</int> - </object> - </object> - <object class="NSTextField" id="834332784"> - <reference key="NSNextResponder" ref="1006"/> - <int key="NSvFlags">290</int> - <string key="NSFrame">{{59, 58}, {195, 19}}</string> - <reference key="NSSuperview" ref="1006"/> - <bool key="NSEnabled">YES</bool> - <object class="NSTextFieldCell" key="NSCell" id="454024475"> - <int key="NSCellFlags">-1804468671</int> - <int key="NSCellFlags2">272761856</int> - <string key="NSContents">preston.jackson@gmail.com</string> - <reference key="NSSupport" ref="26"/> - <string key="NSPlaceholderString">optional</string> - <reference key="NSControlView" ref="834332784"/> - <bool key="NSDrawsBackground">YES</bool> - <object class="NSColor" key="NSBackgroundColor" id="181834562"> - <int key="NSColorSpace">6</int> - <string key="NSCatalogName">System</string> - <string key="NSColorName">textBackgroundColor</string> - <object class="NSColor" key="NSColor"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MQA</bytes> - </object> - </object> - <object class="NSColor" key="NSTextColor" id="332510420"> - <int key="NSColorSpace">6</int> - <string key="NSCatalogName">System</string> - <string key="NSColorName">textColor</string> - <reference key="NSColor" ref="488201583"/> - </object> - </object> - </object> - <object class="NSTextField" id="1001751188"> - <reference key="NSNextResponder" ref="1006"/> - <int key="NSvFlags">292</int> - <string key="NSFrame">{{17, 60}, {37, 14}}</string> - <reference key="NSSuperview" ref="1006"/> - <bool key="NSEnabled">YES</bool> - <object class="NSTextFieldCell" key="NSCell" id="220926093"> - <int key="NSCellFlags">68288064</int> - <int key="NSCellFlags2">71435264</int> - <string key="NSContents">Email:</string> - <reference key="NSSupport" ref="26"/> - <reference key="NSControlView" ref="1001751188"/> - <reference key="NSBackgroundColor" ref="738791573"/> - <reference key="NSTextColor" ref="909242260"/> - </object> - </object> - <object class="NSButton" id="645396128"> - <reference key="NSNextResponder" ref="1006"/> - <int key="NSvFlags">289</int> - <string key="NSFrame">{{352, 59}, {16, 17}}</string> - <reference key="NSSuperview" ref="1006"/> - <bool key="NSEnabled">YES</bool> - <object class="NSButtonCell" key="NSCell" id="776409024"> - <int key="NSCellFlags">-2080244224</int> - <int key="NSCellFlags2">262144</int> - <string key="NSContents">Privacy Policy</string> - <object class="NSFont" key="NSSupport"> - <string key="NSName">LucidaGrande</string> - <double key="NSSize">9.000000e+00</double> - <int key="NSfFlags">3614</int> - </object> - <reference key="NSControlView" ref="645396128"/> - <int key="NSButtonFlags">-2040250113</int> - <int key="NSButtonFlags2">36</int> - <object class="NSCustomResource" key="NSNormalImage"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">NSFollowLinkFreestandingTemplate</string> - </object> - <string key="NSAlternateContents"/> - <string key="NSKeyEquivalent"/> - <int key="NSPeriodicDelay">400</int> - <int key="NSPeriodicInterval">75</int> - </object> - </object> - <object class="NSTextField" id="271427294"> - <reference key="NSNextResponder" ref="1006"/> - <int key="NSvFlags">289</int> - <string key="NSFrame">{{259, 60}, {89, 14}}</string> - <reference key="NSSuperview" ref="1006"/> - <bool key="NSEnabled">YES</bool> - <object class="NSTextFieldCell" key="NSCell" id="718717750"> - <int key="NSCellFlags">68288064</int> - <int key="NSCellFlags2">71435264</int> - <string key="NSContents">Privacy Policy</string> - <reference key="NSSupport" ref="26"/> - <reference key="NSControlView" ref="271427294"/> - <reference key="NSBackgroundColor" ref="738791573"/> - <reference key="NSTextColor" ref="909242260"/> - </object> - </object> - <object class="NSTextField" id="652207274"> - <reference key="NSNextResponder" ref="1006"/> - <int key="NSvFlags">274</int> - <string key="NSFrame">{{20, 124}, {444, 61}}</string> - <reference key="NSSuperview" ref="1006"/> - <bool key="NSEnabled">YES</bool> - <object class="NSTextFieldCell" key="NSCell" id="748395329"> - <int key="NSCellFlags">341966337</int> - <int key="NSCellFlags2">272760832</int> - <string key="NSContents">DO NOT LOCALIZE: Line 1 Line 1 Line 1 Line 1 Line 1 Line 1 Line 1 Line 1 Line Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 2 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 3 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4 </string> - <reference key="NSSupport" ref="26"/> - <reference key="NSControlView" ref="652207274"/> - <bool key="NSDrawsBackground">YES</bool> - <reference key="NSBackgroundColor" ref="181834562"/> - <reference key="NSTextColor" ref="332510420"/> - </object> - </object> - </object> - <string key="NSFrameSize">{484, 353}</string> - <reference key="NSSuperview"/> - </object> - <string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string> - <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> - </object> - </object> - <object class="IBObjectContainer" key="IBDocument.Objects"> - <object class="NSMutableArray" key="connectionRecords"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">alertWindow</string> - <reference key="source" ref="1001"/> - <reference key="destination" ref="1005"/> - </object> - <int key="connectionID">42</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">sendReport:</string> - <reference key="source" ref="1001"/> - <reference key="destination" ref="506323760"/> - </object> - <int key="connectionID">45</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">cancel:</string> - <reference key="source" ref="1001"/> - <reference key="destination" ref="1066255572"/> - </object> - <int key="connectionID">46</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">showPrivacyPolicy:</string> - <reference key="source" ref="1001"/> - <reference key="destination" ref="645396128"/> - </object> - <int key="connectionID">53</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBBindingConnection" key="connection"> - <string key="label">value: headerMessage</string> - <reference key="source" ref="52942477"/> - <reference key="destination" ref="1001"/> - <object class="NSNibBindingConnector" key="connector"> - <reference key="NSSource" ref="52942477"/> - <reference key="NSDestination" ref="1001"/> - <string key="NSLabel">value: headerMessage</string> - <string key="NSBinding">value</string> - <string key="NSKeyPath">headerMessage</string> - <int key="NSNibBindingConnectorVersion">2</int> - </object> - </object> - <int key="connectionID">85</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBBindingConnection" key="connection"> - <string key="label">value: reportMessage</string> - <reference key="source" ref="547141541"/> - <reference key="destination" ref="1001"/> - <object class="NSNibBindingConnector" key="connector"> - <reference key="NSSource" ref="547141541"/> - <reference key="NSDestination" ref="1001"/> - <string key="NSLabel">value: reportMessage</string> - <string key="NSBinding">value</string> - <string key="NSKeyPath">reportMessage</string> - <int key="NSNibBindingConnectorVersion">2</int> - </object> - </object> - <int key="connectionID">86</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBBindingConnection" key="connection"> - <string key="label">value: emailMessage</string> - <reference key="source" ref="637803025"/> - <reference key="destination" ref="1001"/> - <object class="NSNibBindingConnector" key="connector"> - <reference key="NSSource" ref="637803025"/> - <reference key="NSDestination" ref="1001"/> - <string key="NSLabel">value: emailMessage</string> - <string key="NSBinding">value</string> - <string key="NSKeyPath">emailMessage</string> - <int key="NSNibBindingConnectorVersion">2</int> - </object> - </object> - <int key="connectionID">87</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBBindingConnection" key="connection"> - <string key="label">value: emailValue</string> - <reference key="source" ref="834332784"/> - <reference key="destination" ref="1001"/> - <object class="NSNibBindingConnector" key="connector"> - <reference key="NSSource" ref="834332784"/> - <reference key="NSDestination" ref="1001"/> - <string key="NSLabel">value: emailValue</string> - <string key="NSBinding">value</string> - <string key="NSKeyPath">emailValue</string> - <object class="NSDictionary" key="NSOptions"> - <string key="NS.key.0">NSNullPlaceholder</string> - <string key="NS.object.0">optional</string> - </object> - <int key="NSNibBindingConnectorVersion">2</int> - </object> - </object> - <int key="connectionID">90</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">initialFirstResponder</string> - <reference key="source" ref="1005"/> - <reference key="destination" ref="506323760"/> - </object> - <int key="connectionID">91</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBBindingConnection" key="connection"> - <string key="label">value: commentsValue</string> - <reference key="source" ref="652207274"/> - <reference key="destination" ref="1001"/> - <object class="NSNibBindingConnector" key="connector"> - <reference key="NSSource" ref="652207274"/> - <reference key="NSDestination" ref="1001"/> - <string key="NSLabel">value: commentsValue</string> - <string key="NSBinding">value</string> - <string key="NSKeyPath">commentsValue</string> - <object class="NSDictionary" key="NSOptions"> - <string key="NS.key.0">NSNullPlaceholder</string> - <string key="NS.object.0">optional comments</string> - </object> - <int key="NSNibBindingConnectorVersion">2</int> - </object> - </object> - <int key="connectionID">124</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">nextKeyView</string> - <reference key="source" ref="834332784"/> - <reference key="destination" ref="506323760"/> - </object> - <int key="connectionID">125</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">nextKeyView</string> - <reference key="source" ref="652207274"/> - <reference key="destination" ref="834332784"/> - </object> - <int key="connectionID">126</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">nextKeyView</string> - <reference key="source" ref="506323760"/> - <reference key="destination" ref="652207274"/> - </object> - <int key="connectionID">127</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">delegate</string> - <reference key="source" ref="652207274"/> - <reference key="destination" ref="1001"/> - </object> - <int key="connectionID">128</int> - </object> - </object> - <object class="IBMutableOrderedSet" key="objectRecords"> - <object class="NSArray" key="orderedObjects"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBObjectRecord"> - <int key="objectID">0</int> - <object class="NSArray" key="object" id="1002"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <reference key="children" ref="1000"/> - <nil key="parent"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">-2</int> - <reference key="object" ref="1001"/> - <reference key="parent" ref="1002"/> - <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string> - </object> - <object class="IBObjectRecord"> - <int key="objectID">-1</int> - <reference key="object" ref="1003"/> - <reference key="parent" ref="1002"/> - <string key="objectName">First Responder</string> - </object> - <object class="IBObjectRecord"> - <int key="objectID">-3</int> - <reference key="object" ref="1004"/> - <reference key="parent" ref="1002"/> - <string key="objectName">Application</string> - </object> - <object class="IBObjectRecord"> - <int key="objectID">1</int> - <reference key="object" ref="1005"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="1006"/> - </object> - <reference key="parent" ref="1002"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">2</int> - <reference key="object" ref="1006"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="131954859"/> - <reference ref="52942477"/> - <reference ref="652207274"/> - <reference ref="637803025"/> - <reference ref="1001751188"/> - <reference ref="834332784"/> - <reference ref="271427294"/> - <reference ref="645396128"/> - <reference ref="506323760"/> - <reference ref="1066255572"/> - <reference ref="547141541"/> - </object> - <reference key="parent" ref="1005"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">3</int> - <reference key="object" ref="52942477"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="237530958"/> - </object> - <reference key="parent" ref="1006"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">4</int> - <reference key="object" ref="237530958"/> - <reference key="parent" ref="52942477"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">6</int> - <reference key="object" ref="131954859"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="863447683"/> - </object> - <reference key="parent" ref="1006"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">7</int> - <reference key="object" ref="863447683"/> - <reference key="parent" ref="131954859"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">8</int> - <reference key="object" ref="547141541"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="857260085"/> - </object> - <reference key="parent" ref="1006"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">9</int> - <reference key="object" ref="857260085"/> - <reference key="parent" ref="547141541"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">12</int> - <reference key="object" ref="506323760"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="555878343"/> - </object> - <reference key="parent" ref="1006"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">13</int> - <reference key="object" ref="555878343"/> - <reference key="parent" ref="506323760"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">14</int> - <reference key="object" ref="1066255572"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="910201563"/> - </object> - <reference key="parent" ref="1006"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">15</int> - <reference key="object" ref="910201563"/> - <reference key="parent" ref="1066255572"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">18</int> - <reference key="object" ref="834332784"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="454024475"/> - </object> - <reference key="parent" ref="1006"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">19</int> - <reference key="object" ref="454024475"/> - <reference key="parent" ref="834332784"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">20</int> - <reference key="object" ref="1001751188"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="220926093"/> - </object> - <reference key="parent" ref="1006"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">21</int> - <reference key="object" ref="220926093"/> - <reference key="parent" ref="1001751188"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">48</int> - <reference key="object" ref="645396128"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="776409024"/> - </object> - <reference key="parent" ref="1006"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">49</int> - <reference key="object" ref="776409024"/> - <reference key="parent" ref="645396128"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">58</int> - <reference key="object" ref="637803025"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="862965674"/> - </object> - <reference key="parent" ref="1006"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">59</int> - <reference key="object" ref="862965674"/> - <reference key="parent" ref="637803025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">66</int> - <reference key="object" ref="271427294"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="718717750"/> - </object> - <reference key="parent" ref="1006"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">67</int> - <reference key="object" ref="718717750"/> - <reference key="parent" ref="271427294"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">116</int> - <reference key="object" ref="652207274"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="748395329"/> - </object> - <reference key="parent" ref="1006"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">117</int> - <reference key="object" ref="748395329"/> - <reference key="parent" ref="652207274"/> - </object> - </object> - </object> - <object class="NSMutableDictionary" key="flattenedProperties"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMutableArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>-1.IBPluginDependency</string> - <string>-2.IBPluginDependency</string> - <string>-3.IBPluginDependency</string> - <string>1.IBEditorWindowLastContentRect</string> - <string>1.IBPluginDependency</string> - <string>1.IBViewEditorWindowController.showingBoundsRectangles</string> - <string>1.IBViewEditorWindowController.showingLayoutRectangles</string> - <string>1.IBWindowTemplateEditedContentRect</string> - <string>1.NSWindowTemplate.visibleAtLaunch</string> - <string>1.WindowOrigin</string> - <string>1.editorWindowContentRectSynchronizationRect</string> - <string>116.IBPluginDependency</string> - <string>117.IBPluginDependency</string> - <string>12.IBPluginDependency</string> - <string>13.IBPluginDependency</string> - <string>14.IBPluginDependency</string> - <string>15.IBPluginDependency</string> - <string>18.IBPluginDependency</string> - <string>19.IBPluginDependency</string> - <string>2.IBPluginDependency</string> - <string>2.IBUserGuides</string> - <string>20.IBPluginDependency</string> - <string>21.IBPluginDependency</string> - <string>3.IBPluginDependency</string> - <string>4.IBPluginDependency</string> - <string>48.IBPluginDependency</string> - <string>49.IBPluginDependency</string> - <string>58.IBPluginDependency</string> - <string>59.IBPluginDependency</string> - <string>6.IBPluginDependency</string> - <string>66.IBPluginDependency</string> - <string>67.IBPluginDependency</string> - <string>7.IBPluginDependency</string> - <string>8.IBPluginDependency</string> - <string>9.IBPluginDependency</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{641, 409}, {484, 353}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="0" id="6"/> - <reference ref="6"/> - <string>{{641, 409}, {484, 353}}</string> - <reference ref="6"/> - <string>{196, 240}</string> - <string>{{357, 418}, {480, 270}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <object class="NSMutableArray"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBUserGuide"> - <reference key="view" ref="1006"/> - <float key="location">1.120000e+02</float> - <int key="affinity">1</int> - </object> - </object> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - </object> - </object> - <object class="NSMutableDictionary" key="unlocalizedProperties"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <nil key="activeLocalization"/> - <object class="NSMutableDictionary" key="localizations"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <nil key="sourceID"/> - <int key="maxID">128</int> - </object> - <object class="IBClassDescriber" key="IBDocument.Classes"> - <object class="NSMutableArray" key="referencedPartialClassDescriptions"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBPartialClassDescription"> - <string key="className">Reporter</string> - <string key="superclassName">NSObject</string> - <object class="NSMutableDictionary" key="actions"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMutableArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>cancel:</string> - <string>sendReport:</string> - <string>showPrivacyPolicy:</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>id</string> - <string>id</string> - <string>id</string> - </object> - </object> - <object class="NSMutableDictionary" key="outlets"> - <string key="NS.key.0">alertWindow</string> - <string key="NS.object.0">NSWindow</string> - </object> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBProjectSource</string> - <string key="minorKey">sender/crash_report_sender.h</string> - </object> - </object> - </object> - </object> - <int key="IBDocument.localizationMode">0</int> - <string key="IBDocument.LastKnownRelativeProjectPath">../../Breakpad.xcodeproj</string> - <int key="IBDocument.defaultPropertyAccessControl">3</int> - </data> -</archive> diff --git a/src/client/mac/sender/ReporterIcon.graffle b/src/client/mac/sender/ReporterIcon.graffle index 62cee85a..14a0e7c4 100644 --- a/src/client/mac/sender/ReporterIcon.graffle +++ b/src/client/mac/sender/ReporterIcon.graffle @@ -65,7 +65,7 @@ <key>CreationDate</key> <string>2008-11-14 16:58:15 -0700</string> <key>Creator</key> - <string>Preston Jackson</string> + <string>John P. Developer</string> <key>DisplayScale</key> <string>1 pt = 1 px</string> <key>FileType</key> diff --git a/src/client/mac/sender/crash_report_sender-Info.plist b/src/client/mac/sender/crash_report_sender-Info.plist index 1ded1261..445926dd 100644 --- a/src/client/mac/sender/crash_report_sender-Info.plist +++ b/src/client/mac/sender/crash_report_sender-Info.plist @@ -6,6 +6,8 @@ <string>English</string> <key>CFBundleExecutable</key> <string>${EXECUTABLE_NAME}</string> + <key>CFBundleIconFile</key> + <string>crash_report_sender</string> <key>CFBundleIdentifier</key> <string>com.Breakpad.${PRODUCT_NAME:identifier}</string> <key>CFBundleInfoDictionaryVersion</key> diff --git a/src/client/mac/sender/ReporterIcon.icns b/src/client/mac/sender/crash_report_sender.icns Binary files differindex e8c21242..e8c21242 100644 --- a/src/client/mac/sender/ReporterIcon.icns +++ b/src/client/mac/sender/crash_report_sender.icns diff --git a/src/client/mac/testapp/Info.plist b/src/client/mac/testapp/Info.plist index 76d70f21..84755c5d 100644 --- a/src/client/mac/testapp/Info.plist +++ b/src/client/mac/testapp/Info.plist @@ -1,46 +1,48 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> - <key>CFBundleDevelopmentRegion</key> - <string>English</string> - <key>CFBundleExecutable</key> - <string>${EXECUTABLE_NAME}</string> - <key>CFBundleIconFile</key> - <string>bomb</string> - <key>CFBundleIdentifier</key> - <string>com.Google.BreakpadTest</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundleName</key> - <string>${PRODUCT_NAME}</string> - <key>CFBundlePackageType</key> - <string>APPL</string> - <key>CFBundleSignature</key> - <string>????</string> - <key>CFBundleVersion</key> - <string>1.0</string> - <key>NSMainNibFile</key> - <string>MainMenu</string> - <key>NSPrincipalClass</key> - <string>NSApplication</string> - <key>BreakpadProductDisplay</key> - <string>Google Breakpad Tester</string> - <key>BreakpadProduct</key> - <string>Breakpad_Tester</string> - <key>BreakpadVersion</key> - <string>1.2.3.4</string> - <key>BreakpadReportInterval</key> - <string>10</string> - <key>BreakpadSkipConfirm</key> - <string>NO</string> - <key>BreakpadSendAndExit</key> - <string>YES</string> - <key>BreakpadRequestComments</key> - <string>YES</string> - <key>BreakpadVendor</key> - <string>Foo Bar Corp, Incorporated, LTD, LLC</string> - <key>LSUIElement</key> - <string>1</string> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleExecutable</key> + <string>${EXECUTABLE_NAME}</string> + <key>CFBundleIconFile</key> + <string>bomb</string> + <key>CFBundleIdentifier</key> + <string>com.Google.BreakpadTest</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>${PRODUCT_NAME}</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>NSMainNibFile</key> + <string>MainMenu</string> + <key>NSPrincipalClass</key> + <string>NSApplication</string> + <key>BreakpadProductDisplay</key> + <string>Google Breakpad Tester</string> + <key>BreakpadProduct</key> + <string>Breakpad_Tester</string> + <key>BreakpadVersion</key> + <string>1.2.3.4</string> + <key>BreakpadReportInterval</key> + <string>10</string> + <key>BreakpadSkipConfirm</key> + <string>NO</string> + <key>BreakpadSendAndExit</key> + <string>YES</string> + <key>BreakpadRequestComments</key> + <string>YES</string> + <key>BreakpadVendor</key> + <string>Foo Bar Corp, Incorporated, LTD, LLC</string> + <key>BreakpadMinidumpLocation</key> + <string>Breakpad Test Application/Crash Dumps</string> + <key>LSUIElement</key> + <string>1</string> </dict> </plist> |