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 CHROME_BROWSER_EXTENSIONS_CHROME_COMPONENT_EXTENSION_RESOURCE_MANAGER_H_ 6 #define CHROME_BROWSER_EXTENSIONS_CHROME_COMPONENT_EXTENSION_RESOURCE_MANAGER_H_ 7 8 #include <map> 9 10 #include "base/basictypes.h" 11 #include "base/files/file_path.h" 12 #include "extensions/browser/component_extension_resource_manager.h" 13 14 struct GritResourceMap; 15 16 namespace extensions { 17 18 class ChromeComponentExtensionResourceManager 19 : public ComponentExtensionResourceManager { 20 public: 21 ChromeComponentExtensionResourceManager(); 22 virtual ~ChromeComponentExtensionResourceManager(); 23 24 // Overridden from ComponentExtensionResourceManager: 25 virtual bool IsComponentExtensionResource( 26 const base::FilePath& extension_path, 27 const base::FilePath& resource_path, 28 int* resource_id) OVERRIDE; 29 30 private: 31 void AddComponentResourceEntries(const GritResourceMap* entries, size_t size); 32 33 // A map from a resource path to the resource ID. Used by 34 // IsComponentExtensionResource. 35 std::map<base::FilePath, int> path_to_resource_id_; 36 37 DISALLOW_COPY_AND_ASSIGN(ChromeComponentExtensionResourceManager); 38 }; 39 40 } // namespace extensions 41 42 #endif // CHROME_BROWSER_EXTENSIONS_CHROME_COMPONENT_EXTENSION_RESOURCE_MANAGER_H_ 43