Post has attachment
すこし時間が空きましたが、Rangeインターフェイスまわりの機能をpushしました。7417940のあとのコミットでmutationにも対応させています。
※ CSSOMのRange拡張部分はこれから。
--
https://github.com/esrille/escudo/commit/7417940

Post has attachment
Rangeインターフェイスなどをサポートしたいということがあって、CSSのインラインボックスに対応するC++のInlineBoxクラスの実装を変更しました。

インラインボックス内のテキストについては、これまではTextノードから文字列を抜き出して各InlineBoxで別々に保持していたのですが、これをTextノード内の文字列に対するオフセットと長さだけを保持するように変更しています。
--
https://github.com/esrille/escudo/commit/655f3e0c5e

Ubuntu 14.04でビルドに失敗する問題を修正しました。パッケージの方は次のescudo-0.4.1からUbuntu 14.04に対応する予定です。
--
https://github.com/esrille/escudo/commit/cbdadb91d0

ESウェブブラウザ、Ubuntu 14.04用のパッケージを用意していなくてすみません。
エスリル ニューキーボードの納品もそろそろ一度落ち着きそうなので、来週辺りからEscudeの開発を再開できる見込みです。

Post has attachment
しばらくキーボード プロジェクトを優先していたので久しぶりの更新です。Issue #98 のselect要素がescudoでとりあえず動くようになってきました。
UIはXBL2のサブセットでの実装なので、shadow tree以下の要素の展開を全部JavaScriptで行っていますが、本当はcontent要素とかscoped属性つきのstyle要素を使えばもっと単純になるはずです。このあたりはいずれWeb Componentsに切り替えるかも、ということでまだちょっとアバウトです。
--
https://github.com/esrille/escudo/issues/98
Photo

Post has attachment

clang++ 3.3/Fedora 19でescudoのビルドができました!
--
clangも使いたいのだけれど、できればFedoraで、というのがあって、あらためてFedora 19でトライしてみました。以前(18だったかな?)はうまく行かなかったのです。
--
$ sudo yum install clang
$ [srcdir]/configure CC=clang CFLAGS=-g CXX=clang++ CXXFLAGS=-g 
$ make
--
何事もなくビルド成功。なんかすごい勢いできてますね。以前はコンパイルも速いという話もあったけれど、time make -j8 (on Core i7 3770) は、
--
gcc 4.8.1:
real    1m35.729s
user    10m30.805s
sys     0m44.408s
--
clang 3.3:
real    1m32.953s
user    9m55.820s
sys     0m27.924s
--
という結果で体感できるほどの違いはなさそうですね。
どちらにしもて2つのC++11コンパイラでビルドしてチェックできるというのは大きいのでこれは嬉しい結果です。

Post has attachment
 Escudo 0.4.0とEsidl 0.4.0をリリースしました。
--
0.4.0は先日ブログでも紹介したとおり内部のメモリ管理の改良が主な変更になります。バイナリ パッケージは今回からUbuntu 13.10用も配布しています(12.10用はなくなりました)。

Post has attachment
なかなか安定して表示できなかったgiflibのページも0.3.3並にはクラッシュしたりせずに表示できるようになりました。これでひとまず0.4.0のリリース作業を進めていきます。
--
 今回予想以上に時間がかかってしまたのだけれど、主な原因は、現状ではインクリメンタル リフローの実装がちょっと複雑すぎ、ということかな。まだCSSエンジンの基本的な構成に修正をかけたいときに、トリッキーなインクリメンタル リフローの処理が絡んでしまっていると、全体の修正に想像以上に時間がかかってしまう。
 ので、0.4.xで一度インクリメンタル リフローの処理を描き直したりするかも。特にトリッキーになりがちなのは、対応するノードがないのに生成しないといけない匿名ボックスとか匿名テーブルまわり。
--
https://github.com/esrille/escudo/issues/96
Photo

Post has attachment
escudoのソースコードの中身がshared_ptrだらけになってきて、gdbでデバッグしているとき追いにくい、という人がいたら、
http://gcc.gnu.org/ml/libstdc++/2013-04/msg00133.html
を取り込んでおくとだいぶ楽になりそうです。
手順は https://sourceware.org/gdb/wiki/STLSupport を参考に。
--
そのうち /usr/share/gcc-4.x.y/python/libstdcxx/v6 に反映されるのだと思うけれど日程がよくわからず。
Wait while more posts are being loaded