22年前からFirefoxブラウザに存在したバグ、23歳の初心者プログラマーが修正

ガジェット PC
Munenori Taniguchi

Munenori Taniguchi

ウェブライター

  • X

ガジェット全般、サイエンス、宇宙、音楽、モータースポーツetc... 電気・ネットワーク技術者。実績媒体Engadget日本版, Autoblog日本版, Forbes JAPAN他

特集

デスクトップ版のFirefoxブラウザーに20年以上存在していたバグが先月、23歳のプログラミング初心者によって修正されました

2002年、MacでMozilla browser(Firefoxの当時の名称)を使用していたアダム・プライス氏は、ツールチップの表示の問題に悩まされていました。このバグは、Mozillaツールバーのアイコンにマウスカーソルをポイントして表示されるツールチップ(説明書き)が、Commandキー(WindowsではAltキー)+Tabキーでウィンドウのフォーカスをほかのアプリに移したあとも表示され続けてしまうというもの。

この状態になってしまった場合、ツールチップを消すには再びFirefox(Mozilla)ブラウザーにフォーカスを移し、マウスを当該ツールバーアイコンの上に持って行き、そこからマウスカーソルをほかの位置へ動かす必要がありました。

その後長らく、人々はMozillaのバグ報告のスレッドでこのバグを確認したり、他のバグがこの問題と重複しているとマークしたりしました。

また時折、この問題は修正されたように見えることもありましたが、修正結果がブラウザのバージョンごとに少し異なっていたり、以前の修正がたまたまそのように見えていただけだったりして、実際には根治していないことが判明したりしていました。また、このバグはまれにWindows版やLinux版でも顔を出すことがありました。

しかし今年9月、このバグの修正パッチが提供され、Firefoxブラウザーのビルド119に取り込まれました。

修正パッチを書いたYifan Zhu氏は当初、このバグをLinux版のThunderbirdで経験しました。Zhu氏は頻繁に複数の仮想デスクトップを切り替えて作業をする必要があり、その際になぜかこのバグが発生して困っていたため、これを調査し、修正を提出しようと思ったのだそうです。

調べ初めてすぐに、Zhu氏はこのバグが20年以上も放置された年代物であることを知りました。そしてこのバグが画面表示の問題だけで、実害がないために、誰も修正しない可能性があると考え「だったら自分がやるしかない」と考えました。

ただ、Zhu氏はプログラミング方法は知っていたものの、「Firefoxブラウザのような複雑なプロジェクトにおける経験はゼロ」なうえ、オープンソースプロジェクトへの参加経験もありませんでした。そのためZhu氏はソースコードから「Tooltip」の文字をすべて検索し、それらのコードがどのような動作に関わっているのかを確認するという地道な方法で作業することにしました。

そして最終的に、問題となっている表示処理部分を発見。ツールチップを消す処理が、マウスがアプリケーションから離れたときにしか行われていないことを確認し、キーボードショートカットを使用して別のウィンドウや仮想デスクトップにフォーカスを切り替えた際にも表示を消す処理を付け足しました。

Zhu氏はこの修正コードをMozillaプロジェクトに送ったところ、すぐに返答が来てコードベースに組み込まれることになったと話しています

Zhu氏の修正コードを取り込む作業を担当したEmilio Cobos Álvarez氏は、Firefoxのさまざまな設定と、それらが異なるOSに対応するための方法を考慮する必要があることを考えると、実は「この領域はかなり厄介」なのだと述べました(実際、修正を取り込んだことで別のバグが顔を出していますが、これも修正が進められています)。

そしてZhu氏の送った修正について「彼の初めてのFirefoxへの貢献としてはかなり印象的なものだ」と、22年もののバグを解決した貢献を評価しました。

ちなみにZhuは1999年生まれで、今回のバグがBugzillaに登録されたときにはわずか3歳でした。


GNUソフトウェアプログラミング ―オープンソース開発の原点
¥5,280
(価格・在庫状況は記事公開時点のものです)
《Munenori Taniguchi》

Munenori Taniguchi

Munenori Taniguchi

ウェブライター

  • X

ガジェット全般、サイエンス、宇宙、音楽、モータースポーツetc... 電気・ネットワーク技術者。実績媒体Engadget日本版, Autoblog日本版, Forbes JAPAN他

特集

BECOME A MEMBER

『テクノエッジ アルファ』会員募集中

最新テック・ガジェット情報コミュニティ『テクノエッジ アルファ』を開設しました。会員専用Discrodサーバ参加権やイベント招待、会員限定コンテンツなど特典多数です。