Gecko-dev Diary
Starting in August 2023 I'll be upgrading the Sailfish OS browser from Gecko version ESR 78 to ESR 91. This page catalogues my progress.
Latest code changes are in the gecko-dev sailfishos-esr91 branch.
There is an index of all posts in case you want to jump to a particular day.
Gecko
5 most recent items
29 Aug 2024 : Day 334 #
I'm continuing the process of patch rationalisation today. Yesterday I got through 24% of the patches, so I'm expecting this task to run up until the weekend. For a bit of context on this, if I were working full-time on the project I'd expect to spend a day doing this, but because I'm dipping in and out, it's inevitably taking a bit longer.
Nevertheless I've made good progress today. The following are the patches I've worked through:
You'll notice there are three patches that don't have a topic prefix of [sailfishos][gecko] added. That's because these three patches related to the rendering pipeline. I'm planning to combine these together, but want to first batch them up so I can clearly see how many they are and what files they touch. With any luck, combining these should offer a nice opportunity to tidy things up as well.
I've not checked, but the plan with all of these changes is to ensure the final repository contents stays identical to what we have now. Moving, merging, rewording and re-attributing commits shouldn't have any impact on the final contents. The commit hashes will change, partly due to changes in the descriptions (which are included in the hash) and partly as a result of consolidating patches. But it's the final result that needs to stay the same so that should all be fine.
In summary, I've now worked through 86 of the original 126 commits. That's 68% of them. There are now just 92 patches in total which is already lower than the 98 patches needed to build ESR 78 and it's likely to go down further. The fewer the patches the easier the browser will be to maintain in the future, so this is a good sign.
If you'd like to read any of my other gecko diary entries, they're all available on my Gecko-dev Diary page.
Nevertheless I've made good progress today. The following are the patches I've worked through:
f55057391ac0 Prevent errors from DownloadPrompter eab04b8c0d80 Enable dconf c6ea49286566 Disable SessionStore functionality e035d6ff3a78 Add embedlite static prefs 5ae7644719f8 Allow file scheme when loading OpenSearch providers 1fe7c56c7363 Supress URLQueryStrippingListService.jsm error 80fa227aee92 [sailfishos][gecko] Fix gfxPlatform::AsyncPanZoomEnabled... b58093d23fb2 Add patch to fix 32-bit builds ad1b74f33c3d Drop swap_buffers_with_damage extension support... 249be020a9d3 Update EglDisplay pathway cef201e30159 Make PresShell::SetIsActive() public 009c0fc0134c Avoid crash on theme change 49148b0b591a [PATCH] [sailfishos][egl] Do not create CreateFallbackSurface... 9882c3c821a9 Create EmbedLiteCompositorBridgeParent in... 78c9c07e4ffe Update GetBoostrap return value f9505b8e3cc8 Split namespace into two blocks bdb5a929ce64 Introduce EmbedInitGlue to the mozglue. JB#50788 2f6cdae7162d Fixup for f4c2a96b3363e7e64bd728126b5a1d9c720dea7b aaed7ec58c1d Revert "Bug 1333826 - Remove a few references from .mk files..." 7ec6ebc30d76 Revert "Bug 1333826 - Remove the make-sdk build target, the..." bf9598fdc451 Revert "Bug 1333826 - Remove SDK_FILES, SDK_LIBRARY, and..." 5f2f418800dc Revert "Bug 1427455 - Remove unused variables from..." ab0a86414349 Revert "Bug 445128 - Stop putting the version number in the..." a3dcc0d45a5a Force to build mozglue and xpcomglue static libraries f05364dbad53 Allow gen_last_modified.py to complete a0206e85d4ec Add support for aarch64 to elfhack. JB#57563 1257cda3f006 Restore nsAppShell.h bb66c816d2e5 Revert "Bug 1567888 - remove unneeded QT-related rules and..." 4f87cfb7621c Revert "Remove reference to moc_nsAppShell.cpp" efab5ee79c4d Revert "Remove build reference to moc_nsNativeAppSupportQt.cpp" 3733c9668313 Add Qt nsNativeBasicThemeQt class b8069777e723 Fix nsLookAndFeel code c31b0b87e992 Add missing GfxInfo methods 2fd26a23b173 Add gfxQtPlatform to method implementations a7d148ce50d1 Add dom/system/qt directory to build 42c6aeccffab Fixup dbddd968a5eb Update nsLookAndFeel cccc969f3668 Remove reference to moc_nsAppShell.cpp 52f8c2eb9c70 Fixup e31ed7aaa670 Update Qt implementaiton of nsPrintSettings f8b62e39b45e Add missing methos to GfxInfo e31ed7aaa670 Update Qt implementaiton of nsPrintSettings dbddd968a5eb Update nsLookAndFeel cea87136481f Rename MediaControlKeysEventSource to MediaControlKeySource ff3f6467a771 Remove nsPrinterEnumeratorQt 87f95304afe3 Update ProcInfo 4626f98315b8 Remove build reference to moc_nsNativeAppSupportQt.cpp 24181a26e795 Fixup for 38be5c5c7302 [PATCH] Revert "Bug 1611386" 5dd03fbeaba4 Fix embedlite building. JB#50505 cea66a6b7aa0 Revert "Bug 1494175 - Remove unimplemented nsIWebBrowserChrome..." 51e18eb9b16e Restore GLContextProviderEGL::CreateWrappingExisting() 2642f0d8d1bc Remove NS_LITERAL_CSTRING usage b7f6b44b8074 Revert "Bug 1706051 - Remove some IPC messages that are unused..." 7a9fa03f27b3 Hackish fix for preferences usage in Parent process (part 1) f536dbf9f6f8 Switch GLScreenBuffer for SwapChain 48bbc655f6e3 Revert "Bug 1676576 - Remove unused functions of..." 0acadeba1ac3 Allow compositor specializations to override the composite... 6889dbfaabe5 Make it possible to extend CompositorBridgeParent 5a88215c32d6 Work around upstream membarrier changesI've consolidated these 57 patches down into the following 36 patches:
c1b4d42cc6bd [sailfishos][gecko] Prevent errors from DownloadPrompter e5d73eba9939 [sailfishos][gecko] Enable dconf 3c091af6fb4c [sailfishos][gecko] Disable SessionStore functionality 69cc843f6b5d [sailfishos][gecko] Add embedlite static prefs 76df2956569a [sailfishos][gecko] Allow file scheme when loading OpenSearch... 2a397ab1febd [sailfishos][gecko] Supress URLQueryStrippingListService.jsm error be2dd5f7f549 [sailfishos][gecko] Fix gfxPlatform::AsyncPanZoomEnabled for... 6e1b47607843 [sailfishos][gecko] Add patch to fix 32-bit builds f0199909b71f [sailfishos][egl] Drop swap_buffers_with_damage extension... 7ea1768c2aeb [sailfishos][gecko] Make PresShell::SetIsActive() public d05693baba5f [sailfishos][egl] Do not create CreateFallbackSurface... f6c1cf32effe [sailfishos][gecko] Create EmbedLiteCompositorBridgeParent in... ce922a93b50a [sailfishos][gecko] Split namespace into two blocks 881758877c5d [sailfishos][gecko] Introduce EmbedInitGlue to the mozglue... 9e9430751d8b [sailfishos][gecko] Revert "Bug 1333826 - Remove a few..." 73ffb3a64c50 [sailfishos][gecko] Revert "Bug 1333826 - Remove the make-sdk..." bffc049cab51 [sailfishos][gecko] Revert "Bug 1333826 - Remove SDK_FILES,..." d27da57a5840 [sailfishos][gecko] Revert "Bug 1427455 - Remove unused..." a1902a2f4a8b [sailfishos][gecko] Revert "Bug 445128 - Stop putting the..." f67aeb2da728 [sailfishos][gecko] Force to build mozglue and xpcomglue static... 097ce48f8019 [sailfishos][gecko] Allow gen_last_modified.py to complete 73cb3c320c43 [sailfishos][gecko] Add support for aarch64 to elfhack. JB#57563 e184424c5a1d [sailfishos][gecko] Restore nsAppShell.h d9d4edaae30a [sailfishos][gecko] Revert "Bug 1567888 - remove unneeded..." aa5bf20f2893 [sailfishos][gecko] Update ProcInfo 1b7857d792bd [sailfishos][gecko] Fix embedlite building. JB#50505 4823c745e163 [sailfishos][gecko] Revert "Bug 1494175 - Remove unimplemented..." e548b4bb2a87 [sailfishos][gecko] Remove NS_LITERAL_CSTRING usage 1106e80173ea [sailfishos][gecko] Revert "Bug 1706051 - Remove some IPC..." 4a89fad38f8c [sailfishos][gecko] Hackish fix for preferences usage in Parent... 9d5a1fc090d4 Update EglDisplay pathway 70af371328eb Restore GLContextProviderEGL::CreateWrappingExisting() 12cae7270918 Switch GLScreenBuffer for SwapChain cba3155a76e3 [sailfishos][gecko] Revert "Bug 1676576 - Remove unused..." 5c198b5f1ae2 [sailfishos][gecko] Allow compositor specializations to... 0dd9598d9874 [sailfishos][gecko] Work around upstream membarrier changesApart from merging together patches that are related I've also ensured existing patches that carried over from ESR 78 have had their details (title, description, author, date) transferred over in full.
You'll notice there are three patches that don't have a topic prefix of [sailfishos][gecko] added. That's because these three patches related to the rendering pipeline. I'm planning to combine these together, but want to first batch them up so I can clearly see how many they are and what files they touch. With any luck, combining these should offer a nice opportunity to tidy things up as well.
I've not checked, but the plan with all of these changes is to ensure the final repository contents stays identical to what we have now. Moving, merging, rewording and re-attributing commits shouldn't have any impact on the final contents. The commit hashes will change, partly due to changes in the descriptions (which are included in the hash) and partly as a result of consolidating patches. But it's the final result that needs to stay the same so that should all be fine.
In summary, I've now worked through 86 of the original 126 commits. That's 68% of them. There are now just 92 patches in total which is already lower than the 98 patches needed to build ESR 78 and it's likely to go down further. The fewer the patches the easier the browser will be to maintain in the future, so this is a good sign.
If you'd like to read any of my other gecko diary entries, they're all available on my Gecko-dev Diary page.
Comments
Uncover Disqus comments