summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add missing include to qwebenginesettings.hAllan Sandfeld Jensen2014-08-181-0/+1
| | | | | Change-Id: I9c0dd4e2da5452e6d90f177f4c5d5edd735294e5 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Update the src/3rdparty submoduleJocelyn Turcotte2014-08-181-0/+0
| | | | | Change-Id: If324dcd51db92b0f37c5c373246bf47c7733aa29 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Disable QtWebEngine if Qt is configured with -staticJocelyn Turcotte2014-08-182-1/+2
| | | | | | | We currently don't support this configuration. Change-Id: Ibd6ad9e1ffc993a2224fb814109467bd7b65f0fc Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Implement accessibility functionsFrederik Gladhorn2014-08-181-4/+4
| | | | | | | | These get called in the new snapshot and will lead to crashes as soon as any screen reader is running. Change-Id: If10159b85e788538c93f32007b68441cdc35dc8f Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Implement RenderWidgetHostViewQt::AccessibilityViewHasFocusFrederik Gladhorn2014-08-182-1/+6
| | | | | Change-Id: I2cbb4860936c7780a749047b37d8c9852f54e7bc Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fix accessible roles after snapshot updateFrederik Gladhorn2014-08-181-102/+100
| | | | | Change-Id: I017d2cdf1424365c1a76ab2fce507c699a1ca502 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix accessibility event enum after snapshot updateFrederik Gladhorn2014-08-181-10/+10
| | | | | Change-Id: I3d8b29739595708aa785e147aa0c7967229ab807 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fix accessibility state enum after snapshot updateFrederik Gladhorn2014-08-181-22/+22
| | | | | Change-Id: I6ecd3acc848a17f3527c95e5a23d29549532481a Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Remove XFAIL that got fixed by snapshot updateFrederik Gladhorn2014-08-181-1/+0
| | | | | | Change-Id: I5e2ab9f9119491f61033d8dd93059d0a54f3bc5b Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Use Q_DECLARE_PRIVATE to wrap the p-impl in QWebEngineSettingsJocelyn Turcotte2014-08-153-10/+20
| | | | | | | This follows the same pattern now used in other public classes. Change-Id: I999c6ba7fc594cdb77da47482e1060542fe86861 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix a crash in WebEngineSettings when opening a new windowJocelyn Turcotte2014-08-157-28/+14
| | | | | | | | | | | | | | | | | | A new window means that the QWebEnginePage gets its WebContentsAdapter swapped and that the pointer in WebEngineSettings must be updated. Do the WebContentsAdapter-to-WebEngineSettings binding in WebContentsAdapter::initialize to cover both cases. This also refactors the way that QWebEngineSettings is created by removing the need to pass a QWebEngineSettingsPrivate instance to be adopted, and also move the global settings construction logic in the singleton accessor instead of relying on the fact that it uses a different contructor. Change-Id: I6f8a2ed1407a4b25f9898526db9432721c354ddf Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Fix unused parameter warnings in qwebenginepage_p.hJocelyn Turcotte2014-08-151-1/+1
| | | | | Change-Id: I17bcd79ee2dcb539f369a8f4a8d59949e09930be Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Handle new window/tab modifiers also on normal navigationsJocelyn Turcotte2014-08-157-32/+105
| | | | | | | | | | | | | | | | | AddNewContents is only called when window.open is called from JavaScript. We also want the shift/ctrl modifiers to trigger normal links to open in the requested disposition. In this case OpenURLFromTab will pass the detected disposition and we must create a new WebContents ourselves. Use the same code path going through WebContentsAdapterClient::adoptNewWindow except that we pass a null WebContents pointer to the WebContentsAdapter constructor and let it create its own when initialized. Change-Id: I817b0e72aec12723bf92d9b7ad85c1cecbf5e408 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix uncalled callbacks with findTextJocelyn Turcotte2014-08-154-10/+51
| | | | | | | | | | | | | | | | | Calling findText successively might prevent the previous pending FindReply to be sent, which would leak the callback on the application side. This would cause a crash in qupzilla since we empty all pending callbacks in the QWebEnginePage's destructor to catch this kind of issue. This also renames lastRequestId to nextRequestId to make it clear that this is the ID generator for everything, including findText, and that lastFindRequestId is only a tracker. Change-Id: Ia78d553a58ed31af7237aad8772fa9828560c6d4 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Don't build release with debug info by default on WindowsJocelyn Turcotte2014-08-141-0/+3
| | | | | Change-Id: Idf4373bc10367dfc15445c4c530915cbda04ae9c Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Exclude accessibility files on windowsJocelyn Turcotte2014-08-141-0/+13
| | | | | | | | | | This allows the BrowserAccessibilityFactoryQt and BrowserAccessibilityQt classes to also be used on Windows, and this also remove our dependency on ATL, which is only easily available for Visual Studio Professional users. Change-Id: I1a9c047f0343252a0b6fcc215b84e4c2f3d664b4 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Use the toolchain from PATH on WindowsJocelyn Turcotte2014-08-142-9/+18
| | | | | | | | | | | | | | We don't want to fetch the compiler path from the mkspec on Windows the same way that we do on linux/embedded. Qt usually let the build environment decide the MSVC toolchain, as it is usually done on Windows. This patch also passes the ninja_use_custom_environment_files ninja generator option to make sure that gyp doesn't try to construct the build environment by running the env scripts itself. Change-Id: I6e04471eb994b81a9f1b8b5f149b4dbddbb320a8 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix the build on Windows due to backslashesJocelyn Turcotte2014-08-141-4/+9
| | | | | | | | | | | | | | | | A gyp variable containing backslashes would be evaluated twice when passed through grit_action.gypi in src/core/chrome_qt.gyp. For some reason, gyp would end up reducing the escaping of backslashes once for each variable evaluation, which would completely remove backslashes from the value. Fix the issue by making sure that we pass paths to gyp with slashes instead of backslashes. Python will know what to do with them regardless. Change-Id: Id38866fd63a2ba1524a8c998fe577f7f50fca059 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix the build on windows when qtwebengine.chromiumsrcdir isn't setJocelyn Turcotte2014-08-143-8/+10
| | | | | | | | | | | | | | | qtwe_chromium_obj_dir wasn't falling back to src/3rdparty if the config couldn't be found in git. Move the fallback logic to a getChromiumSrcDir qmake function, and use it in both places. The build system will now also print that the Chromium sources will follow the git config if found instead of the other way around, since this should now be the normal case as part of Qt5. Change-Id: I5ab972ab53156c1bd033518e2eb51013559491ac Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Use the unified gesture recognizerJocelyn Turcotte2014-08-143-174/+105
| | | | | | | | | | | | | | | | | | | | | | | The ui::GestureRecognizer is now tightly coupled with Aura and won't be usable on Mac or Android. Fortunately, the reason for this is that a new gesture recognizer common to both Android and Aura, ui::GestureProvider has been introduced. Using it allows us to stop pulling touch event types from Aura build files. Most of the change is about using ui::MotionEvent instead of ui::TouchEvent, and to feed them to the GestureProvider. A major difference is that the touch events sent to the renderer are not passed through the gesture recognizer only when the come back unhandled. They are instead always sent to both the renderer and the GestureProvider, and the call to OnTouchEventAck on the gesture filter tells it if the next event in the queue was handled or not, deciding if the gesture should be cancelled. Change-Id: Ifccebf85800cdf0ef29cf52b13f1bd659428e3f6 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Update the QtWebEngineCore library to run on top of Chromium 37Jocelyn Turcotte2014-08-1448-467/+285
| | | | | | | | | | | | | | | Most of the patch is about upstream classes/methods that changed. Other important details: - icu data files are now used by default - cygwin is no longer required to build on Windows - RenderFrameHost has been replacing RenderViewHost in a few places, following the separate process iframes support in Chromium - The user agent is accessed through ContentClient::GetUserAgent instead of from the command line switches Change-Id: I86cc93aff7ce31176a80b0b4a5d54025674a451c Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Update the scripts for the snapshot of 37Jocelyn Turcotte2014-08-143-61/+72
| | | | | | | | | | | | | | | - The svn repo string would be something like: ...branches/2062/path_suffix and I want only the branch number in this case. Updated git_submodule.py to support that case and use regexp instead to keep thing a bit simpler. - .isolate are gyp files, moved the exception at the top - Changed some inclusions/exclusions - tools/ is now all excluded by default with exception instead of all included. We don't need most of it. Change-Id: I6d0666d9af7fc6a0f3c4fe866adf2744f13f7c35 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Disable chromium error pagesPeter Varga2014-08-141-1/+1
| | | | | Change-Id: I6b70b6199f0502ef67043325e7b7680529bd33fa Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Rename the 3rdparty submodule to match its pathJocelyn Turcotte2014-08-131-1/+1
| | | | | | | | This will be one less edge case that qt5.git's init-repository script has to worry about. Change-Id: I0b20769ab45c5521ac6f56ffd69b50fba6f8b543 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Add QJSValue support to the public API testSzabolcs David2014-08-131-1/+5
| | | | | | | | | | | | QJSValue is not a built-in QMetaType (it's ID is over 1024 [QMetaType::User]) and we can't get the QML type names from the QML engine, so I hardcoded it in this test. The check of the "void" is unnecessary, because that is built-in: QMetaType::Void Change-Id: I0d7668abedc8830b4bba39ff60bce644fe97888b Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Widgets settings implementationPierre Rossi2014-08-127-24/+408
| | | | | | | | | Implementing what is already available, namely the WebAttributes, font preferences and default text encoding, as well as a slightly different take on privateBrowsing. Change-Id: I128f060a4661d19aa1c9c4d6daae1f80fb33204b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Opt-out of the build on platforms where we won't build successfullyJocelyn Turcotte2014-08-124-21/+34
| | | | | | | | | | | To allow the qt5.git integration, allow the build to succeed if the repository is checked out on a platform that we don't maintain. This is the initial list of platforms that we want the integration to succeed and we can add new ones once we start maintaining them. Change-Id: Idce2a84eb8d5b1ef7f14d399fe013f666b479108 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Update the library and QML version to 1.0Jocelyn Turcotte2014-08-1221-21/+27
| | | | | | | | Also update all the examples to use 1.0 as 0.9 shouldn't be publically recommended. Change-Id: Ic58e35bdfd3a0f3d5201fc069b7103027ba84574 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Ground work for Settings/PreferencesPierre Rossi2014-08-0914-0/+519
| | | | | | | | | | | | Core interface to expose toggling some of the WebPreferences for now and most probably some of the WebRuntimeFeatures soon. The whole dummy settings business is meant to keep things from breaking too much when bisecting, because it is assumed that there are always valid settings for a given adapterClient. Change-Id: Ic0a62bcb5af8c0254436dc770b43cde5016c3bbd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Use VisitedLinks component.Pierre Rossi2014-08-0811-3/+253
| | | | | | | | | This allows to resolve visited links in the render process. The newly introduced API at the Core layer should allow exposing this functionality to our widgets and Qt quick API layers. Change-Id: I256376afcfe79014dc274e2dddbac1986a884a93 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Add findText to Quick APIPeter Varga2014-08-075-1/+323
| | | | | Change-Id: Ic0de45c1fe2a5537d61ad446c96fe8fda7c30966 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Remove duplicate code for egl extensions and native display queryingAndras Becsi2014-08-064-20/+12
| | | | | | | This is now possible through GLSurfaceQt, and GLContextHelper respectively. Change-Id: I06e13ccdea9737dc41b034befb4f01aa08d72c2a Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Get rid of QOpenGLContextPrivate::setGlobalShareContexJocelyn Turcotte2014-08-062-4/+10
| | | | | | | | | | | Manually import qt_(set_)gl_global_share_context from QtGui instead. The binary compatibility of those symbols should be maintained in QtGui, allowing us to avoid depending on private API. Change-Id: I1f954ec10a793c3195d3aec01409dde1bc767d64 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Use QSGEngine instead of the private QSGRenderContextJocelyn Turcotte2014-08-068-70/+45
| | | | | | | | | QSGEngine was added in Qt 5.4 to allow using the scene graph without QQuickWindow. Use it for our FBO as well as for the QOpenGLWidget rendering. Change-Id: If4665d4f33c9dad69d2d4269309163bb5ffbd8e3 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Move the runJavaScript function from experimental to public APIAndras Becsi2014-08-066-12/+27
| | | | | | | This is essential API that should be public. Change-Id: Ifbd86171933936112e2495ebed074faa2e52464d Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Clean up opaque pointer handling for QQuickWebEngineLoadRequestAndras Becsi2014-08-062-20/+30
| | | | | | | | | Hide QObject's d_ptr member and use the macros when accessing the private class. This patch also adds missing qt namespace macros to the implementation. Change-Id: I004e3ea52bf21618835724d218f2a405f77ca4d1 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Add QQuick API for intercepting navigation requestsAndras Becsi2014-08-0616-18/+580
| | | | | | | | | | | | Add missing navigationRequested API to be able to intercept navigation requests. This is useful for ignoring requests for example in kiosk-like applications that want to restrinct navigation to a specific url or domain, or want to disable specific types of navigation requests (e.g. reloading, clicking links, form submissions). Change-Id: Ie375e635a3c3566527972d05f5d99b39489c5ca8 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Expose better error information in loadRequest.Pierre Rossi2014-08-0416-9/+167
| | | | | | | | | | | | Use the chromium localized error strings for that purpose, otherwise the error description is always empty. While we're at it, let's tap into the chromium error pages, which should hopefully make sense for most errors, and add some static asserts to check that the qt quick enum and the core one are in sync. Change-Id: Icf8fa7c3bf4a674c60a10950422135fb6930447a Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* s/QWebEngine/QtWebEngine/gPierre Rossi2014-08-048-11/+19
| | | | | | | and make it a namespace Change-Id: I15c1af8c7d0d8ab213cdf7945109263fe461d2ac Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Do away without QWebEngineWidgets::initializePierre Rossi2014-08-0413-25/+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>
* Fix tst_QWebEngineFrame::setUrlWithFragment testSzabolcs David2014-08-041-3/+4
| | | | | | | | | Change this test to rely on urlChanged() instead loadFinished(), because we don't get loadFinished signal if the load was handled by the same page. Change-Id: I65aa06afa4512fa845074ad97b87ecba16da687e Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@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>