diff options
Diffstat (limited to 'buglist.cgi')
-rwxr-xr-x | buglist.cgi | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/buglist.cgi b/buglist.cgi index 2d4e323b2..86147869b 100755 --- a/buglist.cgi +++ b/buglist.cgi @@ -137,17 +137,20 @@ my $format = $template->get_format("list/list", scalar $cgi->param('format'), # to the URL. # # Server push is a Netscape 3+ hack incompatible with MSIE, Lynx, and others. -# Even Communicator 4.51 has bugs with it, especially during page reload. -# http://www.browsercaps.org used as source of compatible browsers. -# Safari (WebKit) does not support it, despite a UA that says otherwise (bug 188712) +# Safari 2.0.2 (Webkit 416.11) and above support it. # MSIE 5+ supports it on Mac (but not on Windows) (bug 190370) # +my $webkitversion = ""; +if ($ENV{'HTTP_USER_AGENT'} =~ /WebKit\/(\d+)/) { + $webkitversion = $1; +} + my $serverpush = $format->{'extension'} eq "html" && exists $ENV{'HTTP_USER_AGENT'} && $ENV{'HTTP_USER_AGENT'} =~ /Mozilla.[3-9]/ && (($ENV{'HTTP_USER_AGENT'} !~ /[Cc]ompatible/) || ($ENV{'HTTP_USER_AGENT'} =~ /MSIE 5.*Mac_PowerPC/)) - && $ENV{'HTTP_USER_AGENT'} !~ /WebKit/ + && (!$webkitversion || $webkitversion >= 416) && !$agent && !defined($cgi->param('serverpush')) || $cgi->param('serverpush'); |