2008 March 10th Monday
WebKit Nightly Builds for Windows r30881
WebKit | |
http://nightly.webkit.org/ をみたら、Windows用もあった。気が付いてなかっただけで、ずいぶん前からあったみたいだ。
WebKitのデバッガであるDroseraも付いている(が、まともな動作は期待できないみたい)。
zipを解凍すると、WebKit.exeというファイルはない。とりあえず、それっぽいrun-nightly-webkit.cmdを実行してみた。
コンソールに初期化処理っぽいものが走ったあと、起動。と同時に異常終了。お。
めげずにもう一度実行。初期化処理は省略されて起動。今度は落ちない。以降は起動してすぐ落ちることはないので、初回だけ駄目だったみたいだ。
本体は大変高速。JSのベンチマーク代わりとして一部で有名なLoading...がサクサク動く。100fpsにしてクリック連打してもほとんどもたつかないくらい(Core2duo 2GHzだからってのが大きいと思うけど)
ただし、yahoo.comを開いたら速やかに落ちた。
/解凍先/WebKit.resources/inspector
/解凍先/Drosera.resources/Drosera
の中などにjsのソースが結構あって、WebKit用のScriptの勉強になりそう。
例によってwindowオブジェクトを走査して、気になったやつらメモ。
getSearchEngine:[object CallbackObject] setSearchEngine:[object CallbackObject] Clipboard:[object ClipboardConstructor]
これ、取れていいのかって意味で。(ClipboardとかAIRにあったような?)
2008 January 31st Thursday
WebKit Nightly Builds window.postMessage
JavaScript, WebKit | |
Droseraを試すために、WebKit Nightly Builds入れてみた。r29882
とりあえず、windowのプロパティを走査してみたらwindow.postMessageがあった。
ところで、Operaだとdocument.postMessageなんだよね*1。なんで違うんだ?(という疑問はquaaさんのコメントで解決しました)
*1:追記:Opera9.50からwindowに変更される
以前のHTML 5の仕様(http://www.whatwg.org/specs/web-apps/2006-01-01/#postmessageなど)ではpostMessageはDocumentの方に属していたので、おそらく実装時期によって違いが出ているんだと思います。
おお、なるほど。納得です。
考えてみるとdocument同士のやり取りというより、window同士のやり取りに使う感じだからwindowのほうがしっくりきますね。
の代わりに
(1 << len).toString(2)
とすれば扱える桁数がちょっと増えるけど、ぱっとFirefoxで試した限り速度は遅くなるみたいですね。
それから「ユーザーエージェントに頼らないブラウザの判定」の追記部分「Firefox(Geckoエンジン)がNGでした」にins要素のタグ閉じ忘れがあります。
なるほど。ぱっと見そちらのほうが速くなりそうですが、toStringがコスト高めなのかな。
タグ閉じ忘れの指摘ありがとうございます、修正しました。