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

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

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

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

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

タイトル 最終更新日
内容(最初の段落のみ)
Bug-org 1257761 [Linux][GTK] windowed plugins shouldn't consume reserved shortcut keys of chrome 2016年10月16日
Linux版で、windowedプラグインにフォーカスがある時に、Firefoxのショートカットキーが使えないというバグです。 (続く……)
Bug-org 1137565 Make KeymapWrapper and nsGtkIMModule use TextEventDispatcher 2016年10月15日
Bug-org 1137572の修正 にあわせて、Linux、GTK版のネイティブキーイベントハンドの KeymapWrapper と、IMEイベントハンドラの IMContextWrapper から TextEventDispatcher を利用するように修正しました。 (続く……)
Bug-org 1184890 [e10s][GTK][TSF] cannot input composing string on comment of articles on Facebook 2015年10月31日
Bug-org 1189396 と同じ話の e10s モード版です。 (続く……)
Bug-org 299603 Use IM specified style for preedit string (It is better to use PANGO_ATTR_BACKGROUND for XIMReverse) 2015年08月26日
放置していたバグ修正第二弾です。LinuxのIMEは未確定文字列のスタイル情報を一般的には指定してきます(一部の変換エンジンは自分でカスタマイズもできます)。しかし、GTK版Geckoはこの指定をそのまま利用せず、そのスタイルから各文節の「意味」を推測して独自の描画を行っていました。 (続く……)
Bug-org 1183873 5,000 instances of "'!mContentCache.CacheEditorRect(this, &aIMENotification)'" and associated warnings emitted from widget/PuppetWidget.cpp during linux64 debug testing 2015年08月26日
GTK版のFirefoxのみ、デバッグビルドでウインドウを移動すると警告が大量に出るため、自動テストのログが5,000の、 !mContentCache.CacheEditorRect(this, &aIMENotification) とそれに付随して出る警告で埋まっているというバグです。 (続く……)
Bug-org 1186017 [GTK] nsGtkIMModule should be renamed to mozilla::widget::IMContextWrapper 2015年08月09日
nsGtkIMModule を mozilla::widget::IMContextWrapper にリネームしようというバグです。既に、 KeymapWrapper というクラスがキーイベントの処理を行っていますので、それに合わせた名前になっています。 (続く……)
Bug-org 1185316 [e10s][TSF][GTK?] TabChild should notify TabParent of receiving WidgetCompositionEvent or WidgetSelectionEvent after dispatching it 2015年07月26日
Bug-org 1176954の修正 では、子プロセスがイベントを受信したら、親プロセスにそれを通知することで親プロセスがIMEに各種通知を発行するタイミングを調整するようにしましたが、この状態で通知すると、それにIMEが反応してコンテンツを取得しに来た場合、一番最後に送信したイベントの結果がまだ、 TabParent 内のキャッシュに反映されていない可能性があることに気付きました。 (続く……)
Bug-org 1184986 [e10s][TSF] ContentCache shouldn't notify IME of layout change until all sending events are handled 2015年07月26日
Bug-org 1176954の修正 で、IMEへの通知を一部、子プロセスへの送信中のイベントが残っている場合には延期するようにしましたが、 NOTIFY_IME_OF_POSITION_CHANGE に関してもそれが必要というバグです。 (続く……)
Bug-org 1176959 [e10s][GTK] Kakutei-Undo of Mozc doesn't work 2015年07月19日
e10s モードでは、GTK版Mozcの確定アンドゥが機能していませんでした。 (続く……)
Bug-org 1176954 [e10s][TSF][GTK?] TabParent shouldn't notify IME until all sending events are handled 2015年07月19日
e10s モードでは、子プロセスがフォーカスを持つ場合、chromeイベントでハンドリングしたネイティブのIMEイベントが、非同期で子プロセスに処理されることになります。ここで困るのが TSF やGTKでIMEに選択範囲の変化等を通知するタイミングです。これまでは、子プロセスから通知が来た場合に即、TSFやGTKに通知を行っていましたが、子プロセスの処理が遅れている場合、TSFやGTKからするといくつか前の状態が通知されるというおかしなことになります。 (続く……)
Bug-org 1175382 [GTK] nsGtkIMModule should use WidgetCompositionEvent::TargetClauseLength() rather than TextRangeArray::TargetClauseLength() 2015年06月19日
Bug-org 1130937の修正 時のミスです。 WidgetCompositionEvent::TargetClauseLength() や、 WidgetCompositionEvent::TargetClauseOffset() を利用すべき時に、 WidgetCompositionEvent::mRanges の、 TextRangeArray::TargetClauseLength() や TextRangeArray::TargetClauseOffset() を利用していたため、 WidgetCompositionEvent 側で実装されている、選択された文節が無い場合の回避処理が行われていませんでした。 (続く……)
Bug-org 1130937 [Gtk] Need to investigate if IMEs on Linux support vertical writing mode and how do we tells it to IME 2015年06月19日
GTKというかLinuxの IME には、縦書きという概念そのものが存在していませんでした。そこで、抜本的な解決策として、 誠さんがGTK側に仕様を追加するように依頼して、既に修正されました 。 (続く……)
Bug-org 1163304 Nighglty crashes at [@ nsEditor::EnsureComposition(mozilla::WidgetGUIEvent*) ] 2015年06月06日
Linux版のFirefoxでは、 Alt キーでメニューバーを表示し、続いて、文字入力のキーを押すことで、それに対応したメニューを開くことができます。しかし、検索バー等のエディタでサジェスト用のポップアップが既に開かれている状態で、なおかつIMEがオンになっている際にこの操作を行うとクラッシュするというバグです。 (続く……)
Bug-org 1117087 crash in nsEditor::EnsureComposition(mozilla::WidgetGUIEvent*) 2015年06月06日
ATOK X3に対応した際 のregressionで、Facebookのコメント入力欄が空の場合に、IMEで未確定文字列を入力するとクラッシュするというバグです。 (続く……)
Bug-org 1143197 Unable to enter text in <input type=password> fields when an input method is available (Linux) 2015年03月26日
Linux版のATOKである、ATOK X3を利用していると、パスワードフィールドで文字が入力できないというバグです。 (続く……)
Bug-org 1140832 Cannot undo Input Method commit by Ctrl + BackSpace 2015年03月26日
Bug-org 1065835 のregressionにより、Linux上でMozcで確定後、 Ctrl + Backspace で確定アンドゥができないというバグです。 (続く……)
Bug-org 1020139 Support new KeyboardEvent.code value for Sun keyboard 2015年02月21日
KeyboardEvent.code で、Sunのキーボードにある特殊なキーもサポートしようというバグです。従来の D3E では定義しているキーが足りなかったため、これ用に定義を追加してもらうのに手間取り、約半年かかって、ようやく修正となりました。 (続く……)
Bug-org 1031156 Map GDK_AudioForward to "MediaFastForward" 2014年12月31日
最新のD3E仕様には、 MediaFastForward というキーが定義されていますが、GTKの GDK_AudioForward がこれに適切ではないか、ということで、新たにマッピングを追加しています。
Bug-org 1027474 Support "VideoModeNext" on GTK 2014年12月31日
最新のD3E仕様で定義されたキーの中に、 VideoModeNext というキーがあります。これは、 仕様書で参照している仕様 で定義されているものですが、GTKに名前が同じ意味になるものが、存在していたので、Geckoではひとまず、マッピングを行いました。
Bug-org 1027007 Support multimedia keyboard's key values ("Close", "MailForward", "MailReply", "MailSend", "New", "Open", "Print", "Save" and "SpellCheck") 2014年12月31日
Microsoft社が出した、マルチメディアキーボードには、メーラーを操作するキーや、新規ドキュメント作成等の編集作業に便利なキーがありますが、GTKやQtでは、これらのキーのキーコードも定義しています。そこで、これらに対応するため、最新のD3E仕様では、 Close 、 MailForward 、 MailReply 、 MailSend 、 New 、 Open 、 Print 、 Save 、 SpellCheck キーが定義されました。GeckoではGTK、Qt上ではシンプルにこれらのキーをマッピングしています。
Bug-org 1026939 Support new key names "LaunchFoo" for launching specific applications 2014年12月31日
Linux系と、Android系のプラットフォームでは、特定のアプリを起動するキーが多数定義されています。これにあわせて、D3E最新仕様では、 Launch というプリフィックスの後ろに、アプリ名を入れることで、キー名をブラウザベンダが定義できるようにしています。今回の修正では、Webアプリにとって、さほど重要なキーではないことから、 仕様でサンプルとして定義しているキー のみを追加し、マッピングしています。
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 1097238 Non-ASCII input with GTK_IM_MODULE=xim broken after bug 1083067 2014年11月21日
Bug-org 1083067の修正 によるregressionです。少なくとも、iBusでデッドキーを利用しても、入力できなくなっていました。 (続く……)
Bug-org 1083067 Make nsGtkIMModule simpler 2014年11月21日
Bug-org 1077345 の修正時に nsGtkIMModule の修正が大きくなってしまうので、事前の整理を行った方がレビューがスムーズになるために行ったリファクタリングです。 (続く……)
Bug-org 1084302 nsGtkIMModule::DeleteText() calls DispatchCompositionChangeEvent() with wrong argument 2014年10月30日
GTKのIMEでは、南アジアの言語でキャレット周囲の文字を含めて、未確定文字列を生成する場合や、日本語の再変換の実装のために、キャレット前後の任意の文字を削除するシグナルが存在しています。これを処理する場合、アプリ側は未確定文字列を含まない、元の文字列でその削除される範囲を決めなくてはいけません。また、 nsEditor は、未確定文字列がある状態での、未確定文字列外の文字の編集をサポートしていません。このため、文字列を削除するシグナルを、未確定文字列が存在する際に受け取った場合、まずは、確定してから、文字を削除し、再度、未確定文字列を復元する必要があります。しかし、その実装である nsGtkIMModule::DeleteText() では、未確定文字列の文節状態を含んだまま、 NS_COMPOSITION_END を発火し、復元時には逆に、文節状態を含まないまま、 NS_COMPOSITION_CHANGE イベントを発火していました。これは、 NS_COMPOSITION_CHANGE イベントを発火するメソッドが、 bool の引数で文節情報を含めるかどうかを決めるという設計だったため、呼び出し側の DeleteText() が単純に、 true と false を指定しなくてはいけないところ、それぞれ、逆を指定してしまっていました。 (続く……)
Bug-org 1083098 Composition string doesn't appear after forcibly commit composition by moving focus on Linux 2014年10月30日
未確定文字列があるエディタ以外をクリックして、フォーカス移動により、未確定文字列を強制確定させた場合、Linux GTK版で、iBusを利用していると、次にどのエディタでもIMEの未確定文字列が入力されず、それを一度確定なりキャンセルすると、通常の状態に戻る、というバグです。 Bug-org 1065835の修正 によるregressionです。 (続く……)
Bug-org 1083629 Composition in a designMode editor is canceled when you click the editor on Linux 2014年10月30日
designMode のエディタで、未確定文字列を入力中に、 <body> 要素の外側、つまり、 <html> 要素の部分をクリックすると、GTK版でIMEがiBusの場合、未確定文字列が確定されず、キャンセルされてしまう、というバグです。 Bug-org 1065835の修正 によるregressionです。 (続く……)
Bug-org 1065835 TextComposition should have API to commit or cancel composition and if widget doesn't perform it synchronously, it should synthesize composition end event 2014年09月30日
TextComposition に、IMEの未確定文字列を強制確定、もしくは強制キャンセルさせるAPIを追加し、 TextComposition 自身が同期的にこれを実行することを保証すべき、というバグです。 (続く……)
Bug-org 1026986 Cannot build Qt-build due to nsEmbedFunctions.cpp:796:26: error:‘InstallX11ErrorHandler’was not declared in this scope 2014年06月24日
Qtビルドをテストのためにビルドしようとすると、 Bug-org 968196 のregressionでコンパイルエラーが発生するようになっていたというバグです。 (続く……)
Bug-org 977959 Redesign native key bindings handling 2014年03月20日
Mac版と、Linux (GTK)版では、OSのネイティブウイジットのショートカットキーを可能な限りエミュレートするために、エディタがキーイベントを処理しなかった場合に、 nsINativeKeyBindings のサービスを利用しています。 (続く……)
Bug-org 749123 [GTK3] Please do not use GtkIMContextSimple for password fields. 2014年01月30日
GTK2では、パスワードフィールドでは、 GtkIMContextSimple を使って、デッドキーをサポートしつつ、IMEはサポートしない、という設計でしたが、GTK3では、通常の GtkIMMulticontext を利用し、IMEの仕組みを利用したスクリーンキーボードをパスワード入力欄でも利用可能にすべきだ、というバグです。 (続く……)
Bug-org 931378 [GTK3] Set input-purpose to GtkIMContext 2014年01月30日
GTK 3.6.0以降では、 GtkIMContext に、 input-purpose というプロパティが設定されており、IMEや、スクリーンキーボードがこれを参考にして、動作を変更することができます。このバグでは、GTK3ビルドが3.6.0以降で動作している場合にのみ、このプロパティを <input> 要素の type 属性や、 ime-mode プロパティを参考に、適切と思われる値を設定しています。 (続く……)
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 932168 Bug 906072 completely broke IME context management when password field gets focus 2013年11月29日
Bug-org 906072 で、Maemo用のコードが、 widget/gtk 配下から一掃する際に、 nsGtkIMModule.cpp 内で、誤って、 #ifndef 内が消されたり、逆に #ifdef の条件のみが消されたりすることで、GTK版では、Firefox 26以降、パスワードエディタでもIMEが使えるようになっていました。 (続く……)
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 909335 double pasting in HTML editor like etherpad with keyboard shortcut 2013年08月31日
Bug-org 907612の修正 のregressionで、GTK版Geckoの、HTMLエディタ上でペーストや、カーソル移動をキーボードから行おうとすると、2回実行される、というバグです。 (続く……)
Bug-org 907612 GTK widget should use nsKeyEvent::mNativeKeyEvent for loss-less handling in nsNativeKeyBindings 2013年08月31日
GTK版Geckoでは、昔から、ネイティブウイジットで利用可能なショートカットキーをGecko上でも利用できるように、nsNativeKeyBindingsというクラスが、DOMキーイベントから、元のネイティブキーイベントを復元し、それを調べるということをやっていました。しかし、このネイティブキーイベントの復元が、DOMキーコードからの推測に基づくものだったので、そもそもDOMキーコードに変換されないキーでは動かないという問題を抱えていました(実際に通常のキーボードで発生する問題なのかは不明)。 (続く……)
Bug-org 851010 Remove Google as a content handler for feeds, because Reader and iGoogle are being discontinued 2013年07月06日
ちょっと古いネタですが、Google Readerのサポートが終了、ということで、Firefoxのデスクトップ版でのGoogle Readerのサポートは、現在のリリース版である、Firefox 22以降で廃止されています。
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 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 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 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 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 751749 cannot configure keyboard shortcuts to use Meta modifier instead of Alt 2012年07月26日
Bug-org 630813 によるregressionです。 (続く……)
Bug-org 757049 GTK immodule receives invalid cursor position when the surrounding text contains any non-BMP Unicode character 2012年06月08日
Linux版のFirefoxが、 retreave-surrounding と、 delete-surrounding をハンドリングする際にnon-BMP文字を、UTF-16のまま2文字とカウントしているというバグです。 (続く……)

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