nsTypeAheadFind::~nsTypeAheadFind() { nsCOMPtr<nsIPrefBranch> prefInternal(do_GetService(NS_PREFSERVICE_CONTRACTID)); if (prefInternal) { prefInternal->RemoveObserver("accessibility.typeaheadfind", this); prefInternal->RemoveObserver("accessibility.browsewithcaret", this); } }
nsresult nsIDNService::Init() { nsCOMPtr<nsIPrefBranch2> prefInternal(do_GetService(NS_PREFSERVICE_CONTRACTID)); if (prefInternal) { prefInternal->AddObserver(NS_NET_PREF_IDNTESTBED, this, PR_TRUE); prefInternal->AddObserver(NS_NET_PREF_IDNPREFIX, this, PR_TRUE); prefInternal->AddObserver(NS_NET_PREF_IDNBLACKLIST, this, PR_TRUE); prefsChanged(prefInternal, nsnull); } return NS_OK; }
nsresult nsIDNService::Init() { nsCOMPtr<nsIPrefService> prefs(do_GetService(NS_PREFSERVICE_CONTRACTID)); if (prefs) prefs->GetBranch(NS_NET_PREF_IDNWHITELIST, getter_AddRefs(mIDNWhitelistPrefBranch)); nsCOMPtr<nsIPrefBranch2> prefInternal(do_QueryInterface(prefs)); if (prefInternal) { prefInternal->AddObserver(NS_NET_PREF_IDNTESTBED, this, PR_TRUE); prefInternal->AddObserver(NS_NET_PREF_IDNPREFIX, this, PR_TRUE); prefInternal->AddObserver(NS_NET_PREF_IDNBLACKLIST, this, PR_TRUE); prefInternal->AddObserver(NS_NET_PREF_SHOWPUNYCODE, this, PR_TRUE); prefsChanged(prefInternal, nsnull); } return NS_OK; }
nsresult nsTypeAheadFind::Init(nsIDocShell* aDocShell) { nsCOMPtr<nsIPrefBranch> prefInternal(do_GetService(NS_PREFSERVICE_CONTRACTID)); mSearchRange = new nsRange(); mStartPointRange = new nsRange(); mEndPointRange = new nsRange(); if (!prefInternal || !EnsureFind()) return NS_ERROR_FAILURE; SetDocShell(aDocShell); // ----------- Listen to prefs ------------------ nsresult rv = prefInternal->AddObserver("accessibility.browsewithcaret", this, true); NS_ENSURE_SUCCESS(rv, rv); // ----------- Get initial preferences ---------- PrefsReset(); return rv; }