1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Firefoxのソースコードをいじって機能を追加してみた

Posted at

はじめに

この記事は後期実験「大規模ソフトウェアを手探る」のレポートを兼ねた記事で、ここではFirefoxにjとkでページのスクロールをする機能をつけた際の過程をまとめています。

実装

過去に自分たちと同じくFirefoxを対象として実験した班のブログの情報からbrowser.jsというファイルに変更を加えれば良さそうだということが分かったので、このファイル内に試しに

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")

というページスクロールをしてくれそうなものを発見しました。上のもの書きかえて

browser.js
ducument.onkeydown = function(e) {
  if(e.keyCode == 75) {
    goDoCommand("cmd_scrollPageUp");
  }
  if(e.keyCode == 74) {
    goDoCommand("cmd_scrollPageDown");
  }
}

とするとjとkでページを上下にスクロールすることが出来るようになりました。さらにこの関数はもともと定義してあったものなので、テキストボックス内やブラウザが選択されていない時にはj、kを押しても反応せず自分たちで細かい変更を加える必要はありませんでした。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?