- Aug 15, 2014
-
-
Jocelyn Turcotte authored
A new window means that the QWebEnginePage gets its WebContentsAdapter swapped and that the pointer in WebEngineSettings must be updated. Do the WebContentsAdapter-to-WebEngineSettings binding in WebContentsAdapter::initialize to cover both cases. This also refactors the way that QWebEngineSettings is created by removing the need to pass a QWebEngineSettingsPrivate instance to be adopted, and also move the global settings construction logic in the singleton accessor instead of relying on the fact that it uses a different contructor. Change-Id: I6f8a2ed1407a4b25f9898526db9432721c354ddf Reviewed-by:
Andras Becsi <andras.becsi@digia.com> Reviewed-by:
Allan Sandfeld Jensen <allan.jensen@digia.com>
-
- Aug 12, 2014
-
-
Pierre Rossi authored
Implementing what is already available, namely the WebAttributes, font preferences and default text encoding, as well as a slightly different take on privateBrowsing. Change-Id: I128f060a4661d19aa1c9c4d6daae1f80fb33204b Reviewed-by:
Allan Sandfeld Jensen <allan.jensen@digia.com>
-
- Aug 09, 2014
-
-
Pierre Rossi authored
Core interface to expose toggling some of the WebPreferences for now and most probably some of the WebRuntimeFeatures soon. The whole dummy settings business is meant to keep things from breaking too much when bisecting, because it is assumed that there are always valid settings for a given adapterClient. Change-Id: Ic0a62bcb5af8c0254436dc770b43cde5016c3bbd Reviewed-by:
Allan Sandfeld Jensen <allan.jensen@digia.com>
-
- Aug 04, 2014
-
-
Jocelyn Turcotte authored
Do the d_ptr magic ourselves to avoid having to include private headers from qtcore, qtgui and qtdeclarative. It is hackish to hide QObject's d_ptr member to have the macros working in a public class, but if anything goes wrong we just need to replace the private macro convenience while maintaining the binary compatibility of the stored extra opaque pointer. Change-Id: Idb92f4f902826bef9068a5c2ef6ea31fc3fa15b2 Reviewed-by:
Andras Becsi <andras.becsi@digia.com>
-
- Aug 01, 2014
-
-
Jocelyn Turcotte authored
QAuthenticator::setRealm has been added to QtNetwork 5.4. Change-Id: I7eb503956d72a96e1f5030896cdf9adb7d4030cb Reviewed-by:
Andras Becsi <andras.becsi@digia.com>
-
Jocelyn Turcotte authored
Fixes: - Make sure that we call SetInitialFocus when giving focus through Tab This does the same as would WebContents::FocusThroughTabTraversal - Implement QWebEnginePagePrivate::passOnFocus - Set each new RWHVQtDelegate as the focus proxy of the QWebEngineView - Make sure that the widgets delegate accepts the tab focus policy Cleaups: - RenderWidgetHostViewQtDelegateQuick doesn't need to be a focus scope, it doesn't have any children - We don't need to reimplement QQuickWebEngineView::forceActiveFocus since the view is now a focus scope - Do not explicitly setFocus(true) on the QQuickWebEngineView, the application should decide this through the API Change-Id: I817dc2c895d4fff4aa3536c71ecc5d306bb3bee0 Reviewed-by:
Andras Becsi <andras.becsi@digia.com>
-
- Jul 30, 2014
-
-
Allan Sandfeld Jensen authored
Adds one of the missing pieces of the QWebFrame and QWebView APIs. Unlike the QtWebKit version this only fetches the favicon URL, and not the icon. This is because we do not want to implement an icon database, and that the icon would be loaded asynchronous anyway, bringing no guarantee to be a valid icon/image yet. Change-Id: I227311ae3676044da850e687b82bee752b5079c8 Reviewed-by:
Jocelyn Turcotte <jocelyn.turcotte@digia.com>
-
- Jul 09, 2014
-
-
Frederik Gladhorn authored
This commit adds the basics to bridge the blink accessibility classes to QAccessibleInterfaces. Note that it needs two follow up commits to implement the bridging from the QWidget/Qt Quick worlds. [ChangeLog][Accessibility] QtWebEngine now has accessibility support, enabling assistive technology such as screen readers to work with it. Change-Id: Ied1d97e61a024115ac7a9245331211f6d9fac1b4 Reviewed-by:
Zeno Albisser <zeno.albisser@digia.com> Reviewed-by:
Andras Becsi <andras.becsi@digia.com>
-
- May 15, 2014
-
-
Szabolcs David authored
Drop hovered title and link text parameters, as we did in the Quick API. Change-Id: Ia1a38e0d728afbcbb6858a890486772da74aa813 Reviewed-by:
Pierre Rossi <pierre.rossi@gmail.com>
-
- May 12, 2014
-
-
Jocelyn Turcotte authored
This value is only used internally by Chromium and risks being removed at anytime, for which we would then have to maintain a downstream implementation. Chromium also only supports frame values, while a complete support of the interface would require also supporting this xPath to point to individual document element by affecting the value of "this", the same way that QWebElement::evaluateJavaScript allowed in QtWebKit. Change-Id: Id0cb1b8e3bdf9a6db0ca786fb5eb46ffd726d165 Reviewed-by:
Michael Bruning <michael.bruning@digia.com>
-
- May 08, 2014
-
-
Szabolcs David authored
Remove unreachableUrl support from WebContentsAdapter::setContent, because this argument behaves exactly the same as baseUrl. Change-Id: I36f92b99b7045c6d3b831481bb04d51a0e05772f Reviewed-by:
Jocelyn Turcotte <jocelyn.turcotte@digia.com>
-
- Apr 29, 2014
-
-
Pierre Rossi authored
Simply reuse the existing feature request approach that was used for geolocation and notifications in QtWebKit. Change-Id: I8fec4f4e9e81b491163912fadb4ce17d343864dd Reviewed-by:
Zeno Albisser <zeno.albisser@digia.com>
-
Pierre Rossi authored
We could use this to prompt the user for various feature permissions that we are not ready to expose in our API. Change-Id: If6e6a16aca4142b0564121dfc7677b7c4996f742 Reviewed-by:
Zeno Albisser <zeno.albisser@digia.com>
-
- Apr 15, 2014
-
-
Jocelyn Turcotte authored
This changes implemented methods. The rest of the references will go away with the public headers cleanup. Change-Id: I82340cd7a4488c4b463489ae98cd9c16de4e7487 Reviewed-by:
Michael Bruning <michael.bruning@digia.com>
-
Jocelyn Turcotte authored
Expose the same values as currently available in QQuickWebEngineView::NewViewDestination. Rename the WebModalDialog to WebDialog, which actually replaces the tool/status/menuBarVisibilityChangeRequested signals. Change-Id: Icc103f434fb3eca49f1a53e476e101c3d6fffd36 Reviewed-by:
Pierre Rossi <pierre.rossi@gmail.com>
-
Jocelyn Turcotte authored
I initially misintepreted the meaning of the enum, assuming that it meant that the window should possibly be blocked. The user_gesture parameter in WebContentsDelegate::AddNewContents is actually doing this, while the popup disposition means that JavaScript requested the window to be opened without one of the standard decoration (i.e. status bar, menu bar, tool bar, etc.). Update the QtQuick API to reflect this, renaming the "isPopup" parameter to a more familiar "isUserInitiated". The popup disposition is named "dialog" to match the previous QWebPage::WebModalDialog enum. Change-Id: Ib0c4bc53671fcf0dd9499aa1be2bbc8c494ba49e Reviewed-by:
Michael Bruning <michael.bruning@digia.com>
-
- Apr 14, 2014
-
-
Michael Brüning authored
Translates the internally used LogSeverity values to enums defined by the QtWebEngine integration layer. Change-Id: I7da0983d4fb5c199e1a2436b5899a43cf6698784 Reviewed-by:
Jocelyn Turcotte <jocelyn.turcotte@digia.com>
-
- Apr 08, 2014
-
-
Jocelyn Turcotte authored
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>
-
Jocelyn Turcotte authored
This means that widgets application now need to setup the GL context sharing as well. QWebEngineWidgets::initialize() must be called, which has the same effect as QWebEngine::initialize(). The QtWebEngineWidgets now depends on the QtWebEngine module to make this happen. Since QOpenGLWidget is only available in Qt 5.3, this patch also disables the webenginewidgets module completely when building using Qt 5.2. Change-Id: I0e99a779d1eb080f2ccf5a338ff0763ad64e6eba Reviewed-by:
Simon Hausmann <simon.hausmann@digia.com>
-
Jocelyn Turcotte authored
This reverts parts of commit 9c198939 . This does keeps the popup fixes and removes support for QWebEnginePage::setViewportSize and QWebEnginePage::render until we can evaluate the needs vs the cost of such feature. Change-Id: I1b55b751d463717b1462393ea8cd353422f8fdbb Reviewed-by:
Simon Hausmann <simon.hausmann@digia.com>
-
- Mar 31, 2014
-
-
Pierre Rossi authored
if people do something as nasty as "return this;" in createWindow. Change-Id: Id9c3e22607e4676b7ea286a6f85816b347262615 Reviewed-by:
Jocelyn Turcotte <jocelyn.turcotte@digia.com>
-
Jocelyn Turcotte authored
This does uses logic taken from Chromium's state save and restore code. The history version is incremented from the same method in QtWebKit in cases where the application would try loading a stream from a previous version using QtWebKit. In all cases where Chromium does a restore of a serialized history, it does so on a fresh WebContents instance, thus we must do the same and some of the initialization code has to be updated. Change-Id: I45abb052073bd44c9cb47bc2abcf4b558fe3dbbd Reviewed-by:
Pierre Rossi <pierre.rossi@gmail.com>
-
Jocelyn Turcotte authored
The adapter might change, while the page association should always remain. Change-Id: Ib2b49c599d497864484dd6758f47473d70fe4cb3 Reviewed-by:
Andras Becsi <andras.becsi@digia.com>
-
- Mar 21, 2014
-
-
Jocelyn Turcotte authored
This mainly remove the use of the LoadingStateChanged callback, which is tied to DidStartLoading and DidStopLoading. Those signals are handled from the browser process side, also wrapping the time where the render process is initialized. We can't rely on those signals for loadStarted, but afterward rely on the Blink loader for loadFinished. We must use the same source for both. Instead only rely on Blink callbacks ultimately related to network events. This gives us a behavior closer to QtWebKit. The major compromise that this forces us to to accept is that loadStarted is now triggered asynchronously. This will basically break anything expecting loadStarted to be emitted synchronously from the load method. This also adjust autotests to get a few more passing. Initial-patch-by:
Pierre Rossi <pierre.rossi@digia.com> Change-Id: Ib6c0170df891d1b7f8ed4dc1d483985523e267dc Reviewed-by:
Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by:
Simon Hausmann <simon.hausmann@digia.com>
-
- Feb 28, 2014
-
-
Jocelyn Turcotte authored
This allows handling calls that would be signaled by QNetworkAccessManager in QtWebKit. This pulls QtNetwork as a dependency of the QtWebEngineWidgets module to be able to use QAuthenticator, but isn't required otherwise. Only the request URL is available in the case of HTTP authentication (no access to HTTP request headers that the QNetworkReply would allow) and only the proxy host name in the case case of proxy authentication. This keeps the API synchronous the same way, as QtWebKit did, in favor of source compatibility at the cost of requiring a modal dialog, even though the implementation doesn't require it. Change-Id: I9e021def38e6107c9e66d2de8f86bd0328d543df Reviewed-by:
Michael Bruning <michael.bruning@digia.com>
-
- Feb 21, 2014
-
-
Jocelyn Turcotte authored
Keep the size in the page itself, and ask the optionally attached QWebEngineView only for the rect position. When the view size change, call setViewportSize on the page like QtWebKit does. Change-Id: I735f1509cab9ef9b5d32bf31249a59c919939804 Reviewed-by:
Andras Becsi <andras.becsi@digia.com>
-
- Feb 20, 2014
-
-
Jocelyn Turcotte authored
We also need to update the WebContentsAdapter pointer in QWebEngineHistoryPrivate. Change-Id: I8251e9834b179747b6b65630cf4ced5c2b1af27f Reviewed-by:
Andras Becsi <andras.becsi@digia.com>
-
Jocelyn Turcotte authored
Change-Id: I1b58d2b2e86f60e296ae48095ed8d5e8172e0d1e Reviewed-by:
Pierre Rossi <pierre.rossi@gmail.com>
-
- Feb 13, 2014
-
-
Jocelyn Turcotte authored
A few changes to the API: - Return the success result asynchronously. - FindWrapsAroundDocument and HighlightAllOccurrences are enabled by defaults and cannot be disabled. - Found text isn't updating the selection on the page like QtWebKit did, but triggers a separate state not available. A find count and current index could be exposed, but isn't in this case to keep the API delta lower. This also adds the possibility to pass bool results through the CallbackDirectory and add a new tst_QWebEnginePage::findTextResult test since the old test relied on the selection to be updated when the searched text is found. Change-Id: I8189b5aea8d832df183c6c1ae03e3f08198a9c45 Reviewed-by:
Simon Hausmann <simon.hausmann@digia.com>
-
Jocelyn Turcotte authored
Change-Id: Idebde8da0befbea7ccc5942de1e09fcc61ce16d4 Reviewed-by:
Simon Hausmann <simon.hausmann@digia.com>
-
Jocelyn Turcotte authored
With the upcoming addition of a new type of callback result, this patch allows storing multiple callback types in the same QHash instead or requiring a different hash table just to please the type system. This does so by managing the ref-counted callback pointers directly instead of relying on a templated QExplicitlySharedDataPointer that requires a different type for each different callback pointer type. The ref-counting, construction and destruction is managed through a run-time type enum. Change-Id: I90ab2e1efc0c9703fc5b6ef57b38204ac8eea828 Reviewed-by:
Simon Hausmann <simon.hausmann@digia.com>
-
Jocelyn Turcotte authored
This tries to get the order of declaration to be consistent. It also follows the order used by Chromium in some places where the routing_id usually comes first, then the request_id and then the result of the asynchronous request. Change-Id: I88e164dee67e1631161a222f7dd7a4679c3d3acd Reviewed-by:
Simon Hausmann <simon.hausmann@digia.com>
-
Jocelyn Turcotte authored
Change-Id: I87c18edb89658433d6dc3487ab92d2ff7bd6c986 Reviewed-by:
Simon Hausmann <simon.hausmann@digia.com>
-
- Feb 12, 2014
-
-
Jocelyn Turcotte authored
Unlike load, the value passed to setUrl should be returned by url until the url is updated by the page (load finished or url changed). Change-Id: Ica80941754fcf57d68071123daa28f5ddd1359fe Reviewed-by:
Pierre Rossi <pierre.rossi@gmail.com>
-
Jocelyn Turcotte authored
Change-Id: I6accd8fd40ad72041770439aa6a7aa59ba904418 Reviewed-by:
Pierre Rossi <pierre.rossi@gmail.com>
-
Jocelyn Turcotte authored
Update tests to check that we can keep the same functionality by querying document.baseURI through runJavaScript instead of implementing QWebEnginePage::baseUrl. This also removes QWebEnginePage::baseUrl from the header. Change-Id: I549e57d3986e22986438f8a23e469bbd220633b7 Reviewed-by:
Pierre Rossi <pierre.rossi@gmail.com>
-
Pierre Rossi authored
Break up the delegate implementation into two distinct subclasses. The first one offers a way for the WebPage to tap into the RenderWidgetHostView directly, while a different implementation that is backed by a top-level widget can be used to show WebUI popups on screen. This has the benefit of not having a child widget in the webview among other things. It also fixes our popups and allows them to fall outside the window frame. Change-Id: I80dc1e4f21bb91ff47c75a626d330f88eacce8c6 Reviewed-by:
Jocelyn Turcotte <jocelyn.turcotte@digia.com>
-
- Jan 30, 2014
-
-
Pierre Rossi authored
And unskip the corresponding autotest. Change-Id: Ida2dcee38b261b2ba4ad0c5c016f5510ed1590a4 Reviewed-by:
Jocelyn Turcotte <jocelyn.turcotte@digia.com>
-
- Jan 22, 2014
-
-
Jocelyn Turcotte authored
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>
-
Jocelyn Turcotte authored
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>
-