diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-04-05 16:25:06 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-06-14 12:41:26 +0000 |
commit | 917f862ebfd0a1797786c7c663acb83ff9144cde (patch) | |
tree | 0da1e7fe38e7bea037394dca84d300d0abe21318 /src | |
parent | fa19227c3ac7df7c0d2f8a548a9a36ac9a7b803c (diff) |
Adaptations for Chromium 57
Change-Id: Ia2756c1e9b13839c2330bd98cf953d47cbdac0dd
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Diffstat (limited to 'src')
35 files changed, 140 insertions, 120 deletions
diff --git a/src/core/chromium_overrides.cpp b/src/core/chromium_overrides.cpp index 9afa80757..9aeeb1327 100644 --- a/src/core/chromium_overrides.cpp +++ b/src/core/chromium_overrides.cpp @@ -49,6 +49,7 @@ #include "content/common/font_list.h" #include "ui/base/dragdrop/os_exchange_data.h" #include "ui/base/dragdrop/os_exchange_data_provider_factory.h" +#include "ppapi/features/features.h" #include <QGuiApplication> #include <QScreen> @@ -141,7 +142,7 @@ std::unique_ptr<base::ListValue> GetFontList_SlowBlocking() return std::move(font_list); } -#if defined(ENABLE_PLUGINS) +#if BUILDFLAG(ENABLE_PLUGINS) // content/browser/renderer_host/pepper/pepper_truetype_font_list.h void GetFontFamilies_SlowBlocking(std::vector<std::string> *font_families) { @@ -155,7 +156,7 @@ void GetFontsInFamily_SlowBlocking(const std::string &, std::vector<ppapi::proxy { QT_NOT_USED } -#endif //defined(ENABLE_PLUGINS) +#endif // BUILDFLAG(ENABLE_PLUGINS) } // namespace content @@ -170,7 +171,7 @@ ui::OSExchangeDataProviderFactory::CreateProvider() { #if defined(USE_OPENSSL_CERTS) namespace net { -scoped_refptr<SSLPrivateKey> FetchClientCertPrivateKey(X509Certificate* certificate) +scoped_refptr<SSLPrivateKey> FetchClientCertPrivateKey(const X509Certificate* certificate) { return OpenSSLClientKeyStore::GetInstance()->FetchClientCertPrivateKey(certificate); } diff --git a/src/core/clipboard_qt.h b/src/core/clipboard_qt.h index c2ced4941..20b51a599 100644 --- a/src/core/clipboard_qt.h +++ b/src/core/clipboard_qt.h @@ -82,6 +82,8 @@ public: void ReadBookmark(base::string16* title, std::string* url) const override; void ReadData(const FormatType& format, std::string* result) const override; + virtual void OnPreShutdown() Q_DECL_OVERRIDE { } + protected: void WriteObjects(ui::ClipboardType type, const ObjectMap& objects) override; void WriteText(const char* text_data, size_t text_len) override; diff --git a/src/core/config/desktop_linux.pri b/src/core/config/desktop_linux.pri index 9918e1bb2..4d3f923e1 100644 --- a/src/core/config/desktop_linux.pri +++ b/src/core/config/desktop_linux.pri @@ -3,7 +3,6 @@ include(linux.pri) gn_args += \ use_sysroot=false \ enable_session_service=false \ - enable_notifications=false \ toolkit_views=false use?(icecc) { diff --git a/src/core/config/embedded_linux.pri b/src/core/config/embedded_linux.pri index d5f6d4bf5..e48f1fc12 100644 --- a/src/core/config/embedded_linux.pri +++ b/src/core/config/embedded_linux.pri @@ -6,7 +6,6 @@ gn_args += \ use_ozone=true \ use_sysroot=false \ enable_session_service=false \ - enable_notifications=false \ ozone_auto_platforms=false \ ozone_platform_headless=true \ ozone_platform_external=true \ diff --git a/src/core/config/windows.pri b/src/core/config/windows.pri index 8d5a65f6f..53a19b872 100644 --- a/src/core/config/windows.pri +++ b/src/core/config/windows.pri @@ -4,7 +4,6 @@ gn_args += \ is_clang=false \ use_sysroot=false \ use_kerberos=true \ - enable_notifications=false \ enable_session_service=false \ ninja_use_custom_environment_files=false \ is_multi_dll_chrome=false \ diff --git a/src/core/content_browser_client_qt.cpp b/src/core/content_browser_client_qt.cpp index d446d8ff4..197ea5b6d 100644 --- a/src/core/content_browser_client_qt.cpp +++ b/src/core/content_browser_client_qt.cpp @@ -107,7 +107,7 @@ #include "ui/base/resource/resource_bundle.h" #endif -#if defined(ENABLE_PLUGINS) +#if BUILDFLAG(ENABLE_PLUGINS) #include "content/public/browser/browser_ppapi_host.h" #include "ppapi/host/ppapi_host.h" #include "renderer_host/pepper/pepper_host_factory_qt.h" @@ -522,7 +522,7 @@ void ContentBrowserClientQt::GetAdditionalMappedFilesForChildProcess(const base: } #endif -#if defined(ENABLE_PLUGINS) +#if BUILDFLAG(ENABLE_PLUGINS) void ContentBrowserClientQt::DidCreatePpapiPlugin(content::BrowserPpapiHost* browser_host) { browser_host->GetPpapiHost()->AddHostFactoryFilter( diff --git a/src/core/content_browser_client_qt.h b/src/core/content_browser_client_qt.h index b17dd3e39..68ec455e3 100644 --- a/src/core/content_browser_client_qt.h +++ b/src/core/content_browser_client_qt.h @@ -42,6 +42,7 @@ #include "base/memory/ref_counted.h" #include "content/public/browser/content_browser_client.h" +#include "ppapi/features/features.h" #include <QtGlobal> @@ -53,7 +54,7 @@ namespace content { class BrowserContext; class BrowserMainParts; -#if defined(ENABLE_PLUGINS) +#if BUILDFLAG(ENABLE_PLUGINS) class BrowserPpapiHost; #endif @@ -119,7 +120,7 @@ public: void GetAdditionalMappedFilesForChildProcess(const base::CommandLine& command_line, int child_process_id, content::FileDescriptorInfo* mappings) override; #endif -#if defined(ENABLE_PLUGINS) +#if BUILDFLAG(ENABLE_PLUGINS) void DidCreatePpapiPlugin(content::BrowserPpapiHost* browser_host) override; #endif diff --git a/src/core/content_client_qt.cpp b/src/core/content_client_qt.cpp index e58fa93d7..10e198d6a 100644 --- a/src/core/content_client_qt.cpp +++ b/src/core/content_client_qt.cpp @@ -50,6 +50,8 @@ #include "ui/base/layout.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/resource_bundle.h" + +#include "qrc_protocol_handler_qt.h" #include "type_conversion.h" #include <QCoreApplication> @@ -69,7 +71,7 @@ static QString getLocalAppDataDir() } #endif -#if defined(ENABLE_PLUGINS) +#if BUILDFLAG(ENABLE_PLUGINS) // The plugin logic is based on chrome/common/chrome_content_client.cc: // Copyright (c) 2012 The Chromium Authors. All rights reserved. @@ -284,7 +286,7 @@ void ContentClientQt::AddPepperPlugins(std::vector<content::PepperPluginInfo>* p } } -#endif +#endif // BUILDFLAG(ENABLE_PLUGINS) #include <QCoreApplication> @@ -316,4 +318,9 @@ std::string ContentClientQt::GetProduct() const return productName.toStdString(); } +void ContentClientQt::AddAdditionalSchemes(Schemes* schemes) +{ + schemes->secure_schemes.push_back(kQrcSchemeQt); +} + } // namespace QtWebEngineCore diff --git a/src/core/content_client_qt.h b/src/core/content_client_qt.h index 7104b98b6..341406380 100644 --- a/src/core/content_client_qt.h +++ b/src/core/content_client_qt.h @@ -42,6 +42,7 @@ #include "base/strings/string_piece.h" #include "content/public/common/content_client.h" +#include "ppapi/features/features.h" #include "ui/base/layout.h" namespace QtWebEngineCore { @@ -50,9 +51,10 @@ class ContentClientQt : public content::ContentClient { public: static std::string getUserAgent(); -#if defined(ENABLE_PLUGINS) +#if BUILDFLAG(ENABLE_PLUGINS) void AddPepperPlugins(std::vector<content::PepperPluginInfo>* plugins) override; #endif + void AddAdditionalSchemes(Schemes* schemes) override; base::StringPiece GetDataResource(int, ui::ScaleFactor) const override; base::RefCountedMemory* GetDataResourceBytes(int resource_id) const override; diff --git a/src/core/delegated_frame_node.cpp b/src/core/delegated_frame_node.cpp index e49bc553f..d3b7733a5 100644 --- a/src/core/delegated_frame_node.cpp +++ b/src/core/delegated_frame_node.cpp @@ -57,7 +57,8 @@ #include "base/bind.h" #include "base/message_loop/message_loop.h" #include "base/threading/thread_task_runner_handle.h" -#include "cc/output/delegated_frame_data.h" +#include "cc/output/compositor_frame.h" +#include "cc/output/compositor_frame_metadata.h" #include "cc/quads/debug_border_draw_quad.h" #include "cc/quads/draw_quad.h" #include "cc/quads/render_pass_draw_quad.h" @@ -435,9 +436,9 @@ private: }; -static inline QSharedPointer<QSGLayer> findRenderPassLayer(const cc::RenderPassId &id, const QVector<QPair<cc::RenderPassId, QSharedPointer<QSGLayer> > > &list) +static inline QSharedPointer<QSGLayer> findRenderPassLayer(const int &id, const QVector<QPair<int, QSharedPointer<QSGLayer> > > &list) { - typedef QPair<cc::RenderPassId, QSharedPointer<QSGLayer> > Pair; + typedef QPair<int, QSharedPointer<QSGLayer> > Pair; Q_FOREACH (const Pair &pair, list) if (pair.first == id) return pair.second; @@ -753,7 +754,7 @@ void DelegatedFrameNode::preprocess() fetchAndSyncMailboxes(mailboxesToFetch); // Then render any intermediate RenderPass in order. - typedef QPair<cc::RenderPassId, QSharedPointer<QSGLayer> > Pair; + typedef QPair<int, QSharedPointer<QSGLayer> > Pair; Q_FOREACH (const Pair &pair, m_sgObjects.renderPassLayers) { // The layer is non-live, request a one-time update here. pair.second->scheduleUpdate(); @@ -791,8 +792,8 @@ static bool areSharedQuadStatesEqual(const cc::SharedQuadState *layerState, // Compares if the frame data that we got from the Chromium Compositor is // *structurally* equivalent to the one of the previous frame. // If it is, we will just reuse and update the old nodes where necessary. -static bool areRenderPassStructuresEqual(cc::DelegatedFrameData *frameData, - cc::DelegatedFrameData *previousFrameData) +static bool areRenderPassStructuresEqual(cc::CompositorFrame *frameData, + cc::CompositorFrame *previousFrameData) { if (!previousFrameData) return false; @@ -840,8 +841,8 @@ void DelegatedFrameNode::commit(ChromiumCompositorData *chromiumCompositorData, RenderWidgetHostViewQtDelegate *apiDelegate) { m_chromiumCompositorData = chromiumCompositorData; - cc::DelegatedFrameData* frameData = m_chromiumCompositorData->frameData.get(); - if (!frameData) + cc::CompositorFrame* frameData = &m_chromiumCompositorData->frameData; + if (frameData->render_pass_list.empty()) return; // DelegatedFrameNode is a transform node only for the purpose of @@ -875,14 +876,14 @@ void DelegatedFrameNode::commit(ChromiumCompositorData *chromiumCompositorData, // equivalent to the render passes in the current frame data. If they are, we are going // to reuse the old nodes. Otherwise, we will delete the old nodes and build a new tree. #if (QT_VERSION >= QT_VERSION_CHECK(5, 8, 0)) - cc::DelegatedFrameData *previousFrameData = m_chromiumCompositorData->previousFrameData.get(); + cc::CompositorFrame *previousFrameData = &m_chromiumCompositorData->previousFrameData; const bool buildNewTree = !areRenderPassStructuresEqual(frameData, previousFrameData) || m_sceneGraphNodes.empty(); #else // No updates possible with old scenegraph nodes const bool buildNewTree = true; #endif - m_chromiumCompositorData->previousFrameData = nullptr; + m_chromiumCompositorData->previousFrameData = cc::CompositorFrame(); SGObjects previousSGObjects; QVector<QSharedPointer<QSGTexture> > textureStrongRefs; if (buildNewTree) { @@ -926,7 +927,7 @@ void DelegatedFrameNode::commit(ChromiumCompositorData *chromiumCompositorData, } QSharedPointer<QSGRootNode> rootNode(new QSGRootNode); rpLayer->setItem(rootNode.data()); - m_sgObjects.renderPassLayers.append(QPair<cc::RenderPassId, + m_sgObjects.renderPassLayers.append(QPair<int, QSharedPointer<QSGLayer> >(pass->id, rpLayer)); m_sgObjects.renderPassRootNodes.append(rootNode); renderPassParent = rootNode.data(); diff --git a/src/core/delegated_frame_node.h b/src/core/delegated_frame_node.h index 6178bd232..0c826663a 100644 --- a/src/core/delegated_frame_node.h +++ b/src/core/delegated_frame_node.h @@ -40,6 +40,7 @@ #ifndef DELEGATED_FRAME_NODE_H #define DELEGATED_FRAME_NODE_H +#include "cc/output/compositor_frame.h" #include "cc/quads/render_pass.h" #include "cc/resources/transferable_resource.h" #include "gpu/command_buffer/service/sync_point_manager.h" @@ -58,10 +59,6 @@ QT_BEGIN_NAMESPACE class QSGLayer; QT_END_NAMESPACE -namespace cc { -class DelegatedFrameData; -} - namespace QtWebEngineCore { class MailboxTexture; @@ -73,8 +70,8 @@ class ChromiumCompositorData : public QSharedData { public: ChromiumCompositorData() : frameDevicePixelRatio(1) { } QHash<unsigned, QSharedPointer<ResourceHolder> > resourceHolders; - std::unique_ptr<cc::DelegatedFrameData> frameData; - std::unique_ptr<cc::DelegatedFrameData> previousFrameData; + cc::CompositorFrame frameData; + cc::CompositorFrame previousFrameData; qreal frameDevicePixelRatio; }; @@ -97,7 +94,7 @@ private: QExplicitlySharedDataPointer<ChromiumCompositorData> m_chromiumCompositorData; struct SGObjects { - QVector<QPair<cc::RenderPassId, QSharedPointer<QSGLayer> > > renderPassLayers; + QVector<QPair<int, QSharedPointer<QSGLayer> > > renderPassLayers; QVector<QSharedPointer<QSGRootNode> > renderPassRootNodes; QVector<QSharedPointer<QSGTexture> > textureStrongRefs; } m_sgObjects; diff --git a/src/core/desktop_screen_qt.cpp b/src/core/desktop_screen_qt.cpp index 1f4c9730f..ec7b6ce98 100644 --- a/src/core/desktop_screen_qt.cpp +++ b/src/core/desktop_screen_qt.cpp @@ -70,10 +70,11 @@ int DesktopScreenQt::GetNumDisplays() const return 0; } -std::vector<display::Display> DesktopScreenQt::GetAllDisplays() const +std::vector<display::Display>& DesktopScreenQt::GetAllDisplays() const { Q_UNREACHABLE(); - return std::vector<display::Display>(); + static std::vector<display::Display> empty; + return empty; } display::Display DesktopScreenQt::GetDisplayNearestWindow(gfx::NativeView window) const diff --git a/src/core/desktop_screen_qt.h b/src/core/desktop_screen_qt.h index f052461a2..b91cb6aab 100644 --- a/src/core/desktop_screen_qt.h +++ b/src/core/desktop_screen_qt.h @@ -51,7 +51,7 @@ public: bool IsWindowUnderCursor(gfx::NativeWindow) override; gfx::NativeWindow GetWindowAtScreenPoint(const gfx::Point& point) override; int GetNumDisplays() const override; - std::vector<display::Display> GetAllDisplays() const override; + std::vector<display::Display>& GetAllDisplays() const override; display::Display GetDisplayNearestWindow(gfx::NativeView window) const override; display::Display GetDisplayNearestPoint(const gfx::Point& point) const override; display::Display GetDisplayMatching(const gfx::Rect& match_rect) const override; diff --git a/src/core/gl_surface_qt.cpp b/src/core/gl_surface_qt.cpp index 766c14738..4eefc0008 100644 --- a/src/core/gl_surface_qt.cpp +++ b/src/core/gl_surface_qt.cpp @@ -102,7 +102,7 @@ public: static bool InitializeOneOff(); - bool Initialize() override; + bool Initialize(GLSurfaceFormat format) override; void Destroy() override; void* GetHandle() override; bool Resize(const gfx::Size& size, float scale_factor, bool has_alpha) override; @@ -124,7 +124,7 @@ public: explicit GLSurfacelessQtEGL(const gfx::Size& size); public: - bool Initialize() override; + bool Initialize(GLSurfaceFormat format) override; void Destroy() override; bool IsSurfaceless() const override; bool Resize(const gfx::Size& size, float scale_factor, bool has_alpha) override; @@ -152,7 +152,7 @@ public: static bool InitializeOneOff(); - bool Initialize() override; + bool Initialize(GLSurfaceFormat format) override; void Destroy() override; void* GetHandle() override; @@ -246,7 +246,7 @@ bool GLSurfaceQtGLX::InitializeOneOff() return true; } -bool GLSurfaceQtGLX::Initialize() +bool GLSurfaceQtGLX::Initialize(GLSurfaceFormat format) { Q_ASSERT(!m_surfaceBuffer); @@ -296,7 +296,7 @@ public: static bool InitializeOneOff(); - bool Initialize() override; + bool Initialize(GLSurfaceFormat format) override; void Destroy() override; void *GetHandle() override; void *GetDisplay() override; @@ -326,11 +326,11 @@ bool GLSurfaceQtWGL::InitializeOneOff() return GLSurfaceWGL::InitializeOneOff(); } -bool GLSurfaceQtWGL::Initialize() +bool GLSurfaceQtWGL::Initialize(GLSurfaceFormat format) { m_surfaceBuffer = new PbufferGLSurfaceWGL(m_size); - return m_surfaceBuffer->Initialize(gl::GLSurface::SURFACE_DEFAULT); + return m_surfaceBuffer->Initialize(format); } void GLSurfaceQtWGL::Destroy() @@ -425,6 +425,10 @@ bool GLSurfaceEGL::IsCreateContextWebGLCompatabilitySupported() return false; } +void GLSurfaceEGL::ShutdownOneOff() +{ +} + const char* GLSurfaceEGL::GetEGLExtensions() { return g_extensions; @@ -455,8 +459,9 @@ GLSurfaceQtEGL::GLSurfaceQtEGL(const gfx::Size& size) { } -bool GLSurfaceQtEGL::Initialize() +bool GLSurfaceQtEGL::Initialize(GLSurfaceFormat format) { + Q_UNUSED(format); Q_ASSERT(!m_surfaceBuffer); EGLDisplay display = g_display; @@ -526,7 +531,7 @@ bool GLSurfaceQtEGL::Resize(const gfx::Size& size, float scale_factor, bool has_ m_size = size; - if (!Initialize()) { + if (!Initialize(GetFormat())) { LOG(ERROR) << "Failed to resize pbuffer."; return false; } @@ -557,7 +562,7 @@ GLSurfacelessQtEGL::GLSurfacelessQtEGL(const gfx::Size& size) { } -bool GLSurfacelessQtEGL::Initialize() +bool GLSurfacelessQtEGL::Initialize(GLSurfaceFormat /*format*/) { return true; } @@ -619,7 +624,7 @@ bool InitializeGLOneOffPlatform() } scoped_refptr<GLSurface> -CreateOffscreenGLSurface(const gfx::Size& size) +CreateOffscreenGLSurfaceWithFormat(const gfx::Size& size, GLSurfaceFormat format) { scoped_refptr<GLSurface> surface; switch (GetGLImplementation()) { @@ -627,13 +632,13 @@ CreateOffscreenGLSurface(const gfx::Size& size) case kGLImplementationDesktopGL: { #if defined(OS_WIN) surface = new GLSurfaceQtWGL(size); - if (surface->Initialize()) + if (surface->Initialize(format)) return surface; break; #elif defined(USE_X11) if (!g_initializedEGL) { surface = new GLSurfaceQtGLX(size); - if (surface->Initialize()) + if (surface->Initialize(format)) return surface; } // no break @@ -641,7 +646,7 @@ CreateOffscreenGLSurface(const gfx::Size& size) } case kGLImplementationEGLGLES2: { surface = new GLSurfaceQtEGL(size); - if (surface->Initialize()) + if (surface->Initialize(format)) return surface; // Surfaceless context will be used ONLY if pseudo surfaceless context @@ -649,7 +654,7 @@ CreateOffscreenGLSurface(const gfx::Size& size) // have problems. (e.g. QTBUG-57290) if (g_egl_surfaceless_context_supported) { surface = new GLSurfacelessQtEGL(size); - if (surface->Initialize()) + if (surface->Initialize(format)) return surface; } LOG(WARNING) << "Failed to create offscreen GL surface"; @@ -689,7 +694,7 @@ namespace gpu { class GpuCommandBufferStub; class GpuChannelManager; scoped_refptr<gl::GLSurface> ImageTransportSurface::CreateNativeSurface(base::WeakPtr<ImageTransportSurfaceDelegate>, - SurfaceHandle, gl::GLSurface::Format) + SurfaceHandle, gl::GLSurfaceFormat) { QT_NOT_USED return scoped_refptr<gl::GLSurface>(); diff --git a/src/core/native_web_keyboard_event_qt.cpp b/src/core/native_web_keyboard_event_qt.cpp index 2bb190ceb..c2e48826e 100644 --- a/src/core/native_web_keyboard_event_qt.cpp +++ b/src/core/native_web_keyboard_event_qt.cpp @@ -66,9 +66,9 @@ using blink::WebKeyboardEvent; namespace content { -NativeWebKeyboardEvent::NativeWebKeyboardEvent() - : os_event(0), - skip_in_browser(false) +NativeWebKeyboardEvent::NativeWebKeyboardEvent(blink::WebInputEvent::Type, int, base::TimeTicks) + : os_event(0) + , skip_in_browser(false) { } diff --git a/src/core/ozone_platform_qt.cpp b/src/core/ozone_platform_qt.cpp index 9cdafa279..20c1f43c8 100644 --- a/src/core/ozone_platform_qt.cpp +++ b/src/core/ozone_platform_qt.cpp @@ -143,7 +143,7 @@ public: ui::CursorFactoryOzone* GetCursorFactoryOzone() override; GpuPlatformSupportHost* GetGpuPlatformSupportHost() override; std::unique_ptr<PlatformWindow> CreatePlatformWindow(PlatformWindowDelegate* delegate, const gfx::Rect& bounds) override; - std::unique_ptr<ui::NativeDisplayDelegate> CreateNativeDisplayDelegate() override; + std::unique_ptr<display::NativeDisplayDelegate> CreateNativeDisplayDelegate() override; ui::InputController* GetInputController() override; std::unique_ptr<ui::SystemInputInjector> CreateSystemInputInjector() override; ui::OverlayManagerOzone* GetOverlayManager() override; @@ -202,7 +202,7 @@ ui::OverlayManagerOzone* OzonePlatformQt::GetOverlayManager() return overlay_manager_.get(); } -std::unique_ptr<ui::NativeDisplayDelegate> OzonePlatformQt::CreateNativeDisplayDelegate() +std::unique_ptr<display::NativeDisplayDelegate> OzonePlatformQt::CreateNativeDisplayDelegate() { NOTREACHED(); return nullptr; diff --git a/src/core/pdfium_document_wrapper_qt.cpp b/src/core/pdfium_document_wrapper_qt.cpp index 7c43c77db..df829a426 100644 --- a/src/core/pdfium_document_wrapper_qt.cpp +++ b/src/core/pdfium_document_wrapper_qt.cpp @@ -36,7 +36,12 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ -#if defined (ENABLE_PDF) +#include "pdf/features.h" +#if BUILDFLAG(ENABLE_PDF) +#define ENABLE_PDF +#endif + +#if defined(ENABLE_PDF) #include "pdfium_document_wrapper_qt.h" #include <QtCore/qhash.h> diff --git a/src/core/qtwebengine_sources.gni b/src/core/qtwebengine_sources.gni index 9a559732d..e1bedff54 100644 --- a/src/core/qtwebengine_sources.gni +++ b/src/core/qtwebengine_sources.gni @@ -1,5 +1,7 @@ import("//build/config/features.gni") import("//components/spellcheck/spellcheck_build_features.gni") +import("//pdf/features.gni") +import("//ppapi/features/features.gni") import("//printing/features/features.gni") source_set("qtwebengine_spellcheck_sources") { @@ -99,6 +101,7 @@ source_set("qtwebengine_sources") { if (enable_pdf) { deps += [ "//pdf", + "//pdf:features", "//components/printing/browser", "//components/printing/renderer", ] diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp index cf22273e4..3f6edc4a0 100644 --- a/src/core/render_widget_host_view_qt.cpp +++ b/src/core/render_widget_host_view_qt.cpp @@ -104,9 +104,9 @@ 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) { + if (event.timeStampSeconds()) { const int64_t time_micros = static_cast<int64_t>( - event.timeStampSeconds * base::Time::kMicrosecondsPerSecond); + event.timeStampSeconds() * base::Time::kMicrosecondsPerSecond); latency_info.AddLatencyNumberWithTimestamp( ui::INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 0, @@ -681,12 +681,9 @@ void RenderWidgetHostViewQt::OnSwapCompositorFrame(uint32_t output_surface_id, c Q_ASSERT(!m_needsDelegatedFrameAck); m_needsDelegatedFrameAck = true; m_pendingOutputSurfaceId = output_surface_id; - Q_ASSERT(frame.delegated_frame_data); - Q_ASSERT(!m_chromiumCompositorData->frameData || m_chromiumCompositorData->frameData->resource_list.empty()); - if (m_chromiumCompositorData->frameData.get()) - m_chromiumCompositorData->previousFrameData = std::move(m_chromiumCompositorData->frameData); - m_chromiumCompositorData->frameData = std::move(frame.delegated_frame_data); + m_chromiumCompositorData->previousFrameData = std::move(m_chromiumCompositorData->frameData); m_chromiumCompositorData->frameDevicePixelRatio = frame.metadata.device_scale_factor; + m_chromiumCompositorData->frameData = std::move(frame); // Support experimental.viewport.devicePixelRatio, see GetScreenInfo implementation below. float dpiScale = this->dpiScale(); @@ -1003,7 +1000,8 @@ void RenderWidgetHostViewQt::ProcessAckedTouchEvent(const content::TouchEventWit void RenderWidgetHostViewQt::sendDelegatedFrameAck() { - m_beginFrameSource->DidFinishFrame(this, 0); + const cc::BeginFrameAck ack; + m_beginFrameSource->DidFinishFrame(this, ack); cc::ReturnedResourceArray resources; m_resourcesToRelease.swap(resources); content::RenderWidgetHostImpl::SendReclaimCompositorResources( @@ -1061,7 +1059,7 @@ void RenderWidgetHostViewQt::handleMouseEvent(QMouseEvent* event) return; blink::WebMouseEvent webEvent = WebEventFactory::toWebMouseEvent(event, dpiScale()); - if ((webEvent.type == blink::WebInputEvent::MouseDown || webEvent.type == blink::WebInputEvent::MouseUp) + if ((webEvent.type() == blink::WebInputEvent::MouseDown || webEvent.type() == blink::WebInputEvent::MouseUp) && webEvent.button == blink::WebMouseEvent::Button::NoButton) { // Blink can only handle the 3 main mouse-buttons and may assert when processing mouse-down for no button. return; @@ -1132,7 +1130,7 @@ void RenderWidgetHostViewQt::handleKeyEvent(QKeyEvent *ev) } content::NativeWebKeyboardEvent webEvent = WebEventFactory::toWebKeyboardEvent(ev); - bool keyDownTextInsertion = webEvent.type == blink::WebInputEvent::RawKeyDown && webEvent.text[0]; + bool keyDownTextInsertion = webEvent.type() == blink::WebInputEvent::RawKeyDown && webEvent.text[0]; webEvent.skip_in_browser = keyDownTextInsertion; m_host->ForwardKeyboardEvent(webEvent); @@ -1140,7 +1138,7 @@ void RenderWidgetHostViewQt::handleKeyEvent(QKeyEvent *ev) // Blink won't consume the RawKeyDown, but rather the Char event in this case. // Make sure to skip the former on the way back. The same os_event will be set on both of them. webEvent.skip_in_browser = true; - webEvent.type = blink::WebInputEvent::Char; + webEvent.setType(blink::WebInputEvent::Char); m_host->ForwardKeyboardEvent(webEvent); } } diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp index a2c2a722e..f09aa48f0 100644 --- a/src/core/renderer/content_renderer_client_qt.cpp +++ b/src/core/renderer/content_renderer_client_qt.cpp @@ -63,7 +63,6 @@ #include "third_party/WebKit/public/platform/WebString.h" #include "third_party/WebKit/public/platform/WebURLError.h" #include "third_party/WebKit/public/platform/WebURLRequest.h" -#include "third_party/WebKit/public/web/WebSecurityPolicy.h" #include "ui/base/resource/resource_bundle.h" #include "ui/base/webui/jstemplate_builder.h" #include "content/public/common/web_preferences.h" @@ -85,7 +84,6 @@ namespace QtWebEngineCore { static const char kHttpErrorDomain[] = "http"; -static const char kQrcSchemeQt[] = "qrc"; ContentRendererClientQt::ContentRendererClientQt() { @@ -108,10 +106,6 @@ void ContentRendererClientQt::RenderThreadStarted() m_spellCheck.reset(new SpellCheck()); renderThread->AddObserver(m_spellCheck.data()); #endif - - blink::WebString qrcScheme(base::ASCIIToUTF16(kQrcSchemeQt)); - // mark qrc as a secure scheme (avoids deprecation warnings) - blink::WebSecurityPolicy::registerURLSchemeAsSecure(qrcScheme); } void ContentRendererClientQt::RenderViewCreated(content::RenderView* render_view) diff --git a/src/core/renderer/pepper/pepper_flash_renderer_host_qt.cpp b/src/core/renderer/pepper/pepper_flash_renderer_host_qt.cpp index a46454407..3a34d5f93 100644 --- a/src/core/renderer/pepper/pepper_flash_renderer_host_qt.cpp +++ b/src/core/renderer/pepper/pepper_flash_renderer_host_qt.cpp @@ -48,7 +48,8 @@ #include <vector> #include "base/lazy_instance.h" -#include "base/metrics/histogram.h" +#include "base/macros.h" +#include "base/metrics/histogram_macros.h" #include "base/strings/string_util.h" #include "content/public/renderer/pepper_plugin_instance.h" #include "content/public/renderer/render_thread.h" diff --git a/src/core/renderer/render_frame_observer_qt.cpp b/src/core/renderer/render_frame_observer_qt.cpp index 53e9407db..111323b8a 100644 --- a/src/core/renderer/render_frame_observer_qt.cpp +++ b/src/core/renderer/render_frame_observer_qt.cpp @@ -64,7 +64,7 @@ RenderFrameObserverQt::~RenderFrameObserverQt() { } -#if defined(ENABLE_PLUGINS) +#if BUILDFLAG(ENABLE_PLUGINS) void RenderFrameObserverQt::DidCreatePepperPlugin(content::RendererPpapiHost* host) { host->GetPpapiHost()->AddHostFactoryFilter( diff --git a/src/core/renderer/render_frame_observer_qt.h b/src/core/renderer/render_frame_observer_qt.h index b74be5cd1..7abd17e96 100644 --- a/src/core/renderer/render_frame_observer_qt.h +++ b/src/core/renderer/render_frame_observer_qt.h @@ -43,6 +43,7 @@ #include "base/compiler_specific.h" #include "content/public/renderer/render_frame_observer.h" #include "content/public/renderer/render_frame_observer_tracker.h" +#include "ppapi/features/features.h" namespace content { @@ -59,7 +60,7 @@ public: explicit RenderFrameObserverQt(content::RenderFrame* render_frame); ~RenderFrameObserverQt(); -#if defined(ENABLE_PLUGINS) +#if BUILDFLAG(ENABLE_PLUGINS) void DidCreatePepperPlugin(content::RendererPpapiHost* host) override; #endif void OnDestruct() override { } diff --git a/src/core/renderer/web_channel_ipc_transport.cpp b/src/core/renderer/web_channel_ipc_transport.cpp index 161d6f493..173b403a5 100644 --- a/src/core/renderer/web_channel_ipc_transport.cpp +++ b/src/core/renderer/web_channel_ipc_transport.cpp @@ -102,7 +102,7 @@ void WebChannelTransport::Install(blink::WebFrame *frame, uint worldId) if (worldId == 0) context = frame->mainWorldScriptContext(); else - context = frame->toWebLocalFrame()->isolatedWorldScriptContext(worldId, 0); + context = frame->toWebLocalFrame()->isolatedWorldScriptContext(worldId); v8::Context::Scope contextScope(context); gin::Handle<WebChannelTransport> transport = gin::CreateHandle(isolate, new WebChannelTransport); @@ -123,7 +123,7 @@ void WebChannelTransport::Uninstall(blink::WebFrame *frame, uint worldId) if (worldId == 0) context = frame->mainWorldScriptContext(); else - context = frame->toWebLocalFrame()->isolatedWorldScriptContext(worldId, 0); + context = frame->toWebLocalFrame()->isolatedWorldScriptContext(worldId); v8::Context::Scope contextScope(context); v8::Handle<v8::Object> global(context->Global()); @@ -206,7 +206,7 @@ void WebChannelIPCTransport::dispatchWebChannelMessage(const std::vector<char> & if (worldId == 0) context = frame->mainWorldScriptContext(); else - context = frame->toWebLocalFrame()->isolatedWorldScriptContext(worldId, 0); + context = frame->toWebLocalFrame()->isolatedWorldScriptContext(worldId); v8::Context::Scope contextScope(context); v8::Handle<v8::Object> global(context->Global()); diff --git a/src/core/renderer_host/user_resource_controller_host.cpp b/src/core/renderer_host/user_resource_controller_host.cpp index 95385ae2f..0a6decaf9 100644 --- a/src/core/renderer_host/user_resource_controller_host.cpp +++ b/src/core/renderer_host/user_resource_controller_host.cpp @@ -140,7 +140,7 @@ void UserResourceControllerHost::addUserScript(const UserScript &script, WebCont m_perContentsScripts.insert(contents, currentScripts); } } - contents->Send(new RenderViewObserverHelper_AddScript(contents->GetRoutingID(), script.data())); + contents->Send(new RenderViewObserverHelper_AddScript(contents->GetRenderViewHost()->GetRoutingID(), script.data())); } } @@ -174,7 +174,7 @@ bool UserResourceControllerHost::removeUserScript(const UserScript &script, WebC QList<UserScript>::iterator it = std::find(list.begin(), list.end(), script); if (it == list.end()) return false; - contents->Send(new RenderViewObserverHelper_RemoveScript(contents->GetRoutingID(), (*it).data())); + contents->Send(new RenderViewObserverHelper_RemoveScript(contents->GetRenderViewHost()->GetRoutingID(), (*it).data())); list.erase(it); } return true; @@ -189,7 +189,7 @@ void UserResourceControllerHost::clearAllScripts(WebContentsAdapter *adapter) } else { content::WebContents *contents = adapter->webContents(); m_perContentsScripts.remove(contents); - contents->Send(new RenderViewObserverHelper_ClearScripts(contents->GetRoutingID())); + contents->Send(new RenderViewObserverHelper_ClearScripts(contents->GetRenderViewHost()->GetRoutingID())); } } diff --git a/src/core/resource_bundle_qt.cpp b/src/core/resource_bundle_qt.cpp index 5f5cead96..52355e996 100644 --- a/src/core/resource_bundle_qt.cpp +++ b/src/core/resource_bundle_qt.cpp @@ -38,7 +38,7 @@ ****************************************************************************/ #include "base/command_line.h" -#include "base/metrics/histogram.h" +#include "base/metrics/histogram_macros.h" #include "content/public/common/content_switches.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/resource/data_pack.h" diff --git a/src/core/url_request_context_getter_qt.cpp b/src/core/url_request_context_getter_qt.cpp index 234109f1f..8c76a9764 100644 --- a/src/core/url_request_context_getter_qt.cpp +++ b/src/core/url_request_context_getter_qt.cpp @@ -570,10 +570,11 @@ void URLRequestContextGetterQt::generateJobFactory() // Set up interceptors in the reverse order. std::unique_ptr<net::URLRequestJobFactory> topJobFactory = std::move(jobFactory); - for (content::URLRequestInterceptorScopedVector::reverse_iterator i = m_requestInterceptors.rbegin(); i != m_requestInterceptors.rend(); ++i) - topJobFactory.reset(new net::URLRequestInterceptingJobFactory(std::move(topJobFactory), std::unique_ptr<net::URLRequestInterceptor>(*i))); + for (content::URLRequestInterceptorScopedVector::reverse_iterator i = m_requestInterceptors.rbegin(); i != m_requestInterceptors.rend(); ++i) { + topJobFactory.reset(new net::URLRequestInterceptingJobFactory(std::move(topJobFactory), std::move(*i))); + } - m_requestInterceptors.weak_clear(); + m_requestInterceptors.clear(); m_jobFactory = std::move(topJobFactory); diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp index 444429c75..a9179609c 100644 --- a/src/core/web_contents_adapter.cpp +++ b/src/core/web_contents_adapter.cpp @@ -50,7 +50,6 @@ #include "browser_context_qt.h" #include "download_manager_delegate_qt.h" #include "media_capture_devices_dispatcher.h" -#include "pdfium_document_wrapper_qt.h" #include "print_view_manager_qt.h" #include "qwebenginecallback_p.h" #include "renderer_host/web_channel_ipc_transport_host.h" @@ -106,37 +105,37 @@ static QVariant fromJSValue(const base::Value *result) { QVariant ret; switch (result->GetType()) { - case base::Value::TYPE_NULL: + case base::Value::Type::NONE: break; - case base::Value::TYPE_BOOLEAN: + case base::Value::Type::BOOLEAN: { bool out; if (result->GetAsBoolean(&out)) ret.setValue(out); break; } - case base::Value::TYPE_INTEGER: + case base::Value::Type::INTEGER: { int out; if (result->GetAsInteger(&out)) ret.setValue(out); break; } - case base::Value::TYPE_DOUBLE: + case base::Value::Type::DOUBLE: { double out; if (result->GetAsDouble(&out)) ret.setValue(out); break; } - case base::Value::TYPE_STRING: + case base::Value::Type::STRING: { base::string16 out; if (result->GetAsString(&out)) ret.setValue(toQt(out)); break; } - case base::Value::TYPE_LIST: + case base::Value::Type::LIST: { const base::ListValue *out; if (result->GetAsList(&out)) { @@ -151,7 +150,7 @@ static QVariant fromJSValue(const base::Value *result) } break; } - case base::Value::TYPE_DICTIONARY: + case base::Value::Type::DICTIONARY: { const base::DictionaryValue *out; if (result->GetAsDictionary(&out)) { @@ -165,7 +164,7 @@ static QVariant fromJSValue(const base::Value *result) } break; } - case base::Value::TYPE_BINARY: + case base::Value::Type::BINARY: { const base::BinaryValue *out = static_cast<const base::BinaryValue*>(result); QByteArray data(out->GetBuffer(), out->GetSize()); @@ -483,14 +482,14 @@ void WebContentsAdapter::stop() void WebContentsAdapter::reload() { Q_D(WebContentsAdapter); - d->webContents->GetController().Reload(/*checkRepost = */false); + d->webContents->GetController().Reload(content::ReloadType::NORMAL, /*checkRepost = */false); focusIfNecessary(); } void WebContentsAdapter::reloadAndBypassCache() { Q_D(WebContentsAdapter); - d->webContents->GetController().ReloadBypassingCache(/*checkRepost = */false); + d->webContents->GetController().Reload(content::ReloadType::BYPASSING_CACHE, /*checkRepost = */false); focusIfNecessary(); } diff --git a/src/core/web_contents_delegate_qt.cpp b/src/core/web_contents_delegate_qt.cpp index 3e09df340..a031c2506 100644 --- a/src/core/web_contents_delegate_qt.cpp +++ b/src/core/web_contents_delegate_qt.cpp @@ -191,7 +191,7 @@ void WebContentsDelegateQt::RenderFrameDeleted(content::RenderFrameHost *render_ m_loadingErrorFrameList.removeOne(render_frame_host->GetRoutingID()); } -void WebContentsDelegateQt::DidStartProvisionalLoadForFrame(content::RenderFrameHost* render_frame_host, const GURL& validated_url, bool is_error_page, bool is_iframe_srcdoc) +void WebContentsDelegateQt::DidStartProvisionalLoadForFrame(content::RenderFrameHost* render_frame_host, const GURL& validated_url, bool is_error_page) { if (is_error_page) { m_loadingErrorFrameList.append(render_frame_host->GetRoutingID()); diff --git a/src/core/web_contents_delegate_qt.h b/src/core/web_contents_delegate_qt.h index 8b5f5fd80..2936b254d 100644 --- a/src/core/web_contents_delegate_qt.h +++ b/src/core/web_contents_delegate_qt.h @@ -125,7 +125,7 @@ public: // WebContentsObserver overrides void RenderFrameDeleted(content::RenderFrameHost *render_frame_host) override; - void DidStartProvisionalLoadForFrame(content::RenderFrameHost *render_frame_host, const GURL &validated_url, bool is_error_page, bool is_iframe_srcdoc) override; + void DidStartProvisionalLoadForFrame(content::RenderFrameHost *render_frame_host, const GURL &validated_url, bool is_error_page) override; void DidCommitProvisionalLoadForFrame(content::RenderFrameHost *render_frame_host, const GURL &url, ui::PageTransition transition_type) override; void DidFailProvisionalLoad(content::RenderFrameHost *render_frame_host, const GURL &validated_url, int error_code, const base::string16 &error_description, bool was_ignored_by_handler) override; diff --git a/src/core/web_engine_context.cpp b/src/core/web_engine_context.cpp index 2748d2a0f..2d7a57046 100644 --- a/src/core/web_engine_context.cpp +++ b/src/core/web_engine_context.cpp @@ -67,6 +67,7 @@ #include "content/renderer/in_process_renderer_thread.h" #include "content/utility/in_process_utility_thread.h" #include "gpu/command_buffer/service/gpu_switches.h" +#include "ppapi/features/features.h" #include "ui/events/event_switches.h" #include "ui/native_theme/native_theme_switches.h" #include "ui/gl/gl_switches.h" @@ -173,7 +174,7 @@ bool usingQtQuick2DRenderer() return device != QLatin1String("default"); } #endif //QT_NO_OPENGL -#if defined(ENABLE_PLUGINS) +#if BUILDFLAG(ENABLE_PLUGINS) void dummyGetPluginCallback(const std::vector<content::WebPluginInfo>&) { } @@ -430,7 +431,7 @@ WebEngineContext::WebEngineContext() base::ThreadRestrictions::SetIOAllowed(true); -#if defined(ENABLE_PLUGINS) +#if BUILDFLAG(ENABLE_PLUGINS) // Creating pepper plugins from the page (which calls PluginService::GetPluginInfoArray) // might fail unless the page queried the list of available plugins at least once // (which ends up calling PluginService::GetPlugins). Since the plugins list can only diff --git a/src/core/web_engine_settings.cpp b/src/core/web_engine_settings.cpp index ca051397b..4231389e6 100644 --- a/src/core/web_engine_settings.cpp +++ b/src/core/web_engine_settings.cpp @@ -299,7 +299,7 @@ void WebEngineSettings::doApply() void WebEngineSettings::applySettingsToWebPreferences(content::WebPreferences *prefs) { // Override for now - prefs->touch_enabled = isTouchScreenAvailable(); + prefs->device_supports_touch = isTouchScreenAvailable(); if (prefs->viewport_enabled) { // We should enable viewport and viewport-meta together, but since 5.7 we // no longer have a command-line flag for viewport-meta. diff --git a/src/core/web_event_factory.cpp b/src/core/web_event_factory.cpp index a7df934e4..a70877c25 100644 --- a/src/core/web_event_factory.cpp +++ b/src/core/web_event_factory.cpp @@ -1182,16 +1182,17 @@ static WebInputEvent::Type webEventTypeForEvent(const QEvent* event) WebMouseEvent WebEventFactory::toWebMouseEvent(QMouseEvent *ev, double dpiScale) { WebMouseEvent webKitEvent; - webKitEvent.timeStampSeconds = currentTimeForEvent(ev); + webKitEvent.setTimeStampSeconds(currentTimeForEvent(ev)); + webKitEvent.setModifiers(modifiersForEvent(ev)); + webKitEvent.setType(webEventTypeForEvent(ev)); + webKitEvent.button = mouseButtonForEvent(ev); - webKitEvent.modifiers = modifiersForEvent(ev); webKitEvent.x = webKitEvent.windowX = ev->x() / dpiScale; webKitEvent.y = webKitEvent.windowY = ev->y() / dpiScale; webKitEvent.globalX = ev->globalX(); webKitEvent.globalY = ev->globalY(); - webKitEvent.type = webEventTypeForEvent(ev); webKitEvent.clickCount = 0; return webKitEvent; @@ -1200,23 +1201,23 @@ WebMouseEvent WebEventFactory::toWebMouseEvent(QMouseEvent *ev, double dpiScale) WebMouseEvent WebEventFactory::toWebMouseEvent(QHoverEvent *ev, double dpiScale) { WebMouseEvent webKitEvent; - webKitEvent.timeStampSeconds = currentTimeForEvent(ev); - webKitEvent.modifiers = modifiersForEvent(ev); + webKitEvent.setTimeStampSeconds(currentTimeForEvent(ev)); + webKitEvent.setModifiers(modifiersForEvent(ev)); + webKitEvent.setType(webEventTypeForEvent(ev)); webKitEvent.x = webKitEvent.windowX = ev->pos().x() / dpiScale; webKitEvent.y = webKitEvent.windowY = ev->pos().y() / dpiScale; webKitEvent.movementX = ev->pos().x() - ev->oldPos().x(); webKitEvent.movementY = ev->pos().y() - ev->oldPos().y(); - webKitEvent.type = webEventTypeForEvent(ev); return webKitEvent; } WebGestureEvent WebEventFactory::toWebGestureEvent(QNativeGestureEvent *ev, double dpiScale) { WebGestureEvent webKitEvent; - webKitEvent.timeStampSeconds = currentTimeForEvent(ev); - webKitEvent.modifiers = modifiersForEvent(ev); + webKitEvent.setTimeStampSeconds(currentTimeForEvent(ev)); + webKitEvent.setModifiers(modifiersForEvent(ev)); webKitEvent.x = static_cast<int>(ev->localPos().x() / dpiScale); webKitEvent.y = static_cast<int>(ev->localPos().y() / dpiScale); @@ -1229,11 +1230,11 @@ WebGestureEvent WebEventFactory::toWebGestureEvent(QNativeGestureEvent *ev, doub Qt::NativeGestureType gestureType = ev->gestureType(); switch (gestureType) { case Qt::ZoomNativeGesture: - webKitEvent.type = WebInputEvent::GesturePinchUpdate; + webKitEvent.setType(WebInputEvent::GesturePinchUpdate); webKitEvent.data.pinchUpdate.scale = static_cast<float>(ev->value() + 1.0); break; case Qt::SmartZoomNativeGesture: - webKitEvent.type = WebInputEvent::GestureDoubleTap; + webKitEvent.setType(WebInputEvent::GestureDoubleTap); webKitEvent.data.tap.tapCount = 1; break; case Qt::BeginNativeGesture: @@ -1242,7 +1243,7 @@ WebGestureEvent WebEventFactory::toWebGestureEvent(QNativeGestureEvent *ev, doub case Qt::PanNativeGesture: case Qt::SwipeNativeGesture: // Not implemented by Chromium for now. - webKitEvent.type = blink::WebInputEvent::Undefined; + webKitEvent.setType(blink::WebInputEvent::Undefined); break; } @@ -1252,13 +1253,13 @@ WebGestureEvent WebEventFactory::toWebGestureEvent(QNativeGestureEvent *ev, doub blink::WebMouseWheelEvent WebEventFactory::toWebWheelEvent(QWheelEvent *ev, double dpiScale) { WebMouseWheelEvent webEvent; - webEvent.type = webEventTypeForEvent(ev); webEvent.deltaX = 0; webEvent.deltaY = 0; webEvent.wheelTicksX = 0; webEvent.wheelTicksY = 0; - webEvent.modifiers = modifiersForEvent(ev); - webEvent.timeStampSeconds = currentTimeForEvent(ev); + webEvent.setType(webEventTypeForEvent(ev)); + webEvent.setModifiers(modifiersForEvent(ev)); + webEvent.setTimeStampSeconds(currentTimeForEvent(ev)); webEvent.wheelTicksX = static_cast<float>(ev->angleDelta().x()) / QWheelEvent::DefaultDeltasPerStep; webEvent.wheelTicksY = static_cast<float>(ev->angleDelta().y()) / QWheelEvent::DefaultDeltasPerStep; @@ -1280,9 +1281,9 @@ blink::WebMouseWheelEvent WebEventFactory::toWebWheelEvent(QWheelEvent *ev, doub content::NativeWebKeyboardEvent WebEventFactory::toWebKeyboardEvent(QKeyEvent *ev) { content::NativeWebKeyboardEvent webKitEvent(reinterpret_cast<gfx::NativeEvent>(ev)); - webKitEvent.timeStampSeconds = currentTimeForEvent(ev); - webKitEvent.modifiers = modifiersForEvent(ev); - webKitEvent.type = webEventTypeForEvent(ev); + webKitEvent.setTimeStampSeconds(currentTimeForEvent(ev)); + webKitEvent.setModifiers(modifiersForEvent(ev)); + webKitEvent.setType(webEventTypeForEvent(ev)); webKitEvent.nativeKeyCode = ev->nativeVirtualKey(); webKitEvent.windowsKeyCode = windowsKeyCodeForKeyEvent(ev->key(), ev->modifiers() & Qt::KeypadModifier); diff --git a/src/core/web_event_factory.h b/src/core/web_event_factory.h index d82113db3..b5e465610 100644 --- a/src/core/web_event_factory.h +++ b/src/core/web_event_factory.h @@ -41,8 +41,9 @@ #define WEB_EVENT_FACTORY_H #include "content/public/browser/native_web_keyboard_event.h" -#include "third_party/WebKit/public/platform/WebInputEvent.h" #include "third_party/WebKit/public/platform/WebGestureEvent.h" +#include "third_party/WebKit/public/platform/WebMouseEvent.h" +#include "third_party/WebKit/public/platform/WebMouseWheelEvent.h" #include <QtGlobal> diff --git a/src/webenginewidgets/ui/messagebubblewidget.cpp b/src/webenginewidgets/ui/messagebubblewidget.cpp index 4a53a421f..70dada0c4 100644 --- a/src/webenginewidgets/ui/messagebubblewidget.cpp +++ b/src/webenginewidgets/ui/messagebubblewidget.cpp @@ -41,6 +41,7 @@ #include "api/qwebengineview.h" +#include <qglobal.h> #include <QBitmap> #include <QHBoxLayout> #include <QIcon> |