IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

WebKit

サーバー起動用に JavaScript が 1 秒以上実行されなくて alert しないブラウザを作る

はじめに サムネイルサーバーのようなサービスを作るときには、ウェブサーバー上にブラウザを乗せる必要があります。 問題 ただ、そういった用途でブラウザを使う場合。 JavaScript が無限ループに落ち入らないように配慮する必要があります。 ほとんどの場…

Xvfb と WebKit と Gtk と楽しい!

おおおおお めもめも $ export DISPLAY="localhost:1.0" $ Xvfb :1 -screen 0 1024x768x16 & $ WebKitBuild/Debug/Programs/GtkLaunchaer $ xwd > /tmp/hoge.wd && convert /tmp/hoge.wd hoge.gifお コンテンツ部分だけー おおおお $ xwininfo -tree -root x…

Safari4 と IE8 で実装された DOM Storage とは何か

はじめに 皆様 JavaScript のスピード競争が激化し、 ECMAScript 3.1 の仕様の策定が進むなど、激動の JavaScript 時代をいかがお過ごしでしょうか。 さて今日は、今、ちまたで大ブレイクの兆しを見せている DOM Storage という仕様を紹介したいと思います。…

Mac や Linux で Google Chrome を動かそう!「CrossOver Chromium」を試してみた。

CrossOver Chromium とは 簡単に言えば Windows 用の Google Chrome (正確には Chromium)を wine というソフトウェアを使って Mac や Linux 上で動かすものです。 インストール手順 使うための手順を書いておきます。(Mac の例です。) まず、ダウンロー…

bison の error トークンで行き詰まる

このゴールデンウィークに WebKit の CSSGrammar.y を写経していて bison では error トークンという特別なトークンが扱えることを知った。 kmyacc には、ない。 行き詰まった>< yacc の仕組みをちゃんとを勉強する error トークンと同等のことを行う方法…

WebKit の CSS の字句解析部分を JavaScript に移植しました

これを JS に移植しました。 http://svn.webkit.org/repository/webkit/trunk/WebCore/css/tokenizer.flex ポイント それなりに汎用的な Flex みたいなものを作ったので、その部分は CSS 以外にも使えると思います。 あと、定義を文字列で書かずに正規表現オ…

CSS の構文解析と @-webkit-*** ルールの意味

はじめに あのDan Kogai 氏にも好評な噂の名著「Jythonプログラミング」がついに発売されるわけですが、皆様いかがお過ごしでしょうか。今日は Jython にちなんで、 CSS の構文解析のお話をしたいと思います。(関係ない) 知ってますか? Safari(などの We…

Webkit が acid3 test を pass!

これはすごい 本家の発表 WebKit achieves Acid3 100/100 in public build | WebKit Nightly Build で試せます。 WebKit Build Archives | WebKit

Safari 3.1 に実装された「Client-side database storage (SQL API)」とは何か?

はじめに Safari 3.1 には Client-side database storage (SQL API とも呼ばれています。)という新しい仕様が実装されました。 というわけで、この新しい API について色々調べたことを簡単にまとめておきます。 Client-side database storage が使えるブ…

Apple 謹製の JavaScript デバッガ「Drosera」が便利な件

Drosera とは 1000speakers 後のハッカソンで 山岸くん が「Drosera っていうアプリがある!」って発見して、教えてもらいました。 Drosera は WebKit 用の JavaScript デバッガで、 Windows XP でも Mac でも動くみたいです。 WebKit Build Archives | WebK…

Safari で CSSStyleSheet オブジェクトを生成する方法

今まで Safari では出来ないと思っていました var element = document.createElement('style'); document.getElementsByTagName('head')[0].appendChild(element); var sheet = element.sheet; alert(sheet); // null こんな感じで null になってしまうので…

Windows 版 Safari で JavaScript Console を表示する方法

ちなみに Mac OSX 版では ~/Library/Preferences/com.apple.Safari.plist に IncludeDebugMenu を 1 として追加すれば Debug メニューが表示されます。 $ defaults write com.apple.Safari IncludeDebugMenu 1 なので Windows 版でも同じだろうと思って C:\P…

Apollo 登場!もう Safari の確認用に Mac 買わなくてよくね?

via http://un-q.net/2007/03/apollp.html ついに Apollo 出ました! で、 Apollo には、なんと Safari のエンジンを搭載しています。 http://labs.adobe.com/technologies/apollo/ Sample アプリケーションの Scount を使うと Safari でサイトの確認ができ…