Closed Bug 113635 Opened 23 years ago Closed 11 years ago

Preferences service should cache non-root level branch objects

Categories

(Core :: Preferences: Backend, defect)

defect
Not set
normal

Tracking

()

RESOLVED WONTFIX
Future

People

(Reporter: bnesse, Unassigned)

Details

The nsPrefService currently caches a copy of the root nsPrefBranch (i.e. the one
that accesses all preferences.) If a consumer requests a non-top level branch
from the nsPrefService (say "browser.") this object is not cached. This causes
the root branch to be different from a non-root branch in that the object
persistence is different. See Bug 107617 for a more detailed analysis.

The preference service should retain a cached copy of all branches requested
from it so that all nsPrefBranch objects may be used equally. This will allow
root and non-root branches to be used interchangeably in any code.

One issue with implementing this is that there is no "ReleaseBranch"
functionality in the preference service so there is no way for the service to
easily track when a consumer is done with the branch object.
Target Milestone: --- → mozilla1.1
retargeting
Target Milestone: mozilla1.1alpha → Future
Assignee: bnesse → nobody
QA Contact: bugzilla → preferences-backend
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.