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 14namespace extensions { 15 16// An NaCl module included in the extension. 17struct 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. 28class 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