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

Side by Side Diff: chrome/browser/chromeos/chrome_browser_main_chromeos.cc

Issue 2858113003: Enable device-wide EAP-TLS networks (Closed)
Patch Set: initial_load only true on initial load, added tests, fixed comments. Created 3 years, 7 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/chromeos/chrome_browser_main_chromeos.h" 5 #include "chrome/browser/chromeos/chrome_browser_main_chromeos.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 #include "components/user_manager/user.h" 138 #include "components/user_manager/user.h"
139 #include "components/user_manager/user_manager.h" 139 #include "components/user_manager/user_manager.h"
140 #include "components/user_manager/user_names.h" 140 #include "components/user_manager/user_names.h"
141 #include "components/version_info/version_info.h" 141 #include "components/version_info/version_info.h"
142 #include "components/wallpaper/wallpaper_manager_base.h" 142 #include "components/wallpaper/wallpaper_manager_base.h"
143 #include "content/public/browser/browser_thread.h" 143 #include "content/public/browser/browser_thread.h"
144 #include "content/public/browser/media_capture_devices.h" 144 #include "content/public/browser/media_capture_devices.h"
145 #include "content/public/browser/notification_service.h" 145 #include "content/public/browser/notification_service.h"
146 #include "content/public/common/content_switches.h" 146 #include "content/public/common/content_switches.h"
147 #include "content/public/common/main_function_params.h" 147 #include "content/public/common/main_function_params.h"
148 #include "crypto/nss_util_internal.h"
148 #include "dbus/object_path.h" 149 #include "dbus/object_path.h"
149 #include "device/bluetooth/bluetooth_adapter_factory.h" 150 #include "device/bluetooth/bluetooth_adapter_factory.h"
150 #include "device/bluetooth/dbus/bluez_dbus_manager.h" 151 #include "device/bluetooth/dbus/bluez_dbus_manager.h"
151 #include "media/audio/sounds/sounds_manager.h" 152 #include "media/audio/sounds/sounds_manager.h"
152 #include "net/base/network_change_notifier.h" 153 #include "net/base/network_change_notifier.h"
153 #include "net/url_request/url_request.h" 154 #include "net/url_request/url_request.h"
154 #include "net/url_request/url_request_context_getter.h" 155 #include "net/url_request/url_request_context_getter.h"
155 #include "printing/backend/print_backend.h" 156 #include "printing/backend/print_backend.h"
156 #include "rlz/features/features.h" 157 #include "rlz/features/features.h"
157 #include "third_party/cros_system_api/dbus/service_constants.h" 158 #include "third_party/cros_system_api/dbus/service_constants.h"
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 ::switches::kTestType)) { 198 ::switches::kTestType)) {
198 network_portal_detector::SetNetworkPortalDetector( 199 network_portal_detector::SetNetworkPortalDetector(
199 new NetworkPortalDetectorStub()); 200 new NetworkPortalDetectorStub());
200 } else { 201 } else {
201 network_portal_detector::SetNetworkPortalDetector( 202 network_portal_detector::SetNetworkPortalDetector(
202 new NetworkPortalDetectorImpl( 203 new NetworkPortalDetectorImpl(
203 g_browser_process->system_request_context(), true)); 204 g_browser_process->system_request_context(), true));
204 } 205 }
205 } 206 }
206 207
208 void StartCertLoaderWithSystemNSSDB(net::NSSCertDatabase* system_nss_cert_db) {
209 CertLoader::Get()->StartWithSystemNSSDB(system_nss_cert_db);
210 }
211
212 void InitializeSystemSlotCertDatabaseOnUIThread(
213 crypto::ScopedPK11Slot system_slot) {
214 g_browser_process->platform_part()->InitializeSystemSlotCertDatabase(
215 std::move(system_slot));
216 g_browser_process->platform_part()->GetSystemSlotCertDatabase(
217 base::Bind(&StartCertLoaderWithSystemNSSDB));
218 }
219
220 // Called on IO Thread when the system slot has been retrieved.
221 void GotSystemSlot(crypto::ScopedPK11Slot system_slot) {
222 content::BrowserThread::PostTask(
223 content::BrowserThread::UI, FROM_HERE,
224 base::BindOnce(&InitializeSystemSlotCertDatabaseOnUIThread,
225 std::move(system_slot)));
226 }
227
228 // Called on IO Thread
229 void InitializeSystemSlotCertDatabaseOnIOThread() {
230 auto callback = base::Bind(&GotSystemSlot);
231 crypto::ScopedPK11Slot system_nss_slot =
232 crypto::GetSystemNSSKeySlot(callback);
233 if (system_nss_slot) {
234 callback.Run(std::move(system_nss_slot));
235 }
236 }
237
207 } // namespace 238 } // namespace
208 239
209 namespace internal { 240 namespace internal {
210 241
211 // Wrapper class for initializing dbus related services and shutting them 242 // Wrapper class for initializing dbus related services and shutting them
212 // down. This gets instantiated in a scoped_ptr so that shutdown methods in the 243 // down. This gets instantiated in a scoped_ptr so that shutdown methods in the
213 // destructor will get called if and only if this has been instantiated. 244 // destructor will get called if and only if this has been instantiated.
214 class DBusServices { 245 class DBusServices {
215 public: 246 public:
216 explicit DBusServices(const content::MainFunctionParams& parameters) { 247 explicit DBusServices(const content::MainFunctionParams& parameters) {
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 } 493 }
463 494
464 // Threads are initialized between MainMessageLoopStart and MainMessageLoopRun. 495 // Threads are initialized between MainMessageLoopStart and MainMessageLoopRun.
465 // about_flags settings are applied in ChromeBrowserMainParts::PreCreateThreads. 496 // about_flags settings are applied in ChromeBrowserMainParts::PreCreateThreads.
466 void ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() { 497 void ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() {
467 // Set the crypto thread after the IO thread has been created/started. 498 // Set the crypto thread after the IO thread has been created/started.
468 TPMTokenLoader::Get()->SetCryptoTaskRunner( 499 TPMTokenLoader::Get()->SetCryptoTaskRunner(
469 content::BrowserThread::GetTaskRunnerForThread( 500 content::BrowserThread::GetTaskRunnerForThread(
470 content::BrowserThread::IO)); 501 content::BrowserThread::IO));
471 502
503 // Initialize NSS database for system token.
504 TPMTokenLoader::Get()->EnsureStarted();
505 content::BrowserThread::PostTask(
506 content::BrowserThread::IO, FROM_HERE,
507 base::BindOnce(&InitializeSystemSlotCertDatabaseOnIOThread));
508
472 CrasAudioHandler::Initialize( 509 CrasAudioHandler::Initialize(
473 new AudioDevicesPrefHandlerImpl(g_browser_process->local_state())); 510 new AudioDevicesPrefHandlerImpl(g_browser_process->local_state()));
474 511
475 content::MediaCaptureDevices::GetInstance()->AddVideoCaptureObserver( 512 content::MediaCaptureDevices::GetInstance()->AddVideoCaptureObserver(
476 CrasAudioHandler::Get()); 513 CrasAudioHandler::Get());
477 514
478 quirks::QuirksManager::Initialize( 515 quirks::QuirksManager::Initialize(
479 std::unique_ptr<quirks::QuirksManager::Delegate>( 516 std::unique_ptr<quirks::QuirksManager::Delegate>(
480 new quirks::QuirksManagerDelegateImpl()), 517 new quirks::QuirksManagerDelegateImpl()),
481 content::BrowserThread::GetBlockingPool(), 518 content::BrowserThread::GetBlockingPool(),
(...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after
992 1029
993 ChromeBrowserMainPartsLinux::PostDestroyThreads(); 1030 ChromeBrowserMainPartsLinux::PostDestroyThreads();
994 1031
995 // Destroy DeviceSettingsService after g_browser_process. 1032 // Destroy DeviceSettingsService after g_browser_process.
996 DeviceSettingsService::Shutdown(); 1033 DeviceSettingsService::Shutdown();
997 1034
998 chromeos::ShutdownCloseTracking(); 1035 chromeos::ShutdownCloseTracking();
999 } 1036 }
1000 1037
1001 } // namespace chromeos 1038 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698