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

Side by Side Diff: chrome/browser/ui/webui/extensions/extension_settings_handler.cc

Issue 382133003: Refactored ExtensionUninstallDialog to take a NativeWindow instead of a Browser (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removed the BrowserFinder method, and kept the dialog unconstructed until it's shown Created 6 years, 5 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 (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 #include "chrome/browser/ui/webui/extensions/extension_settings_handler.h" 5 #include "chrome/browser/ui/webui/extensions/extension_settings_handler.h"
6 6
7 #include "apps/app_load_service.h" 7 #include "apps/app_load_service.h"
8 #include "apps/app_restore_service.h" 8 #include "apps/app_restore_service.h"
9 #include "apps/app_window.h" 9 #include "apps/app_window.h"
10 #include "apps/app_window_registry.h" 10 #include "apps/app_window_registry.h"
(...skipping 30 matching lines...) Expand all
41 #include "chrome/browser/extensions/extension_warning_set.h" 41 #include "chrome/browser/extensions/extension_warning_set.h"
42 #include "chrome/browser/extensions/install_verifier.h" 42 #include "chrome/browser/extensions/install_verifier.h"
43 #include "chrome/browser/extensions/path_util.h" 43 #include "chrome/browser/extensions/path_util.h"
44 #include "chrome/browser/extensions/shared_module_service.h" 44 #include "chrome/browser/extensions/shared_module_service.h"
45 #include "chrome/browser/extensions/updater/extension_updater.h" 45 #include "chrome/browser/extensions/updater/extension_updater.h"
46 #include "chrome/browser/platform_util.h" 46 #include "chrome/browser/platform_util.h"
47 #include "chrome/browser/profiles/profile.h" 47 #include "chrome/browser/profiles/profile.h"
48 #include "chrome/browser/supervised_user/supervised_user_service.h" 48 #include "chrome/browser/supervised_user/supervised_user_service.h"
49 #include "chrome/browser/supervised_user/supervised_user_service_factory.h" 49 #include "chrome/browser/supervised_user/supervised_user_service_factory.h"
50 #include "chrome/browser/tab_contents/background_contents.h" 50 #include "chrome/browser/tab_contents/background_contents.h"
51 #include "chrome/browser/ui/browser.h"
51 #include "chrome/browser/ui/browser_finder.h" 52 #include "chrome/browser/ui/browser_finder.h"
53 #include "chrome/browser/ui/browser_window.h"
52 #include "chrome/browser/ui/extensions/application_launch.h" 54 #include "chrome/browser/ui/extensions/application_launch.h"
53 #include "chrome/browser/ui/webui/extensions/extension_basic_info.h" 55 #include "chrome/browser/ui/webui/extensions/extension_basic_info.h"
54 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h" 56 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h"
55 #include "chrome/common/chrome_switches.h" 57 #include "chrome/common/chrome_switches.h"
56 #include "chrome/common/chrome_version_info.h" 58 #include "chrome/common/chrome_version_info.h"
57 #include "chrome/common/extensions/extension_constants.h" 59 #include "chrome/common/extensions/extension_constants.h"
58 #include "chrome/common/extensions/features/feature_channel.h" 60 #include "chrome/common/extensions/features/feature_channel.h"
59 #include "chrome/common/extensions/manifest_url_handler.h" 61 #include "chrome/common/extensions/manifest_url_handler.h"
60 #include "chrome/common/pref_names.h" 62 #include "chrome/common/pref_names.h"
61 #include "chrome/common/url_constants.h" 63 #include "chrome/common/url_constants.h"
(...skipping 1304 matching lines...) Expand 10 before | Expand all | Expand 10 after
1366 } 1368 }
1367 1369
1368 ExtensionUninstallDialog* 1370 ExtensionUninstallDialog*
1369 ExtensionSettingsHandler::GetExtensionUninstallDialog() { 1371 ExtensionSettingsHandler::GetExtensionUninstallDialog() {
1370 #if !defined(OS_ANDROID) 1372 #if !defined(OS_ANDROID)
1371 if (!extension_uninstall_dialog_.get()) { 1373 if (!extension_uninstall_dialog_.get()) {
1372 Browser* browser = chrome::FindBrowserWithWebContents( 1374 Browser* browser = chrome::FindBrowserWithWebContents(
1373 web_ui()->GetWebContents()); 1375 web_ui()->GetWebContents());
1374 extension_uninstall_dialog_.reset( 1376 extension_uninstall_dialog_.reset(
1375 ExtensionUninstallDialog::Create(extension_service_->profile(), 1377 ExtensionUninstallDialog::Create(extension_service_->profile(),
1376 browser, this)); 1378 browser->window()->GetNativeWindow(),
1379 this));
1377 } 1380 }
1378 return extension_uninstall_dialog_.get(); 1381 return extension_uninstall_dialog_.get();
1379 #else 1382 #else
1380 return NULL; 1383 return NULL;
1381 #endif // !defined(OS_ANDROID) 1384 #endif // !defined(OS_ANDROID)
1382 } 1385 }
1383 1386
1384 void ExtensionSettingsHandler::OnRequirementsChecked( 1387 void ExtensionSettingsHandler::OnRequirementsChecked(
1385 std::string extension_id, 1388 std::string extension_id,
1386 std::vector<std::string> requirement_errors) { 1389 std::vector<std::string> requirement_errors) {
1387 if (requirement_errors.empty()) { 1390 if (requirement_errors.empty()) {
1388 extension_service_->EnableExtension(extension_id); 1391 extension_service_->EnableExtension(extension_id);
1389 } else { 1392 } else {
1390 ExtensionErrorReporter::GetInstance()->ReportError( 1393 ExtensionErrorReporter::GetInstance()->ReportError(
1391 base::UTF8ToUTF16(JoinString(requirement_errors, ' ')), 1394 base::UTF8ToUTF16(JoinString(requirement_errors, ' ')),
1392 true); // Be noisy. 1395 true); // Be noisy.
1393 } 1396 }
1394 requirements_checker_.reset(); 1397 requirements_checker_.reset();
1395 } 1398 }
1396 1399
1397 } // namespace extensions 1400 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698