Graphical Web Browsers
Jan. 6th, 2008 01:25 pmWhat web browsers should I test DisOrder against? I've successfully tested with:
- Firefox 2
- Konqueror 3
- Safari 3
- MSIE 7
- Opera 9
- Seamonkey
- iCab
Are there any other at least reasonably widely used browsers, ideally that I can download for free, that I can test with?
(See comments re IE6, and browsers I've tried that don't work.)
------------------------------------------------------------ revno: 518 committer: rjk@greenend.org.uk branch nick: disorder.dev timestamp: Sun 2008-01-06 12:39:13 +0000 message: Fix mime_content_type() to not be so lazy; now it copes with arbitrary parameters rather than just one that has to be the right one. This gets the web interface working on Opera (for Mac). ------------------------------------------------------------ revno: 516 committer: Richard Kettlewell <rjk@greenend.org.uk> branch nick: disorder.dev timestamp: Sat 2008-01-05 19:15:32 +0000 message: Explicitly specify border-collapse for tables where we care about the cell spacing. IE7 has different defaults to the UNIX browsers. ------------------------------------------------------------ revno: 515 committer: Richard Kettlewell <rjk@greenend.org.uk> branch nick: disorder.dev timestamp: Sat 2008-01-05 19:05:59 +0000 message: Explicit color specification for inactive menus. Another IE fix. ------------------------------------------------------------ revno: 514 committer: Richard Kettlewell <rjk@greenend.org.uk> branch nick: disorder.dev timestamp: Sat 2008-01-05 18:40:16 +0000 message: Never use the value attribute of <button> to encode anything we care about, in particular 'action' arguments to the CGI. This works around a bug in Internet Explorer. At the time of writing, the commentary at http://msdn2.microsoft.com/en-gb/library/ms535211(VS.85).aspx mentions the problem. (Alternatively, MSDN Library -> Web Development -> HTML and CSS -> HTML and DHTML Reference -> Objects -> button.) ------------------------------------------------------------ revno: 502 committer: rjk@greenend.org.uk branch nick: disorder.dev timestamp: Tue 2008-01-01 20:35:57 +0000 message: Don't use quoted cookies because Safari is buggy. This means changing the separator character and base64 encoding map used to be suitable for appearance in an unquoted HTTP token. I suppose I should test with MSIE sometime...
(no subject)
Date: 2008-01-06 01:54 pm (UTC)(no subject)
Date: 2008-01-06 02:54 pm (UTC)(no subject)
Date: 2008-01-06 02:08 pm (UTC)(no subject)
Date: 2008-01-06 02:41 pm (UTC)(no subject)
Date: 2008-01-06 02:50 pm (UTC)(no subject)
Date: 2008-01-06 03:37 pm (UTC)(no subject)
Date: 2008-01-06 02:59 pm (UTC)(no subject)
Date: 2008-01-06 02:17 pm (UTC)(no subject)
Date: 2008-01-06 02:32 pm (UTC)(no subject)
Date: 2008-01-06 02:44 pm (UTC)(no subject)
Date: 2008-01-06 04:27 pm (UTC)(no subject)
Date: 2008-01-06 02:59 pm (UTC)(no subject)
Date: 2008-01-06 03:00 pm (UTC)(no subject)
Date: 2008-01-06 03:27 pm (UTC)(no subject)
Date: 2008-01-06 03:07 pm (UTC)(no subject)
Date: 2008-01-06 03:43 pm (UTC)And they seem to have abandoned development slightly, which is depressing.
(no subject)
Date: 2008-01-06 04:58 pm (UTC)(no subject)
Date: 2008-01-06 05:02 pm (UTC)...and it's perfectly possible that DisOrder is wrong; but browsers that are both strict and silent don't actually help correct any of the software that their authors presumably believe ought to be fixed. At least Lynx tells you what it doesn't like about my cookies and offers to accept them even if as far as I can see it's wrong to dislike them.
I'm afraid I'm not inclined to dig into the source code of a browser that its own author has abandoned in order to support it.
(no subject)
Date: 2008-01-06 03:03 pm (UTC)The only other thing that comes to mind is any embedded browsers you might care about.(Mobile Opera on Wii and NetFront on PSP and PS3 are the obvious two, plus I suppose the Windows Mobile browser: Mobile Safari should behave like Safari.) Harder to get the hardware for those though!
The big rendering engines are Gecko, WebKit, Trident (MSIE) and Presto (Opera), with their corresponding Javascript implementations, so if you work on those you're probably golden. NetFront's the only other one you're going to encounter in the wild, and even then only very rarely.
Of the browser shells, on the Mac, *maybe* iCab (http://www.icab.de/) is worth trying. There's a weird and wonderful variety of fringe Windows browsers (http://en.wikipedia.org/wiki/Internet_Explorer_shell) but they're nearly all really just alternative user interfaces for Gecko or MSIE.
(no subject)
Date: 2008-01-06 03:15 pm (UTC)iCab seems to work. I'm not buying new hardware just for browser compatibility testing, users who want support for those devices can help me out if it doesn't just work, it is free software after all l-)
I don't have any Javascript so I'm not worried about that. I do use CSS, currently not very adventurously but getting slowly more so all the time.
See above re IE6.
(no subject)
Date: 2008-01-06 03:37 pm (UTC)Not having Javascript makes your compatibility testing a lot less arduous. Given that, I'd wager the vast majority of problems you're going to encounter in practice will be IE-centric; hasLayout/float/CSS box-model/CSS2-implementation bugs. (Though I was surprised by the Safari cookie bug you ran into; hadn't seen that one before!) There's the lack of alpha-channel support in IE6 too, but I doubt that's going to be much of an issue.
I really mentioned the mobile devices/consoles in case there was anyone around here who could beta-test it for you: mobile devices and consoles'd make quite cool DisOrder controllers, I reckon. There must be someone round here with both a Wii, or iPod Touch, and a DisOrder server...
(no subject)
Date: 2008-01-06 03:41 pm (UTC)The PNGs do use transparency but they'll just look a little less nice on browsers too stupid to cope. No great disaster.
A mobile or TV based UI would indeed be lovely, though the requirements might well be somewhat different from a general purpose computer's UI for other reasons.
(no subject)
Date: 2008-01-06 03:54 pm (UTC)From hiddenmusic.co.uk:
(no subject)
Date: 2008-01-06 03:08 pm (UTC)(no subject)
Date: 2008-01-06 03:17 pm (UTC)(no subject)
Date: 2008-01-06 03:56 pm (UTC)(no subject)
Date: 2008-01-06 03:58 pm (UTC)(no subject)
Date: 2008-01-06 03:08 pm (UTC)(no subject)
Date: 2008-01-06 03:38 pm (UTC)Get it from SVN and test against it.
It'll be going into embedded systems reasonably soon, it'd be nice to be able to control a DisOrder system from my handheld.
D.
(no subject)
Date: 2008-01-06 03:47 pm (UTC)(no subject)
Date: 2008-01-07 09:36 am (UTC)If you could let me know under what circumstance the .d failed to build I can try and reproduce it and work out how to cleanly spot and fix that.
Thanks,
D.
(no subject)
Date: 2008-01-07 09:57 am (UTC)(no subject)
Date: 2008-01-07 10:30 am (UTC)Hence knowing how it broke would be handy for me. The ReadMe goes into the packaged browser so perhaps we need a BUILDING doc to point at the Docs/ dir, I'll ponder that, thanks.
(no subject)
Date: 2008-01-06 04:41 pm (UTC)(no subject)
Date: 2008-01-06 04:54 pm (UTC)Here's the HTTP response header it's getting, from strace on the browser:
The request was a POST to http://test-jukebox.anjou.terraraq.org.uk/index.cgi.
(no subject)
Date: 2008-01-07 09:35 am (UTC)Log:
Fix potential crash in urldb_dump()
Relax 4.3.2(i) checking (Cookie path must be a prefix of URL path). We now permit a cookie path containing the document leafname -- we strip the leafname from the path.
Make testsuite build again.
Add tests for cookie path checking.
Modified:
trunk/netsurf/content/urldb.c
Was checked in at 5am.
(no subject)
Date: 2008-01-07 10:34 am (UTC)Do you know where the meme that a path is not a prefix of itself comes from? Lynx also cites that section for its over-strict checking but I can't see any text in the RFC that supports it.
It seems like the less obvious choice even if you think the text is somehow ambiguous, too. Insisting that /cgi-bin/disorder has a path of /cgi-bin means its cookies must be sent to /cgi-bin/stupid-bbs-software, and while it might be convenient to allow that it's certainly not something anyone wanted to be forced into.
RFC2965 may have been widely ignored but does emphasize that a path is a prefix of itself.
(no subject)
Date: 2008-01-07 12:12 pm (UTC)You could come into #netsurf on Freenode if you're an IRCer, otherwise I can try and convey your queries.
(no subject)
Date: 2008-01-10 05:01 pm (UTC)(no subject)
Date: 2008-01-12 12:34 pm (UTC)There's another problem. The cookie header being sent by the browser is now:
The value part must be a word, which is a token | quoted-string (RFC2109 s4.1 (http://tools.ietf.org/html/rfc2109#section-4.1)).
This incorporates the definition of token from RFC2068 s2.2 (http://tools.ietf.org/html/rfc2068#section-2.2):
token = 1*<any CHAR except CTLs or tspecials> tspecials = "(" | ")" | "<" | ">" | "@" | "," | ";" | ":" | "\" | <"> | "/" | "[" | "]" | "?" | "=" | "{" | "}" | SP | HT/ is in tspecials, and so may not appear unquoted, as it does in $Path above. 2068 is of course obsoleted by 2616, but in fact the rules are the same there too (http://tools.ietf.org/html/rfc2616#section-2.2).
Now, before you rush off to change any code...
I earlier changed my own (server-side) code to not quote the path I sent because Safari fucks up if you quote anything (http://ewx.livejournal.com/459902.html). And indeed, it gets it wrong if you quote just the path but not the cookie.
So my plan is to:
If anyone installs DisOrder's CGI at a path including semicolons or something then it will just break, and they can blame Apple rather than me.
How you make Netsurf cope with this hopeless situation, I leave up to you l-)
(no subject)
Date: 2008-01-06 04:26 pm (UTC)