QtWebEngine/WorkShop 2024 October: Difference between revisions
Jump to navigation
Jump to search
Allan Jensen (talk | contribs) No edit summary |
Allan Jensen (talk | contribs) (→Agenda: Update) |
||
Line 7: | Line 7: | ||
* Qt 6.9 planning | * Qt 6.9 planning | ||
** Windows ARM support | ** Windows ARM support | ||
*** QtPDF was easy, but WebEngine is more complicated | |||
*** Kaloyan looking into it | |||
*** One major issue is GAS assembly. | |||
**** ffmpeg, boringssl, and dav1d | |||
**** For boringssl and dav1d we can disable assembly optimizations. | |||
**** We have a perl script that converts GAS to NASM that could make us build on MSVC | |||
** Extension API. | ** Extension API. | ||
*** Basic API: Load manifest plus path. | |||
*** Addons are enabling more Chromium extensions APIs (we currently only provide a limited amount). | |||
**** One complicated API that is widely used is the tabs API, which is not that simple to integrate | |||
*** PWA API | |||
**** Has some database of installed apps | |||
** D3D12 support | ** D3D12 support | ||
*** Even doable? Does it need Dawn? | |||
*** We probably need Dawn graphics integration anyway | |||
** ANGLE use with WGL/GLX/EGL | ** ANGLE use with WGL/GLX/EGL | ||
*** Peter is working on it | |||
*** WGL removal patch up for review | |||
*** GLX/EGL is integrated in 5.9, but not on by default. | |||
** New setting for touch-event handling API, to avoid websites detecting desktops with touch screens as mobile. | |||
** High-contrast theme passing on Windows | |||
** Printing header and footers. | |||
** Async download requests | |||
** Profile builder API | |||
*** Deprecation of old API might be complicated when we copy to old Qt versions. | |||
** Wrap up frame-based API. | |||
** Finished (first) rendering signal. | |||
** Update to Chromium 128, and 130 | |||
* Use cases | * Use cases | ||
** SVG renderer | ** SVG renderer | ||
** OAuth | ** OAuth | ||
* WebView speculation | ** Stacking of native views (webview) | ||
* Qt WebView speculation | |||
** WebView2 Windows backend | ** WebView2 Windows backend | ||
** C++ | ** C++ API, QtWidgets, or QtGui QWindow? | ||
* Version independence | |||
** We are currently just pretending to be qtbase version | |||
** Should we continue to support 6.5 in 6.9? | |||
== Agenda == | == Agenda == | ||
Line 23: | Line 52: | ||
* Agenda discussion | * Agenda discussion | ||
** Scope of webengine | ** Scope of webengine | ||
*** | *** Cypersecurity resilient act | ||
*** | *** WebView | ||
** Talk of what we want to do | ** Talk of what we want to do | ||
* Feature Brainstorm | * Feature Brainstorm | ||
* | ** QWebEngineWindow | ||
** Pretend to be patch level version in agent string? | |||
** QWebEngineUrlResponseInterceptor | |||
** WebData | |||
** Autofill API/ Password manager integration | |||
** More extensions API | |||
** Payment API | |||
** Removing Machine Learning/WebNN crap | |||
** Subresource loading status. | |||
** Minimal build, binary size reduction. | |||
*** Investigate existing if still meaningful, and new options that are. | |||
** Reinitialization with QApplications. | |||
** Early shutdown of WebEngine | |||
** Single executable (in main binary helper process) | |||
*** Needed for moving networking out of main process on some platforms. | |||
** Static builds (licensing, and needs above) | |||
** Dawn rendering | |||
** Paint to QPainter/image, doesnt have to be live | |||
* Support brainstop | * Support brainstop | ||
** Patch reduction | ** Patch reduction | ||
*** Code changing the same code, should ideally be one commit, to not deal with merge issues multiple times. | |||
** Upstreaming | ** Upstreaming | ||
* | *** Peter presented | ||
* Feature follow-up | ** Rebasing | ||
*** Allan and Michal can do early stage, the goal is to have three people that can do the early stage. | |||
**** We might need to have somebody working on rebasing almost always | |||
*** First stage is that it builds on most platforms, and runs almost all tests without crashing (but possibly failing) | |||
*** Everybody helps after first stage is done. | |||
*** Suggested [] notation of chromium patches. We have FIXUP, [Revert], [Backport], we can add compiler or platform or qt module. Consider mixed/lost backport commits([Persistent Backport]?). | |||
*** We should consider doing a team review of all patches. | |||
* Backlog grooming | |||
* Feature follow-up discussion | |||
=== Friday === | === Friday === |
Revision as of 12:12, 10 October 2024
When: 2024-10-10 - 2024-10-11
See QtWebEngine/Features for the last two workshops
Topics
- WebEngine Use Cases
- Qt 6.9 planning
- Windows ARM support
- QtPDF was easy, but WebEngine is more complicated
- Kaloyan looking into it
- One major issue is GAS assembly.
- ffmpeg, boringssl, and dav1d
- For boringssl and dav1d we can disable assembly optimizations.
- We have a perl script that converts GAS to NASM that could make us build on MSVC
- Extension API.
- Basic API: Load manifest plus path.
- Addons are enabling more Chromium extensions APIs (we currently only provide a limited amount).
- One complicated API that is widely used is the tabs API, which is not that simple to integrate
- PWA API
- Has some database of installed apps
- D3D12 support
- Even doable? Does it need Dawn?
- We probably need Dawn graphics integration anyway
- ANGLE use with WGL/GLX/EGL
- Peter is working on it
- WGL removal patch up for review
- GLX/EGL is integrated in 5.9, but not on by default.
- New setting for touch-event handling API, to avoid websites detecting desktops with touch screens as mobile.
- High-contrast theme passing on Windows
- Printing header and footers.
- Async download requests
- Profile builder API
- Deprecation of old API might be complicated when we copy to old Qt versions.
- Wrap up frame-based API.
- Finished (first) rendering signal.
- Update to Chromium 128, and 130
- Windows ARM support
- Use cases
- SVG renderer
- OAuth
- Stacking of native views (webview)
- Qt WebView speculation
- WebView2 Windows backend
- C++ API, QtWidgets, or QtGui QWindow?
- Version independence
- We are currently just pretending to be qtbase version
- Should we continue to support 6.5 in 6.9?
Agenda
Thursday
- Agenda discussion
- Scope of webengine
- Cypersecurity resilient act
- WebView
- Talk of what we want to do
- Scope of webengine
- Feature Brainstorm
- QWebEngineWindow
- Pretend to be patch level version in agent string?
- QWebEngineUrlResponseInterceptor
- WebData
- Autofill API/ Password manager integration
- More extensions API
- Payment API
- Removing Machine Learning/WebNN crap
- Subresource loading status.
- Minimal build, binary size reduction.
- Investigate existing if still meaningful, and new options that are.
- Reinitialization with QApplications.
- Early shutdown of WebEngine
- Single executable (in main binary helper process)
- Needed for moving networking out of main process on some platforms.
- Static builds (licensing, and needs above)
- Dawn rendering
- Paint to QPainter/image, doesnt have to be live
- Support brainstop
- Patch reduction
- Code changing the same code, should ideally be one commit, to not deal with merge issues multiple times.
- Upstreaming
- Peter presented
- Rebasing
- Allan and Michal can do early stage, the goal is to have three people that can do the early stage.
- We might need to have somebody working on rebasing almost always
- First stage is that it builds on most platforms, and runs almost all tests without crashing (but possibly failing)
- Everybody helps after first stage is done.
- Suggested [] notation of chromium patches. We have FIXUP, [Revert], [Backport], we can add compiler or platform or qt module. Consider mixed/lost backport commits([Persistent Backport]?).
- We should consider doing a team review of all patches.
- Allan and Michal can do early stage, the goal is to have three people that can do the early stage.
- Patch reduction
- Backlog grooming
- Feature follow-up discussion
Friday
- Feature follow-up
- Support follow-up
- Backlog grooming
Summary
What to do better next time?