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

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

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

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

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

タイトル 最終更新日
内容(最初の段落のみ)
Firefox 29以降では、URLバーからボタンを分離してカスタマイズするにはアドオンが必要になっています 2014年05月01日
Army of Awesomeを見ていると、この件で困っている人がそれなりに居て、なおかつ、解決策を自力で発見されていないことが大半なので、ここに、詳細を書いておきます。困っている方を発見したら、この記事を紹介してあげてください。 (続く……)
Firefox 29で修正したバグ 2014年04月23日
いよいよ、Firefox 29のリリースがいよいよ来週に迫ってきましたが、来週は書き込めるチャンスが無さそうなので、今のうちに、私が修正した、コアの改善点を紹介しておきます。 (続く……)
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 981960 PeekMessage(PM_REMOVE) sometimes fails to remove found char message (returns false) even if the message still in the queue 2014年03月31日
メッセージキュー上に、 WM_CHAR メッセージがあるにも関わらず、 PeekMessage() でそのメッセージを削除できないことがある、というバグです。 (続く……)
Bug-org 981963 PeekMessage() may remove char message which is really different from found message (wParam of WM_DEADCHAR becomes 0) 2014年03月31日
PeekMessage() で、発見済みの WM_DEADCHAR の wParam が0に変化してしまっているというバグです。 (続く……)
Bug-org 981958 PeekMessage() sometimes fails (returns false) at removing found char message on MetroFirefox 2014年03月11日
発見済みの WM_*CHAR メッセージを PeekMessage() で削除する際に、時々、 false を返して失敗し、 MOZ_CRASH() でクラッシュしているケースがクラッシュレポートのログから発見されました。残るクラッシュの大半の原因はこれのようです。 (続く……)
Bug-org 981954 Sometimes we remove a char message whose scan code is different from found message 2014年03月11日
WM_*CHAR を PeekMessage() で発見後に、実際に削除を行った後、想定外な状況がおきていないか、取得したメッセージが発見していたメッセージと同一のものか確認し、違っていた場合には、暗っ氏レポートにログを吐いた後、 MOZ_CRASH() でクラッシュさせていました。 (続く……)
Bug-org 981951 We should remove following char message immediately after we find it at handling keydown message 2014年03月11日
mozilla::widget::NativeKey::RemoveFollowingCharMessage() は、 keypress イベントの生成処理の流れの中で、自然なタイミングで呼び出されてました。しかし、このメソッドがメッセージ処理の最中に、ありえない状況が発生しているということは、他のスレッド等からメッセージキューに変更が加えられている可能性があります。そこで、メッセージを発見してから削除するまでの 魔の時間 を可能な限り短くするため、 mozilla::widget::NativeKeyGetFollowingCharMessage() というメソッドに改名し、メッセージの存在を確認した直後に、それをキューから削除し、戻り値として引数経由でその削除したメッセージを返し、必要としているメソッドへ引数として渡すように修正しました。 (続く……)
Bug-org 981947 Use PeekMessage() instead of GetMessage() when we try removing found message with PeekMessage(PM_NOREMOVE) 2014年03月11日
mozilla::widget::NativeKey::RemoveFollowingCharMessage() は、 WM_KEYDOWN メッセージのハンドリング中に呼び出され、生成されている WM_CHAR 等をキューから取り除くメソッドなのですが、この最中に想定外のことがあると、テキスト入力はおかしくなるものの、バグ報告が来ないことが予想され、また、そうそう起きないであろうケースと踏んで、 MOZ_CRASH() を利用して、クラッシュレポートで想定外のバグを調査できるようにしていました。 (続く……)
Bug-org 900802 WM_SYSDEADKEY ignored in some contexts 2014年02月06日
現在修正中の Bug-org 962140 の最初のパッチでどさくさに紛れて修正してしまいました。 (続く……)
Bug-org 964626 [TSF] Fix some nits of logging code in nsTextStore 2014年02月06日
TSFモードのログ が一部、レベル指定を間違っていたり、引数の値をログに残していなかったため、1や2では有用なログにならないことがあったというバグです。 (続く……)
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 329127 Simplify nsDOMEvent::DuplicatePrivateData 2014年01月30日
nsDOMEvent::DuplicatePrivateData() は、DOMイベントがJSのハンドラ等に捕獲され、ディスパッチ終了後も情報を保持しないといけない場合に、ディスパッチ元が管理しているイベントの情報を、DOMイベント自身が管理するインスタンスを生成して、必要なものだけコピーする、というものです。このメソッドは、イベントの種類ごとにそれぞれ処理を書き、また、 widget/ 配下にイベントクラスを追加しても自動的に対応する訳でもないので、修正漏れの原因になっていました。このバグはそれを解決しようというものです。 (続く……)
Bug-org 962005 Make mozilla::TextComposition refcountable 2014年01月30日
mozilla::TextComposition クラスは、現在、インスタンスを予め確保済みのものを再利用し、フラグメント化を抑えているのですが、このままでは、同一の編集を意味するインスタンス間で情報の同期ができないため、参照カウンタによる管理のクラスに変更し、様々な場所から活用しよう、という修正です。
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 961703 [TSF] Avoid making TIP confused by odd behavior 2014年01月29日
弊社のm_katoの 検証 によると、TSFの仕様上は問題無いはずなんですが、未確定文字列がある時に、選択範囲やエディタのコンテンツの内容の変更をIMEに通知すると、MS-IME、Google日本語入力、ATOKで、それ以降、動作しなくなるということでした。 (続く……)
Bug-org 544779 [TSF] Remove WM_USER_TSF_TEXTCHANGE 2014年01月29日
初期設計のTSF対応では、 nsTextStateManager が、エディタ内のコンテンツの変更通知を受け取ると、そのまま、同期的に nsTextStore に、それを通知していました。しかし、変更通知が発行されている間に新たに未確定文字列の生成や、変更、確定を行うことができないため、 WM_USER_TSF_TEXTCHANGE というメッセージを定義し、これをキューにポストしておくことで、「安全」になってから nsTextStore が何でもできるようになっていました。 (続く……)
Bug-org 959999 [TSF] Clean up nsTextStore::Initialize() 2014年01月29日
プロセスが起動された初期段階で、 nsTextStore::Initialize() が呼び出され、TSFに必要なグローバルオブジェクトを取得、生成、初期化していくのですが、参照カウンタが絡んでいる関係で、途中でエラーが発生した場合のクリーンナップ処理等が非常に汚くなっていました。 (続く……)
Bug-org 835262 [TSF] Should keep composition when we are deactivated 2014年01月29日
TSFモードでも、未確定文字列が、Firefox自体がディアクティブになった際に、強制確定すべきではない、というバグです。 (続く……)
Bug-org 951966 [TSF] IMEs implemented with IMM don't work well in TSF mode 2014年01月29日
Bug-org 840409の修正 で、デスクトップ版のGeckoは、 IMEHandler クラスが、 nsIMM32Handler クラスと、 nsTextStore クラスのメソッドを、TSFモードかどうかを判定して、必要最小限のパスでTSFモードが動作するようにしましたが、この際に、IMM-IMEであっても、TSFモードでは、 nsIMM32Handler クラスを利用しないように修正してしまいました。 (続く……)
Bug-org 957019 Don't check cursor position in nsWindow::DealWithPopups() for non-mouse events 2014年01月29日
Bug-org 953146の修正 時に、ポップアップが開いている際のメッセージハンドラのコードをクリーンナップしたのですが、この際に、マウスのイベントでなくても、カーソル位置を調べて、ポップアップを閉じる、閉じないを変更している、変なバグを見つけました。例えば、 Alt + Space で、ウインドウのメニューが開くのですが、カーソルがドロップダウンの外にある場合は、ドロップダウンが閉じられるのですが、カーソルがドロップダウンの上にある場合には閉じない、という状況でした。 (続く……)
Bug-org 951023 Gonk widget should set modifier state at dispatching events derived from WidgetInputEvent 2014年01月29日
Firefox OSのGonkウイジットから、イベントが生成される際(例えば、Bluetooth接続等による、物理デバイスからの入力イベント)、モディファイアキーの状態が正しく初期化されていませんでした。 (続く……)
Bug-org 953146 Shouldn't allow other applications to set focus to popup window 2014年01月29日
一部のSynapticsや、Elantechのタッチパッドで、ドロップダウンの中身をスクロールしようとすると、そのドロップダウンが閉じてしまう、というバグです。 (続く……)
Bug-org 950564 Complex text input panel for plugin should be positioned at bottom-left of focused plugin 2013年12月23日
Macでは、Flash等のplugin上で日本語を入力する際に、必ずIMEの未確定文字列がフローティングウインドウに表示されますが、これの位置が固定なので、位置関係によっては見づらいので、プラグインの左下に表示しよう、というバグです。 (続く……)
Bug-org 947115 native key event handling tests should use synthesizeNativeKey of EventUtils 2013年12月19日
WindowsとMacでは、ネイティブキーイベントをエミュレートして、ネイティブキーイベントのハンドリング処理が行えますが、このAPIが非常に使いにくいため、 EventUtils.js に、 synthesizeNativeKey() ができたことを契機に、パラメータを読みやすいものにし、全てのテストでこのファンクションを使って、APIにアクセスするように修正しました。 (続く……)
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 950559 IME composition window should be positioned at bottom-left of windowless plugin rather than top-left of screen 2013年12月20日
WindowsでwindowlessなFlashにIMEで未確定文字列を入力すると、画面左上に未確定文字列が表示され、視点移動が大きく、非常に見づらい動作でした。これの代表例は、ustreamのチャットの入力欄です。 (続く……)
Bug-org 948839 Drag and Drop broken 2013年12月19日
ファイルやURLを <input> 要素等にドロップしても、タブがそれを読み込んでしまって、ドロップした要素固有の処理にならない、というバグです。 (続く……)
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 用の固有のキー名を削除しました。

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