summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Binary compatibility files and global.cfg for QtWebEngine5.8Milla Pohjanheimo2017-04-054-0/+44744
| | | | | | | Add means to test binary compatibility for QtWebEngine too. Change-Id: I1bc39da3da1595b8ac39be6936ed47080a52c78b Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
* Also support reduce_binary_size on WindowsAllan Sandfeld Jensen2017-04-041-1/+1
| | | | | | | GYP uses a different flag to control optimization flags on windows. Change-Id: I3db8c738ccc40008be6971c9e38de26932cad030 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Delegate QWebEngineHistory::currentItem() to itemAt()Viktor Engelmann2017-03-211-3/+1
| | | | | | | | | | | | Calling QWebEngineHistory::currentItem() before the first item is inserted, caused a segfault, due to accessing an illegal QList index. We now delegate the lookup to QWebEngineHistory::itemAt(), which checks the index first and returns a dummy element in case of an illegal index. Task-number: QTBUG-59599 Change-Id: I9cdd2533e33415a7b812c29fff5429eb005020dc Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Remove stale parent connection when initializing delegate as a childMichael Brüning2017-03-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | When clicking on a blank link target, the constructor of the RenderWidgetHostViewQtDelegateWidget instance for the newly created view is called with the originating QWebEngineView as its parent and will connect its removeParentBeforeParentDelete slot to the originating view's destroyed signal. This leads to the situation where the delegate's parent will be set to null when the originating view is closed, causing the view to display only an empty widget with the actual web contents remaining live in the background. This patch removes the connection to the old view when initializing the delegate as a child of the QWebEnginePagePrivate instance. The addition to the layout updates the parent and child relationship between the view and the delegate internally. Task-number: QTBUG-58381 Change-Id: I448380478c2bcfcfbddaee8a35caf46010e57972 Reviewed-by: Florian Bruhin <qt-project.org@the-compiler.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Improve cross-links between QtWebEngine classes in docsFlorian Bruhin2017-03-083-7/+10
| | | | | | Change-Id: Iae853d4d3ab73306f90d93b62a419d1d440a3259 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Clarify JavascriptCanAccessClipboard documentationFlorian Bruhin2017-03-072-2/+4
| | | | | | | | | Chromium always allows copying to clipboard (even when this is disabled) if it's resulting from an user interaction. Change-Id: I0363b892fef6ce015a2f8ae9b89423e1655b516c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Handle Qt::AA_UseSoftwareOpenGLAllan Sandfeld Jensen2017-03-031-0/+2
| | | | | | | | Switch to software mode if it was requested with application attributes. Task-number: QTBUG-59273 Change-Id: Ia48b4587a3cbe3590ee9231375e07d45381bc7b2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Pass <input type="file"> result to correct RenderFrameHostViktor Engelmann2017-02-283-14/+13
| | | | | | | | | | | | | | | | | | | In WebContentsDelegateQt::RunFileChooser, we get a content::RenderFrameHost*, to which chromium wants us to pass the files that were selected. We now store that pointer in the FilePickerController, so that we can pass the files there in FilePickerController::filesSelectedInChooser. The attribute content::WebContents *m_contents is no longer needed then, because that was only used to obtain the main frame to which the files were sent (this caused problems when the file input was inside an iframe - we sent the result to the wrong frame in that case, so the file input object remained blocked). Task-number: QTBUG-59168 Change-Id: Ic2fdacb225e5a1a9e46ced6a1e4a9ff428f18a62 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>
* Update HTTP Cache when generating new cookie storeViktor Engelmann2017-02-271-0/+7
| | | | | | | | | | Keeping the same Channel ID Service after changing the cookie store leads to segmentation fault on https connections, because chromium tries to reuse resources that have become invalid. Task-number: QTBUG-58650 Change-Id: I90a32ba8e05567b5ba990d2351c6e22324c89835 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add support for macOS Airplay to Demobrowser in presence of dual GPUsAlexandru Croitor2017-02-232-0/+9
| | | | | | | | | | | | | | | | | | | Previously when Airplay was activated and a new QWebEngineView instance was created, a black area would be rendered inside the view. This happened because of incompatible OpenGL contexts. The global Qt OpenGL context could not share its textures with the newly created "after-airplay" context, due to the contexts being used by different GPUs (only possible on a MacBook Pro). The fix is to add the NSSupportsAutomaticGraphicsSwitching option into the application plist file, which informs macOS that the application supports usage of dual GPUs, and thus allows sharing of contexts across GPUs. Task-number: QTBUG-54053 Change-Id: Ic37fb75f164922bcca6456054174171fa9ba2bfb Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Ignore synthetic hover move events if the mouse has not actually movedMichael Brüning2017-02-221-1/+2
| | | | | | | | | | | | | | | 6f84a09dfb and b2501b0bda in qtdeclarative introduced a synthetic hover move event being sent once per frame if the item underneath the mouse is marked as dirty. This triggers a loop when the web contents changes reacting to mouse move events as the item needs to be marked dirty to be rerendered. Ignore hover move events if the position of the mouse has actually not changed to work around this. Task-number: QTBUG-58561 Change-Id: Ic7f3c06e7acf5dfeacc95e347bd026233c957556 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix crash on context menuAllan Sandfeld Jensen2017-02-224-3/+3
| | | | | | | | | | Instead of calling deleteLater, just tell close to delete the menu itself. Task-number: QTBUG-59080 Change-Id: I3eae382781f813ed3c6f27b78088b94ed1c486dd Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Update chromiumMichal Klocek2017-02-221-0/+0
| | | | | | | | | | | | | Update chromium to include following fixes: 93db3776 Don't schedule wholeSubtreeInvalid sets 42e3484e Allow Service Workers without HTTP headers 589f21d2 Allow using quota management API for non-standard URLsi 015d648e Fix Linux kernel lacking V4L2_CID_POWER_LINE_FREQUENCY_AUTO 675c165d Fix not working pkg-config on some older distros Change-Id: Idd503d1ceec50483e69d757ce2daf09f9c9c5c54 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Use Qt::ToolTip as window type for dropdown popusFlorian Bruhin2017-02-221-0/+4
| | | | | | | | | | | | | | | In 58467ed1950ee070d0907cbdabb8466aba277305, the window type for dropdown popups was changed from Qt::ToolTip to Qt:Tool to fix issues when using a QWebEngineView inside a modal dialog on macOS. However, this causes a separate window to pop up at least under Linux, so we use Qt::ToolTip again there. Task-number: QTBUG-58488 Task-number: QTBUG-58544 Change-Id: I951b91980be89a37ee07b19fca684d13b6098af0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Abort findText when destroying QWebEnginePageViktor Engelmann2017-02-222-0/+4
| | | | | | | | | | | | | In the destructor of QWebEnginePage and QQuickWebEngineView, we now call adapter->stopFinding() to suppress callbacks that would cause segmentation faults if a findText request is still active at that point. Task-number: QTBUG-58563 Change-Id: I9d5d8407ee6c28cd76bf6ecf0b62808394e151cd Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix building spellchecker example when Qt is not yet installedAlexandru Croitor2017-02-212-3/+35
| | | | | | | | | | | | | | | | During the build of the spellchecker example, the dictionary conversion tool is executed to convert some dictionaries. The tool will fail to find the ICU data file because the file is not present at the Qt install location at examples build time. The fix is to allow passing the ICU data directory via an environment variable. Specifically the QtWebEngine build directory which contains the ICU data file will be passed when the spellchecker example is built. Task-number: QTBUG-58451 Change-Id: I6188f0b7aabe8b2e55cd2e0d59553282058c5035 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix Q_ASSERT when dragging an item over WebEngineViewJoerg Bornemann2017-02-213-62/+26
| | | | | | | | | | | | | | | | | | | | | | | | When dragging something over a WebEngineView we're waiting for the result of the asynchronous DragTargetDragOver using a RunLoop. The result will be delivered by a call to updateDragAction. The RunLoop will call MessagePumpForUIQt::Run which spins a QEventLoop. The QEventLoop will dispatch more posted QDragMoveEvent objects while we're handling the current QDragMoveEvent. This triggers a recursion guard's Q_ASSERT when dragging from a QtQuick item onto a WebEngineView. When waiting for the DragTargetDragOver result we're not interested in Qt events. Instead of using a RunLoop, implement a poor man's chromium event loop and actively wait for updateDragAction being called. In practice, no more than two iterations of the loop are run until updateDragAction is called. Therefore the extra CPU and sleep times are negligible. Task-number: QTBUG-58920 Change-Id: Icfdf9c680c4c9987ac3dbb41fbc3e1403af0fa9f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix empty dialogs on window.onbeforeunloadSzabolcs David2017-02-213-3/+6
| | | | | | | | | Custom texts are not supported anymore in unload dialogs. Fill them with a better message. Task-number: QTBUG-58673 Change-Id: I820155452461db90bf1df2ae8a8ec10ee752aab1 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix QWebEngineView::setFocus to properly set internal QQuickItem focusAlexandru Croitor2017-02-202-0/+52
| | | | | | | | | | | | | | | | | | | | | The widgets object hierarchy related to focus goes like this: QWebEngineView's focus proxy is -> RenderWidgetHostViewQtDelegateWidget, which has an internal QQuickRootItem defined by QQuickWidget, and the child of the item is -> RenderWidgetHostViewQuickItem. Previously when QWebEngineView::setFocus was called, the focus was set on the RenderWidgetHostViewQtDelegateWidget and the QQuickRootItem, but not on the RenderWidgetHostViewQuickItem. This caused for e.g. an active HTML text input not receiving focus. Make sure the RenderWidgetHostViewQuickItem is marked to have focus within its root item, so that if the root item receives active focus, so will RenderWidgetHostViewQuickItem receive it. Task-number: QTBUG-58515 Change-Id: I175610e3dfebc03733aefe26c16f47096df8ff5b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* tests: blacklist tst_qwebengineview::changeLocale() on Windows and LinuxLiang Qi2017-02-171-0/+3
| | | | | | Task-number: QTBUG-58022 Change-Id: I433c3b02a82494d6066338dab7a5991fab05040c Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* test: blacklist tst_QQuickWebEngineView::changeLocale() on WindowsLiang Qi2017-02-161-0/+3
| | | | | | Task-number: QTBUG-58960 Change-Id: I14da592796dea0fbdda66a91ff58d4bc7941d84f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix MSVC version detectionJoerg Bornemann2017-02-141-1/+13
| | | | | | | | | Do not check for exactly MSVC version 14.0 but compare if the actual version is less than the requested version. Task-number: QTBUG-58826 Change-Id: I249ed3c697ccb911784a83463b1c23185c9b3856 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Initialize RenderWidgetHostViewQt::m_currentInputTypeJoerg Bornemann2017-02-131-0/+1
| | | | | | | | inputMethodQuery can be called before TextInputStateChanged has initialized m_currentInputType. Change-Id: Icba5a622df0332b740477cd2d966f0dea5d86138 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Doc: Fix stray 'is' in featurePermissionRequest documentationKai Koehne2017-02-101-2/+2
| | | | | Change-Id: Ia5629808a274b2a551bdf70517b24e9be8deb748 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* remove redundant load(qt_build_config)Oswald Buddenhagen2017-02-101-1/+0
| | | | | | | .qmake.conf already does it Change-Id: Iee7fd73d84e903aa10233e33151d22f164a1509c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add missing test files to qmltests.proPeter Varga2017-02-101-1/+3
| | | | | Change-Id: I1b4f10facdacde432a7b135419ae3c81acf6ce74 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Doc: Fix \sa links in the docsLeena Miettinen2017-02-096-11/+11
| | | | | | | | - Leave out the class name for the members of the class - Add brackets in the end of method names Change-Id: I5429be5620c5c192aa872d94ab047eebe39a13da Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Blacklist flaky linkHovered testMichal Klocek2017-02-071-0/+7
| | | | | | Task-number: QTBUG-55870 Change-Id: I3367889041614a5e7489909dd37c7af638edf16b Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Do not create directories for overridden pathsJoerg Bornemann2017-02-071-4/+18
| | | | | | | | | When overriding Chromium's default paths do not create non-existent directories anymore. Just print a diagnostic message. Task-number: QTBUG-54258 Change-Id: Ie642a630ad5b4aebc4e80e3eace7db7489a82907 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Provisional Fix for Navigation-Breakage on right-click in Flash appletViktor Engelmann2017-02-021-1/+9
| | | | | | | | | | | | | | | When one right-clicks into a flash applet, chromium believes that a context menu was open (even though PepperRendererHostFactoryQt::CreateResourceHost returns NULL, which only causes an ASSERT on chromiums side). Because of this, the navigation is disabled, although no context menu is displayed. This fix just sends a message to chromium, telling it that "the context menu" is now "closed", which causes another ASSERT, but re-enables the navigation. Task-number: QTBUG-57924 Change-Id: Id6d8150a7d4944162bab81362153f8621d35bb4c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Avoid crash in desktop linux with --disable-gpuAllan Sandfeld Jensen2017-02-011-1/+1
| | | | | | | Don't try to access null OpenGL contexts. Change-Id: I7d0e607e8d29d3cfba8d6e98cd142b951c960281 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Forward mouse buttons and keyboard modifiers while draggingJoerg Bornemann2017-01-261-1/+27
| | | | | | | | Until now we always pretended that the left mouse button was used and no modifier key was pressed. Change-Id: I0f4b84ed87e7c94289c14c13a6cd12c3beda671a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix drag position updates for QQuickWebEngineViewJoerg Bornemann2017-01-261-2/+7
| | | | | | | | | Like in the widgets API we must check the result of updateDragPosition and ignore or accept the QDragMoveEvent. Task-number: QTBUG-58037 Change-Id: I26b9e10460eb2840c45698d9444c15ed78c6a1b3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix canceling drag and drop actionsJoerg Bornemann2017-01-262-15/+26
| | | | | | | | | | RenderViewHost::DragSourceEndedAt must be called after dropping and after canceling a drag. Otherwise scripts running on the web page do not get properly notified. Task-number: QTBUG-58037 Change-Id: Ia245131c59f03f3331158bea6cc2f53bce50f989 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix confirming IME composition and newline insertionPeter Varga2017-01-255-104/+148
| | | | | | Task-number: QTBUG-55766 Change-Id: I3be3b224dfef9ecc1ce39f4f20ec5c1d13c0fa69 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Enforce check for minimal Windows SDK versionKai Koehne2017-01-251-0/+5
| | | | | | | | | | Skip build if WindowsSDKVersion environment variable is not set at all (e.g. if vcvarsall has not been called), or if it is is set to "\" - this can happen if vcvarsall.bat did not find a Windows SDK. Task-number: QTBUG-58363 Change-Id: Ieb73986a26d0b8fa28a8caa7702b830f4fb4b216 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2017-01-250-0/+0
|\ | | | | | | Change-Id: I01caf95f3df569556e8ed84f3164b0e4e4d9c128
| * Merge remote-tracking branch 'origin/5.7.1' into 5.75.7Liang Qi2017-01-161-2/+3
| |\ | | | | | | | | | Change-Id: Iec696e265a70a2aed6e58908e8048a126fa77515
* | | Fix handling of empty input method eventsPeter Varga2017-01-223-15/+33
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-55766 Change-Id: I4e6ade8f000f66ff1bb28f3b856ae140834292f1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Fixing webengine spell checker exampleIonut Alexandrescu2017-01-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The languages submenu was not working corectly, languages could not be checked Change-Id: I7221d3527dbd6e071eb8d1585fb6d90812c61f94 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | | Make input method hints available via RWHV delegate widgetPeter Varga2017-01-208-29/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | Moreover, set ImHiddenText hint for password fields and add back the corresponding widget auto test. Task-number: QTBUG-55766 Change-Id: I3f76e19c8c33e11f3d9f515b6dc7d6e998c3c9a4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Add back SIP (Software Input Panel) widget testPeter Varga2017-01-185-79/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | Moreover, update the Chromium SHA1 for enabling virtual keyboard support for macOS. Task-number: QTBUG-55766 Change-Id: Ic50ae79ab13a62a4b9289afedce2d6647e266f86 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Doc: Clarify limitations of QNetworkProxyKai Koehne2017-01-181-5/+10
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-58121 Change-Id: I3f7d960d5fabefe219a89cc5fa4752ead965ab0a Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | | Disable Q_ASSERTs for a release buildKai Koehne2017-01-181-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt WebEngine uses the core_gyp_generator.pro and the gyp_generator.prf files to extract defines set by Qt. Anyhow, only one core_generated.gyp file is written for debug and release builds, which hence misses the QT_NO_DEBUG define specific to debug builds. Work around this by explicitly adding back the define. Task-number: QTBUG-58103 Change-Id: I8684aa08417efc93878d70817211e9f66623c78c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Fix conversion from blink::WebDragOperation to Qt::DropActionJoerg Bornemann2017-01-184-19/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | blink::WebDragOperation is a bit field, even if it is not used in its blink::WebDragOperationsMask incarnation. In particular, WebDragOperationGeneric can be set in addition to other operations. This fixes situations where UpdateDragCursor is called with multiple bits set in its WebDragOperationArgument and the drag action will be spuriously ignored. Also directly pass the WebDragOperation we get from UpdateDragCursor to chromium's API without converting to QDropAction and then converting it back. Task-number: QTBUG-58037 Change-Id: I5c85699de534771f84db69abf7b98e779872a0f7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | QWebEngineDownloadItem::path() should not be percentage encodedAllan Sandfeld Jensen2017-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the name of the download item is derived from the URL, we currently end up reporting a partially percentage encoded name. This is problematic if our users try to undo the the percentage encoding and opens them out to download-folder escaping files that can install hooks in the user's home directory. [ChangeLog][DownloadItem] (QWebEngine)DownloadItem::path() was previously incorrectly returning percentage encoded file-names when the suggested path was based on URL. This has been corrected. Note percentage decoding the path generally before is not just incorrect when the path is not based on URL, but also dangerous as it can lead to downloads that escape the download folder. Task-number: QTBUG-58155 Change-Id: Ie23a4ff5d4e4c353df72e617bb2b00e1935cd6c1 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.8.0' into 5.8" into ↵Liang Qi2017-01-167-35/+117
|\ \ \ | | | | | | | | | | | | refs/staging/5.8
| * \ \ Merge remote-tracking branch 'origin/5.8.0' into 5.8Allan Sandfeld Jensen2017-01-167-35/+117
| |\ \ \ | | | | | | | | | | | | | | | Change-Id: I6b16bee2d0034865270fb26a5ad93da05b9129fa
| | * | | Update Chromiumv5.8.0Kai Koehne2017-01-031-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 15d257f Fix aggregated WebKit license Task-number: QTBUG-57872 Change-Id: I43e8712feb02ea6f3ae77cca4a1cb19d703119c3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * | | Update ChromiumMichael Brüning2017-01-022-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Include compilation fix introduced on the 5.8 branch. Change-Id: Ia665ddb80374bfc532ad8e90be6b59aab48b5485 Task-number: QTBUG-57774 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>