summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add loadProgressSignal QML test.Szabolcs David2014-01-242-0/+74
| | | | | Change-Id: I785bbcd81061228d437fd7334809c9b85ab18f38 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Add loadProgress QML test.Szabolcs David2014-01-243-0/+70
| | | | | Change-Id: I3989f114520900246fa78f7f6bb6068be398ee63 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Clear callbacks with an empty value on page destructionJocelyn Turcotte2014-01-223-6/+43
| | | | | | | | | | | | | | | The current implementation offers no way to cancel async requests. This means that normal applications could easily allow callbacks to dereference a destroyed object unless they use a smart pointer within the callback function object. This patch will empty the pending callback list by calling each of them with an empty value. This will at least allow applications to cover the cases where the page is expected to have a shorter or equal lifetime than objects referenced in the callback. Change-Id: Ia9fc556b03f5d83f904a0ff4b05dc9e440ea488c Reviewed-by: Pierre Rossi <pierre.rossi@gmail.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>
* gitignore updatePierre Rossi2014-01-221-5/+6
| | | | | | | to unclutter git status --untracked once again Change-Id: Ia329f321e1e1689cbb990d66580234c666bb5416 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix findMocables on WindowsZoltan Arvai2014-01-221-1/+1
| | | | | | | | | | Replace doesn't matches anything with QMAKE_DIR_SEP, that is backslash on Windows, because absolute_path and _PRO_FILE_PWD_ returns forward slashes. Change-Id: Ieba1684782d565885f4069f408cfb129476e301d Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix Qt's moc path on WindowsZoltan Arvai2014-01-221-1/+1
| | | | | | | | | Backslash from mocCmdBase is processed as an escape sequence in generated gyp file. E.g. Qt5\bin\moc.exe turns to Qt5[BS]in\moc.exe. Change-Id: I09a04b0e168e1139720c44307f192f7a9368ad43 Reviewed-by: Michael Bruning <michael.bruning@digia.com>
* Unskip and ajust tests using setHtml, setContent, toHtml and toPlainTextJocelyn Turcotte2014-01-225-60/+79
| | | | | | | | | | Replace direct calls of toHtml and toPlainText to use a blocking helper function that spins a QEventLoop to wait for the async result. This should work fine for tests where the event loop is less polluted by other events that could cause code reentrancy through stacked stacks. Change-Id: Ic46a06a9abad782a39a620ceecdc51c3bbb6b5a1 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Make tst_QWebEngineFrame compileJocelyn Turcotte2014-01-222-273/+388
| | | | | | | | Even though this code now test QWebEnginePage, keep it in its original file to allow easier tracking of differences with QtWebkit. Change-Id: Id001c2fcba0ee4a756fe5f32d8002e15368a191b Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Implement QWebEnginePage::toHtml and toPlainTextJocelyn Turcotte2014-01-2215-15/+143
| | | | | | | | | | | | | | | | 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-2215-2/+457
| | | | | | | | | | | | | | | | | 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-227-49/+59
| | | | | | | | | | | | | | | | | | 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-224-0/+39
| | | | | | | | | | 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>
* Add QML test framework and titleChanged test caseAdam Kallai2014-01-207-0/+323
| | | | | | | Change-Id: Ie38ee02e485702d10d0c171f2168f2685c2de2a6 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Fix QWebEngineView to page reattachment.Jocelyn Turcotte2014-01-176-3/+44
| | | | | | | | 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>
* Qt Quick File PickerPierre Rossi2014-01-157-2/+158
| | | | | Change-Id: I6195c49f1647c78b16d9d47770ab37ba998a61a5 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* JS dialogs in QtQuickPierre Rossi2014-01-1520-27/+597
| | | | | | | | | | 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>
* Pave the way for our UI delegation strategy.Pierre Rossi2014-01-1515-11/+697
| | | | | | | | | | | | | | | | | | | Starting with the context Menus for QtQuick. Add default UI delegates as a subproject. We allow ourselves to use Qt Quick Controls there for in order to get a nice "out of the box" experience for things like context menus, dialogs, etc while leaving the door open for system embedders to override this. Opting out of the deployment of these QML files is still very primitive but can be done by passing WEBENGINE_CONFIG+=no_ui_delegates at qmake time. Customization of context menus could be done via a qml component, which is probably best kept in experimental for now while we address its shortcomings. Change-Id: I0705b20d5ddd3bb010f9371b65a181c6b02a03e1 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* [Widgets] wire the file pickersPierre Rossi2014-01-1510-13/+137
| | | | | | | | | | | | | | | 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>
* Fix installation of most examplesSimon Hausmann2014-01-154-1/+7
| | | | | | | | | | * Make sure the example source code is installed * Make sure the installation path is consistent with the path within the module, to ensure that the sources end up next to the compiled binary. * Skip the widgets nano browser from the installation, as it's a developer tool. Change-Id: I35b421e12f8e6ddd3f2045e318b21543ff929cd8 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix placement of webengine processSimon Hausmann2014-01-151-2/+2
| | | | | | | | | In developer (non-prefix) builds, the binary goes to $$MODULE_BASE_OUTDIR/libexec, which is practically qtbase/libexec. In prefix builds it'll be linked to $module_toplevel/libexec and installed into $prefix/libexec. Change-Id: Ia42519f3113976e707fbda9e09dbf7ef6e235924 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Implement QQuickWebEngineLoadRequest classAdam Kallai2014-01-1511-11/+277
| | | | | | | | 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>
* Mac: Add QMAKE_FRAMEWORKPATH to compiler command line as well.Zeno Albisser2014-01-141-0/+6
| | | | | | | | This is necessary for the compiler to find include files following the "#include <FRAMEWORK/file>" syntax. Change-Id: Ia40b6bbe571e2b275a502c2de60cceeecc9b0f6b Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* README fixesPierre Rossi2014-01-141-28/+30
| | | | | | | | Separate the build instructions from getting the source. Also update some of the contents that were outdated. Change-Id: Ib0e02b69f616c0cd377a5f74df682542c21e49cc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Disable currently unsupported features in browser example.Zeno Albisser2014-01-141-6/+24
| | | | | Change-Id: I09ce8ad0372a80a2f19b95a2ba0a6fa8635debea Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Disable viewSourceAction in fancybrowser for now.Zeno Albisser2014-01-141-0/+2
| | | | | | | | This should be enabled again as soon as we have toHtml() implemented. Change-Id: I843112aa2778c05bbac9ab51f5427850a862f247 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Change init-repository.py to clone snapshot by default.Zeno Albisser2014-01-141-6/+6
| | | | | Change-Id: I48dda5ffd6f9a77a0e73bb9c6a62bfe8ebea5733 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Fix Qt5 libs linking to Qt5WebEngineCore.dll for WindowsZoltan Arvai2014-01-131-1/+2
| | | | | | | | | MSVC linker needs file extension, otherwise it searches for .obj files, but Qt has Qt5*.lib files. Change-Id: I4fd5e1d6001ea309da456c43ffc79cb5944a1ef3 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.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>
* Add script to generate tarballs for releases.Zeno Albisser2014-01-131-0/+65
| | | | | | Change-Id: I14dbc2d4770cb0efe9a227e4f113e83c50e00283 Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Minor correction of log message in qtwebengine_utils.py.Zeno Albisser2014-01-131-1/+1
| | | | | Change-Id: Id794add1267ebea804b050bb50e232bcf5f7dd13 Reviewed-by: Andras Becsi <andras.becsi@digia.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>
* init-repository.py should only be used when cloning with git.Zeno Albisser2014-01-131-0/+16
| | | | | Change-Id: I8df487f3abcdaae9303c8353b6a9f26c88bc6840 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Handle exception thrown by subprocess.check_output.Michael BrĂ¼ning2014-01-131-2/+5
| | | | | | | | | The || true syntax does not work on Windows. Also, normalize the paths to the underlying OS style. Change-Id: Ie13d2646fe239fccb9ab7b558a6c8d56b779b206 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Disable Werror by defaultPierre Rossi2014-01-112-13/+4
| | | | | | | | | 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>
* Little cleanup in take_snapshot.py scriptPierre Rossi2014-01-101-6/+0
| | | | | | | Removing some duplicate lines Change-Id: I92059eb42cedf5f912a595bbab4a73a1011d6dae 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>
* Add placeholders for missing repack_locales switchesAndras Becsi2014-01-101-0/+4
| | | | | | | | | | | | | On some embedded setups and Windows unittest targets bring in new locale repack actions which use the -g and -b switches of repack_locals.py with @pymod_do_main. Since we did not implement these options the script execution failed. Add placeholders for these options. Change-Id: Ie11928b025448bc059fb1e3f2e695fb7698a7937 Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Remove Q_UNUSED(uri) from webengine/plugin/plugin.cppAdam Kallai2014-01-081-1/+0
| | | | | | Change-Id: I403e7e3c89bd1881b96b1cc345ccdf115ceea5e9 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* quicknanobrowser: reset progress bar when reaching 100%Zeno Albisser2013-12-231-1/+1
| | | | | Change-Id: I146df83948017b5ad72e40d16a8cc7105691c309 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* createWindow QML API for QQuickWebEngineViewJocelyn Turcotte2013-12-235-21/+168
| | | | | | | | | | | | | | | | | | | | | | | | | This implements adoptNewWindow for QQuickWebEngineView. The API is only intended to be used through QML to avoid delegating the QQuickWebEngineViewHandle ownership through a signal parameter. Another limitation of the implementation is currently to fail the handle adoption unless it is done synchronously within the adoptNewWindow call. To support this we would need to delay the call to WebContentsAdapter::initialize which will leave the adapter without a client when returning to the event loop and would require putting null checks everywhere it is used. So I would prefer to keep the API limited and avoid potential crashes. If we want to support asynchronous Loader elements or QML files fetched from the network in the future, the API should be able to scale to the task once we've adjusted the implementation. This also adds basic tabs support in the quicknanobrowser example. The url property is now set imperatively to avoid overwriting the adopted WebContentsAdapter's loading URL. Change-Id: Iba5c5dc3ffa21045f356be131ca15c01b9aee7c8 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Zeno Albisser <zeno.albisser@digia.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>