summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/browser_main.cc6
-rw-r--r--net/base/net_module.cc4
-rw-r--r--net/base/net_module.h5
-rw-r--r--net/base/net_util.cc5
-rw-r--r--net/base/registry_controlled_domain.cc2
-rw-r--r--net/url_request/url_request_unittest.cc3
-rw-r--r--webkit/tools/test_shell/test_shell_main.cc9
7 files changed, 19 insertions, 15 deletions
diff --git a/chrome/browser/browser_main.cc b/chrome/browser/browser_main.cc
index 91973ba..5bc0e9b 100644
--- a/chrome/browser/browser_main.cc
+++ b/chrome/browser/browser_main.cc
@@ -117,11 +117,11 @@ base::LazyInstance<LazyDirectoryListerCacher> lazy_dir_lister(
base::LINKER_INITIALIZED);
// This is called indirectly by the network layer to access resources.
-std::string NetResourceProvider(int key) {
+StringPiece NetResourceProvider(int key) {
if (IDR_DIR_HEADER_HTML == key)
- return lazy_dir_lister.Pointer()->html_data;
+ return StringPiece(lazy_dir_lister.Pointer()->html_data);
- return ResourceBundle::GetSharedInstance().GetDataResource(key);
+ return ResourceBundle::GetSharedInstance().GetRawDataResource(key);
}
// Displays a warning message if the user is running chrome on windows 2000.
diff --git a/net/base/net_module.cc b/net/base/net_module.cc
index d54a0a4..7c3f9c1 100644
--- a/net/base/net_module.cc
+++ b/net/base/net_module.cc
@@ -14,10 +14,10 @@ void NetModule::SetResourceProvider(ResourceProvider func) {
}
// static
-std::string NetModule::GetResource(int key) {
+StringPiece NetModule::GetResource(int key) {
// avoid thread safety issues by copying provider address to a local var
ResourceProvider func = resource_provider;
- return func ? func(key) : std::string();
+ return func ? func(key) : StringPiece();
}
} // namespace net
diff --git a/net/base/net_module.h b/net/base/net_module.h
index ef309ff..e527b9f 100644
--- a/net/base/net_module.h
+++ b/net/base/net_module.h
@@ -8,6 +8,7 @@
#include <string>
#include "base/basictypes.h"
+#include "base/string_piece.h"
namespace net {
@@ -20,7 +21,7 @@ namespace net {
//
class NetModule {
public:
- typedef std::string (*ResourceProvider)(int key);
+ typedef StringPiece (*ResourceProvider)(int key);
// Set the function to call when the net module needs resources
static void SetResourceProvider(ResourceProvider func);
@@ -28,7 +29,7 @@ class NetModule {
// Call the resource provider (if one exists) to get the specified resource.
// Returns an empty string if the resource does not exist or if there is no
// resource provider.
- static std::string GetResource(int key);
+ static StringPiece GetResource(int key);
private:
DISALLOW_IMPLICIT_CONSTRUCTORS(NetModule);
diff --git a/net/base/net_util.cc b/net/base/net_util.cc
index 05419fb..1617d85 100644
--- a/net/base/net_util.cc
+++ b/net/base/net_util.cc
@@ -800,11 +800,12 @@ std::string CanonicalizeHost(const std::wstring& host, bool* is_ip_address) {
#ifdef OS_WIN
std::string GetDirectoryListingHeader(const std::string& title) {
- std::string result = NetModule::GetResource(IDR_DIR_HEADER_HTML);
- if (result.empty()) {
+ static const StringPiece header(NetModule::GetResource(IDR_DIR_HEADER_HTML));
+ if (header.empty()) {
NOTREACHED() << "expected resource not found";
}
+ std::string result(header.data(), header.size());
result.append("<script>start(");
string_escape::JavascriptDoubleQuote(title, true, &result);
result.append(");</script>\n");
diff --git a/net/base/registry_controlled_domain.cc b/net/base/registry_controlled_domain.cc
index 3f4f024..f98a3f3 100644
--- a/net/base/registry_controlled_domain.cc
+++ b/net/base/registry_controlled_domain.cc
@@ -296,7 +296,7 @@ void RegistryControlledDomainService::UseDomainData(const std::string& data) {
}
void RegistryControlledDomainService::Init() {
- domain_data_ = NetModule::GetResource(IDR_EFFECTIVE_TLD_NAMES);
+ domain_data_ = NetModule::GetResource(IDR_EFFECTIVE_TLD_NAMES).as_string();
if (domain_data_.empty()) {
// The resource file isn't present for some unit tests, for example. Fall
// back to a tiny, basic list of rules in that case.
diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc
index b6720aa..9b560ae 100644
--- a/net/url_request/url_request_unittest.cc
+++ b/net/url_request/url_request_unittest.cc
@@ -16,6 +16,7 @@
#include "base/path_service.h"
#include "base/platform_test.h"
#include "base/process_util.h"
+#include "base/string_piece.h"
#include "base/string_util.h"
#include "net/base/load_flags.h"
#include "net/base/net_errors.h"
@@ -52,7 +53,7 @@ class TestURLRequest : public URLRequest {
}
};
-std::string TestNetResourceProvider(int key) {
+StringPiece TestNetResourceProvider(int key) {
return "header";
}
diff --git a/webkit/tools/test_shell/test_shell_main.cc b/webkit/tools/test_shell/test_shell_main.cc
index b5a19a74..909cfa9 100644
--- a/webkit/tools/test_shell/test_shell_main.cc
+++ b/webkit/tools/test_shell/test_shell_main.cc
@@ -31,6 +31,7 @@
#include "base/process_util.h"
#include "base/rand_util.h"
#include "base/stats_table.h"
+#include "base/string_piece.h"
#include "base/string_util.h"
#include "base/sys_info.h"
#include "base/trace_event.h"
@@ -58,17 +59,17 @@ static int kStatsFileThreads = 20;
static int kStatsFileCounters = 200;
#if defined(OS_WIN)
-std::string GetDataResource(HMODULE module, int resource_id) {
+StringPiece GetRawDataResource(HMODULE module, int resource_id) {
void* data_ptr;
size_t data_size;
return base::GetDataResourceFromModule(module, resource_id, &data_ptr,
&data_size) ?
- std::string(static_cast<char*>(data_ptr), data_size) : std::string();
+ StringPiece(static_cast<char*>(data_ptr), data_size) : StringPiece();
}
// This is called indirectly by the network layer to access resources.
-std::string NetResourceProvider(int key) {
- return GetDataResource(::GetModuleHandle(NULL), key);
+StringPiece NetResourceProvider(int key) {
+ return GetRawDataResource(::GetModuleHandle(NULL), key);
}
#endif