Bug-org 977959 Redesign native key bindings handling
初回投稿日時: 2014年03月20日21時34分46秒
カテゴリ: GTK Mac Mozilla Core Mozilla30 バグ修正
SNS:
Tweet (list)
Mac版と、Linux (GTK)版では、OSのネイティブウイジットのショートカットキーを可能な限りエミュレートするために、エディタがキーイベントを処理しなかった場合に、nsINativeKeyBindings
のサービスを利用しています。
しかし、e10sではネイティブイベントを子プロセスに渡すことはできないので、どうするかが問題になります。これに対応するため、まずは、その結果を保存しておきやすいように、結果は、XULのコマンドの文字列ではなく、enum
で保存しておけるようにしました。これにより、キャッシュする配列を作成するコストが大きく削減されます。
次に、構造をシンプルにするために、nsINativeKeyBindings
のインターフェース、サービス共に廃止し、これらの実装は、各widget内の、ただのシングルトンのクラスに変更しました。XPのコードからは、nsIWidget
のメソッドで結果を問い合わせるように抽象化しています。