たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。
以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
ということに気がついてしまったので、タブのツリー表示実現に向けて久しぶりにゴリゴリ書いてます。
擬似ツリー表示の時は、タブの並べ替えのアルゴリズムをいじらなあかんとか、ユーザによるタブの並べ替えを制限する必要があるとか、今のままの実装では困るところがあったので、そこにも手を加えつつ。もうちょっとでお目見えできそうですよ。
はっきり言って内部的にはオーバースペックな感じだったタブのグループ化機能、無茶して実装しといて良かったなーと思った瞬間でした。
ツールバーの中身を勝手に変えるのは非推奨らしい。しかしツールバーにボタンを追加しないと使えないような拡張機能なのに導入後全く放置というのはやっぱリ不便なわけで。
ということで、とりあえずRewind/Fastforward Buttonsに、初回起動時にだけ「この拡張機能はツールバーにボタンを追加しないと使えないけど、どうするよ?」と確認を行うようなコードを組み込んでみた。ここまでやりゃあ文句あるめえ(誰ともなしに)。
しかし我ながら、この至れり尽くせりさには呆れるなあ。こんな余計なコードを、たかが初心者ユーザのために、それもたった一度きりしか実行されないようなものまでガンガンぶち込むから、糞重くなってPiro拡張化するわけですよ。それでまた上級ユーザから「うぜえ」と言われるわけですよ。ほんとやってらんねー。
しかしコメントするななんて言ったっけか。どうにも思い出せないんだけど。だからリンク先の文章を僕に宛てて書かれたものと解釈するのは思い上がりという可能性があるけど、まあ過剰反応しとく。
拡張機能コンテストなんてものが開催されるんですか。
iPod nano欲しいけど、僕の作る物はどいつもこいつも
なので、まるでお話になりませんのう。
ああ、でも、黙って見てるだけだったら「ああ、こいつは自分の作る物を他人に評価される場に出さずにおいて、今は公の評価はないけど実は凄い実力あるんだぜと暗に言いたいんだな、勝負事から逃げて下らんちっぽけな見栄に固執してるんだな」と思われるかも知れないし、ここは一つなんか出品してみて、意気揚々と乗り込んでみた割には僕なんぞ最低ラインにかすりもしないという赤っ恥を全世界に晒してみるのも一興でしょうか?
クリップボード監視や早送り/巻き戻しボタンに、「拡張機能インストール後の初回起動時に自動的にツールバーにボタンを追加する」処理を組み込んでみた。これらの「ツールバーにボタンを追加して使う」系の拡張機能で汎用的に使えるように書いたつもり。
GSuggest改造版を更新した。
Download and Install GSuggest 0.1.4
Firefox 1.5RC1で確認した不具合の修正のみ。修正内容は以下の通り。
Devmoの記事の要約的翻訳。あははははーTabbrowser Extensionsなんてまさに悪い見本ですねー(鬱)
Devmoってアカウントさえ持ってれば誰でも記事を書いたりいじったりできるみたいなんだけど、ということは勝手に翻訳して日本語版記事としてDevmoの/ja/以下にうぷっても良いのだろうか?
さて、8日の発表に向けてもへもへとプレゼンを作ってるわけですが。
Firefoxと拡張機能のセキュリティって、ほんと語るの難しいなーと思う。Webページで誰もが簡単に書くことのできるJavaScriptがセキュリティホールの原因になり得ることから、JavaScriptのことは避けて通れないんだけど、問題の内容を「何故そういうことが起こるのか」というレベルでしっかり理解するには、スコープチェーンや実行コンテキストやクロージャといった、JavaScriptの比較的深層に近い部分を避けて通れない。
ということはつまり、そのあたりのことを分かっていないとセキュリティホールを作ってしまいやすいということも言えるわけで。
もとひこ氏の日記でとりあげられていた、Bug 310644 - Firefox/1.4.1 app provided ext's have minVersion and maxVersion 1.4……つまりFirefox 1.5以降では今までの運用ポリシーを覆しますよと。今までは1.0.7でも1.0.0でも「同じ1.0.x系」ということで拡張機能の対応バージョンチェックを行わなかったけれども、今後はマイナーバージョンやリビジョン違いでも厳密にチェックしますよと。そういうことらしい。
まあそのポリシー自体には僕は結構異論無かったりする。関数の動的書き換えで動作してる拡張機能が、元の関数の仕様がセキュリティのために変更されてて動作しなくなったり、そういうケースが実際に起こりうることを考えれば、これは本来厳密にしておかなくてはいけないところだと思う。元作者がその拡張機能を開発継続できなくなったとしても、誰か別の人がメンテナンスを引き継いで新しいFirefoxに対応させていけばよい。
……というのは現実を無視した理想論だ。現実には、セキュリティアップデートの影響を受けるような拡張機能は少数派だし、元作者に見放された拡張機能は誰も引き継いでくれないことがほとんど(Sageとか後継プロジェクトが動いてるのは希有な例ですよホント)だし、そもそも公開時にライセンスを明記してないから勝手に後継プロジェクトを始められないという例がほとんどだし(勝手にやれば、著作権侵害でいつかお縄を頂戴することになりかねない)。
何よりの問題は、こういう重大な決定を1.0.0公開までの間に済ませていなかったり、もとひこ氏の言うとおり、誰にも言わずにこっそりポリシーを変えて「いや、今後はこういう事に決まったから、その要望は受け付けられない。」みたいな態度を平気で取るMozilla Foundationのコア開発者の駄目さ加減。あと恨みついでに言えば、リリース予定を一度として守れたことがない腐ったプロジェクト管理。その辺だよな。
テストケースを見る限り、HTMLの属性としてイベントハンドラを定義しているケースについては対処可能のようだが、JavaScriptでイベントハンドラを追加している場合については対処不可能だ。
やっぱリ手詰まり。
――マニフェストファイルをいじって、セキュリティの制限を緩くするようにした。僕が把握してる範囲では、攻撃可能な穴はなさげだけれども、穴ってのは大抵、予想もしてないところから見つかるからなあ……まあその時にはその時だ。
冗談じゃないっすよ。これを以て「Piroの作る物はやっぱ穴だらけだな」とか言われるだなんて。実装見たら明らかじゃないすか。今回の問題はどー見たってGoogle Toolbarの横暴が原因ですよ。
Google Toolbarの野郎、こともあろうにイベントハンドラそのものを上書きしくさりやがってる。こちとら可能な限り元のコードに影響を与えない方法を考えてあれこれ対策してるってえのに、そんな配慮のカケラもない。そんなの知ったこっちゃないね、俺様は天下のGoogle様なんだからFirefoxのコードを引っかき回したって許されるんだぜ、そんな驕りが窺い知れるってもんですよ。
ああムカツク。
――と、よく調べずにキレてたんだけど、どうも違う原因っぽい?
――ちゃんと調べてみたら、やっぱりGoogle Toolbarが悪者だということがはっきり分かった。