mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	- The |category| value for all TRACE calls from CEF client applications is now "cef.client" due to https://crrev.com/331266377d. - The |with_menu_marker| parameter to CreateMenuButton has been removed due to https://crrev.com/7f7e382118.
		
			
				
	
	
		
			386 lines
		
	
	
		
			9.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			386 lines
		
	
	
		
			9.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Copyright (c) 2013 The Chromium Embedded Framework Authors.
 | |
| // Portions (c) 2011 The Chromium Authors. All rights reserved.
 | |
| // Use of this source code is governed by a BSD-style license that can be
 | |
| // found in the LICENSE file.
 | |
| 
 | |
| #include "libcef/browser/chrome_browser_process_stub.h"
 | |
| 
 | |
| #include "libcef/browser/browser_context_impl.h"
 | |
| #include "libcef/browser/chrome_profile_manager_stub.h"
 | |
| #include "libcef/browser/thread_util.h"
 | |
| #include "libcef/common/cef_switches.h"
 | |
| 
 | |
| #include "base/command_line.h"
 | |
| #include "chrome/browser/net/chrome_net_log_helper.h"
 | |
| #include "chrome/browser/printing/print_job_manager.h"
 | |
| #include "components/net_log/chrome_net_log.h"
 | |
| #include "components/net_log/net_export_file_writer.h"
 | |
| #include "content/public/common/content_switches.h"
 | |
| #include "services/network/public/cpp/network_switches.h"
 | |
| #include "services/network/public/cpp/shared_url_loader_factory.h"
 | |
| 
 | |
| ChromeBrowserProcessStub::ChromeBrowserProcessStub()
 | |
|     : initialized_(false),
 | |
|       context_initialized_(false),
 | |
|       shutdown_(false),
 | |
|       locale_("en-US") {
 | |
|   chrome::SetBrowserContextIncognitoHelper(this);
 | |
| }
 | |
| 
 | |
| ChromeBrowserProcessStub::~ChromeBrowserProcessStub() {
 | |
|   DCHECK((!initialized_ && !context_initialized_) || shutdown_);
 | |
|   g_browser_process = NULL;
 | |
|   chrome::SetBrowserContextIncognitoHelper(nullptr);
 | |
| }
 | |
| 
 | |
| void ChromeBrowserProcessStub::Initialize() {
 | |
|   DCHECK(!initialized_);
 | |
|   DCHECK(!context_initialized_);
 | |
|   DCHECK(!shutdown_);
 | |
| 
 | |
|   initialized_ = true;
 | |
| }
 | |
| 
 | |
| void ChromeBrowserProcessStub::OnContextInitialized() {
 | |
|   CEF_REQUIRE_UIT();
 | |
|   DCHECK(initialized_);
 | |
|   DCHECK(!context_initialized_);
 | |
|   DCHECK(!shutdown_);
 | |
| 
 | |
|   // Must be created after the NotificationService.
 | |
|   print_job_manager_.reset(new printing::PrintJobManager());
 | |
|   profile_manager_.reset(new ChromeProfileManagerStub());
 | |
|   event_router_forwarder_ = new extensions::EventRouterForwarder();
 | |
| 
 | |
|   context_initialized_ = true;
 | |
| }
 | |
| 
 | |
| void ChromeBrowserProcessStub::Shutdown() {
 | |
|   CEF_REQUIRE_UIT();
 | |
|   DCHECK(initialized_);
 | |
|   DCHECK(context_initialized_);
 | |
|   DCHECK(!shutdown_);
 | |
| 
 | |
|   // Wait for the pending print jobs to finish. Don't do this later, since
 | |
|   // this might cause a nested message loop to run, and we don't want pending
 | |
|   // tasks to run once teardown has started.
 | |
|   print_job_manager_->Shutdown();
 | |
|   print_job_manager_.reset(NULL);
 | |
| 
 | |
|   profile_manager_.reset();
 | |
|   event_router_forwarder_ = nullptr;
 | |
| 
 | |
|   shutdown_ = true;
 | |
| }
 | |
| 
 | |
| void ChromeBrowserProcessStub::ResourceDispatcherHostCreated() {
 | |
|   NOTREACHED();
 | |
| };
 | |
| 
 | |
| void ChromeBrowserProcessStub::EndSession() {
 | |
|   NOTREACHED();
 | |
| };
 | |
| 
 | |
| void ChromeBrowserProcessStub::FlushLocalStateAndReply(
 | |
|     base::OnceClosure reply) {
 | |
|   NOTREACHED();
 | |
| }
 | |
| 
 | |
| metrics_services_manager::MetricsServicesManager*
 | |
| ChromeBrowserProcessStub::GetMetricsServicesManager() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| metrics::MetricsService* ChromeBrowserProcessStub::metrics_service() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| rappor::RapporServiceImpl* ChromeBrowserProcessStub::rappor_service() {
 | |
|   // Called from PluginInfoHostImpl::ReportMetrics.
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| IOThread* ChromeBrowserProcessStub::io_thread() {
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| SystemNetworkContextManager*
 | |
| ChromeBrowserProcessStub::system_network_context_manager() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| net_log::NetExportFileWriter*
 | |
| ChromeBrowserProcessStub::net_export_file_writer() {
 | |
|   if (!net_export_file_writer_) {
 | |
|     net_export_file_writer_ = std::make_unique<net_log::NetExportFileWriter>();
 | |
|   }
 | |
|   return net_export_file_writer_.get();
 | |
| }
 | |
| 
 | |
| network::NetworkQualityTracker*
 | |
| ChromeBrowserProcessStub::network_quality_tracker() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| WatchDogThread* ChromeBrowserProcessStub::watchdog_thread() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| ProfileManager* ChromeBrowserProcessStub::profile_manager() {
 | |
|   DCHECK(context_initialized_);
 | |
|   return profile_manager_.get();
 | |
| }
 | |
| 
 | |
| PrefService* ChromeBrowserProcessStub::local_state() {
 | |
|   DCHECK(context_initialized_);
 | |
|   return profile_manager_->GetLastUsedProfile(profile_manager_->user_data_dir())
 | |
|       ->GetPrefs();
 | |
| }
 | |
| 
 | |
| net::URLRequestContextGetter*
 | |
| ChromeBrowserProcessStub::system_request_context() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| scoped_refptr<network::SharedURLLoaderFactory>
 | |
| ChromeBrowserProcessStub::shared_url_loader_factory() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| variations::VariationsService* ChromeBrowserProcessStub::variations_service() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| BrowserProcessPlatformPart* ChromeBrowserProcessStub::platform_part() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| extensions::EventRouterForwarder*
 | |
| ChromeBrowserProcessStub::extension_event_router_forwarder() {
 | |
|   DCHECK(context_initialized_);
 | |
|   return event_router_forwarder_.get();
 | |
| }
 | |
| 
 | |
| NotificationUIManager* ChromeBrowserProcessStub::notification_ui_manager() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| NotificationPlatformBridge*
 | |
| ChromeBrowserProcessStub::notification_platform_bridge() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| policy::ChromeBrowserPolicyConnector*
 | |
| ChromeBrowserProcessStub::browser_policy_connector() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| policy::PolicyService* ChromeBrowserProcessStub::policy_service() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| IconManager* ChromeBrowserProcessStub::icon_manager() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| GpuModeManager* ChromeBrowserProcessStub::gpu_mode_manager() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| void ChromeBrowserProcessStub::CreateDevToolsProtocolHandler() {
 | |
|   NOTREACHED();
 | |
| }
 | |
| 
 | |
| void ChromeBrowserProcessStub::CreateDevToolsAutoOpener() {
 | |
|   NOTREACHED();
 | |
| }
 | |
| 
 | |
| bool ChromeBrowserProcessStub::IsShuttingDown() {
 | |
|   NOTREACHED();
 | |
|   return false;
 | |
| }
 | |
| 
 | |
| printing::PrintJobManager* ChromeBrowserProcessStub::print_job_manager() {
 | |
|   DCHECK(context_initialized_);
 | |
|   return print_job_manager_.get();
 | |
| }
 | |
| 
 | |
| printing::PrintPreviewDialogController*
 | |
| ChromeBrowserProcessStub::print_preview_dialog_controller() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| printing::BackgroundPrintingManager*
 | |
| ChromeBrowserProcessStub::background_printing_manager() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| IntranetRedirectDetector*
 | |
| ChromeBrowserProcessStub::intranet_redirect_detector() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| const std::string& ChromeBrowserProcessStub::GetApplicationLocale() {
 | |
|   DCHECK(!locale_.empty());
 | |
|   return locale_;
 | |
| }
 | |
| 
 | |
| void ChromeBrowserProcessStub::SetApplicationLocale(const std::string& locale) {
 | |
|   locale_ = locale;
 | |
| }
 | |
| 
 | |
| DownloadStatusUpdater* ChromeBrowserProcessStub::download_status_updater() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| DownloadRequestLimiter* ChromeBrowserProcessStub::download_request_limiter() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| BackgroundModeManager* ChromeBrowserProcessStub::background_mode_manager() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| void ChromeBrowserProcessStub::set_background_mode_manager_for_test(
 | |
|     std::unique_ptr<BackgroundModeManager> manager) {
 | |
|   NOTREACHED();
 | |
| }
 | |
| 
 | |
| StatusTray* ChromeBrowserProcessStub::status_tray() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| safe_browsing::SafeBrowsingService*
 | |
| ChromeBrowserProcessStub::safe_browsing_service() {
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| safe_browsing::ClientSideDetectionService*
 | |
| ChromeBrowserProcessStub::safe_browsing_detection_service() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| subresource_filter::RulesetService*
 | |
| ChromeBrowserProcessStub::subresource_filter_ruleset_service() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| optimization_guide::OptimizationGuideService*
 | |
| ChromeBrowserProcessStub::optimization_guide_service() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| #if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
 | |
| void ChromeBrowserProcessStub::StartAutoupdateTimer() {}
 | |
| #endif
 | |
| 
 | |
| net_log::ChromeNetLog* ChromeBrowserProcessStub::net_log() {
 | |
|   DCHECK(initialized_);
 | |
|   if (!net_log_) {
 | |
|     const base::CommandLine& command_line =
 | |
|         *base::CommandLine::ForCurrentProcess();
 | |
|     net_log_ = std::make_unique<net_log::ChromeNetLog>();
 | |
|     if (command_line.HasSwitch(network::switches::kLogNetLog)) {
 | |
|       net_log_->StartWritingToFile(
 | |
|           command_line.GetSwitchValuePath(network::switches::kLogNetLog),
 | |
|           GetNetCaptureModeFromCommandLine(command_line),
 | |
|           command_line.GetCommandLineString(), std::string());
 | |
|     }
 | |
|   }
 | |
|   return net_log_.get();
 | |
| }
 | |
| 
 | |
| component_updater::ComponentUpdateService*
 | |
| ChromeBrowserProcessStub::component_updater() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| component_updater::SupervisedUserWhitelistInstaller*
 | |
| ChromeBrowserProcessStub::supervised_user_whitelist_installer() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| MediaFileSystemRegistry*
 | |
| ChromeBrowserProcessStub::media_file_system_registry() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| WebRtcLogUploader* ChromeBrowserProcessStub::webrtc_log_uploader() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| network_time::NetworkTimeTracker*
 | |
| ChromeBrowserProcessStub::network_time_tracker() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| gcm::GCMDriver* ChromeBrowserProcessStub::gcm_driver() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| shell_integration::DefaultWebClientState
 | |
| ChromeBrowserProcessStub::CachedDefaultWebClientState() {
 | |
|   NOTREACHED();
 | |
|   return shell_integration::UNKNOWN_DEFAULT;
 | |
| }
 | |
| 
 | |
| resource_coordinator::TabManager* ChromeBrowserProcessStub::GetTabManager() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| resource_coordinator::ResourceCoordinatorParts*
 | |
| ChromeBrowserProcessStub::resource_coordinator_parts() {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| prefs::InProcessPrefServiceFactory*
 | |
| ChromeBrowserProcessStub::pref_service_factory() const {
 | |
|   NOTREACHED();
 | |
|   return NULL;
 | |
| }
 | |
| 
 | |
| content::BrowserContext*
 | |
| ChromeBrowserProcessStub::GetBrowserContextRedirectedInIncognito(
 | |
|     content::BrowserContext* context) {
 | |
|   return CefBrowserContextImpl::GetForContext(context);
 | |
| }
 | |
| 
 | |
| content::BrowserContext*
 | |
| ChromeBrowserProcessStub::GetBrowserContextOwnInstanceInIncognito(
 | |
|     content::BrowserContext* context) {
 | |
|   return GetBrowserContextRedirectedInIncognito(context);
 | |
| }
 |