この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記の検索結果

もずはっく日記からの検索結果

発見した件数: 128件 | 再検索

タイトル 最終更新日
内容(最初の段落のみ)
最後発でbeforeinputイベントを実装しているはずなのに…… 2021年09月23日
Geckoのエディタのリファクタリング からの続きです。 (続く……)
Bug-org 1479964 Tracking event.keyCode issue due to the implementation of window.event 2018年12月11日
多くのデキの悪いサイトがGeckoで動かない原因のひとつに、イベントリスナに event という引数を渡していないのに、 event.preventDefault() 等と書き、実質的に window.event を参照しているというケースが多々あったそうです。これに対する互換性として window.event はWHATWGによって標準仕様に取り込まれることになったので、Geckoでもサポートするようにした模様です。 (続く……)
Bug-org 968056 keypress event shouldn't be fired for non-printable keys 2018年12月12日
長年、Geckoでは、モディファイアキーを除くキーの入力時に、 keypress イベントを発火していました。しかし、UI Events (旧DOM Level 3 Events)では keypress は文字の入力時にのみ発火するという定義が(後から)行われました(例えば、 a の入力では発火するが、 Ctrl + a では発火しない、また、 ArrowDown のように、端から文字を入力しないキーの場合にも発火しない)。このバグ修正は、Geckoの動作をUI Evnetsの仕様通りの動作にあわせたものです。 (続く……)
Bug-org 354358 keydown/keyup events should be dispatched even during composition (but keypress shouldn't be so) 2018年12月11日
非常に長い長い道のりでしたが、ついにこのバグ修正、そして続けてポストされる記事にある、 keypress イベントの挙動を他のブラウザにあわせた修正が完了しました。 (続く……)
Bug-org 1465702 EditorBase, TextEditor and HTMLEditor should use a stack class to store all information which are necessary to handle each EditAction like TextEditRules and HTMLEditRules 2018年12月12日
InputEvent.inputType が beforeinput イベントの実装時に非常に重要なので、これ(と beforeinput )を実装するための準備として、Geckoのエディタを大きく書き換えていました。これをブロックしているバグを見ると、なんと5月ぐらいに取りかかってるようなので、実に半年間もやっていたわけです。 (続く……)
KeyboardEvent.keyCodeとは何か 2018年02月22日
KeyboardEvent.keyCode についてよく分かっていないっていう人が多いと思うので、 KeyboardEvent.keyCode とは何か を書いてみました。 (続く……)
Bug-org 1256589 Some methods of dom::Event should be implemented in WidgetEvent 2016年10月15日
WidgetEvent には何故か以前からフラグを適切にセットするヘルパーメソッドが用意されておらず、各フラグの意味を知らないと、複数のフラグを同時に設定しないといけない場合にバグが混入しやすい状況になっていました。そこで、このバグではいくつかのヘルパーメソッドを追加することで、その処理をカプセル化しています。 (続く……)
Bug-org 1154183 nsXBLWindowKeyHandler shouldn't fire keydown events in content when following keypress event is "reserved" by XUL <command> element 2016年10月16日
Bug-org 1203059の修正 により、予約済みのショートカットキーにマッチする keypress イベントはWebコンテンツ上では発火されなくなりました。しかし、 keydown イベントは引き続き発火されるままなので、 keydown イベントの preventDefault() を呼び出すことにより、相変わらず、予約されているショートカットキーを無効化できてしまいます。 (続く……)
Bug-org 1203059 [non-e10s] Keyboard events which are reserved shortcuts in chrome shouldn't be fired on web content like e10s mode 2016年10月15日
e10s モードではchromeが予約済みのショートカットキーの keypress イベントはWebコンテンツ上では発火しないようになっていましたが、それを非e10sモードでもそのような動作に修正すべきであるというバグです。 (続く……)
Bug-org 1137563 Make TextInputHandler use TextEventDispatcher 2016年10月15日
Bug-org 1137572の修正 にあわせて、Mac版のネイティブキーイベントをハンドリングしている TextInputHandler とネイティブIMEイベントをハンドリングしている IMEInputHandler 、さらにこれらの基底クラスである TextInputHandlerBase が TextEventDispatcher を利用するように修正しました。 (続く……)
Bug-org 1137565 Make KeymapWrapper and nsGtkIMModule use TextEventDispatcher 2016年10月15日
Bug-org 1137572の修正 にあわせて、Linux、GTK版のネイティブキーイベントハンドの KeymapWrapper と、IMEイベントハンドラの IMContextWrapper から TextEventDispatcher を利用するように修正しました。 (続く……)
Bug-org 1137561 Make KeyboardLayout, nsIMM32Handler and nsTextStore should use TextEventDispatcher 2016年10月15日
Bug-org 1137572の修正 にあわせて、Windowsのネイティブキーイベントをハンドリングしている、 NativeKey 、 IMM 経由でIMEを処理している IMMHandler 、 TSF 経由で TIP を処理している TSFTextStore から TextEventDispatcher を利用するように修正しました。 (続く……)
Bug-org 1137572 Add some useful methods to TextEventDispatcher for native key and IME handlers 2016年10月15日
widgetのコードが、OSから送信されてくる、キーボードやIMEの入力イベントから、DOMイベントのもとになる、 WidgetEvent を生成する部分をできる限りプラットフォーム非依存のコードに置き換えようという修正のための準備です。 (続く……)
TweetDeckでFirefoxから日本語が入力できなくなっている件 (Bug-org 1240170、Bug-org 1240336) 2016年01月20日
先日、 TweetDeck でFirefoxから日本語が入力できなくなっているという話を聞きました。実際に試してみると、IMEで一文字入力する度に、未確定文字列が強制的に確定されてしまいます。 (続く……)
Bug-org 1204439 mozilla::EventMessage shouldn't be defined with specific values 2015年09月17日
ただの数値だったイベントメッセージは、 Bug-org 895274の修正 により、デバッガで数値から意味を調べるという作業・必要性が無くなりました。そこで、このバグでは、enumの定義の際に整数値を指定するのをやめ、0からの連続した値を利用するように修正しました。 (続く……)
Bug-org 1204442 nsIDragService shouldn't expose the internal event message as integer with fireDragEventAtSource() 2015年09月17日
Bug-org 895274の修正 中に、内部イベント用である EventMessage が integer 型で指定してイベントを発火できてしまうscriptableな nsIDragService::FireDragEventAtSource() というのを発見しました。 (続く……)
Bug-org 895274 Change GUI MESSAGES to enum #2 2015年09月17日
大きな変更になるので、予め 記事 を書いておきましたが、その修正がようやく完了しました。その結果、 (続く……)
Bug-org 1200980 [e10s][TSF] Candidate window is sometimes not positioned properly because IMEContentObserver sometimes fails to notify IME of selection change 2015年09月17日
twitter.comでリプライを入力する時にATOKのナビバーや、様々な TIP のサジェストウインドウや、候補ウインドウがキャレット位置等の適当な位置に表示されないというバグです。 (続く……)
Bug-org 895274 Change GUI MESSAGES to enum 2015年08月30日
まだ作業半ばですが、しばらく、他の人のパッチを壊す可能性のあるバグなので紹介しておきます。 (続く……)
Bug-org 930843 NS_UI_ACTIVATE should be dispatched as trusted event even if it's caused by untrusted event 2015年08月30日
放置していたバグの修正です。 NS_UI_ACTIVATE は、 DOMActivate イベントの元です。ちなみに、 DOMActivate イベントとは、マウスで要素をクリックした時にアクティブ状態になったことを通知するイベントですが、DOM Level 3では不採用が確定して削除できないか模索もされています。 (続く……)
Bug-org 1187724 Flash hangs on BBC iPlayer after changing system volume through keyboard 2015年08月27日
イギリスからBBCのサイトにアクセスした際に見ることができるFlashの動画プレーヤー上で、キーボード上のボリュームキーからボリュームを調整しようとするとハングアップするというバグです。 (続く……)
Bug-org 1179122 [e10s] TextComposition should manage target in parent process even when its child process has focus 2015年07月19日
e10s モードでは、ネイティブのフォーカスは、常にchromeプロセスが持っています。つまり、IMEからのネイティブイベントをハンドリングするのはchromeプロセスになります。そして、各OS向けのwidgetが生成した WidgetCompositionEvent は、子プロセス内にフォーカスがある場合に、 EventStateManager::PreHandleEvent() で子プロセスにイベントを送信し、chromeプロセス内では何もしないという形をとっていました。つまり、 WidgetCompositionEvent の送信ターゲットを管理する TextComposition のインスタンスは子プロセスでのみ生成されていました。 (続く……)
Bug-org 1163317 browser_tabopen_reflows.js fails if IME tries to query focused editor content at selection change 2015年06月06日
mochitest-browser の、 browser_tabopen_reflows.js が、選択範囲変更時のreflowを不要なものと判断し、テスト失敗としていたというバグです。 (続く……)
Bug-org 1152229 Define new code value "FnLock" 2015年04月17日
D3E では、Microsoft製のマルチメディアキーボードに付いている、 FLock というキーを、一応定義しています。これは通常のOS上のアプリからは全く見えない特殊なキーです。 (続く……)
Bug-org 1124608 Support D3E EventModifierInit 2015年04月18日
D3E では、各種イベントを生成する時に、 dictionary を用いた、簡単な記述で互換性の問題も発生しにくいコンストラクタが提案されています。基本的にはこの dictionary は生成後にそのイベントの属性名になるものをキーとして値を設定します。例えば、 (続く……)
Bug-org 1119609 event.key from nsIDOMWindowUtils.sendKeyEvent() is 'undefined' 2015年02月27日
nsIDOMWindowUtils.sendKeyEvent() を利用して KeyboardEvent を生成しても、 KeyboardEvent.key 等、 D3E で追加された新機能の一部に対応していないというバグです。 (続く……)
Bug-org 1129406 window_nsITextInputProcessor.xul, line 917: TypeError: textareaInFrame is null 2015年02月27日
nsITextInputProcessor の自動テストのバグです。 (続く……)
Bug-org 1126673 Enable KeyboardEvent.code in default settings of release build 2015年02月21日
Sunキーボードの問題が解決し、特に互換性等で問題になる可能性のある話も今のところ無いので、リリースビルドでもようやく、 KeyboardEvent.code を有効化しました。 (続く……)
Bug-org 1020139 Support new KeyboardEvent.code value for Sun keyboard 2015年02月21日
KeyboardEvent.code で、Sunのキーボードにある特殊なキーもサポートしようというバグです。従来の D3E では定義しているキーが足りなかったため、これ用に定義を追加してもらうのに手間取り、約半年かかって、ようやく修正となりました。 (続く……)
Bug-org 917322 nsIDOMWindowUtils::SendCompositionEvent() and nsICompositionStringSynthesizer::DispatchEvent() should be able to dispatch events without setting mIsSynthesizedForTests 2015年01月30日
もともと、Geckoでは、テストでの利用目的で、 nsIDOMWindowUtils::SendCompositionEvent() や、 nsICompositionStringSyntesizer を利用して、IMEの動作をJavascriptからエミュレーションできるようにしていました(要chrome権限)。そして、Firefox OSのJavascriptで実装されているIMEは、Firefox OSが用意しているAPI経由で、これらを利用し、テスト用のイベントを発行しているという状態でした。 (続く……)
Bug-org 936313 Drop KeyboardEvent.DOM_LOCATION_MOBILE and KeyboardEvent.DOM_LOCATION_JOYSTICK of KeyboardEvent.location since they have been dropped from D3E spec 2015年01月30日
D3E の仕様で、以前は、 KeyboardEvent.location の値に、 DOM_KEY_LOCATION_MOBILE (4)と、 DOM_KEY_LOCATION_JOYSTICK (5)が定義されていましたが、これらがそれぞれ、そもそも必要性がないという点と、 GamePad API の登場で必要無くなったということで、削除されました。 (続く……)
Bug-org 1121878 Fix some missing map between WM_APPCOMMAND and KeyboardEvent.key 2015年01月30日
Bug-org 865561の修正 により、 WM_APPCOMMAND をハンドリングする時に、 KeyboardEvent も発火するようになりましたが、一部、対応が漏れていたので、そのフォーローアップバグです。 (続く……)
KeyboardEvent.keyを利用する前に知っておくべき事 2015年01月01日
Firefox (Gecko)では、昨年、 D3E で定義している KeyboardEvent.key の実装を大きく前進させました。ですが、この新しい、便利な属性を使う前に色々と知っておいた方が良いことがあります。 (続く……)
Bug-org 865561 When WM_APPCOMMAND is caused by a key press, the handler should dispatch key event with D3E's KeyboardEvent.key 2014年12月31日
Windowsでは、マルチメディアキーボードの、メール関連のキーや、編集関連のキー等が押された場合に、通常の WM_KEYDOWN メッセージではなく、 WM_APPCOMMAND というメッセージがアプリに送信されます。Geckoはこれを受け取ると、内部向けのコマンドイベントを生成し、処理していますが、 WM_APPCOMMAND は、その原因がキー操作かそれ以外かが分かるようになっていますので、D3Eで定義されたキーであれば、最初に keydown イベントを生成し、これが preventDefault() で、デフォルトアクションをキャンセルされていなければ、従来通り、内部向けのコマンドイベントを生成し、最後に、 keyup イベントを生成するようにしました。 (続く……)
Bug-org 1031156 Map GDK_AudioForward to "MediaFastForward" 2014年12月31日
最新のD3E仕様には、 MediaFastForward というキーが定義されていますが、GTKの GDK_AudioForward がこれに適切ではないか、ということで、新たにマッピングを追加しています。
Bug-org 1027477 Don't map Home button of Android to "Exit" key value 2014年12月31日
スマホには、ホームスクリーンへ戻る、 Home ボタンが存在しています。これは、全てのアプリから戻るということで、 Exit を割り当てていましたが、そのマッピングはおかしいと、D3Eのワーキンググループから指摘があったので、このマッピングを廃止しています。 (続く……)
Bug-org 1027474 Support "VideoModeNext" on GTK 2014年12月31日
最新のD3E仕様で定義されたキーの中に、 VideoModeNext というキーがあります。これは、 仕様書で参照している仕様 で定義されているものですが、GTKに名前が同じ意味になるものが、存在していたので、Geckoではひとまず、マッピングを行いました。
Bug-org 1027472 Support "Symbol" key value on Android and Gonk 2014年12月31日
Androidでは、 KEYCODE_SYM というキーコードで、 Symbol というモディファイアキーが定義されています。何に使用されているキーかは不明ですが、これを表現するために、D3Eの最新仕様では Symbol キーが定義されました。Geckoではこれを単純にマッピングしています。
Bug-org 1026939 Support new key names "LaunchFoo" for launching specific applications 2014年12月31日
Linux系と、Android系のプラットフォームでは、特定のアプリを起動するキーが多数定義されています。これにあわせて、D3E最新仕様では、 Launch というプリフィックスの後ろに、アプリ名を入れることで、キー名をブラウザベンダが定義できるようにしています。今回の修正では、Webアプリにとって、さほど重要なキーではないことから、 仕様でサンプルとして定義しているキー のみを追加し、マッピングしています。
Bug-org 1023062 Define "TV", "TVInput", "TVPower", "AVInput", "AVPower", "STBInput", "STBPower" and map them 2014年12月31日
Androidでは、マルチメディアプレーヤーの、リモコン用のキーが定義されています。これを表現するために、最新のD3E仕様では、 TV 、 TVInput 、 TVPower 、 AVInput 、 AVPower 、 STBInput 、 STBPwer が定義されました。Geckoでは単純に、該当するキーにマッピングを行いました。
Bug-org 936322 Support new key names "GroupNext", "GroupPrevious", "GroupFirst" and "GroupLast" for keyboard layout switching key 2014年12月31日
GTKでは、キーボードレイアウトを変更するキーのキーコードが定義されています。また、Androidでも、 KEYCODE_LANGUAGE_SWITCH というキーが定義されています。これにあわせて、最新のD3E仕様では、 GroupNext 、 GroupPrevious 、 GroupFirst 、 GroupLast キーが定義され、Geckoはこれらをマッピングしました。ちなみに、Android・Firefox OSの KEYCODE_LANGUAGE_SWITCH は、 GroupNext にマッピングしています。
Bug-org 900400 Define new key names, "HiraganaKatakana" and "ZenkakuHankaku" for GTK, Qt and Android 2014年12月31日
Linux、Android系のプラットフォームでは、 半角/全角 キーや、 カタカナ/ひらがな キーが、同じキーコードでキーイベントを生成するため、アプリ側は、イベントからはどちらのモードへの切り替えが行われているのか判別できません。これに対応するため、最新のD3E仕様では、不明な場合に物理的なキーの判別を手軽に行えるように、 ZenkakuHankaku キーと、 HiraganaKatakana キーの二つを定義しました。Webアプリがこれらのキーを直接ハンドリングすることはほとんど無いと思いますが、これらのキーを処理する場合、Windows版Geckoでは、 Zenkaku 、 Hankaku 、 Hiragana 、 Katakana キーになっていることに注意してください。
Bug-org 900392 Define new key name "SingleCandidate" for GTK and Qt 2014年12月31日
GTKとQtでは、 IBMのAIXの韓国語IME用 に、単一候補を変換するキーが定義されていました。これに対応するため、D3Eの最新仕様では SingleCandidate キーを定義し、Geckoは、各キーコードをこれにマッピングしています。
Bug-org 900384 Define new key name "Redo" for GTK 2014年12月31日
D3E仕様には、 Undo キーはありましたが、 Redo キーがありませんでした。しかし、GTKでは定義されているため、新たに定義されました。このバグでは、簡単にマッピングが可能なGTKでのみ、マッピングを行っています。
Bug-org 900382 Define new key names, "Standby", "PowerOff", "WakeUp", "LogOff", "Suspend" and "Hibernate" for Windows, GTK and Qt 2014年12月31日
最新のD3E仕様では、新たに、 Standby 、 PowerOff 、 WakeUp 、 LogOff 、 Suspend 、 Hibernate キーが定義されました。これにあわせて、GTK、Qt、Windowsでは該当するキーにマッピングしました。
Bug-org 900378 Define new key names, "ZoomIn" and "ZoomOut" for GTK, Qt and Android 2014年12月31日
最新のD3E仕様では、新たに、 ZoomIn キー、 ZoomOut キーが定義されたので、GTK、Qt、Android、Firefox OSでは該当するキーコードをこれらにマッピングしました。
Bug-org 1020877 Rename key name, 'Live' to 'LiveContent' and it shouldn't be mapped to TV button of Android 2014年12月31日
最新のD3E仕様では、 Live キーが、 LiveContent に変更になりました。また、これまでGeckoは、Androidの KEYCODE_TV をこれにマッピングしていましたが、それはおかしい、意図していない使い方であると、D3Eのワーキンググループから指摘されたので、このマッピングを廃止しています。 (続く……)
Bug-org 938987 Drop all dead key names since the latest D3E WD dropped them and use "Dead" instead. 2014年12月31日
以前のD3E仕様案では、デッドキーは、入力されるであろう文字ごとに名前が定義されていましたが、その数が膨大になっていく問題と、一部のプラットフォームでは、ネイティブイベントが示す、非合成文字から、合成文字を推測し、キー名にマッピングしなくてはいけないので、ブラウザ間での互換性の維持が困難という問題がありました。そのため、全てのデッドキーは、 Dead という key 値で表現されるようになりました。
Bug-org 896348 "Eisu" (英数) key of JIS keyboard for Mac shouldn't be mapped with "RomanCharacters" 2014年12月31日
最新のD3E仕様では、Macの日本語キーボードにある 英数 キー用に Eisu が定義されました。そこで、 RomanCharacters から、 Eisu にマッピングを変更しています。 (続く……)
Bug-org 912869 Rename key names, "Apps" and "FastFwd" to "MediaApps" and "MediaFastForward" 2014年12月31日
最新のD3E仕様にあわせて、 Apps を MediaApps に、 FastFwd を MediaFastForward に変更しました。 (続く……)
タイトル 最終更新日
内容(最初の段落のみ)
Bug-org 912866 Rename key names "Red", "Green", "Yellow" and "Blue" with "ColorF0Red", "ColorF1Green", "ColorF2Yellow" and "ColorF3Blue" 2014年12月31日
最新のD3E仕様にあわせて、リモコンで見かけるカラーキーの名前を、 Red を ColorF0Red に、 Green を ColorF1Green に、 Yellow を ColorF2Yellow に、 Blue を ColorF3Blue に変更しました。 (続く……)
Bug-org 912864 Rename key names "MediaNextTrack", "MediaPreviousTrack" and "SelectMedia" with "MediaTrackNext", "MediaTrackPrevious" and "MediaSelect" 2014年12月31日
最新のD3E仕様にあわせて、 MediaNextTrack を MediaTrackNext に、 MediaPreviousTrack を MediaTrackPrevious に、 SelectMedia を MediaSelect に変更しました。
Bug-org 912860 Replace key name "Zoom" with "ZoomToggle" 2014年12月31日
最新のD3E仕様にあわせて、 Zoom を ZoomToggle に変更しました。
Bug-org 912859 Replace key names "Del" and "Esc" with "Delete" and "Escape" 2014年12月31日
最新のD3E仕様にあわせて、 Del は Delete に、 Esc は Escape に変更しました。
Bug-org 900390 Replace "Left", "Right", "Up" and "Down" with "ArrowLeft", "ArrowRight", "ArrowUp" and "ArrowDown" 2014年12月31日
最新のD3E仕様にあわせて、矢印キーの名前を Left は ArrowLeft に、 Right は ArrowRight に、 Up は ArrowUp に、 Down は ArrowDown に変更しました。
Bug-org 900376 Replace "Crsel" and "Exsel" with "CrSel" and "ExSel" 2014年12月31日
最新のD3E仕様にあわせて、 Crsel は、 CrSel に、 Exsel は、 ExSel に変更しました。
Bug-org 900374 Replace key name "Menu" with "ContextMenu" 2014年12月31日
最新のD3E仕様にあわせて、 Menu キーは、 ContextMenu キーにリネームしました。
Bug-org 900372 Update key names for the latest D3E draft 2014年12月31日
D3E の KeyboardEvent.key の値を最新の仕様案にあわせて更新しようというバグです。まだ、一部のキー名についてはワーキンググループに確認をとっているところで、本来はこれが終わってから全ての修正を一度に行う予定でしたが、約半年、ワーキンググループから回答が来ていないので、安定している部分に関してのみ、修正を先行させることにしました。 (続く……)
Bug-org 960871 Get rid of WidgetTextEvent and WidgetCompositionEvent should take over the job 2014年10月30日
compositionupdate は、未確定文字列が変化する前に発火するイベントということに、一応、なっていますので、これは、エディタの未確定文字列を書き換えるためには現在使っていません(というか、内部処理では使っていません)。内部処理では、 WidgetTextEvent を、 NS_TEXT_TEXT イベントとして発火し、 text という独自DOMイベントとして発火したものを利用しています。 (続く……)
Bug-org 975383 Dispatch compositionupdate from TextComposition rather than widget 2014年10月30日
現在、 compositionupdate の内部イベントである、 NS_COMPOSITION_UPDATE イベントは、各OS用の widget から発火していますが、同じロジックで発火している上、XPレベルでは、 TextComposition クラスで管理している未確定文字列の情報を widget 側と二重管理するのは勿体ないということで、 NS_COMPOSITION_UPDATE を、 TextComposition で発火するようにしよう、というバグです。 (続く……)
Bug-org 1046101 Redesign nsEventStructType 2014年08月12日
nsEventStructType のリネーム等々を行って整理しようというバグです。 (続く……)
Bug-org 1045978 Create InternalSVGZoomEvent and InternalSMILTimeEvent for NS_SVGZOOM_EVENT and NS_SMIL_TIME_EVENT 2014年07月31日
イベントな内部クラスは、どのクラスのインスタンスかを高速に判断できるように、 eventStructType というメンバがあり、ここに、各イベントクラスのコンストラクタが自身を示す値を書き込んでいるのですが、SVGのズームイベントと、SMILのタイムイベントの二つは、既存のイベントクラスのインスタンスに、専用の値をセットして EventDispatcher::CreateEvent() 等で本来とは異なる動作になるようにハックを仕込んでいました。 (続く……)
Bug-org 1038089 Log the behavior of IMEStateManager for debug 2014年07月24日
IMEの状態管理(無効・有効)や、IMEにフォーカスを持ったエディタの内容の変更情報を提供する IMEContentObserver を管理するのが、 IMEStateManager ですが、このクラスは主に、 nsFocusManager と共に動作するので、デバッガでのデバッグが非常にやりにくいクラスです。 (続く……)
Bug-org 1025982 Pressing "Digit1" key results in "Digit0" KeyboardEvent.code value (and so on) 2014年06月24日
Windowsでは、 0 キーから、 9 キーの KeyboardEvent.code 値が、 Digit1 から、 Digit0 になっている、つまり、ひとつずつ数字がズレているというバグです。 (続く……)
Bug-org 1019427 Log scancode -> virtual keycode table for KeyboardEvent.code debug on Windows 2014年06月24日
Bug-org 1015028の修正 で、Windowsでは、スキャンコードがきちんと設定されていないキーイベントであっても、仮想キーコードからスキャンコードを算出して、 KeyboardEvent.code を求めるようになりましたが、どのような環境で、これが問題になるか分かりません。 (続く……)
Bug-org 1020142 Should comment out KeyboardEvent.code values which any widgets don't support 2014年06月11日
KeyboardEvent.code の初期実装時に、どのプラットフォームでも利用されない code 値も定義し、インデックスから文字列に変換可能にしていました。 (続く……)
Bug-org 939006 Sort out DOM key name definition by groups in D3E draft 2014年06月11日
当初、 D3E の仕様書では、 KeyboardEvent.key の値をひとつのテーブルで定義していましたが、項目が増えるに従い、キーの種類ごとにテーブルを分割し、さらに、仕様書自体も、D3E本体から分離され、 DOM Level 3 KeyboardEvent key Values に分離されています。 (続く……)
Bug-org 479942 shift+space doesn't scroll up with some keyboard layouts 2014年06月10日
非常に昔から存在しているバグですが、 Space キーか、 Shift + Space キーで、ASCIIの半角スペース以外を入力する場合、スクロールのショートカットキーとして機能しない、というバグです。 (続く……)
Bug-org 976673 While mouseup event is being dispatched, event handlers cannot steal focus from inaccessible element if preceding mousedown event's preventDefault() is called 2014年06月18日
Geckoでは、 Element.focus() を呼び出しても、そのJavascriptのコンテキストがアクセスできないノードがフォーカスを持っている場合、例えば、ブラウザのUIや、フレームに読み込まれた別ドメインのサイト等がフォーカスを持っている場合には、フォーカスを奪えないようになっています。 (続く……)
Bug-org 1008772 Web sites can steal ctrl+page up/down 2014年06月10日
Webアプリが、 Ctrl + PageDown 等、キーボードによるタブナビゲーションのキーを keydown イベントで、 preventDefault() を呼び出していると、続く keypress イベントが発生しなくなっているため、一部のサイトではキーボードでタブを操作できなくなっているというバグです。 (続く……)
Bug-org 1015028 Should compute scancode from virtual keycode at computing KeyboardEvent.code value if the key message doesn't have proper scancode 2014年06月10日
KeyboardEvent.code は、Windowsでは、スキャンコードから求めていますが、 ::SendInput() APIから参照できる、 KEYBDINPUT 構造体のドキュメント を見る限り、各種ツール類が生成する疑似キーイベントには、適切なスキャンコードが設定されていない可能性が高いです。 (続く……)
Bug-org 180840 Support evt.accelKey as boolean property 2014年05月30日
KeyboardEvent.accelKey や、 MouseEvent.accelKey を実装すべき、というリクエストのバグです。 (続く……)
Bug-org 865649 Implement KeyboardEvent.code (only for physical keyboard) 2014年05月30日
個人的には、Firefox 32、Firefox 33の目玉になる機能です。 KeyboardEvent.code の初期実装が完了しました。 (続く……)
Bug-org 1009388 Support DOM3 Events' virtual modifier "Accel" for getModifierState() 2014年05月30日
以前から、W3Cに提案していた、ショートカットキー用のモディファイアが押されているかどうかを確認する機能が、承認されて、草案に盛り込まれたので早速実装しました。 (続く……)
Bug-org 1008244 Regression in 29: "Enter" key on <select> element no longer fires a keypress event 2014年05月30日
<select size="1"> な要素にフォーカスがある時、 Enter キーの keypress イベントが発生しなくなっている、というバグです。 (続く……)
Bug-org 999645 KeyboardEvent.initKeyboardEvent requires too many arguments 2014年04月30日
Bug-org 930893の修正 で実装した KeyboardEvent.initKeyboardEvent() ですが、実際に1Passwordのfeature detectionが壊れたという報告が来ました。BlinkやWebKitでは、大半の引数がオプションなので、省略して呼び出している所でエラーとなるようになったようです。 (続く……)
Bug-org 930893 Implement D3E KeyboardEvent constructor 2014年04月25日
D3E で定義された、 KeyboardEvent のコンストラクタを実装しよう、というバグです。 (続く……)
Bug-org 993253 Implement D3E InputEvent interface with isComposing 2014年04月11日
こちらは、 input イベントや、 D3E で提案されている beforeinput のための、 InputEvent インターフェースを、 isComposing 属性のみでひとまず実装しようというバグです。 (続く……)
Bug-org 993234 Implement D3E KeyboardEvent.isComposing 2014年04月11日
今週頭に、以前からW3Cに提案していた、 KeyboardEvent.isComposing が採用され、 ドラフトに追加されました ので、早速、実装してしまいました。 (続く……)
Bug-org 964718 MOZ_CRASH(WidgetQueryContentEvent doesn't support Duplicate()) at ../../dist/include/mozilla/TextEvents.h:333 2014年04月17日
Geckoが内部処理用に発行したイベントが、何らかの理由でWebコンテンツにキャッチされ、サポートしていないDOMイベントのコピー処理が走って、クラッシュする、というバグです。 (続く……)
Bug-org 970141 The value of deltaX and deltaY of WheelEvent should be in CSS pixels if its deltaMode is DOM_DELTA_PIXEL 2014年03月20日
MacのRetinaディスプレイモデルを使用していると、 WheelEvent の deltaX や deltaY が、ディスプレイの物理ピクセル数で返されるため、Javascriptで実装された、独自のスクロール可能な要素のスクロールスピードが速すぎる、というバグです。 (続く……)
Bug-org 969247 Get rid of related code of NS_VK_ENTER and nsIDOMKeyEvent::DOM_VK_ENTER 2014年02月22日
Geckoには開発初期段階から、 VK_RETURN というキーコードと、 VK_ENTER というキーコードの二つがあり、コア開発者、UI開発者共にその違いに悩まされてました。実際には、 VK_ENTER はGonkが間違ったマッピングを行っていた以外には使われていないものなので、削除することにしました。 (続く……)
Bug-org 329127 Simplify nsDOMEvent::DuplicatePrivateData 2014年01月30日
nsDOMEvent::DuplicatePrivateData() は、DOMイベントがJSのハンドラ等に捕獲され、ディスパッチ終了後も情報を保持しないといけない場合に、ディスパッチ元が管理しているイベントの情報を、DOMイベント自身が管理するインスタンスを生成して、必要なものだけコピーする、というものです。このメソッドは、イベントの種類ごとにそれぞれ処理を書き、また、 widget/ 配下にイベントクラスを追加しても自動的に対応する訳でもないので、修正漏れの原因になっていました。このバグはそれを解決しようというものです。 (続く……)
Bug-org 935876 <select> element shouldn't consume key events which don't cause any default action 2014年01月30日
Bug-org 501496の修正 によるregressionです。 <select> 要素で文字入力キー以外のハンドリングを、 keypress イベントから、 keydown イベントに変更し、 keydown イベントの preventDefault() が呼び出された場合に、 keypress が発生しなくなっているため、現状の <select> 要素では、文字入力キー以外のキー入力に対して、一切、 keypress イベントが発生しなくなっている、というバグです。 (続く……)
Bug-org 951023 Gonk widget should set modifier state at dispatching events derived from WidgetInputEvent 2014年01月29日
Firefox OSのGonkウイジットから、イベントが生成される際(例えば、Bluetooth接続等による、物理デバイスからの入力イベント)、モディファイアキーの状態が正しく初期化されていませんでした。 (続く……)
Bug-org 951021 nsWindow of Android should set modifier state at dispatching events derived from WidgetInputEvent 2013年12月19日
Android版の nsWindow がイベントを発行する際に、マウスやタッチイベントでは、一切、モディファイアの情報を設定しておらず、キーイベントでも、 Alt 、 Ctrl 、 Meta 、 Shift しか設定していないというバグです。 (続く……)
Bug-org 946044 Pressing the Windows "Application" key inserts a U+0010 'DATA LINK ESCAPE' hexbox into text editor 2013年12月19日
MacにPC用のキーボードを接続し、コンテキストメニューを開く、 アプリケーション キーを押すと、制御文字である、 U+0010 が入力され、それがエディタにそのまま表示されてしまうというバグです。 (続く……)
Bug-org 948839 Drag and Drop broken 2013年12月19日
ファイルやURLを <input> 要素等にドロップしても、タブがそれを読み込んでしまって、ドロップした要素固有の処理にならない、というバグです。 (続く……)
Bug-org 930374 Event.defaultPrevented shouldn't become true if preventDefault() was called by our internal handler for default action 2013年12月19日
Geckoや、Firefox等のXULアプリは、DOMイベントをハンドリングすることで、イベントのデフォルトアクションを実装しています。前者で、イベントのディスパッチが完全に終了した後以外にハンドリングした場合には、他の要素がデフォルトアクションを二重実行してしまわないように、 Event.preventDefault() が呼び出されています。これが原因で、イベントを保存しておいて、イベントのディスパッチが終了した後に Event.defaultPrevented の値を確認すると、 Webアプリが Event.preventDefault() を呼び出したわけでもないのに、 true になっている、という奇妙な状態になっていました。 (続く……)
Bug-org 912858 Implement KeyboardEvent.key for printable keys (except dead key handling) 2013年12月19日
今まで、 D3E 仕様に不明瞭なところがあったので、 KeyboardEvent.key の、プリンタブルキーの値は MozPrintableKey 値を暫定的に設定していましたが、仕様が概ね固まったので、デッドキー以外に関しては最新仕様にあわせたものに修正されました。現行仕様は以下のようになっています。 (続く……)
Bug-org 936318 Drop key name "Spacebar", "Multiply", "Add", "Subtract", "Divide", "Separator" and "Decimal" 2013年12月19日
最新の D3E 仕様の変更に伴い、 スペース キーや、テンキー上の、数字と Enter キー以外につけられていた、 KeyboardEvent.key 用の固有のキー名を削除しました。
Bug-org 602787 widget/*Events.h shouldn't be included by other *.h files as far as possible 2013年11月30日
widget/ 配下のイベントクラスのヘッダファイルが、様々なヘッダファイルにインクルードされているために、ここの変更時にフルビルドに近い、リビルドが必要になるので、できる限り、ヘッダではインクルードしないように修正しようというバグです。 (続く……)
Bug-org 940843 Print preview Alt+C doesn't activate "close" button anymore (& similar for other print preview UI with alt-keys) 2013年11月29日
Bug-org 501496 のregressionです。プリントプレビューを表示している際に、プレビューされているコンテンツ部分をクリックした後に、UIのアクセスキーが利用できない、というバグです。 (続く……)
Bug-org 600117 Implement DOM3 KeyboardEvent.repeat 2013年11月29日
WebKit/Blinkに実装競争で負けちゃいましたが、Geckoにもようやく、 KeyboardEvent.repeat を実装しました。 (続く……)
Bug-org 930900 KeyboardEvent.key doesn't return correct value after event dispatch finished 2013年10月31日
KeyboardEvent をイベントハンドラで、グローバル変数等に保存しておき、イベントの伝播が終了した後に、 KeyboardEvent.key の値を取得すると、常に空文字列になっている、というバグです。 (続く……)
Bug-org 912956 Separate nsGUIEvent.h to a few header files 2013年09月30日
長年の悲願だった、Geckoの内部イベントリファクタリングを実行することを決意しました。まず、このバグでは、肥大化した nsGUIEvent.h を複数のヘッダファイルに分割し、イベント関連のコードを修正した場合に、リビルドする範囲を軽減しようというのがまずは第一目標としました。 (続く……)
Bug-org 768287 keydown event's getModifierState() returns wrong value on GTK if the key has lockable modifier but the keyval doesn't correspond to a DOM modifier 2013年09月30日
以前にも紹介しましたが、LinuxのGTK (GDK)では、キーイベントが発生した段階では、モディファイアのフラグがそのキーが押された状態を反映した値に変化していません。例えば、 Shift キーを押したイベントの、モディファイアフラグの値は、 Shift キーが押された状態にはなっていません。これは、他のプラットフォームの動作とは異なっているため、Geckoでは、キーのハードウェアキーコードから、アクティブになるフラグを 予想 して、わざわざセットする、ということをやっていました。 (続く……)
Bug-org 910978 Implement Assign*EventData() for all ns*Event 2013年09月30日
全ての内部イベントクラスにメンバをコピーするメソッドを実装しようというバグです。 (続く……)
Bug-org 911463 nsDOMUIEvent::IsChar() casts nsTextEvent* as nsKeyEvent* 2013年09月30日
GeckoのDOM KeyboardEvent と、 TextEvent には isChar というプロパティがありますが、 TextEvent.isChar の取得時に、間違えたキャストを行って、正しい値を返していなかったというバグです。 (続く……)
Bug-org 910156 Some new members for D3E in ns*Event are not copied in nsDelayed*Event 2013年08月31日
Bug-org 907657の修正の解説 で書いた、contentで後から発生するイベントが、 D3E に対応できていない、というバグです。 (続く……)
タイトル 最終更新日
内容(最初の段落のみ)
Bug-org 892539 Assertion failure: modifierKey->keyCode == keyCode 2013年08月31日
デバッグビルドでのみ、 Command キーや、 Control キーを押した際に、希にクラッシュすることがある、というバグです。 (続く……)
Bug-org 897885 Handle kVK_JIS_KeypadComma 2013年08月31日
MacのJISレイアウトのフルキーボードでは、テンキーにカンマのキーがあります。このキーのハンドリングを KeyboardEvent.key 以外ではやっていなかった、というバグです。 (続く……)
Bug-org 903715 Using keyboard to select value in <select> with enter key ends up submitting form when it didn't use to 2013年08月31日
Bug-org 501496の修正 によるregressionで、 <select> 要素でドロップダウンを開いている時に、 Enter キーで閉じた際、 change イベントのハンドラで、 <input> にフォーカスを移動させると、その <input> 要素上で keypress イベントが発生し、これがフォームを送信してしまう、というバグです。 (続く……)
Bug-org 501496 preventDefault on keydown does not cancel following keypress 2013年07月29日
Geckoでは、 keydown イベントの preventDefault() を呼び出しても、続いて、 keypress イベントが発生する、というバグです。 (続く……)
Bug-org 896362 Support special keys VK_ABNT_C1 and VK_ABNT_C2 of Brazilian keyboard 2013年07月29日
以前、 Bug-org 865566の修正 において、 KeyboardEvent.key でのみ、ブラジルのポルトガル語キーボードや、Macの日本語版キーボードにある、テンキーのカンマキーのキーコードである、 VK_ABNT_C2 に対応していましたが、今回の修正は、 KeyboardEvent.keyCode や、 KeyboardEvent.location も、 VK_ABNT_C2 に対応させ、同時に、もうひとつの特殊キー、 VK_ABNT_C1 も対応させました。 (続く……)
Bug-org 843236 Defect - Send the correct DOM keycodes in keyboard events from metro widget for US and non-US keyboards 2013年07月06日
メトロ版Firefox (Metrofox)では、DOMキーイベントが、デスクトップ版とは違って、適切なイベントを発行できていない、というバグです。 (続く……)
Bug-org 865565 D3E KeyboardEvent.key values of IME related keys should be considered with keyboard layout locale 2013年06月30日
Windowsでは、日本語のキーボードと、ハングルキーボードの、IMEのキーの一部で、仮想キーコードをシェアしているので、単純な変換ではDOM Level 3 Eventsの仕様が望むような KeyboardEvent.key 値が得られません。 (続く……)
Bug-org 865976 Cannot build SeaMonkey on Linux since Bug 842927 (Implement DOM3 KeyboardEvent.key only for non-printable key, first) [nsGtkKeyUtils.o] Error 1 2013年05月31日
KeyboardEvent.key の実装時に、GTK用のコードで参照した、keysymの定数が、いくつか、SeaMonkeyのオフィシャルビルドのビルドマシンでコンパイル時にエラーになるということで、対策を入れました。 (続く……)
Bug-org 865566 Separator key on NumPad of Brazilian keyboard should cause "Separator" key value 2013年05月31日
MacのJISキーボードや、ブラジルのキーボードは、テンキーに、千単位での区切り文字(日本語ならカンマ)を入力するキーがあります。Windowsでは、 VK_SEPARATOR という仮想キーコードが定義されているんですが、実際にこれらのキーには VK_ABNT_C2 という仮想キーコードが割り当てられているため、これに対応しないと、 KeyboardEvent.key で、 "Separator" を返せない、というバグです。 (続く……)
Bug-org 842927 Implement DOM3 KeyboardEvent.key only for non-printable key, first 2013年04月29日
Bug-org 834554 で、Firefox OSチームがメチャクチャなパッチを投入して、 KeyboardEvent.keyCode の値をハッキーに利用しようとしていたので、それを阻止するために、仕様がまだもめている文字入力用のキー以外のキーでのみ、 KeyboardEvent.key を先行実装することにしました。 (続く……)
Bug-org 851128 Double-tap gestures are not recognized on OS X 2013年04月15日
私が修正した訳では無いんですが、かなり深く関わることになったので紹介しておきます。 (続く……)
Bug-org 855916 Needs a debug pref for testing moz gesture events 2013年04月15日
Bug-org 851128 のレビューを頼まれたので、実際の挙動を確認するために、テストを書いてみたところ、一切イベントが発生しない、という不思議な現象が発生していたので、レビューをリクエストしてきた人に聞いてみたところ、 Moz*Gesture イベントは browser/ がchromeで、キャプチャフェイズで捕まえ、 stopPropagation() を呼び出しているため、contentでは一切発生しないようにしている、とのことでした。 (続く……)
Bug-org 708936 Remove hack for bug 262894 and bug 28852 2013年02月28日
Windows版のGeckoに古くからあった、ハッキーなコードの削除を行いました。 (続く……)
Bug-org 833719 Some function keys are not working since Firefox Version 15 2013年02月19日
Firefox 14までは、Windows/Linux/Macで、キーボードレイアウトとプラットフォームによってはほとんどのキーが keyCode 値が0になっていたり、同じキーボードレイアウトの同じキーがプラットフォーム毎に違う値を返すことがあったりするバグが長年、問題になっていたので、Firefox 15では、 Bug-org 630810 (Windows)の修正 、 Bug-org 677252 (Mac)の修正 、 Bug-org 447757 (Linux)の修正 で、ほぼ、これらの問題を一掃しましたが、その際に今まで、Windowsでは、ネイティブのvirtual keycode値でDOM keyCode 値が定義されていないものに関してはそのままの値をセットするというのを取りやめ、マッピングできないもの、つまり、一般的なWebアプリで処理されるべきではないキーに関しては、 keyCode 値が0になるようになりました。 (続く……)
Bug-org 674739 Implement DOM3 KeyboardEvent types for audio 2013年02月19日
バグのサマリが良くないんですが、このバグの修正で、オーディオのボリュームに関する keyCode 値が新たに定義されました。 (続く……)
Bug-org 821329 Input widgets don't accept character input with MacOS's build-in handwriting feature 2013年01月23日
Macのタッチパッド上で指で漢字を直接書いて、入力する機能が、Firefox 17以降で動作しなくなってしまっているというバグです。同様の症状として、日本語IMEの文字入力パレットからも入力できなくなっているという情報(苦情とも言う)をもらっています。 (続く……)
Bug-org 825924 Form autocomplete does not properly reset 2013年01月23日
<input> 等に何文字か入力し、オートコンプリートの候補が絞られた後で、入力内容を全て選択し、コンテキストメニューからそれを切り取った後、再度入力を開始しても、候補が絞り込まれたままになっている、というバグです。Aliceさんのおかげで、regressionの原因が Bug-org 668606の修正 にあることが分かりました。 (続く……)
Bug-org 769159 Handle ShiftLock key on GTK 2012年12月18日
フランス語キーボード等では、 Caps_Lock ではなく、 Shift_Lock が一般的だそうです。これをロックすると、アルファベットだけではなく、数字キー等でも Shift キーがロックされた状態となります。 (続く……)
Bug-org 769548 Support ISO_Level5_Shift as AltGr too 2012年12月18日
GTK3では、 ISO_Level3_Shift に加え、 ISO_Level5_Shift という、もうひとつの AltGr キーが追加定義されました。 (続く……)
Bug-org 814303 [Mac] Zoom-in/out is not available with mouse wheel since control+wheel is reserved by OS and the default action is always used when two or more modifiers are active 2012年12月01日
Bug-org 719320 の修正によるregressionです。Macでは、標準の設定では、 control +ホイールで、画面全体をズームするようになっています。この際、Geckoにはホイールイベントが通知されませんので、Firefoxのデフォルト設定では、ホイールを使ったズームができなくなっていました。 (続く……)
Bug-org 705057 Implement composition event manager 2012年10月20日
これまで、Geckoでは、ネイティブのIMEのイベントから、DOMイベントを生成して、その時点でフォーカスのある要素に対して、そのイベントを発行していました。しかし、これでは、意図せず、強制確定前にフォーカスが移動してしまったケースでは、おかしなことになってしまいます。また、現在のXPレベルのコードでは、エディタ以外に未確定文字列を編集中であるかどうかを管理しているクラスがありませんでしたので、色々と不便がありました。 (続く……)
Bug-org 786956 Rewrite NSFlagsChanged handler 2013年01月02日
Cocoaの、 NSFlagsChanged イベントのハンドラをまるごと書き直して、まともなものにしよう、というバグです。 (続く……)
Bug-org 795230 Use ASCII capable keyboard layout for computing charCode if current input source is an IME mode and open 2012年10月20日
ことえりで、かな打ち設定にしていた場合、IMEが使えない局面、つまり、エディタがフォーカスを持っていない場合でも、 keypress イベントの、 charCode に、IMEがオフの場合に入力される文字ではなく、かな文字がセットされている、というバグです。 (続く……)
Bug-org 784783 [NSInternalInconsistencyException: Invalid message sent to event "NSEvent 2012年09月07日
Bug-org 775414の修正 によるregressionです。 (続く……)
Bug-org 784246 KeymapWrapper::GuessGDKKeyval() return wrong key for NS_VK_COLON 2012年09月07日
Geckoでは、DOMキーイベントがエディタに届いた時に、ネイティブのショートカットキーに一致するキーかどうか、調べるのですが、その時に、DOMキーコードから、ネイティブキーコードに変換するメソッドにミスが見つかりました。 (続く……)
Bug-org 719320 Implement DOM3 wheel event #2 2012年08月16日
4月あたりにほぼ完成していた D3E WheelEvent の実装がようやく終わりました。実に、29のパッチに分割され、私個人では最高記録です。 (続く……)
Bug-org 768742 OS/2 IME level3 support 2012年08月08日
これは私の修正ではないですが、感動したので紹介しておきます。 (続く……)
Bug-org 759346 Ctrl+ช (The key is '+/=' key on ANSI keyboard layout) doesn't work as Ctrl++ but work as so on IE 2012年05月31日
Bug-org 630810の修正 によるWindows版のみのregressionです。 (続く……)

発見した件数: 128件 | 再検索