summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-08-23 18:26:28 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-09-22 08:47:19 +0000
commitc0419ae89fbc4fbdc58aef5b8b01ab0b45f8ff98 (patch)
treed0bdc1f0ef144bb63ed75b8e6fcfb6f039628210
parent1e89fa4226be870d97d3b21c6c7087886c81bbc5 (diff)
Adaptations for Chromium 68
Together-with: Tamas Zakor<ztamas@inf.u-szeged.hu> Change-Id: I805246b6f01cb151fff48588744408c676d87c14 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
-rw-r--r--src/core/browser_accessibility_qt.cpp11
-rw-r--r--src/core/build_config_qt.h6
-rw-r--r--src/core/chromium_gpu_helper.cpp5
-rw-r--r--src/core/chromium_gpu_helper.h6
-rw-r--r--src/core/client_cert_select_controller.cpp2
-rw-r--r--src/core/common/qt_messages.h3
-rw-r--r--src/core/content_browser_client_qt.cpp23
-rw-r--r--src/core/content_browser_client_qt.h4
-rw-r--r--src/core/content_client_qt.cpp14
-rw-r--r--src/core/content_main_delegate_qt.cpp5
-rw-r--r--src/core/delegated_frame_node.cpp4
-rw-r--r--src/core/login_delegate_qt.cpp4
-rw-r--r--src/core/login_delegate_qt.h5
-rw-r--r--src/core/ozone/platform_window_qt.h1
-rw-r--r--src/core/printing/pdfium_document_wrapper_qt.cpp12
-rw-r--r--src/core/printing/print_view_manager_base_qt.cpp5
-rw-r--r--src/core/printing/print_view_manager_base_qt.h2
-rw-r--r--src/core/printing/print_view_manager_qt.cpp5
-rw-r--r--src/core/profile_io_data_qt.cpp10
-rw-r--r--src/core/qtwebengine_sources.gni2
-rw-r--r--src/core/render_widget_host_view_qt.cpp42
-rw-r--r--src/core/render_widget_host_view_qt.h8
-rw-r--r--src/core/renderer/content_renderer_client_qt.cpp10
-rw-r--r--src/core/renderer/render_view_observer_qt.cpp6
-rw-r--r--src/core/renderer/render_view_observer_qt.h1
-rw-r--r--src/core/renderer/user_resource_controller.cpp2
-rw-r--r--src/core/resource_bundle_qt.cpp3
-rw-r--r--src/core/web_contents_adapter.cpp34
-rw-r--r--src/core/web_contents_adapter.h4
-rw-r--r--src/core/web_contents_delegate_qt.cpp10
-rw-r--r--src/core/web_contents_delegate_qt.h6
-rw-r--r--src/core/web_engine_context.cpp4
-rw-r--r--src/core/web_event_factory.cpp21
-rw-r--r--src/tools/qwebengine_convert_dict/main.cpp2
-rwxr-xr-xtools/scripts/take_snapshot.py5
-rw-r--r--tools/scripts/version_resolver.py4
36 files changed, 147 insertions, 144 deletions
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<int32_t>& cell_ids = GetIntListAttribute(ax::mojom::IntListAttribute::kCellIds);
- DCHECK_EQ(columns * rows, static_cast<int>(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<BrowserAccessibilityQt*>(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<base::SingleThreadTaskRunner> 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 <QtGlobal> // 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<base::SingleThreadTaskRunner> 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<net::X509Certificate> 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<gl::GPUTimingClient> 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<content::LoginDelegate> ContentBrowserClientQt::CreateLoginDelegat
bool /*is_main_frame*/,
const GURL &url,
bool first_auth_attempt,
- const base::Callback<void(const base::Optional<net::AuthCredentials>&)>&auth_required_callback)
+ LoginAuthRequiredCallback auth_required_callback)
{
- return base::MakeRefCounted<LoginDelegateQt>(authInfo, web_contents_getter, url, first_auth_attempt, auth_required_callback);
+ return base::MakeRefCounted<LoginDelegateQt>(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<ServiceManifestInfo> GetExtraServiceManifests() override;
std::unique_ptr<base::Value> 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<void(const base::Optional<net::AuthCredentials>&)>&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<media::VideoCodec> *codecs_supported,
- bool *supports_persistent_license)
+ bool *supports_persistent_license,
+ base::flat_set<media::EncryptionMode>* 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<content::CdmInfo>
base::FilePath cdm_path;
std::vector<media::VideoCodec> video_codecs_supported;
bool supports_persistent_license = false;
+ base::flat_set<media::EncryptionMode> 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<content::CdmInfo>
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 <ui/base/webui/jstemplate_builder.h>
#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<MailboxTexture *> &mailboxe
mailboxesToPull.reserve(mailboxesToFetch.size());
gpu::SyncPointManager *syncPointManager = sync_point_manager();
- base::MessageLoop *gpuMessageLoop = gpu_message_loop();
+ scoped_refptr<base::SingleThreadTaskRunner> 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<MailboxTexture *> &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<void(const base::Optional<net::AuthCredentials>&)> &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<void(const base::Optional<net::AuthCredentials>&)> &auth_required_callback);
+ LoginAuthRequiredCallback auth_required_callback);
~LoginDelegateQt();
@@ -82,7 +83,7 @@ private:
scoped_refptr<net::AuthChallengeInfo> m_authInfo;
GURL m_url;
- base::Callback<void(const base::Optional<net::AuthCredentials>&)> 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<int>(size), password);
- m_pageCount = FPDF_GetPageCount(m_documentHandle);
+ m_documentHandle = (void *)FPDF_LoadMemDocument(pdfData, static_cast<int>(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<net::MultiLogCTVerifier> 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<net::HostResolver> 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<net::ProxyConfigService>(proxyConfigService),
- std::make_unique<net::PacFileFetcherImpl>(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<int64_t>(
- 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<viz::HitTestRegionList>)
{
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<RenderWidgetHostViewBase*>(view)->IsRenderWidgetHostViewChildFrame());
DCHECK(!static_cast<RenderWidgetHostViewBase*>(view)->IsRenderWidgetHostViewGuest());
- SetBackgroundColor(view->background_color());
+ base::Optional<SkColor> 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<viz::HitTestRegionList>) 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<std::unique_ptr<media::KeySystemProp
std::vector<media::VideoCodec> supported_video_codecs;
bool supports_persistent_license;
+ std::vector<media::EncryptionMode> 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::unique_ptr<media::KeySystemProperties>>
{
std::vector<media::VideoCodec> supported_video_codecs;
bool supports_persistent_license = false;
+ std::vector<media::EncryptionMode> 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<std::unique_ptr<media::KeySystemProperties>>
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<content::WebContents> 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> WebContentsAdapter::createFromSerializedNavig
return QSharedPointer<WebContentsAdapter>();
// Unlike WebCore, Chromium only supports Restoring to a new WebContents instance.
- content::WebContents* newWebContents = createBlankWebContents(adapterClient, adapterClient->profileAdapter()->profile());
+ std::unique_ptr<content::WebContents> 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> WebContentsAdapter::createFromSerializedNavig
content::ChildProcessSecurityPolicy::GetInstance()->GrantReadFile(id, *file);
}
- return QSharedPointer<WebContentsAdapter>::create(newWebContents);
+ return QSharedPointer<WebContentsAdapter>::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<content::WebContents> 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<gfx::NativeView>(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<WebContentsAdapter> {
public:
static QSharedPointer<WebContentsAdapter> createFromSerializedNavigationHistory(QDataStream &input, WebContentsAdapterClient *adapterClient);
- // Takes ownership of the WebContents.
- WebContentsAdapter(content::WebContents *webContents = 0);
+ WebContentsAdapter();
+ WebContentsAdapter(std::unique_ptr<content::WebContents> 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<content::WebContents> new_contents, WindowOpenDisposition disposition, const gfx::Rect& initial_pos, bool user_gesture, bool* was_blocked)
{
Q_UNUSED(source)
- QSharedPointer<WebContentsAdapter> newAdapter = createWindow(new_contents, disposition, initial_pos, user_gesture);
+ QSharedPointer<WebContentsAdapter> 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<WebContentsAdapter> WebContentsDelegateQt::createWindow(content::WebContents *new_contents, WindowOpenDisposition disposition, const gfx::Rect& initial_pos, bool user_gesture)
+QWeakPointer<WebContentsAdapter> WebContentsDelegateQt::createWindow(std::unique_ptr<content::WebContents> new_contents, WindowOpenDisposition disposition, const gfx::Rect& initial_pos, bool user_gesture)
{
- QSharedPointer<WebContentsAdapter> newAdapter = QSharedPointer<WebContentsAdapter>::create(new_contents);
+ QSharedPointer<WebContentsAdapter> newAdapter = QSharedPointer<WebContentsAdapter>::create(std::move(new_contents));
m_viewClient->adoptNewWindow(newAdapter, static_cast<WebContentsAdapterClient::WindowOpenDisposition>(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 &params) 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<content::WebContents> 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<WebContentsAdapter> createWindow(content::WebContents *new_contents, WindowOpenDisposition disposition, const gfx::Rect& initial_pos, bool user_gesture);
+ QWeakPointer<WebContentsAdapter> createWindow(std::unique_ptr<content::WebContents> 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<const QInputEvent *>(event);
if (inputEvent->timestamp())
- return static_cast<double>(inputEvent->timestamp()) / 1000;
+ return base::TimeTicks::FromInternalValue(inputEvent->timestamp() * 1000);
}
- static QElapsedTimer timer;
- if (!timer.isValid())
- timer.start();
- return static_cast<double>(timer.elapsed()) / 1000;
+ return base::TimeTicks::Now();
}
template<class T>
@@ -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<gfx::NativeEvent>(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: "
diff --git a/tools/scripts/take_snapshot.py b/tools/scripts/take_snapshot.py
index 6cb55e5c4..0373f391b 100755
--- a/tools/scripts/take_snapshot.py
+++ b/tools/scripts/take_snapshot.py
@@ -70,6 +70,7 @@ def isInChromiumBlacklist(file_path):
not file_path.startswith('net/test/') and
not file_path.endswith('mock_chrome_application_mac.h') and
not file_path.endswith('perftimer.h') and
+ not file_path.endswith('test-torque.tq') and
not 'ozone' in file_path and
not 'core/mojo/test/' in file_path and
not file_path.startswith('extensions/browser/'))
@@ -165,6 +166,7 @@ def isInChromiumBlacklist(file_path):
or file_path.startswith('third_party/ashmem')
or file_path.startswith('third_party/binutils')
or file_path.startswith('third_party/bison')
+ or file_path.startswith('third_party/blink/perf_tests/')
or file_path.startswith('third_party/breakpad/src/processor/testdata/')
or file_path.startswith('third_party/boringssl/crypto_test_data.cc')
or file_path.startswith('third_party/boringssl/src/fuzz')
@@ -229,6 +231,8 @@ def isInChromiumBlacklist(file_path):
or file_path.startswith('third_party/wayland/src')
or file_path.startswith('third_party/webgl')
or file_path.startswith('third_party/webrtc/resources/')
+ or file_path.startswith('third_party/webrtc/third_party/boringssl/crypto_test_data.cc')
+ or file_path.startswith('third_party/webrtc/third_party/boringssl/src/fuzz')
or file_path.startswith('tools/android')
or file_path.startswith('tools/luci_go')
or file_path.startswith('tools/memory_inspector')
@@ -242,7 +246,6 @@ def isInChromiumBlacklist(file_path):
or file_path.startswith('ui/events/ozone/chromeos')
or file_path.startswith('ui/file_manager')
or file_path.startswith('ui/gfx/chromeos')
- or file_path.startswith('v8/third_party/antlr4')
):
return True
diff --git a/tools/scripts/version_resolver.py b/tools/scripts/version_resolver.py
index 748205d51..22f2797ad 100644
--- a/tools/scripts/version_resolver.py
+++ b/tools/scripts/version_resolver.py
@@ -38,8 +38,8 @@ import json
import urllib2
import git_submodule as GitSubmodule
-chromium_version = '67.0.3396.76'
-chromium_branch = '3396'
+chromium_version = '68.0.3440.125'
+chromium_branch = '3440'
ninja_version = 'v1.8.2'
json_url = 'http://omahaproxy.appspot.com/all.json'