Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
QtWebEngine/Rebase on New Chromium
Qt WebEngine keeps its branch of Chromium in the src/3rdparty/chromium submodule.
The submodule is a flattened and trimmed version of chromium where all the submodules of Chromium have been imported into a single module, and many large parts we don't need have been removed to save overhead.
The qtwebengine-chromium submodule has multiple branches.
- upstream-master is the pure snapshotted Chromum upstream
- xx-based are patched branches of Chromium xx with our patches applied to it.
In tools/scripts are a few scripts meant to help with the rebasing.
Rebase on new patch release
When updating to a new patch release of Chromium.
- Update tools/scripts/version_resolver.py with the new version
- Run "tools/scripts/init-repository.py --baseline-upstream" this will create src/3rdparty_upstream directory with Chromium from the given version
- Make sure src/3rdparty is checked out to 'upstream-master', and you have no files or changes there you want to preserve.
- Run "tools/script/take-snapshot.py" this will copy a trimmed version of src/3rdparty_upstream to src/3rdparty
- Stage all changes (new files and deleted files "git add -A") in src/3rdparty
- Commit and push to upstream-master
- Switch to latest xx-based branch
- Call "git merge upstream-master" and push the merge change to gerrit.
- Create commit in the main qtwebengine module where you include the update update version_resolver.py and the src/3rdparty SHA1 at the same time.
These steps can also be used if you need to use a new Chromium component that was previously trimmed away, or other files we trimmed away. Instead of changing version_resolver.py, you update take_snapshot.py so it includes the wanted files, but perform the same steps.