| Index: webkit/support/platform_support_gtk.cc
|
| diff --git a/webkit/support/platform_support_gtk.cc b/webkit/support/platform_support_gtk.cc
|
| index 4b1c6d4bc170878513e7e77ec5365b1067bfee0d..e9d5dffd028639a31244c51e1d818c8000a211c0 100644
|
| --- a/webkit/support/platform_support_gtk.cc
|
| +++ b/webkit/support/platform_support_gtk.cc
|
| @@ -4,6 +4,22 @@
|
|
|
| #include "webkit/support/platform_support.h"
|
|
|
| +#include "base/data_pack.h"
|
| +#include "base/file_path.h"
|
| +#include "base/file_util.h"
|
| +#include "base/logging.h"
|
| +#include "base/path_service.h"
|
| +#include "base/string16.h"
|
| +#include "base/string_piece.h"
|
| +#include "grit/webkit_resources.h"
|
| +
|
| +namespace {
|
| +
|
| +// Data resources on linux. This is a pointer to the mmapped resources file.
|
| +base::DataPack* g_resource_data_pack = NULL;
|
| +
|
| +}
|
| +
|
| namespace webkit_support {
|
|
|
| // TODO(tkent): Implement some of the followings for platform-dependent tasks
|
| @@ -13,6 +29,12 @@ void BeforeInitialize() {
|
| }
|
|
|
| void AfterInitialize() {
|
| + g_resource_data_pack = new base::DataPack;
|
| + FilePath data_path;
|
| + PathService::Get(base::DIR_EXE, &data_path);
|
| + data_path = data_path.Append("DumpRenderTree.pak");
|
| + if (!g_resource_data_pack->Load(data_path))
|
| + LOG(FATAL) << "failed to load DumpRenderTree.pak";
|
| }
|
|
|
| void BeforeShutdown() {
|
| @@ -22,3 +44,47 @@ void AfterShutdown() {
|
| }
|
|
|
| } // namespace webkit_support
|
| +
|
| +namespace webkit_glue {
|
| +
|
| +string16 GetLocalizedString(int message_id) {
|
| + base::StringPiece res;
|
| + if (!g_resource_data_pack->GetStringPiece(message_id, &res))
|
| + LOG(FATAL) << "failed to load webkit string with id " << message_id;
|
| +
|
| + return string16(reinterpret_cast<const char16*>(res.data()),
|
| + res.length() / 2);
|
| +}
|
| +
|
| +base::StringPiece GetDataResource(int resource_id) {
|
| + FilePath resources_path;
|
| + PathService::Get(base::DIR_EXE, &resources_path);
|
| + resources_path = resources_path.Append("DumpRenderTree_resources");
|
| + switch (resource_id) {
|
| + case IDR_BROKENIMAGE: {
|
| + static std::string broken_image_data;
|
| + if (broken_image_data.empty()) {
|
| + FilePath path = resources_path.Append("missingImage.gif");
|
| + bool success = file_util::ReadFileToString(path, &broken_image_data);
|
| + if (!success)
|
| + LOG(FATAL) << "Failed reading: " << path.value();
|
| + }
|
| + return broken_image_data;
|
| + }
|
| + case IDR_TEXTAREA_RESIZER: {
|
| + static std::string resize_corner_data;
|
| + if (resize_corner_data.empty()) {
|
| + FilePath path = resources_path.Append("textAreaResizeCorner.png");
|
| + bool success = file_util::ReadFileToString(path, &resize_corner_data);
|
| + if (!success)
|
| + LOG(FATAL) << "Failed reading: " << path.value();
|
| + }
|
| + return resize_corner_data;
|
| + }
|
| + }
|
| + base::StringPiece res;
|
| + g_resource_data_pack->GetStringPiece(resource_id, &res);
|
| + return res;
|
| +}
|
| +
|
| +} // namespace webkit_glue
|
|
|