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

cblu cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:37:41 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit e35287e76655dce0ae43a7842bbbf9a340bf83e4
Author: cblu <cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Apr 29 00:56:23 2004 +0000

    	- Made WebArchive and WebResource conform to NSCoding and NSCopying.
    
            Reviewed by rjw.
    
            * DOM.subproj/WebDOMOperations.h: added header doc comment for WebArchive methods
            * WebView.subproj/WebArchive.h:
            * WebView.subproj/WebArchive.m:
            (-[WebArchive initWithCoder:]): new
            (-[WebArchive encodeWithCoder:]): new
            (-[WebArchive copyWithZone:]): new
            * WebView.subproj/WebResource.h:
            * WebView.subproj/WebResource.m:
            (-[WebResource init]): new
            (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call [self init]
            (-[WebResource initWithCoder:]): new
            (-[WebResource encodeWithCoder:]): new
            (-[WebResource copyWithZone:]): new
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@6513 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index b307ccb..12a3a89 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,23 @@
+2004-04-28  Chris Blumenberg  <cblu at apple.com>
+
+	- Made WebArchive and WebResource conform to NSCoding and NSCopying.
+
+        Reviewed by rjw.
+
+        * DOM.subproj/WebDOMOperations.h: added header doc comment for WebArchive methods
+        * WebView.subproj/WebArchive.h:
+        * WebView.subproj/WebArchive.m:
+        (-[WebArchive initWithCoder:]): new
+        (-[WebArchive encodeWithCoder:]): new
+        (-[WebArchive copyWithZone:]): new
+        * WebView.subproj/WebResource.h:
+        * WebView.subproj/WebResource.m:
+        (-[WebResource init]): new
+        (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call [self init]
+        (-[WebResource initWithCoder:]): new
+        (-[WebResource encodeWithCoder:]): new
+        (-[WebResource copyWithZone:]): new
+
 2004-04-28  John Sullivan  <sullivan at apple.com>
 
         A little bit more progress in wiring up the font panel.
diff --git a/WebKit/DOM.subproj/WebDOMOperations.h b/WebKit/DOM.subproj/WebDOMOperations.h
index 56e78c0..01e378e 100644
--- a/WebKit/DOM.subproj/WebDOMOperations.h
+++ b/WebKit/DOM.subproj/WebDOMOperations.h
@@ -12,6 +12,11 @@
 @class WebFrame;
 
 @interface DOMNode (WebDOMNodeOperations)
+
+/*!
+    @method webArchive
+    @result A WebArchive representing the node and the children of the node.
+*/
 - (WebArchive *)webArchive;
 - (NSString *)markupString;
 @end
@@ -22,6 +27,12 @@
 @end
 
 @interface DOMRange (WebDOMRangeOperations)
+
+/*!
+    @method webArchive
+    @result A WebArchive representing the range.
+*/
 - (WebArchive *)webArchive;
 - (NSString *)markupString;
+
 @end
diff --git a/WebKit/WebView.subproj/WebArchive.h b/WebKit/WebView.subproj/WebArchive.h
index a1c2d15..3c18a6b 100644
--- a/WebKit/WebView.subproj/WebArchive.h
+++ b/WebKit/WebView.subproj/WebArchive.h
@@ -23,7 +23,7 @@ extern NSString *WebArchivePboardType;
     This class can be used for saving standalone web pages, representing portions of a web page on the pasteboard, or any other
     application where one class is needed to represent rich web content. 
 */
- at interface WebArchive : NSObject 
+ at interface WebArchive : NSObject <NSCoding, NSCopying>
 {
     @private
     WebArchivePrivate *_private;
diff --git a/WebKit/WebView.subproj/WebArchive.m b/WebKit/WebView.subproj/WebArchive.m
index a824b91..bfbda52 100644
--- a/WebKit/WebView.subproj/WebArchive.m
+++ b/WebKit/WebView.subproj/WebArchive.m
@@ -13,6 +13,8 @@ NSString *WebMainResourceKey =              @"WebMainResource";
 NSString *WebSubresourcesKey =              @"WebSubresources";
 NSString *WebSubframeArchivesKey =          @"WebSubframeArchives";
 
+#define WebArchiveVersion 1
+
 @interface WebArchivePrivate : NSObject
 {
     @public
@@ -108,12 +110,38 @@ NSString *WebSubframeArchivesKey =          @"WebSubframeArchives";
     return [self _initWithPropertyList:propertyList];
 }
 
+- (id)initWithCoder:(NSCoder *)decoder
+{    
+    NS_DURING
+        [self init];
+        _private->mainResource = [[decoder decodeObjectForKey:WebMainResourceKey] retain];
+        _private->subresources = [[decoder decodeObjectForKey:WebSubresourcesKey] retain];
+        _private->subframeArchives = [[decoder decodeObjectForKey:WebSubframeArchivesKey] retain];
+    NS_HANDLER
+        [self release];
+        return nil;
+    NS_ENDHANDLER
+    return self;
+}
+
+- (void)encodeWithCoder:(NSCoder *)encoder
+{
+    [encoder encodeObject:_private->mainResource forKey:WebMainResourceKey];
+    [encoder encodeObject:_private->subresources forKey:WebSubresourcesKey];
+    [encoder encodeObject:_private->subframeArchives forKey:WebSubframeArchivesKey];    
+}
+
 - (void)dealloc
 {
     [_private release];
     [super dealloc];
 }
 
+- (id)copyWithZone:(NSZone *)zone
+{
+    return [self retain];
+}
+
 - (WebResource *)mainResource
 {
     return [[_private->mainResource retain] autorelease];
diff --git a/WebKit/WebView.subproj/WebResource.h b/WebKit/WebView.subproj/WebResource.h
index 7a0bfb2..7c028d8 100644
--- a/WebKit/WebView.subproj/WebResource.h
+++ b/WebKit/WebView.subproj/WebResource.h
@@ -16,7 +16,7 @@
     @discussion A WebResource represents a fully downloaded URL. 
     It includes the data of the resource as well as the metadata associated with the resource.
 */
- at interface WebResource : NSObject 
+ at interface WebResource : NSObject <NSCoding, NSCopying>
 {
 @private
     WebResourcePrivate *_private;
diff --git a/WebKit/WebView.subproj/WebResource.m b/WebKit/WebView.subproj/WebResource.m
index 51d1ed7..eeb2879 100644
--- a/WebKit/WebView.subproj/WebResource.m
+++ b/WebKit/WebView.subproj/WebResource.m
@@ -9,17 +9,13 @@
 #import <Foundation/NSDictionary_NSURLExtras.h>
 #import <Foundation/NSURL_NSURLExtras.h>
 
-extern NSString *WebResourceDataKey;
-extern NSString *WebResourceMIMETypeKey;
-extern NSString *WebResourceURLKey;
-extern NSString *WebResourceTextEncodingNameKey;
-
 NSString *WebResourceDataKey =              @"WebResourceData";
 NSString *WebResourceFrameNameKey =         @"WebResourceFrameName";
 NSString *WebResourceMIMETypeKey =          @"WebResourceMIMEType";
 NSString *WebResourceURLKey =               @"WebResourceURL";
 NSString *WebResourceTextEncodingNameKey =  @"WebResourceTextEncodingName";
 
+#define WebResourceVersion 1
 
 @interface WebResourcePrivate : NSObject
 {
@@ -48,9 +44,16 @@ NSString *WebResourceTextEncodingNameKey =  @"WebResourceTextEncodingName";
 
 @implementation WebResource
 
-- (id)initWithData:(NSData *)data URL:(NSURL *)URL MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName frameName:(NSString *)frameName
+- (id)init
 {
+    [super init];
     _private = [[WebResourcePrivate alloc] init];
+    return self;
+}
+
+- (id)initWithData:(NSData *)data URL:(NSURL *)URL MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName frameName:(NSString *)frameName
+{
+    [self init];    
     
     if (!data) {
         [self release];
@@ -76,12 +79,42 @@ NSString *WebResourceTextEncodingNameKey =  @"WebResourceTextEncodingName";
     return self;
 }
 
+- (id)initWithCoder:(NSCoder *)decoder
+{    
+    NS_DURING
+        [self init];
+        _private->data = [[decoder decodeObjectForKey:WebResourceDataKey] retain];
+        _private->URL = [[decoder decodeObjectForKey:WebResourceURLKey] retain];
+        _private->MIMEType = [[decoder decodeObjectForKey:WebResourceMIMETypeKey] retain];
+        _private->textEncodingName = [[decoder decodeObjectForKey:WebResourceTextEncodingNameKey] retain];
+        _private->frameName = [[decoder decodeObjectForKey:WebResourceFrameNameKey] retain];
+    NS_HANDLER
+        [self release];
+        return nil;
+    NS_ENDHANDLER
+    return self;
+}
+
+- (void)encodeWithCoder:(NSCoder *)encoder
+{
+    [encoder encodeObject:_private->data forKey:WebResourceDataKey];
+    [encoder encodeObject:_private->URL forKey:WebResourceURLKey];
+    [encoder encodeObject:_private->MIMEType forKey:WebResourceMIMETypeKey];
+    [encoder encodeObject:_private->textEncodingName forKey:WebResourceTextEncodingNameKey];
+    [encoder encodeObject:_private->frameName forKey:WebResourceFrameNameKey];    
+}
+
 - (void)dealloc
 {
     [_private release];
     [super dealloc];
 }
 
+- (id)copyWithZone:(NSZone *)zone
+{
+    return [self retain];
+}
+
 - (NSData *)data
 {
     return _private->data;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list