diff options
76 files changed, 230 insertions, 194 deletions
diff --git a/cmake/Functions.cmake b/cmake/Functions.cmake index b852a809b..d989b2324 100644 --- a/cmake/Functions.cmake +++ b/cmake/Functions.cmake @@ -988,11 +988,13 @@ macro(append_compiler_linker_sdk_setup) if(MSVC) get_filename_component(windowsSdkPath $ENV{WINDOWSSDKDIR} ABSOLUTE) get_filename_component(visualStudioPath $ENV{VSINSTALLDIR} ABSOLUTE) + set(windowSdkVersion $ENV{WindowsSDKVersion}) list(APPEND gnArgArg win_linker_timing=true use_incremental_linking=false - visual_studio_version=2019 + visual_studio_version=2022 visual_studio_path=\"${visualStudioPath}\" + windows_sdk_version=\"${windowsSdkVersion}\" windows_sdk_path=\"${windowsSdkPath}\" ) endif() diff --git a/configure.cmake b/configure.cmake index 2b150d849..c41cd34a5 100644 --- a/configure.cmake +++ b/configure.cmake @@ -11,7 +11,7 @@ if(QT_CONFIGURE_RUNNING) else() find_package(Ninja 1.7.2) find_package(Gn ${QT_REPO_MODULE_VERSION} EXACT) - find_program(Python3_EXECUTABLE NAMES python3 HINTS $ENV{PYTHON3_PATH}) + find_program(Python3_EXECUTABLE NAMES python3 python HINTS $ENV{PYTHON3_PATH}) if(NOT Python3_EXECUTABLE) find_package(Python3 3.6) endif() @@ -21,7 +21,7 @@ else() find_package(Perl) find_package(PkgConfig) find_package(Snappy) - find_package(Nodejs 12.0) + find_package(Nodejs 14.0) endif() if(PkgConfig_FOUND) @@ -201,7 +201,7 @@ qt_config_compile_test(winversion LABEL "winversion" CODE " -#if !defined(__clang__) && _MSC_FULL_VER < 191426428 +#if !defined(__clang__) && _MSC_VER < 1934 #error unsupported Visual Studio version #endif int main(void){ @@ -499,7 +499,7 @@ add_check_for_support( add_check_for_support( MODULES QtWebEngine QtPdf CONDITION TARGET Nodejs::Nodejs - MESSAGE "node.js version 12 or later is required." + MESSAGE "node.js version 14 or later is required." ) add_check_for_support( MODULES QtWebEngine @@ -586,7 +586,7 @@ ${xcbErrorMessage}" add_check_for_support( MODULES QtWebEngine QtPdf CONDITION NOT MSVC OR TEST_winversion - MESSAGE "Build requires Visual Studio 2019 or higher." + MESSAGE "Build requires Visual Studio 2022 or higher." ) add_check_for_support( MODULES QtWebEngine @@ -614,8 +614,8 @@ if(WIN32) if(MSVC) add_check_for_support( MODULES QtWebEngine QtPdf - CONDITION NOT MSVC_VERSION LESS 1929 - MESSAGE "MSVC compiler version must be at least 14.29." + CONDITION NOT MSVC_VERSION LESS 1934 + MESSAGE "VS compiler version must be at least 14.34" ) endif() set(windowsSdkVersion $ENV{WindowsSDKVersion}) diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 492731fa8..1c2a8b32c 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.19) find_package(Ninja 1.7.2 REQUIRED) -find_package(Nodejs 12 REQUIRED) +find_package(Nodejs 14.19 REQUIRED) find_package(Perl) find_package(PkgConfig) if(PkgConfig_FOUND) @@ -310,7 +310,6 @@ foreach(arch ${archs}) enable_background_mode=false enable_ipc_fuzzer=false enable_ipc_logging=false - enable_js_type_check=false enable_media_remoting=false enable_message_center=false enable_nacl=false @@ -320,6 +319,7 @@ foreach(arch ${archs}) enable_resource_allowlist_generation=false enable_screen_ai_service=false enable_session_service=false + enable_supervised_users=false enable_swiftshader=false enable_swiftshader_vulkan=false angle_enable_swiftshader=false @@ -341,6 +341,8 @@ foreach(arch ${archs}) devtools_fast_bundle=false devtools_skip_typecheck=false use_static_angle=true + chrome_root_store_supported=false + trial_comparison_cert_verifier_supported=false ) extend_gn_list(gnArgArg ARGS use_v8_context_snapshot v8_use_external_startup_data @@ -367,6 +369,10 @@ foreach(arch ${archs}) CONDITION QT_FEATURE_webengine_webrtc ) extend_gn_list(gnArgArg + ARGS enable_screen_capture + CONDITION QT_FEATURE_webengine_webrtc + ) + extend_gn_list(gnArgArg ARGS enable_hangout_services_extension CONDITION QT_FEATURE_webengine_webrtc AND QT_FEATURE_webengine_extensions ) diff --git a/src/core/autofill_client_qt.cpp b/src/core/autofill_client_qt.cpp index 4166cbedd..c7becd605 100644 --- a/src/core/autofill_client_qt.cpp +++ b/src/core/autofill_client_qt.cpp @@ -10,11 +10,10 @@ #include "web_contents_adapter_client.h" #include "web_contents_view_qt.h" -#include "base/task/thread_pool.h" -#include "base/threading/thread_task_runner_handle.h" #include "chrome/browser/profiles/profile.h" #include "components/autofill/core/common/autofill_prefs.h" #include "content/browser/web_contents/web_contents_impl.h" +#include "services/network/public/cpp/shared_url_loader_factory.h" namespace QtWebEngineCore { @@ -51,9 +50,6 @@ const PrefService *AutofillClientQt::GetPrefs() const void AutofillClientQt::ShowAutofillPopup(const autofill::AutofillClient::PopupOpenArgs &open_args, base::WeakPtr<autofill::AutofillPopupDelegate> delegate) { - // Specific popups (personal, address, credit card, password) are not supported. - DCHECK(open_args.popup_type == autofill::PopupType::kUnspecified); - m_popupController->d->delegate = delegate; m_popupController->d->suggestions = open_args.suggestions; m_popupController->updateModel(); @@ -85,11 +81,11 @@ autofill::AutofillClient::PopupOpenArgs AutofillClientQt::GetReopenPopupArgs() c return autofill::AutofillClient::PopupOpenArgs(); } -base::span<const autofill::Suggestion> AutofillClientQt::GetPopupSuggestions() const +std::vector<autofill::Suggestion> AutofillClientQt::GetPopupSuggestions() const { // Called by password_manager component only. NOTIMPLEMENTED(); - return base::span<const autofill::Suggestion>(); + return {}; } void AutofillClientQt::UpdatePopup(const std::vector<autofill::Suggestion> &, autofill::PopupType) @@ -113,6 +109,16 @@ bool AutofillClientQt::IsPasswordManagerEnabled() return false; } +bool AutofillClientQt::IsOffTheRecord() +{ + return web_contents()->GetBrowserContext()->IsOffTheRecord(); +} + +scoped_refptr<network::SharedURLLoaderFactory> AutofillClientQt::GetURLLoaderFactory() +{ + return nullptr; +} + void AutofillClientQt::PropagateAutofillPredictions(autofill::AutofillDriver *, const std::vector<autofill::FormStructure *> &) { diff --git a/src/core/autofill_client_qt.h b/src/core/autofill_client_qt.h index 4830cac34..46e40f1da 100644 --- a/src/core/autofill_client_qt.h +++ b/src/core/autofill_client_qt.h @@ -49,14 +49,15 @@ public: const std::vector<std::u16string> &labels) override; void PinPopupView() override; autofill::AutofillClient::PopupOpenArgs GetReopenPopupArgs() const override; - base::span<const autofill::Suggestion> GetPopupSuggestions() const override; + std::vector<autofill::Suggestion> GetPopupSuggestions() const override; void UpdatePopup(const std::vector<autofill::Suggestion> &, autofill::PopupType) override; void HideAutofillPopup(autofill::PopupHidingReason reason) override; bool IsAutocompleteEnabled() const override; bool IsPasswordManagerEnabled() override; void PropagateAutofillPredictions(autofill::AutofillDriver *, const std::vector<autofill::FormStructure *> &) override; - + bool IsOffTheRecord() override; + scoped_refptr<network::SharedURLLoaderFactory> GetURLLoaderFactory() override; private: explicit AutofillClientQt(content::WebContents *webContents); diff --git a/src/core/browser_main_parts_qt.cpp b/src/core/browser_main_parts_qt.cpp index e58822c29..16952d7cd 100644 --- a/src/core/browser_main_parts_qt.cpp +++ b/src/core/browser_main_parts_qt.cpp @@ -61,6 +61,7 @@ #if BUILDFLAG(IS_MAC) #include "base/message_loop/message_pump_mac.h" #include "services/device/public/cpp/geolocation/geolocation_manager.h" +#include "services/device/public/cpp/geolocation/system_geolocation_source.h" #include "ui/base/idle/idle.h" #endif @@ -209,19 +210,20 @@ private: }; #if BUILDFLAG(IS_MAC) -class FakeGeolocationManager : public device::GeolocationManager +class FakeGeolocationSource : public device::SystemGeolocationSource { public: - FakeGeolocationManager() = default; - ~FakeGeolocationManager() override = default; + FakeGeolocationSource() = default; + ~FakeGeolocationSource() override = default; - // GeolocationManager implementation: + // SystemGeolocationSource implementation: void StartWatchingPosition(bool) override {} void StopWatchingPosition() override {} - device::LocationSystemPermissionStatus GetSystemPermission() const override + void RegisterPermissionUpdateCallback(PermissionUpdateCallback callback) { - return device::LocationSystemPermissionStatus::kDenied; + callback.Run(device::LocationSystemPermissionStatus::kDenied); } + void RegisterPositionUpdateCallback(PositionUpdateCallback callback) {} }; #endif // BUILDFLAG(IS_MAC) @@ -250,7 +252,7 @@ int BrowserMainPartsQt::PreEarlyInitialization() void BrowserMainPartsQt::PreCreateMainMessageLoop() { #if BUILDFLAG(IS_MAC) - m_geolocationManager = std::make_unique<FakeGeolocationManager>(); + m_geolocationManager = std::make_unique<device::GeolocationManager>(std::make_unique<FakeGeolocationSource>()); #endif } diff --git a/src/core/browser_message_filter_qt.h b/src/core/browser_message_filter_qt.h index 53c48eb6e..0f5721c82 100644 --- a/src/core/browser_message_filter_qt.h +++ b/src/core/browser_message_filter_qt.h @@ -4,7 +4,7 @@ #ifndef BROWSER_MESSAGE_FILTER_QT_H #define BROWSER_MESSAGE_FILTER_QT_H -#include "base/callback.h" +#include "base/functional/callback.h" #include "content/public/browser/browser_message_filter.h" class GURL; diff --git a/src/core/browsing_data_remover_delegate_qt.cpp b/src/core/browsing_data_remover_delegate_qt.cpp index bbfd902ec..6a408598a 100644 --- a/src/core/browsing_data_remover_delegate_qt.cpp +++ b/src/core/browsing_data_remover_delegate_qt.cpp @@ -3,8 +3,8 @@ #include "browsing_data_remover_delegate_qt.h" -#include "base/bind.h" -#include "base/callback.h" +#include "base/functional/bind.h" +#include "base/functional/callback.h" #include "components/web_cache/browser/web_cache_manager.h" #include "content/public/browser/browsing_data_remover.h" diff --git a/src/core/certificate_error_controller.h b/src/core/certificate_error_controller.h index b61845e7b..4fb1a3c77 100644 --- a/src/core/certificate_error_controller.h +++ b/src/core/certificate_error_controller.h @@ -16,8 +16,10 @@ #define CERTIFICATE_ERROR_CONTROLLER_H #include "qtwebenginecoreglobal_p.h" -#include "base/callback.h" + +#include "base/functional/callback.h" #include "content/public/browser/certificate_request_result_type.h" + #include "qwebenginecertificateerror.h" #include <QtCore/QDateTime> #include <QtCore/QScopedPointer> diff --git a/src/core/client_cert_select_controller.cpp b/src/core/client_cert_select_controller.cpp index a4ce6f6da..d6af984c1 100644 --- a/src/core/client_cert_select_controller.cpp +++ b/src/core/client_cert_select_controller.cpp @@ -3,7 +3,7 @@ #include "client_cert_select_controller.h" -#include <base/bind.h> +#include <base/functional/bind.h> #include <content/public/browser/client_certificate_delegate.h> #include <net/cert/x509_certificate.h> #include <net/ssl/client_cert_identity.h> @@ -77,7 +77,8 @@ void ClientCertSelectController::select(const QSslCertificate &certificate) } QByteArray derCertificate = certificate.toDer(); scoped_refptr<net::X509Certificate> selectedCert = - net::X509Certificate::CreateFromBytes(base::make_span((const unsigned char *)derCertificate.constData(), derCertificate.length())); + net::X509Certificate::CreateFromBytes(base::make_span((const unsigned char *)derCertificate.constData(), + (long unsigned)derCertificate.length())); for (auto &certInfo : m_clientCerts) { scoped_refptr<net::X509Certificate> cert = certInfo->certificate(); if (cert->EqualsExcludingChain(selectedCert.get())) { diff --git a/src/core/compositor/display_skia_output_device.cpp b/src/core/compositor/display_skia_output_device.cpp index 9f9462193..e04f5d5ec 100644 --- a/src/core/compositor/display_skia_output_device.cpp +++ b/src/core/compositor/display_skia_output_device.cpp @@ -318,7 +318,7 @@ void DisplaySkiaOutputDevice::SwapBuffers(BufferPresentedCallback feedback, { QMutexLocker locker(&m_mutex); - m_taskRunner = base::ThreadTaskRunnerHandle::Get(); + m_taskRunner = base::SingleThreadTaskRunner::GetCurrentDefault(); std::swap(m_middleBuffer, m_backBuffer); m_readyToUpdate = true; } diff --git a/src/core/compositor/display_skia_output_device.h b/src/core/compositor/display_skia_output_device.h index 27bee2d1d..07ea9dfeb 100644 --- a/src/core/compositor/display_skia_output_device.h +++ b/src/core/compositor/display_skia_output_device.h @@ -7,7 +7,7 @@ #include "compositor_resource_fence.h" #include "compositor.h" -#include "base/threading/thread_task_runner_handle.h" +#include "base/task/single_thread_task_runner.h" #include "components/viz/service/display_embedder/skia_output_device.h" #include "gpu/command_buffer/service/shared_context_state.h" diff --git a/src/core/compositor/display_software_output_surface.cpp b/src/core/compositor/display_software_output_surface.cpp index 647c761c3..b934bcd90 100644 --- a/src/core/compositor/display_software_output_surface.cpp +++ b/src/core/compositor/display_software_output_surface.cpp @@ -7,7 +7,7 @@ #include "render_widget_host_view_qt_delegate.h" #include "type_conversion.h" -#include "base/threading/thread_task_runner_handle.h" +#include "base/task/single_thread_task_runner.h" #include "components/viz/service/display/display.h" #include "components/viz/service/display/output_surface_frame.h" @@ -25,7 +25,7 @@ public: // Overridden from viz::SoftwareOutputDevice. void Resize(const gfx::Size &sizeInPixels, float devicePixelRatio) override; - void OnSwapBuffers(SwapBuffersCallback swap_ack_callback, gl::FrameData data) override; + void OnSwapBuffers(SwapBuffersCallback swap_ack_callback, gfx::FrameData data) override; // Overridden from Compositor. void swapFrame() override; @@ -60,11 +60,11 @@ void DisplaySoftwareOutputSurface::Device::Resize(const gfx::Size &sizeInPixels, surface_ = SkSurface::MakeRaster(SkImageInfo::MakeN32Premul(sizeInPixels.width(), sizeInPixels.height())); } -void DisplaySoftwareOutputSurface::Device::OnSwapBuffers(SwapBuffersCallback swap_ack_callback, gl::FrameData data) +void DisplaySoftwareOutputSurface::Device::OnSwapBuffers(SwapBuffersCallback swap_ack_callback, gfx::FrameData data) { { // MEMO don't hold a lock together with an 'observer', as the call from Qt's scene graph may come at the same time QMutexLocker locker(&m_mutex); - m_taskRunner = base::ThreadTaskRunnerHandle::Get(); + m_taskRunner = base::SingleThreadTaskRunner::GetCurrentDefault(); m_swapCompletionCallback = std::move(swap_ack_callback); } diff --git a/src/core/compositor/native_skia_output_device.cpp b/src/core/compositor/native_skia_output_device.cpp index dfd2ee24b..df6747ab9 100644 --- a/src/core/compositor/native_skia_output_device.cpp +++ b/src/core/compositor/native_skia_output_device.cpp @@ -16,10 +16,7 @@ #include "third_party/skia/include/core/SkSurfaceProps.h" #include "ui/gl/gl_fence.h" -#if defined(Q_OS_MACOS) -#include "ui/gl/gl_image_io_surface.h" -#elif defined(Q_OS_WIN) -#include "ui/gl/gl_image_d3d.h" +#if defined(Q_OS_WIN) #include <QtQuick/qsgtexture.h> #include <d3d11_1.h> #endif @@ -164,7 +161,13 @@ public: m_textureCleanup = nullptr; } } -#ifdef Q_OS_MACOS +#if defined(Q_OS_WIN) + absl::optional<gl::DCLayerOverlayImage> overlayImage() const + { + DCHECK(m_presentCount); + return m_scopedOverlayReadAccess->GetDCLayerOverlayImage(); + } +#elif defined(Q_OS_MACOS) gfx::ScopedIOSurface ioSurface() const { DCHECK(m_presentCount); @@ -270,7 +273,7 @@ void NativeSkiaOutputDevice::SwapBuffers(BufferPresentedCallback feedback, { QMutexLocker locker(&m_mutex); m_backBuffer->createFence(); - m_taskRunner = base::ThreadTaskRunnerHandle::Get(); + m_taskRunner = base::SingleThreadTaskRunner::GetCurrentDefault(); std::swap(m_middleBuffer, m_backBuffer); m_readyToUpdate = true; } @@ -360,37 +363,38 @@ QSGTexture *NativeSkiaOutputDevice::texture(QQuickWindow *win, uint32_t textureO Q_ASSERT(QQuickWindow::graphicsApi() == QSGRendererInterface::Direct3D11); QSGTexture *texture = nullptr; - gl::GLImageD3D *gl_image_d3d = gl::GLImageD3D::FromGLImage(m_frontBuffer->glImage()); - if (gl_image_d3d) { + auto overlay_image = m_frontBuffer->overlayImage(); + if (overlay_image) { // Pass texture between two D3D devices: HRESULT status = S_OK; - HANDLE sharedHandle; - sharedHandle = gl_image_d3d->shared_handle(); - if (!sharedHandle) { - qWarning() << "No shared handle"; + HANDLE sharedHandle = nullptr; + IDXGIResource1 *resource = nullptr; + if (!overlay_image->nv12_texture()) { + qWarning() << "No D3D texture"; return nullptr; } + status = overlay_image->nv12_texture()->QueryInterface(__uuidof(IDXGIResource1), (void**)&resource); + Q_ASSERT(status == S_OK); + status = resource->CreateSharedHandle(NULL, DXGI_SHARED_RESOURCE_READ, NULL, &sharedHandle); + Q_ASSERT(status == S_OK); Q_ASSERT(sharedHandle); - HANDLE sharedHandleDup; - DuplicateHandle(GetCurrentProcess(), sharedHandle, GetCurrentProcess(), &sharedHandleDup, 0, FALSE, DUPLICATE_SAME_ACCESS); - QSGRendererInterface *ri = win->rendererInterface(); ID3D11Device1 *device = static_cast<ID3D11Device1 *>(ri->getResource(win, QSGRendererInterface::DeviceResource)); ID3D11Texture2D *qtTexture; - status = device->OpenSharedResource1(sharedHandleDup, __uuidof(ID3D11Texture2D), (void**)&qtTexture); + status = device->OpenSharedResource1(sharedHandle, __uuidof(ID3D11Texture2D), (void**)&qtTexture); Q_ASSERT(status == S_OK); QQuickWindow::CreateTextureOptions texOpts(textureOptions); texture = QNativeInterface::QSGD3D11Texture::fromNative(qtTexture, win, size(), texOpts); - m_frontBuffer->m_textureCleanup = [qtTexture,sharedHandleDup]() { + m_frontBuffer->m_textureCleanup = [qtTexture,sharedHandle]() { qtTexture->Release(); - ::CloseHandle(sharedHandleDup); + ::CloseHandle(sharedHandle); }; } else { - qWarning() << "GLImage is not D3D"; + qWarning() << "No overlay image"; } return texture; diff --git a/src/core/compositor/native_skia_output_device.h b/src/core/compositor/native_skia_output_device.h index 450f909b0..7b92ba644 100644 --- a/src/core/compositor/native_skia_output_device.h +++ b/src/core/compositor/native_skia_output_device.h @@ -6,7 +6,7 @@ #include "compositor.h" -#include "base/threading/thread_task_runner_handle.h" +#include "base/task/single_thread_task_runner.h" #include "components/viz/service/display_embedder/skia_output_device.h" #include "gpu/command_buffer/service/shared_context_state.h" diff --git a/src/core/configure/BUILD.root.gn.in b/src/core/configure/BUILD.root.gn.in index 45707ddca..b60651a62 100644 --- a/src/core/configure/BUILD.root.gn.in +++ b/src/core/configure/BUILD.root.gn.in @@ -87,20 +87,19 @@ config("embedded_config") { defines = [ "QTWEBENGINE_EMBEDDED_SWITCHES=1" ] } -config("cpp17_config") { - # static initialized constexpr expressions must be compiled always as c++14 or always as c++17 - # and our qtwebengine core sources use them as c++17 +config("cpp20_config") { + # Chromium is build with C++20 if (is_win) { - cflags_cc = [ "/std:c++17" ] + cflags_cc = [ "/std:c++20" ] } else { - cflags_cc = [ "-std=c++17" ] + cflags_cc = [ "-std=c++20" ] } } shared_library("QtWebEngineCore") { rsp_types = [ "objects", "archives", "libs", "lflags"] configs += [ - ":cpp17_config", + ":cpp20_config", ":QtWebEngineCore_config", "//build/config:precompiled_headers" ] @@ -125,6 +124,7 @@ shared_library("QtWebEngineCore") { "//components/gcm_driver", "//components/history/content/browser", "//components/keyed_service/content", + "//components/lens:buildflags", "//components/navigation_interception", "//components/network_hints/browser", "//components/network_hints/common:mojo_bindings", @@ -135,6 +135,7 @@ shared_library("QtWebEngineCore") { "//components/web_cache/browser", "//components/web_cache/renderer", "//components/spellcheck:buildflags", + "//components/supervised_user/core/common:buildflags", "//components/profile_metrics", "//components/proxy_config", "//components/user_prefs", @@ -225,7 +226,7 @@ source_set("qtwebengine_spellcheck_sources") { } source_set("devtools_sources") { - configs += [ ":cpp17_config" ] + configs += [ ":cpp20_config" ] deps = [ "//components/zoom", "//third_party/blink/public/mojom:mojom_platform", @@ -252,7 +253,7 @@ source_set("devtools_sources") { source_set("qtwebengine_sources") { configs += [ - ":cpp17_config", + ":cpp20_config", "//skia:skia_config", "//third_party/boringssl:external_config", ] @@ -513,7 +514,7 @@ source_set("qtwebengine_sources") { if (is_win) { static_library("QtWebEngineCoreSandbox") { complete_static_lib = true - configs += [ ":cpp17_config", + configs += [ ":cpp20_config", ":QtWebEngineCore_config", "//build/config:precompiled_headers" ] @@ -548,6 +549,7 @@ repack("qtwebengine_repack_resources") { "$root_gen_dir/chrome/net_internals_resources.pak", "$root_gen_dir/components/components_resources.pak", "$root_gen_dir/components/dev_ui_components_resources.pak", + "$root_gen_dir/content/attribution_internals_resources.pak", "$root_gen_dir/content/browser/resources/media/media_internals_resources.pak", "$root_gen_dir/content/browser/tracing/tracing_resources.pak", "$root_gen_dir/content/content_resources.pak", @@ -557,7 +559,7 @@ repack("qtwebengine_repack_resources") { "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak", "$root_gen_dir/net/net_resources.pak", "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak", - "$root_gen_dir/ui/resources/webui_generated_resources.pak", + "$root_gen_dir/ui/resources/webui_resources.pak", ] output = "$root_out_dir/qtwebengine_resources.pak" deps = [ @@ -567,6 +569,7 @@ repack("qtwebengine_repack_resources") { "//chrome/common:resources_grit", "//components/resources:components_resources_grit", "//components/resources:dev_ui_components_resources_grit", + "//content/browser/resources/attribution_reporting:resources", "//content/browser/resources/media:resources", "//content/browser/tracing:resources", "//content:content_resources", @@ -576,7 +579,7 @@ repack("qtwebengine_repack_resources") { "//mojo/public/js:resources", "//net:net_resources_grit", "//third_party/blink/public:resources_grit", - "//ui/resources:webui_generated_resources_grd", + "//ui/resources:webui_resources_grd", ] if (enable_extensions) { sources += [ diff --git a/src/core/content_client_qt.cpp b/src/core/content_client_qt.cpp index fab8a5abb..5d93e25ba 100644 --- a/src/core/content_client_qt.cpp +++ b/src/core/content_client_qt.cpp @@ -30,8 +30,10 @@ #include <QLibraryInfo> #include <QString> + #if BUILDFLAG(ENABLE_LIBRARY_CDMS) #include "media/cdm/cdm_paths.h" // nogncheck +#include "media/cdm/clear_key_cdm_common.h" #include "third_party/widevine/cdm/buildflags.h" #include "third_party/widevine/cdm/widevine_cdm_common.h" #if BUILDFLAG(ENABLE_WIDEVINE) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) diff --git a/src/core/devtools_frontend_qt.cpp b/src/core/devtools_frontend_qt.cpp index e4eadca43..8c537a6c7 100644 --- a/src/core/devtools_frontend_qt.cpp +++ b/src/core/devtools_frontend_qt.cpp @@ -136,12 +136,12 @@ WebContentsDelegateQt *DevToolsFrontendQt::frontendDelegate() const void DevToolsFrontendQt::ColorPickedInEyeDropper(int r, int g, int b, int a) { - base::DictionaryValue color; - color.SetInteger("r", r); - color.SetInteger("g", g); - color.SetInteger("b", b); - color.SetInteger("a", a); - m_bindings->CallClientMethod("DevToolsAPI", "eyeDropperPickedColor", std::move(color)); + base::Value::Dict color; + color.Set("r", r); + color.Set("g", g); + color.Set("b", b); + color.Set("a", a); + m_bindings->CallClientMethod("DevToolsAPI", "eyeDropperPickedColor", base::Value(std::move(color))); } // content::WebContentsObserver implementation diff --git a/src/core/extensions/extension_host_delegate_qt.cpp b/src/core/extensions/extension_host_delegate_qt.cpp index 6cc268e75..067ec3d9d 100644 --- a/src/core/extensions/extension_host_delegate_qt.cpp +++ b/src/core/extensions/extension_host_delegate_qt.cpp @@ -33,13 +33,13 @@ content::JavaScriptDialogManager *ExtensionHostDelegateQt::GetJavaScriptDialogMa void ExtensionHostDelegateQt::CreateTab(std::unique_ptr<content::WebContents> web_contents, const std::string &extension_id, WindowOpenDisposition disposition, - const gfx::Rect &initial_rect, + const blink::mojom::WindowFeatures &features, bool user_gesture) { Q_UNUSED(web_contents); Q_UNUSED(extension_id); Q_UNUSED(disposition); - Q_UNUSED(initial_rect); + Q_UNUSED(features); Q_UNUSED(user_gesture); Q_UNREACHABLE(); diff --git a/src/core/extensions/extension_host_delegate_qt.h b/src/core/extensions/extension_host_delegate_qt.h index e5577b3fd..1c2688933 100644 --- a/src/core/extensions/extension_host_delegate_qt.h +++ b/src/core/extensions/extension_host_delegate_qt.h @@ -20,7 +20,7 @@ public: void CreateTab(std::unique_ptr<content::WebContents> web_contents, const std::string &extension_id, WindowOpenDisposition disposition, - const gfx::Rect &initial_rect, + const blink::mojom::WindowFeatures &features, bool user_gesture) override; void ProcessMediaAccessRequest(content::WebContents *web_contents, const content::MediaStreamRequest &request, diff --git a/src/core/extensions/extension_system_qt.cpp b/src/core/extensions/extension_system_qt.cpp index 42dfd0d67..d55d7d036 100644 --- a/src/core/extensions/extension_system_qt.cpp +++ b/src/core/extensions/extension_system_qt.cpp @@ -11,7 +11,7 @@ #include "base/base_paths.h" #include "base/base_switches.h" -#include "base/bind.h" +#include "base/functional/bind.h" #include "base/command_line.h" #include "base/files/file_path.h" #include "base/files/file_util.h" diff --git a/src/core/extensions/pdf_iframe_navigation_throttle_qt.cpp b/src/core/extensions/pdf_iframe_navigation_throttle_qt.cpp index 15aa4a6c4..9b6b38a52 100644 --- a/src/core/extensions/pdf_iframe_navigation_throttle_qt.cpp +++ b/src/core/extensions/pdf_iframe_navigation_throttle_qt.cpp @@ -9,6 +9,7 @@ #include "extensions/pdf_iframe_navigation_throttle_qt.h" +#include "base/task/sequenced_task_runner.h" #include "chrome/grit/renderer_resources.h" #include "components/strings/grit/components_strings.h" #include "content/public/browser/download_utils.h" @@ -181,7 +182,7 @@ void PDFIFrameNavigationThrottleQt::LoadPlaceholderHTML() PdfWebContentsLifetimeHelper::CreateForWebContents(web_contents); PdfWebContentsLifetimeHelper *helper = PdfWebContentsLifetimeHelper::FromWebContents(web_contents); - base::SequencedTaskRunnerHandle::Get()->PostTask( + base::SequencedTaskRunner::GetCurrentDefault()->PostTask( FROM_HERE, base::BindOnce(&PdfWebContentsLifetimeHelper::NavigateIFrameToPlaceholder, helper->GetWeakPtr(), std::move(params))); diff --git a/src/core/file_system_access/file_system_access_permission_context_qt.cpp b/src/core/file_system_access/file_system_access_permission_context_qt.cpp index 5628744ea..8bb9d8d77 100644 --- a/src/core/file_system_access/file_system_access_permission_context_qt.cpp +++ b/src/core/file_system_access/file_system_access_permission_context_qt.cpp @@ -241,6 +241,8 @@ FileSystemAccessPermissionContextQt::GetReadPermissionGrant(const url::Origin &o break; case UserAction::kLoadFromStorage: break; + case UserAction::kNone: + Q_UNREACHABLE(); } return existing_grant; @@ -285,6 +287,8 @@ FileSystemAccessPermissionContextQt::GetWritePermissionGrant(const url::Origin & case UserAction::kDragAndDrop: case UserAction::kLoadFromStorage: break; + case UserAction::kNone: + Q_UNREACHABLE(); } return existing_grant; diff --git a/src/core/file_system_access/file_system_access_permission_request_manager_qt.h b/src/core/file_system_access/file_system_access_permission_request_manager_qt.h index f8746eabf..840854911 100644 --- a/src/core/file_system_access/file_system_access_permission_request_manager_qt.h +++ b/src/core/file_system_access/file_system_access_permission_request_manager_qt.h @@ -4,9 +4,9 @@ #ifndef FILE_SYSTEM_ACCESS_PERMISSION_REQUEST_MANAGER_QT_H #define FILE_SYSTEM_ACCESS_PERMISSION_REQUEST_MANAGER_QT_H -#include "base/callback_helpers.h" #include "base/containers/circular_deque.h" #include "base/files/file_path.h" +#include "base/functional/callback_helpers.h" #include "base/memory/weak_ptr.h" #include "content/public/browser/file_system_access_permission_context.h" #include "content/public/browser/web_contents_observer.h" diff --git a/src/core/javascript_dialog_controller_p.h b/src/core/javascript_dialog_controller_p.h index 8345cd50b..af064250b 100644 --- a/src/core/javascript_dialog_controller_p.h +++ b/src/core/javascript_dialog_controller_p.h @@ -15,7 +15,7 @@ // We mean it. // -#include "base/callback.h" +#include "base/functional/callback.h" #include "content/public/browser/javascript_dialog_manager.h" #include "web_contents_adapter_client.h" diff --git a/src/core/location_provider_qt.cpp b/src/core/location_provider_qt.cpp index c7273eaea..cb0565f62 100644 --- a/src/core/location_provider_qt.cpp +++ b/src/core/location_provider_qt.cpp @@ -12,7 +12,7 @@ #include <QtCore/QThread> #include <QtPositioning/QGeoPositionInfoSource> -#include "base/bind.h" +#include "base/functional/bind.h" #include "base/memory/weak_ptr.h" #include "content/public/browser/browser_thread.h" #include "services/device/geolocation/geolocation_provider.h" diff --git a/src/core/net/client_cert_qt.cpp b/src/core/net/client_cert_qt.cpp index d5ea1a776..1a6f97079 100644 --- a/src/core/net/client_cert_qt.cpp +++ b/src/core/net/client_cert_qt.cpp @@ -3,8 +3,8 @@ #include "client_cert_qt.h" -#include "base/bind.h" -#include "base/callback_forward.h" +#include "base/functional/bind.h" +#include "base/functional/callback_forward.h" #include "content/public/browser/browser_task_traits.h" #include "crypto/crypto_buildflags.h" #include "net/ssl/client_cert_store.h" diff --git a/src/core/net/client_cert_qt.h b/src/core/net/client_cert_qt.h index 85b0d28be..96579fae6 100644 --- a/src/core/net/client_cert_qt.h +++ b/src/core/net/client_cert_qt.h @@ -4,9 +4,9 @@ #ifndef CLIENT_CERT_QT_P_H #define CLIENT_CERT_QT_P_H -#include "net/ssl/client_cert_store.h" -#include "base/callback_forward.h" +#include "base/functional/callback_forward.h" #include "net/cert/x509_certificate.h" +#include "net/ssl/client_cert_store.h" namespace net { class SSLCertRequestInfo; diff --git a/src/core/net/client_cert_store_data.cpp b/src/core/net/client_cert_store_data.cpp index 306e782e0..0de6885df 100644 --- a/src/core/net/client_cert_store_data.cpp +++ b/src/core/net/client_cert_store_data.cpp @@ -97,7 +97,8 @@ void ClientCertificateStoreData::add(const QSslCertificate &certificate, const Q Entry *data = new Entry; data->keyPtr = wrapOpenSSLPrivateKey(sslKeyInBytes); - data->certPtr = net::X509Certificate::CreateFromBytes(base::make_span((const unsigned char *)certInBytes.data(), certInBytes.length())); + data->certPtr = net::X509Certificate::CreateFromBytes(base::make_span((const unsigned char *)certInBytes.data(), + (unsigned long)certInBytes.length())); data->key = privateKey; data->certificate = certificate; extraCerts.append(data); diff --git a/src/core/net/cookie_monster_delegate_qt.cpp b/src/core/net/cookie_monster_delegate_qt.cpp index dc47de207..147e63f9a 100644 --- a/src/core/net/cookie_monster_delegate_qt.cpp +++ b/src/core/net/cookie_monster_delegate_qt.cpp @@ -3,7 +3,7 @@ #include "cookie_monster_delegate_qt.h" -#include "base/bind.h" +#include "base/functional/bind.h" #include "net/cookies/cookie_util.h" #include "services/network/public/mojom/cookie_manager.mojom.h" diff --git a/src/core/net/custom_url_loader_factory.cpp b/src/core/net/custom_url_loader_factory.cpp index 6c90246a5..5ad02ebc3 100644 --- a/src/core/net/custom_url_loader_factory.cpp +++ b/src/core/net/custom_url_loader_factory.cpp @@ -273,7 +273,8 @@ private: m_head->encoded_data_length = m_head->headers->raw_headers().length(); if (!m_redirect.is_empty()) { - m_head->content_length = m_head->encoded_body_length = -1; + m_head->content_length = {}; + m_head->encoded_body_length = {}; net::RedirectInfo::FirstPartyURLPolicy first_party_url_policy = m_request.update_first_party_url_on_redirect ? net::RedirectInfo::FirstPartyURLPolicy::UPDATE_URL_ON_REDIRECT : net::RedirectInfo::FirstPartyURLPolicy::NEVER_CHANGE_URL; @@ -341,7 +342,8 @@ private: } m_head->headers = base::MakeRefCounted<net::HttpResponseHeaders>(net::HttpUtil::AssembleRawHeaders(headers)); m_head->encoded_data_length = m_head->headers->raw_headers().length(); - m_head->content_length = m_head->encoded_body_length = -1; + m_head->content_length = {}; + m_head->encoded_body_length = {}; m_client->OnReceiveResponse(std::move(m_head), mojo::ScopedDataPipeConsumerHandle(), absl::nullopt); CompleteWithFailure(net::Error(error)); } diff --git a/src/core/net/plugin_response_interceptor_url_loader_throttle.cpp b/src/core/net/plugin_response_interceptor_url_loader_throttle.cpp index f61fb704a..fb7656392 100644 --- a/src/core/net/plugin_response_interceptor_url_loader_throttle.cpp +++ b/src/core/net/plugin_response_interceptor_url_loader_throttle.cpp @@ -8,7 +8,7 @@ #include "plugin_response_interceptor_url_loader_throttle.h" -#include "base/bind.h" +#include "base/functional/bind.h" #include "base/guid.h" #include "chrome/browser/extensions/api/streams_private/streams_private_api.h" #include "content/public/browser/browser_context.h" diff --git a/src/core/net/proxying_restricted_cookie_manager_qt.cpp b/src/core/net/proxying_restricted_cookie_manager_qt.cpp index d0c5b67de..5bae987e2 100644 --- a/src/core/net/proxying_restricted_cookie_manager_qt.cpp +++ b/src/core/net/proxying_restricted_cookie_manager_qt.cpp @@ -66,15 +66,15 @@ ProxyingRestrictedCookieManagerQt::~ProxyingRestrictedCookieManagerQt() void ProxyingRestrictedCookieManagerQt::GetAllForUrl(const GURL &url, const net::SiteForCookies &site_for_cookies, - const url::Origin &top_frame_origin, + const url::Origin &top_frame_origin, bool has_storage_access, network::mojom::CookieManagerGetOptionsPtr options, GetAllForUrlCallback callback) { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); if (allowCookies(url, site_for_cookies)) { - underlying_restricted_cookie_manager_->GetAllForUrl(url, site_for_cookies, top_frame_origin, std::move(options), - std::move(callback)); + underlying_restricted_cookie_manager_->GetAllForUrl(url, site_for_cookies, top_frame_origin, has_storage_access, + std::move(options), std::move(callback)); } else { std::move(callback).Run(std::vector<net::CookieWithAccessResult>()); } @@ -84,13 +84,15 @@ void ProxyingRestrictedCookieManagerQt::SetCanonicalCookie(const net::CanonicalC const GURL &url, const net::SiteForCookies &site_for_cookies, const url::Origin &top_frame_origin, + bool has_storage_access, net::CookieInclusionStatus status, SetCanonicalCookieCallback callback) { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); if (allowCookies(url, site_for_cookies)) { - underlying_restricted_cookie_manager_->SetCanonicalCookie(cookie, url, site_for_cookies, top_frame_origin, status, std::move(callback)); + underlying_restricted_cookie_manager_->SetCanonicalCookie(cookie, url, site_for_cookies, top_frame_origin, + has_storage_access, status, std::move(callback)); } else { std::move(callback).Run(false); } @@ -99,24 +101,26 @@ void ProxyingRestrictedCookieManagerQt::SetCanonicalCookie(const net::CanonicalC void ProxyingRestrictedCookieManagerQt::AddChangeListener(const GURL &url, const net::SiteForCookies &site_for_cookies, const url::Origin &top_frame_origin, + bool has_storage_access, mojo::PendingRemote<network::mojom::CookieChangeListener> listener, AddChangeListenerCallback callback) { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); - underlying_restricted_cookie_manager_->AddChangeListener(url, site_for_cookies, top_frame_origin, std::move(listener), std::move(callback)); + underlying_restricted_cookie_manager_->AddChangeListener(url, site_for_cookies, top_frame_origin, has_storage_access, + std::move(listener), std::move(callback)); } void ProxyingRestrictedCookieManagerQt::SetCookieFromString(const GURL &url, const net::SiteForCookies &site_for_cookies, - const url::Origin &top_frame_origin, + const url::Origin &top_frame_origin, bool has_storage_access, const std::string &cookie, SetCookieFromStringCallback callback) { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); if (allowCookies(url, site_for_cookies)) { - underlying_restricted_cookie_manager_->SetCookieFromString(url, site_for_cookies, top_frame_origin, cookie, - std::move(callback)); + underlying_restricted_cookie_manager_->SetCookieFromString(url, site_for_cookies, top_frame_origin, has_storage_access, + cookie, std::move(callback)); } else { std::move(callback).Run(false, false); // FIXME: is true, true in aw_proxying_restricted_cookie_manager.cc though.. } @@ -124,14 +128,14 @@ void ProxyingRestrictedCookieManagerQt::SetCookieFromString(const GURL &url, void ProxyingRestrictedCookieManagerQt::GetCookiesString(const GURL &url, const net::SiteForCookies &site_for_cookies, - const url::Origin &top_frame_origin, + const url::Origin &top_frame_origin, bool has_storage_access, GetCookiesStringCallback callback) { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); if (allowCookies(url, site_for_cookies)) { underlying_restricted_cookie_manager_->GetCookiesString(url, site_for_cookies, top_frame_origin, - std::move(callback)); + has_storage_access, std::move(callback)); } else { std::move(callback).Run(""); } @@ -140,6 +144,7 @@ void ProxyingRestrictedCookieManagerQt::GetCookiesString(const GURL &url, void ProxyingRestrictedCookieManagerQt::CookiesEnabledFor(const GURL &url, const net::SiteForCookies &site_for_cookies, const url::Origin & /*top_frame_origin*/, + bool /*has_storage_access*/, CookiesEnabledForCallback callback) { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); diff --git a/src/core/net/proxying_restricted_cookie_manager_qt.h b/src/core/net/proxying_restricted_cookie_manager_qt.h index 70b8499c0..6afdc9301 100644 --- a/src/core/net/proxying_restricted_cookie_manager_qt.h +++ b/src/core/net/proxying_restricted_cookie_manager_qt.h @@ -27,31 +27,38 @@ public: void GetAllForUrl(const GURL &url, const net::SiteForCookies &site_for_cookies, const url::Origin &top_frame_origin, + bool has_storage_access, network::mojom::CookieManagerGetOptionsPtr options, GetAllForUrlCallback callback) override; + void SetCanonicalCookie(const net::CanonicalCookie& cookie, const GURL &url, const net::SiteForCookies &site_for_cookies, const url::Origin &top_frame_origin, + bool has_storage_access, net::CookieInclusionStatus status, SetCanonicalCookieCallback callback) override; void AddChangeListener(const GURL &url, const net::SiteForCookies &site_for_cookies, const url::Origin &top_frame_origin, + bool has_storage_access, mojo::PendingRemote<network::mojom::CookieChangeListener> listener, AddChangeListenerCallback callback) override; void SetCookieFromString(const GURL &url, const net::SiteForCookies &site_for_cookies, const url::Origin &top_frame_origin, + bool has_storage_access, const std::string &cookie, SetCookieFromStringCallback callback) override; void GetCookiesString(const GURL &url, const net::SiteForCookies &site_for_cookies, const url::Origin &top_frame_origin, + bool has_storage_access, GetCookiesStringCallback callback) override; void CookiesEnabledFor(const GURL &url, const net::SiteForCookies &site_for_cookies, const url::Origin &top_frame_origin, + bool has_storage_access, CookiesEnabledForCallback callback) override; // Internal: diff --git a/src/core/net/proxying_url_loader_factory_qt.cpp b/src/core/net/proxying_url_loader_factory_qt.cpp index b0ecf9cea..e52b92b2c 100644 --- a/src/core/net/proxying_url_loader_factory_qt.cpp +++ b/src/core/net/proxying_url_loader_factory_qt.cpp @@ -5,7 +5,7 @@ #include <utility> -#include "base/bind.h" +#include "base/functional/bind.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/web_contents.h" diff --git a/src/core/net/ssl_host_state_delegate_qt.cpp b/src/core/net/ssl_host_state_delegate_qt.cpp index d0308389d..20429e62e 100644 --- a/src/core/net/ssl_host_state_delegate_qt.cpp +++ b/src/core/net/ssl_host_state_delegate_qt.cpp @@ -3,7 +3,7 @@ #include "ssl_host_state_delegate_qt.h" -#include "base/callback.h" +#include "base/functional/callback.h" namespace QtWebEngineCore { diff --git a/src/core/net/system_network_context_manager.cpp b/src/core/net/system_network_context_manager.cpp index 8df65b7a5..1a7b01ce8 100644 --- a/src/core/net/system_network_context_manager.cpp +++ b/src/core/net/system_network_context_manager.cpp @@ -8,8 +8,8 @@ #include "net/system_network_context_manager.h" -#include "base/bind.h" #include "base/command_line.h" +#include "base/functional/bind.h" #include "base/strings/string_split.h" #include "chrome/browser/net/chrome_mojo_proxy_resolver_factory.h" #include "chrome/common/chrome_switches.h" diff --git a/src/core/net/webui_controller_factory_qt.cpp b/src/core/net/webui_controller_factory_qt.cpp index edfe9ade2..ca0e66a9b 100644 --- a/src/core/net/webui_controller_factory_qt.cpp +++ b/src/core/net/webui_controller_factory_qt.cpp @@ -11,7 +11,7 @@ #include "build_config_qt.h" #include "devtools_frontend_qt.h" -#include "base/bind.h" +#include "base/functional/bind.h" #include "build/build_config.h" #include "chrome/browser/accessibility/accessibility_ui.h" #include "chrome/browser/profiles/profile.h" diff --git a/src/core/ozone/gl_ozone_egl_qt.cpp b/src/core/ozone/gl_ozone_egl_qt.cpp index 287f07713..43305289d 100644 --- a/src/core/ozone/gl_ozone_egl_qt.cpp +++ b/src/core/ozone/gl_ozone_egl_qt.cpp @@ -41,10 +41,12 @@ bool GLOzoneEGLQt::LoadGLES2Bindings(const gl::GLImplementationParts & /*impleme return LoadQtEGLBindings(); } -gl::GLDisplay *GLOzoneEGLQt::InitializeGLOneOffPlatform(uint64_t system_device_id) +gl::GLDisplay *GLOzoneEGLQt::InitializeGLOneOffPlatform(bool supports_angle, + std::vector<gl::DisplayType> init_displays, + gl::GpuPreference gpu_preference) { - if (auto display = gl::GLSurfaceEGLQt::InitializeOneOff(system_device_id)) { - if (!static_cast<gl::GLDisplayEGL*>(display)->Initialize(GetNativeDisplay())) { + if (auto display = gl::GLSurfaceEGLQt::InitializeOneOff(gpu_preference)) { + if (!static_cast<gl::GLDisplayEGL*>(display)->Initialize(supports_angle, std::move(init_displays), GetNativeDisplay())) { LOG(ERROR) << "GLDisplayEGL::Initialize failed."; return nullptr; } @@ -53,6 +55,7 @@ gl::GLDisplay *GLOzoneEGLQt::InitializeGLOneOffPlatform(uint64_t system_device_i return nullptr; } + bool GLOzoneEGLQt::InitializeExtensionSettingsOneOffPlatform(gl::GLDisplay *display) { return static_cast<gl::GLDisplayEGL*>(display)->InitializeExtensionSettings(); diff --git a/src/core/ozone/gl_ozone_egl_qt.h b/src/core/ozone/gl_ozone_egl_qt.h index 6a313c8fa..7ac55979a 100644 --- a/src/core/ozone/gl_ozone_egl_qt.h +++ b/src/core/ozone/gl_ozone_egl_qt.h @@ -12,7 +12,9 @@ namespace ui { class GLOzoneEGLQt : public GLOzoneEGL { public: - gl::GLDisplay *InitializeGLOneOffPlatform(uint64_t system_device_id) override; + gl::GLDisplay *InitializeGLOneOffPlatform(bool supports_angle, + std::vector<gl::DisplayType> init_displays, + gl::GpuPreference gpu_preference) override; bool InitializeExtensionSettingsOneOffPlatform(gl::GLDisplay *display) override; scoped_refptr<gl::GLSurface> CreateViewGLSurface( gl::GLDisplay *display, diff --git a/src/core/ozone/gl_ozone_glx_qt.cpp b/src/core/ozone/gl_ozone_glx_qt.cpp index 661314085..a4a4ac5fb 100644 --- a/src/core/ozone/gl_ozone_glx_qt.cpp +++ b/src/core/ozone/gl_ozone_glx_qt.cpp @@ -21,8 +21,9 @@ namespace ui { -gl::GLDisplay *GLOzoneGLXQt::InitializeGLOneOffPlatform(uint64_t system_device_id) { - return gl::GLSurfaceGLXQt::InitializeOneOff(system_device_id); +gl::GLDisplay *GLOzoneGLXQt::InitializeGLOneOffPlatform(bool, std::vector<gl::DisplayType>, gl::GpuPreference preference) +{ + return gl::GLSurfaceGLXQt::InitializeOneOff(preference); } bool GLOzoneGLXQt::InitializeStaticGLBindings( diff --git a/src/core/ozone/gl_ozone_glx_qt.h b/src/core/ozone/gl_ozone_glx_qt.h index 177d37ba1..4df26ba71 100644 --- a/src/core/ozone/gl_ozone_glx_qt.h +++ b/src/core/ozone/gl_ozone_glx_qt.h @@ -15,7 +15,7 @@ public: GLOzoneGLXQt() {} ~GLOzoneGLXQt() override {} - gl::GLDisplay *InitializeGLOneOffPlatform(uint64_t system_device_id) override; + gl::GLDisplay *InitializeGLOneOffPlatform(bool, std::vector<gl::DisplayType>, gl::GpuPreference) override; bool InitializeStaticGLBindings(const gl::GLImplementationParts &implementation) override; bool InitializeExtensionSettingsOneOffPlatform(gl::GLDisplay *display) override; void ShutdownGL(gl::GLDisplay *display) override; diff --git a/src/core/ozone/gl_surface_egl_qt.cpp b/src/core/ozone/gl_surface_egl_qt.cpp index 63694d59d..413d2a20f 100644 --- a/src/core/ozone/gl_surface_egl_qt.cpp +++ b/src/core/ozone/gl_surface_egl_qt.cpp @@ -35,12 +35,12 @@ GLSurfaceEGLQt::~GLSurfaceEGLQt() Destroy(); } -gl::GLDisplay *GLSurfaceEGLQt::InitializeOneOff(uint64_t system_device_id) +gl::GLDisplay *GLSurfaceEGLQt::InitializeOneOff(gl::GpuPreference preference) { if (s_initialized) return g_display; - auto *egl_display = GLDisplayManagerEGL::GetInstance()->GetDisplay(system_device_id); + auto *egl_display = GLDisplayManagerEGL::GetInstance()->GetDisplay(preference); g_display = egl_display; egl_display->SetDisplay(GLContextHelper::getEGLDisplay()); if (!egl_display->GetDisplay()) { diff --git a/src/core/ozone/gl_surface_egl_qt.h b/src/core/ozone/gl_surface_egl_qt.h index 71992e700..6eee132e9 100644 --- a/src/core/ozone/gl_surface_egl_qt.h +++ b/src/core/ozone/gl_surface_egl_qt.h @@ -16,7 +16,7 @@ class GLSurfaceEGLQt: public GLSurfaceQt { public: explicit GLSurfaceEGLQt(gl::GLDisplayEGL *display, const gfx::Size& size); - static gl::GLDisplay *InitializeOneOff(uint64_t system_device_id); + static gl::GLDisplay *InitializeOneOff(gl::GpuPreference preference); static bool InitializeExtensionSettingsOneOff(); bool Initialize(GLSurfaceFormat format) override; diff --git a/src/core/ozone/gl_surface_glx_qt.cpp b/src/core/ozone/gl_surface_glx_qt.cpp index 21de815a8..a2a76ce00 100644 --- a/src/core/ozone/gl_surface_glx_qt.cpp +++ b/src/core/ozone/gl_surface_glx_qt.cpp @@ -88,12 +88,12 @@ GLSurfaceGLXQt::~GLSurfaceGLXQt() Destroy(); } -GLDisplay *GLSurfaceGLXQt::InitializeOneOff(uint64_t system_device_id) +GLDisplay *GLSurfaceGLXQt::InitializeOneOff(gl::GpuPreference preference) { if (s_initialized) return g_display; - g_display = GLDisplayManagerX11::GetInstance()->GetDisplay(system_device_id); + g_display = GLDisplayManagerX11::GetInstance()->GetDisplay(preference); if (!g_display->GetDisplay()) { LOG(ERROR) << "GLContextHelper::getXDisplay() failed."; return nullptr; diff --git a/src/core/ozone/gl_surface_glx_qt.h b/src/core/ozone/gl_surface_glx_qt.h index f81f6e9df..8cbf1fcf2 100644 --- a/src/core/ozone/gl_surface_glx_qt.h +++ b/src/core/ozone/gl_surface_glx_qt.h @@ -12,7 +12,7 @@ class GLSurfaceGLXQt: public GLSurfaceQt { public: explicit GLSurfaceGLXQt(const gfx::Size& size); - static gl::GLDisplay *InitializeOneOff(uint64_t system_device_id); + static gl::GLDisplay *InitializeOneOff(gl::GpuPreference preference); static bool InitializeExtensionSettingsOneOff(); bool Initialize(GLSurfaceFormat format) override; diff --git a/src/core/ozone/gl_surface_qt.cpp b/src/core/ozone/gl_surface_qt.cpp index b6242b427..fbb53e0a6 100644 --- a/src/core/ozone/gl_surface_qt.cpp +++ b/src/core/ozone/gl_surface_qt.cpp @@ -19,6 +19,7 @@ #include "ozone/gl_surface_egl_qt.h" #include "gpu/ipc/service/image_transport_surface.h" +#include "ui/gl/init/gl_display_initializer.h" #include "ui/gl/direct_composition_support.h" #include "ui/gl/gl_display.h" #include "ui/gl/gl_implementation.h" @@ -62,7 +63,7 @@ bool GLSurfaceQt::IsOffscreen() return true; } -gfx::SwapResult GLSurfaceQt::SwapBuffers(PresentationCallback callback, FrameData data) +gfx::SwapResult GLSurfaceQt::SwapBuffers(PresentationCallback callback, gfx::FrameData data) { LOG(ERROR) << "Attempted to call SwapBuffers on a pbuffer."; Q_UNREACHABLE(); @@ -92,18 +93,18 @@ void* GLSurfaceQt::GetConfig() #if BUILDFLAG(IS_WIN) namespace init { -gl::GLDisplay *InitializeGLOneOffPlatform(uint64_t system_device_id) +gl::GLDisplay *InitializeGLOneOffPlatform(gl::GpuPreference gpu_preference) { VSyncProviderWin::InitializeOneOff(); if (GetGLImplementation() == kGLImplementationDesktopGL || GetGLImplementation() == kGLImplementationDesktopGLCoreProfile) - return GLSurfaceWGLQt::InitializeOneOff(system_device_id); + return GLSurfaceWGLQt::InitializeOneOff(gpu_preference); - GLDisplayEGL *display = GetDisplayEGL(system_device_id); + GLDisplayEGL *display = GetDisplayEGL(gpu_preference); switch (GetGLImplementation()) { case kGLImplementationEGLANGLE: case kGLImplementationEGLGLES2: - if (!display->Initialize(EGLDisplayPlatform(GetDC(nullptr)))) { + if (!InitializeDisplay(display, EGLDisplayPlatform(GetDC(nullptr)))) { LOG(ERROR) << "GLDisplayEGL::Initialize failed."; return nullptr; } diff --git a/src/core/ozone/gl_surface_qt.h b/src/core/ozone/gl_surface_qt.h index 0ef8fbbca..f79a2608e 100644 --- a/src/core/ozone/gl_surface_qt.h +++ b/src/core/ozone/gl_surface_qt.h @@ -21,7 +21,7 @@ public: GLDisplay *GetGLDisplay() override; void *GetConfig() override; bool IsOffscreen() override; - gfx::SwapResult SwapBuffers(PresentationCallback callback, FrameData data) override; + gfx::SwapResult SwapBuffers(PresentationCallback callback, gfx::FrameData data) override; gfx::Size GetSize() override; GLSurfaceFormat GetFormat() override; diff --git a/src/core/ozone/gl_surface_wgl_qt.cpp b/src/core/ozone/gl_surface_wgl_qt.cpp index 0788a04c1..db4aed884 100644 --- a/src/core/ozone/gl_surface_wgl_qt.cpp +++ b/src/core/ozone/gl_surface_wgl_qt.cpp @@ -20,10 +20,10 @@ GLSurfaceWGLQt::~GLSurfaceWGLQt() Destroy(); } -gl::GLDisplay *GLSurfaceWGLQt::InitializeOneOff(uint64_t system_device_id) +gl::GLDisplay *GLSurfaceWGLQt::InitializeOneOff(gl::GpuPreference gpu_preference) { if (GLSurfaceWGL::InitializeOneOff()) - return GLDisplayManagerWGL::GetInstance()->GetDisplay(GpuPreference::kDefault); + return GLDisplayManagerWGL::GetInstance()->GetDisplay(gpu_preference); return nullptr; } diff --git a/src/core/ozone/gl_surface_wgl_qt.h b/src/core/ozone/gl_surface_wgl_qt.h index 5b671ebd9..6c590e46c 100644 --- a/src/core/ozone/gl_surface_wgl_qt.h +++ b/src/core/ozone/gl_surface_wgl_qt.h @@ -16,7 +16,7 @@ class GLSurfaceWGLQt: public GLSurfaceQt { public: explicit GLSurfaceWGLQt(const gfx::Size& size); - static gl::GLDisplay *InitializeOneOff(uint64_t system_device_id); + static gl::GLDisplay *InitializeOneOff(gl::GpuPreference gpu_preference); bool Initialize(GLSurfaceFormat format) override; void Destroy() override; diff --git a/src/core/ozone/platform_window_qt.cpp b/src/core/ozone/platform_window_qt.cpp index fe8a715ce..4923f0f88 100644 --- a/src/core/ozone/platform_window_qt.cpp +++ b/src/core/ozone/platform_window_qt.cpp @@ -3,7 +3,7 @@ #if defined(USE_OZONE) -#include "base/bind.h" +#include "base/functional/bind.h" #include "ozone/platform_window_qt.h" #include "ui/base/cursor/platform_cursor.h" #include "ui/events/ozone/events_ozone.h" diff --git a/src/core/permission_manager_qt.cpp b/src/core/permission_manager_qt.cpp index ca50b5af1..b44fb4300 100644 --- a/src/core/permission_manager_qt.cpp +++ b/src/core/permission_manager_qt.cpp @@ -53,6 +53,7 @@ static ProfileAdapter::PermissionType toQt(blink::PermissionType type) case blink::PermissionType::STORAGE_ACCESS_GRANT: case blink::PermissionType::LOCAL_FONTS: case blink::PermissionType::DISPLAY_CAPTURE: + case blink::PermissionType::TOP_LEVEL_STORAGE_ACCESS: case blink::PermissionType::NUM: LOG(INFO) << "Unexpected unsupported permission type: " << static_cast<int>(type); break; diff --git a/src/core/permission_manager_qt.h b/src/core/permission_manager_qt.h index 8778c538d..6cfeb874e 100644 --- a/src/core/permission_manager_qt.h +++ b/src/core/permission_manager_qt.h @@ -4,7 +4,7 @@ #ifndef PERMISSION_MANAGER_QT_H #define PERMISSION_MANAGER_QT_H -#include "base/callback.h" +#include "base/functional/callback.h" #include "content/public/browser/permission_controller_delegate.h" #include "profile_adapter.h" diff --git a/src/core/printing/print_view_manager_base_qt.cpp b/src/core/printing/print_view_manager_base_qt.cpp index 2e9251200..d6113ecd9 100644 --- a/src/core/printing/print_view_manager_base_qt.cpp +++ b/src/core/printing/print_view_manager_base_qt.cpp @@ -65,8 +65,6 @@ void OnDidGetDefaultPrintSettings(scoped_refptr<printing::PrintQueriesQueue> que // If user hasn't cancelled. if (printer_query->cookie() && printer_query->settings().dpi()) { queue->QueuePrinterQuery(std::move(printer_query)); - } else { - printer_query->StopWorker(); } } } @@ -109,8 +107,6 @@ void OnDidUpdatePrintSettings(scoped_refptr<printing::PrintQueriesQueue> queue, if (printer_query->cookie() && printer_query->settings().dpi()) { queue->QueuePrinterQuery(std::move(printer_query)); - } else { - printer_query->StopWorker(); } } @@ -132,8 +128,6 @@ void OnDidScriptedPrint(scoped_refptr<printing::PrintQueriesQueue> queue, if (has_dpi && has_valid_cookie) { queue->QueuePrinterQuery(std::move(printer_query)); - } else { - printer_query->StopWorker(); } } @@ -319,10 +313,6 @@ void PrintViewManagerBaseQt::ScriptedPrint(printing::mojom::ScriptedPrintParamsP base::BindOnce(&OnDidScriptedPrint, m_printerQueriesQueue, std::move(printer_query), std::move(callback_wrapper))); } -void PrintViewManagerBaseQt::ShowInvalidPrinterSettingsError() -{ -} - // Note: In PrintViewManagerQt we always initiate printing with // printing::mojom::PrintRenderFrame::InitiatePrintPreview() // so m_printingRFH is never set and used at the moment. @@ -580,11 +570,8 @@ void PrintViewManagerBaseQt::ReleasePrinterQuery() if (!printJobManager) return; - std::unique_ptr<printing::PrinterQuery> printerQuery; - printerQuery = m_printerQueriesQueue->PopPrinterQuery(cookie); - if (!printerQuery) - return; - printerQuery->StopWorker(); + std::unique_ptr<printing::PrinterQuery> printerQuery = + m_printerQueriesQueue->PopPrinterQuery(cookie); } // Originally from print_preview_message_handler.cc: @@ -594,9 +581,6 @@ void PrintViewManagerBaseQt::StopWorker(int documentCookie) return; std::unique_ptr<printing::PrinterQuery> printerQuery = m_printerQueriesQueue->PopPrinterQuery(documentCookie); - if (!printerQuery) - return; - printerQuery->StopWorker(); } void PrintViewManagerBaseQt::UpdatePrintSettings(int32_t cookie, base::Value::Dict job_settings, diff --git a/src/core/printing/print_view_manager_base_qt.h b/src/core/printing/print_view_manager_base_qt.h index fbd847f81..e8e59f8a5 100644 --- a/src/core/printing/print_view_manager_base_qt.h +++ b/src/core/printing/print_view_manager_base_qt.h @@ -48,7 +48,6 @@ public: void IsPrintingEnabled(IsPrintingEnabledCallback callback) override; void ScriptedPrint(printing::mojom::ScriptedPrintParamsPtr, printing::mojom::PrintManagerHost::ScriptedPrintCallback) override; - void ShowInvalidPrinterSettingsError() override; void PrintingFailed(int32_t cookie, printing::mojom::PrintFailureReason reason) override; diff --git a/src/core/profile_adapter.cpp b/src/core/profile_adapter.cpp index 1b71744c9..4747ac21b 100644 --- a/src/core/profile_adapter.cpp +++ b/src/core/profile_adapter.cpp @@ -332,7 +332,7 @@ void ProfileAdapter::setHttpUserAgent(const QString &userAgent) if (web_contents->GetBrowserContext() == m_profile.data()) web_contents->SetUserAgentOverride(blink::UserAgentOverride::UserAgentOnly(stdUserAgent), true); - m_profile->ForEachStoragePartition( + m_profile->ForEachLoadedStoragePartition( base::BindRepeating([](const std::string &user_agent, content::StoragePartition *storage_partition) { storage_partition->GetNetworkContext()->SetUserAgent(user_agent); }, stdUserAgent)); @@ -474,7 +474,7 @@ const QList<QByteArray> ProfileAdapter::customUrlSchemes() const void ProfileAdapter::updateCustomUrlSchemeHandlers() { - m_profile->ForEachStoragePartition( + m_profile->ForEachLoadedStoragePartition( base::BindRepeating([](content::StoragePartition *storage_partition) { storage_partition->ResetURLLoaderFactories(); })); @@ -596,7 +596,7 @@ void ProfileAdapter::setHttpAcceptLanguage(const QString &httpAcceptLanguage) } } - m_profile->ForEachStoragePartition( + m_profile->ForEachLoadedStoragePartition( base::BindRepeating([](std::string accept_language, content::StoragePartition *storage_partition) { storage_partition->GetNetworkContext()->SetAcceptLanguage(accept_language); }, http_accept_language)); diff --git a/src/core/profile_io_data_qt.cpp b/src/core/profile_io_data_qt.cpp index c11d35c95..822c923a2 100644 --- a/src/core/profile_io_data_qt.cpp +++ b/src/core/profile_io_data_qt.cpp @@ -161,7 +161,7 @@ void ProfileIODataQt::resetNetworkContext() { Q_ASSERT(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); setFullConfiguration(); - m_profile->ForEachStoragePartition( + m_profile->ForEachLoadedStoragePartition( base::BindRepeating([](content::StoragePartition *storage) { auto storage_impl = static_cast<content::StoragePartitionImpl *>(storage); storage_impl->ResetURLLoaderFactories(); diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp index 3d4e5bbc2..fcd684b43 100644 --- a/src/core/render_widget_host_view_qt.cpp +++ b/src/core/render_widget_host_view_qt.cpp @@ -12,7 +12,6 @@ #include "web_contents_adapter_client.h" #include "web_event_factory.h" -#include "base/threading/thread_task_runner_handle.h" #include "components/viz/common/features.h" #include "components/viz/common/frame_sinks/begin_frame_source.h" #include "components/viz/common/surfaces/frame_sink_id_allocator.h" @@ -47,7 +46,7 @@ #endif #if defined(USE_AURA) -#include "ui/wm/core/cursors_aura.h" +#include "ui/wm/core/cursor_util.h" #include "ui/base/cursor/cursor_size.h" #endif @@ -145,7 +144,7 @@ public: RenderWidgetHostViewQt::RenderWidgetHostViewQt(content::RenderWidgetHost *widget) : content::RenderWidgetHostViewBase::RenderWidgetHostViewBase(widget) - , m_taskRunner(base::ThreadTaskRunnerHandle::Get()) + , m_taskRunner(base::SingleThreadTaskRunner::GetCurrentDefault()) , m_gestureProvider(QtGestureProviderConfig(), this) , m_frameSinkId(host()->GetFrameSinkId()) , m_delegateClient(new RenderWidgetHostViewQtDelegateClient(this)) @@ -478,14 +477,13 @@ bool RenderWidgetHostViewQt::updateCursorFromResource(ui::mojom::CursorType type return true; } -void RenderWidgetHostViewQt::UpdateCursor(const content::WebCursor &webCursor) +void RenderWidgetHostViewQt::UpdateCursor(const ui::Cursor &webCursor) { DisplayCursor(webCursor); } -void RenderWidgetHostViewQt::DisplayCursor(const content::WebCursor &webCursor) +void RenderWidgetHostViewQt::DisplayCursor(const ui::Cursor &cursorInfo) { - const ui::Cursor &cursorInfo = webCursor.cursor(); Qt::CursorShape shape = Qt::ArrowCursor; switch (cursorInfo.type()) { case ui::mojom::CursorType::kNull: diff --git a/src/core/render_widget_host_view_qt.h b/src/core/render_widget_host_view_qt.h index 25fd20115..d2bd8aaf7 100644 --- a/src/core/render_widget_host_view_qt.h +++ b/src/core/render_widget_host_view_qt.h @@ -77,8 +77,8 @@ public: blink::mojom::PointerLockResult LockMouse(bool) override; blink::mojom::PointerLockResult ChangeMouseLock(bool) override; void UnlockMouse() override; - void UpdateCursor(const content::WebCursor&) override; - void DisplayCursor(const content::WebCursor&) override; + void UpdateCursor(const ui::Cursor&) override; + void DisplayCursor(const ui::Cursor&) override; content::CursorManager *GetCursorManager() override; void SetIsLoading(bool) override; void ImeCancelComposition() override; @@ -132,9 +132,8 @@ public: void SetWindowFrameInScreen(const gfx::Rect&) override { QT_NOT_YET_IMPLEMENTED } #endif // BUILDFLAG(IS_MAC) void NotifyHostAndDelegateOnWasShown(blink::mojom::RecordContentToVisibleTimeRequestPtr) override { QT_NOT_YET_IMPLEMENTED } - void RequestPresentationTimeFromHostOrDelegate(blink::mojom::RecordContentToVisibleTimeRequestPtr) override { QT_NOT_YET_IMPLEMENTED } - void CancelPresentationTimeRequestForHostAndDelegate() override { QT_NOT_YET_IMPLEMENTED } - + void RequestSuccessfulPresentationTimeFromHostOrDelegate(blink::mojom::RecordContentToVisibleTimeRequestPtr) override {} + void CancelSuccessfulPresentationTimeRequestForHostAndDelegate() override {} // Overridden from ui::GestureProviderClient. void OnGestureEvent(const ui::GestureEventData& gesture) override; diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp index 5ec4a1935..6b3df4a27 100644 --- a/src/core/renderer/content_renderer_client_qt.cpp +++ b/src/core/renderer/content_renderer_client_qt.cpp @@ -10,8 +10,8 @@ #include "renderer/web_engine_page_render_frame.h" #include "web_engine_library_info.h" +#include "base/task/sequenced_task_runner.h" #include "components/autofill/content/renderer/autofill_agent.h" -#include "components/autofill/content/renderer/autofill_assistant_agent.h" #include "components/autofill/content/renderer/password_autofill_agent.h" #include "components/autofill/content/renderer/password_generation_agent.h" #include "components/cdm/renderer/external_clear_key_key_system_info.h" @@ -131,12 +131,12 @@ void ContentRendererClientQt::RenderThreadStarted() void ContentRendererClientQt::ExposeInterfacesToBrowser(mojo::BinderMap* binders) { binders->Add<visitedlink::mojom::VisitedLinkNotificationSink>( - m_visitedLinkReader->GetBindCallback(), base::SequencedTaskRunnerHandle::Get()); + m_visitedLinkReader->GetBindCallback(), base::SingleThreadTaskRunner::GetCurrentDefault()); binders->Add<web_cache::mojom::WebCache>( base::BindRepeating(&web_cache::WebCacheImpl::BindReceiver, base::Unretained(m_webCacheImpl.get())), - base::SequencedTaskRunnerHandle::Get()); + base::SingleThreadTaskRunner::GetCurrentDefault()); #if QT_CONFIG(webengine_spellchecker) binders->Add<spellcheck::mojom::SpellChecker>( @@ -147,7 +147,7 @@ void ContentRendererClientQt::ExposeInterfacesToBrowser(mojo::BinderMap* binders client->InitSpellCheck(); client->m_spellCheck->BindReceiver(std::move(receiver)); }, this), - base::SequencedTaskRunnerHandle::Get()); + base::SingleThreadTaskRunner::GetCurrentDefault()); #endif #if QT_CONFIG(webengine_webrtc) && QT_CONFIG(webengine_extensions) @@ -157,7 +157,7 @@ void ContentRendererClientQt::ExposeInterfacesToBrowser(mojo::BinderMap* binders mojo::PendingReceiver<chrome::mojom::WebRtcLoggingAgent> receiver) { client->GetWebRtcLoggingAgent()->AddReceiver(std::move(receiver)); }, this), - base::SequencedTaskRunnerHandle::Get()); + base::SingleThreadTaskRunner::GetCurrentDefault()); #endif } @@ -195,8 +195,6 @@ void ContentRendererClientQt::RenderFrameCreated(content::RenderFrame *render_fr ExtensionsRendererClientQt::GetInstance()->RenderFrameCreated(render_frame, render_frame_observer->registry()); #endif - autofill::AutofillAssistantAgent *autofill_assistant_agent = - new autofill::AutofillAssistantAgent(render_frame); autofill::PasswordAutofillAgent *password_autofill_agent = new autofill::PasswordAutofillAgent(render_frame, associated_interfaces); autofill::PasswordGenerationAgent *password_generation_agent = @@ -204,7 +202,7 @@ void ContentRendererClientQt::RenderFrameCreated(content::RenderFrame *render_fr associated_interfaces); new autofill::AutofillAgent(render_frame, password_autofill_agent, password_generation_agent, - autofill_assistant_agent, associated_interfaces); + associated_interfaces); } void ContentRendererClientQt::WebViewCreated(blink::WebView *web_view, diff --git a/src/core/renderer/plugins/loadable_plugin_placeholder_qt.h b/src/core/renderer/plugins/loadable_plugin_placeholder_qt.h index fd808f766..9b9d1bca8 100644 --- a/src/core/renderer/plugins/loadable_plugin_placeholder_qt.h +++ b/src/core/renderer/plugins/loadable_plugin_placeholder_qt.h @@ -31,8 +31,6 @@ private: // content::LoadablePluginPlaceholder overrides. blink::WebPlugin* CreatePlugin() override; - void OnBlockedContent(content::RenderFrame::PeripheralContentStatus status, - bool is_same_origin) override {} // WebViewPlugin::Delegate (via PluginPlaceholder) methods: v8::Local<v8::Value> GetV8Handle(v8::Isolate* isolate) override; diff --git a/src/core/renderer/user_resource_controller.cpp b/src/core/renderer/user_resource_controller.cpp index ce942e0c8..eff304981 100644 --- a/src/core/renderer/user_resource_controller.cpp +++ b/src/core/renderer/user_resource_controller.cpp @@ -5,6 +5,7 @@ #include "base/memory/weak_ptr.h" #include "base/strings/pattern.h" +#include "base/task/single_thread_task_runner.h" #include "content/public/renderer/render_frame.h" #include "content/public/renderer/render_frame_observer.h" #include "extensions/common/url_pattern.h" @@ -203,7 +204,7 @@ void UserResourceController::RenderFrameObserverHelper::DidCommitProvisionalLoad m_runner.reset(new Runner(render_frame()->GetWebFrame(), m_userResourceController)); - base::ThreadTaskRunnerHandle::Get()->PostTask( + base::SingleThreadTaskRunner::GetCurrentDefault()->PostTask( FROM_HERE, base::BindOnce(&Runner::run, m_runner->AsWeakPtr(), QtWebEngineCore::UserScriptData::DocumentElementCreation)); @@ -214,7 +215,7 @@ void UserResourceController::RenderFrameObserverHelper::DidDispatchDOMContentLoa // Don't run scripts if provisional load failed (DidFailProvisionalLoad // called instead of DidCommitProvisionalLoad). if (m_runner) - base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( + base::SingleThreadTaskRunner::GetCurrentDefault()->PostDelayedTask( FROM_HERE, base::BindOnce(&Runner::run, m_runner->AsWeakPtr(), QtWebEngineCore::UserScriptData::AfterLoad), @@ -224,7 +225,7 @@ void UserResourceController::RenderFrameObserverHelper::DidDispatchDOMContentLoa void UserResourceController::RenderFrameObserverHelper::DidFinishLoad() { if (m_runner) - base::ThreadTaskRunnerHandle::Get()->PostTask( + base::SingleThreadTaskRunner::GetCurrentDefault()->PostTask( FROM_HERE, base::BindOnce(&Runner::run, m_runner->AsWeakPtr(), QtWebEngineCore::UserScriptData::AfterLoad)); diff --git a/src/core/tools/main.cpp b/src/core/tools/main.cpp index 4b6c82997..a82947ddc 100644 --- a/src/core/tools/main.cpp +++ b/src/core/tools/main.cpp @@ -111,7 +111,7 @@ inline bool VerifyWords(const convert_dict::DicReader::WordList& org_words, } base::span<const int> expectedAffixes(org_words[i].second); - base::span<const int> actualAffixes(affix_ids, affix_matches); + base::span<const int> actualAffixes(affix_ids, (size_t)affix_matches); if (!std::equal(expectedAffixes.begin(), expectedAffixes.end(), actualAffixes.begin(), actualAffixes.end(), diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp index 6312103f5..515e5d481 100644 --- a/src/core/web_contents_adapter.cpp +++ b/src/core/web_contents_adapter.cpp @@ -152,7 +152,7 @@ static QVariant fromJSValue(const base::Value *result) } break; } - case base::Value::Type::DICTIONARY: + case base::Value::Type::DICT: { if (const auto dict = result->GetIfDict()) { QVariantMap map; @@ -304,6 +304,7 @@ static void deserializeNavigationHistory(QDataStream &input, int *currentIndex, toGurl(virtualUrl), content::Referrer(toGurl(referrerUrl), static_cast<network::mojom::ReferrerPolicy>(referrerPolicy)), absl::nullopt, // optional initiator_origin + absl::nullopt, // optional initiator_base_url // Use a transition type of reload so that we don't incorrectly // increase the typed count. ui::PAGE_TRANSITION_RELOAD, diff --git a/src/core/web_contents_delegate_qt.cpp b/src/core/web_contents_delegate_qt.cpp index a8020ae1c..f96b68b34 100644 --- a/src/core/web_contents_delegate_qt.cpp +++ b/src/core/web_contents_delegate_qt.cpp @@ -745,12 +745,6 @@ void WebContentsDelegateQt::BeforeUnloadFired(content::WebContents *tab, bool pr m_viewClient->windowCloseRejected(); } -void WebContentsDelegateQt::BeforeUnloadFired(bool proceed, const base::TimeTicks &proceed_time) -{ - Q_UNUSED(proceed); - Q_UNUSED(proceed_time); -} - bool WebContentsDelegateQt::CheckMediaAccessPermission(content::RenderFrameHost *, const GURL& security_origin, blink::mojom::MediaStreamType type) { switch (type) { diff --git a/src/core/web_contents_delegate_qt.h b/src/core/web_contents_delegate_qt.h index 7f25f29d8..cce1578be 100644 --- a/src/core/web_contents_delegate_qt.h +++ b/src/core/web_contents_delegate_qt.h @@ -123,7 +123,6 @@ public: void DidStopLoading() override; void DidFailLoad(content::RenderFrameHost* render_frame_host, const GURL& validated_url, int error_code) override; void DidFinishLoad(content::RenderFrameHost *render_frame_host, const GURL &validated_url) override; - void BeforeUnloadFired(bool proceed, const base::TimeTicks& proceed_time) override; void ActivateContents(content::WebContents* contents) override; void ResourceLoadComplete(content::RenderFrameHost* render_frame_host, const content::GlobalRequestID& request_id, diff --git a/src/core/web_contents_view_qt.h b/src/core/web_contents_view_qt.h index 15528b41d..8754250e6 100644 --- a/src/core/web_contents_view_qt.h +++ b/src/core/web_contents_view_qt.h @@ -73,6 +73,7 @@ public: void FocusThroughTabTraversal(bool reverse) override; void OnCapturerCountChanged() override { QT_NOT_YET_IMPLEMENTED } void FullscreenStateChanged(bool) override { } + void UpdateWindowControlsOverlay(const gfx::Rect &) override { QT_NOT_YET_IMPLEMENTED } #if BUILDFLAG(IS_MAC) bool CloseTabAfterEventTrackingIfNeeded() override { QT_NOT_YET_IMPLEMENTED return false; } diff --git a/src/core/web_engine_context.cpp b/src/core/web_engine_context.cpp index f2b90ad9d..b4c4bdb67 100644 --- a/src/core/web_engine_context.cpp +++ b/src/core/web_engine_context.cpp @@ -6,7 +6,7 @@ #include <math.h> #include "base/base_switches.h" -#include "base/bind.h" +#include "base/functional/bind.h" #include "base/command_line.h" #include "base/files/file_path.h" #include "base/power_monitor/power_monitor.h" diff --git a/src/core/web_engine_context_threads.cpp b/src/core/web_engine_context_threads.cpp index f62e2074e..ce39b198b 100644 --- a/src/core/web_engine_context_threads.cpp +++ b/src/core/web_engine_context_threads.cpp @@ -3,7 +3,7 @@ #include "web_engine_context.h" -#include "base/bind.h" +#include "base/functional/bind.h" #include "base/task/thread_pool.h" #include "base/threading/platform_thread.h" #include "base/threading/thread_restrictions.h" diff --git a/src/core/web_engine_settings.cpp b/src/core/web_engine_settings.cpp index 11adc8d19..40ddbdac7 100644 --- a/src/core/web_engine_settings.cpp +++ b/src/core/web_engine_settings.cpp @@ -9,7 +9,6 @@ #include "base/command_line.h" #include "chrome/common/chrome_switches.h" -#include "content/browser/gpu/gpu_process_host.h" #include "content/public/browser/render_view_host.h" #include "content/public/browser/web_contents.h" #include "content/public/common/content_switches.h" diff --git a/src/pdf/CMakeLists.txt b/src/pdf/CMakeLists.txt index e3566145e..0144c5f5a 100644 --- a/src/pdf/CMakeLists.txt +++ b/src/pdf/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.19) find_package(Ninja 1.7.2 REQUIRED) -find_package(Nodejs 12 REQUIRED) +find_package(Nodejs 14.19 REQUIRED) find_package(PkgConfig) if(PkgConfig_FOUND) create_pkg_config_host_wrapper(${CMAKE_CURRENT_BINARY_DIR}) diff --git a/src/pdf/configure/BUILD.root.gn.in b/src/pdf/configure/BUILD.root.gn.in index 713587565..186fc4225 100644 --- a/src/pdf/configure/BUILD.root.gn.in +++ b/src/pdf/configure/BUILD.root.gn.in @@ -63,6 +63,7 @@ static_library("QtPdf") { libs = [ "dloadhelper.lib", "winmm.lib", + "usp10.lib", ] } if (is_mingw) { diff --git a/tests/auto/quick/inspectorserver/tst_inspectorserver.cpp b/tests/auto/quick/inspectorserver/tst_inspectorserver.cpp index 8b80c1a5f..667f923bb 100644 --- a/tests/auto/quick/inspectorserver/tst_inspectorserver.cpp +++ b/tests/auto/quick/inspectorserver/tst_inspectorserver.cpp @@ -38,6 +38,7 @@ private: tst_InspectorServer::tst_InspectorServer() { + qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--remote-allow-origins=*"); qputenv("QTWEBENGINE_REMOTE_DEBUGGING", INSPECTOR_SERVER_PORT); QtWebEngineQuick::initialize(); QQuickWebEngineProfile::defaultProfile()->setOffTheRecord(true); diff --git a/tests/auto/widgets/qtbug_110287/BLACKLIST b/tests/auto/widgets/qtbug_110287/BLACKLIST new file mode 100644 index 000000000..1b99e1503 --- /dev/null +++ b/tests/auto/widgets/qtbug_110287/BLACKLIST @@ -0,0 +1,2 @@ +[getAddrInfo] +b2qt arm diff --git a/tools/scripts/take_snapshot.py b/tools/scripts/take_snapshot.py index 41cd46b3c..735660e2a 100755 --- a/tools/scripts/take_snapshot.py +++ b/tools/scripts/take_snapshot.py @@ -41,7 +41,6 @@ def isInChromiumBlacklist(file_path): if (file_path.startswith('android_webview') or file_path.startswith('apps/') or file_path.startswith('ash/') - or file_path.startswith('base/android') or file_path.startswith('buildtools/clang_format/script') or file_path.startswith('buildtools/third_party/libc++') or file_path.startswith('buildtools/third_party/libc++abi') @@ -118,7 +117,10 @@ def isInChromiumBlacklist(file_path): or (file_path.startswith('net/data/') and '_unittest/' in file_path) or file_path.startswith('net/data/fuzzer_data/') - or file_path.startswith('remoting') + or (file_path.startswith('remoting') + and not file_path.endswith('VERSION') + and not file_path.endswith('branding_Chromium') + and not file_path.endswith('remove_spaces.py')) or file_path.startswith('rlz') or file_path.startswith('testing/android') or file_path.startswith('testing/buildbot') @@ -155,6 +157,7 @@ def isInChromiumBlacklist(file_path): or file_path.startswith('third_party/chromite') or file_path.startswith('third_party/colorama') or file_path.startswith('third_party/depot_tools') + or file_path.startswith('third_party/devtools-frontend/src/third_party/image_diff') or (file_path.startswith('third_party/node/node_modules/') and not file_path.startswith('third_party/node/node_modules/@babel/') and not file_path.startswith('third_party/node/node_modules/@types/d3') @@ -180,6 +183,7 @@ def isInChromiumBlacklist(file_path): and not file_path.startswith('third_party/node/node_modules/indent/') and not file_path.startswith('third_party/node/node_modules/is-core-module/') and not file_path.startswith('third_party/node/node_modules/is-windows/') + and not file_path.startswith('third_party/node/node_modules/@jridgewell/') and not file_path.startswith('third_party/node/node_modules/js-tokens/') and not file_path.startswith('third_party/node/node_modules/jsesc/') and not file_path.startswith('third_party/node/node_modules/jsonschema/') diff --git a/tools/scripts/version_resolver.py b/tools/scripts/version_resolver.py index 9dd60b477..b5e6f67b8 100644 --- a/tools/scripts/version_resolver.py +++ b/tools/scripts/version_resolver.py @@ -43,8 +43,8 @@ class DEPSParser(ABC): return self.local_scope["recursedeps"] -chromium_version = '108.0.5359.220' -chromium_branch = '5359' +chromium_version = '112.0.5615.213' +chromium_branch = '5615' ninja_version = 'v1.8.2' json_url = 'http://omahaproxy.appspot.com/all.json' |