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

Side by Side Diff: chrome/browser/ui/cocoa/extensions/extension_install_dialog_controller.h

Issue 1534123002: [Extensions] Migrate ExtensionInstallPrompt::Delegate to be a callback (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_COCOA_EXTENSIONS_EXTENSION_INSTALL_DIALOG_CONTROLER_H_ 5 #ifndef CHROME_BROWSER_UI_COCOA_EXTENSIONS_EXTENSION_INSTALL_DIALOG_CONTROLER_H_
6 #define CHROME_BROWSER_UI_COCOA_EXTENSIONS_EXTENSION_INSTALL_DIALOG_CONTROLER_H_ 6 #define CHROME_BROWSER_UI_COCOA_EXTENSIONS_EXTENSION_INSTALL_DIALOG_CONTROLER_H_
7 7
8 #import <Cocoa/Cocoa.h> 8 #import <Cocoa/Cocoa.h>
9 9
10 #include "base/mac/scoped_nsobject.h" 10 #include "base/mac/scoped_nsobject.h"
11 #include "base/macros.h" 11 #include "base/macros.h"
12 #include "chrome/browser/extensions/extension_install_prompt.h" 12 #include "chrome/browser/extensions/extension_install_prompt.h"
13 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h" 13 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h"
14 #import "chrome/browser/ui/cocoa/extensions/extension_install_view_controller.h"
14 15
15 namespace content { 16 namespace content {
16 class PageNavigator; 17 class PageNavigator;
17 class WebContents; 18 class WebContents;
18 } 19 }
19 20
20 namespace extensions { 21 namespace extensions {
21 class ExperienceSamplingEvent; 22 class ExperienceSamplingEvent;
22 } 23 }
23 24
24 class ExtensionInstallPromptShowParams; 25 class ExtensionInstallPromptShowParams;
25 @class ExtensionInstallViewController; 26 @class ExtensionInstallViewController;
26 27
27 // Displays an extension install prompt as a tab modal dialog. 28 // Displays an extension install prompt as a tab modal dialog.
28 class ExtensionInstallDialogController : 29 class ExtensionInstallDialogController :
29 public ExtensionInstallPrompt::Delegate, 30 public ExtensionInstallViewDelegate,
30 public ConstrainedWindowMacDelegate { 31 public ConstrainedWindowMacDelegate {
31 public: 32 public:
32 ExtensionInstallDialogController( 33 ExtensionInstallDialogController(
33 ExtensionInstallPromptShowParams* show_params, 34 ExtensionInstallPromptShowParams* show_params,
34 ExtensionInstallPrompt::Delegate* delegate, 35 const ExtensionInstallPrompt::DoneCallback& done_callback,
35 scoped_ptr<ExtensionInstallPrompt::Prompt> prompt); 36 scoped_ptr<ExtensionInstallPrompt::Prompt> prompt);
36 ~ExtensionInstallDialogController() override; 37 ~ExtensionInstallDialogController() override;
37 38
38 // ExtensionInstallPrompt::Delegate implementation. 39 // ExtensionInstallViewDelegate implementation.
39 void InstallUIProceed() override; 40 void OnOkButtonClicked() override;
40 void InstallUIAbort(bool user_initiated) override; 41 void OnCancelButtonClicked() override;
42 void OnStoreLinkClicked() override;
41 43
42 // ConstrainedWindowMacDelegate implementation. 44 // ConstrainedWindowMacDelegate implementation.
43 void OnConstrainedWindowClosed(ConstrainedWindowMac* window) override; 45 void OnConstrainedWindowClosed(ConstrainedWindowMac* window) override;
44 46
45 ConstrainedWindowMac* constrained_window() const { 47 ConstrainedWindowMac* constrained_window() const {
46 return constrained_window_.get(); 48 return constrained_window_.get();
47 } 49 }
48 ExtensionInstallViewController* view_controller() const { 50 ExtensionInstallViewController* view_controller() const {
49 return view_controller_; 51 return view_controller_;
50 } 52 }
51 53
52 private: 54 private:
53 ExtensionInstallPrompt::Delegate* delegate_; 55 void OnPromptButtonClicked(ExtensionInstallPrompt::Result result,
56 const char* decision_event);
57
58 ExtensionInstallPrompt::DoneCallback done_callback_;
54 base::scoped_nsobject<ExtensionInstallViewController> view_controller_; 59 base::scoped_nsobject<ExtensionInstallViewController> view_controller_;
55 scoped_ptr<ConstrainedWindowMac> constrained_window_; 60 scoped_ptr<ConstrainedWindowMac> constrained_window_;
56 scoped_ptr<extensions::ExperienceSamplingEvent> sampling_event_; 61 scoped_ptr<extensions::ExperienceSamplingEvent> sampling_event_;
57 62
58 DISALLOW_COPY_AND_ASSIGN(ExtensionInstallDialogController); 63 DISALLOW_COPY_AND_ASSIGN(ExtensionInstallDialogController);
59 }; 64 };
60 65
61 #endif // CHROME_BROWSER_UI_COCOA_EXTENSIONS_EXTENSION_INSTALL_DIALOG_CONTROLLE R_H_ 66 #endif // CHROME_BROWSER_UI_COCOA_EXTENSIONS_EXTENSION_INSTALL_DIALOG_CONTROLLE R_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698