summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '5.6' into 5.7Allan Sandfeld Jensen2016-11-243-2/+31
|\ | | | | | | | | | | | | | | | | Conflicts: src/core/api/qwebengineurlrequestinfo.cpp src/core/api/qwebengineurlrequestinfo.h src/core/core_gyp_generator.pro Change-Id: I5c78f0c86f6dcd61697148f0729d3d3a2cb2c76f
| * Fix select tag interaction when the web view is inside a modal dialogAlexandru Croitor2016-11-103-2/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously when a QWebEngineView was inside a modal QDialog, trying to click on a select tag option did not properly select the option. It either focused the new option without closing the popup, or didn't focus it at all. Fix consists in making sure the newly created popup QWindow and RenderWidgetHostViewQtDelegateWidget are marked as children of the QWebEngineView, so that they are considered part of the current modal session by the OS, thus allowing user interaction with them. Because the ownership of the delegate widget should still be retained by its respective RenderWidgetHostViewQt instance, the QObject parent of the delegate is unset before the parent is destroyed. Also to make it work on macOS, the window attribute has to be set to Qt::Tool instead of Qt::ToolTip. Change-Id: I56d6f446254a624428a0c661ac3c49eb409c931e Task-number: QTBUG-54836 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Merge remote-tracking branch 'origin/5.7.1' into 5.7Allan Sandfeld Jensen2016-11-211-7/+12
|\ \ | | | | | | | | | Change-Id: Ifcf7423fa8d892ddad595300e33a09c7f63f5e6e
| * | Do not call QOpenGLContext::openGLModuleType() from MainDllMichal Klocek2016-10-261-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case of dynamic OpenGL on Windows this ends on calling QWindowsIntegration::staticOpenGLContext() from MainDll which in case of angle will end up badly. Add warning message when webengine is loaded from plugin and context is not initialized. Task-number: QTBUG-52201 Task-number: QTBUG-55501 Task-number: QTBUG-56020 Change-Id: I03570cad5f686c4a63910c71136bf3eb9499f223 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | | Merge remote-tracking branch 'origin/5.6' into 5.7Michael Brüning2016-11-091-0/+5
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | Needed to update QWebEnginePagePrivate to match modified WebContentsAdapter API in 5.7. Conflicts: src/webenginewidgets/api/qwebenginepage.cpp Change-Id: If3da3b4db9dc27e5d6aae1e31a4e7b45c435697e
| * | Copy web channel from QWebEnginePage when adopting WebContentsAdapterMichael Brüning2016-11-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | It used to be just ignored. Task-number: QTBUG-56643 Change-Id: Ife7ac05fce7e93a6eba1ac6e6db1095574c83e42 Reviewed-by: Viktor Engelmann <viktor.engelmann@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-044-3/+12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also apply a4b04e4c on src/webengine/doc/src/qtwebengine-deploying.qdoc, use the macro \macos. Conflicts: src/core/media_capture_devices_dispatcher.cpp src/webengine/doc/src/qtwebengine-deploying.qdoc src/webengine/doc/src/qtwebengine-platform-notes.qdoc Change-Id: Ia6092a56bfe23da7c06f5389718ebbc9b78ef820
| * | Fix leakage of FilePickerControl objects in QWebEnginePageJoerg Bornemann2016-10-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Delete the FilePickerControl object after we're done with it, analog to what the QtQuick UIDelegatesManager does. Change-Id: Id5ef6666c8536b9e5c6877cd522b4c20adae37e5 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
| * | Doc: Clarify that font size is in pixelsKai Koehne2016-10-241-2/+2
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-56645 Change-Id: I16ca76d3a26d0142846b068cc1ba52bee71cf106 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| * | Fix IME window placement relative to QWebEngineViewAlexandru Croitor2016-10-142-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The position of the IME window is computed using the widget input item transform. When a regular QWidget gets a focusIn event, the input item transform is recomputed inside the QWidgetPrivate::updateWidgetTransform method. This did not happen for the QWebEngineView, because the focus event is handled internally and not passed down to QWidget::event. Fix consists in calling updateWidgetTransform manually whenever the view receives focus. The other cases when updateWidgetTransform should be called (namely resize and move events) are handled properly by delegating to QWidget::event. Task-number: QTBUG-55634 Change-Id: Ic93662929e169d860f8ca567f1955da4dc45f9fe Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * | Use canonical include paths for public headersKai Koehne2016-09-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Do not rely on "include/QtWebEngineWidgets" or "include/QtCore" being in the default include path. Task-number: QTBUG-56107 Change-Id: I9535f723814efdef7bf8290a891978aabfa899bb Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | | Prevent crash with overridden drag 'n drop event handlersJoerg Bornemann2016-10-262-0/+13
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | Suppose the user overrides QWebEngineView::dragEnterEvent without calling the base implementation and without overriding dragLeaveEvent. Then our implementation will notify chromium about the drag leave without having ever seen a drag entering and crash. Only notify chromium about leave/drop/move events if we've notified it about the drag enter before. Also, catch the case where the user overrides dragLeaveEvent without calling the base implementation. Task-number: QTBUG-54896 Change-Id: Ib958040e5fa7ecab86bac9b724d478c81a521fcc Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Use canonical include paths for public headersKai Koehne2016-09-232-4/+4
| | | | | | | | | | | | | | | | | | Do not rely on "include/QtWebEngineWidgets" or "include/QtCore" being in the default include path. Task-number: QTBUG-56107 Change-Id: I1a1eb7baf6d3166239eadc5b0b9863704e87888c Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-09-121-1/+2
|\| | | | | | | Change-Id: I9acebc9f1d01ab9041f75c49749f8a122ffbfe30
| * Improve QWebEngineSettings::JavascriptCanOpenWindows docsFlorian Bruhin2016-09-061-1/+2
| | | | | | | | | | Change-Id: I44105c768a958714590b979d3877724f0db659ee Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Doc: QWebEngineContextMenuData is in the QtWebEngineWidgets moduleLeena Miettinen2016-09-081-1/+1
| | | | | | | | | | | | | | | | | | It was listed in the wrong place, because the value of the \inmodule command was wrong. Task-number: QTBUG-55872 Change-Id: Ie3df6bb261dd75178bbe0f118d7720e2bff6d205 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Michal Klocek2016-08-311-3/+8
|\| | | | | | | Change-Id: Ic739ab9db0851cc13467168840ea2549996432f8
| * Fix crash when trying to navigate in new window but is blockedAllan Sandfeld Jensen2016-08-231-3/+8
| | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-08-028-37/+67
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty src/core/resources/resources.gyp src/webengine/doc/src/qtwebengine-overview.qdoc src/webenginewidgets/api/qwebenginepage.cpp src/webenginewidgets/api/qwebenginescriptcollection.cpp src/webenginewidgets/api/qwebenginescriptcollection_p.h tests/auto/widgets/qwebenginepage/BLACKLIST And readded newly in 5.6 enabled tests to the BLACKLIST. Change-Id: I4ab1fc54ebfaaf940df81b0d8d6bdd15cae8b7c4
| * 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: Move WebKit comparison to porting guideKai Koehne2016-07-211-0/+7
| | | | | | | | | | | | Change-Id: I75d3f5641ccd402ea1a167d14533b70df5744ff7 GPush-Base: 8ca4a41dfe6887c2637fe2e562f5314b56facd20 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@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>
| * Switch WebContentsAdapter to using shared pointersAllan Sandfeld Jensen2016-07-014-18/+18
| | | | | | | | | | | | | | | | | | 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>
| * 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>
* | Add missing Q_DECL_OVERRIDE macroAdam Kallai2016-07-141-1/+1
| | | | | | | | | | | | | | | | This macro is missing from the end of the showColorDialog function in qwebenginepage_p.h. Change-Id: Iec1998244f0b40767c37b89ef65a1b0d7451d3fe Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-06-273-0/+45
|\| | | | | | | Change-Id: Ic6686df8f82f710a3441501b7eeaffe69fbcbdf7
| * Override short-cuts to common editor commandsAllan Sandfeld Jensen2016-06-223-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-06-174-2/+17
|\| | | | | | | Change-Id: If4d8a25f5a2192a658d031252435935cbc675725
| * Fix access to deleted memory on QWebEnginePage destructionJoerg Bornemann2016-06-162-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * 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>
| * Add missing Q_DECL_OVERRIDE specifiers.Joerg Bornemann2016-06-131-1/+1
| | | | | | | | | | | | | | | | Fixes warnings when building with clang. Task-number: QTBUG-51295 Change-Id: I4ede7e4ea5c1c3924b3bba852834b8066b539825 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Fix license header in qwebenginesettingsMichal Klocek2016-06-141-4/+15
| | | | | | | | | | Change-Id: I77a9bdfb34dd01ae212d0f58cddaed4a7cf15917 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-06-111-1/+2
|\| | | | | | | Change-Id: Ib010ede9756fb02992a3276ae7ec90ef1ab56a00
| * 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>
* | Also initialize context data if the menu policy is CustomContextMenu.Michael Bruning2016-06-092-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | It does contain valid data and some users seem to build upon the standard context menu. Also, return early with a nullptr from createStandardContextMenu when the context menu data d ptr is null. Task-number: QTBUG-53952 Change-Id: Ib30e85f10e3ae681527210a9e8554f5a21dba7ae Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Fix documentation of findText()Szabolcs David2016-06-091-2/+2
| | | | | | | | | | | | | | | | | | The findText method only highlights the text and doesn't update the selection. Change-Id: I4b320524535d8fa3b9a8374ad50082f3baaa3ffd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Allan Sandfeld Jensen2016-05-314-2/+40
|\| | | | | | | Change-Id: I561c00b3a844ab493a5bf0148a5923662842cf5d
| * Doc: Fix typo in the porting guideLeena Miettinen2016-05-271-2/+2
| | | | | | | | | | | | | | page.runJavascript > page.runJavaScript Change-Id: I82b608746487906160cb60da038c4e2718e1fb61 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
| * Disabled WebEngine views should not receive focus.Alexandru Croitor2016-05-262-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently if a QWebEngineView or a QQuickWebEngineView is disabled using setEnabled(false), after loading a web page, the views are automatically focused, and a user might see a blinking caret in an html input for example, even though the user can't interact with it. Fix consists in not calling the Focus() method whenever a view is disabled. Change-Id: I1014fb5898a5ddf01a4e9b14c3eaf5d4006e5131 Task-number: QTBUG-53159 Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
| * Stop disabled QWebEngineView widget from processing input events.Alexandru Croitor2016-05-261-0/+28
| | | | | | | | | | | | | | | | | | | | | | If a QWebEngineView is disabled, input events are still forwarded to Chromium, thus allowing the user to interact with a web page. Fix consists in stopping the forwarding of input events in the generic event handler, just like QWidget::event() does. Change-Id: Ie822d1f3d640840569a282223d76749686cf3419 Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.7.0' into 5.7Allan Sandfeld Jensen2016-05-313-1/+13
|\ \ | | | | | | | | | Change-Id: I00f64f15ec2aee18d8e6c7b5f59dfae49be1cba8
| * | Merge remote-tracking branch 'origin/5.6' into 5.7.0Michael Bruning2016-05-239-16/+31
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty src/core/browser_context_adapter.cpp src/core/web_contents_adapter.cpp src/webengine/doc/src/qtwebengine-platform-notes.qdoc tests/auto/widgets/qwebenginepage/BLACKLIST Change-Id: I768fc954a9a2147fc3669961286163a0a824def3
| | * Let setContent / setHtml fail when content is too big to load.Michael Bruning2016-05-201-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Chromium fails silently - except for a log entry - when the size of the content is larger than 2 MB. This was causing trouble because the user was not informed about the failed load at all. Task-number: QTBUG-53414 Change-Id: I80f3f36b5eac72f3809538c19ff314068b75b61d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * Doc: Add a topic listing supported featuresLeena Miettinen2016-05-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Move some features from the platform notes to the new topic. Change-Id: I23bb0593a0e142a18ad4216a03bfe1935965fc10 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
| | * Doc: Explain why QSslError values are not usedLeena Miettinen2016-05-201-0/+4
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-53332 Change-Id: Ia3e89287caae50ea043065cb97441ad9796c1dcc Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-05-207-15/+18
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty src/core/browser_context_adapter.cpp src/core/web_contents_adapter.cpp tests/auto/widgets/qwebenginepage/BLACKLIST Change-Id: I45ee0a33f6316f585555d58fede8072fe514aecf
| * | Doc: HTTP GET method is always used to load URLsLeena Miettinen2016-05-192-3/+6
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-53314 Change-Id: I575a740cf0cd6e788c7533f4ec87fc910f1d03fa Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| * | Silence zero-as-null-pointer=constant warningsAllan Sandfeld Jensen2016-05-195-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | This appears to have been added to headerclean and is now preventing us from integrating. Change-Id: I7c25a85c0d62c945d4f4a68f559000fab8c880cc Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>