ユーザがアイドルかどうか
たまたまみつけた。
content/events/src/nsEventStateManager.cpp
// If aTimer is nsnull, this method always sends "user-interaction-inactive" // notification. NS_IMETHODIMP nsUITimerCallback::Notify(nsITimer* aTimer) { nsresult rv; nsCOMPtr<nsIObserverService> obs = do_GetService("@mozilla.org/observer-service;1", &rv); NS_ENSURE_SUCCESS(rv, rv); if ((gMouseOrKeyboardEventCounter == mPreviousCount) || !aTimer) { gMouseOrKeyboardEventCounter = 0; obs->NotifyObservers(nsnull, "user-interaction-inactive", nsnull); } else { obs->NotifyObservers(nsnull, "user-interaction-active", nsnull); } mPreviousCount = gMouseOrKeyboardEventCounter; return NS_OK; }
user-interaction-inactive/user-interaction-activeをobserveするとアイドル状態になると通知してもらえるっぽいです。動作確認はしてません。