summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmake/Functions.cmake4
-rw-r--r--configure.cmake14
-rw-r--r--src/core/CMakeLists.txt10
-rw-r--r--src/core/autofill_client_qt.cpp20
-rw-r--r--src/core/autofill_client_qt.h5
-rw-r--r--src/core/browser_main_parts_qt.cpp16
-rw-r--r--src/core/browser_message_filter_qt.h2
-rw-r--r--src/core/browsing_data_remover_delegate_qt.cpp4
-rw-r--r--src/core/certificate_error_controller.h4
-rw-r--r--src/core/client_cert_select_controller.cpp5
-rw-r--r--src/core/compositor/display_skia_output_device.cpp2
-rw-r--r--src/core/compositor/display_skia_output_device.h2
-rw-r--r--src/core/compositor/display_software_output_surface.cpp8
-rw-r--r--src/core/compositor/native_skia_output_device.cpp42
-rw-r--r--src/core/compositor/native_skia_output_device.h2
-rw-r--r--src/core/configure/BUILD.root.gn.in25
-rw-r--r--src/core/content_client_qt.cpp2
-rw-r--r--src/core/devtools_frontend_qt.cpp12
-rw-r--r--src/core/extensions/extension_host_delegate_qt.cpp4
-rw-r--r--src/core/extensions/extension_host_delegate_qt.h2
-rw-r--r--src/core/extensions/extension_system_qt.cpp2
-rw-r--r--src/core/extensions/pdf_iframe_navigation_throttle_qt.cpp3
-rw-r--r--src/core/file_system_access/file_system_access_permission_context_qt.cpp4
-rw-r--r--src/core/file_system_access/file_system_access_permission_request_manager_qt.h2
-rw-r--r--src/core/javascript_dialog_controller_p.h2
-rw-r--r--src/core/location_provider_qt.cpp2
-rw-r--r--src/core/net/client_cert_qt.cpp4
-rw-r--r--src/core/net/client_cert_qt.h4
-rw-r--r--src/core/net/client_cert_store_data.cpp3
-rw-r--r--src/core/net/cookie_monster_delegate_qt.cpp2
-rw-r--r--src/core/net/custom_url_loader_factory.cpp6
-rw-r--r--src/core/net/plugin_response_interceptor_url_loader_throttle.cpp2
-rw-r--r--src/core/net/proxying_restricted_cookie_manager_qt.cpp25
-rw-r--r--src/core/net/proxying_restricted_cookie_manager_qt.h7
-rw-r--r--src/core/net/proxying_url_loader_factory_qt.cpp2
-rw-r--r--src/core/net/ssl_host_state_delegate_qt.cpp2
-rw-r--r--src/core/net/system_network_context_manager.cpp2
-rw-r--r--src/core/net/webui_controller_factory_qt.cpp2
-rw-r--r--src/core/ozone/gl_ozone_egl_qt.cpp9
-rw-r--r--src/core/ozone/gl_ozone_egl_qt.h4
-rw-r--r--src/core/ozone/gl_ozone_glx_qt.cpp5
-rw-r--r--src/core/ozone/gl_ozone_glx_qt.h2
-rw-r--r--src/core/ozone/gl_surface_egl_qt.cpp4
-rw-r--r--src/core/ozone/gl_surface_egl_qt.h2
-rw-r--r--src/core/ozone/gl_surface_glx_qt.cpp4
-rw-r--r--src/core/ozone/gl_surface_glx_qt.h2
-rw-r--r--src/core/ozone/gl_surface_qt.cpp11
-rw-r--r--src/core/ozone/gl_surface_qt.h2
-rw-r--r--src/core/ozone/gl_surface_wgl_qt.cpp4
-rw-r--r--src/core/ozone/gl_surface_wgl_qt.h2
-rw-r--r--src/core/ozone/platform_window_qt.cpp2
-rw-r--r--src/core/permission_manager_qt.cpp1
-rw-r--r--src/core/permission_manager_qt.h2
-rw-r--r--src/core/printing/print_view_manager_base_qt.cpp20
-rw-r--r--src/core/printing/print_view_manager_base_qt.h1
-rw-r--r--src/core/profile_adapter.cpp6
-rw-r--r--src/core/profile_io_data_qt.cpp2
-rw-r--r--src/core/render_widget_host_view_qt.cpp10
-rw-r--r--src/core/render_widget_host_view_qt.h9
-rw-r--r--src/core/renderer/content_renderer_client_qt.cpp14
-rw-r--r--src/core/renderer/plugins/loadable_plugin_placeholder_qt.h2
-rw-r--r--src/core/renderer/user_resource_controller.cpp7
-rw-r--r--src/core/tools/main.cpp2
-rw-r--r--src/core/web_contents_adapter.cpp3
-rw-r--r--src/core/web_contents_delegate_qt.cpp6
-rw-r--r--src/core/web_contents_delegate_qt.h1
-rw-r--r--src/core/web_contents_view_qt.h1
-rw-r--r--src/core/web_engine_context.cpp2
-rw-r--r--src/core/web_engine_context_threads.cpp2
-rw-r--r--src/core/web_engine_settings.cpp1
-rw-r--r--src/pdf/CMakeLists.txt2
-rw-r--r--src/pdf/configure/BUILD.root.gn.in1
-rw-r--r--tests/auto/quick/inspectorserver/tst_inspectorserver.cpp1
-rw-r--r--tests/auto/widgets/qtbug_110287/BLACKLIST2
-rwxr-xr-xtools/scripts/take_snapshot.py8
-rw-r--r--tools/scripts/version_resolver.py4
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'