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

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

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

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

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

タイトル 最終更新日
内容(最初の段落のみ)
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 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 981261 Rename nsEventListener* to mozilla::EventListener* 2014年03月20日
この修正により、各クラス名や型名が以下のように変更されました。 (続く……)
Bug-org 982602 Move nsAsyncDOMEvent into mozilla:: namespace and rename it 2014年03月20日
nsAsyncDOMEvent が、より、このクラスの動作を表した名前の mozilla::AsyncEventDispatcher に変更されました。これにより、ファイル名も AsyncEventDispatcher.(cpp|h) に変更されています。 (続く……)
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 981226 Rename nsContentEventHandler to mozilla::ContentEventHandler 2014年03月20日
サマリの通り、 nsContentEventHandler を、 mozilla::ContentEventHandler に改名し、ファイル名も、 ns を削除して、 ContentEventHandler.(cpp|h) に変更しています。 (続く……)
Bug-org 977959 Redesign native key bindings handling 2014年03月20日
Mac版と、Linux (GTK)版では、OSのネイティブウイジットのショートカットキーを可能な限りエミュレートするために、エディタがキーイベントを処理しなかった場合に、 nsINativeKeyBindings のサービスを利用しています。 (続く……)
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 978023 Rename nsIMEStateManager and nsTextStateManager and move into mozilla:: 2014年03月10日
dom/events 配下のクラスのリネームバグです。このバグでは、 nsIMEStateManager を mozilla::IMEStateManager に、 nsTextStateManager を IMEContentObserver に名前を変更し、後者は、 nsIMEStateManager.cpp から、独立した IMEContentObserver.cpp と、 IMEContentObserver.h に分離しています。 (続く……)
Bug-org 974318 WidgetTextEvent should store text ranges with a class inherited from nsTArray 2014年03月08日
GeckoのIMEまわりのコードを見たことある人は分かると思いますが、現在のGeckoでは、 widget 側で様々なルールに則ってイベントを発行しなければエディタが正確にハンドリングできない上、DOMイベントの発生順序等にもプラットフォーム毎にバグが混入する可能性があります。そこで、これを簡素化し、プラットフォーム間の違いが発生しにくいように再設計することにしました。 (続く……)
Bug-org 975688 nsDOM*Event classes into mozilla::dom namespace and rename them to same as standard spec's name (i.e., nsDOM*Event -> mozilla::dom::*Event) 2014年03月08日
content/events 配下のファイルは全て、 dom/events に移動されましたが、ファイルの内容はそのままの移動でした。このフォルダ配下のファイルはほとんどが古くから存在しているものなので、 ns プレフィックス付きのクラス・ファイル名を利用しているため、ヘッダファイル内では、引数の型の定義が名前空間の付与で長くなりがちで、ソースコードの80桁制限のため、読みづらいところが多いのが問題になっていました。そこで、これらのファイル内のクラスを全て、 mozilla::dom か、 mozilla 名前空間に移動させ、モダンなクラス名に変更することにしました。 (続く……)
Bug-org 961704 [TSF] Add an option for nsTextStateManager can ignore text change and selection change which are caused by composition 2014年03月08日
TSFは、IMEによるコンテンツの変更をTSFに通知してはいけないという仕様になっているのを、 nsTextStore 内でフラグを用いて管理していましたが、未確定文字列の変更等によって発生するDOMイベントからエディタのコンテンツが変更されたことか、IMEの操作による変更なのかの見分けがつかないという問題がありました。 (続く……)
Bug-org 965685 Merge nsIWidget::NotifyIMEOfTextChange() and nsIWidget::NotifyIME() 2014年02月22日
nsIWidget::NotifyIME() は、通知内容を数字ひとつ渡しているだけだったので、 nsIWidget::NotifyIMEOfTextChange() だけが特別扱いになっているのが以前から気になっていました。 (続く……)
Bug-org 971489 Simplify constructor of WidgetSimpleGestureEvent 2014年02月22日
全イベントのコンストラクタをできるだけ同じ形にして、各メンバは明示的に初期化するようにしよう、というバグの、 WidgetSimpleGestureEvent 版です。 (続く……)
Bug-org 970248 Simplify constructor of InternalUIEvent 2014年02月22日
全イベントのコンストラクタをできるだけ同じ形にして、各メンバは明示的に初期化するようにしよう、というバグの、 InternalUIEvent 版です。 (続く……)
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 960866 Make nsEditor store composition with TextComposition 2014年02月26日
今まではIME関係のイベントの配信状態を管理しているだけだった mozilla::TextComposition クラスを nsEditor で利用して、より、シンプルな設計にしようというバグです。 (続く……)
Bug-org 968721 Simplify constructor of WidgetPointerEvent 2014年02月22日
全イベントのコンストラクタをできるだけ同じ形にして、各メンバは明示的に初期化するようにしよう、というバグの、 WidgetPointerEvent 版です。が、複雑なメンバ初期化を行うコンストラクタを利用してるコードが既にどこにもなかったので、複雑なものを削除しただけです。
Bug-org 968725 Simplify constructor of InternalAnimationEvent 2014年02月22日
全イベントのコンストラクタをできるだけ同じ形にして、各メンバは明示的に初期化するようにしよう、というバグの、 InternalAnimationEvent 版です。 (続く……)
Bug-org 969219 Simplify constructor of InternalTransitionEvent 2014年02月22日
全イベントのコンストラクタをできるだけ同じ形にして、各メンバは明示的に初期化するようにしよう、というバグの、 InternalTransitionEvent 版です。 (続く……)
Bug-org 964153 Only WidgetTouchEvent copies the strong reference to widget at duplicating private event data 2014年02月22日
WidgetTouchEvent だけ、プライベートデータをコピーする際に、なぜか nsIWidget への参照もコピーしていたというバグです。 (続く……)
Bug-org 950373 Up and Down Keyboard Arrows no longer work in the Restore Session frame / box 2014年02月22日
Bug-org 501496の修正 によるregressionです。クラッシュ後に表示される、タブやウインドウの復元画面でキーボードで、ツリー(リストっぽく見えますが)を操作できないというバグです。 (続く……)
Bug-org 966612 Escape key should exit Print Preview 2014年02月22日
Bug-org 501496の修正 によるregressionです。印刷プレビューの画面で Esc キーを押しても終了しなくなっていました。 (続く……)
Bug-org 964623 [TSF] nsTextStore::FlushPendingActions() shouldn't call OnLayouChange() and OnSelectionChange() 2014年02月06日
Bug-org 790516の修正 時に、ドキュメントロック中に ITextStoreACPSink::OnLayoutChange() 、 ITextStoreACPSink::OnSelectionChange() 等の呼び出しが必要になった場合、ドキュメントの更新が完了してから呼び出しを行うようにしていましたが、この時に、 nsTextStore 自体はロック状態のまま、これらを呼び出していたため、TIPが ITextStoreACP::RequestLock() を呼び出しても、 nsTextStore はロック済みであると返していたため、実質、TIPは何もできなくなっている、というバグです。 (続く……)

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