ShowAsModalの実装

一昨日のものはこんな問題がありました。

  • about:configの数字などを変更するダイアログが効かない
  • BASIC認証などではダイアログが山のように出て死ぬ

原因は、nsIWebBrowserChrome::ShowAsModalの実装を忘れたからです。
よく考えたらあたりまえだべ。
なんで今まで気が付かなかったんだろうと思ったら、
Gecko EmbeddingではそもそもXULダイアログは使わなかったんだった。


ということで、モダリティを実装するわけなのですが、

  • WinEmbed:AppCallBacks::RunEventLoop
  • wxEmbed:実装してない?
  • TestGtkEmbed:gtk_grab_addとgtk_grab_remove

とまぁ、やっぱりWin32の壁にぶち当たることに。
gtkなら関数ひとつで済む作業なのに…

ちなみに、参考:"Modal alerts and multiple browser windows"