mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			201 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			201 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| diff --git chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
 | |
| index 91bd4c2aeae2..129d92a32c50 100644
 | |
| --- chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
 | |
| +++ chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
 | |
| @@ -18,6 +18,7 @@
 | |
|  #include "chrome/browser/profiles/profile_manager.h"
 | |
|  #include "chrome/browser/sync/profile_sync_service_factory.h"
 | |
|  #include "chrome/common/channel_info.h"
 | |
| +#include "chrome/common/chrome_switches.h"
 | |
|  #include "chrome/common/pref_names.h"
 | |
|  #include "components/browser_sync/profile_sync_service.h"
 | |
|  #include "components/prefs/pref_service.h"
 | |
| @@ -224,6 +225,10 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
 | |
|  }
 | |
|  
 | |
|  void ChromeInternalLogSource::PopulateSyncLogs(SystemLogsResponse* response) {
 | |
| +  // CEF should avoid loading ProfileSyncServiceFactory which depends on a lot
 | |
| +  // of unnecessary Chrome-specific factories.
 | |
| +  return;
 | |
| +
 | |
|    // We are only interested in sync logs for the primary user profile.
 | |
|    Profile* profile = ProfileManager::GetPrimaryUserProfile();
 | |
|    if (!profile ||
 | |
| @@ -268,6 +273,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
 | |
|    if (!profile)
 | |
|      return;
 | |
|  
 | |
| +  // CEF should avoid accessing ExtensionRegistry when extensions are disabled.
 | |
| +  if (base::CommandLine::ForCurrentProcess()->HasSwitch(
 | |
| +      switches::kDisableExtensions)) {
 | |
| +    return;
 | |
| +  }
 | |
| +
 | |
|    extensions::ExtensionRegistry* extension_registry =
 | |
|        extensions::ExtensionRegistry::Get(profile);
 | |
|    std::string extensions_list;
 | |
| diff --git chrome/browser/memory_details.cc chrome/browser/memory_details.cc
 | |
| index 6dd7385d105f..1b8635f7569f 100644
 | |
| --- chrome/browser/memory_details.cc
 | |
| +++ chrome/browser/memory_details.cc
 | |
| @@ -16,6 +16,7 @@
 | |
|  #include "base/task_scheduler/post_task.h"
 | |
|  #include "build/build_config.h"
 | |
|  #include "chrome/browser/profiles/profile.h"
 | |
| +#include "chrome/common/chrome_switches.h"
 | |
|  #include "components/nacl/common/nacl_process_type.h"
 | |
|  #include "components/strings/grit/components_strings.h"
 | |
|  #include "content/public/browser/browser_child_process_host_iterator.h"
 | |
| @@ -250,8 +251,11 @@ void MemoryDetails::CollectChildInfoOnUIThread() {
 | |
|  
 | |
|  #if BUILDFLAG(ENABLE_EXTENSIONS)
 | |
|      // Determine if this is an extension process.
 | |
| +    // CEF should avoid accessing ExtensionRegistry when extensions are disabled.
 | |
|      bool process_is_for_extensions = false;
 | |
| -    if (render_process_host) {
 | |
| +    if (render_process_host &&
 | |
| +        !base::CommandLine::ForCurrentProcess()->HasSwitch(
 | |
| +            switches::kDisableExtensions)) {
 | |
|        content::BrowserContext* context =
 | |
|            render_process_host->GetBrowserContext();
 | |
|        extensions::ExtensionRegistry* extension_registry =
 | |
| diff --git chrome/browser/ui/webui/net_internals/net_internals_ui.cc chrome/browser/ui/webui/net_internals/net_internals_ui.cc
 | |
| index 34960e3e6543..bffb63938274 100644
 | |
| --- chrome/browser/ui/webui/net_internals/net_internals_ui.cc
 | |
| +++ chrome/browser/ui/webui/net_internals/net_internals_ui.cc
 | |
| @@ -529,41 +529,31 @@ void NetInternalsMessageHandler::OnClearBrowserCache(
 | |
|  void NetInternalsMessageHandler::OnGetPrerenderInfo(
 | |
|      const base::ListValue* list) {
 | |
|    DCHECK_CURRENTLY_ON(BrowserThread::UI);
 | |
| -  SendJavascriptCommand(
 | |
| -      "receivedPrerenderInfo",
 | |
| -      chrome_browser_net::GetPrerenderInfo(Profile::FromWebUI(web_ui())));
 | |
| +  SendJavascriptCommand("receivedPrerenderInfo", nullptr);
 | |
|  }
 | |
|  
 | |
|  void NetInternalsMessageHandler::OnGetHistoricNetworkStats(
 | |
|      const base::ListValue* list) {
 | |
|    DCHECK_CURRENTLY_ON(BrowserThread::UI);
 | |
| -  SendJavascriptCommand("receivedHistoricNetworkStats",
 | |
| -                        chrome_browser_net::GetHistoricNetworkStats(
 | |
| -                            Profile::FromWebUI(web_ui())));
 | |
| +  SendJavascriptCommand("receivedHistoricNetworkStats", nullptr);
 | |
|  }
 | |
|  
 | |
|  void NetInternalsMessageHandler::OnGetSessionNetworkStats(
 | |
|      const base::ListValue* list) {
 | |
|    DCHECK_CURRENTLY_ON(BrowserThread::UI);
 | |
| -  SendJavascriptCommand(
 | |
| -      "receivedSessionNetworkStats",
 | |
| -      chrome_browser_net::GetSessionNetworkStats(Profile::FromWebUI(web_ui())));
 | |
| +  SendJavascriptCommand("receivedSessionNetworkStats", nullptr);
 | |
|  }
 | |
|  
 | |
|  void NetInternalsMessageHandler::OnGetExtensionInfo(
 | |
|      const base::ListValue* list) {
 | |
|    DCHECK_CURRENTLY_ON(BrowserThread::UI);
 | |
| -  SendJavascriptCommand(
 | |
| -      "receivedExtensionInfo",
 | |
| -      chrome_browser_net::GetExtensionInfo(Profile::FromWebUI(web_ui())));
 | |
| +  SendJavascriptCommand("receivedExtensionInfo", nullptr);
 | |
|  }
 | |
|  
 | |
|  void NetInternalsMessageHandler::OnGetDataReductionProxyInfo(
 | |
|      const base::ListValue* list) {
 | |
|    DCHECK_CURRENTLY_ON(BrowserThread::UI);
 | |
| -  SendJavascriptCommand("receivedDataReductionProxyInfo",
 | |
| -                        chrome_browser_net::GetDataReductionProxyInfo(
 | |
| -                            Profile::FromWebUI(web_ui())));
 | |
| +  SendJavascriptCommand("receivedDataReductionProxyInfo", nullptr);
 | |
|  }
 | |
|  
 | |
|  ////////////////////////////////////////////////////////////////////////////////
 | |
| @@ -643,9 +633,17 @@ void NetInternalsMessageHandler::IOThreadImpl::OnRendererReady(
 | |
|  
 | |
|    PrePopulateEventList();
 | |
|  
 | |
| -  // Register with network stack to observe events.
 | |
| -  io_thread_->net_log()->AddObserver(
 | |
| -      this, net::NetLogCaptureMode::IncludeCookiesAndCredentials());
 | |
| +  net::NetLog* net_log = nullptr;
 | |
| +  if (io_thread_)
 | |
| +    net_log = io_thread_->net_log();
 | |
| +  else
 | |
| +    net_log = g_browser_process->net_log();
 | |
| +
 | |
| +  if (net_log) {
 | |
| +    // Register with network stack to observe events.
 | |
| +    net_log->AddObserver(
 | |
| +        this, net::NetLogCaptureMode::IncludeCookiesAndCredentials());
 | |
| +  }
 | |
|  }
 | |
|  
 | |
|  void NetInternalsMessageHandler::IOThreadImpl::OnGetNetInfo(
 | |
| @@ -1141,7 +1139,8 @@ void NetInternalsMessageHandler::IOThreadImpl::PrePopulateEventList() {
 | |
|    std::set<net::URLRequestContext*> contexts;
 | |
|    for (const auto& getter : context_getters_)
 | |
|      contexts.insert(getter->GetURLRequestContext());
 | |
| -  contexts.insert(io_thread_->globals()->system_request_context);
 | |
| +  if (io_thread_)
 | |
| +    contexts.insert(io_thread_->globals()->system_request_context);
 | |
|  
 | |
|    // Add entries for ongoing network objects.
 | |
|    CreateNetLogEntriesForActiveObjects(contexts, this);
 | |
| diff --git content/browser/resource_context_impl.cc content/browser/resource_context_impl.cc
 | |
| index 261e9343b8a2..0fe566c705a4 100644
 | |
| --- content/browser/resource_context_impl.cc
 | |
| +++ content/browser/resource_context_impl.cc
 | |
| @@ -56,6 +56,10 @@ URLDataManagerBackend* GetURLDataManagerForResourceContext(
 | |
|        context->GetUserData(kURLDataManagerBackendKeyName));
 | |
|  }
 | |
|  
 | |
| +const void* GetURLDataManagerBackendUserDataKey() {
 | |
| +  return kURLDataManagerBackendKeyName;
 | |
| +}
 | |
| +
 | |
|  void InitializeResourceContext(BrowserContext* browser_context) {
 | |
|    ResourceContext* resource_context = browser_context->GetResourceContext();
 | |
|  
 | |
| diff --git content/browser/resource_context_impl.h content/browser/resource_context_impl.h
 | |
| index 903cc543a242..5bd30ae82974 100644
 | |
| --- content/browser/resource_context_impl.h
 | |
| +++ content/browser/resource_context_impl.h
 | |
| @@ -28,6 +28,8 @@ CONTENT_EXPORT StreamContext* GetStreamContextForResourceContext(
 | |
|  URLDataManagerBackend* GetURLDataManagerForResourceContext(
 | |
|      ResourceContext* context);
 | |
|  
 | |
| +CONTENT_EXPORT const void* GetURLDataManagerBackendUserDataKey();
 | |
| +
 | |
|  // Initialize the above data on the ResourceContext from a given BrowserContext.
 | |
|  CONTENT_EXPORT void InitializeResourceContext(BrowserContext* browser_context);
 | |
|  
 | |
| diff --git content/browser/webui/url_data_manager.cc content/browser/webui/url_data_manager.cc
 | |
| index ce87d5984c09..6d31657e5c6c 100644
 | |
| --- content/browser/webui/url_data_manager.cc
 | |
| +++ content/browser/webui/url_data_manager.cc
 | |
| @@ -148,6 +148,11 @@ void URLDataManager::UpdateWebUIDataSource(
 | |
|        ->UpdateWebUIDataSource(source_name, std::move(update));
 | |
|  }
 | |
|  
 | |
| +// static
 | |
| +const void* URLDataManager::GetUserDataKey() {
 | |
| +  return kURLDataManagerKeyName;
 | |
| +}
 | |
| +
 | |
|  // static
 | |
|  bool URLDataManager::IsScheduledForDeletion(
 | |
|      const URLDataSourceImpl* data_source) {
 | |
| diff --git content/browser/webui/url_data_manager.h content/browser/webui/url_data_manager.h
 | |
| index 5ceb74d411fc..0c584d6e69b5 100644
 | |
| --- content/browser/webui/url_data_manager.h
 | |
| +++ content/browser/webui/url_data_manager.h
 | |
| @@ -69,6 +69,8 @@ class CONTENT_EXPORT URLDataManager : public base::SupportsUserData::Data {
 | |
|        const std::string& source_name,
 | |
|        std::unique_ptr<base::DictionaryValue> update);
 | |
|  
 | |
| +  static const void* GetUserDataKey();
 | |
| +
 | |
|   private:
 | |
|    friend class URLDataSourceImpl;
 | |
|    friend struct DeleteURLDataSource;
 |