QtWebEngine/WorkShop 2025 August
Jump to navigation
Jump to search
When: 2025-08-26 - 2025-08-27
See QtWebEngine/Features and QtWebEngine/WorkShop_2024_October for the last workshops
Topics
Agenda
Tuesday
- Agenda discussion
- How to follow up on workshop
- Went through last workshop notes
- We are down on man power this next year, so need to take that into account
- QtWebView status and feature requirements
- Platforms
- We have now WebView2 on MSVC, but not clang/mingw
- Android
- iOS/macOS
- WASM, what to do, should we ignore, who wrote it?
- We should delete winRT backend
- Permissions
- Can we handle WebRTC etc..
- Fullscreen requests
- Unknown permission for stuff we dont handle.
- Delegates
- Could be provided if using QWidgets API
- Integrate with native widgets on Android/iOS.
- But we recommend QML for embedded anyway
- Might already be handled within the libraries used by the plugins
- needs to be tested.
- WebActions
- Do we want them
- if not, which of them do we need?
- History API
- JavaScript evaluation
- With or without callback
- can callbacks be done with console write?
- Is very useful for our own testing
- With or without callback
- WebChannel
- should be possible already, but adding convinience API might be desirable
- Find API
- Favicon info
- Downloads
- Authentication API
- check what we added to webengine
- and integration with QNetworkAuth
- Clipboard interaction
- Might need to be tested
- Off the record mode
- New window/tab handling
- What does qtwebview currently do?
- Windows might just open new windows we then dont have any API for.
- Plugin capability test api
- Platforms
- QtWebView action steps
- For 6.11, do the following
- Test delegate interaction
- if handled internally, we can do QWindow API
- if we need to handle it, QWidgets API would be simpler
- Also test new window handling
- Capability API to ease implementation of features per plugin
- JavaScript API for testing purposes.
- Estimate work to support mingw/clang
- Feature brainstorm
- Qt 6.11 planing
- QtWebView API
- Extensions API status
- Something useful
- like tabs API
- AdBlocker test
- WebChannel integration
- Something useful
- Rust stuff
- Printing API for frames (new api), JIRA ticket
- The whole update Chromium 138/140 horror story
- Qt 6.11 planing
- Support brainstorm
- Rust requirement
- Start with official stable rust
- Might be a problem in the longer run
- Google uses unstable rust
- Google uses patched libraries
- Allan update his patch
- Chrome standard library
- Google is now requiring their own binaries
- Look into what Linux distros are doing (Peter will check Gentoo, Allan will check Debian)
- AI patch set. MSVC conflict issue, inline asm and stuff.
- Might be possible to only disable on Windows ARM (or use clang-cl)
- Need to check compatibility between cl and clang-cl
- QML issue
- Working with CI
- Is super slow
- Nothing has been done about if for years
- Nobody seems to know how to fix the systemic issues
- What we learned from Windows on Arm issues
- Build took way too long on native build after we finished making it work (40 hours)
- We tried a cross compilation approach, Michael ended up having to do most of the work
- But it was broken in packaging combined native and cross-build binaries, with different configurations
- Now we have matching config builds
- Are trying to push for using full cross compilation build, but it requires cmake and qmake update to make the cross-build libraries working for native end-user builds.
- Another approach is using 128 core native builds.
- Add clang-cl CI config
- Allan will try to add it
- Rust requirement
- Connect to Google/Chromium owners
- Upstreaming might help build up clout
- New owners might not even want to work with us
- Chrome team in Munich. We should try to connect with them
- Backlog grooming
- Follow-up discussion
- Dinner
Wednesday
- Chromium patch workshop
- See QtWebEngine/WebEngine_workshop_patches from last workshop
- We should update copyright on qtwebngine specific files in chromium
- Went through line 100 to 288 in Log.txt from 130->134 based
- 1baa6e7f5c8 Reintroduce SANDBOX_EXPORTS, and fix it for heterogeneous executables
- mark sandbox
- Might be upstreamable
- 6dcac6104f3 Fix zygote path used
- Upstream if the one above is
- mark sandbox
- 1e1bb33e531 Disable responsiveness watcher
- No idea if still neceary, needs better documentation if it is
- 9abd1f52e2c Soften check for single thread only if layer1 or layer2 sandbox
- mark sandbox
- e65f367a27b Enable the option to remove previous user PrefService
- marked as not necessary in qt6, but we mights still need it until we remove live changes of profiles (qt7)
- 87dd97fb1e3 Fix changing should_override_user_agent_in_new_tabs_
- Upstreamable
- 4b53fc4bfcf Fix pressure of tablet events
- `Needs to be checked if still relevant
- db8f956cf2c Fix crossbuilds of v8 snapshots
- mark snapshot
- check if still needed
- e519b425b16 Fix crash on page allocator
- mark ios
- mark pdf only?
- check if still needed
- 6a15e18891b Allow changing user-agent without replacing the entire network context
- upstreamable?
- mark profile
- d6ce559951b Fix build for expanded sources
- rename, 99% fix spellchecking
- 1c0e845f712 Fix initialize of cdm for sandbox from widevine-path
- rename it is adding another path setting
- 68ae2cd4qqb2f Do not depend on soda on Linux
- check sha, rename or merge with webspeech removal
- 33a944509cd Remove blocking of proper fixes
- merge with MSVC fixes
- upstreamable
- c9c27951357 Disable NetworkServiceSandbox on macOS by default
- Check if necessary, otherwise document the underlying issue
- ebb6f9b9cd4 Legalize SSE/NEON intrinsics
- upstreamable, is illegal, but just happens to work in clang
- edce0c1ba97 Bring enable_webrtc back
- Check what we even still save anything significant
- 110c5efbf13 Make GpuSwitchingManager::RemoveObserver() thread safe
- Upstreamable
- mark compositor
- check if even still relevant
- 65ef7957593 Fixes for our tests
- Is like four separate patches, some possibly mergable with other parts
- e0e30fcd97e Fix crashes on getUserMediaRequest
- could probably be merge, for instance with enable_webrtc patch
- 17fc680b8c4 Make clang to inline load/store atomic calls for YieldSortKey struct
- might not be needed anymore
- d21e5769b9a Workaround revoked certificate check on Linux
- needs to be verified it still does anything, if it does, upstreamable
- c36ae9cca66 Adapt accessibility code for our needs after chromium 90
- split, part is fixing building without enable_toolkit_views, part is adding Qt specifica accesibility backend
- 24e2b1ad96e Fix data fragment navigation
- upstreamable.
- 8c0a055b7c3 Fix fragment navigations on custom URL schemes
- fixup of custom url schemes
- ba19faa985b Pass Qt Prefix path to the macOS V2 Seatbelt Sandbox
- mark sandbox
- eb0ec797569 Pass virtual url of data url request back to the UI
- probably upstreamable
- 460c5e388e2 Fixup select elements
- check if still needed,
- rename to fix for enable_external_popup=false
- c54458882fa Disable less privileged app container
- mark sandbox and no-manifest
- is only needed when executables have no manifest
- 14c593a4077 Do not override getaddrinfo in libc_interceptor
- mark as sandbox
- f4b4ebf43fc Do not initialize default locale in local isolate
- should likely be squashed with fixups of issues htis caused
- bb77ba286f2 Fix for QtWebEngine crash on Windows
- might not be needed with angle, and be for wgl only
- needs check
- 28d39e1888f [macOS] Do not subscribe to display callbacks when GPU is disabled
- might not be needed with angle, and be for cgl only
- needs check
- fd0924bc2ac Add network service discovery
- might need to be squashed
- Documentation workshop
- Link to wiki build intructions
- and have them as simple as possible
- and with basic troubleshooting
- Update to assume 6.8+
- Ask for config.opts and config.summary in bug reports
- Advocate for modular build of qtwebengine
- the rest of qt can be toplevel, or release binaries
- Docu-week
- Link to wiki build intructions
- Collective sync
- Conclussion
- Worked well
- Virtual workshop in January or so
- Backlog gardening needs to be done more often in smaller bites.
- We are likely going to have a lot of pain with future chromium updates
- Backlog grooming could be moving slower, so everybody can catch up.
- We might have problems doing all the stuff we comment on in chromium patch review.
- We might be able to do that together with our clean 134-rebased we are discussing
Summary
What to do better next time?