Index: webkit/tools/test_shell/mac/DumpRenderTreePasteboard.m |
diff --git a/webkit/tools/test_shell/mac/DumpRenderTreePasteboard.m b/webkit/tools/test_shell/mac/DumpRenderTreePasteboard.m |
deleted file mode 100644 |
index 3e3cf1c47d3a0bd06ae8f0184cc770ade4e30cca..0000000000000000000000000000000000000000 |
--- a/webkit/tools/test_shell/mac/DumpRenderTreePasteboard.m |
+++ /dev/null |
@@ -1,214 +0,0 @@ |
-/* |
- * Copyright (C) 2005, 2006, 2007 Apple, Inc. All rights reserved. |
- * (C) 2007 Graham Dennis (graham.dennis@gmail.com) |
- * (C) 2007 Eric Seidel <eric@webkit.org> |
- * |
- * Redistribution and use in source and binary forms, with or without |
- * modification, are permitted provided that the following conditions |
- * are met: |
- * |
- * 1. Redistributions of source code must retain the above copyright |
- * notice, this list of conditions and the following disclaimer. |
- * 2. Redistributions in binary form must reproduce the above copyright |
- * notice, this list of conditions and the following disclaimer in the |
- * documentation and/or other materials provided with the distribution. |
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of |
- * its contributors may be used to endorse or promote products derived |
- * from this software without specific prior written permission. |
- * |
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY |
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY |
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- */ |
- |
-// |
-// This file comes from WebKit: |
-// WebKit/Tools/DumpRenderTree/mac/DumpRenderTreePasteboard.m |
-// It is copied here since that location is the best for pulling into Chromium |
-// and has a few includes commented out. darin@chromium.org suggests in the |
-// future we see if there is a better place for it to live so it could be |
-// shared. |
-// |
- |
-// #import "DumpRenderTreeMac.h" |
-#import "DumpRenderTreePasteboard.h" |
- |
-// #import <WebKit/WebTypesInternal.h> |
- |
-@interface LocalPasteboard : NSPasteboard |
-{ |
- NSMutableArray *typesArray; |
- NSMutableSet *typesSet; |
- NSMutableDictionary *dataByType; |
- NSInteger changeCount; |
-} |
-@end |
- |
-static NSMutableDictionary *localPasteboards; |
- |
-@implementation DumpRenderTreePasteboard |
- |
-// Return a local pasteboard so we don't disturb the real pasteboards when running tests. |
-+ (NSPasteboard *)_pasteboardWithName:(NSString *)name |
-{ |
- static int number = 0; |
- if (!name) |
- name = [NSString stringWithFormat:@"LocalPasteboard%d", ++number]; |
- if (!localPasteboards) |
- localPasteboards = [[NSMutableDictionary alloc] init]; |
- LocalPasteboard *pasteboard = [localPasteboards objectForKey:name]; |
- if (pasteboard) |
- return pasteboard; |
- pasteboard = [[LocalPasteboard alloc] init]; |
- [localPasteboards setObject:pasteboard forKey:name]; |
- [pasteboard release]; |
- return pasteboard; |
-} |
- |
-+ (void)releaseLocalPasteboards |
-{ |
- [localPasteboards release]; |
- localPasteboards = nil; |
-} |
- |
-// Convenience method for JS so that it doesn't have to try and create a NSArray on the objc side instead |
-// of the usual WebScriptObject that is passed around |
-- (NSInteger)declareType:(NSString *)type owner:(id)newOwner |
-{ |
- return [self declareTypes:[NSArray arrayWithObject:type] owner:newOwner]; |
-} |
- |
-@end |
- |
-@implementation LocalPasteboard |
- |
-+ (id)alloc |
-{ |
- return NSAllocateObject(self, 0, 0); |
-} |
- |
-- (id)init |
-{ |
- typesArray = [[NSMutableArray alloc] init]; |
- typesSet = [[NSMutableSet alloc] init]; |
- dataByType = [[NSMutableDictionary alloc] init]; |
- return self; |
-} |
- |
-- (void)dealloc |
-{ |
- [typesArray release]; |
- [typesSet release]; |
- [dataByType release]; |
- [super dealloc]; |
-} |
- |
-- (NSString *)name |
-{ |
- return nil; |
-} |
- |
-- (void)releaseGlobally |
-{ |
-} |
- |
-- (NSInteger)declareTypes:(NSArray *)newTypes owner:(id)newOwner |
-{ |
- [typesArray removeAllObjects]; |
- [typesSet removeAllObjects]; |
- [dataByType removeAllObjects]; |
- return [self addTypes:newTypes owner:newOwner]; |
-} |
- |
-- (NSInteger)addTypes:(NSArray *)newTypes owner:(id)newOwner |
-{ |
- unsigned count = [newTypes count]; |
- unsigned i; |
- for (i = 0; i < count; ++i) { |
- NSString *type = [newTypes objectAtIndex:i]; |
- NSString *setType = [typesSet member:type]; |
- if (!setType) { |
- setType = [type copy]; |
- [typesArray addObject:setType]; |
- [typesSet addObject:setType]; |
- [setType release]; |
- } |
- if (newOwner && [newOwner respondsToSelector:@selector(pasteboard:provideDataForType:)]) |
- [newOwner pasteboard:self provideDataForType:setType]; |
- } |
- return ++changeCount; |
-} |
- |
-- (NSInteger)changeCount |
-{ |
- return changeCount; |
-} |
- |
-- (NSArray *)types |
-{ |
- return typesArray; |
-} |
- |
-- (NSString *)availableTypeFromArray:(NSArray *)types |
-{ |
- unsigned count = [types count]; |
- unsigned i; |
- for (i = 0; i < count; ++i) { |
- NSString *type = [types objectAtIndex:i]; |
- NSString *setType = [typesSet member:type]; |
- if (setType) |
- return setType; |
- } |
- return nil; |
-} |
- |
-- (BOOL)setData:(NSData *)data forType:(NSString *)dataType |
-{ |
- if (data == nil) |
- data = [NSData data]; |
- if (![typesSet containsObject:dataType]) |
- return NO; |
- [dataByType setObject:data forKey:dataType]; |
- ++changeCount; |
- return YES; |
-} |
- |
-- (NSData *)dataForType:(NSString *)dataType |
-{ |
- return [dataByType objectForKey:dataType]; |
-} |
- |
-- (BOOL)setPropertyList:(id)propertyList forType:(NSString *)dataType |
-{ |
- CFDataRef data = NULL; |
- if (propertyList) |
- data = CFPropertyListCreateXMLData(NULL, propertyList); |
- BOOL result = [self setData:(NSData *)data forType:dataType]; |
- if (data) |
- CFRelease(data); |
- return result; |
-} |
- |
-- (BOOL)setString:(NSString *)string forType:(NSString *)dataType |
-{ |
- CFDataRef data = NULL; |
- if (string) { |
- if ([string length] == 0) |
- data = CFDataCreate(NULL, NULL, 0); |
- else |
- data = CFStringCreateExternalRepresentation(NULL, (CFStringRef)string, kCFStringEncodingUTF8, 0); |
- } |
- BOOL result = [self setData:(NSData *)data forType:dataType]; |
- if (data) |
- CFRelease(data); |
- return result; |
-} |
- |
-@end |