summaryrefslogtreecommitdiffstats
path: root/src/core
Commit message (Collapse)AuthorAgeFilesLines
* Fix Qt5WebEngineCore linking on WindowsZoltan Arvai2014-02-111-1/+2
| | | | | | | | | | BUILDING_CHROMIUM define have to be moved to the related project in core from default_pre.prf. Otherwise dllexport would be used instead of dllimport while linking to webengine and webenginewidgets. Change-Id: Ifed117f420591dcb7f97f12924b83ab86ead6216 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Implement requestFullscreen for QQuickWebEngineView.Zeno Albisser2014-02-113-0/+17
| | | | | | | | | | | | | | This patch adds a property isFullScreen and a signal fullScreenRequested to QQuickWebEngineViewExperimental. The signal fullScreenRequested is emitted when some web content requests fullscreen through the javascript API. The property isFullScreen is supposed to be set programmatically when the view is being shown fullscreen. This information is then available to the WebContentsDelegateQt when checking if the fullscreen request has been accepted. Change-Id: I04cbb45f263a188d26cc87d70ac53b0fbab63936 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Add TakeFocus in WebContentsViewQt for passing on tab focus.Zeno Albisser2014-02-103-0/+8
| | | | | | | | | | Chromium calls RenderViewHostDelegate::TakeFocus when the last focusable item within the page was reached. We then have to move the focus on to the next/previous QQuickItem. Change-Id: Id0128053602ff1220c1bced1b218050b66fef659 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Implement basic support for input method events.Zeno Albisser2014-02-083-0/+22
| | | | | | | | This is needed to get text input working again on Mac. Underlines are currently being ignored. Change-Id: I2a1074a1151e9be6f96ebe12fd0bb40a0eb63d6a Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Use arm_neon_optional from armv7 onward if not explicitly enabledAndras Becsi2014-02-061-6/+10
| | | | | | | | | This makes our behavior consistent with chromium if the Qt toolchain does not explicitly enable NEON instructions, which would result in undefined symbols otherwise. Change-Id: Idc4f355714ede4206f4650664f6c24784100e7d8 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Register a path provider for Qt instead of using PathService::OverrideAndras Becsi2014-02-065-26/+96
| | | | | Change-Id: I465a5465ec4189b077a8c1cbab7485c628eca899 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Move the implementation of BrowserContextQt to its own cpp fileAndras Becsi2014-02-055-90/+170
| | | | | Change-Id: Ie44a8733e3f9123c3d086f8df9ddcf2833bd235b Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Clean up qtwebengine.gypiAndras Becsi2014-02-051-50/+33
| | | | | | | Fix the indentation and remove some obsolete settings. Change-Id: I59d3c00f481b2ae124e1b3a6434ff5c68acde53d Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix the embedded buildAndras Becsi2014-02-055-5/+59
| | | | | | | | | | Adopt to toolchain changes and fix the build with the current snapshot. This patch adds some missing overrides and build system configurations. Change-Id: I488929500347bdb5a077ac14e9553cedfcaa605d Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Quick: Support reparentingArvid Nilsson2014-01-317-51/+73
| | | | | | | | | | | | | | | | | To support reparenting, we make the compositing surface independent of the window by using gfx::TEXTURE_TRANSPORT. We also need to be able to keep frame data across window changes so we can reconstruct the QSGNode tree in a new context, so extract that data into DelegatedFrameNodeData class. Any context-specific data is still stored in DelegatedFrameNode. Also hook up window changes to WebContents::WasShown/Hidden for Quick. Remove checking of Qt isVisible state, this mechanism is used to sync Chromium with Qt, not the other way around. WasShown/Hidden is orthogonal to Show/Hide, and can use different triggers. However for Widgets it probably makes sense to hook both up to widget visibility. Change-Id: I1ef4b50cd61b8e54b791e03f0b41929c42fec8bf Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* WebPage: Implement javaScriptConsoleMessagePierre Rossi2014-01-303-0/+9
| | | | | | | And unskip the corresponding autotest. Change-Id: Ida2dcee38b261b2ba4ad0c5c016f5510ed1590a4 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Remove a FIXME after Chromium update.Szabolcs David2014-01-281-2/+1
| | | | | | | Load progress is already available in the current snapshot. Change-Id: I997b25a1da284b43d442d3105105be3455628087 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Pre-start the render process upon initialiazing the adapterPierre Rossi2014-01-281-1/+7
| | | | | | | | | | | | | | | This should provide us with an initial empty document, which our imported autotests tend to assume all over the place. Initialization of the adapter is moved further down in QQuickWebEngineView's constructor so that the value of q_ptr is set and valid by the time we end up in WebContentsViewQt::CreateViewForWidget. Change-Id: I45d8d61e65caa3a690461b6da44adea9f8981e7e Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix the build on embedded platformsAndras Becsi2014-01-282-0/+5
| | | | | | | | | | | | | | | We should not include chromium headers outside of core since they might depend on defines or other build options only set in the gyp/ninja environment. This patch removes the need to include net/base/net_errors.h in the API implementation of the QQuickWebEngineView and also removes the chromium source directory from the global include path. This prevents including chromium headers outside of core by mistake and also makes it possible to load the project in QtCreator without disabling indexing. Change-Id: Icd13b6caa52509ef2a1b6b44eaffb34d8ae4addf Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Add loadUrl QML test with stopStatus test case.Szabolcs David2014-01-281-0/+1
| | | | | | | Fix the webEngineView.stop() function in the WebContentsAdapter. Change-Id: I82c5000fb3cbc5aff59dd0c4c7c86ca7755a6329 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix html5 videoAndras Becsi2014-01-224-1/+22
| | | | | | | | | | Deploy the built ffmpegsumo library and make chromium find it by overriding the content::DIR_MEDIA_LIBS path with the deploy location. We deploy the plugin to $$[QT_INSTALL_PLUGINS]/qtwebengine. Change-Id: I0aeb37fccd2af62b23f8e6405041655e1f66b7aa Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Fix a crash in JavaScriptDialogControllerPierre Rossi2014-01-221-4/+5
| | | | | | | | | | We already remove the active dialog for a given WebContents from the map when it's accepted/rejected. We should hence not expect to get a valid dialog controller on subsequent attempts (when the WebContents get destroyed for instance). Change-Id: I522308e20772a55f1bcba26047b3f4e4aef94082 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix JavaScriptDialogControllerPrivate's typeZoltan Arvai2014-01-221-1/+1
| | | | | | | | | It used as a struct in javascript_dialog_controller.h but it is a class in javascript_dialog_controller_p.h. Change-Id: I3b2fdf26a1673fb5fef5f7c468367eca559493f8 Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Implement QWebEnginePage::toHtml and toPlainTextJocelyn Turcotte2014-01-228-0/+79
| | | | | | | | | | | | | | | | Those methods are now made asynchronous and need to be given a callback to handle the result. Update the code in the browser and fancybrowser examples using std::bind when using C++11 or tr1::bind with C++03 (which should be available with compilers on platforms that we support). Add a (currently failing) earlyToHtml test to make sure that an empty page doesn't crash because of a possibly incomplete attachment of the QtRenderViewObserver. Change-Id: I3ab7cb6f25b91b584dd80df5e4e9ad1e3214348e Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Add a stub message system to communicate with the blink WebViewJocelyn Turcotte2014-01-2212-2/+428
| | | | | | | | | | | | | | | | | This follows the model used by the Android WebView's AwRenderViewExt class. QtRenderViewObserverHost is attached to the WebContents and QtRenderViewObserver is attached to the RenderView in the render process. Both can exchange messages together and allow async commands to be carried from WebContentsAdapter and the result sent back through WebContentsAdapterClient. This patch also adds a renderer subdirectory to start matching the directory structure of Chromium. Change-Id: I724ca2fe2a597dcd2a15e8e1a23c4eeba1190703 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Refactor the callback mechanism used by runJavaScriptJocelyn Turcotte2014-01-223-17/+21
| | | | | | | | | | | | | | | | | | This prepares the way for other API made async like toHtml and toPlainText. Use a callback class with an implicit templated constructor to carry the functor across the API boundary and avoid the intermediate helper method as the ABI that we have to maintain. Also pass the callback result through WebContentsAdapterClient using a bookkeeping ID instead of transferring the callback to WebContentsAdapter. This will allow other calls, which might not already allow passing a callback functor, to use a consisten way of carrying back the result to the top API layer. Change-Id: Ia923767b9c1021a108c26da17d4c41878ef7cb95 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Implement QWebEnginePage::setHtml and setContentJocelyn Turcotte2014-01-222-0/+17
| | | | | | | | | | Load a generated data: URL to carry the data. This is not as efficient as it could be but the behavior matches and this should be fine for now. Change-Id: I26ad2e5976025a3044fb03f066074ce6dd34e575 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fix QWebEngineView to page reattachment.Jocelyn Turcotte2014-01-172-0/+8
| | | | | | | | This fixes the crash in tst_QWebEngineView::reusePage. Also add a test to check the case where show() would react incorrectly. Change-Id: I40247c7c225d74b26675b6a7fa5ff1f06d3bb3e6 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* JS dialogs in QtQuickPierre Rossi2014-01-159-10/+290
| | | | | | | | | | Refactor JavaScriptDialogManagerQt to support a Qt Quick dialogs friendly approach. Qt Quick dialogs are still missing a prompt, so we use a "handmade" one. This should be solved before 5.3 though. Change-Id: I965df66837b2e81d6e4618a8da1167a37661c26e Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* [Widgets] wire the file pickersPierre Rossi2014-01-156-0/+83
| | | | | | | | | | | | | | | Introduce a new version of chooseFiles in QWebEnginePage. The existing API in WebKit1 seemed a bit dusty in any case (multiple only supported via extensions). Changes are: * oldFile becomes oldFiles, so that we could at a later stage expose the already selected files in the "multiple" case. * a type is introduced, for now limited to multiple selection, but over time, we might consider additions such as directory upload. Change-Id: I14cfea64ce95e892a0a1877c8cb914c5a421409f Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Implement QQuickWebEngineLoadRequest classAdam Kallai2014-01-152-2/+2
| | | | | | | | It contains information about a requested load of a web page. Change-Id: Ie45706adb51ee5bce98e7af01252d9a8389db57d Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix ContentMain calling in processMain for WindowsZoltan Arvai2014-01-131-0/+11
| | | | | | | | | | ContentMain has a different parameter list for Windows. Currently no sandbox is in use, just fitting in with the required parameters. See chromium/content/app/content_main.cc. Change-Id: I6c3918efaafbf48bd4a07f377be51c22c5355cd0 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fix RenderWidgetHostViewQt::GetCompositingSurface() on WindowsZoltan Arvai2014-01-131-0/+4
| | | | | | | | | gfx::GLSurfaceHandle needs reinterpret_cast for the first parameter to match an overload. Change-Id: I4b89c38b9694ab649e1e623049573675c926a4a7 Reviewed-by: Michael Bruning <michael.bruning@digia.com> 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>
* Disable Werror by defaultPierre Rossi2014-01-111-0/+3
| | | | | | | | | We don't want everybody to have to go and tweak ~/.gyp/include.gypi just for that purpose. Change-Id: I67533a62246dea45c4b5a5a454f43d01328d472f Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix gpu::gles2::MailboxName on WindowsZoltan Arvai2014-01-111-1/+1
| | | | | | | | | | It is "struct GPU_EXPORT MailboxName" in chromium/gpu/command_buffer/service/mailbox_manager.h. MSVC won't accept class. Change-Id: I979808f357b32e1d99fe70a1138bf292b54c4e76 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Fix overrides for WindowsZoltan Arvai2014-01-112-1/+6
| | | | | | | | | | Add not yet implemented overrides to render_widget_host_view_qt.h. Remove ambiguous and unneeded override from browser_context_qt.h. Change-Id: Id1cac9bf811d8e128e5ba8df059f7ca3bdd919dc Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix type conversion for WindowsZoltan Arvai2014-01-101-3/+11
| | | | | | | | | | MSVC uses WString instead of Utf16 so this needs different conversion in type_conversion.h. Change-Id: I987acb4ea5ad5a98c94fd992a9de05f602be825d Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix DownloadTargetHelper::determineDownloadTarget on WindowsZoltan Arvai2014-01-101-1/+1
| | | | | | | | | filePathForCallback.AddExtension won't accept const char[] with MSVC. It needs to be converted with the appropriate function. Change-Id: I95506de702eab4d7b61ddf051c7a122c793da35b Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Implement WebEngineError class for handling ErrorDomainAdam Kallai2014-01-103-0/+154
| | | | | | Change-Id: I6092483d46b8d0db6193b92f2744bd836beb4912 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Make inspector listening port configurableXiaobo Wang2013-12-211-1/+14
| | | | | | | | | | | | Currently we use fixed port 1337 as inspector port. When weblauncher is launched by chromedriver it passes the inspector port as commandline argument --remote-debugging-port=<port>. Later on chromedriver will try to communicate with chrome via that port. We should use that port when starting devtools HTTP handler. Change-Id: I83e3341a535d50a129670bd0056b3ca448c8e2e5 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.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>
* Adapt to chromium API changes in refs/branch-heads/1650Andras Becsi2013-12-206-14/+17
| | | | | | | This patch also updates src/3rparty to the new snapshot. Change-Id: I56da8d795051a828d7b375e57c4dda8bc570229f 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 a crash when opening a window.Jocelyn Turcotte2013-12-161-1/+1
| | | | | | | | | | RenderWidgetHostViewQt::GetViewBounds gets called early than RenderWidgetHostViewQt::setAdapterClient when a new window is created by Chromium. Change-Id: I5ad61fc54ae773200403b222110a1d0ad541f941 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>
* Fix the build on ARMAndras Becsi2013-12-111-1/+1
| | | | | Change-Id: I5130a10d56cc7c25da0eabf51c3657ef58cebaa7 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Add ftp protocol handler.Xiao Zhang2013-12-104-17/+15
| | | | | Change-Id: Ib5ec11a23d609414f609969dbb2933d83eb6e3bd Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Introduce WebEngineLibraryInfo for providing pathsArvid Nilsson2013-12-095-35/+179
| | | | | | | | | This allows us to customize paths on BlackBerry, where QtWebEngine is currently installed to an different location than the rest of Qt5. Change-Id: I7144c992bed9fe4d7543ce0d23ee8cd5f5669dd9 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Minor clean-up in core_gyp_generator.pro and gyp_run.proAndras Becsi2013-12-092-4/+7
| | | | | | | | | | - Use QMAKE_RESOLVED_TARGET to find out the core lib target name - Pass the NINJAFLAGS env var to ninja instead of passing the content - Remove invalid dependency rule for the ninja target, which is only parsed because it looks like a qmake condition. Change-Id: I09bba8f350308d3249369171d0a3d5824f184590 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Add qrc protocol handler.Xiao Zhang2013-12-066-2/+346
| | | | | | | | | | Support qrc resources in html. For example: <script type="text/javascript" src="qrc:///xx.js"></script> <image src="qrc:///xx.png"></image> Change-Id: I490efb7cc300bf894659e79948b65729a12ad73d Reviewed-by: Milian Wolff <milian.wolff@kdab.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Use files for install instead of extraPierre Rossi2013-12-052-12/+7
| | | | | | | | | | We need to add the no_check_exist value in order for qmake to just accept that those files will eventually exist. This has the benefits of not messing with $(INSTALL_ROOT) and also stripping the library, which could prove useful. Change-Id: I43c230f185420ba92ff8e86f49b4e838ca5dd917 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Remove unused include_dirPierre Rossi2013-12-051-1/+0
| | | | | Change-Id: I4fabc860ad586755e28bd579df743822bcc2bf47 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-043-0/+22
| | | | | | | | 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>