Chromium Code Reviews| Index: chrome/browser/extensions/extension_settings_backend.cc |
| diff --git a/chrome/browser/extensions/extension_settings_backend.cc b/chrome/browser/extensions/extension_settings_backend.cc |
| index 15963677ff57d13f078996f4be4c54c3e08ad999..9dde123ab75394776363f3c7d10b2d6e561b10aa 100644 |
| --- a/chrome/browser/extensions/extension_settings_backend.cc |
| +++ b/chrome/browser/extensions/extension_settings_backend.cc |
| @@ -36,8 +36,12 @@ const size_t kMaxSettingKeys = 512; |
| } // namespace |
| -ExtensionSettingsBackend::ExtensionSettingsBackend(const FilePath& base_path) |
| +ExtensionSettingsBackend::ExtensionSettingsBackend( |
| + const FilePath& base_path, |
| + const scoped_refptr<ObserverListThreadSafe<ExtensionSettingsObserver> >& |
| + observers) |
| : base_path_(base_path), |
| + observers_(observers), |
| sync_processor_(NULL) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
| } |
| @@ -83,7 +87,10 @@ ExtensionSettingsBackend::GetOrCreateStorageWithSyncData( |
| syncable_storage = |
| linked_ptr<SyncableExtensionSettingsStorage>( |
| - new SyncableExtensionSettingsStorage(extension_id, storage)); |
| + new SyncableExtensionSettingsStorage( |
| + observers_.get(), |
|
akalin
2011/10/12 22:26:30
just observers_
not at google - send to devlin
2011/10/13 06:40:43
Done.
|
| + extension_id, |
| + storage)); |
| if (sync_processor_) { |
| // TODO(kalman): do something if StartSyncing fails. |
| ignore_result(syncable_storage->StartSyncing(sync_data, sync_processor_)); |
| @@ -93,6 +100,17 @@ ExtensionSettingsBackend::GetOrCreateStorageWithSyncData( |
| return syncable_storage.get(); |
| } |
| +void ExtensionSettingsBackend::TriggerOnSettingsChanged( |
| + Profile* profile, |
| + const std::string& extension_id, |
| + const std::string& event_json) { |
| + observers_->Notify( |
| + &ExtensionSettingsObserver::OnSettingsChanged, |
| + profile, |
| + extension_id, |
| + event_json); |
| +} |
| + |
| std::set<std::string> ExtensionSettingsBackend::GetKnownExtensionIDs() const { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
| std::set<std::string> result; |