はじめに
この記事は後期実験「大規模ソフトウェアを手探る」のレポートを兼ねた記事で、ここではFirefoxにjとkでページのスクロールをする機能をつけた際の過程をまとめています。
実装
過去に自分たちと同じくFirefoxを対象として実験した班のブログの情報からbrowser.jsというファイルに変更を加えれば良さそうだということが分かったので、このファイル内に試しに
ducument.onkeydown = function(e) {
if(e.keyCode == 65) {
alert();
}
}
と追加してみました。これは何かキーボードの入力があったときにそれがaだったら画面に警告用のボックスが出るように書いています。ビルドし直して実際に動かしてみるとaを押した時に期待通りポップアップ画面が出ました。なのでalert文の部分をスクロールするように変えれば目標の動きが実現できそうです。
そこで次にbrowser.js内でページスクロールが定義されている場所を探しました。ターミナルで
grep scroll browser.js
などと入力して見ると
goDoCommand("cmd_scrollPageUp")
goDoCommand("cmd_scrollPageDown")
というページスクロールをしてくれそうなものを発見しました。上のもの書きかえて
ducument.onkeydown = function(e) {
if(e.keyCode == 75) {
goDoCommand("cmd_scrollPageUp");
}
if(e.keyCode == 74) {
goDoCommand("cmd_scrollPageDown");
}
}
とするとjとkでページを上下にスクロールすることが出来るようになりました。さらにこの関数はもともと定義してあったものなので、テキストボックス内やブラウザが選択されていない時にはj、kを押しても反応せず自分たちで細かい変更を加える必要はありませんでした。