From 6cb9037b2e94dc2bcfb0fd28f34e29c87d89cb05 Mon Sep 17 00:00:00 2001 From: Matt Date: Sat, 18 Jul 2009 01:49:26 +0000 Subject: [PATCH] * Give newer, faster browsers the full at-once listview experience, older versions and M$ get paged list view --- webcit/static/summaryview.js | 36 +++++++++++++++++++++++++++++++ webcit/static/t/msg_listview.html | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/webcit/static/summaryview.js b/webcit/static/summaryview.js index 22c78ca2c..8ef7799c9 100644 --- a/webcit/static/summaryview.js +++ b/webcit/static/summaryview.js @@ -38,7 +38,43 @@ var toggles = {}; var nummsgs = 0; var startmsg = 0; +var is_safe_mode = true; +/* The following code is VERY evil! Hopefully the need for it will evaporate in the future. + We only want newer browsers with Javascript JIT's to use the newer message view, unless the user explicitly chooses new/safe view */ +function determineSafeMode() { + if (summary_view_pref == false) { + var userAgent = navigator.userAgent; + var gecko = userAgent.indexOf("Gecko/"); + var opera = userAgent.indexOf("Presto/"); // check for rendering engine + var chrome = userAgent.indexOf("Chrome/"); + var safari = userAgent.indexOf("Safari/"); + var phone = userAgent.indexOf("Mobile"); + if (phone > 0) { + is_safe_mode = true; /* Don't serve to mobiles */ + } else if (gecko > 0) { + var version = userAgent.substring(gecko+6,gecko+15); + if (version > 20090600) { + is_safe_mode = false; + } + } else if (opera > 0) { + var prestoVersion = userAgent.substring(opera+7,opera+10); + if (prestoVersion >= 2.2) { + is_safe_mode = false; + } + } else if (chrome > 0) { + is_safe_mode = false; + } else if (safari > 0) { + var safariVersion = userAgent.substring(safari+7,safari+10); + if (safariVersion >= 525) { + is_safe_mode = false; + } + } + } else { + is_safe_mode = true; + } +} function createMessageView() { + determineSafeMode(); message_view = document.getElementById("message_list_body"); loadingMsg = document.getElementById("loading"); getMessages(); diff --git a/webcit/static/t/msg_listview.html b/webcit/static/t/msg_listview.html index 615af5052..e2eea2588 100644 --- a/webcit/static/t/msg_listview.html +++ b/webcit/static/t/msg_listview.html @@ -1,6 +1,6 @@ -- 2.30.2