summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/first_run_dialog.h
diff options
context:
space:
mode:
authorjeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-21 21:49:05 +0000
committerjeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-21 21:49:05 +0000
commit1d8e4ce0743eed37a143d99e568c28abbe3202f1 (patch)
treece8c850b2fa6d8a87f419255c368817c02f23a4f /chrome/browser/cocoa/first_run_dialog.h
parentf59a9c06d5cc9b7e0faace2b76582d3a12c3ec6c (diff)
downloadchromium_src-1d8e4ce0743eed37a143d99e568c28abbe3202f1.zip
chromium_src-1d8e4ce0743eed37a143d99e568c28abbe3202f1.tar.gz
chromium_src-1d8e4ce0743eed37a143d99e568c28abbe3202f1.tar.bz2
Implement temporary First Run Dialog on OS X
We use a modal dialog with a single checkbox on OS X. We use the OSX defaults system since we want something quick and reliable. The dialog is displayed at a very early stage in Chrome startup (Before any subsystems start relying on the stats variable). This means there are a few quirks in displaying the UI. A change was also needed to our event handling code since when the dialog is shown we spin an event loop at a very early stage in the process lifetime. Changed default value for stats to false and updated unit tests to reflect that. Also some misc. minor cleanup. BUG=11971,12046 Review URL: http://codereview.chromium.org/115608 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16669 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa/first_run_dialog.h')
-rw-r--r--chrome/browser/cocoa/first_run_dialog.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/chrome/browser/cocoa/first_run_dialog.h b/chrome/browser/cocoa/first_run_dialog.h
new file mode 100644
index 0000000..6d0f53a
--- /dev/null
+++ b/chrome/browser/cocoa/first_run_dialog.h
@@ -0,0 +1,34 @@
+// Copyright (c) 2009 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_FIRST_RUN_DIALOG_H_
+#define CHROME_BROWSER_FIRST_RUN_DIALOG_H_
+
+#import <Cocoa/Cocoa.h>
+
+// Class that acts as a controller for the temporary Modal first run dialog.
+// The dialog asks the user's explicit permission for reporting stats to help
+// us improve Chromium.
+// This code is temporary and while we'd like to avoid modal dialogs at all
+// costs, it's important to us, even at this early stage in development to
+// to not send any stats back unless the user has explicitly consented.
+// TODO: In the final version of this code, if we keep this class around, we
+// should probably subclass from NSWindowController.
+@interface FirstRunDialogController : NSObject {
+ IBOutlet NSWindow* first_run_dialog_;
+ bool stats_enabled_;
+}
+
+// One shot method to show the dialog and return the value of the stats
+// enabled/disabled checkbox.
+// returns:
+// true - stats enabled.
+// flase - stats disabled.
+- (bool)Show;
+
+// Called when the OK button is pressed.
+- (IBAction)CloseDialog:(id)sender;
+@end
+
+#endif // CHROME_BROWSER_FIRST_RUN_DIALOG_H_