| Index: chrome/common/mac/objc_method_swizzle.mm
|
| diff --git a/chrome/common/mac/objc_method_swizzle.mm b/chrome/common/mac/objc_method_swizzle.mm
|
| deleted file mode 100644
|
| index 62b630a11a8809bb1de5c406022dd3d405d4bdb3..0000000000000000000000000000000000000000
|
| --- a/chrome/common/mac/objc_method_swizzle.mm
|
| +++ /dev/null
|
| @@ -1,57 +0,0 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#import "chrome/common/mac/objc_method_swizzle.h"
|
| -
|
| -#import "base/logging.h"
|
| -
|
| -namespace ObjcEvilDoers {
|
| -
|
| -Method GetImplementedInstanceMethod(Class aClass, SEL aSelector) {
|
| - Method method = NULL;
|
| - unsigned int methodCount = 0;
|
| - Method* methodList = class_copyMethodList(aClass, &methodCount);
|
| - if (methodList) {
|
| - for (unsigned int i = 0; i < methodCount; ++i) {
|
| - if (method_getName(methodList[i]) == aSelector) {
|
| - method = methodList[i];
|
| - break;
|
| - }
|
| - }
|
| - free(methodList);
|
| - }
|
| - return method;
|
| -}
|
| -
|
| -IMP SwizzleImplementedInstanceMethods(
|
| - Class aClass, const SEL originalSelector, const SEL alternateSelector) {
|
| - // The methods must both be implemented by the target class, not
|
| - // inherited from a superclass.
|
| - Method original = GetImplementedInstanceMethod(aClass, originalSelector);
|
| - Method alternate = GetImplementedInstanceMethod(aClass, alternateSelector);
|
| - DCHECK(original);
|
| - DCHECK(alternate);
|
| - if (!original || !alternate) {
|
| - return NULL;
|
| - }
|
| -
|
| - // The argument and return types must match exactly.
|
| - const char* originalTypes = method_getTypeEncoding(original);
|
| - const char* alternateTypes = method_getTypeEncoding(alternate);
|
| - DCHECK(originalTypes);
|
| - DCHECK(alternateTypes);
|
| - DCHECK(0 == strcmp(originalTypes, alternateTypes));
|
| - if (!originalTypes || !alternateTypes ||
|
| - strcmp(originalTypes, alternateTypes)) {
|
| - return NULL;
|
| - }
|
| -
|
| - IMP ret = method_getImplementation(original);
|
| - if (ret) {
|
| - method_exchangeImplementations(original, alternate);
|
| - }
|
| - return ret;
|
| -}
|
| -
|
| -} // namespace ObjcEvilDoers
|
|
|