Land updated layout tests with scroll info.
[WebKit-https.git] / WebKit / API-Issues.rtf
index 67abbd1..086dd40 100644 (file)
@@ -3,7 +3,7 @@
 }
 {\colortbl;\red255\green255\blue255;\red0\green0\blue221;\red0\green99\blue18;\red118\green15\blue80;
 \red84\green0\blue0;\red35\green110\blue37;}
-\margl1440\margr1440\vieww16540\viewh12180\viewkind0
+\margl1440\margr1440\vieww15360\viewh16060\viewkind0
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
 
 \f0\b\fs24 \cf0 API Cleanup:
 \
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
 
-\f2\fs20 \cf0 + Change WebPreferences' userStyleSheetLocation to an NSURL.\
-+ Remove WebController's customUserAgent property.\
-+ On WebController:\
+\f2\fs20 \cf0 + On WebController:\
     Add  -(BOOL)canGoBack, -(BOOL)canGoForward, -(BOOL)canCanel.\
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
 
 \f1\fs24 \cf0 \
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
 
-\f2\fs20 \cf0 \CocoaLigature0 + put class methods from WebContentTypes back on WebController (WebView)\
-move isDocumentHTML off WebFrameView and WebDataSource\
-\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
-
-\f1\fs24 \cf2 \CocoaLigature1 Why are these class methods? Global per-program settings seem wrong for these. They needs to be settable per-controller.\
-\
-+ (void)setUsesPageCache: (BOOL)flag;\
-+ (BOOL)usesPageCache;\
-+ (void)setPageCacheSize: (unsigned)size;\
-+ (unsigned)pageCacheSize;\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
-\cf0 Yes, good point.\
-\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
-\cf2 Is it an entry or an item? Let's pick one of Item or Entry and stick to it, in both class names and method names.\
-\
-- (void)addEntry:(WebHistoryItem *)entry;\
-- (void)goToEntry:(WebHistoryItem *)entry;\
-- (WebHistoryItem *)currentEntry;\
-- (WebHistoryItem *)forwardEntry;\
-- (BOOL)containsEntry:(WebHistoryItem *)entry;\
+\f2\fs20 \cf0 \CocoaLigature0 + move isDocumentHTML off WebFrameView and WebDataSource\
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
-\cf0 We will standardize on Item.\
+
+\f1\fs24 \cf0 \CocoaLigature1 \
+Need to add other more complete action methods to WebView.\
 \
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
 \cf2 \
@@ -52,34 +31,12 @@ It seems non-parallel that WebHistory has change notifications but WebBackForwar
 \cf0 Yes, this is not good.  It's an artifact of implementation, not intentional design.\
 \
 \
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
-\cf2 + (WebHistory *)createSharedHistoryWithFile: (NSString*)file;\
-\
-how about this (seems closer to existing Cocoa practice):\
-\
-+(void)setSharedHistory:(WebHistory *)history\
-\
-Same issue about entry vs. item for history.\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
-\cf0 Good suggestion.\
 \
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
 \cf2 WebHistoryPrivate.h (not included, but I looked) includes WebHistory methods with no leading underscore. Private methods should start with an underscore.\
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
 \cf0 Yes.\
 \
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
-\cf2 \
-WebHistoryItem\
----\
-\
-Even though we need to have the fields inline for performance, we should add a few void * ivars to the end for future extensibility.\
-\
-WebHistoryItemPrivate,h has a boatload of private methods with no leading underscore.\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
-\cf0 Good point.\
-\
-\
 \
 On Thursday, March 20, 2003, at 11:43 AM, Ali Ozer wrote:\
 \
@@ -91,36 +48,6 @@ WebHistory:\
 \
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li400\ql\qnatural
 
-\f2\fs20 \cf3 /*!\
-    @method initWithFile:\
-    @abstract The designated initializer for WebHistory.\
-    @result Returns an initialized WebHistory.\
-*/\
-- initWithFile: (NSString *)file;\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
-
-\f1\fs24 \cf2 \
-Would it be better to have this take a URL instead?  Like many kit classes you could limit the URLs to those on the local disk for now; but at least the API would support history lists coming from the web...  (On the other hand with WebDav and all perhaps interesting history files from the web will always be representable via file names, I don't know.)\
-\
-The direction in new APIs has been to use URL instead of file names where applicable...\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
-\cf0 OK.\
-\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
-\cf2 \
-Seems like a whole lot of convenience; why not just\
-\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
-
-\f2\fs20 \cf2 - (void)addEntries:(NSArray *)newEntries;\
-- (void)removeEntries:(NSArray *)entries;
-\f1\fs24 \cf2 \
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
-\cf0 Yes, this suggestion is reasonable.  Add removeAll.\
-\
-\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li400\ql\qnatural
-
 \f2\fs20 \cf3 - (NSArray *)orderedLastVisitedDays;\
 - (NSArray *)orderedEntriesLastVisitedOnDay: (NSCalendarDate *)calendarDate;\
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
@@ -147,26 +74,7 @@ It's a good idea to try to stay away from ambiguous adjectives (that are also ve
 \
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
 \cf2 \
-WebPluginItem:\
-\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li400\ql\qnatural
-
-\f2\fs20 \cf3 - (NSString *)contentURL;\
-- (NSString *)pluginPageURL;\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
-
-\f1\fs24 \cf2 \
-In some other APIs where NSString containing URLs are returned, you use "...URLString" --- should maybe do that here too?\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
-\cf0 Yes, good point.\
-\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
-\cf2 Also: Official spelling of plugin is supposed to be plugIn. At least that's what CF's plugIn mechanism had to be renamed to, and the word plugIn appears in one API in Foundation. I personally prefer plugin, like autorelease, or superview, but perhaps techpubs should bless this.\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
-\cf0 OK.  I'll check this issue.\
-\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
-\cf2 WebKitErrors:\
+WebKitErrors:\
 \
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li400\ql\qnatural
 
@@ -206,64 +114,109 @@ Should this be "shared"?  I realize NSUserDefaults uses "standard", but it's an
 \
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
 \cf2 \
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li400\ql\qnatural
-
-\f2\fs20 \cf6 /*!\
-    @method JavaEnabled\
-*/\cf3 \
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li600\ql\qnatural
-\cf5 \
-- (\cf4 BOOL\cf5 )JavaEnabled;\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
-
-\f1\fs24 \cf2 \
-Are we not allowed to use "java" ?  8-)\
+Add loadWithData:baseURL: to WebFrame\
+\
+\
+\
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
-\cf0 Not sure.  I'll check with tech pubs.\
+\cf0 Looking over the 3/19 headers you sent, I noticed that some of the WebView delegate methods don't follow the Cocoa naming conventions for delegate (and notification) methods--specifically, not all of them use the keywords "will", and "did" consistently. For example, the WebLocationChangeDelegate informal protocol has a webView:willCloseLocationForDataSource: method but all of the other method names do not conform to this style. On the other hand, most of the methods in WebResourceLoadDelegate conform to this style except one. Also, some of the names use "forDataSource", and others use "fromDataSource" (which seems confusing since the sender is now a WebView).\
+\
+Here's some suggestions for renaming the methods that don't conform to this style:\
+\
+\
+WebLocationChangeDelegate\
+\
+- webView:willChangeLocationForDataSource:\
+- webView:didRedirectServer:forDataSource:\
+- webView:didCommitLocationChangeForDataSource:\
+- webView:didReceivePageTitle:forDataSource:\
+- webView:didReceivePageIcon:forDataSource:\
+- webView:didFinishLocationChangeWithError:ForDataSource:\
+\
+Actually, perhaps -webView:didStartLocationChangeForDataSource: is more accurate. - Nancy\
+\
+\
+WebResourceLoadDelegate\
+\
+- webView:plugInDidFailWithError:forDataSource:\
+\
+** For consistency, all the "fromDataSource" text should be replaced with "forDataSource"?\
+*** Also, replace "plugin" with "plugIn".\
 \
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
-\cf2 Actually, I believe the guidelines prefer the use of "is" for cases like this:\
 \
+- Nancy\
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
-
-\f2\fs20 \cf2 - (void)setEditable:(BOOL)flag;\
-- (BOOL)isEditable; \
+\cf2 \
+\
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+\cf0 Richard,\
+\
+Shouldn't the WebHistory -addItems: and -removeItems: methods be named:\
+\
+- addItemsFromArray:\
+- removeItemsInArray:\
+\
+See NSArray, NSMutableArray, NSBundle, and NSSet for similar method names.\
+\
+- Nancy\
+\
+P.S. The WebHistory.h file you dropped a few days ago doesn't contain the file->URL changes you mentioned. Can't write the method descriptions for this class until I get the new headers.\
+\
+
+\f0\b From: 
+\f1\b0 Richard Williamson <rjw@apple.com>\
+
+\f0\b Date: 
+\f1\b0 Mon Mar 31, 2003  4:31:00 PM US/Pacific\
 
-\f1\fs24 \cf0 Yes.\
+\f0\b To: 
+\f1\b0 Nancy Craighill <ncraighill@apple.com>\
+
+\f0\b Cc: 
+\f1\b0 Scott Anguish <sanguish@apple.com>\
+
+\f0\b Subject: 
+\f1\b0 Re: WK: Feedback on 3/28 Web Kit Headers\
+\
+\
+On Monday, March 31, 2003, at 03:24 PM, Nancy Craighill wrote:\
 \
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
-\cf2 so perhaps "isJavaEnabled" ? (Although there are a few more methods you'd want to change then...)\
+\cf2 Richard,\
+\
+Incorporated the API changes as of March 28th into the current reference docs and discovered these few nits with the headers:\
+\
+WebPreferences.h:\
+\
+(1)\
+- (void)setUserStyleSheetLocation:(NSURL *)string;\
+                                                                                ^ Should be URL.\
+\
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
-\cf0 Yes, I'll make the use of 'is' consistent.\
+\cf0 OK.\
 \
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
-\cf2 \
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li400\ql\qnatural
-
-\f2\fs20 \cf3 - (\cf4 BOOL\cf3 )allowAnimatedImages;\
-- (\cf4 void\cf3 )setAllowAnimatedImages:(\cf4 BOOL\cf3 )flag;\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
-
-\f1\fs24 \cf2 \
-allowsAnimatedImages, setAllowsAnimatedImages:  (a few more examples)\
+\cf2 (2) The "Is" should be taken out of the following method names (e.g., Cocoa uses -isEnabled and -setEnabled: in NSCell, NSControl, NSFontManager, NSFontPanel, NSLayoutManager...):\
+\
+setIsJavaEnabled:\
+setIsJavaScriptEnabled:\
+\
+NOTE: It's true that a few methods in Cocoa (four to be exact) begin with "setIs" but those methods don't contain the key word "Enabled".\
+\
+(3) And to be consistent, remove the "are" from this method too:\
+\
+setArePlugInsEnabled:\
+\
+Let me know if you decide NOT to make the changes above!\
+\
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
-\cf0 Will change.\
+\cf0 Gah!  I just changed these methods to include the "is" and "are"!  I thought you had made that suggestion, or maybe it was Ali.\
+\
 \
 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
 \cf2 \
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li400\ql\qnatural
-
-\f2\fs20 \cf3 - (\cf4 void\cf3 )setWillLoadImagesAutomatically: (\cf4 BOOL\cf3 )flag;\
-- (\cf4 BOOL\cf3 )willLoadImagesAutomatically;\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
-
-\f1\fs24 \cf2 \
-loadsImagesAutomatically, ... ?\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
-\cf0 Good suggestion.\
+(4) You also dropped a WebResourceResponseExtras.h header which should have been replaced by WebNSURLResponseExtras.h, right??\
 \
-Thanks!\
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
-\cf2 Ali\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+\cf0 Yes.\
 }
\ No newline at end of file