Bug 1460768 - Part 1 - Have StorageActivityService emit an observer notification when storage is modified.
MozReview-Commit-ID: KO1Y75AfgVc
--- a/dom/storage/StorageActivityService.cpp
+++ b/dom/storage/StorageActivityService.cpp
@@ -145,22 +145,30 @@ StorageActivityService::SendActivityInte
if (NS_WARN_IF(NS_FAILED(rv))) {
return;
}
SendActivityInternal(origin);
}
void
-StorageActivityService::SendActivityInternal(const nsACString& aOrigin)
+StorageActivityService::SendActivityInternal(const nsCString& aOrigin)
{
MOZ_ASSERT(XRE_IsParentProcess());
mActivities.Put(aOrigin, PR_Now());
MaybeStartTimer();
+
+ nsCOMPtr<nsIObserverService> obs = mozilla::services::GetObserverService();
+ if (NS_WARN_IF(!obs)) {
+ return;
+ }
+
+ obs->NotifyObservers(nullptr, "storage-activity",
+ NS_ConvertUTF8toUTF16(aOrigin).get());
}
void
StorageActivityService::SendActivityToParent(nsIPrincipal* aPrincipal)
{
MOZ_ASSERT(NS_IsMainThread());
MOZ_ASSERT(!XRE_IsParentProcess());
--- a/dom/storage/StorageActivityService.h
+++ b/dom/storage/StorageActivityService.h
@@ -50,17 +50,17 @@ public:
private:
StorageActivityService();
~StorageActivityService();
void
SendActivityInternal(nsIPrincipal* aPrincipal);
void
- SendActivityInternal(const nsACString& aOrigin);
+ SendActivityInternal(const nsCString& aOrigin);
void
SendActivityToParent(nsIPrincipal* aPrincipal);
void
MaybeStartTimer();
void