From c0419ae89fbc4fbdc58aef5b8b01ab0b45f8ff98 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 23 Aug 2018 18:26:28 +0200 Subject: Adaptations for Chromium 68 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Together-with: Tamas Zakor Change-Id: I805246b6f01cb151fff48588744408c676d87c14 Reviewed-by: Michael BrĂ¼ning --- src/core/browser_accessibility_qt.cpp | 11 +++---- src/core/build_config_qt.h | 6 ++-- src/core/chromium_gpu_helper.cpp | 5 ++- src/core/chromium_gpu_helper.h | 6 ++-- src/core/client_cert_select_controller.cpp | 2 +- src/core/common/qt_messages.h | 3 -- src/core/content_browser_client_qt.cpp | 23 ++++++++----- src/core/content_browser_client_qt.h | 4 +-- src/core/content_client_qt.cpp | 14 ++++++-- src/core/content_main_delegate_qt.cpp | 5 +-- src/core/delegated_frame_node.cpp | 4 +-- src/core/login_delegate_qt.cpp | 4 +-- src/core/login_delegate_qt.h | 5 +-- src/core/ozone/platform_window_qt.h | 1 + src/core/printing/pdfium_document_wrapper_qt.cpp | 12 +++---- src/core/printing/print_view_manager_base_qt.cpp | 5 ++- src/core/printing/print_view_manager_base_qt.h | 2 +- src/core/printing/print_view_manager_qt.cpp | 5 +-- src/core/profile_io_data_qt.cpp | 10 +++--- src/core/qtwebengine_sources.gni | 2 -- src/core/render_widget_host_view_qt.cpp | 42 +++++++----------------- src/core/render_widget_host_view_qt.h | 8 ++--- src/core/renderer/content_renderer_client_qt.cpp | 10 ++++-- src/core/renderer/render_view_observer_qt.cpp | 6 ---- src/core/renderer/render_view_observer_qt.h | 1 - src/core/renderer/user_resource_controller.cpp | 2 +- src/core/resource_bundle_qt.cpp | 3 +- src/core/web_contents_adapter.cpp | 34 ++++++++++++++----- src/core/web_contents_adapter.h | 4 +-- src/core/web_contents_delegate_qt.cpp | 10 +++--- src/core/web_contents_delegate_qt.h | 6 ++-- src/core/web_engine_context.cpp | 4 +-- src/core/web_event_factory.cpp | 21 +++++------- src/tools/qwebengine_convert_dict/main.cpp | 2 +- 34 files changed, 141 insertions(+), 141 deletions(-) (limited to 'src') diff --git a/src/core/browser_accessibility_qt.cpp b/src/core/browser_accessibility_qt.cpp index 5ec84affb..c7bf9510d 100644 --- a/src/core/browser_accessibility_qt.cpp +++ b/src/core/browser_accessibility_qt.cpp @@ -382,6 +382,8 @@ QAccessible::Role BrowserAccessibilityQt::role() const return QAccessible::StaticText; case ax::mojom::Role::kScrollBar: return QAccessible::ScrollBar; + case ax::mojom::Role::kScrollView: + return QAccessible::NoRole; // FIXME case ax::mojom::Role::kSearch: return QAccessible::Section; case ax::mojom::Role::kSearchBox: @@ -392,8 +394,6 @@ QAccessible::Role BrowserAccessibilityQt::role() const return QAccessible::NoRole; // FIXME case ax::mojom::Role::kSpinButton: return QAccessible::SpinBox; - case ax::mojom::Role::kSpinButtonPart: - return QAccessible::NoRole; // FIXME case ax::mojom::Role::kSplitter: return QAccessible::Splitter; case ax::mojom::Role::kStaticText: @@ -456,7 +456,7 @@ QAccessible::State BrowserAccessibilityQt::state() const state.expanded = true; if (HasState(ax::mojom::State::kFocusable)) state.focusable = true; - if (HasState(ax::mojom::State::kHaspopup)) + if (HasState(ax::mojom::State::kHasPopup)) state.hasPopup = true; if (HasState(ax::mojom::State::kHorizontal)) {} // FIXME @@ -711,10 +711,7 @@ QAccessibleInterface *BrowserAccessibilityQt::cellAt(int row, int column) const if (row < 0 || row >= rows || column < 0 || column >= columns) return 0; - const std::vector& cell_ids = GetIntListAttribute(ax::mojom::IntListAttribute::kCellIds); - DCHECK_EQ(columns * rows, static_cast(cell_ids.size())); - - int cell_id = cell_ids[row * columns + column]; + int cell_id = GetCellId(row, column); BrowserAccessibility* cell = manager()->GetFromID(cell_id); if (cell) { QAccessibleInterface *iface = static_cast(cell); diff --git a/src/core/build_config_qt.h b/src/core/build_config_qt.h index aac1dafcb..9c7a77d65 100644 --- a/src/core/build_config_qt.h +++ b/src/core/build_config_qt.h @@ -51,12 +51,12 @@ // This is just config sanity check #if QT_CONFIG(webengine_printing_and_pdf) -#if !BUILDFLAG(ENABLE_BASIC_PRINTING) || !BUILDFLAG(ENABLE_PRINT_PREVIEW) +#if !BUILDFLAG(ENABLE_PRINTING) || !BUILDFLAG(ENABLE_PRINT_PREVIEW) #error Config sanity check for webengine_printing_and_pdf failed #endif #else -#if BUILDFLAG(ENABLE_BASIC_PRINTING) || BUILDFLAG(ENABLE_PRINT_PREVIEW) -#error Config sanity check for ENABLE_BASIC_PRINTING, ENABLE_PRINT_PREVIEW failed +#if BUILDFLAG(ENABLE_PRINTING) || BUILDFLAG(ENABLE_PRINT_PREVIEW) +#error Config sanity check for ENABLE_PRINTING, ENABLE_PRINT_PREVIEW failed #endif #endif diff --git a/src/core/chromium_gpu_helper.cpp b/src/core/chromium_gpu_helper.cpp index 547fbc45c..92a8b13ed 100644 --- a/src/core/chromium_gpu_helper.cpp +++ b/src/core/chromium_gpu_helper.cpp @@ -57,10 +57,9 @@ #include "content/common/gpu/stream_texture_qnx.h" #endif -// FIXME: Try using content::GpuChildThread::current() -base::MessageLoop *gpu_message_loop() +scoped_refptr gpu_task_runner() { - return content::GpuChildThread::instance()->message_loop(); + return content::GpuChildThread::instance()->main_thread_runner(); } gpu::SyncPointManager *sync_point_manager() diff --git a/src/core/chromium_gpu_helper.h b/src/core/chromium_gpu_helper.h index be4380085..21b764997 100644 --- a/src/core/chromium_gpu_helper.h +++ b/src/core/chromium_gpu_helper.h @@ -42,8 +42,10 @@ #include // We need this for the Q_OS_QNX define. +#include "base/memory/scoped_refptr.h" + namespace base { -class MessageLoop; +class SingleThreadTaskRunner; } namespace gpu { @@ -58,7 +60,7 @@ class TextureBase; // From the outside, types from incompatible headers referenced in these // functions should only be forward-declared and considered as opaque types. -base::MessageLoop *gpu_message_loop(); +scoped_refptr gpu_task_runner(); gpu::SyncPointManager *sync_point_manager(); gpu::MailboxManager *mailbox_manager(); diff --git a/src/core/client_cert_select_controller.cpp b/src/core/client_cert_select_controller.cpp index 16d23454f..1362322f7 100644 --- a/src/core/client_cert_select_controller.cpp +++ b/src/core/client_cert_select_controller.cpp @@ -94,7 +94,7 @@ void ClientCertSelectController::select(const QSslCertificate &certificate) net::X509Certificate::CreateFromBytes(derCertificate.constData(), derCertificate.length()); for (auto &certInfo : m_clientCerts) { scoped_refptr cert = certInfo->certificate(); - if (cert->Equals(selectedCert.get())) { + if (cert->EqualsExcludingChain(selectedCert.get())) { m_selected = true; net::ClientCertIdentity::SelfOwningAcquirePrivateKey( std::move(certInfo), diff --git a/src/core/common/qt_messages.h b/src/core/common/qt_messages.h index 71e1deef0..987d6442b 100644 --- a/src/core/common/qt_messages.h +++ b/src/core/common/qt_messages.h @@ -36,9 +36,6 @@ IPC_MESSAGE_ROUTED1(RenderViewObserverQt_FetchDocumentMarkup, IPC_MESSAGE_ROUTED1(RenderViewObserverQt_FetchDocumentInnerText, uint64_t /* requestId */) -IPC_MESSAGE_ROUTED1(RenderViewObserverQt_SetBackgroundColor, - uint32_t /* color */) - // User scripts messages IPC_MESSAGE_ROUTED1(RenderFrameObserverHelper_AddScript, UserScriptData /* script */) diff --git a/src/core/content_browser_client_qt.cpp b/src/core/content_browser_client_qt.cpp index 393b0aee1..5b6959a45 100644 --- a/src/core/content_browser_client_qt.cpp +++ b/src/core/content_browser_client_qt.cpp @@ -78,6 +78,7 @@ #include "net/ssl/client_cert_identity.h" #include "services/service_manager/public/cpp/connector.h" #include "services/service_manager/public/cpp/service.h" +#include "services/service_manager/sandbox/switches.h" #include "third_party/blink/public/platform/modules/insecure_input/insecure_input_service.mojom.h" #include "ui/base/resource/resource_bundle.h" #include "ui/base/ui_base_switches.h" @@ -181,9 +182,7 @@ class MessagePumpForUIQt : public QObject, { public: MessagePumpForUIQt() - // Usually this gets passed through Run, but since we have - // our own event loop, attach it explicitly ourselves. - : m_delegate(base::MessageLoopForUI::current()) + : m_delegate(nullptr) , m_explicitLoop(0) , m_timerId(0) { @@ -191,7 +190,10 @@ public: void Run(Delegate *delegate) override { - Q_ASSERT(delegate == m_delegate); + if (!m_delegate) + m_delegate = delegate; + else + Q_ASSERT(delegate == m_delegate); // This is used only when MessagePumpForUIQt is used outside of the GUI thread. QEventLoop loop; m_explicitLoop = &loop; @@ -207,11 +209,15 @@ public: void ScheduleWork() override { + if (!m_delegate) + m_delegate = base::MessageLoopForUI::current(); QCoreApplication::postEvent(this, new QEvent(QEvent::User)); } void ScheduleDelayedWork(const base::TimeTicks &delayed_work_time) override { + if (!m_delegate) + m_delegate = base::MessageLoopForUI::current(); if (delayed_work_time.is_null()) { killTimer(m_timerId); m_timerId = 0; @@ -353,7 +359,6 @@ public: bool MakeCurrent(gl::GLSurface *) override { Q_UNREACHABLE(); return false; } void ReleaseCurrent(gl::GLSurface *) override { Q_UNREACHABLE(); } bool IsCurrent(gl::GLSurface *) override { Q_UNREACHABLE(); return false; } - void OnSetSwapInterval(int) override { Q_UNREACHABLE(); } scoped_refptr CreateGPUTimingClient() override { return nullptr; @@ -579,7 +584,7 @@ void ContentBrowserClientQt::AppendExtraCommandLineSwitches(base::CommandLine* c url::CustomScheme::SaveSchemes(command_line); std::string processType = command_line->GetSwitchValueASCII(switches::kProcessType); - if (processType == switches::kZygoteProcess) + if (processType == service_manager::switches::kZygoteProcess) command_line->AppendSwitchASCII(switches::kLang, GetApplicationLocale()); } @@ -683,7 +688,7 @@ void ContentBrowserClientQt::BindInterfaceRequestFromFrame(content::RenderFrameH m_frameInterfaces->TryBindInterface(interface_name, &interface_pipe); } -void ContentBrowserClientQt::RegisterInProcessServices(StaticServiceMap* services) +void ContentBrowserClientQt::RegisterInProcessServices(StaticServiceMap* services, content::ServiceManagerConnection* connection) { service_manager::EmbeddedServiceInfo info; info.factory = ServiceQt::GetInstance()->CreateServiceQtFactory(); @@ -903,9 +908,9 @@ scoped_refptr ContentBrowserClientQt::CreateLoginDelegat bool /*is_main_frame*/, const GURL &url, bool first_auth_attempt, - const base::Callback&)>&auth_required_callback) + LoginAuthRequiredCallback auth_required_callback) { - return base::MakeRefCounted(authInfo, web_contents_getter, url, first_auth_attempt, auth_required_callback); + return base::MakeRefCounted(authInfo, web_contents_getter, url, first_auth_attempt, std::move(auth_required_callback)); } } // namespace QtWebEngineCore diff --git a/src/core/content_browser_client_qt.h b/src/core/content_browser_client_qt.h index 842cf513d..1da7ce26c 100644 --- a/src/core/content_browser_client_qt.h +++ b/src/core/content_browser_client_qt.h @@ -117,7 +117,7 @@ public: void BindInterfaceRequestFromFrame(content::RenderFrameHost* render_frame_host, const std::string& interface_name, mojo::ScopedMessagePipeHandle interface_pipe) override; - void RegisterInProcessServices(StaticServiceMap* services) override; + void RegisterInProcessServices(StaticServiceMap* services, content::ServiceManagerConnection* connection) override; std::vector GetExtraServiceManifests() override; std::unique_ptr GetServiceManifestOverlay(base::StringPiece name) override; bool CanCreateWindow( @@ -185,7 +185,7 @@ public: bool is_main_frame, const GURL &url, bool first_auth_attempt, - const base::Callback&)>&auth_required_callback) override; + LoginAuthRequiredCallback auth_required_callback) override; bool HandleExternalProtocol( const GURL &url, content::ResourceRequestInfo::WebContentsGetter web_contents_getter, diff --git a/src/core/content_client_qt.cpp b/src/core/content_client_qt.cpp index fe0ea6a0d..a2b8c4da3 100644 --- a/src/core/content_client_qt.cpp +++ b/src/core/content_client_qt.cpp @@ -251,7 +251,8 @@ namespace QtWebEngineCore { #if defined(WIDEVINE_CDM_AVAILABLE_NOT_COMPONENT) static bool IsWidevineAvailable(base::FilePath *cdm_path, std::vector *codecs_supported, - bool *supports_persistent_license) + bool *supports_persistent_license, + base::flat_set* modes_supported) { QStringList pluginPaths; const base::CommandLine::StringType widevine_argument = base::CommandLine::ForCurrentProcess()->GetSwitchValueNative(switches::kCdmWidevinePath); @@ -307,6 +308,8 @@ static bool IsWidevineAvailable(base::FilePath *cdm_path, *supports_persistent_license = false; + modes_supported->insert(media::EncryptionMode::kCenc); + return true; } } @@ -324,12 +327,15 @@ void ContentClientQt::AddContentDecryptionModules(std::vector base::FilePath cdm_path; std::vector video_codecs_supported; bool supports_persistent_license = false; + base::flat_set encryption_modes_supported; if (IsWidevineAvailable(&cdm_path, &video_codecs_supported, - &supports_persistent_license)) { + &supports_persistent_license, + &encryption_modes_supported)) { const base::Version version; cdms->push_back(content::CdmInfo(kWidevineCdmDisplayName, kWidevineCdmGuid, version, cdm_path, kWidevineCdmFileSystemId, video_codecs_supported, - supports_persistent_license, kWidevineKeySystem, false)); + supports_persistent_license, encryption_modes_supported, + kWidevineKeySystem, false)); } #endif // defined(WIDEVINE_CDM_AVAILABLE_NOT_COMPONENT) @@ -355,12 +361,14 @@ void ContentClientQt::AddContentDecryptionModules(std::vector cdms->push_back(content::CdmInfo(media::kClearKeyCdmDisplayName, media::kClearKeyCdmDifferentGuid, base::Version("0.1.0.0"), clear_key_cdm_path, media::kClearKeyCdmFileSystemId, {}, supports_persistent_license, + {media::EncryptionMode::kCenc, media::EncryptionMode::kCbcs}, kExternalClearKeyDifferentGuidTestKeySystem, false)); // Supported codecs are hard-coded in ExternalClearKeyProperties. cdms->push_back(content::CdmInfo(media::kClearKeyCdmDisplayName, media::kClearKeyCdmGuid, base::Version("0.1.0.0"), clear_key_cdm_path, media::kClearKeyCdmFileSystemId, {}, supports_persistent_license, + {media::EncryptionMode::kCenc, media::EncryptionMode::kCbcs}, kExternalClearKeyKeySystem, true)); } #endif // BUILDFLAG(ENABLE_LIBRARY_CDMS) diff --git a/src/core/content_main_delegate_qt.cpp b/src/core/content_main_delegate_qt.cpp index 3989170a0..d9ddf3f49 100644 --- a/src/core/content_main_delegate_qt.cpp +++ b/src/core/content_main_delegate_qt.cpp @@ -53,6 +53,7 @@ #include #include "net/grit/net_resources.h" #include "net/base/net_module.h" +#include "services/service_manager/sandbox/switches.h" #include "url/url_util_qt.h" #include "content_client_qt.h" @@ -171,7 +172,7 @@ content::ContentRendererClient *ContentMainDelegateQt::CreateContentRendererClie #if defined(OS_LINUX) base::CommandLine *parsedCommandLine = base::CommandLine::ForCurrentProcess(); std::string process_type = parsedCommandLine->GetSwitchValueASCII(switches::kProcessType); - bool no_sandbox = parsedCommandLine->HasSwitch(switches::kNoSandbox); + bool no_sandbox = parsedCommandLine->HasSwitch(service_manager::switches::kNoSandbox); // Reload locale if the renderer process is sandboxed if (process_type == switches::kRendererProcess && !no_sandbox) { @@ -196,7 +197,7 @@ static void SafeOverridePathImpl(const char *keyName, int key, const base::FileP return; // Do not create directories for overridden paths. - if (PathService::OverrideAndCreateIfNeeded(key, path, false, false)) + if (base::PathService::OverrideAndCreateIfNeeded(key, path, false, false)) return; qWarning("Path override failed for key %s and path '%s'", keyName, path.value().c_str()); diff --git a/src/core/delegated_frame_node.cpp b/src/core/delegated_frame_node.cpp index a3afc2002..2c0824815 100644 --- a/src/core/delegated_frame_node.cpp +++ b/src/core/delegated_frame_node.cpp @@ -1260,7 +1260,7 @@ void DelegatedFrameNode::fetchAndSyncMailboxes(QList &mailboxe mailboxesToPull.reserve(mailboxesToFetch.size()); gpu::SyncPointManager *syncPointManager = sync_point_manager(); - base::MessageLoop *gpuMessageLoop = gpu_message_loop(); + scoped_refptr gpuTaskRunner = gpu_task_runner(); Q_ASSERT(m_numPendingSyncPoints == 0); m_numPendingSyncPoints = mailboxesToFetch.count(); for (MailboxTexture *mailboxTexture : qAsConst(mailboxesToFetch)) { @@ -1271,7 +1271,7 @@ void DelegatedFrameNode::fetchAndSyncMailboxes(QList &mailboxe } if (!mailboxesToPull.isEmpty()) { auto task = base::BindOnce(&DelegatedFrameNode::pullTextures, this, std::move(mailboxesToPull)); - gpuMessageLoop->task_runner()->PostTask(FROM_HERE, std::move(task)); + gpuTaskRunner->PostTask(FROM_HERE, std::move(task)); } m_mailboxesFetchedWaitCond.wait(&m_mutex); diff --git a/src/core/login_delegate_qt.cpp b/src/core/login_delegate_qt.cpp index 34245971f..6dd2aa5ed 100644 --- a/src/core/login_delegate_qt.cpp +++ b/src/core/login_delegate_qt.cpp @@ -61,10 +61,10 @@ LoginDelegateQt::LoginDelegateQt( content::ResourceRequestInfo::WebContentsGetter web_contents_getter, GURL url, bool first_auth_attempt, - const base::Callback&)> &auth_required_callback) + LoginAuthRequiredCallback auth_required_callback) : m_authInfo(authInfo) , m_url(url) - , m_auth_required_callback(auth_required_callback) + , m_auth_required_callback(std::move(auth_required_callback)) { Q_ASSERT(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); diff --git a/src/core/login_delegate_qt.h b/src/core/login_delegate_qt.h index 83ddc4322..9ce5df843 100644 --- a/src/core/login_delegate_qt.h +++ b/src/core/login_delegate_qt.h @@ -40,6 +40,7 @@ #ifndef LOGIN_DELEGATE_QT_H #define LOGIN_DELEGATE_QT_H +#include "content/public/browser/content_browser_client.h" #include "content/public/browser/login_delegate.h" #include "content/public/browser/resource_request_info.h" #include "url/gurl.h" @@ -61,7 +62,7 @@ public: content::ResourceRequestInfo::WebContentsGetter web_contents_getter, GURL url, bool first_auth_attempt, - const base::Callback&)> &auth_required_callback); + LoginAuthRequiredCallback auth_required_callback); ~LoginDelegateQt(); @@ -82,7 +83,7 @@ private: scoped_refptr m_authInfo; GURL m_url; - base::Callback&)> m_auth_required_callback; + LoginAuthRequiredCallback m_auth_required_callback; // This member is used to keep authentication dialog controller alive until // authorization is sent or cancelled. diff --git a/src/core/ozone/platform_window_qt.h b/src/core/ozone/platform_window_qt.h index 030a53c87..b712b706a 100644 --- a/src/core/ozone/platform_window_qt.h +++ b/src/core/ozone/platform_window_qt.h @@ -70,6 +70,7 @@ public: void Maximize() override { } void Minimize() override { } void Restore() override { } + PlatformWindowState GetPlatformWindowState() const override { return PLATFORM_WINDOW_STATE_UNKNOWN; } void SetCursor(PlatformCursor) override { } void MoveCursorTo(const gfx::Point&) override { } void ConfineCursorToBounds(const gfx::Rect&) override { } diff --git a/src/core/printing/pdfium_document_wrapper_qt.cpp b/src/core/printing/pdfium_document_wrapper_qt.cpp index 47c207a8a..a18258d0e 100644 --- a/src/core/printing/pdfium_document_wrapper_qt.cpp +++ b/src/core/printing/pdfium_document_wrapper_qt.cpp @@ -50,7 +50,7 @@ int PdfiumDocumentWrapperQt::m_libraryUsers = 0; class QWEBENGINECORE_PRIVATE_EXPORT PdfiumPageWrapperQt { public: - PdfiumPageWrapperQt(void *data, int pageIndex, int targetWidth, int targetHeight) + PdfiumPageWrapperQt(FPDF_DOCUMENT data, int pageIndex, int targetWidth, int targetHeight) : m_pageData(FPDF_LoadPage(data, pageIndex)) , m_width(FPDF_GetPageWidth(m_pageData)) , m_height(FPDF_GetPageHeight(m_pageData)) @@ -106,7 +106,7 @@ private: } private: - void *m_pageData; + FPDF_PAGE m_pageData; int m_width; int m_height; int m_index; @@ -124,8 +124,8 @@ PdfiumDocumentWrapperQt::PdfiumDocumentWrapperQt(const void *pdfData, size_t siz if (m_libraryUsers++ == 0) FPDF_InitLibrary(); - m_documentHandle = FPDF_LoadMemDocument(pdfData, static_cast(size), password); - m_pageCount = FPDF_GetPageCount(m_documentHandle); + m_documentHandle = (void *)FPDF_LoadMemDocument(pdfData, static_cast(size), password); + m_pageCount = FPDF_GetPageCount((FPDF_DOCUMENT)m_documentHandle); } QImage PdfiumDocumentWrapperQt::pageAsQImage(size_t index) @@ -140,14 +140,14 @@ QImage PdfiumDocumentWrapperQt::pageAsQImage(size_t index) return QImage(); } - PdfiumPageWrapperQt pageWrapper(m_documentHandle, index, + PdfiumPageWrapperQt pageWrapper((FPDF_DOCUMENT)m_documentHandle, index, m_imageSize.width(), m_imageSize.height()); return pageWrapper.image(); } PdfiumDocumentWrapperQt::~PdfiumDocumentWrapperQt() { - FPDF_CloseDocument(m_documentHandle); + FPDF_CloseDocument((FPDF_DOCUMENT)m_documentHandle); if (--m_libraryUsers == 0) FPDF_DestroyLibrary(); } diff --git a/src/core/printing/print_view_manager_base_qt.cpp b/src/core/printing/print_view_manager_base_qt.cpp index 6c67adbc7..0e7239ef8 100644 --- a/src/core/printing/print_view_manager_base_qt.cpp +++ b/src/core/printing/print_view_manager_base_qt.cpp @@ -343,7 +343,7 @@ void PrintViewManagerBaseQt::ShouldQuitFromInnerMessageLoop() } } -bool PrintViewManagerBaseQt::CreateNewPrintJob(printing::PrintJobWorkerOwner* job) +bool PrintViewManagerBaseQt::CreateNewPrintJob(printing::PrinterQuery *job) { DCHECK(!m_isInsideInnerMessageLoop); @@ -455,8 +455,7 @@ bool PrintViewManagerBaseQt::RunInnerMessageLoop() { // Need to enable recursive task. { - base::MessageLoop::ScopedNestableTaskAllower allow( - base::MessageLoop::current()); + base::MessageLoop::ScopedNestableTaskAllower allow; run_loop.Run(); } diff --git a/src/core/printing/print_view_manager_base_qt.h b/src/core/printing/print_view_manager_base_qt.h index eb4302fe8..3ade02f0d 100644 --- a/src/core/printing/print_view_manager_base_qt.h +++ b/src/core/printing/print_view_manager_base_qt.h @@ -147,7 +147,7 @@ protected: void TerminatePrintJob(bool cancel); void DisconnectFromCurrentPrintJob(); - bool CreateNewPrintJob(printing::PrintJobWorkerOwner* job); + bool CreateNewPrintJob(printing::PrinterQuery *job); void ReleasePrintJob(); void ReleasePrinterQuery(); diff --git a/src/core/printing/print_view_manager_qt.cpp b/src/core/printing/print_view_manager_qt.cpp index 508042e48..1619c1001 100644 --- a/src/core/printing/print_view_manager_qt.cpp +++ b/src/core/printing/print_view_manager_qt.cpp @@ -132,16 +132,13 @@ static base::DictionaryValue *createPrintSettings() printSettings->SetBoolean(printing::kSettingPrintWithPrivet, false); printSettings->SetBoolean(printing::kSettingPrintWithExtension, false); - printSettings->SetBoolean(printing::kSettingGenerateDraftData, false); - printSettings->SetBoolean(printing::kSettingPreviewModifiable, false); - printSettings->SetInteger(printing::kSettingDpiHorizontal, printing::kPointsPerInch); printSettings->SetInteger(printing::kSettingDpiVertical, printing::kPointsPerInch); printSettings->SetInteger(printing::kSettingDuplexMode, printing::SIMPLEX); printSettings->SetInteger(printing::kSettingCopies, 1); printSettings->SetBoolean(printing::kSettingCollate, false); - printSettings->SetBoolean(printing::kSettingGenerateDraftData, false); +// printSettings->SetBoolean(printing::kSettingGenerateDraftData, false); printSettings->SetBoolean(printing::kSettingPreviewModifiable, false); printSettings->SetBoolean(printing::kSettingShouldPrintSelectionOnly, false); diff --git a/src/core/profile_io_data_qt.cpp b/src/core/profile_io_data_qt.cpp index 0bc28ba46..d51ff2bb1 100644 --- a/src/core/profile_io_data_qt.cpp +++ b/src/core/profile_io_data_qt.cpp @@ -40,6 +40,7 @@ #include "profile_io_data_qt.h" #include "base/task_scheduler/post_task.h" +#include "components/certificate_transparency/ct_known_logs.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/browsing_data_remover.h" #include "content/public/browser/cookie_store_factory.h" @@ -47,8 +48,8 @@ #include "chrome/browser/custom_handlers/protocol_handler_registry_factory.h" #include "chrome/browser/net/chrome_mojo_proxy_resolver_factory.h" #include "net/cert/cert_verifier.h" -#include "net/cert/ct_known_logs.h" #include "net/cert/ct_log_verifier.h" +#include "net/cert/ct_policy_enforcer.h" #include "net/cert/multi_log_ct_verifier.h" #include "net/extras/sqlite/sqlite_channel_id_store.h" #include "net/http/http_auth_handler_factory.h" @@ -268,9 +269,10 @@ void ProfileIODataQt::generateStorage() m_storage->set_cert_verifier(net::CertVerifier::CreateDefault()); std::unique_ptr ct_verifier(new net::MultiLogCTVerifier()); - ct_verifier->AddLogs(net::ct::CreateLogVerifiersForKnownLogs()); +// FIXME: +// ct_verifier->AddLogs(net::ct::CreateLogVerifiersForKnownLogs()); m_storage->set_cert_transparency_verifier(std::move(ct_verifier)); - m_storage->set_ct_policy_enforcer(base::WrapUnique(new net::CTPolicyEnforcer)); + m_storage->set_ct_policy_enforcer(base::WrapUnique(new net::DefaultCTPolicyEnforcer())); std::unique_ptr host_resolver(net::HostResolver::CreateDefaultResolver(NULL)); @@ -282,7 +284,7 @@ void ProfileIODataQt::generateStorage() m_storage->set_proxy_resolution_service(network::CreateProxyResolutionServiceUsingMojoFactory( std::move(m_proxyResolverFactory), std::unique_ptr(proxyConfigService), - std::make_unique(m_urlRequestContext.get()), + net::PacFileFetcherImpl::Create(m_urlRequestContext.get()), m_dhcpPacFileFetcherFactory->Create(m_urlRequestContext.get()), host_resolver.get(), nullptr /* NetLog */, diff --git a/src/core/qtwebengine_sources.gni b/src/core/qtwebengine_sources.gni index be73cb81f..d8aaa17b2 100644 --- a/src/core/qtwebengine_sources.gni +++ b/src/core/qtwebengine_sources.gni @@ -124,8 +124,6 @@ source_set("qtwebengine_sources") { "//chrome/browser/printing/print_job_manager.h", "//chrome/browser/printing/print_job_worker.cc", "//chrome/browser/printing/print_job_worker.h", - "//chrome/browser/printing/print_job_worker_owner.cc", - "//chrome/browser/printing/print_job_worker_owner.h", ] deps += [ "//printing/buildflags:buildflags", diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp index a3c5b06d1..15881674c 100644 --- a/src/core/render_widget_host_view_qt.cpp +++ b/src/core/render_widget_host_view_qt.cpp @@ -66,7 +66,6 @@ #include "content/public/browser/browser_thread.h" #include "content/public/common/content_switches.h" #include "third_party/skia/include/core/SkColor.h" -#include "third_party/blink/public/platform/web_color.h" #include "third_party/blink/public/platform/web_cursor_info.h" #include "ui/base/clipboard/scoped_clipboard_writer.h" #include "ui/base/resource/resource_bundle.h" @@ -118,14 +117,11 @@ enum ImStateFlags { static inline ui::LatencyInfo CreateLatencyInfo(const blink::WebInputEvent& event) { ui::LatencyInfo latency_info; // The latency number should only be added if the timestamp is valid. - if (event.TimeStampSeconds()) { - const int64_t time_micros = static_cast( - event.TimeStampSeconds() * base::Time::kMicrosecondsPerSecond); + if (!event.TimeStamp().is_null()) { latency_info.AddLatencyNumberWithTimestamp( ui::INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 0, - 0, - base::TimeTicks() + base::TimeDelta::FromMicroseconds(time_micros), + event.TimeStamp(), 1); } return latency_info; @@ -330,7 +326,6 @@ RenderWidgetHostViewQt::RenderWidgetHostViewQt(content::RenderWidgetHost *widget , m_imeInProgress(false) , m_receivedEmptyImeEvent(false) , m_initPending(false) - , m_backgroundColor(SK_ColorWHITE) , m_imState(0) , m_anchorPositionWithinSelection(-1) , m_cursorPositionWithinSelection(-1) @@ -419,11 +414,6 @@ void RenderWidgetHostViewQt::SetBounds(const gfx::Rect& screenRect) SetSize(screenRect.size()); } -gfx::Vector2d RenderWidgetHostViewQt::GetOffsetFromRootSurface() -{ - return gfx::Vector2d(); -} - gfx::Size RenderWidgetHostViewQt::GetCompositorViewportPixelSize() const { if (!m_delegate || !m_delegate->window() || !m_delegate->window()->screen()) @@ -506,21 +496,12 @@ gfx::Rect RenderWidgetHostViewQt::GetViewBounds() const return gfx::BoundingRect(p1, p2); } -SkColor RenderWidgetHostViewQt::background_color() const +void RenderWidgetHostViewQt::UpdateBackgroundColor() { - return m_backgroundColor; -} - -void RenderWidgetHostViewQt::SetBackgroundColor(SkColor color) -{ - if (m_backgroundColor == color) - return; - m_backgroundColor = color; - // Set the background of the compositor if necessary - m_delegate->setClearColor(toQt(color)); - // Set the background of the blink::FrameView - host()->SetBackgroundOpaque(SkColorGetA(color) == SK_AlphaOPAQUE); - host()->Send(new RenderViewObserverQt_SetBackgroundColor(host()->GetRoutingID(), color)); + auto color = GetBackgroundColor(); + if (color) { + m_delegate->setClearColor(toQt(*color)); + } } // Return value indicates whether the mouse is locked successfully or not. @@ -746,13 +727,12 @@ void RenderWidgetHostViewQt::DidCreateNewRendererCompositorFrameSink(viz::mojom: m_compositor->setFrameSinkClient(frameSink); } -void RenderWidgetHostViewQt::SubmitCompositorFrame(const viz::LocalSurfaceId &local_surface_id, viz::CompositorFrame frame, viz::mojom::HitTestRegionListPtr) +void RenderWidgetHostViewQt::SubmitCompositorFrame(const viz::LocalSurfaceId &local_surface_id, viz::CompositorFrame frame, base::Optional) { bool scrollOffsetChanged = (m_lastScrollOffset != frame.metadata.root_scroll_offset); bool contentsSizeChanged = (m_lastContentsSize != frame.metadata.root_layer_size); m_lastScrollOffset = frame.metadata.root_scroll_offset; m_lastContentsSize = frame.metadata.root_layer_size; - m_backgroundColor = frame.metadata.root_background_color; if (m_localSurfaceId != local_surface_id) { m_localSurfaceId = local_surface_id; // FIXME: update frame_size and device_scale_factor? @@ -966,7 +946,7 @@ QSGNode *RenderWidgetHostViewQt::updatePaintNode(QSGNode *oldNode) void RenderWidgetHostViewQt::notifyResize() { - host()->WasResized(); + host()->SynchronizeVisualProperties(); host()->SendScreenRects(); } @@ -1711,7 +1691,9 @@ void RenderWidgetHostViewQt::TakeFallbackContentFrom(content::RenderWidgetHostVi { DCHECK(!static_cast(view)->IsRenderWidgetHostViewChildFrame()); DCHECK(!static_cast(view)->IsRenderWidgetHostViewGuest()); - SetBackgroundColor(view->background_color()); + base::Optional color = view->GetBackgroundColor(); + if (color) + SetBackgroundColor(*color); } } // namespace QtWebEngineCore diff --git a/src/core/render_widget_host_view_qt.h b/src/core/render_widget_host_view_qt.h index 909b3bd84..26fd16631 100644 --- a/src/core/render_widget_host_view_qt.h +++ b/src/core/render_widget_host_view_qt.h @@ -116,7 +116,6 @@ public: void InitAsFullscreen(content::RenderWidgetHostView*) override; void SetSize(const gfx::Size& size) override; void SetBounds(const gfx::Rect&) override; - gfx::Vector2d GetOffsetFromRootSurface() override; gfx::Size GetCompositorViewportPixelSize() const override; gfx::NativeView GetNativeView() const override; gfx::NativeViewAccessible GetNativeViewAccessible() override; @@ -127,8 +126,7 @@ public: void Hide() override; bool IsShowing() override; gfx::Rect GetViewBounds() const override; - SkColor background_color() const override; - void SetBackgroundColor(SkColor color) override; + void UpdateBackgroundColor() override; bool LockMouse() override; void UnlockMouse() override; void UpdateCursor(const content::WebCursor&) override; @@ -141,7 +139,7 @@ public: void SetTooltipText(const base::string16 &tooltip_text) override; void DisplayTooltipText(const base::string16& tooltip_text) override; void DidCreateNewRendererCompositorFrameSink(viz::mojom::CompositorFrameSinkClient* renderer_compositor_frame_sink) override; - void SubmitCompositorFrame(const viz::LocalSurfaceId&, viz::CompositorFrame, viz::mojom::HitTestRegionListPtr) override; + void SubmitCompositorFrame(const viz::LocalSurfaceId&, viz::CompositorFrame, base::Optional) override; void WheelEventAck(const blink::WebMouseWheelEvent &event, content::InputEventAckState ack_result) override; void GetScreenInfo(content::ScreenInfo* results) const override; @@ -152,6 +150,7 @@ public: void SetWantsAnimateOnlyBeginFrames() override; viz::SurfaceId GetCurrentSurfaceId() const override; void TakeFallbackContentFrom(content::RenderWidgetHostView *view) override; + void EnsureSurfaceSynchronizedForLayoutTest() override { QT_NOT_USED } // Overridden from ui::GestureProviderClient. void OnGestureEvent(const ui::GestureEventData& gesture) override; @@ -243,7 +242,6 @@ private: gfx::Vector2dF m_lastScrollOffset; gfx::SizeF m_lastContentsSize; - SkColor m_backgroundColor; viz::LocalSurfaceId m_localSurfaceId; uint m_imState; diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp index e9f404cb1..0466bfeb4 100644 --- a/src/core/renderer/content_renderer_client_qt.cpp +++ b/src/core/renderer/content_renderer_client_qt.cpp @@ -311,9 +311,11 @@ static void AddExternalClearKey(std::vector supported_video_codecs; bool supports_persistent_license; + std::vector supported_encryption_schemes; if (!content::IsKeySystemSupported(kExternalClearKeyKeySystem, &supported_video_codecs, - &supports_persistent_license)) { + &supports_persistent_license, + &supported_encryption_schemes)) { return; } @@ -373,9 +375,11 @@ static void AddWidevine(std::vector> { std::vector supported_video_codecs; bool supports_persistent_license = false; + std::vector supported_encryption_schemes; if (!content::IsKeySystemSupported(kWidevineKeySystem, &supported_video_codecs, - &supports_persistent_license)) { + &supports_persistent_license, + &supported_encryption_schemes)) { DVLOG(1) << "Widevine CDM is not currently available."; return; } @@ -417,7 +421,7 @@ static void AddWidevine(std::vector> using Robustness = cdm::WidevineKeySystemProperties::Robustness; concrete_key_systems->emplace_back(new cdm::WidevineKeySystemProperties( - supported_codecs, + supported_encryption_schemes, supported_codecs, Robustness::SW_SECURE_CRYPTO, // Maximum audio robustness. Robustness::SW_SECURE_DECODE, // Maximum video robustness. persistent_license_support, // persistent-license. diff --git a/src/core/renderer/render_view_observer_qt.cpp b/src/core/renderer/render_view_observer_qt.cpp index d37b67ebc..07dadfd40 100644 --- a/src/core/renderer/render_view_observer_qt.cpp +++ b/src/core/renderer/render_view_observer_qt.cpp @@ -78,11 +78,6 @@ void RenderViewObserverQt::onFetchDocumentInnerText(quint64 requestId) Send(new RenderViewObserverHostQt_DidFetchDocumentInnerText(routing_id(), requestId, text.Utf16())); } -void RenderViewObserverQt::onSetBackgroundColor(quint32 color) -{ - render_view()->GetWebFrameWidget()->SetBaseBackgroundColor(color); -} - void RenderViewObserverQt::OnDestruct() { delete this; @@ -94,7 +89,6 @@ bool RenderViewObserverQt::OnMessageReceived(const IPC::Message& message) IPC_BEGIN_MESSAGE_MAP(RenderViewObserverQt, message) IPC_MESSAGE_HANDLER(RenderViewObserverQt_FetchDocumentMarkup, onFetchDocumentMarkup) IPC_MESSAGE_HANDLER(RenderViewObserverQt_FetchDocumentInnerText, onFetchDocumentInnerText) - IPC_MESSAGE_HANDLER(RenderViewObserverQt_SetBackgroundColor, onSetBackgroundColor) IPC_MESSAGE_UNHANDLED(handled = false) IPC_END_MESSAGE_MAP() return handled; diff --git a/src/core/renderer/render_view_observer_qt.h b/src/core/renderer/render_view_observer_qt.h index abb472f02..83c0cd265 100644 --- a/src/core/renderer/render_view_observer_qt.h +++ b/src/core/renderer/render_view_observer_qt.h @@ -55,7 +55,6 @@ public: private: void onFetchDocumentMarkup(quint64 requestId); void onFetchDocumentInnerText(quint64 requestId); - void onSetBackgroundColor(quint32 color); void OnDestruct() override; diff --git a/src/core/renderer/user_resource_controller.cpp b/src/core/renderer/user_resource_controller.cpp index b8cf8b077..920fda72e 100644 --- a/src/core/renderer/user_resource_controller.cpp +++ b/src/core/renderer/user_resource_controller.cpp @@ -209,7 +209,7 @@ void UserResourceController::runScripts(UserScriptData::InjectionPoint p, blink: continue; blink::WebScriptSource source(blink::WebString::FromUTF8(script.source), script.url); if (script.worldId) - frame->ExecuteScriptInIsolatedWorld(script.worldId, &source, /*numSources = */1); + frame->ExecuteScriptInIsolatedWorld(script.worldId, source); else frame->ExecuteScript(source); } diff --git a/src/core/resource_bundle_qt.cpp b/src/core/resource_bundle_qt.cpp index c37854ea6..428faa34e 100644 --- a/src/core/resource_bundle_qt.cpp +++ b/src/core/resource_bundle_qt.cpp @@ -40,6 +40,7 @@ #include "base/command_line.h" #include "base/metrics/histogram_macros.h" #include "content/public/common/content_switches.h" +#include "services/service_manager/sandbox/switches.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/data_pack.h" #include "ui/base/resource/resource_bundle.h" @@ -75,7 +76,7 @@ bool ResourceBundle::LocaleDataPakExists(const std::string& locale) #if defined(OS_LINUX) base::CommandLine *parsed_command_line = base::CommandLine::ForCurrentProcess(); std::string process_type = parsed_command_line->GetSwitchValueASCII(switches::kProcessType); - bool no_sandbox = parsed_command_line->HasSwitch(switches::kNoSandbox); + bool no_sandbox = parsed_command_line->HasSwitch(service_manager::switches::kNoSandbox); if (process_type == switches::kRendererProcess && !no_sandbox) { // The Renderer Process is sandboxed thus only one locale is available in it. // The particular one is passed by the --lang command line option. diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp index 2e3f3785a..8ea7187d4 100644 --- a/src/core/web_contents_adapter.cpp +++ b/src/core/web_contents_adapter.cpp @@ -222,7 +222,7 @@ static void callbackOnPdfSavingFinished(WebContentsAdapterClient *adapterClient, } #endif -static content::WebContents *createBlankWebContents(WebContentsAdapterClient *adapterClient, content::BrowserContext *browserContext) +static std::unique_ptr createBlankWebContents(WebContentsAdapterClient *adapterClient, content::BrowserContext *browserContext) { content::WebContents::CreateParams create_params(browserContext, NULL); create_params.routing_id = MSG_ROUTING_NONE; @@ -323,7 +323,8 @@ static void deserializeNavigationHistory(QDataStream &input, int *currentIndex, false, // The extra headers are not sync'ed across sessions. std::string(), - browserContext); + browserContext, + nullptr); entry->SetTitle(toString16(title)); entry->SetPageState(content::PageState::CreateFromEncodedData(std::string(pageState.data(), pageState.size()))); @@ -370,7 +371,7 @@ QSharedPointer WebContentsAdapter::createFromSerializedNavig return QSharedPointer(); // Unlike WebCore, Chromium only supports Restoring to a new WebContents instance. - content::WebContents* newWebContents = createBlankWebContents(adapterClient, adapterClient->profileAdapter()->profile()); + std::unique_ptr newWebContents = createBlankWebContents(adapterClient, adapterClient->profileAdapter()->profile()); content::NavigationController &controller = newWebContents->GetController(); controller.Restore(currentIndex, content::RestoreType::LAST_SESSION_EXITED_CLEANLY, &entries); @@ -385,12 +386,29 @@ QSharedPointer WebContentsAdapter::createFromSerializedNavig content::ChildProcessSecurityPolicy::GetInstance()->GrantReadFile(id, *file); } - return QSharedPointer::create(newWebContents); + return QSharedPointer::create(std::move(newWebContents)); } -WebContentsAdapter::WebContentsAdapter(content::WebContents *webContents) +WebContentsAdapter::WebContentsAdapter() : m_profileAdapter(nullptr) - , m_webContents(webContents) + , m_webContents(nullptr) +#if QT_CONFIG(webengine_webchannel) + , m_webChannel(nullptr) + , m_webChannelWorld(0) +#endif + , m_adapterClient(nullptr) + , m_nextRequestId(CallbackDirectory::ReservedCallbackIdsEnd) + , m_lastFindRequestId(0) + , m_currentDropAction(blink::kWebDragOperationNone) + , m_devToolsFrontend(nullptr) +{ + // This has to be the first thing we create, and the last we destroy. + WebEngineContext::current(); +} + +WebContentsAdapter::WebContentsAdapter(std::unique_ptr webContents) + : m_profileAdapter(nullptr) + , m_webContents(std::move(webContents)) #if QT_CONFIG(webengine_webchannel) , m_webChannel(nullptr) , m_webChannelWorld(0) @@ -439,7 +457,7 @@ void WebContentsAdapter::initialize(content::SiteInstance *site) create_params.initial_size = gfx::Size(kTestWindowWidth, kTestWindowHeight); create_params.context = reinterpret_cast(m_adapterClient); create_params.initially_hidden = true; - m_webContents.reset(content::WebContents::Create(create_params)); + m_webContents = content::WebContents::Create(create_params); } content::RendererPreferences* rendererPrefs = m_webContents->GetMutableRendererPrefs(); @@ -1375,7 +1393,7 @@ void WebContentsAdapter::startDragging(QObject *dragSource, const content::DropD } { - base::MessageLoop::ScopedNestableTaskAllower allow(base::MessageLoop::current()); + base::MessageLoop::ScopedNestableTaskAllower allow; drag->exec(allowedActions); } diff --git a/src/core/web_contents_adapter.h b/src/core/web_contents_adapter.h index fcdac94b8..8e02a852b 100644 --- a/src/core/web_contents_adapter.h +++ b/src/core/web_contents_adapter.h @@ -94,8 +94,8 @@ class WebEngineContext; class QWEBENGINECORE_PRIVATE_EXPORT WebContentsAdapter : public QEnableSharedFromThis { public: static QSharedPointer createFromSerializedNavigationHistory(QDataStream &input, WebContentsAdapterClient *adapterClient); - // Takes ownership of the WebContents. - WebContentsAdapter(content::WebContents *webContents = 0); + WebContentsAdapter(); + WebContentsAdapter(std::unique_ptr webContents); ~WebContentsAdapter(); void setClient(WebContentsAdapterClient *adapterClient); diff --git a/src/core/web_contents_delegate_qt.cpp b/src/core/web_contents_delegate_qt.cpp index 36703c225..68755ae70 100644 --- a/src/core/web_contents_delegate_qt.cpp +++ b/src/core/web_contents_delegate_qt.cpp @@ -219,10 +219,10 @@ void WebContentsDelegateQt::NavigationStateChanged(content::WebContents* source, } } -void WebContentsDelegateQt::AddNewContents(content::WebContents* source, content::WebContents* new_contents, WindowOpenDisposition disposition, const gfx::Rect& initial_pos, bool user_gesture, bool* was_blocked) +void WebContentsDelegateQt::AddNewContents(content::WebContents* source, std::unique_ptr new_contents, WindowOpenDisposition disposition, const gfx::Rect& initial_pos, bool user_gesture, bool* was_blocked) { Q_UNUSED(source) - QSharedPointer newAdapter = createWindow(new_contents, disposition, initial_pos, user_gesture); + QSharedPointer newAdapter = createWindow(std::move(new_contents), disposition, initial_pos, user_gesture); if (newAdapter && !newAdapter->isInitialized()) newAdapter->loadDefault(); if (was_blocked) @@ -419,7 +419,7 @@ content::JavaScriptDialogManager *WebContentsDelegateQt::GetJavaScriptDialogMana return JavaScriptDialogManagerQt::GetInstance(); } -void WebContentsDelegateQt::EnterFullscreenModeForTab(content::WebContents *web_contents, const GURL& origin) +void WebContentsDelegateQt::EnterFullscreenModeForTab(content::WebContents *web_contents, const GURL& origin, const blink::WebFullscreenOptions &) { Q_UNUSED(web_contents); if (!m_viewClient->isFullScreenMode()) @@ -547,9 +547,9 @@ void WebContentsDelegateQt::overrideWebPreferences(content::WebContents *webCont m_viewClient->webEngineSettings()->overrideWebPreferences(webContents, webPreferences); } -QWeakPointer WebContentsDelegateQt::createWindow(content::WebContents *new_contents, WindowOpenDisposition disposition, const gfx::Rect& initial_pos, bool user_gesture) +QWeakPointer WebContentsDelegateQt::createWindow(std::unique_ptr new_contents, WindowOpenDisposition disposition, const gfx::Rect& initial_pos, bool user_gesture) { - QSharedPointer newAdapter = QSharedPointer::create(new_contents); + QSharedPointer newAdapter = QSharedPointer::create(std::move(new_contents)); m_viewClient->adoptNewWindow(newAdapter, static_cast(disposition), user_gesture, toQt(initial_pos), m_initialTargetUrl); diff --git a/src/core/web_contents_delegate_qt.h b/src/core/web_contents_delegate_qt.h index a2bef7cc7..db327f768 100644 --- a/src/core/web_contents_delegate_qt.h +++ b/src/core/web_contents_delegate_qt.h @@ -103,7 +103,7 @@ public: // WebContentsDelegate overrides content::WebContents *OpenURLFromTab(content::WebContents *source, const content::OpenURLParams ¶ms) override; void NavigationStateChanged(content::WebContents* source, content::InvalidateTypes changed_flags) override; - void AddNewContents(content::WebContents* source, content::WebContents* new_contents, WindowOpenDisposition disposition, const gfx::Rect& initial_pos, bool user_gesture, bool* was_blocked) override; + void AddNewContents(content::WebContents *source, std::unique_ptr new_contents, WindowOpenDisposition disposition, const gfx::Rect &initial_pos, bool user_gesture, bool *was_blocked) override; void CloseContents(content::WebContents *source) override; void LoadProgressChanged(content::WebContents* source, double progress) override; void HandleKeyboardEvent(content::WebContents *source, const content::NativeWebKeyboardEvent &event) override; @@ -111,7 +111,7 @@ public: void WebContentsCreated(content::WebContents *source_contents, int opener_render_process_id, int opener_render_frame_id, const std::string &frame_name, const GURL &target_url, content::WebContents *new_contents) override; content::JavaScriptDialogManager *GetJavaScriptDialogManager(content::WebContents *source) override; - void EnterFullscreenModeForTab(content::WebContents* web_contents, const GURL& origin) override; + void EnterFullscreenModeForTab(content::WebContents *web_contents, const GURL &origin, const blink::WebFullscreenOptions &) override; void ExitFullscreenModeForTab(content::WebContents*) override; bool IsFullscreenForTabOrPending(const content::WebContents* web_contents) const override; void RunFileChooser(content::RenderFrameHost* render_frame_host, const content::FileChooserParams& params) override; @@ -155,7 +155,7 @@ public: WebContentsAdapterClient *adapterClient() const { return m_viewClient; } private: - QWeakPointer createWindow(content::WebContents *new_contents, WindowOpenDisposition disposition, const gfx::Rect& initial_pos, bool user_gesture); + QWeakPointer createWindow(std::unique_ptr new_contents, WindowOpenDisposition disposition, const gfx::Rect& initial_pos, bool user_gesture); void EmitLoadStarted(const QUrl &url, bool isErrorPage = false); void EmitLoadFinished(bool success, const QUrl &url, bool isErrorPage = false, int errorCode = 0, const QString &errorDescription = QString()); diff --git a/src/core/web_engine_context.cpp b/src/core/web_engine_context.cpp index 410e13837..4b0a2f6cd 100644 --- a/src/core/web_engine_context.cpp +++ b/src/core/web_engine_context.cpp @@ -373,12 +373,12 @@ WebEngineContext::WebEngineContext() bool disable_sandbox = qEnvironmentVariableIsSet(kDisableSandboxEnv); if (!disable_sandbox) { #if defined(Q_OS_WIN) - parsedCommandLine->AppendSwitch(switches::kNoSandbox); + parsedCommandLine->AppendSwitch(service_manager::switches::kNoSandbox); #elif defined(Q_OS_LINUX) parsedCommandLine->AppendSwitch(service_manager::switches::kDisableSetuidSandbox); #endif } else { - parsedCommandLine->AppendSwitch(switches::kNoSandbox); + parsedCommandLine->AppendSwitch(service_manager::switches::kNoSandbox); qInfo() << "Sandboxing disabled by user."; } diff --git a/src/core/web_event_factory.cpp b/src/core/web_event_factory.cpp index 6358f6830..b97235ceb 100644 --- a/src/core/web_event_factory.cpp +++ b/src/core/web_event_factory.cpp @@ -1146,20 +1146,17 @@ static ui::DomKey domKeyForQtKey(int qtKey) } } -static inline double currentTimeForEvent(const QEvent *event) +static inline base::TimeTicks currentTimeForEvent(const QEvent *event) { Q_ASSERT(event); if (event->type() != QEvent::Leave) { const QInputEvent *inputEvent = static_cast(event); if (inputEvent->timestamp()) - return static_cast(inputEvent->timestamp()) / 1000; + return base::TimeTicks::FromInternalValue(inputEvent->timestamp() * 1000); } - static QElapsedTimer timer; - if (!timer.isValid()) - timer.start(); - return static_cast(timer.elapsed()) / 1000; + return base::TimeTicks::Now(); } template @@ -1328,7 +1325,7 @@ WebMouseEvent WebEventFactory::toWebMouseEvent(QMouseEvent *ev, double dpiScale) WebMouseEvent WebEventFactory::toWebMouseEvent(QHoverEvent *ev, double dpiScale) { WebMouseEvent webKitEvent; - webKitEvent.SetTimeStampSeconds(currentTimeForEvent(ev)); + webKitEvent.SetTimeStamp(currentTimeForEvent(ev)); webKitEvent.SetModifiers(modifiersForEvent(ev)); webKitEvent.SetType(webEventTypeForEvent(ev)); @@ -1366,7 +1363,7 @@ WebMouseEvent WebEventFactory::toWebMouseEvent(QEvent *ev) Q_ASSERT(ev->type() == QEvent::Leave || ev->type() == QEvent::HoverLeave); WebMouseEvent webKitEvent; - webKitEvent.SetTimeStampSeconds(currentTimeForEvent(ev)); + webKitEvent.SetTimeStamp(currentTimeForEvent(ev)); webKitEvent.SetType(WebInputEvent::kMouseLeave); return webKitEvent; } @@ -1375,7 +1372,7 @@ WebMouseEvent WebEventFactory::toWebMouseEvent(QEvent *ev) WebGestureEvent WebEventFactory::toWebGestureEvent(QNativeGestureEvent *ev, double dpiScale) { WebGestureEvent webKitEvent; - webKitEvent.SetTimeStampSeconds(currentTimeForEvent(ev)); + webKitEvent.SetTimeStamp(currentTimeForEvent(ev)); webKitEvent.SetModifiers(modifiersForEvent(ev)); webKitEvent.SetPositionInWidget(WebFloatPoint(ev->localPos().x() / dpiScale, @@ -1446,7 +1443,7 @@ blink::WebMouseWheelEvent WebEventFactory::toWebWheelEvent(QWheelEvent *ev, doub WebMouseWheelEvent webEvent; webEvent.SetType(webEventTypeForEvent(ev)); webEvent.SetModifiers(modifiersForEvent(ev)); - webEvent.SetTimeStampSeconds(currentTimeForEvent(ev)); + webEvent.SetTimeStamp(currentTimeForEvent(ev)); webEvent.SetPositionInWidget(ev->x() / dpiScale, ev->y() / dpiScale); webEvent.SetPositionInScreen(ev->globalX(), ev->globalY()); @@ -1468,7 +1465,7 @@ bool WebEventFactory::coalesceWebWheelEvent(blink::WebMouseWheelEvent &webEvent, if (toBlinkPhase(ev->phase()) != webEvent.phase) return false; - webEvent.SetTimeStampSeconds(currentTimeForEvent(ev)); + webEvent.SetTimeStamp(currentTimeForEvent(ev)); webEvent.SetPositionInWidget(ev->x() / dpiScale, ev->y() / dpiScale); webEvent.SetPositionInScreen(ev->globalX(), ev->globalY()); @@ -1482,7 +1479,7 @@ bool WebEventFactory::coalesceWebWheelEvent(blink::WebMouseWheelEvent &webEvent, content::NativeWebKeyboardEvent WebEventFactory::toWebKeyboardEvent(QKeyEvent *ev) { content::NativeWebKeyboardEvent webKitEvent(reinterpret_cast(ev)); - webKitEvent.SetTimeStampSeconds(currentTimeForEvent(ev)); + webKitEvent.SetTimeStamp(currentTimeForEvent(ev)); webKitEvent.SetModifiers(modifiersForEvent(ev)); webKitEvent.SetType(webEventTypeForEvent(ev)); diff --git a/src/tools/qwebengine_convert_dict/main.cpp b/src/tools/qwebengine_convert_dict/main.cpp index 2a82e5945..9d3888ad6 100644 --- a/src/tools/qwebengine_convert_dict/main.cpp +++ b/src/tools/qwebengine_convert_dict/main.cpp @@ -176,7 +176,7 @@ int main(int argc, char *argv[]) } if (icuDataDirFound) { - PathService::Override(base::DIR_QT_LIBRARY_DATA, toFilePath(icuDataDir)); + base::PathService::Override(base::DIR_QT_LIBRARY_DATA, toFilePath(icuDataDir)); } else { QTextStream out(stdout); out << "Couldn't find ICU data directory. Please check that the following path exists: " -- cgit v1.2.3