| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
This patch makes it possible to have multiple outstanding feature
requests and adds hooks for chromium to cancel requests.
Change-Id: Icbeb30aa39ace090d853a29aefaeebbe726fe251
Reviewed-by: Michael BrĂ¼ning <michael.bruning@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
Ensure we only grant permission to the origin the user replied to,
otherwise we might get a race exploit.
Change-Id: I4f737148f4e41432c160b81c324531e9cde0edc6
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* scoped_refptr operator for implicit conversion to pointer has
been disabled upstream: https://codereview.chromium.org/510323002
* Group permission API as done upstream:
https://codereview.chromium.org/622793002
* content_worker gyp target has been removed upstream.
* GetPageThumbnailData moved to DevToolsManagerDelegate.
* ui/ui_resources has been renamed to ui/resources
* WebPreferences and ResourceType have moved inside content.
* Merge ResourceBundle's InitSharedInstanceLocaleOnly with InitSharedInstanceWithLocale():
https://codereview.chromium.org/457103003
* Remove obsolete accessibility events.
* AX_EVENT_SELECTED_TEXT_CHANGED has been renamed to AX_EVENT_TEXT_SELECTION_CHANGED
* AX_ROLE_MATH_ELEMENT was removed upstream. https://codereview.chromium.org/695133002
* Screen::IsDIPEnabled has been removed upstream. https://codereview.chromium.org/672823002
* Update DevToolsHttpHandlerDelegateQt according to ShellDevToolsManagerDelegate.
* Various functionality from DevToolsHttpHandler was moved to DevToolsManagerDelegate
https://codereview.chromium.org/560323005
* DevToolsHttpHandler::Start expects a scoped_ptr now.
* Make sure event_factory_evdev.h is not included when USE_OZONE is not defined
* ErrorPageParams was moved into namespace error_page.
* Media Access is now handled by ContentBrowserClient::CheckMediaAccessPermission
* SpecialStoragePolicy moved to namespace storage
* Add implementation for new pure virtual function BrowserContext::GetSSLHostStateDelegate.
* RenderPass::Id was renamed to RenderPass::RenderPassId
* Include view_messages.h for ViewHostMsg_TextInputState_Param
* CERT_UNABLE_TO_CHECK_REVOCATION has been deprecated by Chromium:
https://codereview.chromium.org/449743002
* MailboxManager::ConsumeTexture only takes the mailbox as an argument
* Replace RWHVQt::TextInputStateChanged with RWHVQt::TextInputTypeChanged.
* RenderWidgetHostView::ScrollOffsetChanged has been removed.
* SkBitmap::Config was removed upstream.
* CopyFromCompositingSurfaceCallback has become an own type.
* AcceleratedSurfaceInitialized only takes route_id as an argument.
* ServerBoundCertService has been renamed to ChannelIDService.
Related API has been renamed accordingly.
* TextureImageTransportSurface was removed upstream.
* Update MediaCaptureDispatcher::OnMediaRequestStateChanged signature.
* AudioStream related functions are gone upstream.
https://codereview.chromium.org/569713002
* Add implementation for RenderWidgetHostViewQt::GetLastScrollOffset.
* Include generic touch_device implementation.
* switches::kDisableDesktopNotifications was removed upstream.
https://codereview.chromium.org/607843002
* PageTransition moved to ui.
* Messages headers are not guarded. Including them multiple times does hurt.
* ScaleGestureDetector does not create a standalone GestureDetector anymore.
https://codereview.chromium.org/501503003
* MotionEvent::Cancel and Clone are not virtual anymore.
https://codereview.chromium.org/502993004
* Exclude os_exchange_data_provider_mac from build.
* Remove argument from ScopedClipboardWriter ctor.
https://codereview.chromium.org/558913003
* Remove ShowPopupMenu override from WebContentsQt.
The function is not pure virtual anymore,
and we never implemented any specifics.
* Do not use clang on desktop linux.
* Request functions in ContentBrowserClient
were merged into RequestPermission.
* ninja: use configure.py --bootstrap instead of bootstrap.py
Change-Id: I3575612826db7845461a949b4e737264bb4e8d88
Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
If QtPositioning is available, provide chromium with a
LocationProvider that uses it as a backend.
Change-Id: I53ad3b45e49d0d2d181c1a6459b7be764293c2a6
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
| |
If we get a replacement content, we can see a DidFinishLoad event for a frame.
This error page should be ignored based on the frame.
Change-Id: I3e1cd1773e8c5fc608605197c957011ddf258123
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fact that the error pages are HTML and get loaded through the
same mechanism should be kept an implementation detail and not be
considered as a new load in the API sense.
Also implement HasErrorPage for good measure and remove an anoying
warning from the demo browser.
The issue of the url not being changed remains in the QML test (but
it doesn't affect a typical browser-like UI since the user input is
still there untouched in the address bar), just make sure that failure
does not affect the later checks. It also seems like we have a focus
problem somehow, but the test should probably use a click for that
matter.
Change-Id: Ib5e363981a11287fdf4bfe84b93c999d96ed8087
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This adds API for overriding some certificate errors. Once overridden
any identical error for the same hostname and certificate will use
the same override.
Similar API for QtWebEngine QML should be added in a later patch.
Change-Id: I144147b86d9b592e3f87346a1e48890acee0c670
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
| |
Change-Id: Idbe0eafb51d77cc00e3a93179b81770724d5bfaa
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AddNewContents is only called when window.open is called from JavaScript.
We also want the shift/ctrl modifiers to trigger normal links to open
in the requested disposition. In this case OpenURLFromTab will pass
the detected disposition and we must create a new WebContents
ourselves.
Use the same code path going through
WebContentsAdapterClient::adoptNewWindow except that we pass a null
WebContents pointer to the WebContentsAdapter constructor and let it
create its own when initialized.
Change-Id: I817b0e72aec12723bf92d9b7ad85c1cecbf5e408
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Calling findText successively might prevent the previous pending
FindReply to be sent, which would leak the callback on the
application side.
This would cause a crash in qupzilla since we empty all pending
callbacks in the QWebEnginePage's destructor to catch this kind
of issue.
This also renames lastRequestId to nextRequestId to make it clear
that this is the ID generator for everything, including findText,
and that lastFindRequestId is only a tracker.
Change-Id: Ia78d553a58ed31af7237aad8772fa9828560c6d4
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most of the patch is about upstream classes/methods that changed.
Other important details:
- icu data files are now used by default
- cygwin is no longer required to build on Windows
- RenderFrameHost has been replacing RenderViewHost in a few places,
following the separate process iframes support in Chromium
- The user agent is accessed through ContentClient::GetUserAgent
instead of from the command line switches
Change-Id: I86cc93aff7ce31176a80b0b4a5d54025674a451c
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
This allows to resolve visited links in the render process.
The newly introduced API at the Core layer should allow exposing
this functionality to our widgets and Qt quick API layers.
Change-Id: I256376afcfe79014dc274e2dddbac1986a884a93
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The findNext flag tells the frame to search starting from the current
selection, but the code assumes that the flag won't be used when there
isn't any find selection (like when the Frame changed).
Make sure that we won't use that flag after we received a load
committed signal.
Change-Id: I10f0f84226232d150f19fd644d7afe78bc425f74
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
|
|
|
| |
I dropped hovered title support from the QtWebKit API,
it seems we don't need that logic.
Change-Id: I5617c295344512a35aa526a6f1307f0b21f866d6
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reuse the MediaCaptureDevicesDispatcher from the chrome layer,
pretty much as is, and wire it in with WebContentsDelegateQt and
WebContentsAdapter/WebContentsAdapterClient for API delegation.
We also need to ensure that our user agent string mentions Chrome and
the Chrome version we're based on, in order to please websites that detect
feature support that way.
Change-Id: I0ddf8cd34e4add96bc36f59adfe8e0384e728d93
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
| |
We missed a very important overload of WebContentsDelegate used by
window.open to navigate new pages. The logic is mostly taken from
chromium/content/shell/browser/shell.cc.
Change-Id: Ib359edb61c1ee6eab89e2ebdc2aad2d944fea712
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
|
|
|
|
|
|
|
|
|
| |
Be explicit about this since the "using base::string16" statement will
be going away eventually.
Change-Id: I292928345eec746bea04e15a3f25e46193704463
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
| |
Change-Id: If0cc263f36d396fd505c1d8b026e2493bfc29cc4
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
And unskip the corresponding autotest.
Change-Id: Ida2dcee38b261b2ba4ad0c5c016f5510ed1590a4
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
| |
Load progress is already available in the current snapshot.
Change-Id: I997b25a1da284b43d442d3105105be3455628087
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
The WebContentObserver::DidFailLoad event doesn't handle
all of the errors during the web content loading (eg. network errors).
Thus WebContentObserver::DidFailProvisionalLoad should be binded
on Qt side to handle these errors too.
This event is handled by the WebContentsDelegateQt::DidFailLoad function now.
Change-Id: I1421214dd94481a1e27cda8d35a35d418289b604
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
This only move files without adjusting any paths.
This moves:
- lib/quick -> src/webengine/api (API files)
lib/quick -> src/webengine (other files)
This contains the main QtWebEngine module library since
<ec7b2ee70a8b2db7fb87f50671a001ddd54697b0>.
- lib/widgets -> src/webenginewidgets
Also rename this directory to match its module name and rename Api to api.
- lib -> src/core
- process -> src/process
- resources -> src/core/resources
- tools/* -> tools/scripts/
The build directory is spread as follow:
- build/build.pro -> src/core/gyp_run.pro
- build/qmake_extras/* -> src/core/ (for the host and target .pro files)
- build/qmake -> tools/qmake
- Build related scripts -> tools/buildscripts
Change-Id: I0cded1de772c99c0c1da6536c9afea353236b4a1
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|