summaryrefslogtreecommitdiffstats
path: root/src/core/renderer/content_renderer_client_qt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Allow XMLHttpRequests from qrc to fileJüri Valdmann2018-10-181-0/+7
| | | | | | | | | | | | | | | Add test for cross origin XMLHttpRequests from/to custom schemes. By default, this is not allowed, but can be changed by adding an origin access whitelist entry to blink::WebSecurityPolicy in the renderer. Do this for the qrc scheme. As a result SecurityOrigin("qrc").CanRequest("file") will return true, which makes DocumentThreadableLoader::Start disable CORS for the request. Otherwise, CORS would be used, which only works with CORS enabled schemes. Fixes: QTBUG-70228 Change-Id: I2da60fddbbfb490c6d2f03329be286dbc28e1f12 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* General adaptations for Chromium 69Allan Sandfeld Jensen2018-09-221-34/+64
| | | | | Change-Id: Ifeaf0ee13213dc5a24d2f2b4655cf7f405cddef7 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Adaptations for Chromium 68Allan Sandfeld Jensen2018-09-221-3/+7
| | | | | | Together-with: Tamas Zakor<ztamas@inf.u-szeged.hu> Change-Id: I805246b6f01cb151fff48588744408c676d87c14 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Make WebChannel an optional featureMichal Klocek2018-08-091-0/+4
| | | | | | | Add webengine-webchannel feature. Change-Id: I600572180f8169aafe79cf0408527cc087d9a007 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Add DNS prefetchingAllan Sandfeld Jensen2018-08-011-0/+8
| | | | | | | | | | | Turns out we did no have DNS prefetching. It requires an extra component. The same component can also do pre-connect, but we do not enable that, as it requires a predictive browsing backend. [ChangeLog][Settings] DnsPrefetchEnabled added, but disabled by default. Change-Id: Ieb036435b9f1a72a7be302e38e89e0c347c7176b Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Migrate from BUILDFLAG to QT_CONFIGMichal Klocek2018-07-021-12/+10
| | | | | | | | | | | During configuration we mapped qt webengine fetures to chromium ones and passed them to gn. We used BUILDFLAG to optionally compile code in core. Use QT_CONFIG directly for qt files and add config sanity checks to make sure requested features are present. Change-Id: I930df114ac9aec8e73139ea9135925fc3ad8e39c Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Adaptations for Chromium 67Allan Sandfeld Jensen2018-06-261-141/+131
| | | | | Change-Id: I13cedba56012f74651a044d6fa8f0957487bf3eb Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 66Allan Sandfeld Jensen2018-06-261-10/+45
| | | | | Change-Id: Iee88721a50036d4ef85a23dd1708d4fb84218708 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Run scripts from DidClearWindowObjectJüri Valdmann2018-05-161-11/+0
| | | | | | | Task-number: QTBUG-66011 Task-number: QTBUG-67453 Change-Id: I5feac1cdc74132718ba7a67b4653fcc6788da9e1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Use cookie-access rights for webcontent settingsAllan Sandfeld Jensen2018-04-051-0/+3
| | | | | | | | | | This ties the indexed-db, DOM storage and filesystem access to cookie rights as they can all do the same cookies. A previous patch did the same for workers, but we were missing this class to complete the logic. Change-Id: I5ea894b6c631bcf25439759174866d260b91b71a Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Make WebChannelIPCTransport into a RenderFrameObserverJüri Valdmann2018-03-221-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Remove some unused header includes from corePeter Varga2018-03-211-2/+0
| | | | | Change-Id: Ie5bcf9cfb249f364dbe01a8bee98aada2acdd38f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Basic adaptations for 65-basedAllan Sandfeld Jensen2018-03-151-6/+6
| | | | | Change-Id: I121b14d6a44e80f5eea4b159c58f7010d472926e Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Basic adaptations for 64-basedAllan Sandfeld Jensen2018-03-151-35/+41
| | | | | Change-Id: I11e2da206e4e59872a38c178f57a5879c1bbf229 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Adaptations for Chromium 62Allan Sandfeld Jensen2018-01-251-12/+26
| | | | | Change-Id: I49cd3c419d4dd1180144c3c07bdd9a628ab73caa Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Fix widevine with proprietary codecsAllan Sandfeld Jensen2017-11-121-5/+5
| | | | | | | Switched from define to buildflag. Change-Id: I01b3e0aad7f54af1a485733e7d4ec25a31d14015 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.10Allan Sandfeld Jensen2017-09-291-1/+1
|\ | | | | | | Change-Id: I7094e85a7770303a2ae30baccbc484c04f33600e
| * Add LICENSE.ChromiumKai Koehne2017-09-201-1/+1
| | | | | | | | | | | | | | | | | | The mentioned LICENSE file is not available; add it under the name LICENSE.Chromium. Task-number: QTBUG-60006 Change-Id: Ib2b3cb64467046c7ba1f53b0bbe14c3ec5a5291d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Adaptations for Chromium 60Alexandru Croitor2017-09-111-3/+16
| | | | | | | | | | | | Change-Id: I536258e22c2ec143f2fd3f1cbda229e0611b6af4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | Adaptations for Chromium 59Allan Sandfeld Jensen2017-09-111-8/+7
| | | | | | | | | | Change-Id: I472053e316bfa782d0a6fb8903f4901be12247ae Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Adaptations for Chromium 57Allan Sandfeld Jensen2017-06-141-6/+0
|/ | | | | Change-Id: Ia2756c1e9b13839c2330bd98cf953d47cbdac0dd Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Fix pepper cdms featureAllan Sandfeld Jensen2017-04-061-4/+4
| | | | | | | Is now also buildflag and not command line define. Change-Id: I3c687981928239f669bd285797b5ceee4e994822 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix spellcheck feature checkAllan Sandfeld Jensen2017-04-041-3/+3
| | | | | | | | | Was changed to generated buildflag headers instead of command line defines. Task-number: QTBUG-59687 Change-Id: Iead64f5321d000c07172ee27a0032394527ec501 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Adaptations for Chromium 56Allan Sandfeld Jensen2017-03-271-11/+12
| | | | | Change-Id: I78240d7956de4716757761fc6517f031b4adb822 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Simple adaptations to Chromium 55Allan Sandfeld Jensen2017-03-011-3/+5
| | | | | | | The simplest adaptations to API and build changes in Chromium 55 Change-Id: I923fa188690a04902492317807f72f006bcab9c6 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix crash when trying to execute script on a detached RenderFramePeter Varga2016-11-081-0/+12
| | | | | | Task-number: QTBUG-56661 Change-Id: I546222dde64c54955c62d2c30df79d4773b9973c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations to Chromium 53Allan Sandfeld Jensen2016-09-141-2/+3
| | | | | Change-Id: I15053486edfd42ee607250b4f14fb6eaa325c959 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Adaptations to Chromium 52Allan Sandfeld Jensen2016-09-141-61/+112
| | | | | Change-Id: Idf8a511ba26d263fd9d014d87d5e1101d706da71 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Fix early JavaScript injectionAllan Sandfeld Jensen2016-06-011-0/+12
| | | | | | | | | | With the latest Chromium snapshot we can no longer install any javascript before a new callback called RunScriptsAtDocumentStart has been called. So we must refactor user-scripts and web-channels to install on this call instead. Change-Id: I440a0aa4b26100c650d5c678b454ea5beb6b59d2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Adaptations to Chromium 51Allan Sandfeld Jensen2016-06-011-13/+4
| | | | | | | | | | | | | | | | | | | | | | | | | A few remaining details need to be changed to port to 51: - AX_STATE_FOCUSED no longer exist and is now queried from the accessibility manager. - OnDuplicateSection no longer exist and is no longer needed on Windows. - Vorbis and AAC codecs are no longer included as supported in chrome_content_client.cc so we match that. - Blink is no longer started lazy and the method WebKitInitialized no longer exists in RenderProcessObserver. We must therefore get rid of the observer, and can mark qrc immediately. - Chromium will now use gpu memory buffers for video by default on both Linux and OS X. It however no longer works for us on either platforms, and since it doesn't give us any performance benefits, we might as well disable it. Change-Id: Ie0ee361f05a1e2207fcc5b88f98f9026ccd45f78 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Basic porting to Chromium 51Allan Sandfeld Jensen2016-06-011-9/+9
| | | | | | | Trivial changes in methods, arguments and types. Change-Id: Ic707c376249f816268223e696ed5f6251df1f85f Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-05-201-2/+0
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty src/core/browser_context_adapter.cpp src/core/web_contents_adapter.cpp tests/auto/widgets/qwebenginepage/BLACKLIST Change-Id: I45ee0a33f6316f585555d58fede8072fe514aecf
| * Revert marking qrc: as a local schemeMichael Bruning2016-05-101-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was causing a regression that broke applications that embedded JavaScript in qrc files and accessed them from other embedded JavaScript files. This is e.g. a typical pattern for applications that used QtWebChannel. This partially reverts 29f9a2fb68568208a70ba9efef0e455b50a4d3e3 Task-number: QTBUG-53108 Change-Id: I8b26395d84258b6d9aca8e0c5f07d4435617f44d Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
* | Copyright cleanup in core/renderer sourcesAllan Sandfeld Jensen2016-04-291-0/+5
| | | | | | | | | | | | | | | | | | Adds original copyright where it was missing and add origin sources, so we can better find and compare with the original. Change-Id: Id74da177325a55d98ac4487ff596f9b383012ea4 Task-number: QTBUG-53048 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Merge branch '5.6' into 5.7Allan Sandfeld Jensen2016-04-111-1/+3
|\| | | | | | | Change-Id: I53645ee5405b1c43807123fd3c196e314cfd1ce9
| * Register qrc as local after blink initialization.Michael Brüning2016-04-051-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | It is needed to let local content access the qrc resources by making them part of the same security origin. This is stated in the docs as the default behavior. This also backports change f7d343000d77c80f34a115fe9c78f101929292b1 from 5.7, which fixed some race condition with the qrc registration. Task-number: QTBUG-52085 Change-Id: Ia704fa6dbce8529f82695ab543244020cb9f8b8a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Basic adaptation to Chromium 49Allan Sandfeld Jensen2016-03-071-6/+6
| | | | | | | | | | | | | | | | Converts types, callbacks and headers to match Chromium 49. Task-number: QTBUG-51173 Change-Id: I544ef46e187105e250fea1b48b72d2c81a906640 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Register qrc as secure after blink initializationAllan Sandfeld Jensen2016-03-071-2/+12
| | | | | | | | | | | | | | | | | | | | We need blink to be initialized before we can rely on scheme registering to work. This should fix race-conditions of qrc as secure registrations. Change-Id: Icd4334a6ff74671bec2ccc506336d0e073d9ca39 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Rename UserScriptController/Host to UserResourceController/HostSzabolcs David2016-02-101-3/+3
| | | | | | | | | | | | | | These classes can operate user stylesheets too. Change-Id: Ia283af92e52a822b26003ff65e0e7dc391b0904d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Include printing sources and enable printing for desktop platforms.Michael Bruning2016-02-101-0/+14
| | | | | | | | | | | | | | | | | | | | | | Also adds Qt specific core classes for printing as well as adding printing related objects to the web engine context and including the printing sources in the builds for the desktop platforms. Also updates src/3rdparty submodule SHA-1. Change-Id: I9c2631c59f63571c0840d838077e66122bacc741 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Add spell checker supportMichal Klocek2016-02-011-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Integrate chromium spell checker: * add spellchecker and dependencies to build * underline misspelled words in html text areas * right-click context menu shows up to 4 options to correct the misspelled word * toggle spell check from context menu * add new qml and widget api calls to qwebengineprofile to enable/disable spell check, select spell check language, get list of supported languages/dictionaries * register new qml spell check properties for QtWebEngine 1.3 * CONFIG+="no_spellcheck" to remove spellcheck support Change-Id: Ie61434ab9493597d7759a6f33794f6859c4e3a4c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Unify license header usage.Jani Heikkinen2016-02-011-11/+14
| | | | | | | | | | | | | | | | | | Update files using old header.LGPL3 to use header.LGPL Update files using old header.FLD to use new header.FDL Update files using old header.BSD to use new header.BSD Change-Id: I36a67aaa8c3ca6c7946308defc9c03c3571a7d23 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Enable Widevine CDMAllan Sandfeld Jensen2016-01-191-0/+144
| | | | | | | | | | | | | | | | | | | | | | Enable loading Google Chrome's Widevine pepper plugin. Flash and Widevine plugins will now also be searched for in the plugins/ppapi directory. Task-number: QTBUG-50132 Change-Id: I28fb56bb08d7e81629e34420be626621a7981181 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Switch WebChannel's IPC transport to ginAllan Sandfeld Jensen2016-01-071-1/+0
| | | | | | | | | | | | | | | | | | Chromium has ported all their old V8 extensions to gin, this does the same for our extension. This should make it faster as it requires no parsing of JavaScript on startup. Change-Id: I1f791e71cafb9b60dd9787ae03a18e723dfef6b9 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Merge branch '5.6' into devAllan Sandfeld Jensen2015-11-201-4/+7
|\| | | | | | | Change-Id: I05fe27b8321944cf68cc96dfa9dfcaeb54c8c8cd
| * Use consistent naming of Qt-specific Chromium classesAllan Sandfeld Jensen2015-10-291-4/+4
| | | | | | | | | | | | | | | | | | Most of our Qt specific versions of Chromium classes have Qt appended, but a few observers have it prepended. This patch renames them to keep naming consistent. Change-Id: I004b61e16bc47f39a6bbc16a5f5c10585626865c Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
| * Use web_cache componentAllan Sandfeld Jensen2015-10-281-1/+4
| | | | | | | | | | | | | | | | | | Use the web_cache component which monitors and adjusts the web cache, so that the memory use is limited across multiple renderer processes. Change-Id: I9faa060d48f99a3c527fe0e0963bbe86db4b502c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Adapting to Chromium 47Allan Sandfeld Jensen2015-10-271-2/+2
|/ | | | | | | Updating to Chromium 47 and adapting API. Change-Id: Id465bbcd4facd7c47cb8a9f4bd4e18cbdc0d1120 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Mark qrc:// as a secure schemeKai Koehne2015-09-241-0/+6
| | | | | | | | | This avoids deprecation warnings when using e.g. WebRTC (see also https://goo.gl/rStTGz ). Task-number: QTBUG-48272 Change-Id: Ib3d076ccc9eff0344d60f82b7671b047c0b3d423 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Rebasing on Chromium 45Allan Sandfeld Jensen2015-08-251-1/+1
| | | | | | | Fixing the minor differences needed to work with Chromium 45. Change-Id: I5036b4b9a069d45e8dd37e24fab84cdfe5e67acc Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>