Bug-org 1046101 Redesign nsEventStructType
初回投稿日時: 2014年08月12日00時47分54秒
最終更新日時: 2014年08月12日00時48分54秒
カテゴリ: Events Mozilla Core Mozilla34 バグ修正
SNS:
Tweet (list)
nsEventStructType
のリネーム等々を行って整理しようというバグです。
DOMイベントの実装クラスのメンバに、WidgetEvent
や、その派生クラスをイベントの種類ごとに固有のものを持っていますが、この内部処理用のクラスは、基底クラスのポインタから、インスタンスのクラスを特定するために、eventStructType
メンバを持っており、これは、イベントのクラスごとにひとつ、nsEventStructType
で列挙されている固有の値が、インスタンス生成時に設定されています。
今回の再デザインの主目的は、この、nsEventStructType
を、EventClassNameList.h
をインクルードして、自動的に生成することを可能にする、というものでした。そのため、NS_FOO_EVENT
という名前だった各値を、eFooEventClass
という名前に変更しています。
また、C言語ではstruct
というと、構造体をイメージしてしまうので、nsEventStructType
は、mozilla::EventClassID
に改名し、WidgetEvent::eventStructType
は、WidgetEvent::mClass
に改名しています。
これらの修正により、
if (aEvent->eventStructType == NS_MOUSE_EVENT) {
というコードが、
if (aEvent->mClass == eMouseEventClass) {
という感じになりました。