Safari 判定は難しい?

Safariの判定に

function isSafari() {return /a/.__proto__=='//'}

を使っていたけど、これだとAndroid1.6のChromeでTRUEを返します。
なので、ユーザエージェントを使わず、スマートにAndroid1.6のChromeを除外できないか探したけど見つからず・・・
とりあえず、navigator.appVersionで判定するロジックを追加

function isSafari() {return /a/.__proto__=='//' && !window.navigator.appVersion.match(/(Chrome|Android)/i) }

どなたかもっとスマートやり方教えてー

※元の判定ロジックのネタ元はこちら