1 // Copyright 2014 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 EXTENSIONS_COMMON_MANIFEST_HANDLERS_NACL_MODULES_HANDLER_H_ 6 #define EXTENSIONS_COMMON_MANIFEST_HANDLERS_NACL_MODULES_HANDLER_H_ 7 8 #include <list> 9 #include <string> 10 11 #include "extensions/common/extension.h" 12 #include "extensions/common/manifest_handler.h" 13 14 namespace extensions { 15 16 // An NaCl module included in the extension. 17 struct NaClModuleInfo { 18 typedef std::list<NaClModuleInfo> List; 19 // Returns the NaCl modules for the extensions, or NULL if none exist. 20 static const NaClModuleInfo::List* GetNaClModules( 21 const Extension* extension); 22 23 GURL url; 24 std::string mime_type; 25 }; 26 27 // Parses the "nacl_modules" manifest key. 28 class NaClModulesHandler : public ManifestHandler { 29 public: 30 NaClModulesHandler(); 31 virtual ~NaClModulesHandler(); 32 33 virtual bool Parse(Extension* extension, base::string16* error) OVERRIDE; 34 35 private: 36 virtual const std::vector<std::string> Keys() const OVERRIDE; 37 }; 38 39 } // namespace extensions 40 41 #endif // EXTENSIONS_COMMON_MANIFEST_HANDLERS_NACL_MODULES_HANDLER_H_ 42