Fossil Forum

Forum
Login

Hamburger menu browser test results

(1) By wyetr on 2018-09-20 23:22:52 [link]

I've just done a series of browser compatibility tests with the current default skin's new hamburger menu as presently running on fossil-scm.org, 2.7 pre-release [c5abb962aa]. Based on the script contents it's shipping, it looks like the skin is a few checkins older than the Fossil code running on that site; I'd guess it's the skin as of [2804c71a]. Therefore, I've also tested against a different Fossil instance that includes a workaround for highly deficient browsers like IE8. As we'll see, that workaround needs more work.

Here's what I know so far:

Browser Pass? Commentary
IE8 No Apparently doesn't even run the hamburger menu init <script>. More testing needed.
IE9 ? The modern.ie "IE9" VM runs IE8! (Downloaded it 4x, with 2 different VM technologies!)
IE10 Partial The hamburger menu doesn't animate open; breakpoints never fire
IE11 Partial Animation works with hackery; hasOwnProperty test doesn't work as expected
Edge Partial Same as IE11, believe it or not.
SM 1.0.9 No Skin loads, HB menu click ignored with [e54095] fix; skin doesn't load with [2804c71a].
SM 2.0.14 No Skin loads, click handler called, but xhr is null.
SM 2.1 No xhr.responseXML is null. responseText is valid, but don't wanna use that.
SM 2.3.3 No xhr.responseXML is null. responseText is an error object.
SM 2.25 Partial Menu opens without animation, no columnar text layout
SM 2.39.4 Partial Menu opens, CSS columns work, but no animation; needs IE11 fix?
Firefox 62 Partial Same as SM 2.39.4
Safari 12 Yes Apple invented CSS transitions, so you bet it works.
Chrome 69 Yes Also full marks.

SeaMonkey Equivalencies

"SM" above is SeaMonkey. I use it for such testing because they make it easy to get old versions, which correspond to old versions of more familiar browsers:

  • SeaMonkey 1.0.9: Firefox 1.5
  • SeaMonkey 2.0.14: Firefox 3.5
  • SeaMonkey 2.1: Firefox 4
  • SeaMonkey 2.3: Firefox 6
  • SeaMonkey 2.25: Firefox 28
  • SeaMonkey 2.49.4: Firefox 52

(That data is a distilled version of this table, with detail irrelevant to our purposes here removed.)

(2) By wyoung on 2018-09-21 02:38:59 in reply to 1

I've now done a second series of browser compatibility tests, this time with a much more portable test for the availability of CSS transitions. (This is the "IE11 fix" suggested above.)

Because this fix is so succesful, I've checked it in on trunk, despite the apparently near-term Fossil 2.7 release.

If you read this before drh rolls the change out to fossil-scm.org, you can do your own tests against it using the MySQL++ repository as a test bed.

I have not bothered re-testing some browsers under this fix because the failure mode for those browsers in the prior round was unrelated to this fix, so I don't expect the results to be different now.

Results

Browser Pass? Commentary
IE8 No Requires old-style XHR code. (Had to strip anonymous closure to test it!)
IE9 No Modern XHR now works, but it dies on the querySelector() call
IE10 Yes Full marks now
IE11 Yes Ditto
Edge Yes Ditto
SM 2.25 Partial Panel now animates open (still single-column layout)
SM 2.49.4 Yes Full marks now (misidentified as 2.39.4 above)
Firefox 12 Partial Panel opens without animation; single-column layout
Firefox 21esr Partial Panel animates open; single-column layout
Firefox 43esr Partial Ditto
Firefox 47esr Partial Ditto
Firefox 52esr Yes Full marks (no surprise: same core as SeaMonkey 2.49)
Firefox 62 Yes Same as Firefox 52esr / SM 2.49.4
Chrome 49 Partial Panel animates open; single-column layout

IE8, Firefox 52 and Chrome 49 are significant in being the last versions to run on Windows XP. Therefore, we have two workable options for XP, with Firefox being the better option, probably because Mozilla supported XP longer than Google did.