QtWebEngine/WorkShop 2024 October: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 139: Line 139:
*** Frame API features https://bugreports.qt.io/browse/QTBUG-131557
*** Frame API features https://bugreports.qt.io/browse/QTBUG-131557
*** Push notifications https://bugreports.qt.io/browse/QTBUG-131557
*** Push notifications https://bugreports.qt.io/browse/QTBUG-131557
** Platform notes,
** Platform notes. All below are in https://bugreports.qt.io/browse/QTBUG-131558 
*** nodejs is should be higher than 14
*** nodejs is should be higher than 14
*** Linux gcc min is 10 AFAIK.
*** Linux gcc min is 10 AFAIK.
Line 155: Line 155:
*** Fullscreen windows opengl is outdated, remove
*** Fullscreen windows opengl is outdated, remove
*** Move window application manifest to deploy
*** Move window application manifest to deploy
** Debugging and profile
** Debugging and profile. All below are in https://bugreports.qt.io/browse/QTBUG-131559
*** Console logging should tell how to get console logging on Windows.
*** Console logging should tell how to get console logging on Windows.
*** Developer tools is repeated from features/overview, deduplicate emphasise internel views.
*** Developer tools is repeated from features/overview, deduplicate emphasise internel views.
*** --enable-features=NetworkServiceInProcess is default now. Maybe document the reverse
*** --enable-features=NetworkServiceInProcess is default now. Maybe document the reverse
** Deploying
** Deploying. All below are in https://bugreports.qt.io/browse/QTBUG-131560
*** Target platforms probably not needed here
*** Target platforms probably not needed here
*** Some standard parts are from Qt deploying can be removed, or just referenced.
*** Some standard parts are from Qt deploying can be removed, or just referenced.
*** devtool resources are not just for remote debugging
*** devtool resources are not just for remote debugging
*** Manifest info from Windows moved here.
*** Manifest info from Windows moved here.
** Module evolution could mention APIs deprecated or improved in Qt 6.x
** Module evolution could mention APIs deprecated or improved in Qt 6.x https://bugreports.qt.io/browse/QTBUG-131561
** Examples
** Examples. All below are in https://bugreports.qt.io/browse/QTBUG-131562
*** Maybe merge module examples pages.
*** Maybe merge module examples pages.
*** Running repeats. Do we want it?
*** Running repeats. Do we want it?

Revision as of 16:02, 25 November 2024

QtWebEngine Team in Szeged in Oct 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
    • 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
    • Update documentation
  • 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 need a way to deal better with deprecations from other Qt modules
    • No general testing for backwards compat
      • We need at least one CI node doing such a mixed build
    • 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
  • Feature Brainstorm
    • D3D12 support
      • Even doable? Does it need Dawn?
      • We probably need Dawn graphics integration anyway
    • 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.
        • There was useful, do it again
      • There were many patches that could possibly be upstream
      • WebEngine workshop patches
  • Backlog grooming
    • We went through the 50 oldest and 20 newest bugs
  • Follow-up discussion
    • We should try to have more reliable tests
    • SCCache should be investigated
      • Can we preserve WebEngine cache better
      • Can we enable SCCache on Windows

Friday

Summary

What to do better next time?

  • Start with something customer based
  • Better splitting of tasks with chromium update
  • Use JIRA more for work we are doing.