Bug-org 1224454 [e10s][IMM][TSF] IMMHandler and TSFTextStore should clean up itself when focused widget being destroyed before NOTIFY_IME_OF_BLUR
 初回投稿日時: 2015-11-21 18:37:59
カテゴリ: e10s IME Mozilla Core Mozilla45 TSF Windows バグ修正 
SNS: 
	Tweet (list)
	
e10sモードで、Webコンテンツのエディタがフォーカスを持っている時にウインドウの×ボタンでウインドウを閉じてFirefoxを終了させると、NOTIFY_IME_OF_BLURが子プロセスのIMEContentObserverから送信されても、親プロセスのTabParent::GetWidget()が既にnullptrを返してしまうため、適切なnsWindowに通知することができないことが発覚しました。このため、IMEのイベントハンドラであるTSFTextStoreやIMMHandler自身のインスタンスやそれが掴んでいる様々なオブジェクトが未解放のままプロセスが終了してしまい、メモリリークを起こしていたというバグです。
他のプラットフォームではIMEのイベントハンドラが関連するnsWindowのDestroy()の呼び出し時にきちんと解放していたのですが、Windowsだけはこれを行っていませんでした。