| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is needed to let local content access the qrc resources by making them
part of the same security origin. This is stated in the docs as the default
behavior.
This also backports change f7d343000d77c80f34a115fe9c78f101929292b1
from 5.7, which fixed some race condition with the qrc registration.
Task-number: QTBUG-52085
Change-Id: Ia704fa6dbce8529f82695ab543244020cb9f8b8a
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Most of our Qt specific versions of Chromium classes have Qt appended,
but a few observers have it prepended. This patch renames them to keep
naming consistent.
Change-Id: I004b61e16bc47f39a6bbc16a5f5c10585626865c
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Use the web_cache component which monitors and adjusts the web cache,
so that the memory use is limited across multiple renderer processes.
Change-Id: I9faa060d48f99a3c527fe0e0963bbe86db4b502c
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
This avoids deprecation warnings when using e.g. WebRTC (see also
https://goo.gl/rStTGz ).
Task-number: QTBUG-48272
Change-Id: Ib3d076ccc9eff0344d60f82b7671b047c0b3d423
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
|
|
|
|
|
|
|
| |
Fixing the minor differences needed to work with Chromium 45.
Change-Id: I5036b4b9a069d45e8dd37e24fab84cdfe5e67acc
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I8261b201f1d6623eff3427b68b8d098c17d293d3
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces a new public C++ API layer in preparation to make
it possible to integrate with lower level Chromium features related mostly
to networking operations like accessing and blocking cookies, custom
request headers, etc.
This API layer can be used both by Qt Widgets and Qt Quick applications
with a small C++ core. It should contatain API to access features that
usually run on the IO thread to make it possible to perform heavy tasks
that would otherwise require costly context switches to the UI thread.
Furthermore for these features a QML API does either not make sense,
since they are non-UI-related, or a QML API is simply not feasible,
because the API is meant for advanced usecases like web browser
development (i.e. custom protocol handlers, network traffic
interception cookie syncing, etc.).
In the long term this layer could also make it possible to reduce code
duplication in the widgets and quick layers by moving common parts to
the core layer.
The new API is built entirely by qmake as a separate static library which
is then linked into the QtWebEngineCore library built by gyp and ninja,
to prevent the build options passed to Chromium to break the API layer.
As a first step this only contains the global headers for core.
Change-Id: Iccf8544587cde7c0d9c6abd462e4766bf9ec81ae
Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
Add necessary support to make Flash plugin work
properly and be able to navigate on urls and
load fonts from system. Support for fullscreen
mode still missing.
Change-Id: Id948cde47b852332e1a4f5a73e781f01d27223f8
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allowing programmatic injection of JavaScript to accomplish
all sorts of tasks on the render process side.
This API gives control over the point during the loading phase
at which the script is run, whether it is run on sub-frames or
not, as well as the JavaScript world it is run in (either the
page's main world, or an arbitrary isolated world).
This only has the Widgets API. The Quick API, tests and docs
are coming in separate patches
Change-Id: Ia1c79f68f8dfd4d964281d9723d09062ed7abe46
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
|
|
|
|
| |
Change-Id: I67d0040c2e9f00e8a7b842ac1228212c0e93873c
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
| |
That code was borrowed straight from Chromium and used the Chromium
coding style.
Change-Id: I212aea23f19056b901cbc770640faed4998f02fd
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
|
|
|
|
|
|
|
|
|
| |
This is required so that embedders can implement custom error pages,
and is also needed for tests, where error-page loading has side-effects
on subsequent page loads.
Change-Id: I5ae276a58864a2fa9d7b608bea3340b482a92f4e
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|
|
|
|
|
|
|
|
|
| |
Use the WebFrame's more reliable contentAsMarkup() and
contentAsText() methods instead of going down to the Document
element.
Change-Id: I332e24375e074124099b59e8a784a0a038c6f70b
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Andras Becsi <andras.becsi@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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I6b70b6199f0502ef67043325e7b7680529bd33fa
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the chromium localized error strings for that purpose, otherwise the
error description is always empty.
While we're at it, let's tap into the chromium error pages, which should
hopefully make sense for most errors, and add some static asserts to
check that the qt quick enum and the core one are in sync.
Change-Id: Icf8fa7c3bf4a674c60a10950422135fb6930447a
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
|
|
|
|
|
|
|
|
|
| |
This fixes the flaky QQuickWebEngineViewGraphics test and extends it
with a new test case.
Change-Id: I2d8a0762716cb9232fdea6473760e67ac2e7146d
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Chromium currently triggers the load of an error page synchronously
from the render process when it encounters a load failure.
This has the nasty effect of producing extra loadStarted and
loadFinished signals, the later also emitted as a successful load.
Disable error pages loading until we can implement the error page
extension properly.
Change-Id: Id6aebc6f63bd810b37d89e9297c0b221e8b81448
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
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>
|