Commit 19cb8815 authored by gerv%gerv.net's avatar gerv%gerv.net

Bug 441496 - Use server push (multipart/x-mixed-replace) with compatible…

Bug 441496 - Use server push (multipart/x-mixed-replace) with compatible versions of Safari. Patch by gerv; r,a=LpSolit.
parent 0b699b7b
......@@ -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');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment