Bug-org 519631 nsBidiKeyboard.mm is still using KL APIs
初回投稿日時: 2009年10月18日01時13分46秒
カテゴリ: Mozilla Core バグ修正
SNS:
Tweet (list)
MacのnsBidiKeyboard.mmがまだKL APIを利用しているのでビルド時に警告が出ていた、というバグです。64bit時には問題の機能を捨てていたので、64bitビルドのためのブロッカーからは外されていました。
Geckoのキャレットはいろいろな条件から、現在のテキストがRTLだと判断した場合にキャレットに「髭」を生やしています。その条件のひとつに、現在のキーボードレイアウトの書字方向の確認がありますが、その検査にKL APIを利用していました。
最初はTIS APIでキーボードレイアウトの主要言語から判定しようとしました。しかし、Simon曰く、Appleが用意したキーボードレイアウトでなければ、返ってくる値がデタラメということで没になりました。そこで、任意のキーで入力される文字から言語を判定してはどうかと提案したところ、具体的な判定方法を教えてもらえたのでそのように修正しています。
ちなみに、結果をキャッシュするようにしたので、キャレット表示時の負荷が多少減ってるかもしれません。