[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

sullivan sullivan at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:53:38 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 5e386cde0010f9d1e86ce7f90f93e93059a5df23
Author: sullivan <sullivan at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Aug 23 04:09:53 2003 +0000

    	- fixed 3385837 -- REGRESSION: can't paste link from Safari into
    	Keynote (paste at top level, not into text)
    
            Reviewed by Darin
    
    	The problem was that we were using a single list of pasteboard
    	types for both "types we can read" and "types we can write", but
    	NSFilenamesPBoardType wasn't being written to, creating a bad
    	pasteboard. The fix is to split this list in two. We could do
    	this a little more elegantly if we weren't paranoid about
    	last-minute SPI changes breaking compatibility with Sherlock or
    	some other internal client.
    
            * Misc.subproj/WebNSPasteboardExtras.h:
    	add new _web_writableDragTypesForURL, commented various methods
    	better.
    
            * Misc.subproj/WebNSPasteboardExtras.m:
            (+[NSPasteboard _web_writableDragTypesForURL]):
    	implement _web_writableDragTypesForURL; it's just like
    	_web_dragTypesForURL but without the NSFilenamesPBoardType
            (-[NSPasteboard _web_writeURL:andTitle:withOwner:]):
    	use _web_writableDragTypesForURL
    
            * Misc.subproj/WebNSViewExtras.m:
            (-[NSView _web_dragPromisedImage:rect:URL:title:event:]):
    	use _web_writableDragTypesForURL
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4882 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index a711e21..0e7830b 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,33 @@
+2003-08-22  John Sullivan  <sullivan at apple.com>
+	
+	- fixed 3385837 -- REGRESSION: can't paste link from Safari into 
+	Keynote (paste at top level, not into text)
+
+        Reviewed by Darin
+
+	The problem was that we were using a single list of pasteboard
+	types for both "types we can read" and "types we can write", but
+	NSFilenamesPBoardType wasn't being written to, creating a bad
+	pasteboard. The fix is to split this list in two. We could do
+	this a little more elegantly if we weren't paranoid about 
+	last-minute SPI changes breaking compatibility with Sherlock or
+	some other internal client.
+
+        * Misc.subproj/WebNSPasteboardExtras.h:
+	add new _web_writableDragTypesForURL, commented various methods
+	better.
+
+        * Misc.subproj/WebNSPasteboardExtras.m:
+        (+[NSPasteboard _web_writableDragTypesForURL]):
+	implement _web_writableDragTypesForURL; it's just like
+	_web_dragTypesForURL but without the NSFilenamesPBoardType
+        (-[NSPasteboard _web_writeURL:andTitle:withOwner:]):
+	use _web_writableDragTypesForURL
+
+        * Misc.subproj/WebNSViewExtras.m:
+        (-[NSView _web_dragPromisedImage:rect:URL:title:event:]):
+	use _web_writableDragTypesForURL
+
 2003-08-22  Darin Adler  <darin at apple.com>
 
         Reviewed by Dave.
diff --git a/WebKit/Misc.subproj/WebNSPasteboardExtras.h b/WebKit/Misc.subproj/WebNSPasteboardExtras.h
index 69d950b..180ca00 100644
--- a/WebKit/Misc.subproj/WebNSPasteboardExtras.h
+++ b/WebKit/Misc.subproj/WebNSPasteboardExtras.h
@@ -13,16 +13,28 @@ extern NSString *WebURLNamePboardType;
 
 @interface NSPasteboard (WebExtras)
 
+// Returns the array of drag types that _web_writeURL:andTitle:withOwner: handles.
+// FIXME: It would be better to conceal this completely by changing
+// _web_writeURL:andTitle:withOwner:types: to take a list of additional types
+// instead of a complete list of types, but we're afraid to do so at this late
+// stage in Panther just in case some internal client is using _web_writeURL:andTitle:withOwner:types:
+// already and relying on its current behavior.
++ (NSArray *)_web_writableDragTypesForURL;
+
 // Returns the array of drag types that _web_bestURL handles; note that the presence
 // of one or more of these drag types on the pasteboard is not a guarantee that
 // _web_bestURL will return a non-nil result.
 + (NSArray *)_web_dragTypesForURL;
 
-
 // Finds the best URL from the data on the pasteboard, giving priority to http and https URLs
 -(NSURL *)_web_bestURL;
 
+// Writes the URL to the pasteboard in all the types from _web_writableDragTypesForURL
 - (void)_web_writeURL:(NSURL *)URL andTitle:(NSString *)title withOwner:(id)owner;
+
+// Writes the URL to the pasteboard in all the types from _web_writableDragTypesForURL,
+// after declaring all the passed-in types. Any passed-in types not in _web_writableDragTypesForURL
+// must be handled by the caller separately.
 - (void)_web_writeURL:(NSURL *)URL andTitle:(NSString *)title withOwner:(id)owner types:(NSArray *)types;
 
 // Sets the text on the NSFindPboard. Returns the new changeCount for the NSFindPboard.
diff --git a/WebKit/Misc.subproj/WebNSPasteboardExtras.m b/WebKit/Misc.subproj/WebNSPasteboardExtras.m
index 4c26d29..2e8b348 100644
--- a/WebKit/Misc.subproj/WebNSPasteboardExtras.m
+++ b/WebKit/Misc.subproj/WebNSPasteboardExtras.m
@@ -27,6 +27,17 @@ NSString *WebURLNamePboardType = nil;
     CreatePasteboardFlavorTypeName('urln', (CFStringRef*)&WebURLNamePboardType);
 }
 
++ (NSArray *)_web_writableDragTypesForURL
+{
+    return [NSArray arrayWithObjects:
+        WebURLsWithTitlesPboardType,
+        NSURLPboardType,
+        WebURLPboardType,
+        WebURLNamePboardType,
+        NSStringPboardType,
+        nil];
+}
+
 + (NSArray *)_web_dragTypesForURL
 {
     return [NSArray arrayWithObjects:
@@ -100,7 +111,7 @@ NSString *WebURLNamePboardType = nil;
 
 - (void)_web_writeURL:(NSURL *)URL andTitle:(NSString *)title withOwner:(id)owner
 {
-    [self _web_writeURL:URL andTitle:title withOwner:owner types:[NSPasteboard _web_dragTypesForURL]];
+    [self _web_writeURL:URL andTitle:title withOwner:owner types:[NSPasteboard _web_writableDragTypesForURL]];
 }
 
 + (int)_web_setFindPasteboardString:(NSString *)string withOwner:(id)owner
diff --git a/WebKit/Misc.subproj/WebNSViewExtras.m b/WebKit/Misc.subproj/WebNSViewExtras.m
index 408dfd4..a04653a 100644
--- a/WebKit/Misc.subproj/WebNSViewExtras.m
+++ b/WebKit/Misc.subproj/WebNSViewExtras.m
@@ -228,7 +228,7 @@
     
     NSPasteboard *pboard = [NSPasteboard pasteboardWithName:NSDragPboard];
     NSMutableArray *types = [NSMutableArray arrayWithObjects:NSFilesPromisePboardType, NSTIFFPboardType, nil];
-    [types addObjectsFromArray:[NSPasteboard _web_dragTypesForURL]];
+    [types addObjectsFromArray:[NSPasteboard _web_writableDragTypesForURL]];
     [pboard _web_writeURL:URL andTitle:title withOwner:self types:types];
     [pboard setPropertyList:filesTypes forType:NSFilesPromisePboardType];
     [pboard setData:[image TIFFRepresentation] forType:NSTIFFPboardType];

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list