summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix building on OS X 10.9 with 10.10 SDKAlexandru Croitor2016-07-013-1/+12
| | | | | | | | | | | | | | | | | | Previously building on OS X 10.9 was only allowed with a 10.10.3 SDK. But there is no supported version of Xcode on 10.9 that would ship with that SDK, which lead to the fact that there was no way to compile WebEngine with an officialy provided toolchain. This patch lowers the requirement of the SDK to 10.10, at the expense of disabling usage of API that was added in the 10.10.3 SDK release (Force Touch API). The required minimum Xcode version is thus bumped to 6.1, and the documentation is updated accordingly. Task-number: QTBUG-54486 Change-Id: I025caa336ceac5b8ea76ef451eb5e6b78abfe0c9 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-06-2713-28/+186
|\ | | | | | | Change-Id: Ic6686df8f82f710a3441501b7eeaffe69fbcbdf7
| * 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>
* | Doc: Fix the documentation of WebEngineContextMenuDataAdam Kallai2016-06-201-8/+8
| | | | | | | | | | Change-Id: I7ce66ad2f1c1c6a408637c5c541cba22c7260591 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | make use of COPIESOswald Buddenhagen2016-06-171-21/+2
| | | | | | | | | | Change-Id: I440ead04e386362593d50c491508676bb5d0ff64 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | fix logical mismerge from 5.6Oswald Buddenhagen2016-06-172-2/+2
| | | | | | | | | | | | | | iphonesimulator_and_iphoneos was renamed to simulator_and_device in 5.7. Change-Id: I0be78eb67b9f9867548108235eb180874f66cb95 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-06-1714-32/+115
|\| | | | | | | Change-Id: If4d8a25f5a2192a658d031252435935cbc675725
| * Update ChromiumJoerg Bornemann2016-06-161-0/+0
| | | | | | | | | | | | | | | | | | | | | | Pulls in the PDB location fix, an updated libjpeg_turbo and the backport of a crash fix. Task-number: QTBUG-52938 Task-number: QTBUG-53800 Task-number: QTBUG-54023 Change-Id: Ic773b082d26825758e8986e8d77f8f5bc7b80f83 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Fix access to deleted memory on QWebEnginePage destructionJoerg Bornemann2016-06-167-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suppose QWebEnginePage is destroyed while there's still a combobox popup open. We would crash with the following stack trace: 1 QtWebEngineCore::RenderWidgetHostViewQt::dpiScale 2 QtWebEngineCore::RenderWidgetHostViewQt::GetViewBounds 3 content::RenderWidgetHostImpl::SendScreenRects 4 content::RenderWidgetHostImpl::OnRenderViewReady ... 16 base::MessageLoop::DoWork 17 WebEngineContext::destroy 18 `anonymous namespace'::destroyContext 19 qt_call_post_routines 20 QApplication::~QApplication RenderWidgetHostViewQt still holds a pointer to WebContentsAdapterClient. To fix this, expose the QObject owning the adapter client, and hide RenderWidgetHostViewQt when it is destroyed so it won't try to render. Change-Id: Ide5543197b35038a3e1c7491ceda3f5ad10f6f07 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Support WebCursors Qt doesn't have cursor types forAllan Sandfeld Jensen2016-06-161-9/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | Use Chromium's Aura cursors when we don't have Qt equivalents. These cursors were also supported in QtWebKit. Note this depends on Aura being used, which means OS X still doesn't have the new cursors. Task-number: QTBUG-53593 Change-Id: I9fbbf102dd313da5a6836069b4d7ece057d8c946 Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Doc: Add canceling authentication to porting instructionsLeena Miettinen2016-06-161-1/+9
| | | | | | | | | | | | | | | | | | | | It has changed from how it was done in Qt WebKit. The following sentence needs to be changed, because "this" no longer refers to the correct thing. Task-number: QTBUG-53849 Change-Id: I11be382c92a4ab729585d334a4f3c0abe46bb3e4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Follow hotspot hints in custom cursorsAllan Sandfeld Jensen2016-06-151-1/+1
| | | | | | | | | | | | | | We shouldn't ignore defined hotspots for cursors we adapt from pixmaps. Change-Id: Ia9c1e29e6374116d4564b306d0e199baaf5d494f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Do not forward invalid mouse events to blinkAllan Sandfeld Jensen2016-06-151-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Blink can not handle more than the three main mouse-buttons, and we were translating a press of an extra mouse-button as a mouse-down of the button ButtonNone. Instead ignore mouse-button events blink does not currently support. Task-number: QTBUG-53799 Change-Id: If1d3ba6bd331ec8ad0ff45bcd674e67763ee9097 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Doc: Make Chromium security fix information less specificLeena Miettinen2016-06-151-2/+2
| | | | | | | | | | | | | | | | New security fixes are added for new Qt 5.6.x versions. Change-Id: Ibf67bde7003b99d729fe8ac23b86c8ff46182ee6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Fix translation of multiple pressed mouse buttonsAllan Sandfeld Jensen2016-06-141-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | We were reporting any mouse button event where the left mouse button was held as a left mouse button event. We should instead separate the button changed and the ones held. Also adds test of the translation. Change-Id: I1139d6615d54a036dfe843fdb1d1c90b23b467b5 Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Stop forwarding OS synthesized touch-to-mouse events.Alexandru Croitor2016-06-141-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Before the change, chromium would process an onclick handler twice, once due to a touch event, and another time due to the OS synthesized mouse event. Patch makes sure only the touch events are forwarded to Chromium. This is consistent with mainline Chrome behavior. Task-number: QTBUG-53201 Change-Id: I16f46b94890c2f6fa9a9089f7c721ec79e0bc96b Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * Add missing Q_DECL_OVERRIDE specifiers.Joerg Bornemann2016-06-133-4/+4
| | | | | | | | | | | | | | | | Fixes warnings when building with clang. Task-number: QTBUG-51295 Change-Id: I4ede7e4ea5c1c3924b3bba852834b8066b539825 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Fix memory leak of qml menuMichal Klocek2016-06-131-12/+12
| | | | | | | | | | | | | | | | | | | | | | Current qml menu implementation uses always WebEngineView as the parent of the menu. However menu can be triggered several times during WebEngineView lifetime, each time creating new menu component. Use onDone menu signal instead to delete menu. Change-Id: I1a6064451e95453268a2cd46899e297e769dc1f1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Fix memory leak of authentication qml dialogMichal Klocek2016-06-131-0/+3
| | | | | | | | | | Change-Id: I951c78e53ff0e05918daf34076fffc44b813a8d2 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Translate audio/video capture permissionAllan Sandfeld Jensen2016-06-161-2/+7
| | | | | | | | | | | | | | | | | | | | Complete the translation for the permission types we support, but assert against media capture permission request coming in via the permission manager so we can catch if Chromium changes how they are handled. Change-Id: Ia56ebe38fd163f724de7c564c3e6098717903dfb Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Fix license header in qwebenginesettingsMichal Klocek2016-06-141-4/+15
| | | | | | | | | | Change-Id: I77a9bdfb34dd01ae212d0f58cddaed4a7cf15917 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Load the devtools resources as optionalAllan Sandfeld Jensen2016-06-141-1/+1
| | | | | | | | | | | | | | | | | | | | We separated the devtools resources so users might remove them if they do not need them. We should therefore avoid error messages when they are not present. Task-number: QTBUG-53879 Change-Id: I52321b7a04683a33ec4cfe8e389889f0ea721f70 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Expose WebEngineProfile.clearHttpCache()Kai Koehne2016-06-142-1/+2
| | | | | | | | | | | | | | | | The method is documented to be available in the QML API, but hasn't been exposed so far. Change-Id: I6f2b8ae132dc10718f1b9181eefeef5c2f2eeed6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Fix the IPC webChannelTransport not being available on reloadJocelyn Turcotte2016-06-132-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | The gin JavaScript binging gets destroyed on page reload after all references to it disappear from the previous document. Do like other gin wrapper and reinstall the transport binding on DidCreateDocumentElement, following how it's done by the MojoBindingsController. Task-number: QTBUG-53411 Change-Id: Ibcd9ef9dbedc5762d4f2210fd81f68e5b9127680 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Enable -fno_delete_null_pointer_checks on V8 for G++ 6Allan Sandfeld Jensen2016-06-132-0/+2
| | | | | | | | | | | | | | | | Detect g++ 6 and disable null pointer check optimizations on v8. Change-Id: I5064823af3784786d455ce86592b5e65c1020f21 Task-number: QTBUG-53956 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-06-1114-38/+648
|\| | | | | | | Change-Id: Ib010ede9756fb02992a3276ae7ec90ef1ab56a00
| * Implement flash clipboard interfaceAllan Sandfeld Jensen2016-06-104-7/+525
| | | | | | | | | | | | | | | | | | Fixes clipboard access from flash and fixes an assert when using the copy button on codereview.qt-project.org. Change-Id: Ia66ada8a1195a51a26d2b3fd689ddc867bc8d422 Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Doc: Describe disabling QWebEngineSettings::AutoLoadImagesLeena Miettinen2016-06-101-1/+2
| | | | | | | | | | | | | | ...which loads images from cache. Change-Id: Icb445bb2224ec30df6257fb3fd6c59c54791b570 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Avoid precompiling headers in core_module.proJoerg Bornemann2016-06-101-0/+2
| | | | | | | | | | | | | | | | Loading qt_module.prf automagically fills PRECOMPILED_HEADER. Clear this, because core_module is a link-only module. Change-Id: I4edf75faf7c251719c1d9412ca42870dd06ddb95 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * Merge "Merge remote-tracking branch 'origin/5.6.1' into 5.6" into ↵Liang Qi2016-06-103-2/+1
| |\ | | | | | | | | | refs/staging/5.6
| | * Merge remote-tracking branch 'origin/5.6.1' into 5.6Allan Sandfeld Jensen2016-06-083-2/+1
| | |\ | | | | | | | | | | | | Change-Id: Ic2fad2311550860c5a2f83b6f228a7a648131ece
| | | * Update Chromiumv5.6.1-1v5.6.1Allan Sandfeld Jensen2016-05-261-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pulls in cherry-picked security fixes from Chromium 51. Change-Id: I4c16b2c8633c53e6c2ae3a6fcdd446bcc404335b Task-number: QTBUG-53643 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
| * | | Improve location provider thread safetyAllan Sandfeld Jensen2016-06-101-15/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An error or update could potentially arrive after shutdown causing segmentation faults due to using unretained pointers in Chromium callbacks. This patch switches to using Chromium WeakPtrs and Qt invokable, to ensure dead objects are not invoked. Change-Id: Icf1a22c2ee081048dcc579e74b1b5da572eaf256 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
| * | | Update scroll information in touch eventsIlia Kirianovskii2016-06-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Touch events have causesScrollingIfUncanceled flag that is used by TouchEventQueue::TouchMoveSlopSuppressor for determining whether they can be suppressed or not. Previously it was always false what caused the events be suppressed. Then, it was set to true what caused the events cannot be suppressed event if they can. Now the flag can be dinamically changed depending on the result of ui::FilteredGestureProvider::OnTouchEvent. Change-Id: I625a5c5d9b7597e25406e55c461efb7187e7c482 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * | | Make sure linux-clang-libc++ mkspec uses clang build parameters.Alexandru Croitor2016-06-081-2/+6
| |/ / | | | | | | | | | | | | | | | | | | | | | And also uses the system provided libc++ library. Task-number: QTBUG-53685 Change-Id: Ibc6a773cf65ca057770baecedcff6ab27ffabf66 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * | Add support for Khr_surfaceless_contextAkihiko Odaki2016-06-031-1/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is a port of commit 4b0cac9dfeebb73f21a11e10e6a2bc7bddbe889b in Chromium for Qt WebEngine. The based commit says: > http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_surfaceless_context.txt > > This patch adds support in GLSurfaceEGL to be able to use > surfaceless context when supported by the drivers. This avoids > the creation of a dummy offscreen surface. This would also enable > support for offscreen rendering on platforms (i.e Ozone-Wayland) which > donot support pbuffer surfaces. Some platforms supported by QPA, such as Mesa 3D DRI2 with drm and wayland backend also don't support pbuffer surfaces. Change-Id: I8378957931d79b691392b6fbe13082b8610b8fe6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * | Allow to set arm_thumb=0 with -marmAkihiko Odaki2016-06-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | In case arm_version == 7, arm_thumb used by default. This change allows to override the configuration. Change-Id: Ifa924d3d6b6c39da513523fdc40757d277fb7f26 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * | Fix logging code in GLSurfaceQtEGL::Initialize()Akihiko Odaki2016-06-011-1/+1
| | | | | | | | | | | | | | | Change-Id: I98cb984548d833121d7e3102b9d89ccc7c8a11b6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * | Doc: Add "since" info for the HTML5 geolocation featureLeena Miettinen2016-05-311-0/+2
| | | | | | | | | | | | | | | Change-Id: I5e22ceaf5a8450fb5254278dbcbe6e02ecf51a45 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * | Doc: Fix linking error to overview instead of front pageLeena Miettinen2016-05-311-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add "Module" to the overview section titles, to stop links from other modules from leading to the "Qt WebEngine" section in the "Overview" instead of to the Qt WebEngine module front page. Change-Id: I1c571c4edad0bcf9dd05e4dad703f95f39eb579c Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| * | Doc: Mention linux-g++ and linux-clang as supported mkspecsKai Koehne2016-05-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-53685 Change-Id: I4bd08196929953a24e96d82eb583014785e6bbf8 Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>