summaryrefslogtreecommitdiffstats
path: root/src/core/web_engine_context.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use VisitedLinks component.Pierre Rossi2014-08-081-0/+9
| | | | | | | | | 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>
* 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>
* Windows: Use single process binary on Windows and fix GL contextPeter Varga2014-05-211-0/+5
| | | | | Change-Id: Iee7f3dc7fb9deba03e57a80ed48b74069490fe0d Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Buildfix after Iacc6cff82c0f071d1c8901977748d6164fb0a87d.Zeno Albisser2014-05-201-0/+2
| | | | | | | We only do have the scoped_ptr m_surfaceFactory on Android. Change-Id: Ia377afa9a8662498fca005994bd5fbec5c41bc9e Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Use the same switches for both embedded Linux and AndroidJocelyn Turcotte2014-05-191-2/+3
| | | | | | | | This also explicitly enables impl-side painting, which is enabled by default on Android, hard-coded behind an #if defined(OS_ANDROID). Change-Id: Iacc6cff82c0f071d1c8901977748d6164fb0a87d Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Fix jerky pinch-zoomingJocelyn Turcotte2014-05-191-1/+0
| | | | | | | | | | | The kEnableScrollPrediction switch uses event timing to extrapolate events but this considerably reduces the smoothness of pinch-zooming. Assuming that this feature expects very well timed events, which we don't have in most of QPA platform plugins, disable the feature. Change-Id: I96bdd8b9e9cc870e232ad9c98bcad5857608870b Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix a crash preventing us from using ImplSidePaintingJocelyn Turcotte2014-05-161-1/+0
| | | | | | | | | | | | | | Because of an uninvestigated reason, ImplSidePainting can cause more than one quad to use the same resource_id in one delegated frame. Fix the issue by first checking if m_data->mailboxTextures contains a texture for the resource_id before overwriting it. This also re-enables the feature on OS_ANDROID where it is enabled by default. Change-Id: Ie7842f958e1c049db71ffc2a0a768a5725102a3d Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Set the QtWebEngine modules version to 0.9.0Jocelyn Turcotte2014-05-161-1/+1
| | | | | | | | | | | | | | | | | | | | Also make sure that this version number appears in the user agent string and in the QML imports. The plan, unlike other Qt modules, is to keep our module and QML versions in sync to make it easy for developers to figure out what API is available in a given version. The QTWEBENGINECORE_VERSION_STR define is explicitly set in the .pro file since we don't call syncqt to generate a version header for the core module. The 0-major version currently causes the library name to start with libQt0 instead of libQt5, but this is something that we can fix in qtbase once we want to officially support linux desktop with QtWebEngine 1.0.0. Change-Id: I31915e84869b4db456416ef1f85a2296b8a06c99 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Enable GLContextHelper and register a SurfaceFactoryQt on eAndroidAndras Becsi2014-05-151-0/+7
| | | | | | | | | | | | This is needed to run on certain hardware that needs the shared EGL contexts to be created on the same thread. To prevent a deadlock on eAndroid only use a blocking connection if we are not on the main thread where the singleton was created, since there is a call to this from gpu_info_collector_android before the GPU thread is launched. Change-Id: I6887ad1218b8426097f454741dc5a79ee94f9d62 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix an assertion in MediaCaptureDevicesDispatcherJocelyn Turcotte2014-05-071-0/+6
| | | | | Change-Id: I169f142e867ed1bda52dff7f5f66fb88ed802c01 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Windows: Fix yet another crash in ContantMainRunnerImpl::InitializePeter Varga2014-05-071-1/+5
| | | | | | | | Without initialization of the SandboxInfo it still crashes: g_broker_services is null. Change-Id: Ib4bc0666fefe0f81b489e0ef3c179eae866f804f Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Set Chromium to EGL on eglfs tooLaszlo Agocs2014-05-061-1/+2
| | | | | | | Don't try to use GLX on regular Linux builds when using eglfs. Change-Id: I491ab4931e3e26869069680aff6aaab499c61986 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Update eAndroid for new snapshotAndras Becsi2014-04-241-2/+6
| | | | | | | This patch adds configurations and updates command line switches. Change-Id: I0223695cc3a743bb2364a73e56fe5391dc43663d Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Windows: Fix a crash in ContentMainRunnerImpl::InitializeJocelyn Turcotte2014-04-151-1/+6
| | | | | | | | | It will try to dereference the SandboxInterfaceInfo* that we pass it. Fix the issue by creating a dummy instance on the stack when calling it. Change-Id: Ibdddf4ff9c9e5b179ec1cb1dfb4355a0f9885fd5 Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Add GLContextHelper class for EGL context creation.Zeno Albisser2014-04-091-0/+3
| | | | | | | | | | | | | | | | | | | | Shared EGL contexts should always be created on the same thread, as otherwise context creation might fail. We use a GLContextHelper singleton that is initialized on startup and creates the contexts when requested through a BlockingQueuedConnection. There is a pretty and a correct solution for this problem. This is the pretty one. It is based on the assumption that Chromium decides to use the same or a similar enough configuration for the EGLContext as Qt previously did. But we prefer pretty over correct as the correct solution would potentially impose a layering violation. This is enabled for all embedded linux devices. Change-Id: I910cc90d0f87fd6d1fe0a475b17ba56cd8c503f6 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Get rid of the BackingStore rendering pathJocelyn Turcotte2014-04-081-26/+7
| | | | | | | | | Now that the widgets view is also using the delegated renderer, there are no supported configuration that use the BackingStore rendering path, itself on the way of deprecation in Chromium. Change-Id: I4ab889f6a7c65e8447c259faf2c7a98b88c1acf5 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Add Chrome version to our user agent stringPierre Rossi2014-04-021-1/+7
| | | | | | | | Some websites still rely on user agent strings to detect available features in 2014 apparently. Change-Id: If7240be15d6bfb24618bea0d45ed8dc0d7392af4 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Add comman line switches needed for embedded AndroidAndras Becsi2014-03-041-4/+22
| | | | | Change-Id: I870952054a11ec531e2d2a85ea1331cc67a5b8f3 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix path service assertionsAndras Becsi2014-02-131-6/+1
| | | | | | | | | | | | | Registering a path provider did not turn out to be a clean enough solution for overriding chromium paths because of debug assertions that require the key range not to collide with already registered path providers. Instead of patching chromium or using workarounds switch back to using PathService::Override and only replace the jni-based default PathProviderAndroid on embedded android. Change-Id: I4530bc8fa3eba36c0d2403729be9a792f3c2120f Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix WebEngineContext not being ramped down in testsJocelyn Turcotte2014-02-121-1/+1
| | | | | | | | | | | | | aboutToQuit is only emitted if QCoreApplication::exec is run, which isn't used by Qt's testlib. Register an application shutdown handler using qAddPostRoutine instead, which is going to be executed whenever the QCoreApplication is destroyed. Change-Id: Iec7d1e528dce79cbe7a73b450b2a0d2df793038a Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Register a path provider for Qt instead of using PathService::OverrideAndras Becsi2014-02-061-6/+6
| | | | | Change-Id: I465a5465ec4189b077a8c1cbab7485c628eca899 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix WebEngineContext on WindowsZoltan Arvai2014-01-131-0/+4
| | | | | | | | | | | | AppendSwitchASCII won't accept WChars, it would need WideToASCII conversion. But on OS_WIN AppendSwitchASCII method only wraps parameters for AppendSwitchNative with ASCIIToWide. Doing ASCIIToWide(WideToASCII()) not seems to be a useful idea, so we should call directly AppendSwitchNative on Windows. See chromium/base/command_line.cc. Change-Id: I9733993840ddaef2dbb3176135977c39a967e381 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix the QQuickWebEngineView rendering with 1650.Jocelyn Turcotte2013-12-201-0/+12
| | | | | | | | | This is now initialized by Chromium in ContentMainRunnerImpl::Run, which we bypass for our browser process. Change-Id: Id8233df3fe12048cd2b6eaf870b161ab5d1eb089 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Avoid errors when closing the applicationJocelyn Turcotte2013-12-161-2/+9
| | | | | | | | | | This also fixes the crash on shutdown encountered when returning a TEXTURE_TRANSPORT GLSurfaceHandle from RenderWidgetHostViewQt::GetCompositingSurface. Change-Id: Ic92238907a3e7f9d0db4bf114269c1ca5cca5aa6 Reviewed-by: Arvid Nilsson <anilsson@blackberry.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix the utility process launching.Jocelyn Turcotte2013-12-131-0/+2
| | | | | | | | | | | | | This would cause a crash of the render process while loading facebook.com since the utility process would try to use /proc/self/exe on linux. Bring back the kBrowserSubprocessPath switch to specify our subprocess executable. Change-Id: I4822d43f4a2b5ee86b941721da5ebb47d7a97c5d Reviewed-by: Arvid Nilsson <anilsson@blackberry.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Use QVector when creating argv for the command lineAndras Becsi2013-12-041-2/+4
| | | | | | | | MSVC does not support variable length arrays. Change-Id: I59ef844256eb1b2666331e5ed0411f63e36883ba Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add Android specific build settings and command line switchesAndras Becsi2013-12-041-0/+7
| | | | | | | | Although this is an unsupported platfrom for QtWebEngine it is needed for Boot2Qt-Android and can live upstream. Change-Id: I21fea1fd00c1206e3b56373349b30df5ee121fda Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Use ContentMainDelegateQt also for child processesPierre Rossi2013-12-031-50/+1
| | | | | | | | This will be necessary in order for the render process to load localized strings among other things. Change-Id: Ibb75e49f0bc583c158af61817e5b350f3534ec16 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Moving sources to src part 1: Move files.Jocelyn Turcotte2013-11-281-0/+184
This only move files without adjusting any paths. This moves: - lib/quick -> src/webengine/api (API files) lib/quick -> src/webengine (other files) This contains the main QtWebEngine module library since <ec7b2ee70a8b2db7fb87f50671a001ddd54697b0>. - lib/widgets -> src/webenginewidgets Also rename this directory to match its module name and rename Api to api. - lib -> src/core - process -> src/process - resources -> src/core/resources - tools/* -> tools/scripts/ The build directory is spread as follow: - build/build.pro -> src/core/gyp_run.pro - build/qmake_extras/* -> src/core/ (for the host and target .pro files) - build/qmake -> tools/qmake - Build related scripts -> tools/buildscripts Change-Id: I0cded1de772c99c0c1da6536c9afea353236b4a1 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>