diff options
Diffstat (limited to 'src/core/content_main_delegate_qt.cpp')
-rw-r--r-- | src/core/content_main_delegate_qt.cpp | 84 |
1 files changed, 37 insertions, 47 deletions
diff --git a/src/core/content_main_delegate_qt.cpp b/src/core/content_main_delegate_qt.cpp index 6a5f61168..f949d93a5 100644 --- a/src/core/content_main_delegate_qt.cpp +++ b/src/core/content_main_delegate_qt.cpp @@ -6,6 +6,7 @@ #include "base/command_line.h" #include "base/i18n/rtl.h" #include "base/logging.h" +#include "base/memory/ref_counted_memory.h" #include "base/no_destructor.h" #include "base/path_service.h" #include "base/strings/string_number_conversions.h" @@ -13,7 +14,6 @@ #include "content/public/browser/browser_main_runner.h" #include "content/public/common/content_paths.h" #include "content/public/common/content_switches.h" -#include "media/gpu/buildflags.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/ui_base_paths.h" #include "ui/base/resource/resource_bundle.h" @@ -29,32 +29,27 @@ #include "web_engine_context.h" #include "web_engine_library_info.h" -#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX)) +#if defined(ARCH_CPU_ARM_FAMILY) && (BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)) #include "base/cpu.h" #endif -#if defined(OS_LINUX) +#if BUILDFLAG(IS_LINUX) #include "media/audio/audio_manager.h" #include "ui/base/ui_base_switches.h" #endif -// must be included before vaapi_wrapper.h -#include <QtCore/qcoreapplication.h> - -#if defined(OS_WIN) -#include "media/gpu/windows/dxva_video_decode_accelerator_win.h" -#include "media/gpu/windows/media_foundation_video_encode_accelerator_win.h" +#if BUILDFLAG(IS_WIN) +#include "media/base/win/mf_initializer.h" +#include "sandbox/policy/win/sandbox_warmup.h" #endif -#if defined(OS_MAC) +#if BUILDFLAG(IS_MAC) #include "base/trace_event/trace_event.h" #include "content/public/common/content_features.h" #include "media/gpu/mac/vt_video_decode_accelerator_mac.h" #endif -#if BUILDFLAG(USE_VAAPI) -#include "media/gpu/vaapi/vaapi_wrapper.h" -#endif +#include <QtCore/qcoreapplication.h> namespace content { ContentClient *GetContentClient(); @@ -76,20 +71,19 @@ struct LazyDirectoryListerCacher { LazyDirectoryListerCacher() { - base::DictionaryValue dict; - dict.SetString("header", l10n_util::GetStringUTF16(IDS_DIRECTORY_LISTING_HEADER)); - dict.SetString("parentDirText", l10n_util::GetStringUTF16(IDS_DIRECTORY_LISTING_PARENT)); - dict.SetString("headerName", l10n_util::GetStringUTF16(IDS_DIRECTORY_LISTING_NAME)); - dict.SetString("headerSize", l10n_util::GetStringUTF16(IDS_DIRECTORY_LISTING_SIZE)); - dict.SetString("headerDateModified", - l10n_util::GetStringUTF16(IDS_DIRECTORY_LISTING_DATE_MODIFIED)); - dict.SetString("language", l10n_util::GetLanguage(base::i18n::GetConfiguredLocale())); - dict.SetString("textdirection", base::i18n::IsRTL() ? "rtl" : "ltr"); + base::Value::Dict dict; + dict.Set("header", l10n_util::GetStringUTF16(IDS_DIRECTORY_LISTING_HEADER)); + dict.Set("parentDirText", l10n_util::GetStringUTF16(IDS_DIRECTORY_LISTING_PARENT)); + dict.Set("headerName", l10n_util::GetStringUTF16(IDS_DIRECTORY_LISTING_NAME)); + dict.Set("headerSize", l10n_util::GetStringUTF16(IDS_DIRECTORY_LISTING_SIZE)); + dict.Set("headerDateModified", l10n_util::GetStringUTF16(IDS_DIRECTORY_LISTING_DATE_MODIFIED)); + dict.Set("language", l10n_util::GetLanguage(base::i18n::GetConfiguredLocale())); + dict.Set("textdirection", base::i18n::IsRTL() ? "rtl" : "ltr"); std::string html = webui::GetI18nTemplateHtml( ui::ResourceBundle::GetSharedInstance().LoadDataResourceString(IDR_DIR_HEADER_HTML), - &dict); - html_data = base::RefCountedString::TakeString(&html); + std::move(dict)); + html_data = base::MakeRefCounted<base::RefCountedString>(std::move(html)); } scoped_refptr<base::RefCountedMemory> html_data; @@ -133,7 +127,7 @@ static logging::LoggingDestination DetermineLogMode(const base::CommandLine& com void ContentMainDelegateQt::PreSandboxStartup() { -#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX)) +#if defined(ARCH_CPU_ARM_FAMILY) && (BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)) // Create an instance of the CPU class to parse /proc/cpuinfo and cache // cpu_brand info. base::CPU cpu_info; @@ -166,42 +160,36 @@ void ContentMainDelegateQt::PreSandboxStartup() } } -#if defined(OS_POSIX) && !defined(OS_ANDROID) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) if (parsedCommandLine->HasSwitch(switches::kSingleProcess)) setlocale(LC_NUMERIC, "C"); #endif - // from gpu_main.cc: -#if BUILDFLAG(USE_VAAPI) - media::VaapiWrapper::PreSandboxInitialization(); -#endif -#if defined(OS_WIN) - media::DXVAVideoDecodeAccelerator::PreSandboxInitialization(); - media::MediaFoundationVideoEncodeAccelerator::PreSandboxInitialization(); + bool isBrowserProcess = !parsedCommandLine->HasSwitch(switches::kProcessType); + if (isBrowserProcess) { + // from gpu_main.cc: +#if BUILDFLAG(IS_WIN) + media::PreSandboxMediaFoundationInitialization(); #endif -#if defined(OS_MAC) - { - TRACE_EVENT0("gpu", "Initialize VideoToolbox"); - media::InitializeVideoToolbox(); - } +#if BUILDFLAG(IS_MAC) + { + TRACE_EVENT0("gpu", "Initialize VideoToolbox"); + media::InitializeVideoToolbox(); + } #endif + } if (parsedCommandLine->HasSwitch(switches::kApplicationName)) { std::string appName = parsedCommandLine->GetSwitchValueASCII(switches::kApplicationName); appName = QByteArray::fromPercentEncoding(QByteArray::fromStdString(appName)).toStdString(); QCoreApplication::setApplicationName(QString::fromStdString(appName)); -#if defined(OS_LINUX) +#if BUILDFLAG(IS_LINUX) media::AudioManager::SetGlobalAppName(appName); #endif } } -void ContentMainDelegateQt::PostEarlyInitialization(bool) -{ - PostFieldTrialInitialization(); -} - content::ContentClient *ContentMainDelegateQt::CreateContentClient() { return &m_contentClient; @@ -221,7 +209,7 @@ content::ContentGpuClient *ContentMainDelegateQt::CreateContentGpuClient() content::ContentRendererClient *ContentMainDelegateQt::CreateContentRendererClient() { -#if defined(OS_LINUX) +#if BUILDFLAG(IS_LINUX) base::CommandLine *parsedCommandLine = base::CommandLine::ForCurrentProcess(); std::string process_type = parsedCommandLine->GetSwitchValueASCII(switches::kProcessType); bool no_sandbox = parsedCommandLine->HasSwitch(sandbox::policy::switches::kNoSandbox); @@ -263,10 +251,12 @@ static void SafeOverridePathImpl(const char *keyName, int key, const base::FileP #define SafeOverridePath(KEY, PATH) SafeOverridePathImpl(#KEY, KEY, PATH) -bool ContentMainDelegateQt::BasicStartupComplete(int *exit_code) +absl::optional<int> ContentMainDelegateQt::BasicStartupComplete() { SafeOverridePath(base::FILE_EXE, WebEngineLibraryInfo::getPath(base::FILE_EXE)); SafeOverridePath(base::DIR_QT_LIBRARY_DATA, WebEngineLibraryInfo::getPath(base::DIR_QT_LIBRARY_DATA)); + SafeOverridePath(base::DIR_ASSETS, WebEngineLibraryInfo::getPath(base::DIR_ASSETS)); + SafeOverridePath(base::DIR_EXE, WebEngineLibraryInfo::getPath(base::DIR_ASSETS)); SafeOverridePath(ui::DIR_LOCALES, WebEngineLibraryInfo::getPath(ui::DIR_LOCALES)); #if QT_CONFIG(webengine_spellchecker) SafeOverridePath(base::DIR_APP_DICTIONARIES, WebEngineLibraryInfo::getPath(base::DIR_APP_DICTIONARIES)); @@ -274,7 +264,7 @@ bool ContentMainDelegateQt::BasicStartupComplete(int *exit_code) url::CustomScheme::LoadSchemes(base::CommandLine::ForCurrentProcess()); - return false; + return absl::nullopt; } } // namespace QtWebEngineCore |