summaryrefslogtreecommitdiffstats
path: root/src/webengine
Commit message (Collapse)AuthorAgeFilesLines
* Add documentation to WebEngineSettings QML API.Michael Brüning2015-03-161-0/+109
| | | | | | | | The documentation of the settings is more or less copied from the widgets equivalent. Change-Id: Ib969c26aaeda92d1a01450f3903c85a3e1079523 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Support HTML5 form validation featurePeter Varga2015-03-136-2/+207
| | | | | | | | | | | | HTML5 provides built-in form validation that is supported by chromium. The form validation messages should be shown by the browser therefore new MessageBubble UI element has been added to Quick and Widget implementations. This patch implements chromium's form validation events and shows the messages in a MessageBubble. Change-Id: I0c8f4f102823117e2bfb16ff8a4c503635491939 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Clean up global profiles and ownershipAllan Sandfeld Jensen2015-03-123-17/+16
| | | | | | | | | | | | | This patch removes the unused global off-the-record browser-contexts and changes all browser-contexts to be ref-counted by an API level profile. The API default profiles are now owned by a global QObject and are deleted on exit. Change-Id: Id7c9eafa24829118105f58b66663a6348216823d Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* UserScript: Rename source property to sourceCode.Robin Burchell2015-03-122-12/+11
| | | | | | | | | The name 'source' is unclear, and doesn't match current conventions in QtQuick (e.g. Image::source). Furthermore, such a property inhibits adding convenience API to fetch a user script from an external URI. Change-Id: I518b3963f64f0986f9e2d08fe7c5f69122372e0c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Add tst_javaScriptDialogs QML testv5.5.0-alpha1Szabolcs David2015-03-114-0/+83
| | | | | | | | Test alert, confirm and prompt dialogs via test support API. Change-Id: I9057a887491ac68e86ccd87181d4091323f6ee6f Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Promote fullscreen API to 5.5 publicSzabolcs David2015-03-094-14/+58
| | | | | | | | | Introduce a new FullScreenRequest object as the parameter of the fullScreenRequested signal and expose the isFullScreen property as read-only. This makes the API harder to misuse. Change-Id: Ibb072ec93843e6df265bd930e8721d244bc2f4bc Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Add testsupport QML API and error page signalsPeter Varga2015-03-069-4/+302
| | | | | | | | | | | The testsupport API is used for test those features that are not planned to be accessible via the public API. For example, signals of the chromium's error page should not be visible for the develepor but it is important to test whether the error page is loaded properly. Change-Id: Ie5b3265a207d05649cabd624a001a6ffe2e45971 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Move findText to the public APISzabolcs David2015-03-044-9/+61
| | | | | | | | | - Add a default 0 value for the FindFlags parameter - Update tests and examples - Import documentation from the Widgets side Change-Id: Ifb627a81247028416bc7a31068676ea871f6dcf4 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Quick: Fix handling of multiple certificate errors per requestPaulo Pinheiro2015-03-044-6/+21
| | | | | | | | | | | This patch enables Quick API to handle multiple certificate errors per requests and update the example projects. Chromium 40 branch raise an certificate error for every resource loaded in a request (.js, .css, .html) instead of only one (previous behavior), so requests with more than one certificate error were automatically rejected. Change-Id: Ibaa3027cd6e7f22b5dc51dcd52f76ccf5ea162d3 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* Fix the documentation of linkHovered signalSzabolcs David2015-03-031-3/+2
| | | | | | | We don't support the hoveredTitle parameter. Change-Id: Ibab3c1c409dbe47855b2f6136b25de2eb080ba1f Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Add namespace to internal QtWebEngine APIAllan Sandfeld Jensen2015-03-0222-40/+84
| | | | | | | | Adds the QtWebEngineCore namespace to all internal core API. This ensures we don't export any internal symbols in the global namespace. Change-Id: I26af888ea7c6c4c4d0f04c24a377c1a9d3c92751 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* QtQuick API for userScriptsPierre Rossi2015-02-228-0/+442
| | | | | | | | QObject-based, allowing the same things as the Widgets API in a declarative fashion. Change-Id: I9c9819b691b2098ec47e0536d47ccd2a950126c2 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* WebChannel: don't mess with the navigator objectPierre Rossi2015-02-191-1/+1
| | | | | | | | | | | | | The navigator object is actually exposed later on from WebCore using a different mechanism, so the V8 extension approach won't work with it. Better take the chrome extensions approach and expose our own. This should "un-break" the part of the web that was broken by eee482929a. Change-Id: I991be2e12bb9ebcf60ace02721497c3fcd923c7f Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Move navigationHistory out of experimentalPierre Rossi2015-02-188-43/+89
| | | | | | | | | | | | | | | Add an offset role to the models. Implement goBackAndForward that uses this offset. Also add a complete model, items, that includes current navigation entry (at offset 0) to allow for the Firefox-style single menu, and add that one to the nano browser example. The models are now instantiated lazily as it's unlikely the three models will be used by the same app. Change-Id: Ib551738611497c7eb9c501f045cda315968a2ada Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-1645-300/+300
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: Ieb6bac7a1be5c25eb7cb917495b58b6a870ca6d4 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/devFrederik Gladhorn2015-02-141-9/+12
|\
| * Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-02-131-9/+12
| |\ | | | | | | | | | Change-Id: Ic4388b2c28f46ca8047061c049128672041ceb0b
| | * Also run the rejected signal handler when closing prompt dialogs.Michael Brüning2015-01-201-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The prompt dialog inherits ApplicationWindow, which emits the signal "closing" when the window gets closed by pressing the X button. Change-Id: I23e5cf6f8e81251869d765d7fd2864257f3c0b89 Task-number: QTBUG-43902 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | | Move webChannel property out of experimentalPierre Rossi2015-02-133-13/+32
|/ / | | | | | | | | | | | | | | | | Add a notify signal to go with the setter. Parent the default-provided channel to the view. Comes with basic documentation. Change-Id: I2bde8153df5928fc92ac36b7fa4d4b3b1da22f53 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Integrate with WebChannelPierre Rossi2015-02-122-0/+23
| | | | | | | | | | | | | | | | | | | | Provide a transport mechanism for WebChannel over chromium IPC and expose WebChannel in our experimental QML API. Co-authored by Milian Wolff. Change-Id: Ia24b1d4ebc8515de677d4849ec33cb55c963918e Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Improve quicknanobrowser example with new public API featuresAndras Becsi2015-02-092-13/+9
| | | | | | | | | | | | | | | | | | | | Promote WebEngineDownloadItem and WebEngine singleton to public API and add DownloadView to the browser example. This patch also adds profile support and webengine settings to quicknanobrowser. Change-Id: Ie81fb330e640fad7feec667a8af3afe67050693f Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Proper versioning of the Quick APISzabolcs David2015-02-062-6/+6
| | | | | | | | | | | | | | | | | | - Add missing "REVISION 1" to the new parts of the API: zoomFactor, certificateError and profile. - setZoomFactor should not be a slot. Change-Id: I02551ee7eb7323ff8dbb0b62ea503ed08b2051c2 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Reverse the logic for download cancellationAndras Becsi2015-02-061-2/+2
| | | | | | | | | | | | | | | | | | Since we require downloads to be explicitly accepted we should have 'accepted' as a member in the download info instead of 'cancelled'. Change-Id: Ia8ff4a4b29f3c8631f4cb1c410ece5f11d9cdc93 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Update QML download API to match widgets and add documentationAndras Becsi2015-02-065-56/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | Rename the download signal to downloadRequested and only start a download if it has been explicitly accepted by the user, else cancel it by default. Replace the downloadPercentage property with totalBytes and receivedBytes to also give the user information about download size. Additionally this patch adds missing documentation. Change-Id: I9d895386cf033f2efffe3ebac6f08f94c6fe0c19 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com> Reviewed-by: Jocelyn Turcotte <jturcotte@woboq.com>
* | Revert the QJSValue parameter type in UIDelegateAdam Kallai2015-02-061-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | The mapping of var signal parameters to QJSValue was reverted in qtdeclarative, commit 605777e6cf557dbaf2835c63562bf3fe1620ee45. Change the FilePickerController::accepted() slot parameter type from QJSValue to QVariant in UIDelegate. Task-number: QTBUG-44307 Change-Id: I373b37b6eb4c32e91fd92701ecad685eab9cb804 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com> Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Move settings out of experimental.Michael Brüning2015-02-065-10/+12
| | | | | | | | | | Change-Id: Ida74680a4180f4366746874a656041364563d548 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Add settings to WebEngineProfilesAllan Sandfeld Jensen2015-02-059-193/+94
| | | | | | | | | | | | | | | | | | This patch adds settings to profiles so common settings might be shared among all pages in a profile. The former global settings are now replaced by the settings of the default profile. Change-Id: I544420e07beeb52ef29b2360bc7929402650cd07 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Propagate unhandled key events to the QtWebEngine view's parentJocelyn Turcotte2015-02-052-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows applications to receive unhandled key events from the page by setting an event handler on the view's parent widget/item, like it was possible with QtWebKit. This is different in that events first have to asynchronously go through the QtWebEngineProcess. If the WebEngine view has the keyboard focus, the events will be consumed inconditionally by the RenderWidgetHostViewQtDelegates, and a copy will be resent to the view's parent if it wasn't consumed. This sends it to the parent instead of the QWebEngineView directly since those are only unhandled events, unlike with other widgets where you can first intercept events. It is done that way also in cases where the QWebEngineView would be be the focus widget directly in the future, instead of the RWHV. If applications want to intercept key events before they reach the page, they need to use an event filter on the QWebEngineView's children or globally on the application. Change-Id: I3b48f5212d3f238a1c0497cec1db6ae3badbad26 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Forbid mismatching profiles when adopting web contentAllan Sandfeld Jensen2015-02-021-0/+5
| | | | | | | | | | | | | | | | | | | | | | To avoid crashing due to a mismatch of browser-contexts used by webcontent and webcontent adapters and clients, we refuse to open content in a new window witha different profile and prints a warning so the developers may fix their software. Change-Id: I704266a96de2d7a5f8e1fa3ccf49a50f1d2307c9 Task-number: QTBUG-43898 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Add Qt WebEngine Quick API for allowing certificate errorsPaulo Pinheiro2015-02-027-4/+288
| | | | | | | | | | | | | | | | | | This adds API for overriding some certificate errors. Once overridden any identical error for the same hostname and certificate will use the same override. Change-Id: Idf9e968edca18751cbdab744880480750d0c1bd4 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* | Fix the build of tst_publicapiJocelyn Turcotte2015-02-021-1/+1
| | | | | | | | | | Change-Id: If703ff2e5d8fd8ebfe92ad1ac3603c1abe5c7e53 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* | Rename HttpCacheMaxSize to HttpCacheMaximumSizeAllan Sandfeld Jensen2015-01-292-9/+9
| | | | | | | | | | | | | | | | The rename was only done in QWebEngineProfile but is missing in QQuickWebEngineProfile. Change-Id: Ib90d075fe3f4ddf5dbc7e22861d8e76574abb8dd Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Update the expected list of public API testcaseAdam Kallai2015-01-281-1/+1
| | | | | | | | | | | | | | | | - Also fix the qtwebengineglobal_p.h header include in quickwebneignedownloaditem_p.h, because it is searched for wrong manner from the tst_publicapi testcase. Change-Id: I8997fafbf198f19a3d54b194f3408def6370417e Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | Document QQuickWebEngineProfileAllan Sandfeld Jensen2015-01-271-0/+101
| | | | | | | | | | Change-Id: I63621cec0f307fc3c0e71c84f99c68c0372d2992 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Move newViewRequested to the public APISzabolcs David2015-01-239-9/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | This moves the API to public, with proper versioning, adds documentation and adjust the warning to also report an null parameter to openIn that would cause the load to fail. The experimental example code is copied from quicktestbrowser to quicknanobrowser. Change-Id: I23b06c7a5add0323d0540a783873584438d85ea8 Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Enable building Qt WebEngine without accessiblity enabled.Michael Brüning2015-01-233-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds guards that for QT_NO_ACCESSIBILITY being not defined around the code that uses accessibility types. It disables the quicknanobrowser and quicktestbrowser examples which need Qt QuickControls, which has a hard dependency to accessibility being enabled. Task-number: QTBUG-43305 Change-Id: Ifa39e3ce447ebc2124f52e00b29b1d7d2231035e Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Replace the inspectable property with an environment variableJocelyn Turcotte2015-01-222-21/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation would enable or disable the inspector globally when the inspectable property was set on a WebEngineView, overwriting the value previously set by other pages. Instead of havind default port for the debugging server and having to enable debugging on individual pages, use an environment variable, QTWEBENGINE_REMOTE_DEBUGGING, to enable the debugging server for the whole application at the same time as specifying the port. The format is the same as for QTWEBKIT_INSPECTOR_SERVER in QtWebKit. QTWEBENGINE_REMOTE_DEBUGGING is set by default in quicktestbrowser to ease development. This also keeps the input reading from the --remote-debugging-port command line switch for convenience, but its usage should be considered internal. This patch also take the opportunity to remove the unused DevToolsHttpHandlerDelegateQt::m_browserContext and to move the ownership from ContentBrowserClientQt to WebEngineContext since the list of inspectable pages isn't bound to the BrowserContext anyway. Change-Id: I772687f88f4feee0cc14dd182b0129cc0ea384dd Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* | Fix the tst_navigationHistory QML testcaseAdam Kallai2015-01-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | When the ListView component is created from the QQuickWebEngineHistoryListModel model. It requires an adapter to get the currentNavigationEntryIndex and navigationEntryCount for the QQuickWebEngineHistoryListModel::rowCount. Add the default rowCount value while the adapter is not unavailable because of the lazy adapter initialization. Change-Id: Id80d6f56adfea613bdc2c13d9caa1a12f50fddca Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Add DownloadItemInfo to BrowserContextAdapterClientAndras Becsi2015-01-203-18/+20
| | | | | | | | | | | | | | | | | | | | | | This extends the carried information from Chromium's content::DownloadItem with url, totalBytes and receivedBytes in preparation of adding a Widget API for downloads. DownloadItemInfo struct is now constructed to carry information about individual downloads from the content layer to the Qt API layer. Change-Id: I3ee7aea02b74994e612e1b3709195776d5e7570b Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into devPierre Rossi2015-01-162-19/+14
|\| | | | | | | | | | | | | Conflicts: src/3rdparty Change-Id: Ied43de29444d4803218e250b096b9c72bc017af7
| * UIDelegatesManager: Remove creationContextForComponent.Robin Burchell2015-01-062-15/+6
| | | | | | | | | | | | | | | | | | This doesn't seem to be too much sense, and according to the QQmlContext documentation, may not work as expected: "This is only valid for components created directly from QML." Change-Id: I49db5dad49288d196e8519b1a60dcf2192147672 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
| * UIDelegatesManager: Communicate load failure back to the dialog controller.Robin Burchell2015-01-061-1/+5
| | | | | | | | | | | | | | | | | | | | | | If the dialog controller has asked to show a dialog, then if we cannot show a dialog, we should reject its request. Not doing this results in the WebView becoming frozen for input if the load fails, seemingly. Change-Id: I7dddd5357c712f896499cdebb142e60b5e80b4f2 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
| * UIDelegatesManager: Always print errors if component loading fails.Robin Burchell2015-01-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | This setting is useful when developing a new UI set, and one may not initially know about the suppression of errors, which is a painful problem to run into. Furthermore, make sure to delete the failed component so that subsequent attempted use of it doesn't succeed if UI_DELEGATES_DEBUG isn't enabled. Change-Id: I3d2abc19fb4a007d06795d2e8149ae78d7c9c020 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* | Widgets: Implement mouse lock permission APISzabolcs David2015-01-162-0/+10
| | | | | | | | | | | | | | | | | | If the user grants the permission with mouse click on the feature permission bar, the RenderWidgetHostView loses the focus but the focus is necessary for the pointer lock. Change-Id: Ifafd86b472e400c5690194dce2ea8a829a51c313 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Add Pointer Lock supportSzabolcs David2015-01-163-0/+14
| | | | | | | | | | | | | | | | | | | | While the mouse is locked, the cursor is hidden from the user and mouse events are still generated. The movement which is reported by the event indicates what would be the position change if the mouse would not have been locked. Change-Id: I79b3df5d7d644cd675a27e6c5a0da54e00b69da3 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/devFrederik Gladhorn2015-01-142-2/+2
|\ \
| * | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-01-022-2/+2
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/3rdparty src/core/content_browser_client_qt.h src/core/core_module.pro Change-Id: Ia05a6564a4d17ca14ff9b76ae018c3f4ef33d535
| | * Enable cmake config files generationJocelyn Turcotte2014-12-121-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | As QtWebEngine now uses 5.x as its version number, we can just provide cmake tests and let qmake scripts do the rest. Task-number: QTBUG-42073 Change-Id: I28ccddbd1849980074dfbeefb5cb5a70c9209ab1 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
| | * Force active focus for touch beginAndras Becsi2014-12-081-0/+2
| | | | | | | | | | | | | | | | | | | | | This fixes the focusing issues on touch devices. Change-Id: I26c0080ea70aeabbd608e15fbd3705b907bdb68e Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* | | Revert the version number in experimental back to 1.0Andras Becsi2015-01-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts the accidental version number update, since we provide no guarantees for the experimental API, we can update the version number as soon as we make the corresponding API public. Change-Id: I03d8ba83182f185bb42af0840880561d5e962043 Reviewed-by: Adam Kallai <kadam@inf.u-szeged.hu> Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>