この日記は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 に対応できていない、というバグです。 (続く……) |
発見した件数: 128件 | 再検索