summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Do away without QWebEngineWidgets::initializePierre Rossi2014-08-045-16/+5
| | | | | | | | | If we consider the plugin scenario is unlikely and decide it's unsupported for widgets, we can simplify our tests and examples a bit on this front. Change-Id: Idc96032c127b4ee74fb5c7b3d2cdfdf99c3a722e Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Don't inherit from Qt private typesJocelyn Turcotte2014-08-0410-16/+29
| | | | | | | | | | | | | Do the d_ptr magic ourselves to avoid having to include private headers from qtcore, qtgui and qtdeclarative. It is hackish to hide QObject's d_ptr member to have the macros working in a public class, but if anything goes wrong we just need to replace the private macro convenience while maintaining the binary compatibility of the stored extra opaque pointer. Change-Id: Idb92f4f902826bef9068a5c2ef6ea31fc3fa15b2 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Implement GLSurfaceQt and exclude chromium's implementationAndras Becsi2014-08-026-4/+647
| | | | | | | | | | | | | | This makes it possible to use the same EGLConfig that is used by Qt when initializing the EGL surface instead of relying on eglChooseConfig. We can use the native interface to query the used config from Qt to avoid EGL_BAD_MATCH errors during initialization. This depends on patches in the qtbase dev branch, which will become Qt 5.4 at some point, therefore we can only merge this patch if we make Qt 5.4 a hard-dependency of QtWebEngine. Change-Id: I94319433b0790994ecbf543b74e7d12fa4767e32 Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Switch to the public QOpenGLWidget APILaszlo Agocs2014-08-022-1/+17
| | | | | Change-Id: I5554e43b8703864111f37f8b684a47669107512e Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Don't use QAuthenticator private APIJocelyn Turcotte2014-08-011-4/+2
| | | | | | | QAuthenticator::setRealm has been added to QtNetwork 5.4. Change-Id: I7eb503956d72a96e1f5030896cdf9adb7d4030cb Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Don't use the private QQuickDefaultClipNode and QSGRectangleNodeJocelyn Turcotte2014-08-011-8/+21
| | | | | | | | Use QSGSimpleRectNode and a custom QSGClipNode instead, which provide the same funtionalities without using private API. Change-Id: Ia62ddc9cf86240dbf85f69c088599b7ca8792e7c Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Don't use the private QQmlMetaType::defaultPropertyJocelyn Turcotte2014-08-013-6/+17
| | | | | | | | | Duplicate the small implementation of that function, which uses QMetaObject public API together with the semi-public fact that the meta class info named DefaultProperty needs to be fetched. Change-Id: I37413bd28a0b0ead55853e4e3db5864dfc39966b Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Fix tab focus in the widgets and QML webviewsJocelyn Turcotte2014-08-017-15/+14
| | | | | | | | | | | | | | | | | | | | Fixes: - Make sure that we call SetInitialFocus when giving focus through Tab This does the same as would WebContents::FocusThroughTabTraversal - Implement QWebEnginePagePrivate::passOnFocus - Set each new RWHVQtDelegate as the focus proxy of the QWebEngineView - Make sure that the widgets delegate accepts the tab focus policy Cleaups: - RenderWidgetHostViewQtDelegateQuick doesn't need to be a focus scope, it doesn't have any children - We don't need to reimplement QQuickWebEngineView::forceActiveFocus since the view is now a focus scope - Do not explicitly setFocus(true) on the QQuickWebEngineView, the application should decide this through the API Change-Id: I817dc2c895d4fff4aa3536c71ecc5d306bb3bee0 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Don't use the private QQuickItemPrivate::focusNextPrevJocelyn Turcotte2014-08-011-1/+3
| | | | | | | | | | Do what focusNextPrev does internally. Also fix the tab-focus by getting the next item relatively to the delegate (the scopedFocusItem()) instead of the view itself. Change-Id: I0d35a12bd5ef54d69df35b29ccdd55ac2301eec8 Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Don't use the private QGuiApplicationPrivate::platformIntegration()Jocelyn Turcotte2014-08-011-3/+1
| | | | | | | | Querying the platform names directly will be just as reliable as we are still only supporting a limited number of platforms. Change-Id: I9feba66b6ac23281db4d0ba675cc9a1e5560daea Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Drop 5.2 supportJocelyn Turcotte2014-08-013-11/+1
| | | | | | | We actually already depend on dev (5.4) in other areas. Change-Id: Iab297a51ab06209a96f11f97c74463d38203eda8 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Accessibility: Improve rolesFrederik Gladhorn2014-08-011-4/+6
| | | | | | Section, Paragraph and WebDocument have been added to qtbase in Qt 5.4. Change-Id: I6b249caf3af123e3a2c68fb981278f49c86a32ee Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add loadVisuallyCommitted signal to the experimental Quick APISzabolcs David2014-08-0113-0/+54
| | | | | | | | | This fixes the flaky QQuickWebEngineViewGraphics test and extends it with a new test case. Change-Id: I2d8a0762716cb9232fdea6473760e67ac2e7146d Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Disable unstable features on Windows.Michael Brüning2014-07-301-0/+2
| | | | | | | | Both WebGL and D3D11 in the ANGLE layer are buggy in QtWebEngine on Windows due to the usage of OpenGL from different threads. Change-Id: Ia7ee7ced7cad6b09d862ca5fa897a7184b9de298 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add api to get the favicon URLAllan Sandfeld Jensen2014-07-308-1/+66
| | | | | | | | | | | Adds one of the missing pieces of the QWebFrame and QWebView APIs. Unlike the QtWebKit version this only fetches the favicon URL, and not the icon. This is because we do not want to implement an icon database, and that the icon would be loaded asynchronous anyway, bringing no guarantee to be a valid icon/image yet. Change-Id: I227311ae3676044da850e687b82bee752b5079c8 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix windows build with accessibilityFrederik Gladhorn2014-07-291-33/+0
| | | | | | | | | | For now the windows build will simply use the same accessibility implementation as the rest of Qt and we don't bother with using the native implementation. Change-Id: Iaad6734834a562f2ee0bd951d299310e95a5c9e1 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Qt Quick based accessibility glue codeFrederik Gladhorn2014-07-263-0/+77
| | | | | | | | With this patch the accessibility hierarchy inside webengine becomes accessible when navigating from Qt Quick based web views. Change-Id: Ic1c8caaa908bd32e4175ee9dcdb7a6bef89818b6 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Implement QAccessibleActionInterfaceFrederik Gladhorn2014-07-242-0/+30
| | | | | | | | | | For now only setting the focus via accessibility APIs is supported. Being able to do that is important since screen readers allow exploring the application in different ways and expect to be able to set the focus according to what they present to the user. Change-Id: I4ce17039307844a77c0274d743f5afbe049e3c66 Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Fix warnings produced by QT_ASCII_CAST_WARNINGS in ui delegatesAdam Kallai2014-07-241-1/+1
| | | | | Change-Id: Iffb04ff0c61e7a5e0c42ca224b1b04d0a62c66f8 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* On windows use blink's accessibility implementationFrederik Gladhorn2014-07-232-4/+34
| | | | | | | | | This fixes the windows build after the initial a11y patches landed. In addition blink a11y works well on this platform so there is no reason to map it to the Qt one. Since it's based on window handles they mix well. Change-Id: I4441541864bbdab126cd9412a3640c7284b98193 Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* RWHVQDQ::contentsRect can be called by chromium before the view has a window.Zeno Albisser2014-07-211-1/+3
| | | | | | | Change-Id: I50e3a2ba95b3c0b49af2139f763f11154defe503 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Fix contentsRect calculation.Zeno Albisser2014-07-211-1/+1
| | | | | | | | | QRectF takes either two points (top left / bottom right), or separate coordinates (x/y) together with dimensions for width and height. Change-Id: Iac20e2abaa4a273ddf7605ffa306220717ae283a Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Implement accessibility hit testingFrederik Gladhorn2014-07-161-0/+6
| | | | | | | childAt needs to return any child at the given coordinates. Change-Id: I19bfbd24a9bfc868fd1602f058cb9ce873ceef52 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix crash when accessibility queries bounds on startupFrederik Gladhorn2014-07-151-0/+2
| | | | | | | On startup we may not yet have an accessibility manager. Change-Id: I9fda09c20de40ed3c8fb7108fd0314a789eb50f5 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Fix interpretation of ARIA Application roleFrederik Gladhorn2014-07-151-1/+1
| | | | | | | | | Setting the Qt role Application will lead Qt to returning the qApp accessible representation. Instead make it a document. Change-Id: Id0b0a3462115905664b8147ab7d529bae7e4fa4b Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Implement accessible value interfaceFrederik Gladhorn2014-07-152-2/+60
| | | | | Change-Id: I837d7f3041aec59ae83c0fe802bc83b746e62b76 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Implement accessible text interfaceFrederik Gladhorn2014-07-153-4/+149
| | | | | Change-Id: I3a9143c61ecda98513be031fc554fd4bfcef7b7c Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Fix define in windows.priZoltan Arvai2014-07-151-1/+1
| | | | | | | GYP_ARGS needs a -D option before defining a value. Change-Id: I4acb78e3f201a5d7369c3e998eb7356769bb7553 Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Fix RenderWidgetHostViewQt::GetViewBoundsFrederik Gladhorn2014-07-148-1/+23
| | | | | | | | | | GetViewBounds should return the bounds of the view, not the screen rect. The view bounds are for example used to calculate the screen position of accessible objects (which gets fixed with this patch). Change-Id: I5b342113af737847c1756a13183cd2b8b8db648a Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Fix the indexOfChild function for the web documentFrederik Gladhorn2014-07-112-0/+8
| | | | | Change-Id: I37a32bd5dd8760bc91173968a620a1932ae67b4e Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Improve text for accessiblesFrederik Gladhorn2014-07-111-2/+15
| | | | | Change-Id: I0301ed0403b56169e610cf1c38a1e5da39ee164f Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix duplicate document roleFrederik Gladhorn2014-07-111-1/+1
| | | | | | | | The blink root element already has document as role. By setting it in the webview we'd get two documents in the hierarchy. Change-Id: Ie14e57b4e2050dbd9495c4fa94de4e2faebc02c1 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Implement functions of BrowserAccessibilityDelegateFrederik Gladhorn2014-07-115-178/+60
| | | | | | | This is in line with how other platforms do it. Change-Id: Ia258511d3fa35387a69c81c9c02c181fc2995e6c Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Widget based accessibility glue codeFrederik Gladhorn2014-07-103-0/+40
| | | | | | | | | With this patch the accessibility hierarchy inside webengine becomes available when navigating from QWidget based web views. Change-Id: Ib3625a6ec93b4d3f298fb845ab85209b348349ba Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add core accessibilityFrederik Gladhorn2014-07-0917-7/+936
| | | | | | | | | | | | | | | | This commit adds the basics to bridge the blink accessibility classes to QAccessibleInterfaces. Note that it needs two follow up commits to implement the bridging from the QWidget/Qt Quick worlds. [ChangeLog][Accessibility] QtWebEngine now has accessibility support, enabling assistive technology such as screen readers to work with it. Change-Id: Ied1d97e61a024115ac7a9245331211f6d9fac1b4 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix the build with recent qtbaseAndras Becsi2014-07-073-0/+6
| | | | | | | | | | | | Since 3cd70c11bc7bbe3c5e9e4972d2273cf51bbdc30e in qtbase Qt modules require cmake tests to be present which makes QtWebEngine fail with "Missing CMake tests." We do not support building with cmake at this point, so disable these tests by setting CMAKE_MODULE_TESTS to '-' for module pro files. Change-Id: I777e6b2c7ce975ad021281800987f9d3ce173399 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix requests for audio and video permissionsFrederik Gladhorn2014-07-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Requesting MediaAudioCapture would unconditionally ask for QQuickWebEngineViewExperimental::MediaAudioVideoDevices instead of MediaAudioDevices since the if wrongly tested for the same condition twice. In addition fix a warning: variable 'feature' is used uninitialized whenever 'if' condition is false api/qquickwebengineview.cpp:369:13: warning: variable 'feature' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] else if (requestFlags.testFlag(WebContentsAdapterClient::MediaVideoCapture)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ api/qquickwebengineview.cpp:371:57: note: uninitialized use occurs here Q_EMIT e->featurePermissionRequested(securityOrigin, feature); ^~~~~~~ api/qquickwebengineview.cpp:369:9: note: remove the 'if' if its condition is always true else if (requestFlags.testFlag(WebContentsAdapterClient::MediaVideoCapture)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ api/qquickwebengineview.cpp:364:4: note: variable 'feature' is declared here QQuickWebEngineViewExperimental::Feature feature; ^ Change-Id: If63fbb5a59a71dede1d1829695f66c22849a4dcd Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Remove stray semicolonsFrederik Gladhorn2014-07-071-3/+3
| | | | | Change-Id: I87d6532babc9475e46e28f6be7d1593622958764 Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Add missing header file to .proFrederik Gladhorn2014-07-071-0/+1
| | | | | Change-Id: I4543cc9a42f803fd763b889cf7c36d8cfd54fc42 Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Enable Chromium on Windows to link to correct ANGLE configuration.Michael Brüning2014-07-032-0/+3
| | | | | | | | | | | | This is done by setting qt_egl_library and qt_glesv2_library to the correct value depending on whether the build is using debug or release config. This also updates the 3rdparty submodule as necessary. Change-Id: I536310073d1d2436f7ed529b935421f6c9a8cae9 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Reorder files alphabeticallyPierre Rossi2014-07-011-10/+10
| | | | | Change-Id: I1b7bea888290be340b2e368f8e77b661e8d66018 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Prevent premature deletion of JavaScript alert dialog object.Michael Brüning2014-06-303-8/+9
| | | | | | | | | | | This fixes a crash on Windows when dismissing a JavaScript dialog. It was caused by the JavaScriptDialogController object deleting itself and its private object from a method call and subsequently trying to run the JavaScript dialog callback. Task-number: QTBUG-39883 Change-Id: I74300c53943ec7ebc492362ef7d75d83aa1f8051 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* OS X: Fix the build with the Qt SDKAndras Becsi2014-06-272-2/+2
| | | | | Change-Id: Icc4219ace4121a4b30302e0348e48dc75cae54cb Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Fix crash when loading context menu on Windows.Michael Brüning2014-06-261-1/+1
| | | | | | | | | | | Use QUrl::fromLocalFile to load components from the installation Qml directory. Using just the absolute file path wasn't a problem on Linux, but did not work on Windows. Other Qt modules are also using QUrl::fromLocalFile to do this. Change-Id: I689c516dc63a6c966435eedb94441d7c9246dd25 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Install ICU data file to Qt on WindowsZoltan Arvai2014-06-201-0/+5
| | | | | | | ICU data file is required by Qt5WebEngineCore. Change-Id: Ifcbb1119e9dfe25b6a1bb206475176f21278c2a9 Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Fix keyboard scrollingAllan Sandfeld Jensen2014-06-182-3/+10
| | | | | | | | | | | | Arrow keys and page-up/page-down was not working. These are detected on RayKeyDown events which both the Win and GTK versions sends instead of KeyDown. Also fixes a mistake in reading the length of the UTF16 text string that was using sizeof on a pointer. Change-Id: I441ef21c15430dafcaeda00d43eb9aec81cd88b8 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Project quads to z=0 instead of compressing them between 0 and 1Jocelyn Turcotte2014-06-171-30/+6
| | | | | | | | | | | | | Since all quads are already separated in non-intersecting geometries and ordered according to their depth by Chromium, there is no need to keep any z value once the perspective projection has been applied. Avoid the useless computation and project the quads to z=0 the same way that QMatrix4x4::toTransform() does when used to flatten QQuickItem::transform(). Change-Id: I3ec5dc2da23cf431e2d8d0bb8b1ed48f2f2d2d8e Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Explicitly return false in WasAllocatedUsingRobustnessExtensionJocelyn Turcotte2014-06-162-0/+2
| | | | | | | | | | | | This is the default behavior of gfx::GLContext, but explicitly do it for documentation purpose and cover the case of the behavior of gfx::GLContext would change in the future. This also updates the submodule to include the change that uses this value. Change-Id: I214376d92b4f9f11bd491c2b1263cf8159e5779f Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Update ninja and bump Chromium version to 33.0.1750.170Andras Becsi2014-06-051-0/+0
| | | | | | | | | | | | | | | | | | | This patch also changes the way we handle our patches. We'll always take a new snapshot without patching Chromium and rebase our patches on top of the snapshot. This removes the need for separate patch files for the ustream repository since we can use the patches of the snapshot and apply them on the upstream checkout if we want to use an upstream build. This makes it easier for us to have branches for the release and maintain and minimize the number of patches we need on top of upstream Chromium. For now a snapshot checkout is needed to be able to prepare the patches for an upstream build but in future we cold improve this to fetch the patches from the remote snapshot repository if needed. Change-Id: I6280ffbe2d50d25d252734bc76d19bfaaa081637 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Define mac_sdk_min and mac_deployment_target instead of mac_sdk_pathAndras Becsi2014-06-042-5/+5
| | | | | | | | | | With Qt 5.3 mac_sdk_path ends up being empty, so make sure to set the proper flags for chromium to pick the right sdk. Also add clang_use_chrome_plugins=0 so we can remove it as well from the Mac-Use-libc-instead-of-stdlibc patch. Change-Id: Ia132f079f905761644ad26c728f7116f538ea62d Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>