<https://webkit.org/b/125139> Modernize the WebKit API headers
authormrowe@apple.com <mrowe@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 11 Dec 2013 09:27:32 +0000 (09:27 +0000)
committermrowe@apple.com <mrowe@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 11 Dec 2013 09:27:32 +0000 (09:27 +0000)
<rdar://problem/15540175>

Source/WebKit/mac:

This consists of three main changes:
1) Converting the return type of initializer methods to instancetype.
2) Declaring properties rather than getters and setters.
3) Declaring explicitly sized enums.

Changing the declarations from getters and setters to properties also required
updating the headerdoc in a number of places.

Reviewed by Anders Carlsson.

* DOM/WebDOMOperations.h:
* History/WebBackForwardList.h:
* History/WebHistory.h:
* History/WebHistoryItem.h:
* History/WebHistoryItem.mm:
* Plugins/WebPlugin.h:
* Plugins/WebPluginContainer.h:
* WebView/WebArchive.h:
* WebView/WebArchive.mm:
* WebView/WebDataSource.h:
* WebView/WebDataSource.mm:
* WebView/WebEditingDelegate.h:
* WebView/WebFrame.h:
* WebView/WebFrame.mm:
* WebView/WebFrameView.h:
* WebView/WebPolicyDelegate.h:
* WebView/WebPreferences.h:
* WebView/WebPreferences.mm:
(-[WebPreferences cacheModel]): Cast to the enum.
* WebView/WebResource.h:
* WebView/WebResource.mm:
* WebView/WebUIDelegate.h:
* WebView/WebView.h:
* WebView/WebView.mm:
(+[WebView _didSetCacheModel]): Fix the return type.

Tools:

Reviewed by Anders Carlsson.

* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setCacheModel): Cast to the enum type.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@160414 268f45cc-cd09-0410-ab3c-d52691b4dbfc

26 files changed:
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/DOM/WebDOMOperations.h
Source/WebKit/mac/History/WebBackForwardList.h
Source/WebKit/mac/History/WebHistory.h
Source/WebKit/mac/History/WebHistoryItem.h
Source/WebKit/mac/History/WebHistoryItem.mm
Source/WebKit/mac/Plugins/WebPlugin.h
Source/WebKit/mac/Plugins/WebPluginContainer.h
Source/WebKit/mac/WebView/WebArchive.h
Source/WebKit/mac/WebView/WebArchive.mm
Source/WebKit/mac/WebView/WebDataSource.h
Source/WebKit/mac/WebView/WebDataSource.mm
Source/WebKit/mac/WebView/WebEditingDelegate.h
Source/WebKit/mac/WebView/WebFrame.h
Source/WebKit/mac/WebView/WebFrame.mm
Source/WebKit/mac/WebView/WebFrameView.h
Source/WebKit/mac/WebView/WebPolicyDelegate.h
Source/WebKit/mac/WebView/WebPreferences.h
Source/WebKit/mac/WebView/WebPreferences.mm
Source/WebKit/mac/WebView/WebResource.h
Source/WebKit/mac/WebView/WebResource.mm
Source/WebKit/mac/WebView/WebUIDelegate.h
Source/WebKit/mac/WebView/WebView.h
Source/WebKit/mac/WebView/WebView.mm
Tools/ChangeLog
Tools/DumpRenderTree/mac/TestRunnerMac.mm

index ec4c3eb..5247153 100644 (file)
@@ -1,3 +1,44 @@
+2013-12-03  Mark Rowe  <mrowe@apple.com>
+
+        <https://webkit.org/b/125139> Modernize the WebKit API headers
+        <rdar://problem/15540175>
+
+        This consists of three main changes:
+        1) Converting the return type of initializer methods to instancetype.
+        2) Declaring properties rather than getters and setters.
+        3) Declaring explicitly sized enums.
+
+        Changing the declarations from getters and setters to properties also required
+        updating the headerdoc in a number of places.
+
+        Reviewed by Anders Carlsson.
+
+        * DOM/WebDOMOperations.h:
+        * History/WebBackForwardList.h:
+        * History/WebHistory.h:
+        * History/WebHistoryItem.h:
+        * History/WebHistoryItem.mm:
+        * Plugins/WebPlugin.h:
+        * Plugins/WebPluginContainer.h:
+        * WebView/WebArchive.h:
+        * WebView/WebArchive.mm:
+        * WebView/WebDataSource.h:
+        * WebView/WebDataSource.mm:
+        * WebView/WebEditingDelegate.h:
+        * WebView/WebFrame.h:
+        * WebView/WebFrame.mm:
+        * WebView/WebFrameView.h:
+        * WebView/WebPolicyDelegate.h:
+        * WebView/WebPreferences.h:
+        * WebView/WebPreferences.mm:
+        (-[WebPreferences cacheModel]): Cast to the enum.
+        * WebView/WebResource.h:
+        * WebView/WebResource.mm:
+        * WebView/WebUIDelegate.h:
+        * WebView/WebView.h:
+        * WebView/WebView.mm:
+        (+[WebView _didSetCacheModel]): Fix the return type.
+
 2013-12-10  Mark Rowe  <mrowe@apple.com>
 
         <http://webkit.org/b/125556> WebKit doesn't deal with longer bundle versions correctly
index 606dd19..6203784 100644 (file)
 @interface DOMNode (WebDOMNodeOperations)
 
 /*!
-    @method webArchive
-    @result A WebArchive representing the node and the children of the node.
+    @property webArchive
+    @abstract A WebArchive representing the node and the children of the node.
 */
-- (WebArchive *)webArchive;
+@property (nonatomic, readonly, strong) WebArchive *webArchive;
 
 @end
 
 @interface DOMDocument (WebDOMDocumentOperations)
 
 /*!
-    @method webFrame
-    @abstract Returns the frame of the DOM document.
+    @property webFrame
+    @abstract The frame of the DOM document.
 */
-- (WebFrame *)webFrame;
+@property (nonatomic, readonly, strong) WebFrame *webFrame;
 
 /*!
     @method URLWithAttributeString:
 @interface DOMRange (WebDOMRangeOperations)
 
 /*!
-    @method webArchive
-    @result A WebArchive representing the range.
+    @property webArchive
+    @abstract A WebArchive representing the range.
 */
-- (WebArchive *)webArchive;
+@property (nonatomic, readonly, strong) WebArchive *webArchive;
 
 /*!
-    @method markupString
-    @result A markup string representing the range.
+    @property markupString
+    @abstract A markup string representing the range.
 */
-- (NSString *)markupString;
+@property (nonatomic, readonly, copy) NSString *markupString;
 
 @end
 
 @interface DOMHTMLFrameElement (WebDOMHTMLFrameElementOperations)
 
 /*!
-    @method contentFrame
-    @abstract Returns the content frame of the element.
+    @property contentFrame
+    @abstract The content frame of the element.
 */
-- (WebFrame *)contentFrame;
+@property (nonatomic, readonly, strong) WebFrame *contentFrame;
 
 @end
 
 @interface DOMHTMLIFrameElement (WebDOMHTMLIFrameElementOperations)
 
 /*!
-    @method contentFrame
+    @property contentFrame
     @abstract Returns the content frame of the element.
 */
-- (WebFrame *)contentFrame;
+@property (nonatomic, readonly, strong) WebFrame *contentFrame;
 
 @end
 
 @interface DOMHTMLObjectElement (WebDOMHTMLObjectElementOperations)
 
 /*!
-    @method contentFrame
-    @abstract Returns the content frame of the element.
+    @property contentFrame
+    @abstract The content frame of the element.
     @discussion Returns non-nil only if the object represents a child frame
     such as if the data of the object is HTML content.
 */
-- (WebFrame *)contentFrame;
+@property (nonatomic, readonly, strong) WebFrame *contentFrame;
 
 @end
index 7af1b2e..946d594 100644 (file)
 - (void)goToItem:(WebHistoryItem *)item;
 
 /*!
-    @method backItem
-    @abstract Returns the entry right before the current entry.
-    @result The entry right before the current entry, or nil if there isn't one.
+    @property backItem
+    @abstract The entry right before the current entry, or nil if there isn't one.
 */
-- (WebHistoryItem *)backItem;
+@property (nonatomic, readonly, strong) WebHistoryItem *backItem;
 
 /*!
-    @method currentItem
+    @property currentItem
     @abstract Returns the current entry.
-    @result The current entry.
 */
-- (WebHistoryItem *)currentItem;
+@property (nonatomic, readonly, strong) WebHistoryItem *currentItem;
 
 /*!
-    @method forwardItem
-    @abstract Returns the entry right after the current entry.
-    @result The entry right after the current entry, or nil if there isn't one.
+    @property forwardItem
+    @abstract The entry right after the current entry, or nil if there isn't one.
 */
-- (WebHistoryItem *)forwardItem;
+@property (nonatomic, readonly, strong) WebHistoryItem *forwardItem;
 
 /*!
     @method backListWithLimit:
 - (NSArray *)forwardListWithLimit:(int)limit;
 
 /*!
-    @method capacity
-    @abstract Returns the list's maximum size.
-    @result The list's maximum size.
+    @property capacity
+    @abstract The list's maximum size.
 */
-- (int)capacity;
+@property (nonatomic) int capacity;
 
 /*!
-    @method setCapacity
-    @abstract Sets the list's maximum size.
-    @param size The new maximum size for the list.
+    @property backListCount
+    @abstract The number of items in the list.
 */
-- (void)setCapacity:(int)size;
+@property (nonatomic, readonly) int backListCount;
 
 /*!
-    @method backListCount
-    @abstract Returns the back list's current count.
+    @property forwardListCount
     @result The number of items in the list.
 */
-- (int)backListCount;
-
-/*!
-    @method forwardListCount
-    @abstract Returns the forward list's current count.
-    @result The number of items in the list.
-*/
-- (int)forwardListCount;
+@property (nonatomic, readonly) int forwardListCount;
 
 /*!
     @method containsItem:
index 7a31cab..1fa2b8a 100644 (file)
@@ -113,12 +113,12 @@ extern NSString *WebHistoryItemsKey;
 - (void)removeAllItems;
 
 /*!
-    @method orderedLastVisitedDays
-    @discussion Get an array of NSCalendarDates, each one representing a unique day that contains one
+    @property orderedLastVisitedDays
+    @abstract An array of NSCalendarDates for which history items exist in the WebHistory.
+    @discussion An array of NSCalendarDates, each one representing a unique day that contains one
     or more history items, ordered from most recent to oldest.
-    @result Returns an array of NSCalendarDates for which history items exist in the WebHistory.
 */
-- (NSArray *)orderedLastVisitedDays;
+@property (nonatomic, readonly, copy) NSArray *orderedLastVisitedDays;
 
 /*!
     @method orderedItemsLastVisitedOnDay:
@@ -141,30 +141,15 @@ extern NSString *WebHistoryItemsKey;
 - (WebHistoryItem *)itemForURL:(NSURL *)URL;
 
 /*!
-    @method setHistoryItemLimit:
-    @discussion Limits the number of items that will be stored by the WebHistory.
-    @param limit The maximum number of items that will be stored by the WebHistory.
+    @property historyItemLimit
+    @abstract The maximum number of items that will be stored by the WebHistory.
 */
-- (void)setHistoryItemLimit:(int)limit;
+@property (nonatomic) int historyItemLimit;
 
 /*!
-    @method historyItemLimit
-    @result The maximum number of items that will be stored by the WebHistory.
+    @property historyAgeInDaysLimit
+    @abstract The maximum number of days to be read from stored history.
 */
-- (int)historyItemLimit;
-
-/*!
-    @method setHistoryAgeInDaysLimit:
-    @discussion setHistoryAgeInDaysLimit: sets the maximum number of days to be read from
-    stored history.
-    @param limit The maximum number of days to be read from stored history.
-*/
-- (void)setHistoryAgeInDaysLimit:(int)limit;
-
-/*!
-    @method historyAgeInDaysLimit
-    @return Returns the maximum number of days to be read from stored history.
-*/
-- (int)historyAgeInDaysLimit;
+@property (nonatomic) int historyAgeInDaysLimit;
 
 @end
index 4de4344..aee4fc1 100644 (file)
@@ -63,64 +63,51 @@ extern NSString *WebHistoryItemChangedNotification;
     'artificial' items to add to a WebBackForwardList.  When first initialized
     the URLString and originalURLString will be the same.
 */
-- (id)initWithURLString:(NSString *)URLString title:(NSString *)title lastVisitedTimeInterval:(NSTimeInterval)time;
+- (instancetype)initWithURLString:(NSString *)URLString title:(NSString *)title lastVisitedTimeInterval:(NSTimeInterval)time;
 
 /*!
-    @method originalURLString
-    @abstract The string representation of the originial URL of this item.
+    @property originalURLString
+    @abstract The string representation of the initial URL of this item.
     This value is normally set by the WebKit.
-    @result The string corresponding to the initial URL of this item.
 */
-- (NSString *)originalURLString;
+@property (nonatomic, readonly, copy) NSString *originalURLString;
 
 /*!
-    @method URLString
+    @property URLString
     @abstract The string representation of the URL represented by this item.
     @discussion The URLString may be different than the originalURLString if the page
     redirected to a new location.  This value is normally set by the WebKit.
-    @result The string corresponding to the final URL of this item.
 */
-- (NSString *)URLString;
+@property (nonatomic, readonly, copy) NSString *URLString;
 
 
 /*!
-    @method title
+    @property title
     @abstract The title of the page represented by this item.
     @discussion This title cannot be changed by the client.  This value
     is normally set by the WebKit when a page title for the item is received.
-    @result The title of this item.
 */
-- (NSString *)title;
+@property (nonatomic, readonly, copy) NSString *title;
 
 /*!
-    @method lastVisitedTimeInterval
+    @property lastVisitedTimeInterval
     @abstract The last time the page represented by this item was visited. The interval
     is since the reference date as determined by NSDate.  This value is normally set by
     the WebKit.
-    @result The last time this item was visited.
 */
-- (NSTimeInterval)lastVisitedTimeInterval;
-
-/*!
-    @method setAlternateTitle:
-    @param alternateTitle The new display title for this item.
-    @abstract A title that may be used by the client to display this item.
-*/
-- (void)setAlternateTitle:(NSString *)alternateTitle;
+@property (nonatomic, readonly) NSTimeInterval lastVisitedTimeInterval;
 
 /*
-    @method title
+    @property alternateTitle
     @abstract A title that may be used by the client to display this item.
-    @result The alternate title for this item.
 */
-- (NSString *)alternateTitle;
+@property (nonatomic, copy) NSString *alternateTitle;
 
 /*!
-    @method icon
+    @property icon
     @abstract The favorite icon of the page represented by this item.
     @discussion This icon returned will be determined by the WebKit.
-    @result The icon associated with this item's URL.
 */
-- (NSImage *)icon;
+@property (nonatomic, readonly, strong) NSImage *icon;
 
 @end
index 1232d53..a4d866c 100644 (file)
@@ -101,12 +101,12 @@ void WKNotifyHistoryItemChanged(HistoryItem*)
     WebCoreObjCFinalizeOnMainThread(self);
 }
 
-- (id)init
+- (instancetype)init
 {
     return [self initWithWebCoreHistoryItem:HistoryItem::create()];
 }
 
-- (id)initWithURLString:(NSString *)URLString title:(NSString *)title lastVisitedTimeInterval:(NSTimeInterval)time
+- (instancetype)initWithURLString:(NSString *)URLString title:(NSString *)title lastVisitedTimeInterval:(NSTimeInterval)time
 {
     WebCoreThreadViolationCheckRoundOne();
     return [self initWithWebCoreHistoryItem:HistoryItem::create(URLString, title, time)];
index 797634f..9534583 100644 (file)
 - (void)webPlugInSetIsSelected:(BOOL)isSelected;
 
 /*!
-    @method objectForWebScript
+    @property objectForWebScript
     @discussion objectForWebScript is used to expose a plug-in's scripting interface.  The 
     methods of the object are exposed to the script environment.  See the WebScripting
     informal protocol for more details.
     @result Returns the object that exposes the plug-in's interface.  The class of this
     object can implement methods from the WebScripting informal protocol.
 */
-- (id)objectForWebScript;
+@property (nonatomic, readonly, strong) id objectForWebScript;
 
 /*!
     @method webPlugInMainResourceDidReceiveResponse:
index 112b677..bda6204 100644 (file)
 - (void)webPlugInContainerShowStatus:(NSString *)message;
 
 /*!
-    @method webPlugInContainerSelectionColor
-    @result Returns the color that should be used for any special drawing when
+    @property webPlugInContainerSelectionColor
+    @abstract The color that should be used for any special drawing when
     plug-in is selected.
 */
-- (NSColor *)webPlugInContainerSelectionColor;
+@property (nonatomic, readonly, strong) NSColor *webPlugInContainerSelectionColor;
 
 /*!
-    @method webFrame
-    @discussion The webFrame method allows the plug-in to access the WebFrame that
+    @property webFrame
+    @abstract Allows the plug-in to access the WebFrame that
     contains the plug-in.  This method will not be implemented by containers that 
     are not WebKit based.
-    @result Return the WebFrame that contains the plug-in.
 */
-- (WebFrame *)webFrame;
+@property (nonatomic, readonly, strong) WebFrame *webFrame;
 
 @end
index cf54da5..3c158c0 100644 (file)
@@ -58,7 +58,7 @@ extern NSString *WebArchivePboardType;
     @param subframeArchives The archives representing the subframes of the archive (can be nil).
     @result An initialized WebArchive.
 */
-- (id)initWithMainResource:(WebResource *)mainResource subresources:(NSArray *)subresources subframeArchives:(NSArray *)subframeArchives;
+- (instancetype)initWithMainResource:(WebResource *)mainResource subresources:(NSArray *)subresources subframeArchives:(NSArray *)subframeArchives;
 
 /*!
     @method initWithData:
@@ -66,32 +66,32 @@ extern NSString *WebArchivePboardType;
     @param data The data representing the archive. This can be obtained using WebArchive's data method.
     @result An initialized WebArchive.
 */
-- (id)initWithData:(NSData *)data;
+- (instancetype)initWithData:(NSData *)data;
 
 /*!
-    @method mainResource
-    @result The main resource of the archive.
+    @property mainResource
+    @abstract The main resource of the archive.
 */
-- (WebResource *)mainResource;
+@property (nonatomic, readonly, strong) WebResource *mainResource;
 
 /*!
-    @method subresources
-    @result The subresource of the archive (can be nil).
+    @property subresources
+    @abstract The subresource of the archive (can be nil).
 */
-- (NSArray *)subresources;
+@property (nonatomic, readonly, copy) NSArray *subresources;
 
 /*!
-    @method subframeArchives
-    @result The archives representing the subframes of the archive (can be nil).
+    @property subframeArchives
+    @abstract The archives representing the subframes of the archive (can be nil).
 */
-- (NSArray *)subframeArchives;
+@property (nonatomic, readonly, copy) NSArray *subframeArchives;
 
 /*!
-    @method data
-    @result The data representation of the archive.
+    @property data
+    @abstract The data representation of the archive.
     @discussion The data returned by this method can be used to save a web archive to a file or to place a web archive on the pasteboard
     using WebArchivePboardType. To create a WebArchive using the returned data, call initWithData:.
 */
-- (NSData *)data;
+@property (nonatomic, readonly, copy) NSData *data;
 
 @end
index 723316f..3572945 100644 (file)
@@ -58,7 +58,7 @@ static NSString * const WebSubframeArchivesKey = @"WebSubframeArchives";
     RefPtr<LegacyWebArchive> coreArchive;
 }
 
-- (id)initWithCoreArchive:(PassRefPtr<LegacyWebArchive>)coreArchive;
+- (instancetype)initWithCoreArchive:(PassRefPtr<LegacyWebArchive>)coreArchive;
 - (LegacyWebArchive*)coreArchive;
 - (void)setCoreArchive:(PassRefPtr<LegacyWebArchive>)newCoreArchive;
 @end
@@ -73,7 +73,7 @@ static NSString * const WebSubframeArchivesKey = @"WebSubframeArchives";
     WebCoreObjCFinalizeOnMainThread(self);
 }
 
-- (id)init
+- (instancetype)init
 {
     self = [super init];
     if (!self)
@@ -82,7 +82,7 @@ static NSString * const WebSubframeArchivesKey = @"WebSubframeArchives";
     return self;
 }
 
-- (id)initWithCoreArchive:(PassRefPtr<LegacyWebArchive>)_coreArchive
+- (instancetype)initWithCoreArchive:(PassRefPtr<LegacyWebArchive>)_coreArchive
 {
     self = [super init];
     if (!self || !_coreArchive) {
@@ -121,7 +121,7 @@ static NSString * const WebSubframeArchivesKey = @"WebSubframeArchives";
 
 @implementation WebArchive
 
-- (id)init
+- (instancetype)init
 {
     WebCoreThreadViolationCheckRoundTwo();
 
@@ -144,7 +144,7 @@ static BOOL isArrayOfClass(id object, Class elementClass)
     return YES;
 }
 
-- (id)initWithMainResource:(WebResource *)mainResource subresources:(NSArray *)subresources subframeArchives:(NSArray *)subframeArchives
+- (instancetype)initWithMainResource:(WebResource *)mainResource subresources:(NSArray *)subresources subframeArchives:(NSArray *)subframeArchives
 {
     WebCoreThreadViolationCheckRoundTwo();
 
@@ -197,7 +197,7 @@ static BOOL isArrayOfClass(id object, Class elementClass)
     return self;
 }
 
-- (id)initWithData:(NSData *)data
+- (instancetype)initWithData:(NSData *)data
 {
     WebCoreThreadViolationCheckRoundTwo();
 
@@ -227,7 +227,7 @@ static BOOL isArrayOfClass(id object, Class elementClass)
     return self;
 }
 
-- (id)initWithCoder:(NSCoder *)decoder
+- (instancetype)initWithCoder:(NSCoder *)decoder
 {    
     WebResource *mainResource = nil;
     NSArray *subresources = nil;
index c742f1e..21073e8 100644 (file)
     @param request The request to use in creating a datasource.
     @result Returns an initialized WebDataSource.
 */
-- (id)initWithRequest:(NSURLRequest *)request;
+- (instancetype)initWithRequest:(NSURLRequest *)request;
 
 /*!
-    @method data
-    @discussion The data will be incomplete until the datasource has completely loaded.  
-    @result Returns the raw data associated with the datasource.  Returns nil
+    @property data
+    @abstract Returns the raw data associated with the datasource.  Returns nil
     if the datasource hasn't loaded any data.
+   @discussion The data will be incomplete until the datasource has completely loaded.
 */
-- (NSData *)data;
+@property (nonatomic, readonly, copy) NSData *data;
 
 /*!
-    @method representation
+    @property representation
+    @abstract The representation associated with this datasource.
+    Returns nil if the datasource hasn't created its representation.
     @discussion A representation holds a type specific representation
     of the datasource's data.  The representation class is determined by mapping
     a MIME type to a class.  The representation is created once the MIME type
     of the datasource content has been determined.
-    @result Returns the representation associated with this datasource.
-    Returns nil if the datasource hasn't created it's representation.
 */
-- (id <WebDocumentRepresentation>)representation;
+@property (nonatomic, readonly, strong) id<WebDocumentRepresentation> representation;
 
 /*!
-    @method webFrame
-    @result Return the frame that represents this data source.
+    @property webFrame
+    @abstract The frame that represents this data source.
 */
-- (WebFrame *)webFrame;
+@property (nonatomic, readonly, strong) WebFrame *webFrame;
 
 /*!
-    @method initialRequest
-    @result Returns a reference to the original request that created the
+    @property initialRequest
+    @abstract A reference to the original request that created the
     datasource.  This request will be unmodified by WebKit. 
 */
-- (NSURLRequest *)initialRequest;
+@property (nonatomic, readonly, strong) NSURLRequest *initialRequest;
 
 /*!
-    @method request
-    @result Returns the request that was used to create this datasource.
+    @property request
+    @abstract The request that was used to create this datasource.
 */
-- (NSMutableURLRequest *)request;
+@property (nonatomic, readonly, strong) NSMutableURLRequest *request;
 
 /*!
-    @method response
-    @result returns the WebResourceResponse for the data source.
+    @property response
+    @abstract The NSURLResponse for the data source.
 */
-- (NSURLResponse *)response;
+@property (nonatomic, readonly, strong) NSURLResponse *response;
 
 /*!
-    @method textEncodingName
-    @result Returns either the override encoding, as set on the WebView for this 
+    @property textEncodingName
+    @abstract Returns either the override encoding, as set on the WebView for this
     dataSource or the encoding from the response.
 */
-- (NSString *)textEncodingName;
+@property (nonatomic, readonly, copy) NSString *textEncodingName;
 
 /*!
-    @method isLoading
-    @discussion Returns YES if there are any pending loads.
+    @property isLoading
+    @abstract Returns YES if there are any pending loads.
 */
-- (BOOL)isLoading;
+@property (nonatomic, getter=isLoading, readonly) BOOL loading;
 
 /*!
-    @method pageTitle
-    @result Returns nil or the page title.
+    @property pageTitle
+    @abstract The page title or nil.
 */
-- (NSString *)pageTitle;
+@property (nonatomic, readonly, copy) NSString *pageTitle;
 
 /*!
-    @method unreachableURL
+    @property unreachableURL
+    @abstract The unreachableURL for which this dataSource is showing alternate content, or nil.
     @discussion This will be non-nil only for dataSources created by calls to the 
     WebFrame method loadAlternateHTMLString:baseURL:forUnreachableURL:.
-    @result returns the unreachableURL for which this dataSource is showing alternate content, or nil
 */
-- (NSURL *)unreachableURL;
+@property (nonatomic, readonly, strong) NSURL *unreachableURL;
 
 /*!
-    @method webArchive
-    @result A WebArchive representing the data source, its subresources and child frames.
+    @property webArchive
+    @abstract A WebArchive representing the data source, its subresources and child frames.
     @description This method constructs a WebArchive using the original downloaded data.
     In the case of HTML, if the current state of the document is preferred, webArchive should be
     called on the DOM document instead.
 */
-- (WebArchive *)webArchive;
+@property (nonatomic, readonly, strong) WebArchive *webArchive;
 
 /*!
-    @method mainResource
-    @result A WebResource representing the data source.
+    @property mainResource
+    @abstract A WebResource representing the data source.
     @description This method constructs a WebResource using the original downloaded data.
     This method can be used to construct a WebArchive in case the archive returned by
     WebDataSource's webArchive isn't sufficient.
 */
-- (WebResource *)mainResource;
+@property (nonatomic, readonly, strong) WebResource *mainResource;
 
 /*!
-    @method subresources
-    @abstract Returns all the subresources associated with the data source.
+    @property subresources
+    @abstract All the subresources associated with the data source.
     @description The returned array only contains subresources that have fully downloaded.
 */
-- (NSArray *)subresources;
+@property (nonatomic, readonly, copy) NSArray *subresources;
 
 /*!
     method subresourceForURL:
index a949ee6..6a96482 100644 (file)
@@ -427,7 +427,7 @@ static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCCl
 
 @implementation WebDataSource
 
-- (id)initWithRequest:(NSURLRequest *)request
+- (instancetype)initWithRequest:(NSURLRequest *)request
 {
     return [self _initWithDocumentLoader:WebDocumentLoaderMac::create(request, SubstituteData())];
 }
index 5de9ef0..60de008 100644 (file)
 @class DOMRange;
 @class WebView;
 
-typedef enum {
+typedef NS_ENUM(NSInteger, WebViewInsertAction) {
     WebViewInsertActionTyped,
     WebViewInsertActionPasted,
     WebViewInsertActionDropped,
-} WebViewInsertAction;
+};
 
 @interface NSObject (WebViewEditingDelegate)
 - (BOOL)webView:(WebView *)webView shouldBeginEditingInDOMRange:(DOMRange *)range;
index d419890..a939b41 100644 (file)
     @param webView The WebView that manages the frame.
     @result Returns an initialized WebFrame.
 */
-- (id)initWithName:(NSString *)name webFrameView:(WebFrameView *)view webView:(WebView *)webView;
+- (instancetype)initWithName:(NSString *)name webFrameView:(WebFrameView *)view webView:(WebView *)webView;
 
 /*!
-    @method name
-    @result The frame name.
+    @property name
+    @abstract The frame name.
 */
-- (NSString *)name;
+@property (nonatomic, readonly, copy) NSString *name;
 
 /*!
-    @method webView
-    @result Returns the WebView for the document that includes this frame.
+    @property webView
+    @abstract The WebView for the document that includes this frame.
 */
-- (WebView *)webView;
+@property (nonatomic, readonly, strong) WebView *webView;
 
 /*!
-    @method frameView
-    @result The WebFrameView for this frame.
+    @property frameView
+    @abstract The WebFrameView for this frame.
 */
-- (WebFrameView *)frameView;
+@property (nonatomic, readonly, strong) WebFrameView *frameView;
 
 /*!
-    @method DOMDocument
-    @abstract Returns the DOM document of the frame.
+    @property DOMDocument
+    @abstract The DOM document of the frame.
     @description Returns nil if the frame does not contain a DOM document such as a standalone image.
 */
-- (DOMDocument *)DOMDocument;
+@property (nonatomic, readonly, strong) DOMDocument *DOMDocument;
 
 /*!
-    @method frameElement
-    @abstract Returns the frame element of the frame.
+    @property frameElement
+    @abstract The frame element of the frame.
     @description The class of the result is either DOMHTMLFrameElement, DOMHTMLIFrameElement or DOMHTMLObjectElement.
     Returns nil if the frame is the main frame since there is no frame element for the frame in this case.
 */
-- (DOMHTMLElement *)frameElement;
+@property (nonatomic, readonly, strong) DOMHTMLElement *frameElement;
 
 /*!
     @method loadRequest:
 - (void)loadArchive:(WebArchive *)archive;
 
 /*!
-    @method dataSource
+    @property dataSource
+    @abstract The datasource for this frame.
     @discussion Returns the committed data source.  Will return nil if the
     provisional data source hasn't yet been loaded.
-    @result The datasource for this frame.
 */
-- (WebDataSource *)dataSource;
+@property (nonatomic, readonly, strong) WebDataSource *dataSource;
 
 /*!
-    @method provisionalDataSource
+    @property provisionalDataSource
+    @abstract The provisional datasource of this frame.
     @discussion Will return the provisional data source.  The provisional data source will
     be nil if no data source has been set on the frame, or the data source
     has successfully transitioned to the committed data source.
-    @result The provisional datasource of this frame.
 */
-- (WebDataSource *)provisionalDataSource;
+@property (nonatomic, readonly, strong) WebDataSource *provisionalDataSource;
 
 /*!
     @method stopLoading
 - (WebFrame *)findFrameNamed:(NSString *)name;
 
 /*!
-    @method parentFrame
-    @result The frame containing this frame, or nil if this is a top level frame.
+    @property parentFrame
+    @abstract The frame containing this frame, or nil if this is a top level frame.
 */
-- (WebFrame *)parentFrame;
+@property (nonatomic, readonly, strong) WebFrame *parentFrame;
 
 /*!
-    @method childFrames
+    @property childFrames
+    @abstract An array of WebFrame.
     @discussion The frames in the array are associated with a frame set or iframe.
-    @result Returns an array of WebFrame.
 */
-- (NSArray *)childFrames;
+@property (nonatomic, readonly, copy) NSArray *childFrames;
 
 /*!
-    @method windowObject
-    @result The WebScriptObject representing the frame's JavaScript window object.
+    @property windowObject
+    @abstract The WebScriptObject representing the frame's JavaScript window object.
 */
-- (WebScriptObject *)windowObject;
+@property (nonatomic, readonly, strong) WebScriptObject *windowObject;
 
 /*!
-    @method globalContext
-    @result The frame's global JavaScript execution context. Use this method to
-    bridge between the WebKit and JavaScriptCore APIs.
+    @property globalContext
+    @abstract The frame's global JavaScript execution context.
+    @discussion Use this method to bridge between the WebKit and JavaScriptCore APIs.
 */
-- (JSGlobalContextRef)globalContext;
+@property (nonatomic, readonly) JSGlobalContextRef globalContext;
 
 #if JSC_OBJC_API_ENABLED
 /*!
-    @method javaScriptContext
-    @result The frame's global JavaScript execution context. Use this method to 
-    bridge between the WebKit and Objective-C JavaScriptCore API.
+    @property javaScriptContext
+    @abstract The frame's global JavaScript execution context.
+    @discussion Use this method to bridge between the WebKit and Objective-C JavaScriptCore API.
 */
-- (JSContext *)javaScriptContext;
+@property (nonatomic, readonly, strong) JSContext *javaScriptContext;
 #endif // JSC_OBJC_API_ENABLED
 
 @end
index e4b2bed..8232339 100644 (file)
@@ -1307,13 +1307,13 @@ static inline WebDataSource *dataSource(DocumentLoader* loader)
 
 @implementation WebFrame
 
-- (id)init
+- (instancetype)init
 {
     return nil;
 }
 
 // Should be deprecated.
-- (id)initWithName:(NSString *)name webFrameView:(WebFrameView *)view webView:(WebView *)webView
+- (instancetype)initWithName:(NSString *)name webFrameView:(WebFrameView *)view webView:(WebView *)webView
 {
     return nil;
 }
index e170403..e89068e 100644 (file)
 }
 
 /*!
-    @method webFrame
-    @abstract Returns the WebFrame associated with this WebFrameView
-    @result The WebFrameView's frame.
+    @property webFrame
+    @abstract The WebFrame associated with this WebFrameView
 */
-- (WebFrame *)webFrame;
+@property (nonatomic, readonly, strong) WebFrame *webFrame;
 
 /*!
-    @method documentView
-    @abstract Returns the WebFrameView's document subview
-    @result The subview that renders the WebFrameView's contents
+    @property documentView
+    @abstract The WebFrameView's document subview
+    @discussion The subview that renders the WebFrameView's contents
 */
-- (NSView <WebDocumentView> *)documentView;
+@property (nonatomic, readonly, strong) NSView<WebDocumentView> *documentView;
 
 /*!
-    @method setAllowsScrolling:
-    @abstract Sets whether the WebFrameView allows its document to be scrolled
-    @param flag YES to allow the document to be scrolled, NO to disallow scrolling
+    @property allowsScrolling
+    @abstract Whether the WebFrameView allows its document to be scrolled
 */
-- (void)setAllowsScrolling:(BOOL)flag;
+@property (nonatomic) BOOL allowsScrolling;
 
 /*!
-    @method allowsScrolling
-    @abstract Returns whether the WebFrameView allows its document to be scrolled
-    @result YES if the document is allowed to scroll, otherwise NO
+    @property canPrintHeadersAndFooters
+    @abstract Whether this frame can print headers and footers
 */
-- (BOOL)allowsScrolling;
-
-/*!
-    @method canPrintHeadersAndFooters
-    @abstract Tells whether this frame can print headers and footers
-    @result YES if the frame can, no otherwise
-*/
-- (BOOL)canPrintHeadersAndFooters;
+@property (nonatomic, readonly) BOOL canPrintHeadersAndFooters;
 
 /*!
     @method printOperationWithPrintInfo
 - (NSPrintOperation *)printOperationWithPrintInfo:(NSPrintInfo *)printInfo;
 
 /*!
-    @method documentViewShouldHandlePrint
+    @property documentViewShouldHandlePrint
     @abstract Called by the host application before it initializes and runs a print operation.
-    @result If NO is returned, the host application will abort its print operation and call -printDocumentView on the
+    @discussion If NO is returned, the host application will abort its print operation and call -printDocumentView on the
     WebFrameView.  The document view is then expected to run its own print operation.  If YES is returned, the host 
     application's print operation will continue as normal.
 */
-- (BOOL)documentViewShouldHandlePrint;
+@property (nonatomic, readonly) BOOL documentViewShouldHandlePrint;
 
 /*!
     @method printDocumentView
index 01d0843..846d28d 100644 (file)
     @constant WebNavigationTypeOther Navigation is taking place for some other reason.
 */
 
-typedef enum {
+typedef NS_ENUM(NSInteger, WebNavigationType) {
     WebNavigationTypeLinkClicked,
     WebNavigationTypeFormSubmitted,
     WebNavigationTypeBackForward,
     WebNavigationTypeReload,
     WebNavigationTypeFormResubmitted,
     WebNavigationTypeOther
-} WebNavigationType;
+};
 
 extern NSString *WebActionNavigationTypeKey; // NSNumber (WebNavigationType)
 extern NSString *WebActionElementKey; // NSDictionary of element info
index 932656b..668d912 100644 (file)
@@ -57,12 +57,11 @@ and/or on disk.
 
 Examples: Safari, OmniWeb, Shiira.
 */
-enum {
+typedef NS_ENUM(NSUInteger, WebCacheModel) {
     WebCacheModelDocumentViewer = 0,
     WebCacheModelDocumentBrowser = 1,
     WebCacheModelPrimaryWebBrowser = 2
 };
-typedef NSUInteger WebCacheModel;
 
 typedef struct WebPreferencesPrivate WebPreferencesPrivate;
 
@@ -91,357 +90,177 @@ extern NSString *WebPreferencesChangedNotification;
     for the WebPreferences.
     @result Returns a new instance of WebPreferences or a previously allocated instance with the same identifier.
 */
-- (id)initWithIdentifier:(NSString *)anIdentifier;
+- (instancetype)initWithIdentifier:(NSString *)anIdentifier;
 
 /*!
     @method identifier
     @result Returns the identifier for this WebPreferences.
 */
-- (NSString *)identifier;
+@property (nonatomic, readonly, copy) NSString *identifier;
 
 /*!
-    @method standardFontFamily
+    @property standardFontFamily
 */
-- (NSString *)standardFontFamily;
+@property (nonatomic, copy) NSString *standardFontFamily;
 
 /*!
-    @method setStandardFontFamily:
-    @param family
+    @property fixedFontFamily
 */
-- (void)setStandardFontFamily:(NSString *)family;
+@property (nonatomic, copy) NSString *fixedFontFamily;
 
 /*!
-    @method fixedFontFamily
+    @property serifFontFamily
 */
-- (NSString *)fixedFontFamily;
+@property (nonatomic, copy) NSString *serifFontFamily;
 
 /*!
-    @method setFixedFontFamily:
-    @param family
+    @property sansSerifFontFamily
 */
-- (void)setFixedFontFamily:(NSString *)family;
+@property (nonatomic, copy) NSString *sansSerifFontFamily;
 
 /*!
-    @method serifFontFamily
+    @property cursiveFontFamily
 */
-- (NSString *)serifFontFamily;
+@property (nonatomic, copy) NSString *cursiveFontFamily;
 
 /*!
-    @method setSerifFontFamily:
-    @param family
+    @property fantasyFontFamily
 */
-- (void)setSerifFontFamily:(NSString *)family;
+@property (nonatomic, copy) NSString *fantasyFontFamily;
 
 /*!
-    @method sansSerifFontFamily
+    @property defaultFontSize
 */
-- (NSString *)sansSerifFontFamily;
+@property (nonatomic) int defaultFontSize;
 
 /*!
-    @method setSansSerifFontFamily:
-    @param family
+    @property defaultFixedFontSize
 */
-- (void)setSansSerifFontFamily:(NSString *)family;
+@property (nonatomic) int defaultFixedFontSize;
 
 /*!
-    @method cursiveFontFamily
+    @property minimumFontSize
 */
-- (NSString *)cursiveFontFamily;
-
-/*!
-    @method setCursiveFontFamily:
-    @param family
-*/
-- (void)setCursiveFontFamily:(NSString *)family;
-
-/*!
-    @method fantasyFontFamily
-*/
-- (NSString *)fantasyFontFamily;
-
-/*!
-    @method setFantasyFontFamily:
-    @param family
-*/
-- (void)setFantasyFontFamily:(NSString *)family;
-
-/*!
-    @method defaultFontSize
-*/
-- (int)defaultFontSize;
-
-/*!
-    @method setDefaultFontSize:
-    @param size
-*/
-- (void)setDefaultFontSize:(int)size;
-
-/*!
-    @method defaultFixedFontSize
-*/
-- (int)defaultFixedFontSize;
-
-/*!
-    @method setDefaultFixedFontSize:
-    @param size
-*/
-- (void)setDefaultFixedFontSize:(int)size;
-
-/*!
-    @method minimumFontSize
-*/
-- (int)minimumFontSize;
-
-/*!
-    @method setMinimumFontSize:
-    @param size
-*/
-- (void)setMinimumFontSize:(int)size;
+@property (nonatomic) int minimumFontSize;
 
 /*!
     @method minimumLogicalFontSize
 */
-- (int)minimumLogicalFontSize;
-
-/*!
-    @method setMinimumLogicalFontSize:
-    @param size
-*/
-- (void)setMinimumLogicalFontSize:(int)size;
-
-/*!
-    @method defaultTextEncodingName
-*/
-- (NSString *)defaultTextEncodingName;
+@property (nonatomic) int minimumLogicalFontSize;
 
 /*!
-    @method setDefaultTextEncodingName:
-    @param encoding
+    @property defaultTextEncodingName
 */
-- (void)setDefaultTextEncodingName:(NSString *)encoding;
+@property (nonatomic, copy) NSString *defaultTextEncodingName;
 
 /*!
-    @method userStyleSheetEnabled
+    @property userStyleSheetEnabled
 */
-- (BOOL)userStyleSheetEnabled;
+@property (nonatomic) BOOL userStyleSheetEnabled;
 
 /*!
-    @method setUserStyleSheetEnabled:
-    @param flag
+    @property userStyleSheetLocation
+    @abstract The location of the user style sheet.
 */
-- (void)setUserStyleSheetEnabled:(BOOL)flag;
+@property (nonatomic, strong) NSURL *userStyleSheetLocation;
 
 /*!
-    @method userStyleSheetLocation
-    @discussion The location of the user style sheet.
+    @property javaEnabled
 */
-- (NSURL *)userStyleSheetLocation;
+@property (nonatomic, getter=isJavaEnabled) BOOL javaEnabled;
 
 /*!
-    @method setUserStyleSheetLocation:
-    @param URL The location of the user style sheet.
+    @property javaScriptEnabled
 */
-- (void)setUserStyleSheetLocation:(NSURL *)URL;
+@property (nonatomic, getter=isJavaScriptEnabled) BOOL javaScriptEnabled;
 
 /*!
-    @method isJavaEnabled
+    @property javaScriptCanOpenWindowsAutomatically
 */
-- (BOOL)isJavaEnabled;
+@property (nonatomic) BOOL javaScriptCanOpenWindowsAutomatically;
 
 /*!
-    @method setJavaEnabled:
-    @param flag
+    @property plugInsEnabled
 */
-- (void)setJavaEnabled:(BOOL)flag;
+@property (nonatomic, getter=arePlugInsEnabled) BOOL plugInsEnabled;
 
 /*!
-    @method isJavaScriptEnabled
+    @property allowsAnimatedImages
 */
-- (BOOL)isJavaScriptEnabled;
+@property (nonatomic) BOOL allowsAnimatedImages;
 
 /*!
-    @method setJavaScriptEnabled:
-    @param flag
+    @property allowsAnimatedImageLooping
 */
-- (void)setJavaScriptEnabled:(BOOL)flag;
+@property (nonatomic) BOOL allowsAnimatedImageLooping;
 
 /*!
-    @method JavaScriptCanOpenWindowsAutomatically
+    @property willLoadImagesAutomatically
 */
-- (BOOL)javaScriptCanOpenWindowsAutomatically;
+@property (nonatomic) BOOL loadsImagesAutomatically;
 
 /*!
-    @method setJavaScriptCanOpenWindowsAutomatically:
-    @param flag
-*/
-- (void)setJavaScriptCanOpenWindowsAutomatically:(BOOL)flag;
-
-/*!
-    @method arePlugInsEnabled
-*/
-- (BOOL)arePlugInsEnabled;
-
-/*!
-    @method setPlugInsEnabled:
-    @param flag
-*/
-- (void)setPlugInsEnabled:(BOOL)flag;
-
-/*!
-    @method allowAnimatedImages
-*/
-- (BOOL)allowsAnimatedImages;
-
-/*!
-    @method setAllowAnimatedImages:
-    @param flag
-*/
-- (void)setAllowsAnimatedImages:(BOOL)flag;
-
-/*!
-    @method allowAnimatedImageLooping
-*/
-- (BOOL)allowsAnimatedImageLooping;
-
-/*!
-    @method setAllowAnimatedImageLooping:
-    @param flag
-*/
-- (void)setAllowsAnimatedImageLooping: (BOOL)flag;
-
-/*!
-    @method setWillLoadImagesAutomatically:
-    @param flag
-*/
-- (void)setLoadsImagesAutomatically: (BOOL)flag;
-
-/*!
-    @method willLoadImagesAutomatically
-*/
-- (BOOL)loadsImagesAutomatically;
-
-/*!
-    @method setAutosaves:
-    @param flag 
-    @discussion If autosave preferences is YES the settings represented by
+    @property autosaves
+    @discussion If autosaves is YES the settings represented by
     WebPreferences will be stored in the user defaults database.
 */
-- (void)setAutosaves:(BOOL)flag;
-
-/*!
-    @method autosaves
-    @result The value of the autosave preferences flag.
-*/
-- (BOOL)autosaves;
+@property (nonatomic) BOOL autosaves;
 
 /*!
-    @method setShouldPrintBackgrounds:
-    @param flag
+    @property shouldPrintBackgrounds
 */
-- (void)setShouldPrintBackgrounds:(BOOL)flag;
+@property (nonatomic) BOOL shouldPrintBackgrounds;
 
 /*!
-    @method shouldPrintBackgrounds
-    @result The value of the shouldPrintBackgrounds preferences flag
-*/
-- (BOOL)shouldPrintBackgrounds;
-
-/*!
-    @method setPrivateBrowsingEnabled:
-    @param flag 
+    @property privateBrowsingEnabled:
     @abstract If private browsing is enabled, WebKit will not store information
     about sites the user visits.
  */
-- (void)setPrivateBrowsingEnabled:(BOOL)flag;
-
-/*!
-    @method privateBrowsingEnabled
- */
-- (BOOL)privateBrowsingEnabled;
+@property (nonatomic) BOOL privateBrowsingEnabled;
 
 /*!
-    @method setTabsToLinks:
-    @param flag 
-    @abstract If tabsToLinks is YES, the tab key will focus links and form controls. 
+    @property tabsToLinks
+    @abstract If tabsToLinks is YES, the tab key will focus links and form controls.
     The option key temporarily reverses this preference.
 */
-- (void)setTabsToLinks:(BOOL)flag;
+@property (nonatomic) BOOL tabsToLinks;
 
 /*!
-    @method tabsToLinks
-*/
-- (BOOL)tabsToLinks;
-
-/*!
-    @method setUsesPageCache:
-    @abstract Sets whether the receiver's associated WebViews use the shared 
+    @property usesPageCache
+    @abstract Whether the receiver's associated WebViews use the shared
     page cache.
-    @param UsesPageCache Whether the receiver's associated WebViews use the 
-    shared page cache.
     @discussion Pages are cached as they are added to a WebBackForwardList, and
     removed from the cache as they are removed from a WebBackForwardList. Because 
     the page cache is global, caching a page in one WebBackForwardList may cause
     a page in another WebBackForwardList to be evicted from the cache.
 */
-- (void)setUsesPageCache:(BOOL)usesPageCache;
-
-/*!
-    @method usesPageCache
-    @abstract Returns whether the receiver should use the shared page cache.
-    @result Whether the receiver should use the shared page cache.
-    @discussion Pages are cached as they are added to a WebBackForwardList, and
-    removed from the cache as they are removed from a WebBackForwardList. Because 
-    the page cache is global, caching a page in one WebBackForwardList may cause
-    a page in another WebBackForwardList to be evicted from the cache.
-*/
-- (BOOL)usesPageCache;
-
-/*!
-@method setCacheModel:
-
-@abstract Specifies a usage model for a WebView, which WebKit will use to 
-determine its caching behavior.
-
-@param cacheModel The WebView's usage model for WebKit. If necessary, WebKit 
-will prune its caches to match cacheModel.
-
-@discussion Research indicates that users tend to browse within clusters of 
-documents that hold resources in common, and to revisit previously visited 
-documents. WebKit and the frameworks below it include built-in caches that take 
-advantage of these patterns, substantially improving document load speed in 
-browsing situations. The WebKit cache model controls the behaviors of all of 
-these caches, including NSURLCache and the various WebCore caches.
-
-Applications with a browsing interface can improve document load speed 
-substantially by specifying WebCacheModelDocumentBrowser. Applications without 
-a browsing interface can reduce memory usage substantially by specifying 
-WebCacheModelDocumentViewer.
-
-If setCacheModel: is not called, WebKit will select a cache model automatically.
-*/
-- (void)setCacheModel:(WebCacheModel)cacheModel;
+@property (nonatomic) BOOL usesPageCache;
 
 /*!
-@method cacheModel:
+    @property cacheModel
+    @abstract Specifies a usage model for a WebView, which WebKit will use to
+    determine its caching behavior. If necessary, WebKit
+    will prune its caches to match cacheModel when set.
 
-@abstract Returns the usage model according to which WebKit determines its 
-caching behavior.
+    @discussion Research indicates that users tend to browse within clusters of
+    documents that hold resources in common, and to revisit previously visited
+    documents. WebKit and the frameworks below it include built-in caches that take
+    advantage of these patterns, substantially improving document load speed in
+    browsing situations. The WebKit cache model controls the behaviors of all of
+    these caches, including NSURLCache and the various WebCore caches.
 
-@result The usage model.
-*/
-- (WebCacheModel)cacheModel;
+    Applications with a browsing interface can improve document load speed
+    substantially by specifying WebCacheModelDocumentBrowser. Applications without
+    a browsing interface can reduce memory usage substantially by specifying
+    WebCacheModelDocumentViewer.
 
-/*!
-    @method setSuppressesIncrementalRendering:
-    @param suppressesIncrementalRendering YES to suppress incremental rendering;
-    NO otherwise.
+    If cacheModel is not set, WebKit will select a cache model automatically.
 */
-- (void)setSuppressesIncrementalRendering:(BOOL)suppressesIncrementalRendering;
+@property (nonatomic) WebCacheModel cacheModel;
 
 /*!
-    @method suppressesIncrementalRendering
-    @result YES if the WebView suppresses incremental rendering; NO otherwise.
+    @property suppressesIncrementalRendering
 */
-- (BOOL)suppressesIncrementalRendering;
+@property (nonatomic) BOOL suppressesIncrementalRendering;
 
 @end
index 11235f2..fb9a1ef 100644 (file)
@@ -188,7 +188,7 @@ public:
 
 @implementation WebPreferences
 
-- (id)init
+- (instancetype)init
 {
     // Create fake identifier
     static int instanceCount = 1;
@@ -203,7 +203,7 @@ public:
     return [self initWithIdentifier:fakeIdentifier];
 }
 
-- (id)initWithIdentifier:(NSString *)anIdentifier
+- (instancetype)initWithIdentifier:(NSString *)anIdentifier
 {
     WebPreferences *instance = [[self class] _getInstanceForIdentifier:anIdentifier];
     if (instance) {
@@ -228,7 +228,7 @@ public:
     return self;
 }
 
-- (id)initWithCoder:(NSCoder *)decoder
+- (instancetype)initWithCoder:(NSCoder *)decoder
 {
     self = [super init];
     if (!self)
@@ -853,7 +853,7 @@ public:
 
 - (WebCacheModel)cacheModel
 {
-    return [self _integerValueForKey:WebKitCacheModelPreferenceKey];
+    return (WebCacheModel)[self _integerValueForKey:WebKitCacheModelPreferenceKey];
 }
 
 
index 7d817b7..25e7a4c 100644 (file)
     @param frameName The frame name of the resource if the resource represents the contents of an entire HTML frame (can be nil).
     @result An initialized WebResource.
 */
-- (id)initWithData:(NSData *)data URL:(NSURL *)URL MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName frameName:(NSString *)frameName;
+- (instancetype)initWithData:(NSData *)data URL:(NSURL *)URL MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName frameName:(NSString *)frameName;
 
 /*!
-    @method data
-    @result The data of the resource.
+    @property data
+    @abstract The data of the resource.
 */
-- (NSData *)data;
+@property (nonatomic, readonly, copy) NSData *data;
 
 /*!
-    @method URL
-    @result The URL of the resource.
+    @property URL
+    @abstract The URL of the resource.
 */
-- (NSURL *)URL;
+@property (nonatomic, readonly, strong) NSURL *URL;
 
 /*!
-    @method MIMEType
-    @result The MIME type of the resource.
+    @property MIMEType
+    @abstract The MIME type of the resource.
 */
-- (NSString *)MIMEType;
+@property (nonatomic, readonly, copy) NSString *MIMEType;
 
 /*!
-    @method textEncodingName
-    @result The text encoding name of the resource (can be nil).
+    @property textEncodingName
+    @abstract The text encoding name of the resource (can be nil).
 */
-- (NSString *)textEncodingName;
+@property (nonatomic, readonly, copy) NSString *textEncodingName;
 
 /*!
-    @method frameName
-    @result The frame name of the resource if the resource represents the contents of an entire HTML frame (can be nil).
+    @property frameName
+    @abstract The frame name of the resource if the resource represents the contents of an entire HTML frame (can be nil).
 */
-- (NSString *)frameName;
+@property (nonatomic, readonly, copy) NSString *frameName;
 
 @end
index ac2e0a6..1d9606b 100644 (file)
@@ -59,7 +59,7 @@ static NSString * const WebResourceResponseKey =          @"WebResourceResponse"
 @public
     ArchiveResource* coreResource;
 }
-- (id)initWithCoreResource:(PassRefPtr<ArchiveResource>)coreResource;
+- (instancetype)initWithCoreResource:(PassRefPtr<ArchiveResource>)coreResource;
 @end
 
 @implementation WebResourcePrivate
@@ -72,12 +72,12 @@ static NSString * const WebResourceResponseKey =          @"WebResourceResponse"
     WebCoreObjCFinalizeOnMainThread(self);
 }
 
-- (id)init
+- (instancetype)init
 {
     return [super init];
 }
 
-- (id)initWithCoreResource:(PassRefPtr<ArchiveResource>)passedResource
+- (instancetype)initWithCoreResource:(PassRefPtr<ArchiveResource>)passedResource
 {
     self = [super init];
     if (!self)
@@ -108,7 +108,7 @@ static NSString * const WebResourceResponseKey =          @"WebResourceResponse"
 
 @implementation WebResource
 
-- (id)init
+- (instancetype)init
 {
     self = [super init];
     if (!self)
@@ -117,12 +117,12 @@ static NSString * const WebResourceResponseKey =          @"WebResourceResponse"
     return self;
 }
 
-- (id)initWithData:(NSData *)data URL:(NSURL *)URL MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName frameName:(NSString *)frameName
+- (instancetype)initWithData:(NSData *)data URL:(NSURL *)URL MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName frameName:(NSString *)frameName
 {
     return [self _initWithData:data URL:URL MIMEType:MIMEType textEncodingName:textEncodingName frameName:frameName response:nil copyData:YES];
 }
 
-- (id)initWithCoder:(NSCoder *)decoder
+- (instancetype)initWithCoder:(NSCoder *)decoder
 {
     WebCoreThreadViolationCheckRoundTwo();
 
index 37e0071..1502ca7 100644 (file)
@@ -81,13 +81,13 @@ enum {
     @constant WebDragDestinationActionLoad Allows a location change from the drag
     @constant WebDragDestinationActionAny Allows any of the above to occur
 */
-typedef enum {
+typedef NS_OPTIONS(NSUInteger, WebDragDestinationAction) {
     WebDragDestinationActionNone    = 0,
     WebDragDestinationActionDHTML   = 1,
     WebDragDestinationActionEdit    = 2,
     WebDragDestinationActionLoad    = 4,
     WebDragDestinationActionAny     = UINT_MAX
-} WebDragDestinationAction;
+};
 
 /*!
     @enum WebDragSourceAction
@@ -99,14 +99,14 @@ typedef enum {
     @constant WebDragSourceActionSelection Allows a selection drag to occur
     @constant WebDragSourceActionAny Allows any of the above to occur
 */
-typedef enum {
+typedef NS_OPTIONS(NSUInteger, WebDragSourceAction) {
     WebDragSourceActionNone         = 0,
     WebDragSourceActionDHTML        = 1,
     WebDragSourceActionImage        = 2,
     WebDragSourceActionLink         = 4,
     WebDragSourceActionSelection    = 8,
     WebDragSourceActionAny          = UINT_MAX
-} WebDragSourceAction;
+};
 
 /*!
     @protocol WebOpenPanelResultListener
index 503ef3a..596861c 100644 (file)
@@ -183,7 +183,7 @@ extern NSString *WebViewProgressFinishedNotification;
     @param groupName The name of the webView set to which this webView will be added.  May be nil.
     @result Returns an initialized WebView.
 */
-- (id)initWithFrame:(NSRect)frame frameName:(NSString *)frameName groupName:(NSString *)groupName;
+- (instancetype)initWithFrame:(NSRect)frame frameName:(NSString *)frameName groupName:(NSString *)groupName;
 
 /*!
     @method close
@@ -198,113 +198,62 @@ extern NSString *WebViewProgressFinishedNotification;
 - (void)close;
 
 /*!
-    @method setShouldCloseWithWindow:
-    @abstract Set whether the receiver closes when either it's window or hostWindow closes.
-    @param close YES if the receiver should close when either it's window or hostWindow closes, otherwise NO.
-*/
-- (void)setShouldCloseWithWindow:(BOOL)close;
-
-/*!
-    @method shouldCloseWithWindow
-    @abstract Returns whether the receiver closes when either it's window or hostWindow closes.
+    @property shouldCloseWithWindow
+    @abstract Whether the receiver closes when either it's window or hostWindow closes.
     @discussion Defaults to YES in garbage collected applications, otherwise NO to maintain backwards compatibility.
-    @result YES if the receiver closes when either it's window or hostWindow closes, otherwise NO.
 */
-- (BOOL)shouldCloseWithWindow;
-
-/*!
-    @method setUIDelegate:
-    @abstract Set the WebView's WebUIDelegate.
-    @param delegate The WebUIDelegate to set as the delegate.
-*/    
-- (void)setUIDelegate:(id)delegate;
+@property (nonatomic) BOOL shouldCloseWithWindow;
 
 /*!
-    @method UIDelegate
-    @abstract Return the WebView's WebUIDelegate.
-    @result The WebView's WebUIDelegate.
+    @property UIDelegate
+    @abstract The WebView's WebUIDelegate.
 */
-- (id)UIDelegate;
+@property (nonatomic, assign) id UIDelegate;
 
 /*!
-    @method setResourceLoadDelegate:
-    @abstract Set the WebView's WebResourceLoadDelegate load delegate.
-    @param delegate The WebResourceLoadDelegate to set as the load delegate.
+    @property resourceLoadDelegate
+    @abstract The WebView's WebResourceLoadDelegate.
 */
-- (void)setResourceLoadDelegate:(id)delegate;
-
-/*!
-    @method resourceLoadDelegate
-    @result Return the WebView's WebResourceLoadDelegate.
-*/    
-- (id)resourceLoadDelegate;
-
-/*!
-    @method setDownloadDelegate:
-    @abstract Set the WebView's WebDownloadDelegate.
-    @discussion The download delegate is retained by WebDownload when any downloads are in progress.
-    @param delegate The WebDownloadDelegate to set as the download delegate.
-*/    
-- (void)setDownloadDelegate:(id)delegate;
-
-/*!
-    @method downloadDelegate
-    @abstract Return the WebView's WebDownloadDelegate.
-    @result The WebView's WebDownloadDelegate.
-*/    
-- (id)downloadDelegate;
-
-/*!
-    @method setFrameLoadDelegate:
-    @abstract Set the WebView's WebFrameLoadDelegate delegate.
-    @param delegate The WebFrameLoadDelegate to set as the delegate.
-*/    
-- (void)setFrameLoadDelegate:(id)delegate;
+@property (nonatomic, assign) id resourceLoadDelegate;
 
 /*!
-    @method frameLoadDelegate
-    @abstract Return the WebView's WebFrameLoadDelegate delegate.
-    @result The WebView's WebFrameLoadDelegate delegate.
-*/    
-- (id)frameLoadDelegate;
+    @property downloadDelegate
+    @abstract The WebView's WebDownloadDelegate.
+*/
+@property (nonatomic, assign) id downloadDelegate;
 
 /*!
-    @method setPolicyDelegate:
-    @abstract Set the WebView's WebPolicyDelegate delegate.
-    @param delegate The WebPolicyDelegate to set as the delegate.
-*/    
-- (void)setPolicyDelegate:(id)delegate;
+    @property frameLoadDelegate
+    @abstract The WebView's WebFrameLoadDelegate delegate.
+*/
+@property (nonatomic, assign) id frameLoadDelegate;
 
 /*!
-    @method policyDelegate
-    @abstract Return the WebView's WebPolicyDelegate.
-    @result The WebView's WebPolicyDelegate.
-*/    
-- (id)policyDelegate;
+    @property policyDelegate
+    @abstract The WebView's WebPolicyDelegate.
+*/
+@property (nonatomic, assign) id policyDelegate;
 
 /*!
-    @method mainFrame
-    @abstract Return the top level frame.  
-    @discussion Note that even document that are not framesets will have a
-    mainFrame.
-    @result The main frame.
-*/    
-- (WebFrame *)mainFrame;
+    @property mainFrame
+    @abstract The top level frame.
+    @discussion Note that even documents that are not framesets will have a mainFrame.
+*/
+@property (nonatomic, readonly, strong) WebFrame *mainFrame;
 
 /*!
-    @method selectedFrame
-    @abstract Return the frame that has the active selection.  
+    @property selectedFrame
+    @abstract The frame that has the active selection.
     @discussion Returns the frame that contains the first responder, if any. Otherwise returns the
     frame that contains a non-zero-length selection, if any. Returns nil if no frame meets these criteria.
-    @result The selected frame.
 */
-- (WebFrame *)selectedFrame;
+@property (nonatomic, readonly, strong) WebFrame *selectedFrame;
 
 /*!
-    @method backForwardList
-    @result The backforward list for this webView.
+    @property backForwardList
+    @abstract The backforward list for this WebView.
 */    
-- (WebBackForwardList *)backForwardList;
+@property (nonatomic, readonly, strong) WebBackForwardList *backForwardList;
 
 /*!
     @method setMaintainsBackForwardList:
@@ -335,49 +284,33 @@ extern NSString *WebViewProgressFinishedNotification;
 - (BOOL)goToBackForwardItem:(WebHistoryItem *)item;
 
 /*!
-    @method setTextSizeMultiplier:
-    @abstract Change the size of the text rendering in views managed by this webView.
-    @param multiplier A fractional percentage value, 1.0 is 100%.
-*/    
-- (void)setTextSizeMultiplier:(float)multiplier;
-
-/*!
-    @method textSizeMultiplier
-    @result The text size multipler.
+    @property textSizeMultiplier
+    @abstract The text size multipler.
 */    
-- (float)textSizeMultiplier;
-
-/*!
-    @method setApplicationNameForUserAgent:
-    @abstract Set the application name. 
-    @discussion This name will be used in user-agent strings
-    that are chosen for best results in rendering web pages.
-    @param applicationName The application name
-*/
-- (void)setApplicationNameForUserAgent:(NSString *)applicationName;
+@property (nonatomic) float textSizeMultiplier;
 
 /*!
-    @method applicationNameForUserAgent
-    @result The name of the application as used in the user-agent string.
+    @property applicationNameForUserAgent
+    @abstract The name of the application as used in the user-agent string.
 */
-- (NSString *)applicationNameForUserAgent;
+@property (nonatomic, copy) NSString *applicationNameForUserAgent;
 
 /*!
     @method setCustomUserAgent:
     @abstract Set the user agent. 
-    @discussion Setting this means that the webView should use this user-agent string
-    instead of constructing a user-agent string for each URL. Setting it to nil
-    causes the webView to construct the user-agent string for each URL
-    for best results rendering web pages.
+    @discussion .
     @param userAgentString The user agent description
 */
-- (void)setCustomUserAgent:(NSString *)userAgentString;
 
 /*!
-    @method customUserAgent
-    @result The custom user-agent string or nil if no custom user-agent string has been set.
+    @property customUserAgent
+    @abstract The custom user-agent string or nil if no custom user-agent string has been set.
+    @discussion Setting this means that the webView should use this user-agent string
+ instead of constructing a user-agent string for each URL. Setting it to nil
+ causes the webView to construct the user-agent string for each URL
+ for best results rendering web pages
 */
-- (NSString *)customUserAgent;
+@property (nonatomic, copy) NSString *customUserAgent;
 
 /*!
     @method userAgentForURL:
@@ -389,45 +322,31 @@ extern NSString *WebViewProgressFinishedNotification;
 
 
 /*!
-    @method supportsTextEncoding
-    @abstract Find out if the current web page supports text encodings.
-    @result YES if the document view of the current web page can
-    support different text encodings.
+    @property supportsTextEncoding
+    @abstract If the document view of the current web page can support different text encodings.
 */
-- (BOOL)supportsTextEncoding;
+@property (nonatomic, readonly) BOOL supportsTextEncoding;
 
 /*!
-    @method setCustomTextEncodingName:
+    @property customTextEncodingName
+    @abstract The custom text encoding name or nil if no custom text encoding name has been set.
     @discussion Make the page display with a different text encoding; stops any load in progress.
     The text encoding passed in overrides the normal text encoding smarts including
     what's specified in a web page's header or HTTP response.
     The text encoding automatically goes back to the default when the top level frame
     changes to a new location.
     Setting the text encoding name to nil makes the webView use default encoding rules.
-    @param encoding The text encoding name to use to display a page or nil.
-*/
-- (void)setCustomTextEncodingName:(NSString *)encodingName;
-
-/*!
-    @method customTextEncodingName
-    @result The custom text encoding name or nil if no custom text encoding name has been set.
-*/
-- (NSString *)customTextEncodingName;
 
-/*!
-    @method setMediaStyle:
-    @discussion Set the media style for the WebView.  The mediaStyle will override the normal value
-    of the CSS media property.  Setting the value to nil will restore the normal value.
-    @param mediaStyle The value to use for the CSS media property.
 */
-- (void)setMediaStyle:(NSString *)mediaStyle;
+@property (nonatomic, copy) NSString *customTextEncodingName;
 
 /*!
     @method mediaStyle
-    @result mediaStyle The value to use for the CSS media property, as set by setMediaStyle:.  It
-    will be nil unless set by that method.
+    @abstract The media style for the WebView.
+    @discussion The mediaStyle will override the normal value
+    of the CSS media property. Setting the value to nil will restore the normal value. The value will be nil unless explicitly set.
 */
-- (NSString *)mediaStyle;
+@property (nonatomic, copy) NSString *mediaStyle;
 
 /*!
     @method stringByEvaluatingJavaScriptFromString:
@@ -437,58 +356,35 @@ extern NSString *WebViewProgressFinishedNotification;
 - (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;
 
 /*!
-    @method windowScriptObject
-    @discussion windowScriptObject return a WebScriptObject that represents the
+    @property windowScriptObject
+    @abstract A WebScriptObject that represents the
     window object from the script environment.
-    @result Returns the window object from the script environment.
-*/
-- (WebScriptObject *)windowScriptObject;
-
-/*!
-    @method setPreferences:
-    @param preferences The preferences to use for the webView.
-    @abstract Override the standard setting for the webView. 
 */
-- (void)setPreferences: (WebPreferences *)prefs;
+@property (nonatomic, readonly, strong) WebScriptObject *windowScriptObject;
 
 /*!
-    @method preferences
-    @result Returns the preferences used by this webView.
+    @property preferences
+    @abstract The preferences used by this WebView.
     @discussion This method will return [WebPreferences standardPreferences] if no
     other instance of WebPreferences has been set.
 */
-- (WebPreferences *)preferences;
-
-/*!
-    @method setPreferencesIdentifier:
-    @param anIdentifier The string to use a prefix for storing values for this WebView in the user
-    defaults database.
-    @discussion If the WebPreferences for this WebView are stored in the user defaults database, the
-    string set in this method will be used a key prefix.
-*/
-- (void)setPreferencesIdentifier:(NSString *)anIdentifier;
+@property (nonatomic, strong) WebPreferences *preferences;
 
 /*!
-    @method preferencesIdentifier
-    @result Returns the WebPreferences key prefix.
+    @property preferencesIdentifier
+    @abstract The WebPreferences key prefix.
+    @discussion If the WebPreferences for this WebView are stored in the user defaults database, this string will be used as a key prefix.
 */
-- (NSString *)preferencesIdentifier;
-
+@property (nonatomic, copy) NSString *preferencesIdentifier;
 
 /*!
-    @method setHostWindow:
-    @param hostWindow The host window for the web view.
+    @property hostWindow
+    @abstract The host window for the web view.
     @discussion Parts of WebKit (such as plug-ins and JavaScript) depend on a window to function
     properly. Set a host window so these parts continue to function even when the web view is
     not in an actual window.
 */
-- (void)setHostWindow:(NSWindow *)hostWindow;
-
-/*!
-    @method hostWindow
-    @result The host window for the web view.
-*/
-- (NSWindow *)hostWindow;
+@property (nonatomic, strong) NSWindow *hostWindow;
 
 /*!
     @method searchFor:direction:caseSensitive:
@@ -514,22 +410,15 @@ extern NSString *WebViewProgressFinishedNotification;
 */
 + (void)registerViewClass:(Class)viewClass representationClass:(Class)representationClass forMIMEType:(NSString *)MIMEType;
 
-
-/*!
-    @method setGroupName:
-    @param groupName The name of the group for this WebView.
-    @discussion JavaScript may access named frames within the same group. 
-*/
-- (void)setGroupName:(NSString *)groupName;
-
 /*!
-    @method groupName
-    @discussion The group name for this WebView.
+    @property groupName
+    @abstract The group name for this WebView.
+    @discussion JavaScript may access named frames within the same group.
 */
-- (NSString *)groupName;
+@property (nonatomic, copy) NSString *groupName;
 
 /*!
-    @method estimatedProgress
+    @property estimatedProgress
     @discussion An estimate of the percent complete for a document load.  This
     value will range from 0 to 1.0 and, once a load completes, will remain at 1.0 
     until a new load starts, at which point it will be reset to 0.  The value is an
@@ -538,13 +427,13 @@ extern NSString *WebViewProgressFinishedNotification;
     indication it is recommended that you implement a WebFrameLoadDelegate and a
     WebResourceLoadDelegate.
 */
-- (double)estimatedProgress;
+@property (nonatomic, readonly) double estimatedProgress;
 
 /*!
-    @method isLoading
-    @discussion Returns YES if there are any pending loads.
+    @property loading
+    @abstract Whether there are any pending loads in this WebView.
 */
-- (BOOL)isLoading;
+@property (nonatomic, getter=isLoading, readonly) BOOL loading;
 
 /*!
     @method elementAtPoint:
@@ -554,10 +443,10 @@ extern NSString *WebViewProgressFinishedNotification;
 - (NSDictionary *)elementAtPoint:(NSPoint)point;
 
 /*!
-    @method pasteboardTypesForSelection
-    @abstract Returns the pasteboard types that WebView can use for the current selection
+    @property pasteboardTypesForSelection
+    @abstract The pasteboard types that the WebView can use for the current selection
 */
-- (NSArray *)pasteboardTypesForSelection;
+@property (nonatomic, readonly, copy) NSArray *pasteboardTypesForSelection;
 
 /*!
     @method writeSelectionWithPasteboardTypes:toPasteboard:
@@ -598,64 +487,43 @@ extern NSString *WebViewProgressFinishedNotification;
 - (void)removeDragCaret;
 
 /*!
-    @method setDrawsBackground:
-    @param drawsBackround YES to cause the receiver to draw a default white background, NO otherwise.
-    @abstract Sets whether the receiver draws a default white background when the loaded page has no background specified.
-*/
-- (void)setDrawsBackground:(BOOL)drawsBackround;
-
-/*!
-    @method drawsBackground
-    @result Returns YES if the receiver draws a default white background, NO otherwise.
+    @property drawsBackground
+    @abstract Whether the receiver draws a default white background when the loaded page has no background specified.
 */
-- (BOOL)drawsBackground;
+@property (nonatomic) BOOL drawsBackground;
 
 /*!
-    @method setShouldUpdateWhileOffscreen:
-    @abstract Sets whether the receiver must update even when it is not in a window that is currently visible.
-    @param updateWhileOffscreen whether the receiver is required to render updates to the web page when it is not in a visible window.
-    @abstract If set to NO, then whenever the web view is not in a visible window, updates to the web page will not necessarily be rendered in the view.
+    @method shouldUpdateWhileOffscreen
+    @abstract Whether the WebView is always updated even when it is not in a window that is currently visible.
+    @discussion If set to NO, then whenever the web view is not in a visible window, updates to the web page will not necessarily be rendered in the view.
     However, when the window is made visible, the view will be updated automatically. Not updating while hidden can improve performance. If set to is YES,
     hidden web views are always updated. This is the default.
 */
-- (void)setShouldUpdateWhileOffscreen:(BOOL)updateWhileOffscreen;
-
-/*!
-    @method shouldUpdateWhileOffscreen
-    @result Returns whether the web view is always updated even when it is not in a window that is currently visible.
-*/
-- (BOOL)shouldUpdateWhileOffscreen;
-
-/*!
-    @method setMainFrameURL:
-    @param URLString The URL to load in the mainFrame.
-*/
-- (void)setMainFrameURL:(NSString *)URLString;
+@property (nonatomic) BOOL shouldUpdateWhileOffscreen;
 
 /*!
-    @method mainFrameURL
-    @result Returns the main frame's current URL.
+    @property mainFrameURL
+    @abstract The main frame's current URL.
 */
-- (NSString *)mainFrameURL;
+@property (nonatomic, copy) NSString *mainFrameURL;
 
 /*!
-    @method mainFrameDocument
-    @result Returns the main frame's DOMDocument.
+    @property mainFrameDocument
+    @abstract The main frame's DOMDocument.
 */
-- (DOMDocument *)mainFrameDocument;
+@property (nonatomic, readonly, strong) DOMDocument *mainFrameDocument;
 
 /*!
-    @method mainFrameTitle
-    @result Returns the main frame's title if any, otherwise an empty string.
+    @property mainFrameTitle
+    @abstract The main frame's title if any, otherwise an empty string.
 */
-- (NSString *)mainFrameTitle;
+@property (nonatomic, readonly, copy) NSString *mainFrameTitle;
 
 /*!
-    @method mainFrameIcon
-    @discussion The methods returns the site icon for the current page loaded in the mainFrame.
-    @result Returns the main frame's icon if any, otherwise nil.
+    @property mainFrameIcon
+    @abstract The site icon for the current page loaded in the mainFrame, or nil.
 */
-- (NSImage *)mainFrameIcon;
+@property (nonatomic, readonly, strong) NSImage *mainFrameIcon;
 
 @end
 
@@ -665,15 +533,15 @@ extern NSString *WebViewProgressFinishedNotification;
 - (IBAction)stopLoading:(id)sender;
 - (IBAction)reload:(id)sender;
 - (IBAction)reloadFromOrigin:(id)sender;
-- (BOOL)canGoBack;
+@property (nonatomic, readonly) BOOL canGoBack;
 - (IBAction)goBack:(id)sender;
-- (BOOL)canGoForward;
+@property (nonatomic, readonly) BOOL canGoForward;
 - (IBAction)goForward:(id)sender;
-- (BOOL)canMakeTextLarger;
+@property (nonatomic, readonly) BOOL canMakeTextLarger;
 - (IBAction)makeTextLarger:(id)sender;
-- (BOOL)canMakeTextSmaller;
+@property (nonatomic, readonly) BOOL canMakeTextSmaller;
 - (IBAction)makeTextSmaller:(id)sender;
-- (BOOL)canMakeTextStandardSize;
+@property (nonatomic, readonly) BOOL canMakeTextStandardSize;
 - (IBAction)makeTextStandardSize:(id)sender;
 - (IBAction)toggleContinuousSpellChecking:(id)sender;
 - (IBAction)toggleSmartInsertDelete:(id)sender;
@@ -695,21 +563,16 @@ extern NSString * const WebViewDidChangeSelectionNotification;
 @interface WebView (WebViewEditing)
 - (DOMRange *)editableDOMRangeForPoint:(NSPoint)point;
 - (void)setSelectedDOMRange:(DOMRange *)range affinity:(NSSelectionAffinity)selectionAffinity;
-- (DOMRange *)selectedDOMRange;
-- (NSSelectionAffinity)selectionAffinity;
-- (BOOL)maintainsInactiveSelection;
-- (void)setEditable:(BOOL)flag;
-- (BOOL)isEditable;
-- (void)setTypingStyle:(DOMCSSStyleDeclaration *)style;
-- (DOMCSSStyleDeclaration *)typingStyle;
-- (void)setSmartInsertDeleteEnabled:(BOOL)flag;
-- (BOOL)smartInsertDeleteEnabled;
-- (void)setContinuousSpellCheckingEnabled:(BOOL)flag;
-- (BOOL)isContinuousSpellCheckingEnabled;
-- (NSInteger)spellCheckerDocumentTag;
-- (NSUndoManager *)undoManager;
-- (void)setEditingDelegate:(id)delegate;
-- (id)editingDelegate;
+@property (nonatomic, readonly, strong) DOMRange *selectedDOMRange;
+@property (nonatomic, readonly) NSSelectionAffinity selectionAffinity;
+@property (nonatomic, readonly) BOOL maintainsInactiveSelection;
+@property (nonatomic, getter=isEditable) BOOL editable;
+@property (nonatomic, strong) DOMCSSStyleDeclaration *typingStyle;
+@property (nonatomic) BOOL smartInsertDeleteEnabled;
+@property (nonatomic, getter=isContinuousSpellCheckingEnabled) BOOL continuousSpellCheckingEnabled;
+@property (nonatomic, readonly) NSInteger spellCheckerDocumentTag;
+@property (nonatomic, readonly, strong) NSUndoManager *undoManager;
+@property (nonatomic, strong) id editingDelegate;
 - (DOMCSSStyleDeclaration *)styleDeclarationWithText:(NSString *)text;
 @end
 
index 3b3770e..0383b49 100644 (file)
@@ -399,7 +399,7 @@ static const char webViewIsOpen[] = "At least one WebView is still open.";
     id target; // Non-retained. Don't retain delegates.
     id defaultTarget;
 }
-- (id)initWithTarget:(id)target defaultTarget:(id)defaultTarget;
+- (instancetype)initWithTarget:(id)target defaultTarget:(id)defaultTarget;
 @end
 
 FindOptions coreOptions(WebFindOptions options)
@@ -3280,7 +3280,7 @@ static Vector<String> toStringVector(NSArray* patterns)
 
 // Used to send messages to delegates that implement informal protocols.
 
-- (id)initWithTarget:(id)t defaultTarget:(id)dt
+- (instancetype)initWithTarget:(id)t defaultTarget:(id)dt
 {
     self = [super init];
     if (!self)
@@ -3632,12 +3632,12 @@ static bool needsWebViewInitThreadWorkaround()
     return isOldClient && !pthread_main_np();
 }
 
-- (id)initWithFrame:(NSRect)f
+- (instancetype)initWithFrame:(NSRect)f
 {
     return [self initWithFrame:f frameName:nil groupName:nil];
 }
 
-- (id)initWithFrame:(NSRect)f frameName:(NSString *)frameName groupName:(NSString *)groupName
+- (instancetype)initWithFrame:(NSRect)f frameName:(NSString *)frameName groupName:(NSString *)groupName
 {
     if (needsWebViewInitThreadWorkaround())
         return [[self _webkit_invokeOnMainThread] initWithFrame:f frameName:frameName groupName:groupName];
@@ -3646,7 +3646,7 @@ static bool needsWebViewInitThreadWorkaround()
     return [self _initWithFrame:f frameName:frameName groupName:groupName usesDocumentViews:YES];
 }
 
-- (id)initWithCoder:(NSCoder *)decoder
+- (instancetype)initWithCoder:(NSCoder *)decoder
 {
     if (needsWebViewInitThreadWorkaround())
         return [[self _webkit_invokeOnMainThread] initWithCoder:decoder];
@@ -6225,7 +6225,7 @@ static inline uint64_t roundUpToPowerOf2(uint64_t num)
     return s_cacheModel;
 }
 
-+ (WebCacheModel)_didSetCacheModel
++ (BOOL)_didSetCacheModel
 {
     return s_didSetCacheModel;
 }
index 84f15a0..d124098 100644 (file)
@@ -1,3 +1,13 @@
+2013-12-03  Mark Rowe  <mrowe@apple.com>
+
+        <https://webkit.org/b/125139> Modernize the WebKit API headers
+        <rdar://problem/15540175>
+
+        Reviewed by Anders Carlsson.
+
+        * DumpRenderTree/mac/TestRunnerMac.mm:
+        (TestRunner::setCacheModel): Cast to the enum type.
+
 2013-12-10  Filip Pizlo  <fpizlo@apple.com>
 
         Get rid of forward exit on DoubleAsInt32
index 291e4ab..346f824 100644 (file)
@@ -706,7 +706,7 @@ bool TestRunner::findString(JSContextRef context, JSStringRef target, JSObjectRe
 
 void TestRunner::setCacheModel(int cacheModel)
 {
-    [[WebPreferences standardPreferences] setCacheModel:cacheModel];
+    [[WebPreferences standardPreferences] setCacheModel:(WebCacheModel)cacheModel];
 }
 
 bool TestRunner::isCommandEnabled(JSStringRef name)