[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