| 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);
|
| }
|
|
|