| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: Icaf68648cbc2c13a61fc3b208ff1e64ca36c90b6
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-80737
Fixes: QTBUG-81556
Fixes: QTBUG-81614
Change-Id: Ie6a69cdbf46d0508bff226f1b8fed28a618e1949
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
| |
Selective application of clang-format in src/core/renderer_host
Change-Id: I6fc78374be914dca15b15ab8b8f4b7bed83f21af
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
|\
| |
| |
| | |
Change-Id: Ib09a8e88efb06413bb8f39e30f1360ce70b04b24
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix all warnings save for -Wdeprecated-declarations in tests.
Warnings from GCC 9.2.0:
src/core/renderer/extensions/resource_request_policy_qt.cpp:157:23:
warning: variable 'resource_root_relative_path' set but not used
[-Wunused-but-set-variable]
src/core/chromium_overrides.cpp:121:21:
warning: moving a local object in a return statement prevents copy elision
[-Wpessimizing-move]
src/core/render_widget_host_view_qt.cpp:540:12:
warning: enumeration value 'kNull' not handled in switch [-Wswitch]
warning: enumeration value 'kMiddlePanningVertical' not handled in switch
[-Wswitch]
warning: enumeration value 'kMiddlePanningHorizontal' not handled in switch
[-Wswitch]
warning: enumeration value 'kDndNone' not handled in switch [-Wswitch]
warning: enumeration value 'kDndMove' not handled in switch [-Wswitch]
warning: enumeration value 'kDndCopy' not handled in switch [-Wswitch]
warning: enumeration value 'kDndLink' not handled in switch [-Wswitch]
warning: enumeration value 'kMaxValue' not handled in switch [-Wswitch]
src/core/type_conversion.cpp:57:12:
warning: enumeration value ‘kRGBA_F16Norm_SkColorType’ not handled in switch
[-Wswitch]
src/core/api/qtbug-60565.cpp:83:6:
warning: 'void __ShimCppDeleteArrayNoThrow(void*, const std::nothrow_t&)'
alias between functions of incompatible types 'void(void*, const
std::nothrow_t&) noexcept' and 'void(void*)' [-Wattribute-alias=]
src/core/api/qtbug-60565.cpp:79:6:
warning: 'void __ShimCppDeleteNoThrow(void*, const std::nothrow_t&)' alias
between functions of incompatible types 'void(void*, const std::nothrow_t&)
noexcept' and 'void(void*)' [-Wattribute-alias=]
src/core/api/qtbug-60565.cpp:75:6:
warning: 'void __ShimCppNewArrayNoThrow(size_t, const std::nothrow_t&)'
alias between functions of incompatible types 'void(size_t, const
std::nothrow_t&) noexcept' {aka 'void(long unsigned int, const
std::nothrow_t&) noexcept'} and 'void*(size_t)' {aka 'void*(long unsigned
int)'} [-Wattribute-alias=]
src/core/api/qtbug-60565.cpp:71:6:
warning: 'void __ShimCppNewNoThrow(size_t, const std::nothrow_t&)' alias
between functions of incompatible types 'void(size_t, const std::nothrow_t&)
noexcept' {aka 'void(long unsigned int, const std::nothrow_t&) noexcept'}
and 'void*(size_t)' {aka 'void*(long unsigned int)'} [-Wattribute-alias=]
Warnings from Clang 9.0.1:
src/core/renderer/extensions/renderer_permissions_policy_delegate_qt.h:61:29:
warning: private field 'm_dispatcher' is not used [-Wunused-private-field]
src/core/web_event_factory.cpp:1296:5:
warning: unannotated fall-through between switch labels
[-Wimplicit-fallthrough]
src/core/compositor/compositor_resource_fence.h:55:81:
warning: extra ';' after member function definition [-Wextra-semi]
src/core/renderer/render_frame_observer_qt.h:81:10:
warning: 'ReadyToCommitNavigation' overrides a member function but is not
marked 'override' [-Winconsistent-missing-override]
src/core/extensions/mime_handler_view_guest_delegate_qt.h:69:27:
warning: private field 'guest_' is not used [-Wunused-private-field]
src/core/chromium_overrides.cpp:121:12:
warning: moving a local object in a return statement prevents copy elision
[-Wpessimizing-move]
src/core/chromium_overrides.cpp:145:64:
warning: missing field 'set_up_command_line' initializer
[-Wmissing-field-initializers]
src/core/chromium_overrides.cpp:146:55:
warning: missing field 'set_up_command_line' initializer
[-Wmissing-field-initializers]
src/core/render_widget_host_view_qt.cpp:540:13:
warning: 7 enumeration values not handled in switch: 'kNull',
'kMiddlePanningVertical', 'kMiddlePanningHorizontal'... [-Wswitch]
src/core/compositor/stream_video_node.cpp:50:18:
warning: 'updateState' overrides a member function but is not marked
'override' [-Winconsistent-missing-override]
src/core/compositor/stream_video_node.cpp:103:18:
warning: 'initialize' overrides a member function but is not marked
'override' [-Winconsistent-missing-override]
src/core/type_conversion.cpp:57:13:
warning: enumeration value 'kRGBA_F16Norm_SkColorType' not handled in
switch [-Wswitch]
src/core/renderer_host/web_channel_ipc_transport_host.cpp:59:60:
warning: extra ';' outside of a function is incompatible with C++98
[-Wc++98-compat-extra-semi]
tests/auto/widgets/loadsignals/tst_loadsignals.cpp:237:10:
warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
tests/auto/widgets/qwebenginedownloaditem/tst_qwebenginedownloaditem.cpp:1112:62:
warning: lambda capture 'item' is not used [-Wunused-lambda-capture]
tests/auto/widgets/qwebengineview/tst_qwebengineview.cpp:1534:55:
warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
Change-Id: I374be0d4e58accc0a00a2596a560dd6103a98994
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
|
|/
|
|
|
|
|
|
|
| |
The check has been added to QJsonDocument in 5.11. Also, the binary JSON
types have been moved around, so this check won't work anymore.
Change-Id: I70436cf039cba0810cfccc2041fce655ceb9b6df
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mojoifies:
* WebChannelIPCTransport_SetWorldId
* WebChannelIPCTransport_Message
* WebChannelIPCTransportHost_SendMessage
This change is just the simple rewrite of IPC in web
channel transport, however ultimate goal here is
to use mojo directly in javascript land.
Change-Id: Ifcf84659b1d48d99cc4e87849b8a258303e8fedc
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Turns out JavaScript's JSON.stringify is not guaranteed to produce valid UTF-16
strings. It is possible in JavaScript to produce string objects which contain
invalid code units (unmatched surrogate pairs) and JSON.stringify will simply
copy this data to it's output. However, such a string cannot be losslessly
converted to UTF-8 and this leads to fun errors in WebChannelIPCTransport.
This patch
- Adds a test for the scenario above.
- Changes WebChannelIPCTransport to replace these invalid code units with the
Unicode replacement character U+FFFD.
- Changes WebChannelIPCTransportHost to validate the data it gets from the
renderer. Not validating the data defeats the whole point of Chromium's
fancy multi-process architecture: the renderer is not to be trusted.
- Changes WebChannelIPCTransport to throw JavaScript exceptions for various
errors (missing argument, wrong type, invalid JSON). Seems like the polite
thing to do.
Task-number: QTBUG-61969
Change-Id: I83275a0eaed77109dc458b80e27217108dde9f7b
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As of version 63, Chromium creates proxy frames also for the main frame in the
frame tree during cross-process navigations. This leads to a segmentation fault
in WebChannelIPCTransport because we assume that all main frames are local.
See https://crrev.com/27caae83cb530daaf49f9a38793e427cdf493a65 for details.
This patch refactors the renderer-side WebChannelIPCTransport from a
RenderViewObserver into a RenderFrameObserver, which prevents the segmentation
fault since the RenderFrameObserver is not created for proxy frames. Most likely
this would have to be done eventually anyway since the RenderView and
RenderViewObserver classes are deprecated and will likely be removed as part of
the Site Isolation project.
Installation is changed to follow Chromium's RenderFrameImpl in the sense of
performing the installation from RenderFrameObserver::DidClearWindowObject
instead of ContentRendererClient::RunScriptsAtDocumentStart. This has the
benefit of avoiding the ScriptForbiddenScope DCHECK.
Additionally there are the following minor changes:
- The deprecated parameterless version of v8::Value::ToObject() method is
replaced with v8::Value::IsObject() check and v8::Local::Cast.
- The deprecated v8::Handle typedef is replaced with v8::Local.
- The deprecated single-parameter WebContentsObserver::OnMessageReceived is
replaced with the new two-parameter version.
- blink::MainThreadIsolate() is used instead of v8::Isolate::GetCurrent() for
Install/Uninstall since we know we are executing on the main thread.
- WebChannelIPCTransportHost is changed to ignore messages from unexpected
renderers in case something goes wrong with the renderers.
- Logging is added to WebChannelIPCTransportHost for debugging purposes.
Some new unit tests are added, all of which fail with the old version.
Task-number: QTBUG-66333
Change-Id: I936d142fb042d9f936a3f9d08d4328ecba595f1f
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
| |
Change-Id: I551c7091bbc0463bed94180313eb2bfe92f0ad84
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|\
| |
| |
| | |
Change-Id: I0860a46b981c1f711bec45d7a495bcec2a80ee1f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This ensures the scripts and webchannel are added before
RunScriptsAtDocumentStart is called. It also means we shouldn't add
them later from the changed signal.
Task-number: QTBUG-62898
Change-Id: Ib4cd3a69134d0eafc7f2ac4b7927a1c79b63bfa6
Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
|
|/
|
|
|
|
| |
Task-number: QTBUG-61969
Change-Id: I3367889041614a5e7489909dd38c8af638edf17c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
The src/core/renderer directory is meant to contain files that would be
in the renderer process and the chrome/renderer subdirectory in chromium,
but a few classes from the browser process and the renderer_host dir
has snuck in.
This patch cleans up the structure so that classes in the browser that
serves as host classes for renderer classes goes in renderer_host.
Change-Id: I9333b1322e2246d4da9b4e8cfe6be604f6d996bf
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|