summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets/api/qwebenginepage.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Switch BrowserContextAdapter to QSharedPointerAllan Sandfeld Jensen2016-04-191-1/+1
| | | | | | | | | | | | BrowserContextAdapter is not a form of shared data, and using QExplicitSharedDataPointer on it as always been a misuse of the class. Instead we should switch it to QSharedPointer, which also allows us to use QWeakPointer. Change-Id: I8eb489b4a12d3fdddcde55821be294814a156a9d Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
* Doc: Mark renderProcessTerminated signal as new in 5.6Kai Koehne2016-03-111-0/+2
| | | | | | Change-Id: I54a9514451c04918faf55516881c9ca720d56dc5 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
* Fix WebAction muteAllan Sandfeld Jensen2016-02-131-1/+1
| | | | | | | | | WebAction mute was not working since it was setting its current state instead of the toggling mute. Change-Id: I9572c77e084e11b00f645845764fe13e0a603664 Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix double LoadFinished on URL errorsAllan Sandfeld Jensen2016-02-101-2/+10
| | | | | | | | | | | | | | | | | | RenderFrameDeleted was called before DidFinishLoad, which meant m_loadingErrorFrameList was empty and wouldn't detect the page loaded was an error page. Instead this patch relies on the chromium error-page url which we already asserted. Additonally we delay emitting the loadFinished signal until the error page is also done loading, since the error-page can be considered part of the load, and we otherwise have a race condition on toPlainText. Finally we were not getting error-pages when blocking requests because we reported them as aborted them instead of blocked. Change-Id: I945eb838b7f080d4e146f18354e8986e1b88b5cd Task-number: QTBUG-50752 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Preserve webchannel and userscripts when restoring historyAllan Sandfeld Jensen2016-01-311-2/+12
| | | | | | | | | | | Most page-state is set in webcontentsadapter::initialize except user scripts and webchannel. This patch ensures those are initialized too when changing to a new adapter during history restore. Change-Id: I4dca23ddab50480b1a72252a038834ce1802ad77 Task-number: QTBUG-50751 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: David Rosca <nowrep@gmail.com>
* Fix crash on open link in new windowJoerg Bornemann2016-01-281-1/+3
| | | | | | | | | The default implementation of QWebEngineView::createWindow returns a null pointer. Add missing null pointer check in adoptNewWindow. Change-Id: Ia6138f372ff169b9d32764b15550939adc247a1c Task-number: QTBUG-50718 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Widgets: Improve geometryChangeRequested signalSzabolcs David2016-01-191-0/+6
| | | | | | | | | Use this signal to notify the user on JavaScript window move/resize requests. It works only for windows opened by JavaScript (according to the Chromium browser's behavior). Change-Id: I7fdeda4c252cc4badb36b74ed61d947be690f45a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.5' into 5.6Allan Sandfeld Jensen2016-01-181-21/+35
|\ | | | | | | Change-Id: I591be7a7131d85a269bf12fbd5c47a0ccf6ce574
| * Update license header for qwebenginepage.cpp to LGPLv3Joerg Bornemann2016-01-141-21/+35
| | | | | | | | | | | | | | This amends commit 3b4eec9b. Change-Id: I19e8a295fa7e64ff83c26b6965097bd0ae3cbf73 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2016-01-071-0/+22
|\| | | | | | | | | | | | | | | | | Conflicts: src/3rdparty src/webenginewidgets/api/qwebenginepage.cpp src/webenginewidgets/api/qwebenginepage_p.h Change-Id: I050b4c7691a070e04cace2663ad633903f6d96a9
| * Fix MouseMove event handling when opening a new tab with middle click.Alexandru Croitor2015-12-221-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | When opening a new tab by middle clicking on a link in a web page, two MouseMove events are sent to Chromium consecutively, without getting proper acknowledgment events, which causes further move events not to be handled properly. Fix consists in preventing the second move event from being sent. Change-Id: Ia0a64698476226e472faa53f75b51dfb6ed477c9 Task-number: QTBUG-50031 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Make QWebEngineFullScreenRequest const correctKai Koehne2015-11-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Let QWebEngineFullScreenRequest be logically const-correct. It feels weird to be allowed to call "accept()" or "reject()" on a constant object. Also allow the user to copy the request, but check whether the page is still valid in the implementations of accept(), reject(). Change-Id: Ibf139a126734fc8e2db68ec26dc8f24cd4438942 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Print JS console messages by defaultKai Koehne2015-11-061-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the behavior of QWebEnginePage/WebEngineView to print JavaScript console.warn and console.error messages by default in a 'js' logging category. This matches also the behavior for QtQml, where console messages end up in a 'qml' logging category by default. So far access to the JavaScript console required either use of the remote debugging functionality, subclassing of QWebEnginePage, or implementing a custom handler. Anyhow, even then writing a seamless forwarding of the data and metadata to the Qt message handler is difficult. This patches implements this forwarding by default. The behavior can be changed by either setting up rules for the 'js' category, e.g. setFilterRules("js.*=false"); or by implementing onJavaScriptConsoleMessage(), or overriding QWebEnginePage::javaScriptConsoleMessage. [ChangeLog] Unhandled JS console messages are now forwarded to to the Qt message handler inside a 'js' category. Change-Id: I5480383a80dcf7a122496f9b7915264ef9036db3 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Ensure WebContents::WasShown/WasHidden are calledAllan Sandfeld Jensen2015-11-061-0/+10
| | | | | | | | | | | | | | | | | | Forward WebEngineView visibility to WebContents visibility, and call WebContentsView visibiliy on actual show/hide events to avoid a recursion when WebContents visbility triggers it. Change-Id: I0c336359fb35bf93874aa1092767177d7a5ce341 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* | Improve documentation for QWebEngineScriptKai Koehne2015-11-051-2/+6
| | | | | | | | | | Change-Id: I9274a3cacaa04529152a5d827c47cf6fc831df19 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Merge branch '5.5' into 5.6Allan Sandfeld Jensen2015-11-041-2/+1
|\| | | | | | | Change-Id: Ibc8ec5ab77ef27bede6e4af1e6318378ac6b9899
| * Do not display context menu when pending event flag is false.Michael Bruning2015-10-291-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | When an event filter is installed on the view, the right mouse click event may trigger Chromium to request a context menu even though the context menu events get filtered out. Removes a Q_ASSERT that would now never be triggered. Change-Id: I3ff496ec4e4ecbb4faa107f7e221765918c5fa06 Task-number: QTBUG-49092 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Fix ABI breakage due to fullscreen featureAllan Sandfeld Jensen2015-10-191-21/+26
| | | | | | | | | | | | | | | | | | | | | | We can not add a new virtual method without breaking ABI on some platforms, instead we need to use a setter. The API now uses a request object, and a separate signal for canceling, since canceling can not be rejected. Change-Id: If8069c343e86926293c30e8de179bf4e3cbd5886 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | add RequestClose web actionJoerg Bornemann2015-10-091-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Web pages can set the onbeforeunload handler to let the user confirm whether to leave the page or not. Until now, only when leaving the page via a link, a confirmation was shown. Before actually closing a web page, applications can now trigger the RequestClose web action. This will give the use the chance to confirm or deny the close request. If the request is confirmed, the signal windowCloseRequested is emitted. Task-number: QTBUG-36155 Change-Id: Icc1fabc37a2ac537f674c2f00bc8966e4dc4e610 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Implement unload dialogsSzabolcs David2015-09-271-0/+3
| | | | | | | | | | | | | | | | | | This fixes the assertion that occurs when the application should show "Are you sure you want to leave this page?" dialog. We can reuse the already existing confirm dialog implementations. Change-Id: I22466d450f39b54d9becbb69e1ecadb3b98697b0 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Doc: edit QWebEnginePage docsLeena Miettinen2015-09-211-16/+53
| | | | | | | | | | | | | | | | | | | | - Add missing documentation - Edit for grammar and style - Fix links Change-Id: I9e8387fa08f8e7e73c636a516b1f87eb10973e73 Reviewed-by: Florian Bruhin <qt-project.org@the-compiler.org> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Emit a signal when the rendering process exits.Jake Petroules2015-09-101-0/+8
| | | | | | | | | | | | | | | | | | This allows users to implement a "sad tab" feature and/or track rendering process crashes using a crash reporting service. Task-number: QTBUG-48227 Change-Id: I97ef934fe5d0912cd0f41967a39052316b3c66b0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Make save action context menu consistentAllan Sandfeld Jensen2015-09-091-2/+2
| | | | | | | | | | | | | | | | We should use a consistent naming format for the three download/save web actions. Change-Id: I54fabc88a7adbbf7d4f861b8ddde851ebf4ec872 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Add AuthenticationDialogControllerPeter Varga2015-09-061-10/+11
| | | | | | | | | | | | | | | | | | The new controller makes possible to handle authentication requests asynchronously. This is essential for the authentication support in the QtQuick API. Change-Id: Ib60b58448a60e817e64477529ec4bfd1535b3d19 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Fix use of empty credentials for HTTP and proxy authenticationPeter Varga2015-09-011-1/+7
| | | | | | | | | | | | | | | | | | | | Empty user and password fields are valid for HTTP and proxy authentication. Thus it does not mean that the authentication is cancelled. For informing the engine about the cancellation of the authentication dialog make QAuthenticator instance null. Change-Id: Iba1ce9d375b9b37c23f7a91fb583606d75d04af5 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Add default inspect element context menu itemAllan Sandfeld Jensen2015-09-011-0/+4
| | | | | | | | | | | | | | | | Adds inspect element to the context menu when there is an attached inspector on the page. Change-Id: Id3c8a5be34318c12ab331b6611219bd59b7b70be Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Add exit full screen web actionAllan Sandfeld Jensen2015-08-271-0/+8
| | | | | | | | | | | | | | | | Adds a web action that can be used for exiting fullscreen mode, and include it the context menu whenever in fullscreen mode. Change-Id: I7aa729a86f9ba9df476766cd40f87d9385948fea Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Widgets: Add fullscreen supportSzabolcs David2015-08-261-0/+19
| | | | | | | | | | | | Change-Id: Ibf1697d2bb3b3af5e7d71149305c5acffba43f0f Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Add inspect element webactionAllan Sandfeld Jensen2015-08-261-0/+6
| | | | | | | | | | | | | | | | | | Adds the missing InspectElement webaction from QtWebKit. It is not added by to any context menus by default and only has an effect when an inspector is attached. Change-Id: Ic8c67c797e5dfe266fb692ffc97577b842458a79 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Add a backgroundColor propertyJocelyn Turcotte2015-07-141-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also allows setting a transparent color to see through the web view's body if its background color isn't specified. The color is initially held by the top API view and is pulled by the WebContentsAdapter in order to set it on the RenderView. Since both blink and our local compositors (in the QOpenGLWidget case) need to know about this color, RWHVQt takes care of pushing it to both. The former through an IPC message and the latter directly on the RWHVQtDelegate. Task-number: QTBUG-41960 Change-Id: Ie13317b2d087f5612ad9c5fb0e05ca3e91aec9af Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | make copy web action available for canvasesJoerg Bornemann2015-07-141-2/+5
| | | | | | | | | | | | | | | | We need to take into account that canvases don't have a valid media URL. Task-number: QTBUG-47187 Change-Id: I01e1097c74df623a7d28189b6ab25fdc27c5e766 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | add Download*ToDisk web actionsJoerg Bornemann2015-07-061-0/+21
| | | | | | | | | | | | | | | | Add the web actions DownloadLinkToDisk, DownloadImageToDisk and DownloadMediaToDisk. Change-Id: If6c9c8a3f4b95ad3032cff71ffc53a48be26e083 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Add WebAction to QML apiAllan Sandfeld Jensen2015-07-061-18/+1
| | | | | | | | | | | | | | | | | | | | Adds WebActions matching QWebEnginePage to QQuickWebEngineView, this makes it possible to support copy/paste on OS X, and makes it possible to do rich text copy to clipboard on all platforms. Change-Id: If43c1b2e8ae0496423f830cfe6b86e0fa1b8126e Task-number: QTBUG-44289 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-06-291-3/+10
|\| | | | | | | | | | | | | | | Conflicts: .qmake.conf src/webenginewidgets/api/qwebenginepage.cpp Change-Id: Idb33c92bd53fab76eee8fedb542dbf5e4a10f9e6
| * Fix cancellation of file dialogs.Joerg Bornemann2015-06-251-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the user canceled a file dialog (e.g. provided by an input tag), then the renderer process would exit and the web page would turn blank. We must not pass empty strings or otherwise invalid file paths to RenderViewHost::FilesSelectedInChooser, because OnUpdateState will check for accessibility of those files and shutdown the renderer on failure. Task-number: QTBUG-46869 Change-Id: Ie01e56999c5e7acd42c5b3fd4993de7f3a5f2e73 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | Move QWebEngineCallback to core API and templatize CallbackDirectoryAndras Becsi2015-06-081-107/+5
| | | | | | | | | | | | | | | | | | | | | | This undocumented helper template will also be utilized by the core API since Chromium's content API heavily relies on callbacks. To make the internal CallbackDirectory easily extendable with new types, templatize its callback registration and dispatching functions to be able to replace its type switches and the internal union. Change-Id: I3f636fef48973ac95253f1c1bd396550286e571e Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* | Make QQuick contextmenu actions behave like widget counterpartsAllan Sandfeld Jensen2015-05-271-1/+3
| | | | | | | | | | | | | | | | | | Updates a two of the context menu actions so they behave like the updated actions in qtwebenginewidgets. Also improves the default label of OpenInThisWindow, since by default there are no other windows. Change-Id: Iac0dc23e8f31598296cba87f93503cefd926983f Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Extend context menu actionsAllan Sandfeld Jensen2015-05-111-23/+160
| | | | | | | | | | | | | | | | Implements the several missing context menu actions for navigation and image and media handling. Change-Id: Ib8ea8311ea291fe2f98e509bc6f4034a5e0389c9 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-04-191-0/+1
|\| | | | | | | Change-Id: I78c25caf30923fc1101b137f9abc3993e3cf0600
| * Merge remote-tracking branch 'origin/5.4' into 5.5Andras Becsi2015-04-151-0/+1
| |\ | | | | | | | | | Change-Id: I1e414bb2252ee4b2204ef50a9d122d1d1504115d
| | * Enable building Qt WebEngine without accessiblity enabled.Stephan Binner2015-03-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. Backport of d95b9295c970401939d2779cbdc9e2a8c7965277 from 5.5 Change-Id: I2a2a0a6196fcb3baa39603d9c929183b454f39ed Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-04-081-0/+3
|\| | | | | | | | | | | Change-Id: I7b0dae978357c6f48826ad8e09a8cb8477d1901d
| * | Revive ReloadAndBypassCachePierre Rossi2015-04-071-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Appears to be an oversight for widgets, as the API was there, but just wasn't wired. Also add it for QQuickWebEngineView while we're at it. Change-Id: I07d6e356cbaf22b79f3fc5a82df78c6821993e8d Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* | | Merge remote-tracking branch 'origin/5.5' into devAllan Sandfeld Jensen2015-03-161-0/+25
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/webengine/ui_delegates_manager.h Change-Id: I989280b6008fbc4844ed86d6d16f7e7aa6ba8db9
| * | Support HTML5 form validation featurePeter Varga2015-03-131-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge remote-tracking branch 'origin/5.5' into devAllan Sandfeld Jensen2015-03-131-3/+14
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/webengine/api/qquickwebengineview_p_p.h src/webengine/ui_delegates_manager.cpp src/webengine/ui_delegates_manager.h src/webenginewidgets/api/qwebenginepage_p.h Change-Id: I8052de4d3b2e68a950832226f6f99e2aafca5505
| * | Add testsupport QML API and error page signalsPeter Varga2015-03-061-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | Add missing QtWebEngineCore namespace refs to egl integrationStephan Binner2015-03-041-0/+1
| | | | | | | | | | | | | | | | | | | | | Also add a missing include (for compilation without accessibility) Change-Id: Iea3def18d898e249b82968cd25495b62ffb80cfe Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
| * | Add namespace to internal QtWebEngine APIAllan Sandfeld Jensen2015-03-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Refactor FilePickerControllerAdam Kallai2015-03-051-11/+17
|/ / | | | | | | | | | | | | | | | | Move FilePickerController classes to the QtWebEngine core to providing common functionality of files selecetion for WebEngine and WebEngineWidgtes. Change-Id: I6ab407095460ef5b63b454f7d62b98215383fc21 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>