Radha Kulkarni wrote:
> Here's my first shot at nsIHistoryObserver. I'm not sure where the
> AddObserver() RemoveObserver() interfaces should be added. Those could
> either go to nsISHistory, making these interfaces specific to Session
> History observation or they can go to the general Browser object which
> will encapsulate SHistory and the other 2 types of History Global and
> Urlbar. I thing it can begin to live in nsISHistory for now.
My general reaction to nsI*Observer interfaces is that they should be balled
into nsIObserver using observer topics. In this world, the methods you've hung
off of nsIHistoryObserver would each become topics. If we want to encapsulate
the history specific "actions" in a specific interface (nice and neat) maybe we
should call them "notifications" (nsIHistoryNotification?).? Or
nsIHistoryListener, yea, maybe "listener."
If we hang the Add|Listener|Observer|Notification|Whatever off of nsISHistory,
we'll need to make nsISHistory public which we previously concluded not to do
(see notes in
http://www.mozilla.org/projects/embedding/apiReviewNotes.html#nsIWebNavigation).
Jud