summaryrefslogtreecommitdiffstats
path: root/buglist.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'buglist.cgi')
-rwxr-xr-xbuglist.cgi11
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');