From 84e94643dd7e1e8ae9c41da2b028cd18a17b51e5 Mon Sep 17 00:00:00 2001 From: "danm%netscape.com" Date: Sat, 28 Sep 2002 16:00:13 +0000 Subject: [PATCH] include URI in notification of permission change. bug 166442 r=brendan,jag git-svn-id: svn://10.0.0.236/trunk@130668 18797224-902f-48f8-a5cc-f745e15eee43 --- .../cookie/nsPopupWindowManager.cpp | 25 +++++++++++-------- .../extensions/cookie/nsPopupWindowManager.h | 4 ++- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/mozilla/extensions/cookie/nsPopupWindowManager.cpp b/mozilla/extensions/cookie/nsPopupWindowManager.cpp index 237e3651747..69791dff21d 100644 --- a/mozilla/extensions/cookie/nsPopupWindowManager.cpp +++ b/mozilla/extensions/cookie/nsPopupWindowManager.cpp @@ -56,12 +56,12 @@ #define POLICYSTRING "policy" #define CUSTOMSTRING "usecustom" -static const char *sPopupPrefRoot = "privacy.popups."; -static const char *sPopupPrefPolicyLeaf = POLICYSTRING; -static const char *sPopupPrefCustomLeaf = CUSTOMSTRING; -static const char *sPermissionChangeNotification = PPM_CHANGE_NOTIFICATION; -static const char *sXPCOMShutdownTopic = NS_XPCOM_SHUTDOWN_OBSERVER_ID; -static const char *sPrefChangedTopic = NS_PREFBRANCH_PREFCHANGE_TOPIC_ID; +static const char sPopupPrefRoot[] = "privacy.popups."; +static const char sPopupPrefPolicyLeaf[] = POLICYSTRING; +static const char sPopupPrefCustomLeaf[] = CUSTOMSTRING; +static const char sPermissionChangeNotification[] = PPM_CHANGE_NOTIFICATION; +static const char sXPCOMShutdownTopic[] = NS_XPCOM_SHUTDOWN_OBSERVER_ID; +static const char sPrefChangedTopic[] = NS_PREFBRANCH_PREFCHANGE_TOPIC_ID; //***************************************************************************** //*** nsPopupWindowManager object management and nsISupports @@ -133,7 +133,7 @@ nsPopupWindowManager::Add(nsIURI *aURI, PRBool aPermit) nsCAutoString uri; aURI->GetPrePath(uri); if (NS_SUCCEEDED(mPermManager->Add(uri, aPermit, WINDOWPERMISSION))) - return NotifyObservers(); + return NotifyObservers(aURI); return NS_ERROR_FAILURE; } @@ -147,7 +147,7 @@ nsPopupWindowManager::Remove(nsIURI *aURI) nsCAutoString uri; aURI->GetPrePath(uri); if (NS_SUCCEEDED(mPermManager->Add(uri, PR_TRUE, WINDOWPERMISSION))) - return NotifyObservers(); + return NotifyObservers(aURI); return NS_ERROR_FAILURE; } @@ -296,11 +296,14 @@ nsPopupWindowManager::StopObservingThings() // broadcast a notification that a popup pref has changed nsresult -nsPopupWindowManager::NotifyObservers() +nsPopupWindowManager::NotifyObservers(nsIURI *aURI) { - if (mOS) + if (mOS) { + nsCAutoString uri; + aURI->GetSpec(uri); return mOS->NotifyObservers(NS_STATIC_CAST(nsIPopupWindowManager *, this), - sPermissionChangeNotification, 0); + sPermissionChangeNotification, NS_ConvertUTF8toUCS2(uri).get()); + } return NS_ERROR_FAILURE; } diff --git a/mozilla/extensions/cookie/nsPopupWindowManager.h b/mozilla/extensions/cookie/nsPopupWindowManager.h index 442634f5ea6..6cfbe45ba4f 100644 --- a/mozilla/extensions/cookie/nsPopupWindowManager.h +++ b/mozilla/extensions/cookie/nsPopupWindowManager.h @@ -46,6 +46,8 @@ #include "nsIPopupWindowManager.h" #include "nsIPrefBranch.h" +class nsIURI; + class nsPopupWindowManager : public nsIPopupWindowManager, public nsIObserver { @@ -61,7 +63,7 @@ public: private: nsresult ObserveThings(); nsresult StopObservingThings(); - nsresult NotifyObservers(); + nsresult NotifyObservers(nsIURI *aURI); void DeInitialize(); PRUint32 mPolicy;