| Index: webkit/support/platform_support_mac.mm
|
| diff --git a/webkit/support/platform_support_mac.mm b/webkit/support/platform_support_mac.mm
|
| index a1235f4effce0c4ba9c67a2def0c9d1bf77bec2b..6d96ec13cf83ddfaa79c7fb1a9c8864dff529267 100644
|
| --- a/webkit/support/platform_support_mac.mm
|
| +++ b/webkit/support/platform_support_mac.mm
|
| @@ -12,8 +12,6 @@
|
| #include "base/base_paths.h"
|
| #include "base/file_util.h"
|
| #include "base/logging.h"
|
| -#include "base/mac/bundle_locations.h"
|
| -#include "base/mac/mac_util.h"
|
| #include "base/path_service.h"
|
| #include "base/strings/string16.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| @@ -23,8 +21,6 @@
|
| #import "webkit/support/mac/DumpRenderTreePasteboard.h"
|
| #include "webkit/support/test_webkit_platform_support.h"
|
|
|
| -static ui::DataPack* g_resource_data_pack = NULL;
|
| -
|
| namespace webkit_support {
|
|
|
| static NSAutoreleasePool* autorelease_pool;
|
| @@ -35,82 +31,7 @@ void BeforeInitialize() {
|
| DCHECK(autorelease_pool);
|
| }
|
|
|
| -#if OBJC_API_VERSION == 2
|
| -static void SwizzleAllMethods(Class imposter, Class original) {
|
| - unsigned int imposterMethodCount = 0;
|
| - Method* imposterMethods =
|
| - class_copyMethodList(imposter, &imposterMethodCount);
|
| -
|
| - unsigned int originalMethodCount = 0;
|
| - Method* originalMethods =
|
| - class_copyMethodList(original, &originalMethodCount);
|
| -
|
| - for (unsigned int i = 0; i < imposterMethodCount; i++) {
|
| - SEL imposterMethodName = method_getName(imposterMethods[i]);
|
| -
|
| - // Attempt to add the method to the original class. If it fails, the method
|
| - // already exists and we should instead exchange the implementations.
|
| - if (class_addMethod(original,
|
| - imposterMethodName,
|
| - method_getImplementation(originalMethods[i]),
|
| - method_getTypeEncoding(originalMethods[i]))) {
|
| - continue;
|
| - }
|
| -
|
| - unsigned int j = 0;
|
| - for (; j < originalMethodCount; j++) {
|
| - SEL originalMethodName = method_getName(originalMethods[j]);
|
| - if (sel_isEqual(imposterMethodName, originalMethodName)) {
|
| - break;
|
| - }
|
| - }
|
| -
|
| - // If class_addMethod failed above then the method must exist on the
|
| - // original class.
|
| - DCHECK(j < originalMethodCount) << "method wasn't found?";
|
| - method_exchangeImplementations(imposterMethods[i], originalMethods[j]);
|
| - }
|
| -
|
| - if (imposterMethods) {
|
| - free(imposterMethods);
|
| - }
|
| - if (originalMethods) {
|
| - free(originalMethods);
|
| - }
|
| -}
|
| -#endif
|
| -
|
| -static void SwizzleNSPasteboard() {
|
| - // We replace NSPaseboard w/ the shim (from WebKit) that avoids having
|
| - // sideeffects w/ whatever the user does at the same time.
|
| -
|
| - Class imposterClass = objc_getClass("DumpRenderTreePasteboard");
|
| - Class originalClass = objc_getClass("NSPasteboard");
|
| -#if OBJC_API_VERSION == 0
|
| - class_poseAs(imposterClass, originalClass);
|
| -#else
|
| - // Swizzle instance methods...
|
| - SwizzleAllMethods(imposterClass, originalClass);
|
| - // and then class methods.
|
| - SwizzleAllMethods(object_getClass(imposterClass),
|
| - object_getClass(originalClass));
|
| -#endif
|
| -}
|
| -
|
| void AfterInitialize() {
|
| - // Load a data pack.
|
| - g_resource_data_pack = new ui::DataPack(ui::SCALE_FACTOR_100P);
|
| - base::FilePath resources_pak_path;
|
| - PathService::Get(base::DIR_EXE, &resources_pak_path);
|
| - resources_pak_path = resources_pak_path.Append("Content Shell.app")
|
| - .Append("Contents")
|
| - .Append("Frameworks")
|
| - .Append("Content Shell Framework.framework")
|
| - .Append("Resources")
|
| - .Append("content_shell.pak");
|
| - if (!g_resource_data_pack->LoadFromPath(resources_pak_path)) {
|
| - LOG(FATAL) << "failed to load DumpRenderTree.pak";
|
| - }
|
| }
|
|
|
| void BeforeShutdown() {
|
| @@ -119,88 +40,7 @@ void BeforeShutdown() {
|
| void AfterShutdown() {
|
| [DumpRenderTreePasteboard releaseLocalPasteboards];
|
| [autorelease_pool drain];
|
| - delete g_resource_data_pack;
|
| }
|
|
|
| } // namespace webkit_support
|
|
|
| -base::string16 TestWebKitPlatformSupport::GetLocalizedString(int message_id) {
|
| - // |g_resource_data_pack| is null on unit tests.
|
| - // But som unit tests reach GetLocalizedString().
|
| - if (!g_resource_data_pack)
|
| - return base::string16();
|
| - base::StringPiece res;
|
| - if (!g_resource_data_pack->GetStringPiece(message_id, &res)) {
|
| - LOG(FATAL) << "failed to load webkit string with id " << message_id;
|
| - }
|
| -
|
| - // Data packs hold strings as either UTF8 or UTF16.
|
| - base::string16 msg;
|
| - switch (g_resource_data_pack->GetTextEncodingType()) {
|
| - case ui::DataPack::UTF8:
|
| - msg = UTF8ToUTF16(res);
|
| - break;
|
| - case ui::DataPack::UTF16:
|
| - msg = base::string16(reinterpret_cast<const char16*>(res.data()),
|
| - res.length() / 2);
|
| - break;
|
| - case ui::DataPack::BINARY:
|
| - NOTREACHED();
|
| - break;
|
| - }
|
| -
|
| - return msg;
|
| -}
|
| -
|
| -// Helper method for getting the path to the test shell resources directory.
|
| -static base::FilePath GetResourcesFilePath() {
|
| - base::FilePath path;
|
| - // We assume the application is bundled.
|
| - if (!base::mac::AmIBundled()) {
|
| - LOG(FATAL) << "Failed to locate resources. The applicaiton is not bundled.";
|
| - }
|
| - PathService::Get(base::DIR_EXE, &path);
|
| - path = path.Append(base::FilePath::kParentDirectory);
|
| - return path.AppendASCII("Resources");
|
| -}
|
| -
|
| -base::StringPiece TestWebKitPlatformSupport::GetDataResource(
|
| - int resource_id,
|
| - ui::ScaleFactor scale_factor) {
|
| - switch (resource_id) {
|
| - case IDR_BROKENIMAGE: {
|
| - // Use webkit's broken image icon (16x16)
|
| - CR_DEFINE_STATIC_LOCAL(std::string, broken_image_data, ());
|
| - if (broken_image_data.empty()) {
|
| - base::FilePath path = GetResourcesFilePath();
|
| - // In order to match WebKit's colors for the missing image, we have to
|
| - // use a PNG. The GIF doesn't have the color range needed to correctly
|
| - // match the TIFF they use in Safari.
|
| - path = base::MakeAbsoluteFilePath(path.AppendASCII("missingImage.png"));
|
| - 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: {
|
| - // Use webkit's text area resizer image.
|
| - CR_DEFINE_STATIC_LOCAL(std::string, resize_corner_data, ());
|
| - if (resize_corner_data.empty()) {
|
| - base::FilePath path = GetResourcesFilePath();
|
| - path = base::MakeAbsoluteFilePath(
|
| - path.AppendASCII("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;
|
| - if (g_resource_data_pack)
|
| - g_resource_data_pack->GetStringPiece(resource_id, &res);
|
| - return res;
|
| -}
|
|
|