]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 441496 - Use server push (multipart/x-mixed-replace) with compatible versions...
authorgerv%gerv.net <>
Mon, 7 Jul 2008 20:07:23 +0000 (20:07 +0000)
committergerv%gerv.net <>
Mon, 7 Jul 2008 20:07:23 +0000 (20:07 +0000)
buglist.cgi

index 2d4e323b268555bc252213dec2e6db4b8ec39a3a..86147869bb00e920131a8e6ddcbc47f50b7d0944 100755 (executable)
@@ -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');