Index: chrome/renderer/extensions/chrome_v8_extension.cc |
diff --git a/chrome/renderer/extensions/chrome_v8_extension.cc b/chrome/renderer/extensions/chrome_v8_extension.cc |
index 274ccac46f98a63b074d3c2a96c4906784e250b8..9cc8d702f3b7109fb86484d62e3fe4b615b734e2 100644 |
--- a/chrome/renderer/extensions/chrome_v8_extension.cc |
+++ b/chrome/renderer/extensions/chrome_v8_extension.cc |
@@ -39,16 +39,13 @@ static base::LazyInstance<ChromeV8Extension::InstanceSet> g_instances( |
// static |
-const char* ChromeV8Extension::GetStringResource(int resource_id) { |
- StringMap* strings = g_string_map.Pointer(); |
- StringMap::iterator it = strings->find(resource_id); |
- if (it == strings->end()) { |
- it = strings->insert(std::make_pair( |
- resource_id, |
- ResourceBundle::GetSharedInstance().GetRawDataResource( |
- resource_id).as_string())).first; |
- } |
- return it->second.c_str(); |
+base::StringPiece |
+ChromeV8Extension::GetStringResourceAsStringPiece(int resource_id) { |
+ return ResourceBundle::GetSharedInstance().GetRawDataResource(resource_id); |
+} |
+ |
+int ChromeV8Extension::GetStringResourceLength(int resource_id) { |
+ return ChromeV8Extension::GetStringResourceAsStringPiece(resource_id).size(); |
} |
// static |
@@ -70,9 +67,10 @@ content::RenderView* ChromeV8Extension::GetCurrentRenderView() { |
ChromeV8Extension::ChromeV8Extension(const char* name, int resource_id, |
ExtensionDispatcher* extension_dispatcher) |
: v8::Extension(name, |
- GetStringResource(resource_id), |
- 0, // num dependencies |
- NULL), // dependencies array |
+ GetStringResourceAsStringPiece(resource_id).data(), |
+ 0, // num dependencies |
+ NULL, // dependencies array |
+ GetStringResourceLength(resource_id)), // source length |
extension_dispatcher_(extension_dispatcher) { |
g_instances.Get().insert(this); |
} |
@@ -82,9 +80,10 @@ ChromeV8Extension::ChromeV8Extension(const char* name, int resource_id, |
const char** dependencies, |
ExtensionDispatcher* extension_dispatcher) |
: v8::Extension(name, |
- GetStringResource(resource_id), |
+ GetStringResourceAsStringPiece(resource_id).data(), |
dependency_count, |
- dependencies), |
+ dependencies, |
+ GetStringResourceLength(resource_id)), |
extension_dispatcher_(extension_dispatcher) { |
g_instances.Get().insert(this); |
} |