Land updated layout tests with scroll info.
[WebKit-https.git] / WebKit / API-Issues.rtf
index a35e1ad..086dd40 100644 (file)
@@ -1,8 +1,9 @@
 {\rtf1\mac\ansicpg10000\cocoartf102
 {\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;\f2\fnil\fcharset77 Monaco;
 }
-{\colortbl;\red255\green255\blue255;}
-\margl1440\margr1440\vieww16540\viewh12180\viewkind0
+{\colortbl;\red255\green255\blue255;\red0\green0\blue221;\red0\green99\blue18;\red118\green15\blue80;
+\red84\green0\blue0;\red35\green110\blue37;}
+\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 + Use "WebFrame" in the API when we refer to a WebFrame, rather than just "Frame".\
-+ Change WebController's userStyleSheetLocation to an NSURL.\
-+ Change WebController's setUsesBackForwardList to setMaintainsBackForwardList.\
-+ Remove WebController's customUserAgent property.\
-+ Remove suggestedFileExtensionForMIMEType from public API.\
-+ 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 \
-+ remove 
-\f2\fs20 \CocoaLigature0 suggestedFileExtensionForMIMEType\
-+ remove canShowFile\
-+ 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\ql\qnatural
+
+\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
+
+\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 \
+It seems non-parallel that WebHistory has change notifications but WebBackForwardList doesn't.\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+\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 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.\
+\
+\
+On Thursday, March 20, 2003, at 11:43 AM, Ali Ozer wrote:\
+\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
+\cf2 Some comments, mostly at the method level:\
+\
+\
+WebHistory:\
+\
+\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
+
+\f1\fs24 \cf2 \
+Why NSCalendarDate and not NSDate?\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+\cf0 NSCalendarDate has more convenient API (i.e. the days) than NSDate?  Do you see a problem with the use of NSCalendarDate?\
+\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
+\cf2 \
+WebHistoryItem:\
+\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li400\ql\qnatural
+
+\f2\fs20 \cf3 - (\cf4 void\cf3 )setDisplayTitle:(NSString *)displayTitle;\
+- (NSString *)displayTitle;\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
+
+\f1\fs24 \cf2 \
+It's a good idea to try to stay away from ambiguous adjectives (that are also verbs). For "display" we tend to use "localized...", but that's clearly not appropriate here. Perhaps "custom" ?  (given this is distinct than just "title" ?)\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+\cf0 Yes.  How about "displayable"?  I suppose "custom" would work too, but that doesn't feel like a good fit.\
+\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
+\cf2 \
+WebKitErrors:\
+\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li400\ql\qnatural
+
+\f2\fs20 \cf4 enum\cf3 \
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li600\ql\qnatural
+\cf5  \{\
+    WebKitErrorCannotCreateFile,\
+    WebKitErrorCannotOpenFile,\
+    ...\
+    WebKitErrorDownloadDecodingFailedMidStream,\
+    WebKitErrorDownloadDecodingFailedToComplete,\
+\};\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
+
+\f1\fs24 \cf2 \
+I think this is a situation where use of "WK" would be better than "WebKit" in these cases... It also makes me think that the big reason we can get away with "Web" or "WebKit" is because these are short; using a name instead of a prefix is not a general solution...\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+\cf0 Hmm.  OK, I have no problem switching to WK in this case.\
+\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
+\cf2 WebPreferences:\
+\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li400\ql\qnatural
+
+\f2\fs20 \cf6 /*!\
+    @method standardPreferences\
+*/\cf3 \
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li600\ql\qnatural
+\cf5 \
++ (WebPreferences *)standardPreferences;\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
+
+\f1\fs24 \cf2 \
+Should this be "shared"?  I realize NSUserDefaults uses "standard", but it's an anomaly.\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+\cf0 OK.  Tough to choose one over the other given the existing conflicting precedent.  I suppose 'shared' is used more often than 'standard', even though the closest analogue is the use of 'standard' in NSUserDefaults.\
+\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
+\cf2 \
+Add loadWithData:baseURL: to WebFrame\
+\
+\
+\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+\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".\
+\
+\
+- Nancy\
+\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\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\
+
+\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 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 OK.\
+\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\li200\ql\qnatural
+\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 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 \
+(4) You also dropped a WebResourceResponseExtras.h header which should have been replaced by WebNSURLResponseExtras.h, right??\
+\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+\cf0 Yes.\
 }
\ No newline at end of file