Home | History | Annotate | Download | only in extensions
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_BROWSER_EXTENSIONS_ADMIN_POLICY_H_
      6 #define CHROME_BROWSER_EXTENSIONS_ADMIN_POLICY_H_
      7 
      8 #include "base/values.h"
      9 #include "chrome/common/extensions/extension.h"
     10 
     11 namespace extensions {
     12 class Extension;
     13 }
     14 
     15 // Functions for providing information about the extension whitelist,
     16 // blacklist, and forcelist imposed by admin policy.
     17 namespace extensions {
     18 namespace admin_policy {
     19 
     20 // Checks if extensions are blacklisted by default, by policy. When true, this
     21 // means that even extensions without an ID should be blacklisted (e.g.
     22 // from the command line, or when loaded as an unpacked extension).
     23 bool BlacklistedByDefault(const base::ListValue* blacklist);
     24 
     25 // Returns true if the extension is allowed by the admin policy.
     26 bool UserMayLoad(const base::ListValue* blacklist,
     27                  const base::ListValue* whitelist,
     28                  const base::DictionaryValue* forcelist,
     29                  const base::ListValue* allowed_types,
     30                  const Extension* extension,
     31                  string16* error);
     32 
     33 // Returns false if the extension is required to remain running. In practice
     34 // this enforces the admin policy forcelist.
     35 bool UserMayModifySettings(const Extension* extension, string16* error);
     36 
     37 // Returns false if the extension is required to remain running. In practice
     38 // this enforces the admin policy forcelist.
     39 bool MustRemainEnabled(const Extension* extension, string16* error);
     40 
     41 }  // namespace
     42 }  // namespace
     43 
     44 #endif  // CHROME_BROWSER_EXTENSIONS_ADMIN_POLICY_H_
     45