summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Tie worker rights to cookie policy like Chromium doesv5.11.0-beta3Allan Sandfeld Jensen2018-04-033-0/+68
| | | | | | | | | | | Instead of always allowing all workers, disallow when similar cookies would have been disallowed. This is following the same logic as Chromium is using. Change-Id: I6b9d6c63b894287f64171b138fe03ec080af5115 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Stabilize tst_qwebenginedownloadsJüri Valdmann2018-04-038-558/+619
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The waitForRequest/waitForSignal function used by these tests is broken: it assumes that calling QEventLoop::exit() will immediately exit from the event loop. In actuality this is not immediate and the event loop may continue to execute more signals handlers even after exit() has been called. This means that in e.g. waitForRequest the 'result' variable may be assigned to twice. Additionally there is a race condition in downloadTwoLinks, where we sometimes skip the first download. This is not a bug but simply one pending navigation being aborted in favor of another. Changes - Delete waitForRequest. Define one HTTP request handler per test, using state variables to communicate with the main body of the test. Ignore unknown requests (including favicon requests). Same for downloadRequested signals. - Expand downloadTwoLinks and fix expectations. - Add logging to HTTPServer. - Unblacklist. Task-number: QTBUG-66888 Change-Id: I718cac6c4b32a8cc68400fa8ee5b853686c77fcb Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Add tst_qwebenginescript loadEventsJüri Valdmann2018-04-033-39/+115
| | | | | | | | | | | | | | Replace injectionPoint test with a timeout-less version that uses - both a single-frame and a multi-frame page - both main and isolated worlds - cross-process navigation - window.open - profile-wide scripts Task-number: QTBUG-66338 Change-Id: Ica4acb8ada4acc38aa5e1ca00e7512a2e69b785f Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Don't recreate the position info source if we already have oneAndy Shaw2018-03-281-1/+2
| | | | | | Task-number: QTBUG-67279 Change-Id: Iff2466cfe3b8bbdb77066f3318014fcb51e2e402 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Doc: Drop the use of QT_PLUGIN_PATH in documentation configTopi Reinio2018-03-273-47/+4
| | | | | | | | | | | | | This caused build issues in certain configurations. We don't actually need it, as we can rely on the base Qt include path instead. Also move the custom module header under src/webengine/doc and rename it. Task-number: QTBUG-67342 Change-Id: Id5e809202ddaa285bfcc341a36b0b3d5a7ade436 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Martin Smith <martin.smith@qt.io>
* Un-blacklist tst_QWebEngineView::mouseLeave auto testPeter Varga2018-03-262-4/+1
| | | | | | | | | Moving mouse cursor to (0, 0) by QTest::mouseMove() doesn't seem to work and the cursor doesn't leave the QWebEngineView. Change initial coordinates as a workaround. Change-Id: Iaad895c770a6edc5ed6e375f68b2b56196d84073 Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
* Doc: Replace type by class in QWERPHPRequestKai Koehne2018-03-231-1/+1
| | | | | | | | | qdoc has magic to remove the 'This XXX class' in the class overview, but not type. See e.g. http://doc-snapshots.qt.io/qt5-5.11/qtwebengine-modules.html Change-Id: Idd38a860ae08c7199c322d16c3ccc737972131a0 Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io>
* Doc: Mark PlaybackRequiresUserGesture as new in Qt 5.11Kai Koehne2018-03-231-0/+1
| | | | | Change-Id: I633c616fa5b454ecce97037ed068997c26bd72bf Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Fix multiple shortcut events being delivered on macOSMichael Brüning2018-03-231-2/+5
| | | | | | | | | | | | | | Commit ef1d61a3516182b0a39330b5ac5988f92c82bc4f introduced a regression where multiple shortcut events where delivered on macOS. Instead of using tryShortcut (which triggers shortcut events) to check if the shortcut needs to be overridden, check if the shortcut map has an entry for the key seqeunce in question. Task-number: QTBUG-66207 Change-Id: I8d277e2ac39de8a1f2d2c43dc8486e042c4ea458 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Move ozone to new subdirectoryMichal Klocek2018-03-2310-138/+341
| | | | | | | | | | | Move ozone related files to core/ozone. Split classes so they can be reused for new ozone platform backends. Change-Id: I98a2aac6807ef2b3eee92eea9ecfd8fce6dd9d16 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Make WebChannelIPCTransport into a RenderFrameObserverJüri Valdmann2018-03-227-211/+312
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Update ChromiumAllan Sandfeld Jensen2018-03-221-0/+0
| | | | | | | | | Changes: 1d4b4cd52d4b For local origins CanDisplay should be treated as CanRequest 293e8de891f0 Fix assert in ExecuteScriptInIsolatedWorld Change-Id: I15dd6e2233fcc555a526a05bfd0417f1668f5257 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fixup after adaptionsAllan Sandfeld Jensen2018-03-221-1/+1
| | | | | | | | | The last argument was removed, we are now calling a different deprecated version of the ExecuteScriptInIsolatedWorld. Change-Id: Ie3d351bfdef7ae490cc94362facc12ae96144a34 Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Move the last gn_arg over to the restAllan Sandfeld Jensen2018-03-222-4/+2
| | | | | | | is_debug was the only configuration argument still set in gn_run.pro Change-Id: I7b66888e6b936b44bafdad02f7974941d4e875ce Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Doc: Fix argument name in QWebEngineCookieStore::setCookieFilter()Leena Miettinen2018-03-221-1/+1
| | | | | | | | The argument "filter" was renamed to "filterCallback", but the docs were not updated accordingly. Change-Id: I8a45a0ea8074a854ac72df652921b3c895752f97 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Do not reuse render passes when we have dynamic 3D layersAllan Sandfeld Jensen2018-03-221-3/+9
| | | | | | | | | They can be clipped and culled based on visibility which is a property we do want to support changing. Task-number: QTBUG-67232 Change-Id: I6b670fd84d1e5c18283ea8f4ee1d8e81b94dcd57 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Improve QWebEngineCookieStore documentationKai Koehne2018-03-221-3/+3
| | | | | Change-Id: If11154d716b2ea98cc6b0b07c4fe2501fe27dcdb Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Document verbose logging flagAllan Sandfeld Jensen2018-03-221-0/+4
| | | | | | Change-Id: I162032de8a13d920ad28a8dd2eeaec6c7594586f Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Remove MediaNone, CanDoNone flags from QWebEngineContextMenuDataValentin Fokin2018-03-225-24/+2
| | | | | | Task-number: QTBUG-66994 Change-Id: I8e5ce23e2326fff078e11cadc70274641eeef132 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Remove some unused header includes from corePeter Varga2018-03-217-19/+1
| | | | | Change-Id: Ie5bcf9cfb249f364dbe01a8bee98aada2acdd38f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Pass silent on to ninjaAllan Sandfeld Jensen2018-03-201-1/+4
| | | | | | | | If NINJAFLAGS is not explicitly set, set its verbosity based on Qt's configuration. Change-Id: I49ef48f6bfa5461dcccba05709c74df6834e2e3a Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Doc: Describe use of QWebEngineQuotaPermissionRequest classLeena Miettinen2018-03-201-1/+4
| | | | | | | | | | It is only used by the QWebEnginePage::quotaPermissionRequested signal. Task-number: QTBUG-66779 Change-Id: I265cc1787a5470080706fee548c41624c741e540 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Add registration of QQuickWebEngineDownloadItem / 1.7Kai Koehne2018-03-201-0/+2
| | | | | | | | | | Explicitly register the new property added in 7219986a18d45d. Because of QTBUG-50990 this is strictly speaking not necessary at runtime, but makes sure that qmlplugindump also generates metadata about the new property. Change-Id: Idcc286aa7b25eb50d0f37cda8ee718d65a51e7f7 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Update ChromiumKai Koehne2018-03-201-0/+0
| | | | | | | | | | Changes: 099cdde271 Win: Fix crashes when initializing GPU thread 30f5955043 Also remove debug-symbols from the platform subdir of blink Change-Id: I1d17609f54d47ca071350df73059348d34da285f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Cleanup file locationsAllan Sandfeld Jensen2018-03-2043-48/+48
| | | | | | | | Move printing and network specific classes to subdirectories so we have fewer files in the main dir. Change-Id: I675b1b8b8fd1588061104cec181087f305b44f98 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Update Chromium version in documentationKai Koehne2018-03-201-1/+1
| | | | | | Task-number: QTBUG-64873 Change-Id: Ie7f9eaef2535cd7540473c7aee75fb183b80a796 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix overridable in certificate errorsAllan Sandfeld Jensen2018-03-201-1/+35
| | | | | | | | | | In Chromium 63 the decision of which errors were overridable was moved to the UI. Here we duplicate what Chrome has as their soft list of overridable errors which should match previous behavior. Task-number: QTBUG-66844 Change-Id: Icddff745d2323608487ecbfba4040b98c10f6e66 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Doc: Add documentation for parameters to fix QDoc errorsLeena Miettinen2018-03-182-4/+8
| | | | | | | | | | | In QWebEngineRegisterProtocolHandlerPermissionRequest::operator==(), QWebEngineRegisterProtocolHandlerPermissionRequest::operator!=(), QWebEngineQuotaPermissionRequest::operator==(), and QWebEngineQuotaPermissionRequest::operator!=(). Change-Id: I0eaf1136b67396b678cc743dffd1e35f585f0c0c Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Unskip loadInSignalHandlers testMichal Klocek2018-03-181-13/+7
| | | | | | | | Remove testing of provisionalLoad, use QTRY_COMPARE(spy.count()) instead of spy.wait() to determine number of actual calls. Change-Id: I37cbca8f27d4e12d42c7b30b8362249c1f76c79e Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Implement IsMostRecentDownloadItemAtFilePath callMichal Klocek2018-03-182-0/+22
| | | | | | | | | Implement IsMostRecentDownloadItemAtFilePath for download_manager_delegate_qt. This is required for CVE-2018-6033. Change-Id: I979b77042facf7d3acaef5eda7a6e842f715a1ef Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix unbundling of libpng in pdfiumAllan Sandfeld Jensen2018-03-181-2/+6
| | | | | | | It is a separate GN setting Change-Id: I0fdd9c631a0f9dac3cf63cad4c1eb0c4b97786cb Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Enable jumbo builds againAllan Sandfeld Jensen2018-03-171-5/+4
| | | | | | | | With the memory increased this should be possible again to get the build speed back. Change-Id: I321b739744833fdcc92a25c83e3ed5be0318407d Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Avoid crash when there is no QScreen attached to the QWindowAndy Shaw2018-03-171-1/+2
| | | | | | | | | Since QWindow::screen() can return 0 we need to account for this instead of assuming that it will always be valid. Task-number: QTBUG-65857 Change-Id: Ifb3a9fdecc76c5c930282101bf383802bf2f2464 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix HTTP authenticationAllan Sandfeld Jensen2018-03-172-12/+11
| | | | | | | | | Render Frame ID is no longer reliable, so use web-contents getter to get web-contents. Task-number: QTBUG-66845 Change-Id: Ic42a3fcaea381118bfd498b7c4f7d7e30b0f5f51 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Switch cookie-filter API to std::functionAllan Sandfeld Jensen2018-03-165-28/+31
| | | | | | | | | Allows us to use return value instead of magic properties Task-number: QTBUG-66825 Change-Id: I55202a7aca2e662bc214b05caf767d2da496f026 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Blacklist downloadTwoLinks generallyAllan Sandfeld Jensen2018-03-151-1/+1
| | | | | | | It is more flaky with 65-based, so blacklist it until fixed. Change-Id: I580dd858068b1ad54203618bd241294d17010a19 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Adaptations to form validationAllan Sandfeld Jensen2018-03-1525-876/+13
| | | | | | | | Form validations messages has moved entirely to being done by Blink. Change-Id: I6742c111fc59f0baba75b8b37f5d0ec9ae2fb920 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Basic adaptations for 65-basedAllan Sandfeld Jensen2018-03-1541-181/+318
| | | | | Change-Id: I121b14d6a44e80f5eea4b159c58f7010d472926e Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* YUV colorspace adaptationsAllan Sandfeld Jensen2018-03-153-154/+90
| | | | | | | | Switch to using Chromium's Colorspace class and its generated shader code instead of our own enums. Change-Id: I89ee96adf68e2421efa2350cb0b78ce0fea7221f Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Basic adaptations for 64-basedAllan Sandfeld Jensen2018-03-1549-389/+276
| | | | | Change-Id: I11e2da206e4e59872a38c178f57a5879c1bbf229 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Remove credentials from view-source URLsPeter Varga2018-03-143-8/+81
| | | | | | Task-number: QTBUG-65997 Change-Id: Icb55326c51f1dfff77e8e862e9ced619be17ead1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Stabilize WebEngineViewLoadUrl::test_stopStatusPeter Varga2018-03-141-6/+14
| | | | | | | | | | After stopping the load the active URL should be the url of the previous successful load. Test active URL properly to make the test independent from the previously executed test. Change-Id: I53800fe28a722a5f3554b1ff2d4fc31cb8638dfd Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix freezes of glx context, update ChromiumMichal Klocek2018-03-132-4/+2
| | | | | | | | Bring back switch for QSurfaceFormat::CompatibilityProfile. This commit pulls in corresponding change in Chromium. Change-Id: I1f1b139acdda8a2e7ce7e71f2675e797dcfdb9e3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix active URLRequest tracking in NetworkDelegateQtJüri Valdmann2018-03-132-88/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NetworkDelegateQt maintains a set of pointers QSet<net::URLRequest *> m_activeRequests Pointers are inserted in OnBeforeURLRequest, checked in CompleteURLRequestOnIOThread, and removed in OnURLRequestDestroyed. This design breaks however if malloc decides to reuse the address of a recently-freed URLRequest for a new one. For example: 1. A new URLRequest is created and passed to OnBeforeURLRequest. Inside this method a pointer is added to m_activeRequests and a task is posted to the UI thread. 2. The URLRequest is destroyed and OnURLRequestDestroyed is called. The pointer is removed from the set. 3. A new URLRequest is created at the same address and again passed to OnBeforeURLRequest. The pointer is added back to the set. 4. The task from step 1 finally returns from the UI thread to the IO thread by executing CompleteURLRequestOnIOThread. This method is supposed to invoke a callback, but only if the original URLRequest hasn't been destroyed yet. So it checks if the URLRequest is still in the m_activeRequests set, sees that it is, and invokes the callback. Of course this does not work since in actuality we are dealing with a completely different URLRequest object that just happens to live at the same address. Fix by changing the tracking to work per-task and not per-URLRequest. The new URLRequestNotification class encapsulates the logic for delivering the notification and completing the request while dealing with potential mid-sequence URLRequest destruction. Change-Id: I0f61df0dccb9cb2b60893cd4d8f1b4bba844a4cd Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Doc: Remove broken link from web engine download item docsLeena Miettinen2018-03-132-2/+2
| | | | | | | | The doucmented enumerations are obsolete, so the link is not really useful anymore. Change-Id: I9902ed18caa2e8a7a9bbb7935cbd9bb9ae6a88c8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Doc: Fix function signatures in docsLeena Miettinen2018-03-131-4/+4
| | | | | | | | | | | | The "request" parameter has been renamed for QWebEnginePage::fullScreenRequested() and QWebEnginePage::quotaPermissionRequested(), which causes QDoc warnings and broken docs. Change-Id: I58ada7c882e381a6ab008f5523ca7bcdfc3e8212 Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Clarify Windows build requirementsJoerg Bornemann2018-03-124-6/+4
| | | | | | | | [ChangeLog][QtWebEngine] QtWebEngine requires Visual Studio 2017. Task-number: QTBUG-66596 Change-Id: Ib9961afef17bc095bdf983cb06981e16963157c1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Doc: Describe functions for inspecting web content in Features topicLeena Miettinen2018-03-121-0/+9
| | | | | | | | | | Add a short description and links to the new QWebEnginePage functions and WebEngineView QML properties. Task-number: QTBUG-66780 Change-Id: I205d1d922caac1c82a11054055ec44924942249d Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Expand docs for WebEngineDownloadItemJüri Valdmann2018-03-122-14/+143
| | | | | Change-Id: I82619627b7dd1fbb86d8f0363de2f6e9666b44d4 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Fix loadStarted signal after an in-page navigationv5.11.0-beta2Peter Varga2018-03-082-1/+27
| | | | | | | | | | | In-page navigations does not trigger loadFinished thus m_lastLoadProgress is not reset to -1. Do not ignore loadStarted signal if m_lastLoadProgress is set to 100 because it can mean a new navigation after an in-page one. Task-number: QTBUG-66869 Change-Id: I2b556fe7e3e097c338bdd7ca47e7384722e7eca9 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>