1e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 2e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch// found in the LICENSE file. 4e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch 5e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch#ifndef EXTENSIONS_BROWSER_EXTENSION_PREFS_OBSERVER_H_ 6e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch#define EXTENSIONS_BROWSER_EXTENSION_PREFS_OBSERVER_H_ 7e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch 8e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch#include <string> 9e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch 10e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch#include "base/time/time.h" 11e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch 12e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdochnamespace extensions { 13e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch 14e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdochclass ExtensionPrefs; 15e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch 16e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdochclass ExtensionPrefsObserver { 17e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch public: 18e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch // Called when the reasons for an extension being disabled have changed. 19e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch virtual void OnExtensionDisableReasonsChanged(const std::string& extension_id, 20e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch int disabled_reasons) {} 21e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch 22e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch // Called when an extension is registered with ExtensionPrefs. 23e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch virtual void OnExtensionRegistered(const std::string& extension_id, 24e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch const base::Time& install_time, 25e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch bool is_enabled) {} 26e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch 27e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch // Called when an extension's prefs have been loaded. 28e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch virtual void OnExtensionPrefsLoaded(const std::string& extension_id, 29e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch const ExtensionPrefs* prefs) {} 30e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch 31e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch // Called when an extension's prefs are deleted. 32e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch virtual void OnExtensionPrefsDeleted(const std::string& extension_id) {} 33e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch 34e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch // Called when an extension's enabled state pref is changed. 35e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch virtual void OnExtensionStateChanged(const std::string& extension_id, 36e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch bool state) {} 37e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch}; 38e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch 39e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch} // namespace extensions 40e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch 41e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch#endif // EXTENSIONS_BROWSER_EXTENSION_PREFS_OBSERVER_H_ 42