ブラウザエンジン先端観測会での、Constellationさんの話を聴いて、CSSセレクターマッチングのコストには複数のレベルがあることを強く意識するようになりました。セレクターマッチングにかかるコストを下げたい、という場合には、どのレベルで何を高速化しようとしているのかを意識しないと話がかみあいません。Constellationさんの話を私なりに整理して考えた、セレクターマッチングのコストを下げるアプローチは次の3つです。 ①セレクターを減らす ②マッチするかどうかの判定回数を減らす ③1回1回の判定処理を速くする これは、ブラウザーのセレクターマッチングの処理の各部分に対応しています。CSSの各セレクターについて(①)、 対象となるDOM要素すべてに対して、 セレクターがマッチするかしないか決まるまで、親要素・兄要素を辿りながら(②)、 要素がセレクターにマッチする・しないの判定(③

このノートは、Paul Irishによる記事 “WebKit for Developers” の日本語訳です。 僕ら開発者の多くにとって、WebKit はブラックボックスだ。HTML,CSS, JS, その他のアセットを投げると、WebKit は魔法でもかけたかのように、綺麗な Web ページを返してくれる。しかし、僕の同僚 Ilya Grigorik は本当の WebKit はこうだと言っている。 WebKit はブラックボックスではない。ホワイトボックスなんだ。さらにそれだけではなく、オープンなホワイトボックスなんだ。 じゃあ、これから次のことについて理解していこう。 WebKit ってなに? なにが WebKit じゃないの? WebKit ベースのブラウザで WebKit はどう使われているの? なんですべての WebKit が同じじゃないの? さて、世の中に数多くの WebKi
有給を駆使し一足早くクリスマス休暇に突入、ヒャッホイIngress やるぜーと 意気込んでいた矢先ノロウイルスにやられダウンした。かなしい。鎮まれ俺の胃袋・・・ そんな腹痛日和の気晴らしとして今日は Garbage Collection Advent Calendar に参加してみることにしました。 Advent Calendar 初体験につきよくわかってないけど勝手に参加していいんですよね? GC というとジェネレーショナルだのパラレルコンカレントだのといった話が目立ちがちだけれど、 現実の問題というかブラウザを相手にするとそれ以外の細々とした面倒が目につく。 GC つき言語 (JavaScript) のコードとC++ で書かれたコードとの連携は最たる面倒の1つ。 たとえば WebKit の DOM はC++ で実装されており、C++ のオブジェクトはJavaScript 処理

この翻訳について¶ この文章はHTML5 Rocks で公開されている How Browsers Work: Behind the Scenes of Modern Web Browsers を非公式に和訳したものです. 内容の正確性は保証しません. ライセンスは原文と同じく, 文章はCreative Commons Attribution 3.0 License , サンプルコードは Apache 2.0 License です. フィードバックは Issue への登録 , あるいは Kosei Moriyama (@cou929 または cou929 at gmail.com) へ直接お願いします.GitHub に この和訳のリポジトリ があります. 以下の Preface でも言及されていますが, この文章は Tali Garsiel さんが自身のサイトで公開していたものを Pa
最近、はてブでも話題になったAppleのHTML5 Showcase。iPhoneやらiPadのWebApp開発の勉強として、HTML5やCSS3についてもう少し勉強しておこうということで、差し当たってHTML5 Showcaseを参考にTransition Effects Sampleを作って見ました。CSS3Transitions Collection 30(Safari4以上で閲覧してください) 作ったEffectはHTML5 Showcaseで紹介されていたものを含めて30種類。 おなじみの「Cube」やアニメの登場のような「Squish」、Appleタイムマシンのような奥行きをイメージした「FlipSwitch」、キーノートのEffectにあるような「Revolve」「Reflection」「Swap」なんかも用意しました。 中にはオリジナルのものもあります。(Fade

1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く