summaryrefslogtreecommitdiffstats
path: root/src/core
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.12' into 5.13Allan Sandfeld Jensen2019-03-0418-84/+235
|\ | | | | | | Change-Id: I1dd136df7004b11e2f38a2ec4e82a6fa81627479
| * Force destruction of webcontent client before profile adapterMichal Klocek2019-03-014-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently users might forget to delete webcontent client before profile adapter. This might be nasty if users are not aware of default profile. Instead of asserting badly in chromium, clean up and release chromium resources. This avoids the crash, but might leak memory if users never deletes page. Task-number: QTBUG-74021 Change-Id: I66f466f169d12f7ee08866d505260dca47800bb0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Fix destruction of qt quick profile after WebEngineContext gets deletedMichal Klocek2019-03-011-1/+2
| | | | | | | | | | | | | | | | | | | | Issue takes place when QQmlApplicationEngine is a child of qApp. In case WebEngineContext gets destructed do not try to get default profile, which is anyway already gone. Task-number: QTBUG-74116 Change-Id: I24ea87baf677360a420d444b4c964feb722ab317 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Fix incrementing download IDTamas Zakor2019-02-281-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Adapt DownloadManagerDelegateQt::m_currentId to https://chromium-review.googlesource.com/1144311 Update Chromium: 09516a434b [Backport] Allow DownloadManagerImpl to get InProgressDownloadManager from DownloadManagerService b3edbf2a84 [Backport] Make DownloadManagerImpl to generate download IDs for in-progress DB Task-number: QTBUG-70702 Change-Id: I1224643398a2084fcd5d70d2c04b105ed69c1f3d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Fix crash on dynamic_cast in global event filterJüri Valdmann2019-02-256-66/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Fix handling of touch icons when it is disabledPeter Varga2019-02-253-14/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Store the icon type in a bitfield because the same icon URL might be used for various types on same page. This way webengine won't ignore to download a default icon what is also set as a touch icon when touch icons are disabled. Moreover, do not store the icon types from the previous page because a subsequent page might use the same icon URL but with different type. With this change the type of the cached icons are updated after each page load. Fixes: QTBUG-70081 Change-Id: I8031a740b07b0c6a8e5759a994f386b13ce87be2 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Doc: Always treat \brief as full sentenceKai Koehne2019-02-222-2/+2
| | | | | | | | | | | | | | | | | | Make sure all \brief descriptions start with an upper-case letter and end with a . Also start descriptions of \class with the name of the class or struct. Change-Id: Ifd2656201f9c1dff092085508a5423ce516e2d3f Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| * Fix crash in tst_Spellchecking::spellcheckJüri Valdmann2019-02-193-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test tst_Spellchecking::spellcheck crashes when run with QT_LOGGING_RULES=qt.accessibility.cache.debug=true which triggers debug output from QAccessible::registerAccessibleInterface and QAccessible::deleteAccessibleInterface These functions are called during the construction/destruction of BrowserAccessibilityQt. The problem is that BrowserAccessibilityQt is not necessarily in a valid state at these times: BrowserAccessibilityQt relies on it's manager to be *fully* initialized yet BrowserAccessibilityQt may be constructed/destructed *during* the managers construction/destruction. The solution is to override QAccessibleInterface::isValid to return true only if the manager is in a valid state too. This disables the debug output and avoids the crash. Fixes: QTBUG-72878 Change-Id: Icffe4e503145133c24535fb094bbcb606568e57c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* | Tie client certificate stores to profilesAllan Sandfeld Jensen2019-03-018-37/+47
| | | | | | | | | | | | | | | | Move the client certificate store from being global to being tied to individual profiles. Change-Id: Ib21ae14c501b7d0612b84ae7535120291aeeada2 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Fix detection of opengl supportMichal Klocek2019-02-271-20/+17
| | | | | | | | | | | | | | | | | | | | | | | | Clean up tryGL check and add missing check for platform capability so webengine tests can run on arm in ci. Note this change only fixes webengine with offscreen plugin wihtout xlib support, which is the case for coin ci. Task-number: QTBUG-63346 Change-Id: I66fe6457f98815dad0dcd02df4500dc0ff752958 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | API cleanupAllan Sandfeld Jensen2019-02-274-4/+4
| | | | | | | | | | | | | | Based on review feedback Change-Id: Ide40d4fd563ea682eaa2cc457d857445adea85cd Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Make client certificate store thread safeAllan Sandfeld Jensen2019-02-256-34/+70
| | | | | | | | | | | | | | | | If the users manipulate the API from the UI, we need to read from the UI thread as well. Change-Id: I8af787a357954cff4fbdd94bcf27b880fb6aecb4 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Add a setting to control if the PDF viewer is enabledMichael Brüning2019-02-223-3/+30
| | | | | | | | | | | | | | | | | | | | [ChangeLog] Introduces a setting to control if the internal PDF viewer is enabled. By default, PDF documents will now be opened in the viewer instead of being downloaded. Change-Id: I78b3b3702ae3be3da58c9635720ba861db3de661 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Add build time override of ninja jobsMichal Klocek2019-02-211-1/+1
| | | | | | | | | | | | | | | | Add sth like 'NINJAJOBS=-j20 make'. Helps to quickly investigate icecc issue without need to do qmake_all. Change-Id: I7438e9cd1a2b15bcbc1a4790bbc4d6596c5c7abd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Try using authentication from QNetworkProxyMichal Klocek2019-02-194-0/+36
| | | | | | | | | | | | | | | | | | Use credentials for QNetworkProxy if set. Done-With: Allan Sandfeld Jensen <allan.jensen@qt.io> Task-number: QTBUG-58121 Change-Id: I9c7328af90f3c60144c5ecf385529f663f0e46b2 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Remove not used define for sanitizerMichal Klocek2019-02-191-1/+0
| | | | | | | | | | Change-Id: I3f5e55eb7a695c83b683d715640b10713e43aa95 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Minor. Remove unused m_index from pdfium_document_wrapper_qt.cppMichal Klocek2019-02-191-3/+0
| | | | | | | | | | | | | | Fixes clang warning. Change-Id: Ib9851cabe7d578d5dd2abc2aa54891821aeeb38d Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Minor. Remove superfluous std::moveMichal Klocek2019-02-191-1/+1
| | | | | | | | | | | | | | | | Let the compiler decide to do copy elision/NRVO or move. Fixes clang warning. Change-Id: I257492c06593b25cb9325a674c6a8aeed8c67680 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Remove hack with passing WebContentsAdapterClient as NativeViewAllan Sandfeld Jensen2019-02-184-18/+35
| | | | | | | | | | | | | | | | 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>
* | Fix undefined behavior with extensions disabledAllan Sandfeld Jensen2019-02-151-0/+2
| | | | | | | | | | | | | | Return null as GuestManager. Change-Id: Idcc0a98cd80a38b27dba3d8c04b96af5e0904cad Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Allan Sandfeld Jensen2019-02-157-107/+135
|\| | | | | | | Change-Id: I0822fb8a10945a252cfd1aacaf0b6d9902cc8831
| * Shutdown ProxyResolutionSerivceMichal Klocek2019-02-111-0/+3
| | | | | | | | | | | | | | | | Shut down the ProxyResolutionService before regenerating storage, it may have pending URLRequests. Change-Id: If79efc0bc942762dc48a50a12d74593ff1ee3989 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Better error reporting for QWebEngineUrlSchemeJüri Valdmann2019-02-113-6/+46
| | | | | | | | | | | | | | | | Add warnings for late registration and invalid configuration. Fixes: QTBUG-72842 Change-Id: I2c103c3b3581112cc885c3a1b4f42c011c3510ab Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| * macOS: Look for the widevine plugin in the possible new locationsAndy Shaw2019-02-041-2/+12
| | | | | | | | | | Change-Id: Ibaaa64ace3bff9fe630d9448864587bac8f7b128 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Reinstate CT verification using known logsAllan Sandfeld Jensen2019-02-041-2/+11
| | | | | | | | | | | | | | | | Lost in the transition to Chromium 69 as the function we were using no longer exists. Reimplemented by how it is now done in NetworkContext. Change-Id: I05c986f2941c7d5f2b8641adc8c619ec3f75e0b1 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
| * Merge remote-tracking branch 'origin/5.12.1' into 5.12Qt Forward Merge Bot2019-02-013-92/+58
| |\ | | | | | | | | | Change-Id: I4315127d8a329bcb65e6853d4f3625b6dbc55560
| | * Fix incorrect GLX pbuffer attributes terminatorKirill Burtsev2019-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | Reland fix 04337275e4 after adaptations d5bffb5125 Change-Id: Ieca40fd2ac3d245f760c9b24e2d42d21855b836a Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| | * Fix recreation of cookie store and channel id serviceMichal Klocek2019-01-092-91/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As more things gets mojofy and become services, we can not simply delete parts of storage context. Therefore regenerate whole storage in case of cookie store, cache, agent settings updates. URLRequestContextStorage guards correct order of destruction. This change aims to fix some crashes during cookie store and http cache recreation when ChannelIDService gets deleted. Depending on timing this ends with different stacktraces like in cookie store manager or during ssl handshake. We still keep network delegate outside of storage context to prevent crashes when url requests end their life due to (forced) request cancellation in cancelAllUrlRequests(). Please note this is just band-aid patch, and introduction of 'profile builder' will be a proper fix. Fixes: QTBUG-71895 Change-Id: If33a7af3ebba2632ea33f32d913e1c21a4534817 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Support offscreen plugin with glx backendMichal Klocek2019-02-152-4/+5
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-63346 Change-Id: Id475c6c88f79af8cf82610a40d07eaa3f6588d7d Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | | Fix crash on removing certificates from local storeAllan Sandfeld Jensen2019-02-141-2/+1
| | | | | | | | | | | | | | | | | | | | | I shouldn't cache end when operating on a changing list. Change-Id: I09a69e238675600fde7a7d9bc75dffe1fb22c4eb Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | | Fix incrementing download IDTamas Zakor2019-02-141-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | Adapt DownloadManagerDelegateQt::m_currentId to https://chromium-review.googlesource.com/1144311 Change-Id: I74d0165b096d5d02261290a7f84fda420a2b146c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Simplify visual properties handling in RenderWidgetHostViewQtJüri Valdmann2019-02-138-167/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | Replace separate notifications from delegate with one combined notification and change detection. Store view rect, window rect and screen info in RWHVQ to ensure the properties are in a consistent state. Change-Id: Icef8a17e72882f56db249f5553b6cf554e1f91dc Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Do not create the native client cert store on every requestAllan Sandfeld Jensen2019-02-112-17/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | Create it once and keep it around. Also contains drive-by coding style fixes. Change-Id: I8b159ae332080b31ed64fab99ad6bb3d8b4d5e3b Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | | Add link with lld supportMichal Klocek2019-02-111-0/+3
| | | | | | | | | | | | | | | Change-Id: If81ac9311c44160aac28929d37da7a9e6d946a73 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | | Fix use_gold gn argumentMichal Klocek2019-02-112-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We add already use_gold in toolchain setup, however for default toolchain toolchain_args are ignored, Therefore use_gold has to be set explicilty in linux.pri. Task-number: QTBUG-73216 Change-Id: If1c8f9df998719d88184d0e5eee525b871d682df Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | | Cleanup client cert store filesAllan Sandfeld Jensen2019-02-1112-215/+307
| | | | | | | | | | | | | | | | | | | | | | | | The files were not in the right places and wasn't split correctly in domains. Change-Id: Ia0d3b1c8f9bc6082f338a09cb64c4bb4b1aa16ad Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | | Fix -Wreorder warning in ProfileAdapterJüri Valdmann2019-02-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | .../profile_adapter.h: In constructor 'QtWebEngineCore::ProfileAdapter::ProfileAdapter(const QString&)': .../profile_adapter.h:229:9: warning: 'QtWebEngineCore::ProfileAdapter::m_pageRequestInterceptors' will be initialized after [-Wreorder] .../profile_adapter.h:219:13: warning: 'QString QtWebEngineCore::ProfileAdapter::m_downloadPath' [-Wreorder] .../profile_adapter.cpp:79:1: warning: when initialized here [-Wreorder] Change-Id: I3aff0462769abc484845ac0233ad892a4ec9bb0d Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | | Quiet -Wmismatched-tag warningv5.13.0-alpha1Allan Sandfeld Jensen2019-02-081-1/+2
| | | | | | | | | | | | | | | | | | | | | Change CompositorResource to class to match forward declaration. Change-Id: I603038b99e567a8da2096e48b5b33ec8874594ad 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>
* | | Fix incorrect include of pref_names.hMichal Klocek2019-02-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | kShowInternalAccessibilityTree is not spellchecker related feature. Task-number: QTBUG-73562 Change-Id: Iac2b0d235aae93bcffebe923bfde036d67293074 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | | Web Notifications APIKirill Burtsev2019-02-0619-5/+1074
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge remote-tracking branch 'origin/dev' into 5.13Michael Brüning2019-02-0567-92/+4475
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/content_browser_client_qt.cpp src/core/content_browser_client_qt.h Change-Id: I3da791a82dab56fd7535ba1e4c0ab1d9ca74f547
| * | | Delete WebContentsAdapter::dpiScaleChanged()Jüri Valdmann2019-02-012-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Unused method. Change-Id: Iebdd2d0e2391b0aa897674c009a26110fbb51131 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * | | Delete WebContentsAdapterClient::dpiScale()Jüri Valdmann2019-02-016-58/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It's always 1. Change-Id: I1c3d5bc3080da90379f03b6d0819c5656334751e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * | | Add extension system and PDF viewer to Qt WebEngineMichael Brüning2019-02-0160-23/+4439
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | Move QWebEngineUrlRequestInterceptor::intercept to ui threadMichal Klocek2019-02-047-42/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently interceptor sufferers thread safety issues, when custom profiles are deleted, interceptor is set to be nullptr, however it can be still referenced in IO thread. Since profile was split to ui and io part, where io part can outlive the ui part, this can boost thread safety issues. Since QWebEngineUrlRequestInterceptor is living on ui thread simplify the logic move intercept call to ui thread. This fixes the issue of referencing interceptor in io thread. Add new method to install interceptor setUrlRequestInterceptor, and deprecate old one. Update interceptor install method name on page to match the profile one. Task-number: QTBUG-69844 Change-Id: I5dd2b6b734fd91906cccc6c1408ffbe7b1b4250c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | Move url_request_notification to own unitMichal Klocek2019-02-044-135/+257
| | | | | | | | | | | | | | | | | | | | Change-Id: I37a0a7194e339136d73e9c8f7faebb8c97ee2c97 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | Add proxy switches handlingMichal Klocek2019-02-0410-27/+219
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds switches for proxy: https://www.chromium.org/developers/design-documents/network-settings [ChangeLog] Uses proxy switches for initial proxy configuration Fixes: QTBUG-71229 Change-Id: I1bc02f20c20d737234c650a18f0e0f7c1c63a464 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | Disable error page isolationPeter Varga2019-02-042-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With enabled error page isolation it is not possible to change language of error messages among views because error pages would be rendered in the same dedicated process. The error page isolation is enabled since Chromium 71: https://chromium-review.googlesource.com/1115203 Change-Id: Icc100531596dc8fc1caa927d401f923f1151aa02 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | Merge remote-tracking branch 'origin/5.12' into 5.13Allan Sandfeld Jensen2019-02-012-8/+43
|\ \ \ \ | |/ / / |/| / / | |/ / Change-Id: I2889e49fe9f71bfc996689feb0f350e09569f611