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

Side by Side Diff: chrome/browser/extensions/api/management/chrome_management_api_delegate.cc

Issue 1871713002: Convert //chrome/browser/extensions from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase and fix header Created 4 years, 8 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 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 #include "chrome/browser/extensions/api/management/chrome_management_api_delegat e.h" 5 #include "chrome/browser/extensions/api/management/chrome_management_api_delegat e.h"
6 6
7 #include "base/callback_helpers.h" 7 #include "base/callback_helpers.h"
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/memory/ptr_util.h"
9 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
10 #include "chrome/browser/extensions/bookmark_app_helper.h" 11 #include "chrome/browser/extensions/bookmark_app_helper.h"
11 #include "chrome/browser/extensions/chrome_extension_function_details.h" 12 #include "chrome/browser/extensions/chrome_extension_function_details.h"
12 #include "chrome/browser/extensions/chrome_requirements_checker.h" 13 #include "chrome/browser/extensions/chrome_requirements_checker.h"
13 #include "chrome/browser/extensions/extension_service.h" 14 #include "chrome/browser/extensions/extension_service.h"
14 #include "chrome/browser/extensions/extension_util.h" 15 #include "chrome/browser/extensions/extension_util.h"
15 #include "chrome/browser/extensions/launch_util.h" 16 #include "chrome/browser/extensions/launch_util.h"
16 #include "chrome/browser/favicon/favicon_service_factory.h" 17 #include "chrome/browser/favicon/favicon_service_factory.h"
17 #include "chrome/browser/profiles/profile.h" 18 #include "chrome/browser/profiles/profile.h"
18 #include "chrome/browser/ui/browser_dialogs.h" 19 #include "chrome/browser/ui/browser_dialogs.h"
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 callback_(callback), 54 callback_(callback),
54 weak_factory_(this) { 55 weak_factory_(this) {
55 ExtensionInstallPrompt::PromptType type = 56 ExtensionInstallPrompt::PromptType type =
56 ExtensionInstallPrompt::GetReEnablePromptTypeForExtension( 57 ExtensionInstallPrompt::GetReEnablePromptTypeForExtension(
57 browser_context, extension); 58 browser_context, extension);
58 install_prompt_->ShowDialog( 59 install_prompt_->ShowDialog(
59 base::Bind(&ManagementSetEnabledFunctionInstallPromptDelegate:: 60 base::Bind(&ManagementSetEnabledFunctionInstallPromptDelegate::
60 OnInstallPromptDone, 61 OnInstallPromptDone,
61 weak_factory_.GetWeakPtr()), 62 weak_factory_.GetWeakPtr()),
62 extension, nullptr, 63 extension, nullptr,
63 make_scoped_ptr(new ExtensionInstallPrompt::Prompt(type)), 64 base::WrapUnique(new ExtensionInstallPrompt::Prompt(type)),
64 ExtensionInstallPrompt::GetDefaultShowDialogCallback()); 65 ExtensionInstallPrompt::GetDefaultShowDialogCallback());
65 } 66 }
66 ~ManagementSetEnabledFunctionInstallPromptDelegate() override {} 67 ~ManagementSetEnabledFunctionInstallPromptDelegate() override {}
67 68
68 private: 69 private:
69 void OnInstallPromptDone(ExtensionInstallPrompt::Result result) { 70 void OnInstallPromptDone(ExtensionInstallPrompt::Result result) {
70 base::ResetAndReturn(&callback_).Run( 71 base::ResetAndReturn(&callback_).Run(
71 result == ExtensionInstallPrompt::Result::ACCEPTED); 72 result == ExtensionInstallPrompt::Result::ACCEPTED);
72 } 73 }
73 74
74 // Used for prompting to re-enable items with permissions escalation updates. 75 // Used for prompting to re-enable items with permissions escalation updates.
75 scoped_ptr<ExtensionInstallPrompt> install_prompt_; 76 std::unique_ptr<ExtensionInstallPrompt> install_prompt_;
76 77
77 base::Callback<void(bool)> callback_; 78 base::Callback<void(bool)> callback_;
78 79
79 base::WeakPtrFactory<ManagementSetEnabledFunctionInstallPromptDelegate> 80 base::WeakPtrFactory<ManagementSetEnabledFunctionInstallPromptDelegate>
80 weak_factory_; 81 weak_factory_;
81 82
82 DISALLOW_COPY_AND_ASSIGN(ManagementSetEnabledFunctionInstallPromptDelegate); 83 DISALLOW_COPY_AND_ASSIGN(ManagementSetEnabledFunctionInstallPromptDelegate);
83 }; 84 };
84 85
85 class ManagementUninstallFunctionUninstallDialogDelegate 86 class ManagementUninstallFunctionUninstallDialogDelegate
(...skipping 26 matching lines...) Expand all
112 ~ManagementUninstallFunctionUninstallDialogDelegate() override {} 113 ~ManagementUninstallFunctionUninstallDialogDelegate() override {}
113 114
114 // ExtensionUninstallDialog::Delegate implementation. 115 // ExtensionUninstallDialog::Delegate implementation.
115 void OnExtensionUninstallDialogClosed(bool did_start_uninstall, 116 void OnExtensionUninstallDialogClosed(bool did_start_uninstall,
116 const base::string16& error) override { 117 const base::string16& error) override {
117 function_->OnExtensionUninstallDialogClosed(did_start_uninstall, error); 118 function_->OnExtensionUninstallDialogClosed(did_start_uninstall, error);
118 } 119 }
119 120
120 private: 121 private:
121 extensions::ManagementUninstallFunctionBase* function_; 122 extensions::ManagementUninstallFunctionBase* function_;
122 scoped_ptr<extensions::ExtensionUninstallDialog> extension_uninstall_dialog_; 123 std::unique_ptr<extensions::ExtensionUninstallDialog>
124 extension_uninstall_dialog_;
123 125
124 DISALLOW_COPY_AND_ASSIGN(ManagementUninstallFunctionUninstallDialogDelegate); 126 DISALLOW_COPY_AND_ASSIGN(ManagementUninstallFunctionUninstallDialogDelegate);
125 }; 127 };
126 128
127 class ChromeAppForLinkDelegate : public extensions::AppForLinkDelegate { 129 class ChromeAppForLinkDelegate : public extensions::AppForLinkDelegate {
128 public: 130 public:
129 ChromeAppForLinkDelegate() {} 131 ChromeAppForLinkDelegate() {}
130 ~ChromeAppForLinkDelegate() override {} 132 ~ChromeAppForLinkDelegate() override {}
131 133
132 void OnFaviconForApp( 134 void OnFaviconForApp(
(...skipping 15 matching lines...) Expand all
148 } 150 }
149 151
150 bookmark_app_helper_.reset(new extensions::BookmarkAppHelper( 152 bookmark_app_helper_.reset(new extensions::BookmarkAppHelper(
151 Profile::FromBrowserContext(context), web_app, NULL)); 153 Profile::FromBrowserContext(context), web_app, NULL));
152 bookmark_app_helper_->Create( 154 bookmark_app_helper_->Create(
153 base::Bind(&extensions::ManagementGenerateAppForLinkFunction:: 155 base::Bind(&extensions::ManagementGenerateAppForLinkFunction::
154 FinishCreateBookmarkApp, 156 FinishCreateBookmarkApp,
155 function)); 157 function));
156 } 158 }
157 159
158 scoped_ptr<extensions::BookmarkAppHelper> bookmark_app_helper_; 160 std::unique_ptr<extensions::BookmarkAppHelper> bookmark_app_helper_;
159 161
160 // Used for favicon loading tasks. 162 // Used for favicon loading tasks.
161 base::CancelableTaskTracker cancelable_task_tracker_; 163 base::CancelableTaskTracker cancelable_task_tracker_;
162 }; 164 };
163 165
164 } // namespace 166 } // namespace
165 167
166 ChromeManagementAPIDelegate::ChromeManagementAPIDelegate() { 168 ChromeManagementAPIDelegate::ChromeManagementAPIDelegate() {
167 } 169 }
168 170
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 base::Bind( 208 base::Bind(
207 &extensions::ManagementGetPermissionWarningsByManifestFunction:: 209 &extensions::ManagementGetPermissionWarningsByManifestFunction::
208 OnParseSuccess, 210 OnParseSuccess,
209 function), 211 function),
210 base::Bind( 212 base::Bind(
211 &extensions::ManagementGetPermissionWarningsByManifestFunction:: 213 &extensions::ManagementGetPermissionWarningsByManifestFunction::
212 OnParseFailure, 214 OnParseFailure,
213 function)); 215 function));
214 } 216 }
215 217
216 scoped_ptr<extensions::InstallPromptDelegate> 218 std::unique_ptr<extensions::InstallPromptDelegate>
217 ChromeManagementAPIDelegate::SetEnabledFunctionDelegate( 219 ChromeManagementAPIDelegate::SetEnabledFunctionDelegate(
218 content::WebContents* web_contents, 220 content::WebContents* web_contents,
219 content::BrowserContext* browser_context, 221 content::BrowserContext* browser_context,
220 const extensions::Extension* extension, 222 const extensions::Extension* extension,
221 const base::Callback<void(bool)>& callback) const { 223 const base::Callback<void(bool)>& callback) const {
222 return scoped_ptr<ManagementSetEnabledFunctionInstallPromptDelegate>( 224 return std::unique_ptr<ManagementSetEnabledFunctionInstallPromptDelegate>(
223 new ManagementSetEnabledFunctionInstallPromptDelegate( 225 new ManagementSetEnabledFunctionInstallPromptDelegate(
224 web_contents, browser_context, extension, callback)); 226 web_contents, browser_context, extension, callback));
225 } 227 }
226 228
227 scoped_ptr<extensions::RequirementsChecker> 229 std::unique_ptr<extensions::RequirementsChecker>
228 ChromeManagementAPIDelegate::CreateRequirementsChecker() const { 230 ChromeManagementAPIDelegate::CreateRequirementsChecker() const {
229 return make_scoped_ptr(new extensions::ChromeRequirementsChecker()); 231 return base::WrapUnique(new extensions::ChromeRequirementsChecker());
230 } 232 }
231 233
232 scoped_ptr<extensions::UninstallDialogDelegate> 234 std::unique_ptr<extensions::UninstallDialogDelegate>
233 ChromeManagementAPIDelegate::UninstallFunctionDelegate( 235 ChromeManagementAPIDelegate::UninstallFunctionDelegate(
234 extensions::ManagementUninstallFunctionBase* function, 236 extensions::ManagementUninstallFunctionBase* function,
235 const extensions::Extension* target_extension, 237 const extensions::Extension* target_extension,
236 bool show_programmatic_uninstall_ui) const { 238 bool show_programmatic_uninstall_ui) const {
237 return scoped_ptr<extensions::UninstallDialogDelegate>( 239 return std::unique_ptr<extensions::UninstallDialogDelegate>(
238 new ManagementUninstallFunctionUninstallDialogDelegate( 240 new ManagementUninstallFunctionUninstallDialogDelegate(
239 function, target_extension, show_programmatic_uninstall_ui)); 241 function, target_extension, show_programmatic_uninstall_ui));
240 } 242 }
241 243
242 bool ChromeManagementAPIDelegate::CreateAppShortcutFunctionDelegate( 244 bool ChromeManagementAPIDelegate::CreateAppShortcutFunctionDelegate(
243 extensions::ManagementCreateAppShortcutFunction* function, 245 extensions::ManagementCreateAppShortcutFunction* function,
244 const extensions::Extension* extension) const { 246 const extensions::Extension* extension) const {
245 Browser* browser = chrome::FindBrowserWithProfile( 247 Browser* browser = chrome::FindBrowserWithProfile(
246 Profile::FromBrowserContext(function->browser_context())); 248 Profile::FromBrowserContext(function->browser_context()));
247 if (!browser) { 249 if (!browser) {
248 // Shouldn't happen if we have user gesture. 250 // Shouldn't happen if we have user gesture.
249 function->SetError( 251 function->SetError(
250 extension_management_api_constants::kNoBrowserToCreateShortcut); 252 extension_management_api_constants::kNoBrowserToCreateShortcut);
251 return false; 253 return false;
252 } 254 }
253 255
254 chrome::ShowCreateChromeAppShortcutsDialog( 256 chrome::ShowCreateChromeAppShortcutsDialog(
255 browser->window()->GetNativeWindow(), browser->profile(), extension, 257 browser->window()->GetNativeWindow(), browser->profile(), extension,
256 base::Bind(&extensions::ManagementCreateAppShortcutFunction:: 258 base::Bind(&extensions::ManagementCreateAppShortcutFunction::
257 OnCloseShortcutPrompt, 259 OnCloseShortcutPrompt,
258 function)); 260 function));
259 261
260 return true; 262 return true;
261 } 263 }
262 264
263 scoped_ptr<extensions::AppForLinkDelegate> 265 std::unique_ptr<extensions::AppForLinkDelegate>
264 ChromeManagementAPIDelegate::GenerateAppForLinkFunctionDelegate( 266 ChromeManagementAPIDelegate::GenerateAppForLinkFunctionDelegate(
265 extensions::ManagementGenerateAppForLinkFunction* function, 267 extensions::ManagementGenerateAppForLinkFunction* function,
266 content::BrowserContext* context, 268 content::BrowserContext* context,
267 const std::string& title, 269 const std::string& title,
268 const GURL& launch_url) const { 270 const GURL& launch_url) const {
269 favicon::FaviconService* favicon_service = 271 favicon::FaviconService* favicon_service =
270 FaviconServiceFactory::GetForProfile(Profile::FromBrowserContext(context), 272 FaviconServiceFactory::GetForProfile(Profile::FromBrowserContext(context),
271 ServiceAccessType::EXPLICIT_ACCESS); 273 ServiceAccessType::EXPLICIT_ACCESS);
272 DCHECK(favicon_service); 274 DCHECK(favicon_service);
273 275
274 ChromeAppForLinkDelegate* delegate = new ChromeAppForLinkDelegate; 276 ChromeAppForLinkDelegate* delegate = new ChromeAppForLinkDelegate;
275 277
276 favicon_service->GetFaviconImageForPageURL( 278 favicon_service->GetFaviconImageForPageURL(
277 launch_url, 279 launch_url,
278 base::Bind(&ChromeAppForLinkDelegate::OnFaviconForApp, 280 base::Bind(&ChromeAppForLinkDelegate::OnFaviconForApp,
279 base::Unretained(delegate), base::RetainedRef(function), 281 base::Unretained(delegate), base::RetainedRef(function),
280 context, title, launch_url), 282 context, title, launch_url),
281 &delegate->cancelable_task_tracker_); 283 &delegate->cancelable_task_tracker_);
282 284
283 return scoped_ptr<extensions::AppForLinkDelegate>(delegate); 285 return std::unique_ptr<extensions::AppForLinkDelegate>(delegate);
284 } 286 }
285 287
286 bool ChromeManagementAPIDelegate::CanHostedAppsOpenInWindows() const { 288 bool ChromeManagementAPIDelegate::CanHostedAppsOpenInWindows() const {
287 return extensions::util::CanHostedAppsOpenInWindows(); 289 return extensions::util::CanHostedAppsOpenInWindows();
288 } 290 }
289 291
290 bool ChromeManagementAPIDelegate::IsNewBookmarkAppsEnabled() const { 292 bool ChromeManagementAPIDelegate::IsNewBookmarkAppsEnabled() const {
291 return extensions::util::IsNewBookmarkAppsEnabled(); 293 return extensions::util::IsNewBookmarkAppsEnabled();
292 } 294 }
293 295
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 331
330 GURL ChromeManagementAPIDelegate::GetIconURL( 332 GURL ChromeManagementAPIDelegate::GetIconURL(
331 const extensions::Extension* extension, 333 const extensions::Extension* extension,
332 int icon_size, 334 int icon_size,
333 ExtensionIconSet::MatchType match, 335 ExtensionIconSet::MatchType match,
334 bool grayscale, 336 bool grayscale,
335 bool* exists) const { 337 bool* exists) const {
336 return extensions::ExtensionIconSource::GetIconURL(extension, icon_size, 338 return extensions::ExtensionIconSource::GetIconURL(extension, icon_size,
337 match, grayscale, exists); 339 match, grayscale, exists);
338 } 340 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698