QtWebEngine/WorkShop 2024 October: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(started adding links to tasks. Now saving. More links are coming.)
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 115: Line 115:
*** What a QWebEngineScript should look like and what it can do should be on the class page https://bugreports.qt.io/browse/QTBUG-131538
*** What a QWebEngineScript should look like and what it can do should be on the class page https://bugreports.qt.io/browse/QTBUG-131538
*** References to examples https://bugreports.qt.io/browse/QTBUG-131539
*** References to examples https://bugreports.qt.io/browse/QTBUG-131539
*** Mention user-certificates with ssl certificates
*** Mention user-certificates with ssl certificates https://bugreports.qt.io/browse/QTBUG-131540
*** High DPI being covered explicit is outdated
*** High DPI being covered explicit is outdated https://bugreports.qt.io/browse/QTBUG-131541
*** Related modules should cover qt pdf and not try to link to qtwebkit
*** Related modules should cover qt pdf and not try to link to qtwebkit https://bugreports.qt.io/browse/QTBUG-131542
** Features
** Features
*** Link to external documenation for proprietary codecs.
*** Link to external documenation for proprietary codecs https://bugreports.qt.io/browse/QTBUG-131543
*** Last sentence on codecs is bad
*** Last sentence on codecs is bad https://bugreports.qt.io/browse/QTBUG-131543
*** Reprioritize integrated devtools over remote debugging
*** Reprioritize integrated devtools over remote debugging https://bugreports.qt.io/browse/QTBUG-131544
*** More on custom schemes. For instance with OAuth.
*** More on custom schemes. For instance with OAuth. https://bugreports.qt.io/browse/QTBUG-131545
**** Also mention the scheme registration
**** Also mention the scheme registration
*** Hardware acceleration section is outdated
*** Hardware acceleration section is outdated https://bugreports.qt.io/browse/QTBUG-131546
*** HTML5 DRM could say more explicitly we do not ship it.
*** HTML5 DRM could say more explicitly we do not ship it https://bugreports.qt.io/browse/QTBUG-131547
*** Remove mentioning of features added before Qt 6.2
*** Remove mentioning of features added before Qt 6.2 https://bugreports.qt.io/browse/QTBUG-131548
*** WebChannel out of webSockets doc, and maybe remove websocket doc.
*** WebChannel out of webSockets doc, and maybe remove websocket doc https://bugreports.qt.io/browse/QTBUG-131549
*** Mention HTTP/3
*** Mention HTTP/3 https://bugreports.qt.io/browse/QTBUG-131550
*** Native dialogs. Quick Controls 1 no longer exists. Form validation message no longer work on Qt6.
*** Native dialogs. Quick Controls 1 no longer exists. Form validation message no longer work on Qt6.
*** And maybe the native dialogs often arent native
*** And maybe the native dialogs often arent native https://bugreports.qt.io/browse/QTBUG-131551
*** Pdf file viewing should not mention pluginenabled setting.
*** PDF file viewing should not mention pluginenabled setting https://bugreports.qt.io/browse/QTBUG-131552
*** Lifecycle should probably mention very early it does nothing by default.
*** Lifecycle should probably mention very early it does nothing by default https://bugreports.qt.io/browse/QTBUG-131553
*** Process module is not a feature, move to overview. Check if custom settings are valid and up to date.
*** Process module is not a feature, move to overview. Check if custom settings are valid and up to date. https://bugreports.qt.io/browse/QTBUG-131554
*** Spellchecking should mention Win support, after Kaloyan has tested it. Which he says he will..
*** Spellchecking should mention Win support, after Kaloyan has tested it. Which he says he will. https://bugreports.qt.io/browse/QTBUG-131555
*** AuthUX feature
*** AuthUX feature https://bugreports.qt.io/browse/QTBUG-131556
*** Permissions Feature
*** Permissions Feature https://bugreports.qt.io/browse/QTBUG-131557
*** Frame API features
*** Frame API features https://bugreports.qt.io/browse/QTBUG-131557
*** Push notifications
*** 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?
Line 177: Line 177:
*** Ditto, do that for windows too.
*** Ditto, do that for windows too.
*** Videoplayer, link to proprietary codec issue.
*** Videoplayer, link to proprietary codec issue.
** QML docu
** QML docu https://bugreports.qt.io/browse/QTBUG-131564
*** ShareOpenGL attribute is not needed. Initialize will do that where necessary
*** ShareOpenGL attribute is not needed. Initialize will do that where necessary
* Feature and Support follow-up
* Feature and Support follow-up

Latest revision as of 16:14, 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.