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

Side by Side Diff: chrome/browser/ui/views/first_run_dialog.h

Issue 192743007: Use the default dispatcher where possible for nested message loops. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Revert change in SimpleMessageBoxViews. Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_UI_VIEWS_FIRST_RUN_DIALOG_H_ 5 #ifndef CHROME_BROWSER_UI_VIEWS_FIRST_RUN_DIALOG_H_
6 #define CHROME_BROWSER_UI_VIEWS_FIRST_RUN_DIALOG_H_ 6 #define CHROME_BROWSER_UI_VIEWS_FIRST_RUN_DIALOG_H_
7 7
8 #include "base/message_loop/message_pump_dispatcher.h"
9 #include "ui/views/controls/link_listener.h" 8 #include "ui/views/controls/link_listener.h"
10 #include "ui/views/window/dialog_delegate.h" 9 #include "ui/views/window/dialog_delegate.h"
11 10
12 class Profile; 11 class Profile;
13 12
14 namespace views { 13 namespace views {
15 class Checkbox; 14 class Checkbox;
16 class Link; 15 class Link;
17 } 16 }
18 17
19 class FirstRunDialog : public views::DialogDelegateView, 18 class FirstRunDialog : public views::DialogDelegateView,
20 public views::LinkListener, 19 public views::LinkListener {
21 public base::MessagePumpDispatcher {
22 public: 20 public:
23 // Displays the first run UI for reporting opt-in, import data etc. 21 // Displays the first run UI for reporting opt-in, import data etc.
24 // Returns true if the dialog was shown. 22 // Returns true if the dialog was shown.
25 static bool Show(Profile* profile); 23 static bool Show(Profile* profile);
26 24
27 private: 25 private:
28 explicit FirstRunDialog(Profile* profile); 26 explicit FirstRunDialog(Profile* profile);
29 virtual ~FirstRunDialog(); 27 virtual ~FirstRunDialog();
30 28
29 // This terminates the nested message-loop.
30 void Done();
31
31 // views::DialogDelegate: 32 // views::DialogDelegate:
32 virtual views::View* CreateExtraView() OVERRIDE; 33 virtual views::View* CreateExtraView() OVERRIDE;
33 virtual void OnClosed() OVERRIDE; 34 virtual void OnClosed() OVERRIDE;
34 virtual bool Accept() OVERRIDE; 35 virtual bool Accept() OVERRIDE;
35 virtual int GetDialogButtons() const OVERRIDE; 36 virtual int GetDialogButtons() const OVERRIDE;
36 37
37 // views::LinkListener: 38 // views::LinkListener:
38 virtual void LinkClicked(views::Link* source, int event_flags) OVERRIDE; 39 virtual void LinkClicked(views::Link* source, int event_flags) OVERRIDE;
39 40
40 // Overridden from MessagePumpDispatcher:
41 virtual uint32_t Dispatch(const base::NativeEvent& event) OVERRIDE;
42
43 Profile* profile_; 41 Profile* profile_;
44 views::Checkbox* make_default_; 42 views::Checkbox* make_default_;
45 views::Checkbox* report_crashes_; 43 views::Checkbox* report_crashes_;
46 44
47 // Set to false as soon as the user clicks a dialog button; this tells the 45 DISALLOW_COPY_AND_ASSIGN(FirstRunDialog);
48 // dispatcher we're done.
49 bool should_show_dialog_;
50 }; 46 };
51 47
52 #endif // CHROME_BROWSER_UI_VIEWS_FIRST_RUN_DIALOG_H_ 48 #endif // CHROME_BROWSER_UI_VIEWS_FIRST_RUN_DIALOG_H_
OLDNEW
« no previous file with comments | « ash/accelerators/nested_dispatcher_controller.cc ('k') | chrome/browser/ui/views/first_run_dialog.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698