| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Remove ProfileKeyedBaseFactory::ForceRegisterPrefsForTest()
Review URL: https://chromiumcodereview.appspot.com/10908088
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155073 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
For context see this thread:
https://groups.google.com/a/chromium.org/forum/?fromgroups#!topic/chromium-dev/RMcVNGjB4II
TBR=thakis,pkasting,jam
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146163 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previous attempts to share code between ProfileKeyedServiceFactory and RefcountedProfileKeyedServiceFactory were ill advised. The core logic code must maintain refcounted data in a scoped_refptr<> for the entire lifecycle, across interface and implementation, preventing any real abstraction here.
This removes the common ProfileKeyedBase and splits the two worlds entirely in two. This has quite a bit of exact code with different types now.
Fallout from this is far reaching:
- Since there isn't one common heiarchy, now the testing methods either return ProfileKeyedServices or scoped_refptr<RefcountedProfileKeyedService>s. This is a lot of change.
- Many consumers handled the refcounted ptrs as raw pointers, which probably isn't a good idea.
- There is now a bunch of code duplication.
BUG=118196,77155
R=mirandac,tim
TBR=jhawkins,sky,scottbyer
Review URL: http://codereview.chromium.org/9703038
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127104 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
into ThemeServiceFactory and SpeechInputExtensionManager::Factory where they belong.
BUG=77155
Review URL: http://codereview.chromium.org/8247002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125246 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=77155
TEST=compiles
Review URL: http://codereview.chromium.org/9363040
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122081 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
part that deals with memory storage.
This patch rips apart the dependency tracking parts of ProfileKeyedServiceFactory into a base class. Derived classes from ProfileKeyedBaseFactory now exist to deal with memory management and lifecycle events. ProfileKeyedBase is the most generic thing that can be tracked (it is simply a virtual destructor).
For example, I've created RefcountedKeyedServiceFactory, which derives from ProfileKeyedBaseFactory. Everything tracked via that Factory must be a RefcountedProfileKeyedService. The storage layer uses scoped_refptr<>s in a map instead of normal pointers. This patch converts CookieSettings over (I'm ignoring the rest that could be ported due to how large the patch would be).
Other than some minor changes to the testing interface, this doesn't change ProfileKeyedServiceFactory usage.
BUG=77155
R=mirandac, jochen, sky, jhawkins
TBR=tim
Review URL: http://codereview.chromium.org/9360008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121727 0039d316-1c4b-4281-b951-d872f2087c98
|
|
prefernces.
To allow us to compile individual features in/out of a chrome build, we need to
attack browser_prefs.cc, which is a giant static registration. This used to be
done through another big code path starting in ProfileImpl which call
browser::RegisterUserPrefs() which linked to other static methods. Now this is
done through overridding ProfileKeyedServiceFactory::RegisterUserPrefs(), and
there are no additional dependencies.
BUG=none
TEST=none
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=104412
Review URL: http://codereview.chromium.org/7901027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104806 0039d316-1c4b-4281-b951-d872f2087c98
|