summaryrefslogtreecommitdiffstats
path: root/src/core/web_contents_adapter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Refactor RenderWidgetHostViewQtPeter Varga2020-06-171-0/+1
| | | | | | | | Make RenderWidgetHostViewQtDelegateClient class instantiable and remove its implementation from RenderWidgetHostViewQt. Change-Id: Idcad3a805defe8b910f418b91f14808b6dbf083b Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Add support for clearing the feature requestAllan Sandfeld Jensen2020-05-201-3/+3
| | | | | | Task-number: QTBUG-83476 Change-Id: I63ad9801e3e97f7fdac959600c69c04d0105be1f Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Allow to set feature permission before first ever navigationKirill Burtsev2020-05-141-1/+1
| | | | | | | | | | | | | | | | Since PermissionManagerQt functions independent of webcontents initialization, permission installment may be done earlier (right after page base constructor). Practically, this allows to grant/deny permission before first ever navigation to avoid permission feature request from well-behaving web application. Unfortunately, this only applies to Web Notifications: there is a way to check without request: Notification.permission javascript static object. Other supported features lack similar mechanism: they operate through success/failure callbacks, which unconditionally invoke permission requests, and Page/View API doesn't automatically answer with remembered permissions. Task-number: QTBUG-83476 Change-Id: I63a3cbca25498d5026975073e125f2ab4f9ab2ad Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Revive Pointer Lock featureSzabolcs David2020-05-041-3/+23
| | | | | | | | | | | | | | | This change fixes several issues: - Accepting mouse lock permission from modal dialog was not working on Linux. XCB needs some time to activate the parent window after accepting the dialog and we expected to have immediate active focus. - Implementation of RenderWidgetHostViewBase::IsMouseLocked() was missing. - Fixed event.movementX/movementY by disabling ConsolidatedMovementXY feature. Calculate movement properties in WebEngine instead of blink. Task-number: QTBUG-83294 Change-Id: Ic03d05c1026a113cf5e8d22544fc508d9f285876 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix -no-accessibility buildPeter Varga2020-04-291-2/+2
| | | | | | | | | | | | WebEngine is built without -DQT_NO_ACCESSIBILITY. qtgui-config.h defines it but accessibility_activation_observer.h didn't include it if accessibility was disabled. Also replace all occurrences of QT_NO_ACCESSIBILITY by QT_CONFIG(accessibility) in core. Change-Id: I5e5e14885e04cd542ec9e52d770f7070e8edbf8b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Move request interceptor to ui threadMichal Klocek2020-04-201-0/+10
| | | | | | | | | | | | | We use now network service avoid io-ui-io-ui hops, pipe proxying url loader factory directly to ui thread. This solves thread safty issues. Add deprecated request interceptor test cases. Task-number: QTBUG-83082 Task-number: QTBUG-82999 Change-Id: I38778cf1a70789c5e92e04c93d1c93e2cc4c765a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Join some features request and response functionsAllan Sandfeld Jensen2020-04-151-8/+2
| | | | | | | Will make it easier to expands with more features in the future Change-Id: Ic7c1aca23a543c95a4873471c918f74606be2053 Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* Adaptations for Chromium 80Allan Sandfeld Jensen2020-04-071-9/+9
| | | | | Change-Id: Icaf68648cbc2c13a61fc3b208ff1e64ca36c90b6 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Speculative fix for titleUpdate test caseMichal Klocek2020-04-021-0/+10
| | | | | | | | | | | | | | | | | | | | | | After tedious investigation the issue boils down to error prone synchronization of web engine settings. WebEngineSettings are synchronized between the browser process and the render process. Moreover in the browser process the sync message is send to the render with QTimer::singleShot, which can cause race conditions if for example QWebPage::setUrl was used meanwhile. This makes current settings not being picked up by the render process and results in 'titleUpdate' test case flaky. This happens due to the fact that ShouldDisplayErrorPageForFailedLoad in the render process frame view could have invalid value. Try to sync web engine settings on every adapter load, setContent or reload. Mark some flaky settings in tests. Fixes: QTBUG-83078 Change-Id: I5289472f146e104d5cb6c3b9b20b26d3dc42f4b1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.14' into 5.15Allan Sandfeld Jensen2020-03-031-1/+4
|\ | | | | | | | | | | | | Conflicts: tests/auto/quick/qquickwebengineview/BLACKLIST Change-Id: I365daa73d2eb422ac916c32b86c5ad0d3c32086d
| * Invalidate accessible interfaces on destruction of view or pagePeter Varga2020-02-271-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RenderWidgetHostViewQtDelegate(Widget|Quick)Accessible interfaces are forwarding their queries to the WebEngineView. In case of widget, the view also forwards the query to the page. The accessible interfaces may outlive the view and page. The interfaces are not supposed to be used after the destruction of the underlying objects. Thus, set the RenderWidgetHostViewQtDelegate and WebEngineView accessible interfaces invalid if the corresponding pointers are null. Also fix querying the root accessible interface of the web page when the render frame host is not available. This fixes crash when QT_LOGGING_RULES="qt.accessibility.cache.debug=true" is set and logger tries to pretty-print QAccessibleInterfaces during destruction. Task-number: QTBUG-78284 Change-Id: If18af0605061fcd82d019d0042dbf1c9d3a910be Reviewed-by: Kirill Burtsev <kirill.burtsev@qt.io>
* | Adaptations for Chromium 79Allan Sandfeld Jensen2020-02-281-9/+8
| | | | | | | | | | | | | | | | Fixes: QTBUG-80737 Fixes: QTBUG-81556 Fixes: QTBUG-81614 Change-Id: Ie6a69cdbf46d0508bff226f1b8fed28a618e1949 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Adaptations for Chromium 78Allan Sandfeld Jensen2020-02-281-2/+2
| | | | | | | | | | | | | | | | | | | | Including removal of renderer service. [ChangeLog][QWebEngineSetting] XSS Auditing has been removed, and XSSAuditingEnabled no longer has any effect. Change-Id: I0835e2a76551057f3eea30a343e0373b642192f0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Allan Sandfeld Jensen2020-02-271-14/+32
|\| | | | | | | | | | | | | | | Conflicts: src/core/renderer_host/web_channel_ipc_transport_host.cpp tests/auto/widgets/qwebengineprofile/tst_qwebengineprofile.cpp Change-Id: I47f2b893bc9f27cd9df641f76badc9e53b482ad4
| * Clear previous page text selection on new navigation unconditionallyKirill Burtsev2020-02-261-14/+32
| | | | | | | | | | | | | | | | | | | | Remove code duplication on triggering new url load, and use direct code to clear SelectedText instead of CollapseSelection as it assumes focused frame and might be ignored. Fixes: QTBUG-81574 Change-Id: I01cf02967e118f407c8a3997e176d5b258478a5a Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Add getter/signal to get the render process PIDFlorian Bruhin2020-02-011-0/+11
|/ | | | | | | | | | | | This can useful for e.g. implementing something like the "Task manager" in Chromium or otherwise interacting with the render process (e.g. to kill it for some reason while debugging). [ChangeLog] Add a renderProcessPid() getter to (Q)WebEnginePage which allows getting the process ID of the underlying render process. Change-Id: Id5d59be9b6bd46ffc3a6aa480cb5ff7bd3b8aa31 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Rework url changed logicMichal Klocek2020-01-141-4/+2
| | | | | | | | | | | | | | | | | | | | | | Due security changes to prevent url spoofing, our implementation is getting extra invalidate url requests. Unfortunately, this breaks our url handling, which now gets lots of new back and fort url changed signals and make several unit test failures. After tedious investigation of Chromium omnibox handing and trying out different approaches, it seems that only sensible solution is to follow Chromium logic and make NavigationStateChanged to update 'ui' in asynchronous matter. This change tries not break any tests and simplify url handling. The only side effect of this change is that WebEnginePage::setContent will get extra 'url' signal of initial 'urlData' and later 'baseUrl' change is emitted. Fix one of qml tests which did not expect to have url on LoadStartedStatus. Task-number: QTBUG-63388 Task-number: QTBUG-48995 Change-Id: Id347f4325c036e16bfae7bf2f694905e0f21f8d7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Store favicon URL when serializing QWebEngineHistoryDmitriy Kuminov2019-11-081-6/+20
| | | | | | | | | | | | | | This is to make QWebEngineHistoryItem::iconUrl of the deserialized QWebEngineHistory object return the same URL it had when serializing. Otherwise it's impossible to have favicons for URLs from the navigation history of a restored browser session until these URLs are visited again (so that Chromium refetches their favicons). These icons are usually needed much earlier - e.g. when showing a popup with the navigation history and having an icon URL allows to load it from a disk cache before visiting the page. Fixes: QTBUG-78998 Change-Id: Ief2d089d52f301826e5c131d401cafd08952a8b5 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Merge branch '5.13' into 5.14Allan Sandfeld Jensen2019-10-301-2/+1
|\ | | | | | | Change-Id: I6ab2e949cb2fa3b2db55a1654d42667db6257eab
| * Don't modify the allowed actions as they are correct alreadyAndy Shaw2019-10-111-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | By not modifying the allowed actions instead of just setting it to be the MoveAction will enable dragging from a webpage to another webpage to work correctly. Otherwise it will potentially reject the drag because it is seen only as a move, whereas it wouldn't be possible to really move from one webpage to another as the original source cannot be deleted. Change-Id: I34105d10e7d1dc831016c33c9c6cfc544c4e084b Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Adaptations for Chromium 77Allan Sandfeld Jensen2019-10-111-0/+1
| | | | | | | | | | | | Fixes: QTBUG-77267 Change-Id: I181e24cf80ebee6991b95dde6c636f0d169b40a4 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Refactor findText handlingPeter Varga2019-08-221-44/+6
| | | | | | | | | | | | | | | | | | | | | | Move most of the findText logic to the QtWebEngineCore::FindTextHelper class. This change also separates findText callbacks in the new class for getting rid of the request ID conversion and make it easier to remove them in Qt6. Task-number: QTBUG-50420 Change-Id: I348cedd0f90a49f9b360165c46319aeed2c236c0 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | WebContentsAdapter: don't use toStrongRef().data()Marc Mutz2019-08-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's an anti-pattern. Even though we don't expect other threads to destroy the last QSP while we use the pointer obtained from QWeakPointer, play it safe and use QWeakPointer idiomatically: as a non-owning reference, to be converted to an owning one for the duration of our use of the payload object. Amends 7cade5688f6a0bde067dc496cedcb8de14662116. Change-Id: Ib1c136569c27f413a4a78bfc35784032c53522a9 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Use QWeakPointer::toStrongRef().data() to get the raw pointerMichael Brüning2019-08-141-1/+1
| | | | | | | | | | | | | | | | Fixes a deprecation warning because QWeakPointer::data is deprecated from 5.14 onwards. Change-Id: I09b356b172cb9ffef880d6b97b4c6a9646203942 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into devAllan Sandfeld Jensen2019-07-241-3/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty src/core/core_chromium.pri tests/auto/quick/qmltests/BLACKLIST tests/auto/quick/qquickwebengineview/BLACKLIST tests/auto/widgets/qwebenginepage/BLACKLIST tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp tests/auto/widgets/qwebengineview/BLACKLIST Change-Id: I11b26f5eebde29c4c62247b90e11e3ae40789fe4
| * Merge remote-tracking branch 'origin/5.12' into 5.13Allan Sandfeld Jensen2019-07-231-3/+9
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/config/common.pri src/core/configure.json src/core/net/url_request_qrc_job_qt.cpp src/core/ozone/surface_factory_qt.cpp src/core/web_contents_adapter.cpp Change-Id: If679aa179123f793639da3d8ee4ab5d116707754
| | * Fix use-after-free in WebContentsAdapter::loadJüri Valdmann2019-07-181-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | Pass WebContentsAdapter pointer to lambda via QWeakPointer in case the adapter has been deleted already. Fixes: QTBUG-76958 Change-Id: I1962ba3dd1794a27e7013a2ad1b729fe7a08c079 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Reset findText reply id on StopFinding to prevent callback laterKirill Burtsev2019-07-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Not updating lastReceivedFindReply caused next findText call after StopFinding to trigger redundant callback call on checking stale query. Fixes: QTBUG-77029 Change-Id: Iad4b71364ecb3ec3db3096b739e77620d12731f9 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | | Adaptations for Chromium 75Allan Sandfeld Jensen2019-07-101-11/+38
| | | | | | | | | | | | | | | Change-Id: Idad08244e0c749a9f70f5eb9f8cd236039b941b3 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | | Adaptations for Chromium 74Allan Sandfeld Jensen2019-07-101-5/+9
| | | | | | | | | | | | | | | Change-Id: Icdefa05eec39c632328dfc40862e5b734170bf3f Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | | Merge remote-tracking branch 'origin/5.13' into devJüri Valdmann2019-07-021-0/+6
|\| | | | | | | | | | | Change-Id: I806417dd7a6d2594a86ee49feedc4ad9ee48add2
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Allan Sandfeld Jensen2019-06-111-0/+6
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/3rdparty src/core/configure.json src/core/profile_io_data_qt.cpp tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp Change-Id: Ie8ae4aa03881a0733ff497fff46e3f7040735650
| | * Disable edit actions when content has no focused framePeter Varga2019-05-271-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-75505 Change-Id: Ia1329ff554a86e307aa7995e9af1665ea6c5e64c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Update ChromiumMichael Brüning2019-04-011-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also fixes the fact that WebEngine was passing POST data to Chromium even if the request was not a POST request. This triggered an assert in the backported code. 3aaf2ca833c [Backport] Security bug 906739 e4e10461659 [Backport] Security bug 906437 0a717e1dbe9 [Backport] Security bug 913212 c7fa9a16957 [Backport] CVE-2019-5803 ebe1e7068ca [Backport] Dependency for CVE-2019-5802 (1/5) 597dae52a3b [Backport] CVE-2019-5802 (1/5) 64d3770e5e9 [Backport] CVE-2019-5802 (2/5) a34d2fb5dd1 [Backport] CVE-2019-5802 (3/5) 62f25b2d83f [Backport] CVE-2019-5802 (4/5) a63d51633ab [Backport] Dependency for CVE-2019-5802 (5/5) c6d0023bc59 [Backport] CVE-2019-5802 (5/5) f7fcbe53871 [Backport] Security bug 905509 (1/13) 94f1317917f [Backport] Security bug 905509 (2/13) 812a9e68a2c [Backport] Security bug 905509 (3/13) 36c2c5e8b27 [Backport] Security bug 905509 (4/13) 8b01fa3780a [Backport] Security bug 905509 (5/13) 69b772f1e9a [Backport] Security bug 905509 (6/13) f2dfd87785a [Backport] Security bug 905509 (7/13) ec503eae3ed [Backport] Security bug 905509 (8/13) f5a4144a132 [Backport] Security bug 905509 (9/13) 03d8580cf59 [Backport] Security bug 905509 (10/13) 03c4a4ffb98 [Backport] Security bug 905509 (11/13) 700a4af1fb5 [Backport] Security bug 905509 (12/13) 03be3aa656a [Backport] Security bug 917707 269d53ceabd [Backport] Security bug 905509 (13/13) d720564a5ba [Backport] Security bug 938251 85136fedbde [Backport] Security Bug 929088 037efcfdba3 [Backport] Security Bug 931640 1/2 bea83ccee0f [Backport] Security Bug 931640 2/2 dd18af1614f [Backport] Security Bug 924905 e54c1076009 [Backport] Security Bug 919572 258feedf8e1 [Backport] Security Bug 919340 f4f1e852df5 [Backport] CVE-2019-5789 8566ec6cc21 FIXUP: [Backport] Security bug 905509 (3/13) 3d59c5717de FIXUP: [Backport] Security bug 906739 dd6863f4aea FIXUP: [Backport] Security bug 905509 43c92056fab FIXUP: [Backport] CVE-2019-5802 d6d21a17c5a FIXUP: [Backport] Security bug 913212 a4a129005d8 FIXUP: [Backport] Security bug 905509 38a6ae037ee FIXUP: [Backport] Security Bug 924905 d147ad350da FIXUP: [Backport] Security bug 905509 (3/13) Task-number: QTBUG-74445 Change-Id: Ic8d750bc89950c0e020eb43881dbf03328108940 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Implement page lifecycle APIJüri Valdmann2019-05-241-31/+289
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtWebEngine][WebEngineView] WebEngineView now supports lifecycle states that can be used for reducing CPU and memory consumption of invisible views. [ChangeLog][QtWebEngineWidgets][QWebEnginePage] QWebEnginePage now supports lifecycle states that can be used for reducing CPU and memory consumption of invisible pages. Fixes: QTBUG-74166 Fixes: QTBUG-55079 Change-Id: I7d70c85dc995bd17c9fe91385a8e2750dbc0a627 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Move RenderViewObserverHostQt to renderer_hostAllan Sandfeld Jensen2019-03-261-1/+1
| | | | | | | | | | | | | | | | It is the host side of RenderViewObserverQt in the renderer dir, so should be in the renderer_host dir. Change-Id: I497a6442130993237a0b823e7dcdd121bd72355a Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Adaptations for Chromium 73Allan Sandfeld Jensen2019-03-231-5/+6
| | | | | | | | | | Change-Id: I565d1e327852110a5abebed3388d7cd6986bef06 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Adaptations for Chromium 72Allan Sandfeld Jensen2019-03-231-21/+36
| | | | | | | | | | Change-Id: Ic355257066c7c1433862cb41e6f2bfa831147e0d Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Remove hack with passing WebContentsAdapterClient as NativeViewAllan Sandfeld Jensen2019-02-181-4/+7
| | | | | | | | | | | | | | | | Instead delay creating our render view just a little bit further in WebContentImpl::OpenWindow until it calls delegate->WebContentsCreated() Change-Id: Idd911d208bbfe419a2567220933eccb2ba726347 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Only allocate a post data block when postingAllan Sandfeld Jensen2019-02-081-4/+3
| | | | | | | | | | Change-Id: Ia50b6689bdb182888aba44faf549d17747624833 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Web Notifications APIKirill Burtsev2019-02-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Implements API for end-user notifications. Co-authored by Allan Sandfeld Jensen [ChangeLog][Profile] Support for Web Notifications API for end-user notifications through QWebEngineNotification Task-number: QTBUG-50995 Fixes: QTBUG-51191 Change-Id: Icebaaa05275a713e801f1f8ecdaaec725fa264c8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Delete WebContentsAdapter::dpiScaleChanged()Jüri Valdmann2019-02-011-10/+0
| | | | | | | | | | | | | | Unused method. Change-Id: Iebdd2d0e2391b0aa897674c009a26110fbb51131 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Add extension system and PDF viewer to Qt WebEngineMichael Brüning2019-02-011-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the Chromium extensiuon system to Qt WebEngine. Currently, it only exposes internal APIs to the internal PDF viewer extension. To load a PDF, simply navigate to it. This feature can be configured via the webengine-extensions flag and is turned on by default. Needs patch in Chromium 71-based to build. Adaptations to 71-based from 69-based include: * Flag out update installation, add crx file dependency * Move PostTask over to 71-based implementation * Move extensions API providers to 71-based implementaion * Don't use custom guest view and mime handler view delegates * Adapt the URLRequestResourceBundleJob to match new interface * Move extension system initialization to end of profile constructor Change-Id: I4fa5149057291bb5847f048534c11820cd7ff58c Fixes: QTBUG-50556 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Adaptations for Chromium 71Allan Sandfeld Jensen2019-01-281-9/+10
| | | | | | | | | | | | | | Change-Id: Ib650113b05dfd4771240804f94e33c07aa317bf2 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Adaptations for Chromium 70Allan Sandfeld Jensen2019-01-281-8/+11
| | | | | | | | | | | | | | Change-Id: I8bb77784dbc8a0b9debd96a4c49421bd34e6a0df Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Move printing operation to a new threadSzabolcs David2018-12-101-2/+2
|/ | | | | | | | | | | Printing operations were blocking the UI thread, so applications were irresponsive when printing in large size or high resolution. Introduce a new worker for the painting logic and use shared pointers to carry the data around and avoid copying PDF data between threads. Task-number: QTBUG-68561 Change-Id: I30633380b75acd14f1a1df87985c99540168a9f1 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Stop showing speculative framesJüri Valdmann2018-10-291-7/+2
| | | | | | | | | | | | | | | | | | | | | Chromium creates "speculative" frames (RenderFrameHost and company) for pending cross-process navigations (and maybe other navigations too). For example, a redirect from http://qt.io to https://qt.io will trigger this, as described in the bug report. These speculative frames are loading in the background and only shown once they are officially ready (as decided by the RenderFrameHostManager and signaled to WebContentsObserver::RenderViewHostChanged). At least, this is how it's supposed to work and how it works in Chrome. In WebEngine, however, we actually show these speculative frames as soon as they are created and before they are ready. This runs into the problem that the if the speculative frame is dropped (instead of committed), then Chromium will not ask us to re-show the old frame (since it hasn't actually asked to us to show the new frame, it naturally assumes we are still showing the old one). Fixes: QTBUG-68727 Change-Id: I9d53035ce60e3a002d5412d4473d940a32644b5d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Remove some outdated Qt version checksAllan Sandfeld Jensen2018-10-231-4/+0
| | | | | | | | We can't not build with older than Qt 5.9 anyway due to QSG and qmake changes. Change-Id: Iff0247e70d9ffc1e045e2c571f0089d68df9a589 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Cleanup web_contents_view_qt.hAllan Sandfeld Jensen2018-10-211-0/+1
| | | | | | | It had too many headers, and many files depending on its over inclusion. Change-Id: I5add1c4e07a14e017ac60db75efab5fc11e4166f Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* General adaptations for Chromium 69Allan Sandfeld Jensen2018-09-221-2/+3
| | | | | Change-Id: Ifeaf0ee13213dc5a24d2f2b4655cf7f405cddef7 Reviewed-by: Michael Brüning <michael.bruning@qt.io>