From 68517aaff07d63bd4213755f77ae75225ec94e43 Mon Sep 17 00:00:00 2001 From: "ted.mielczarek@gmail.com" Date: Mon, 7 Apr 2008 14:18:06 -0700 Subject: [PATCH] bug 424960 - only enable crash reporting for X% of release builds. r=bsmedberg (blocking 1.9) --- configure.in | 11 +++++ .../crashreporter/client/crashreporter.cpp | 7 +++ toolkit/crashreporter/client/crashreporter.h | 1 + .../client/crashreporter_linux.cpp | 11 +++-- .../crashreporter/client/crashreporter_osx.mm | 18 +++++++ .../client/crashreporter_win.cpp | 45 +++++++++--------- .../English.lproj/MainMenu.nib/info.nib | 4 +- .../MainMenu.nib/keyedobjects.nib | Bin 27214 -> 27027 bytes 8 files changed, 68 insertions(+), 29 deletions(-) diff --git a/configure.in b/configure.in index 028791386ac2..42e94cfcc733 100644 --- a/configure.in +++ b/configure.in @@ -5387,6 +5387,17 @@ if test -n "$MOZ_CRASHREPORTER"; then fi fi +MOZ_ARG_WITH_STRING(crashreporter-enable-percent, +[ --with-crashreporter-enable-percent=NN Enable sending crash reports by default on NN% of users. (default=100)], +[ val=`echo $withval | sed 's/[^0-9]//g'` + MOZ_CRASHREPORTER_ENABLE_PERCENT="$val"]) + +if test -z "$MOZ_CRASHREPORTER_ENABLE_PERCENT"; then + MOZ_CRASHREPORTER_ENABLE_PERCENT=100 +fi +AC_DEFINE_UNQUOTED(MOZ_CRASHREPORTER_ENABLE_PERCENT, $MOZ_CRASHREPORTER_ENABLE_PERCENT) + + dnl ======================================================== dnl = Build mochitest JS/DOM tests (on by default) dnl ======================================================== diff --git a/toolkit/crashreporter/client/crashreporter.cpp b/toolkit/crashreporter/client/crashreporter.cpp index d6e813d08010..387bc1d52547 100644 --- a/toolkit/crashreporter/client/crashreporter.cpp +++ b/toolkit/crashreporter/client/crashreporter.cpp @@ -48,6 +48,7 @@ #include #include #include +#include #include using std::string; @@ -365,6 +366,12 @@ bool SendCompleted(bool success, const string& serverResponse) return true; } +bool ShouldEnableSending() +{ + srand(time(0)); + return ((rand() % 100) < MOZ_CRASHREPORTER_ENABLE_PERCENT); +} + } // namespace CrashReporter using namespace CrashReporter; diff --git a/toolkit/crashreporter/client/crashreporter.h b/toolkit/crashreporter/client/crashreporter.h index bd2e89d96729..c3a436dad427 100644 --- a/toolkit/crashreporter/client/crashreporter.h +++ b/toolkit/crashreporter/client/crashreporter.h @@ -102,6 +102,7 @@ namespace CrashReporter { bool escape); void LogMessage(const std::string& message); void DeleteDump(); + bool ShouldEnableSending(); } //============================================================================= diff --git a/toolkit/crashreporter/client/crashreporter_linux.cpp b/toolkit/crashreporter/client/crashreporter_linux.cpp index 5e74ff1b8833..21d5261cbf96 100644 --- a/toolkit/crashreporter/client/crashreporter_linux.cpp +++ b/toolkit/crashreporter/client/crashreporter_linux.cpp @@ -110,10 +110,13 @@ static void LoadSettings() gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gIncludeURLCheck), settings["IncludeURL"][0] != '0'); } - if (settings.find("SubmitReport") != settings.end()) { - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gSubmitReportCheck), - settings["SubmitReport"][0] != '0'); - } + bool enabled; + if (settings.find("SubmitReport") != settings.end()) + enabled = settings["SubmitReport"][0] != '0'; + else + enabled = ShouldEnableSending(); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gSubmitReportCheck), + enabled); } } diff --git a/toolkit/crashreporter/client/crashreporter_osx.mm b/toolkit/crashreporter/client/crashreporter_osx.mm index 59196d408a8b..014c2bb8a659 100644 --- a/toolkit/crashreporter/client/crashreporter_osx.mm +++ b/toolkit/crashreporter/client/crashreporter_osx.mm @@ -159,6 +159,21 @@ static bool RestartApplication() // resize some buttons horizontally and possibly some controls vertically [self doInitialResizing]; + // load default state of submit checkbox + // we don't just do this via IB because we want the default to be + // off a certain percentage of the time + BOOL submitChecked = NO; + NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults]; + if (nil != [userDefaults objectForKey:@"submitReport"]) { + submitChecked = [userDefaults boolForKey:@"submitReport"]; + } + else { + // use compile-time specified enable percentage + submitChecked = ShouldEnableSending(); + [userDefaults setBool:submitChecked forKey:@"submitReport"]; + } + [mSubmitReportButton setState:(submitChecked ? NSOnState : NSOffState)]; + [self updateSubmit]; [self updateURL]; [self updateEmail]; @@ -244,6 +259,9 @@ static bool RestartApplication() -(IBAction)submitReportClicked:(id)sender { [self updateSubmit]; + NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults]; + [userDefaults setBool:[mSubmitReportButton state] == NSOnState + forKey:@"submitReport"]; } -(IBAction)viewReportClicked:(id)sender diff --git a/toolkit/crashreporter/client/crashreporter_win.cpp b/toolkit/crashreporter/client/crashreporter_win.cpp index ed336020afa0..f92ae26aeb90 100644 --- a/toolkit/crashreporter/client/crashreporter_win.cpp +++ b/toolkit/crashreporter/client/crashreporter_win.cpp @@ -539,7 +539,8 @@ static void UpdateEmail(HWND hwndDlg) wchar_t email[MAX_EMAIL_LENGTH]; GetDlgItemText(hwndDlg, IDC_EMAILTEXT, email, sizeof(email)); gQueryParameters[L"Email"] = email; - EnableWindow(GetDlgItem(hwndDlg, IDC_EMAILTEXT), true); + if (IsDlgButtonChecked(hwndDlg, IDC_SUBMITREPORTCHECK)) + EnableWindow(GetDlgItem(hwndDlg, IDC_EMAILTEXT), true); } else { gQueryParameters.erase(L"Email"); EnableWindow(GetDlgItem(hwndDlg, IDC_EMAILTEXT), false); @@ -781,6 +782,19 @@ static void StretchControlsToFit(HWND hwndDlg) } } +static void SubmitReportChecked(HWND hwndDlg) +{ + bool enabled = (IsDlgButtonChecked(hwndDlg, IDC_SUBMITREPORTCHECK) != 0); + EnableWindow(GetDlgItem(hwndDlg, IDC_VIEWREPORTBUTTON), enabled); + EnableWindow(GetDlgItem(hwndDlg, IDC_COMMENTTEXT), enabled); + EnableWindow(GetDlgItem(hwndDlg, IDC_INCLUDEURLCHECK), enabled); + EnableWindow(GetDlgItem(hwndDlg, IDC_EMAILMECHECK), enabled); + EnableWindow(GetDlgItem(hwndDlg, IDC_EMAILTEXT), + enabled && (IsDlgButtonChecked(hwndDlg, IDC_EMAILMECHECK) + != 0)); + SetDlgItemVisible(hwndDlg, IDC_PROGRESSTEXT, enabled); +} + static BOOL CALLBACK CrashReporterDialogProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam) { @@ -816,20 +830,13 @@ static BOOL CALLBACK CrashReporterDialogProc(HWND hwndDlg, UINT message, SetDlgItemText(hwndDlg, IDC_SUBMITREPORTCHECK, Str(ST_CHECKSUBMIT).c_str()); - if (CheckBoolKey(gCrashReporterKey.c_str(), - SUBMIT_REPORT_VALUE, &enabled) && - !enabled) { - CheckDlgButton(hwndDlg, IDC_SUBMITREPORTCHECK, BST_UNCHECKED); - EnableWindow(GetDlgItem(hwndDlg, IDC_VIEWREPORTBUTTON), enabled); - EnableWindow(GetDlgItem(hwndDlg, IDC_COMMENTTEXT), enabled); - EnableWindow(GetDlgItem(hwndDlg, IDC_INCLUDEURLCHECK), enabled); - EnableWindow(GetDlgItem(hwndDlg, IDC_EMAILMECHECK), enabled); - EnableWindow(GetDlgItem(hwndDlg, IDC_EMAILTEXT), enabled); - SetDlgItemVisible(hwndDlg, IDC_PROGRESSTEXT, enabled); - } else { - CheckDlgButton(hwndDlg, IDC_SUBMITREPORTCHECK, BST_CHECKED); - } + if (!CheckBoolKey(gCrashReporterKey.c_str(), + SUBMIT_REPORT_VALUE, &enabled)) + enabled = ShouldEnableSending(); + CheckDlgButton(hwndDlg, IDC_SUBMITREPORTCHECK, enabled ? BST_CHECKED + : BST_UNCHECKED); + SubmitReportChecked(hwndDlg); HWND hwndComment = GetDlgItem(hwndDlg, IDC_COMMENTTEXT); WNDPROC OldWndProc = (WNDPROC)SetWindowLongPtr(hwndComment, @@ -1040,15 +1047,7 @@ static BOOL CALLBACK CrashReporterDialogProc(HWND hwndDlg, UINT message, (DLGPROC)ViewReportDialogProc, 0); break; case IDC_SUBMITREPORTCHECK: - enabled = (IsDlgButtonChecked(hwndDlg, IDC_SUBMITREPORTCHECK) != 0); - EnableWindow(GetDlgItem(hwndDlg, IDC_VIEWREPORTBUTTON), enabled); - EnableWindow(GetDlgItem(hwndDlg, IDC_COMMENTTEXT), enabled); - EnableWindow(GetDlgItem(hwndDlg, IDC_INCLUDEURLCHECK), enabled); - EnableWindow(GetDlgItem(hwndDlg, IDC_EMAILMECHECK), enabled); - EnableWindow(GetDlgItem(hwndDlg, IDC_EMAILTEXT), - enabled && (IsDlgButtonChecked(hwndDlg, IDC_EMAILMECHECK) - != 0)); - SetDlgItemVisible(hwndDlg, IDC_PROGRESSTEXT, enabled); + SubmitReportChecked(hwndDlg); break; case IDC_INCLUDEURLCHECK: UpdateURL(hwndDlg); diff --git a/toolkit/crashreporter/client/macbuild/Contents/Resources/English.lproj/MainMenu.nib/info.nib b/toolkit/crashreporter/client/macbuild/Contents/Resources/English.lproj/MainMenu.nib/info.nib index 4e55482a53b1..517349ffceba 100644 --- a/toolkit/crashreporter/client/macbuild/Contents/Resources/English.lproj/MainMenu.nib/info.nib +++ b/toolkit/crashreporter/client/macbuild/Contents/Resources/English.lproj/MainMenu.nib/info.nib @@ -8,10 +8,10 @@ 5 IBOpenObjects - 21 + 2 IBSystem Version - 9B18 + 9C7010 targetFramework IBCocoaFramework diff --git a/toolkit/crashreporter/client/macbuild/Contents/Resources/English.lproj/MainMenu.nib/keyedobjects.nib b/toolkit/crashreporter/client/macbuild/Contents/Resources/English.lproj/MainMenu.nib/keyedobjects.nib index 7d3709ec9ceec75dc38fb8785079e0edb2ca1411..d390a16cd8afc6c7054d4dc7dbad131c8cf1424b 100644 GIT binary patch literal 27027 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 literal 27214 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