flypig.co.uk

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 RSS feed Click the icon for the Gecko-dev Diary RSS feed.

Gecko

5 most recent items

24 Jul 2024 : Day 298 #
I'm back to testing again today. Yesterday I worked through eight tests, all of which passed, but with three errors generated from the privileged JavaScript. The errors don't appear to be affecting the functionality adversely, but I'll have to go back and fix them errors at some point.

Today I'm forging on with the tests; fourteen remaining. But before I do that, check out this phenomenal image from artist-in-residence thigg, shared yesterday on Mastodon.
 
A pig with wings, dressed like a janitor, little smartphones are running around on their legs on the floor like little bugs. The pig sweeps a few of them into a basket with a broom.

Thigg has been responsible for all of the amazing artistic creations on these pages (check out Day 174 and Day 248 for just a couple of the many others) and I'm always bowled over by the creativity.

This one has a slightly different style compared to previous images. Here's what Thigg has to say about it:
 
Software development is an emotionally challenging task. You need to deal with lots of frustration, your self-confidence and you always need to fight the urge of being sucked in by something that shouldn't be on your priority list... Today I tried to show that you pick up some bugs, but others run around being ignored.

This captures how I've been feeling over the last few days perfectly! Thigg has it spot on. Since I left the cover image bug yesterday, I've been doing my best to move on and find more bugs. Today it's less about sweeping them up and more about search with a magnifying glass to find them!

Let's continue with this task by working through the remaining tests. For the about:config configuration test I found a webgl.disabled flag. Activating this flag had the desired effect of disabling WebGL rendering, also restored when I deactivated the flag again. So I've satisfied myself that the configuration is working correctly.

I then tested the homepage functionality, search providers and automatic tab closing.

For the "Do Not Track" test I used the very convenient requestheaders.dev site. This mirrors the request headers sent to the site back at you. When the Do Not Track option is set in the browser I see the following line appearing:
  "dnt": "1",
This indicates Do Not Track is enabled. After disabling it in the browser settings this header line disappears, just as it should. I also found another convenient site — jsstatus.com — the main purpose of which is to tell you whether JavaScript is enabled or not on your browser. Flipping the switch in the settings gives the appropriate response on this page as well.

While searching for this page I also hit the Basemark browser test page and couldn't resist giving it a go. The result showed that ESR 91 on Sailfish OS isn't particularly fast (compared to desktop Firefox), but its functionality is pretty much up there with the latest.

Here are the results.
 
Functionality Desktop Firefox Sailfish ESR 91
Performance 657.00 168.72
CSS Capabilities 59.66% 58.23%
HTML5 Capabilities 91.71% 92.43%
Page Load and Responsiveness Capabilities 96.94% 98.50%
Resize Capabilities 76.12% 75.86%


To be honest, I wouldn't read too much into these numbers, but they make for an interesting curio.
 
Four screenshots: Do Not Track headers, JavaScript enabled, JavaScript disabled and the Basemark browser test results

Finally I tested the login manager. Unfortunately this didn't do so well with the following error appearing:
JavaScript error: resource://gre/modules/LoginHelper.jsm, line 1734: TypeError: 
    browser is null
While we've seen similar errors before, this time it seems to to be preventing the login functionality from working at all, so seems to be more serious.

This null browser error is appearing all over the place, so I'd like to get it fixed. But I also suspect there may be something else going on with the login manager as well. My plan is to look in to this further over the coming days.

For today, I've ended up with the following tests passing:
  1. Configuration using about:config.
  2. Home page functionality.
  3. Search providers.
  4. Close tabs on exit.
  5. Do not track.
  6. JavaScript enable/disable toggle.
But also with the first failure as well:
  1. Password storage.
Hopefully the password storage won't remain broken for long.

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