* (bug 14401) Fix Safari access key tooltips for Windows and >3.1 Mac versions
authorBrion Vibber <brion@users.mediawiki.org>
Fri, 6 Jun 2008 01:48:47 +0000 (01:48 +0000)
committerBrion Vibber <brion@users.mediawiki.org>
Fri, 6 Jun 2008 01:48:47 +0000 (01:48 +0000)
Now shows 'alt' for Safari on Windows, 'ctrl+alt' for Webkit >= 526 on Mac, and 'ctrl' for older WebKit/Safari on Mac (confirmed w/ 3.1 and WebKit nightlies)

RELEASE-NOTES
includes/DefaultSettings.php
skins/common/wikibits.js

index c38a4f7..53a3d3b 100644 (file)
@@ -342,6 +342,8 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
   $wgGroupPermissions[]['noratelimit']. 
 * (Bug 13828) Split parameter $1 of MediaWiki:Missingarticle into $1 (=title)
   and $2 (=revision numbers)
+* (bug 14401) Fix Safari access key tooltips for Windows and >3.1 Mac versions
+
 
 === API changes in 1.13 ===
 
index ad180f1..79698bc 100644 (file)
@@ -1339,7 +1339,7 @@ $wgCacheEpoch = '20030516000000';
  * to ensure that client-side caches don't keep obsolete copies of global
  * styles.
  */
-$wgStyleVersion = '153';
+$wgStyleVersion = '154';
 
 
 # Server-side caching:
index d40c571..2982607 100644 (file)
@@ -3,8 +3,13 @@
 var clientPC = navigator.userAgent.toLowerCase(); // Get client info
 var is_gecko = /gecko/.test( clientPC ) &&
        !/khtml|spoofer|netscape\/7\.0/.test(clientPC);
-var is_safari = clientPC.indexOf('applewebkit') != -1 &&
-       clientPC.indexOf('spoofer') == -1;
+var webkit_match = clientPC.match(/applewebkit\/(\d+)/);
+if (webkit_match) {
+       var is_safari = clientPC.indexOf('applewebkit') != -1 &&
+               clientPC.indexOf('spoofer') == -1;
+       var is_safari_win = is_safari && clientPC.indexOf('windows') != -1;
+       var webkit_version = parseInt(webkit_match[1]);
+}
 var is_khtml = navigator.vendor == 'KDE' ||
        ( document.childNodes && !document.all && !navigator.taintEnabled );
 // For accesskeys; note that FF3+ is included here!
@@ -201,9 +206,11 @@ function escapeQuotesHTML(text) {
 var tooltipAccessKeyPrefix = 'alt-';
 if (is_opera) {
        tooltipAccessKeyPrefix = 'shift-esc-';
-} else if (is_safari
-          || navigator.userAgent.toLowerCase().indexOf('mac') != -1
-          || navigator.userAgent.toLowerCase().indexOf('konqueror') != -1 ) {
+} else if (!is_safari_win && is_safari && webkit_version > 526) {
+       tooltipAccessKeyPrefix = 'ctrl-alt-';
+} else if (!is_safari_win && (is_safari
+               || clientPC.indexOf('mac') != -1
+               || clientPC.indexOf('konqueror') != -1 )) {
        tooltipAccessKeyPrefix = 'ctrl-';
 } else if (is_ff2) {
        tooltipAccessKeyPrefix = 'alt-shift-';