summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Fix types of \qmlpropertyKai Koehne2016-09-193-9/+9
| | | | | Change-Id: Ie355f72a0bf575e66ab465fb2fcada0430ed8c7c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Resolved nullptr dereference bugViktor Engelmann2016-09-121-1/+2
| | | | | | | | | | | | | | | | In line 282f of chromium/content/browser/frame_host/render_frame_host_manager.cc, RenderFrameHostManager::Navigate passes nullptr to WebContentsImpl::NotifyViewSwapped. In line 3833f of chromium/content/browser/web_contents/web_contents_impl.cc, this is passed on to the observers, including UserResourceControllerHost::WebContentsObserverHelper::RenderViewHostChanged which dereferenced it unchecked, causing a crash. Task-number: QTBUG-55254 Change-Id: Ibdb6645f63957d28a89c50b51faeb3aea086a8b3 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Clicking on a select box option, did not workAdam Kallai2016-08-301-3/+3
| | | | | | | | | | | | | | There was introcuded a new logic which proves that no mouse / keyboard events are forwarded to Chromium if the view has no focus, and activeFocusOnPress is set to false. The selection box get focus when the user click on it, but the popup window never get (focus is on QuickRootItem) in this case these mouse events are ignored to forward to Chromium. Task-number: QTBUG-54795 Change-Id: Id6e81ee39dcde21a6c5c46e302888b9e9478352f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Update ChromiumAllan Sandfeld Jensen2016-08-261-0/+0
| | | | | | | Pulls in fixes for webcursors and building against FFMPEG3 Change-Id: Ic852604eea1a15cbf96decd536278f01a7f9dcf3 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Fix textures memory leak on second X11 screenMichal Klocek2016-08-242-20/+67
| | | | | | | | | | | | Fix for QTBUG-48969 was only half-baked patch and introduced massive memory leak on fbo and texture alloctaions. Delete fbo and extra allocated textures. Task-number: QTBUG-52575 Task-number: QTBUG-48969 Change-Id: I2148f37cd27dab9e40ab72caeb6857752b69379f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix crash when trying to navigate in new window but is blockedAllan Sandfeld Jensen2016-08-232-3/+9
| | | | | | | | Ensure that if QWebEnginePage::createWindow returns 'this' that we fall back to navigating in current tab. Change-Id: Idffe25dcafaaf3c824815b3cf1f0e400eaec2923 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Update ChromiumAllan Sandfeld Jensen2016-08-101-0/+0
| | | | | | | Pulls in security updates from Chromium 52 Change-Id: I4fb5183a321b45fdf5515f0a88100b48697ee3aa Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Doc: Add type name to enumeration values to follow the doc conventionLeena Miettinen2016-08-096-89/+107
| | | | | Change-Id: I86eea3a64a38f6ec9984f663499abffa03cd9eb2 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Add Qt WebEngine to list of "All QML Modules"Kai Koehne2016-08-051-0/+1
| | | | | | | This list is shown in qtdoc/qmlmodules.html Change-Id: Ib51f0405e7581571f8a124ea6806e7bc4982dba3 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Fix issue where Chromium thought it had active focusAlexandru Croitor2016-08-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Previously, when a WebEngineView's RenderWidgetHostViewQtDelegateQuick had focus, but not activeFocus, Chromium was told that it had keyboard focus. That is not correct, because having focus inside the FocusScope (the WebEngineView), does not mean it has keyboard focus, it just means the RWHVQDQ will receive active focus, when the WebEngineView does. The call path for that erronous check was done when a new page was loaded, specifically going through NavigatorImpl::DidNavigate() -> RenderFrameHostManager::CommitPending() -> render_frame_host_->GetView()->HasFocus() -> RenderWidgetHostViewQtDelegateQuick::hasKeyboardFocus(), which resulted in incorrect display of a blinking caret in an input, when the view actually wasn't focused. The fix consists in checking for the activeFocus rather than the focus property. Change-Id: I97002be3fc8adfec2228a1b5ad62696f8872d3cc Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Doc: Explain how to support High DPI devices in applicationsLeena Miettinen2016-08-041-0/+25
| | | | | | Task-number: QTBUG-54114 Change-Id: I63ae6c47eb76a4acf85cd5b0c7adb21399a985dd Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Doc: Move WebEngineView property docs to webengine.qdocLeena Miettinen2016-07-292-20/+20
| | | | | | | | | The docs do not currently get built, because docs for a QML type need to reside in one file. Also edited the docs for grammar and style. Change-Id: Ic62f293e113d0e4bfe0497ce4a665a2a42971eb3 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Do not use proxy when connecting to localhostErwin Kandler2016-07-281-0/+1
| | | | | | | | | | | Chromium does not exclude localhost connection from its proxy rules by default. When using a qt proxy with any other form of qt-based connections, connections to localhost are excluded by default. This patch adds localhost connections to the proxy-bypass rules. Change-Id: I76c43a2ae0de8d8fad455445a64a739c6c6b40f0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Move core_generated.gyp to build directoryAllan Sandfeld Jensen2016-07-276-22/+12
| | | | | | | | | Changes core_generated.gyp from being generated in the source directory to being generated in the build directory. Task-number: QTBUG-43014 Change-Id: Ia67df47bfadbf5dfca6e60a613dcf7b162b468fd Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Prevent a crash after having downloaded a fileAndy Shaw2016-07-261-1/+0
| | | | | | | | | | | Since the profile owns the QWebEngineDownloadItem then it is likely that it will still be around when the QWebEngineProfile is deleted. As the QWebEngineDownloadItem is a child of the QWebEngineProfile then it will try to delete it when deleting the QWebEngineProfile which means it cannot trigger a function call into QWebEngineProfilePrivate. Change-Id: I51077a7857fb49a6708224a9e9942d17de6f6778 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Doc: Link to QWebEngineProfile::downloadRequested from WebActionLeena Miettinen2016-07-251-1/+3
| | | | | | Task-number: QTBUG-54644 Change-Id: Ief2e92e6baf3057cb4c1835557c51c4728c34ec0 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Doc: Move details about script injection in overview to separate sectionKai Koehne2016-07-211-13/+18
| | | | | Change-Id: I51562b2dff1ffe4359c6db4a802c406c3706de84 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Condense documentation for Qt WebEngine ProcessKai Koehne2016-07-211-6/+3
| | | | | Change-Id: Idf18d236816aab12fb01e1b5725e5ad1c73dbaad Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Replace ambiguous reference to 'C++ implementation'Kai Koehne2016-07-211-3/+3
| | | | | | | Qt WebEngine and Qt WebEngine Core also have C++ API. Change-Id: I4fa4219cd9c0a984f736585caf84676e64f1155a Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Move mentioning of QSG in overview to WebEngineWidgets moduleKai Koehne2016-07-211-5/+4
| | | | | | | | | | Currently it was placed under WebEngineProcess, which is confusing. That the scene graph is used for the QtWebEngine module is probably not really interesting, but it's certainly suprising for Qt WebEngine Widgets, hence mention it there. Change-Id: I1a87b0b0d32cc2695c4dfa31aae56c517e39124e Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Use \note tagKai Koehne2016-07-211-1/+1
| | | | | Change-Id: Ie82c3b34974b391ca69f82d00165c0d46ad6b4af Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Move WebKit comparison to porting guideKai Koehne2016-07-212-4/+8
| | | | | | Change-Id: I75d3f5641ccd402ea1a167d14533b70df5744ff7 GPush-Base: 8ca4a41dfe6887c2637fe2e562f5314b56facd20 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Move Platform notes into separate section in OverviewKai Koehne2016-07-211-4/+6
| | | | | | Change-Id: I40d9c30dd33eb38d1d33c68df4cb4bbc3704c647 GPush-Base: 8ca4a41dfe6887c2637fe2e562f5314b56facd20 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Fix WebEngine module diagramLeena Miettinen2016-07-204-0/+1915
| | | | | | | | | | - Fix typo - Add dependencies between submodules - Add sources for diagrams Task-number: QTBUG-54382 Change-Id: I88aa1dfd0ba16f3d3ca26d8c9cfa05b0ec1e9c83 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Doc: Introduce new 'Related Modules' section in OverviewKai Koehne2016-07-201-12/+14
| | | | | | | | | | | | Consolidate the description of related modules in a separate section, and place them less prominently at the end of the overview. Also - remove mentioning of (ambiguous) 'web runtime' - fix spelling of supersede Change-Id: Iccac376a6b602ee9d23efd4b856e65b9292d6382 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Add persistent backend to channel id serviceAllan Sandfeld Jensen2016-07-194-5/+28
| | | | | | | | | | | | | | Channel-ids are only supposed to be memory only when running in off the record profiles. We have just never initialized the sql-based backend. We follow the cookie-settings, because channel-ids are used together with cookies, have similar implications, and newer Chromium versions will assert that cookie-store and channel-id store have matching storage models. Change-Id: I0a64146f0ed36a8913706bfc3fcadd7404894745 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Fix regression in updating cookie store settingsAllan Sandfeld Jensen2016-07-171-2/+2
| | | | | | | | A copy-paste error meant we only updated user-agent settings when cookie store settings changed on a profile. Change-Id: I173ea7dfc309a30a3d3b98ee5ccab74e2abec456 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Improve OpenGL implementation checkAkihiko Odaki2016-07-131-8/+38
| | | | | | | | | | | | | | Qt WebEngine uses `isOpenGLES` to know whether the OpenGL implementation is EGL with OpenGL ES 2.0. However, some non-ES OpenGL implementation such as eglfs_x11 uses EGL and are compatible with OpenGL ES 2.0. This change allows to use them. Also the change will allow to detect incompatible combinations. (i.e. EGL + ES-incompatible OpenGL, API other than EGL + OpenGL ES) Change-Id: I0abea253696d06ec365bde2176663700e8567f45 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Propagate the view's screen coordinates on global position changeJoerg Bornemann2016-07-122-0/+9
| | | | | | | | | | | | | | | Suppose having a QWebEngineView as one of many child widgets in a layout. Resize some child widget such that the position of the QWebEngineView changes (without changing the position of the top-level window). Chromium must be informed of the changed global position, otherwise popups will be opened at the old position. Also see commit 7f941a34, which originally introduced the coordinate propagation for top-level window moves. Task-number: QTBUG-51244 Change-Id: Ieb372e8d7554700d5e8d1e2148ab778094ea3878 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Allow QWebEnginePage::createWindow to return thisJoerg Bornemann2016-07-082-7/+23
| | | | | | | | | | | | | Consider a QWebEnginePage subclass that does "return this;" in createWindow. Commit 1f07d2929a made this a no-op to prevent QtWebEngine from crashing. The reason for the crash was access to deleted memory after destroying the current adapter in adoptNewWindow. Defer the adoption in this case to whenever we hit the event loop again. Change-Id: I9674d80ef8b2f301c1446ff505b2486649451ba6 Task-number: QTBUG-42216 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix regression in text selectionAllan Sandfeld Jensen2016-07-041-0/+13
| | | | | | | | | While 'button' should officially be none on mouse move events, the aura and windows events set 'button' on mouse move, and selection code appears to depend on it. Change-Id: I49f84e6f9178c3b2cb0f2c2c8a7b1d30141d0b4e Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Fix regression with fine-grained wheel eventsAllan Sandfeld Jensen2016-07-041-2/+2
| | | | | | | | The division needs to be done in float, otherwise steps smaller than one standard tick will be rounded to zero. Change-Id: Id939be062f1575104ca6cd66f05892841ec27569 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Switch WebContentsAdapter to using shared pointersAllan Sandfeld Jensen2016-07-0113-48/+40
| | | | | | | | | QExplicitSharedDataPointer is meant for value objects, not for shared objects. Instead switch to using QSharedPointer. Change-Id: Ib3791bbcfde627a67508f2819e141d8c538a4a50 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
* Let script collection hold a reference to the adapterAllan Sandfeld Jensen2016-07-013-16/+12
| | | | | | | | | While the script collection always follows a page, it is safer to have both hold a reference to the web-contents adapter, so it doesn't get deleted while adapters are being changed. Change-Id: I21e268f7228f13702468df61e0032bdf2f99873a Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Clear internal selected text when searchingAlexandru Croitor2016-07-012-0/+3
| | | | | | | | | | | | | Previously if a selection was made on a web page, and afterwards a find operation is executed, the selection in the web page would be cleared, but the call to selectedText() would still return the old selection. Make sure selectedText() is always cleared, when starting a find operation, as well as when stopping one. Change-Id: If78f0fa1dd836a52184015e749ef5a84b9f784cd Task-number: QTBUG-54071 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Fix invalid pointer in script collection after opening popupAllan Sandfeld Jensen2016-06-301-0/+3
| | | | | | | | | | The script collection has a pointer to webcontents adapter, and when a new adapter is adopted, the pointer in the script collection needs to be updated. Task-number: QTBUG-54419 Change-Id: Ia054e1281ab4db637beab570abda752074dc9280 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Doc: Do not explicitly mention names of signal handlersKai Koehne2016-06-281-13/+2
| | | | | | | | | | You can also connect arbitrary methods using the Connections type, or the connect() method. Anyhow, this is standard QML behavior, so no need to mention it in every signal. Change-Id: I419c74eee7ce190c44336d9f25c1a3aa30f36ab4 Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* Doc: Specify types of qmlsignal argumentsKai Koehne2016-06-271-10/+8
| | | | | Change-Id: I8694de2fa43eb7d343e8abcb617939dafab59ebc Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove handling of DIR_MEDIA_LIBSAllan Sandfeld Jensen2016-06-272-30/+0
| | | | | | | | | | | | | DIR_MEDIA_LIBS was where ffmpegsumo was before 5.6 which removed it. When we don't have the library it used to be in, we return the fallback path, which by OverridePath will be created if it doesn't exits. DIR_MEDIA_LIBS is not used anywhere by Chromium anymore, so remove the code. Task-number: QTBUG-54258 Change-Id: I1015bd3549c617916c06b633ba3e483ef855ff84 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Stop linking both debug and release libraries at the same time.Alexandru Croitor2016-06-271-0/+7
| | | | | Change-Id: Ide3a8adc320b38a399514c0115bd8e24c37af63d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Fix detection of MIPS architucture revisionAllan Sandfeld Jensen2016-06-241-3/+10
| | | | | | | | | We were not handling -march= arguments and we were not setting the result in GYP_CONFIG. Task-number: QTBUG-54336 Change-Id: I63e45f153aa46d5879aa968aa6c3d898ef58855e Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Fix memory leak of unhandled certificateErrorMichal Klocek2016-06-231-1/+2
| | | | | | | | | | | | | | If a user does not handle onCertificateError the instance of QQuickWebEngineCertificateError never gets to JavaScript land and never gets deleted. Create a strong reference before emitting the onCertificateError to guard against the memory leak. Change-Id: I49dbf89445d32291e2f52976f0f5e9deda201fcb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Use angleDelta instead of deprecated Qt4 deltaAllan Sandfeld Jensen2016-06-231-7/+4
| | | | | | | | Switch to using the Qt5 angleDelta instead of the Qt4 style delta that can only handle single orientation wheel events. Change-Id: I181dda03c7fc9c676100cb31ab7717f9641b625e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove split between 'C++' and 'QML' modules in index pageKai Koehne2016-06-232-5/+1
| | | | | | | | This is somewhat artificial, since the QtWebEngine module now also has public C++ API. Change-Id: I2067a3eb4e84cfac2b3e6766b272445b9bd31ae7 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Override short-cuts to common editor commandsAllan Sandfeld Jensen2016-06-227-0/+93
| | | | | | | | | | | | | | | | To ensure Chromium is given a chance to handle editor commands, we must override these short-cuts. On OS X we must also perform the action afterwards as these are not handled internally by the Blink Editor. The patch solves copy/paste in flash plugins and copy/paste on OS X when no application short-cuts have been defined. The handling of short-cut override events is based on how it was handled in Qt WebKit Task-number: QTBUG-54221 Change-Id: I748671c7bfa5662aae16c6a4b9bbe5e2bce1b907 Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com>
* Always show caret when editing an IME pre-edit string.Alexandru Croitor2016-06-171-2/+5
| | | | | | | | | | | | | | Previously while entering a Japanese succession of characters, followed by transforming a substring into a word suggestion, the caret would disappear, and pressing the arrow keys would not indicate which part of the pre-edit string will be transformed next. This change makes sure the caret is always present, to indicate which part of the pre-edit string will be replaced by a possible IME suggestion. Change-Id: I350310c198bcacf0bcb48217f84b08e95ab8e8ef Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Handle IME events which contain both preedit and commit strings.Alexandru Croitor2016-06-171-8/+30
| | | | | | | | | | | | | | | Currently if a QInputMethodEvent is received, which contains text in both the pre-edit and commit strings, Chromium would only show the commit string in the text input (or other html element). The IME though still knows about the non-empty pre-edit string, which means that if another key is pressed, Chromium will suddenly show the content of the previous pre-edit string AND the result of the new key press. To fix this, WebEngine will now properly set the pre-edit string as the new composition, after confirming the previous commit string. Change-Id: If22dd2038aca35a6fe6bb58a521f0a7124c7d468 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix backspace to work when removing last IME char.Alexandru Croitor2016-06-171-3/+23
| | | | | | | | | | | | | | | | | | | Currently when composing a word using an IME, and backspace is pressed to remove the last character present in the pre-edit string, instead of the character being removed, nothing happens. In reality the character is removed, but Chromium isn't notified of it, and the change will be seen only after another key is pressed. Fix consists in notifying Chromium to cancel the IME composition when both the pre-edit string and the commit string are empty. There is still an issue with japanese, when trying to input "aaa", press space, then "b" and you don't see the "b" until you press one more key. Change-Id: Idf2ef4888caead26d19eabbbdf4f98fbee601049 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Commit the done-so-far IME composition on mouse click.Alexandru Croitor2016-06-171-0/+13
| | | | | | | | | | | | | | | | | | Before this change, it was possible to select parts of the pre-edit text in an ongoing IME composition, by click-dragging with the mouse (which also looked wrong, because the styling of the text did not change to a selection box to signal selection). This is inconsistent with how Chrome does it, which commits the pre-edit string entered so far, when clicking anywhere in the content area or in the input. This change makes sure to commit the pre-edit string when a mouse click is done anywhere on the displayed web page. The behavior was present on Windows and Linux. Change-Id: I9cb148c591b5d09fb4dd477ae96c29ca32cc34de Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Don't cancel an IME composition when a modifier key is pressed.Alexandru Croitor2016-06-172-1/+7
| | | | | | | | | | | | | | | | | | | When an asian IME is used to compose a new word, and a modifier key is pressed (shift, alt, etc), WebEngine would notify Chromium to cancel the composition, thus clearing the text. But the actual IME window would still be present, and if another "letter" key was pressed, the composition would continue with the previous pre-edit text, which leads to unusual text flickering. The previous behavior was introduced in 31efe25d14 to fix a Windows double character input bug. The current change makes sure to clear the IME composition only in case the last received QInputMethodEvent pre-edit and commit strings were empty, which is not the case when pressing a modifier key for instance. Change-Id: Ic968404c90e1e0eb703fe1c2849990467bedd5e1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>