summaryrefslogtreecommitdiffstats
path: root/src/core/browser_main_parts_qt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Adaptations for 90-basedAllan Sandfeld Jensen2021-07-081-2/+0
| | | | | | Pick-to: 6.2 Change-Id: I8402b044d8e12d75e144a00984b856f3de10bffd Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Add basic USB device loggingPeter Varga2021-06-151-0/+22
| | | | | | | | | | The log is available on the chrome://device-log WebUI. The logging depends on the WebUSB feature and it is disabled by default. Use --enable-features=WebUSB to enable it. Change-Id: Idcbdfa42db3b5a5851abbd3e8d877d69c2d9796a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Implement dialogs of File System Access APISzabolcs David2021-06-151-0/+3
| | | | | | | | | | | | | Dialogs triggered by window.showOpenFilePicker() or window.showDirectoryPicker() needed different implementation than regular file picker dialogs. Since the end-users can't distinguish between HTML file picker dialogs and these file system access dialogs, we can just use the existing file picker WebEngine API and UI delegates. Task-number: QTBUG-92519 Pick-to: 6.2 Change-Id: Ib1624f80603c4042803303274ba45d864ecb371c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Implement PluginServiceFilterQtSzabolcs David2021-03-071-0/+5
| | | | | | | | | | | | | | | | Let Chromium know about the status of plugin availability from WebEngineSettings. This way it can decide whether the response is a download and it has more benefits: - It doesn't have to start a new load request to download a PDF file, it just treats the original response accordingly. - Fixes websites which are protected from cross-domain requests (e.g. by checking the Referer header) and/or redirecting requests for PDFs. Calling DownloadManager "manually" and not passing the original request headers did not work when the server relied on them. Task-number: QTBUG-78114 Change-Id: I8cfa90c211418001c60c4b2f0f8818ee453101fc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 87Allan Sandfeld Jensen2021-01-131-3/+3
| | | | | Change-Id: Ic4ffd98e02f986dbaf986405360e727c813e696e Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 86Allan Sandfeld Jensen2021-01-131-2/+2
| | | | | Change-Id: I7e0ebecdbb68cfff0b574c966f3fa80d28680e1c Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 85Allan Sandfeld Jensen2021-01-131-1/+0
| | | | | Change-Id: I33c1af7c431055d95e0fb540246765cce684de15 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 83Allan Sandfeld Jensen2020-09-091-8/+4
| | | | | Change-Id: I63ed851426b18623d549ceaf87f1b6eeec527966 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Chromium 81-based adaptationsAllan Sandfeld Jensen2020-09-091-0/+18
| | | | | Change-Id: Ie422b327025da084bc8038c7a0aadee2db801f29 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Fix ScopedGLContextChecker with QTWEBENGINE_DISABLE_GPU_THREAD=1Jüri Valdmann2020-08-261-1/+1
| | | | | | | | | | | | The ScopedGLContextChecker, which deactivates the current QOpenGLContext when executing Chromium tasks, is currently enabled only if QOpenGLContext::supportsThreadedOpenGL() is false. But the gpu thread can nowadays be disabled also with an environment variable and ScopedGLContextChecker needs to take this into account. Change-Id: I012524538b49b033ed053dbc41ed4350db916542 Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit 5988cec1a1b59aa163042a419c4c2e978bb814bb)
* Adaptations for Chromium 78Allan Sandfeld Jensen2020-02-281-4/+0
| | | | | | | | | | 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>
* Adaptations for Chromium 77Allan Sandfeld Jensen2019-10-111-2/+3
| | | | | | Fixes: QTBUG-77267 Change-Id: I181e24cf80ebee6991b95dde6c636f0d169b40a4 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 75Allan Sandfeld Jensen2019-07-101-2/+1
| | | | | Change-Id: Idad08244e0c749a9f70f5eb9f8cd236039b941b3 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 74Allan Sandfeld Jensen2019-07-101-36/+29
| | | | | Change-Id: Icdefa05eec39c632328dfc40862e5b734170bf3f Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Use MessagePumpForUIQt for UI thread onlyJüri Valdmann2019-03-231-20/+29
| | | | | | | | | | | | | | | | | | | | | In what almost seems like intentionally confusing terminology, Chromium draws a distinction between the UI thread and UI type threads. The thread's type refers mainly to the MessagePump implementation that it uses: currently MessagePumpForUIQt for all UI type threads. It turns out however that the desktop capture thread on macOS requires the original MessagePumpMac implementation for some macOS specifics. So, with this patch, MessagePumpForUIQt will be used only for the actual UI thread, and all other UI type threads will use upstream message pump implementations. Theoretically, this means that we cannot send events or async signals to these other UI type threads any more (sending events *from* these threads should still work). Practically though it seems safer to try, as far as possible, to not mix different event/task frameworks on the same thread. Change-Id: I81308d62c64354230796fccce2d3e0fa6cbb5013 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Adaptations for Chromium 72Allan Sandfeld Jensen2019-03-231-8/+8
| | | | | Change-Id: Ic355257066c7c1433862cb41e6f2bfa831147e0d Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Merge remote-tracking branch 'origin/5.12' into 5.13Allan Sandfeld Jensen2019-03-041-37/+11
|\ | | | | | | Change-Id: I1dd136df7004b11e2f38a2ec4e82a6fa81627479
| * Fix crash on dynamic_cast in global event filterJüri Valdmann2019-02-251-37/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Installing an event filter on QApplication which uses dynamic_cast will crash the application since QtWebEngine is sending QTimerEvents to classes without RTTI information. Fix by 1. Moving the QObject part of MessagePumpForUIQt into api/ as a private class. 2. Using QTimer directly in WebEngineSettings, without subclassing. Fixes: QTBUG-73833 Change-Id: Ida73006a4fef76637c964f8f05468adcc4a190ce Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Add extension system and PDF viewer to Qt WebEngineMichael Brüning2019-02-011-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-5/+3
| | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.12' into devMichael Brüning2019-01-181-2/+2
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/core/net/network_delegate_qt.cpp src/core/profile_io_data_qt.cpp src/core/web_engine_context.h tests/auto/core/qwebengineurlrequestinterceptor/tst_qwebengineurlrequestinterceptor.cpp Change-Id: Id98e3f52f548ceb5b68abd80aedd6ae59db72cc0
| * Rename leftovers of BrowserContext to ProfileAdapterMichal Klocek2019-01-071-2/+2
| | | | | | | | | | Change-Id: Ia86459503be86eb9b0d97affe94b7ce82d5e29f1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-11-281-0/+9
|\| | | | | | | Change-Id: Idf2c89bebf5e09855d764808cac487bc4b76faaa
| * Init the idle monitor on macOSAllan Sandfeld Jensen2018-11-211-0/+9
| | | | | | | | | | | | | | As the only platform macOS needs it initialized manually Change-Id: I922aea7e9f19abac6c1b46822d48646d68784014 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Fix GL context tracking when running in GPU-on-UI modeJüri Valdmann2018-11-271-0/+53
|/ | | | | | | | | | | | | | | | | | | | | | | | | | Both Qt and Chromium keep track of the current GL context by using thread-local variables, and naturally they are completely unaware of each other. As a result, when a QOpenGLContext is made current, the previous gl::GLContext is not released, and vice-versa. This is fine as long as each thread uses exclusively either Qt or Chromium GL bindings, which is usually the case. The only exception is when the GL driver is considered thread-unsafe (QOpenGLContext::supportsThreadedOpenGL() is false), in which case we have to run all GL operations, including Chromium's GPU service, on the UI thread. Now the bindings are being mixed and both Qt and Chromium get quite confused regarding the current state of the surface. To get this to work we have to release the current QOpenGLContext before executing any tasks from Chromium's GPU service and the gl::GLContext afterwards. Since GPU service just posts tasks to the UI thread task runner, we'll have to instrument the entire UI thread message pump. Fixes: QTBUG-72017 Change-Id: Ibd72e3041d213217fd097dfb4272e49243e31e67 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Clean-up BrowserMainPartsQtAllan Sandfeld Jensen2018-10-231-0/+231
Move to a separate file and cleanup the code. Change-Id: I33d9536c7e40315b6bf271e33bdc3f838ab4b671 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>