Bug 1347815 - part3: label RuleProcessorCache::mExpirationTracker.
RuleProcessorCache::mExpirationTracker.NotifyExpired() will be invoked by
nsExpirationTracker::TimerCallback() from an unlabeled runnable.
Since RuleProcessorCache is a browser-wide cache, we provide a SystemGroup
EventTarget for the invocation of this callback.
MozReview-Commit-ID: KQATsLu6bdc
--- a/layout/style/RuleProcessorCache.h
+++ b/layout/style/RuleProcessorCache.h
@@ -67,17 +67,18 @@ public:
size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf);
private:
class ExpirationTracker : public nsExpirationTracker<nsCSSRuleProcessor,3>
{
public:
explicit ExpirationTracker(RuleProcessorCache* aCache)
: nsExpirationTracker<nsCSSRuleProcessor,3>(
- 10000, "RuleProcessorCache::ExpirationTracker")
+ 10000, "RuleProcessorCache::ExpirationTracker",
+ SystemGroup::EventTargetFor(TaskCategory::Other))
, mCache(aCache) {}
void RemoveObjectIfTracked(nsCSSRuleProcessor* aRuleProcessor);
virtual void NotifyExpired(nsCSSRuleProcessor* aRuleProcessor) override {
mCache->RemoveRuleProcessor(aRuleProcessor);
}