More work on bidi and contextual forms.
[WebKit-https.git] / WebKit / ChangeLog
1 2002-10-30  Richard Williamson  <rjw@apple.com>
2
3         More work on bidi and contextual forms.
4         Table lookup code for unicode characters attributes.
5
6         * Misc.subproj/WebUnicode.h: Added.
7         * Misc.subproj/WebUnicode.m: Added.
8         (_unicodeDigitValue):
9         (_unicodeCategory):
10         (_unicodeDirection):
11         (_unicodeJoining):
12         (_unicodeDecompositionTag):
13         (_unicodeMirrored):
14         (_unicodeMirroredChar):
15         (_unicodeCombiningClass):
16         (_unicodeLower):
17         (_unicodeUpper):
18         (WebKitInitializeUnicode):
19         * Misc.subproj/WebUnicodeTables.m: Added.
20         * WebKit.pbproj/project.pbxproj:
21
22         Additional logging parameter.
23         
24         * Misc.subproj/WebKitLogging.h:
25         * Misc.subproj/WebKitLogging.m:
26
27 2002-10-30  Maciej Stachowiak  <mjs@apple.com>
28
29         Pass WebResourceRequest rather than just NSURL to URL policy
30         delegate method.
31         
32         * WebView.subproj/WebControllerPolicyDelegate.h:
33         * WebView.subproj/WebDefaultPolicyDelegate.h:
34         * WebView.subproj/WebDefaultPolicyDelegate.m:
35         (+[WebDefaultPolicyDelegate defaultURLPolicyForRequest:]):
36         (-[WebDefaultPolicyDelegate URLPolicyForRequest:inFrame:]):
37         * WebView.subproj/WebFramePrivate.m:
38         (-[WebFrame _shouldShowRequest:]):
39
40 2002-10-30  Darin Adler  <darin@apple.com>
41
42         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
43
44 2002-10-30  Chris Blumenberg  <cblu@apple.com>
45
46         Fixed: 3088122 - Assertion failure/crash closing window with QuickTime streaming in
47
48         * WebView.subproj/WebDataSourcePrivate.m:
49         (-[WebDataSource _setMainDocumentError:]): call receivedError on the representation.
50
51 2002-10-30  Darin Adler  <darin@apple.com>
52
53         - fixed memory leaks in plugin package creation code
54
55         * Plugins.subproj/WebNetscapePluginPackage.m:
56         (-[WebNetscapePluginPackage initWithPath:]): Rearrange this code, and make sure
57         that it does a [self release] if it's going to return nil instead of self.
58         (-[WebNetscapePluginPackage unload]): Set bundle to 0 when we release it.
59         (-[WebNetscapePluginPackage dealloc]): Release the bundle if it's not 0.
60
61         * Plugins.subproj/WebPluginPackage.m:
62         (-[WebPluginPackage initWithPath:]): Rearrange this code, and make sure
63         that it does a [self release] if it's going to return nil instead of self.
64
65 2002-10-30  Darin Adler  <darin@apple.com>
66
67         - fixed 3086564 -- REGRESSION: meta-refresh to the same page doesn't refresh
68
69         The key is to respect the new reload: parameter from the bridge.
70
71         * WebCoreSupport.subproj/WebBridge.m:
72         (-[WebBridge loadURL:reload:]): Don't ever treat a reload as a redirect.
73         Set the cache policy to WebRequestCachePolicyLoadFromOrigin if it's a reload.
74
75         - fixed 3087214 -- REGRESSION: <WebKit/WebKit.h> contains #import of non-existent header
76
77         * Misc.subproj/WebKit.h: Removed import of WebControllerSets.h, which is private.
78
79 2002-10-30  Maciej Stachowiak  <mjs@apple.com>
80
81         Another step towards the policy API change - add request argument
82         to file URL policy and remove isDirectory argument.
83         
84         * WebView.subproj/WebControllerPolicyDelegate.h:
85         * WebView.subproj/WebDefaultPolicyDelegate.m:
86         (-[WebDefaultPolicyDelegate fileURLPolicyForMIMEType:andRequest:inFrame:]):
87         * WebView.subproj/WebFrame.m:
88         (-[WebFrame setProvisionalDataSource:]):
89         * WebView.subproj/WebFramePrivate.h:
90         * WebView.subproj/WebFramePrivate.m:
91         (-[WebFrame _shouldShowRequest:]):
92         * WebView.subproj/WebMainResourceClient.m:
93         (-[WebMainResourceClient handle:willSendRequest:]):
94
95 2002-10-29  Maciej Stachowiak  <mjs@apple.com>
96
97         First step towards policy API change. Pass request instead of URL
98         to content policy delegate method.
99         
100         * WebView.subproj/WebControllerPolicyDelegate.h:
101         * WebView.subproj/WebDefaultPolicyDelegate.m:
102         * WebView.subproj/WebMainResourceClient.m:
103         (-[WebMainResourceClient handle:didReceiveResponse:]):
104
105 2002-10-29  Maciej Stachowiak  <mjs@apple.com>
106
107         - fixed 3087548 - REGRESSION: two windows open for netflix confirmation
108         
109         * WebView.subproj/WebControllerPrivate.h:
110         * WebView.subproj/WebControllerPrivate.m:
111         (-[WebController _findFrameInThisWindowNamed:]): Added this function back,
112         and added check for top-level frame name.
113         (-[WebController _findFrameNamed:]): Use
114         _findFrameInThisWindowNamed: to make sure top-level frame names
115         get checked.
116
117 2002-10-29  Chris Blumenberg  <cblu@apple.com>
118
119         Created Downloads.subproj to hold the to-be-implemented download decoders.
120
121         * Downloads.subproj/WebDownloadDecoder.h: Added.
122         * Downloads.subproj/WebDownloadHandler.h: Added.
123         * Downloads.subproj/WebDownloadHandler.m: Added.
124         (-[WebDownloadHandler initWithDataSource:]):
125         (-[WebDownloadHandler dealloc]):
126         (-[WebDownloadHandler errorWithCode:]):
127         (-[WebDownloadHandler receivedResponse:]):
128         (-[WebDownloadHandler receivedData:]):
129         (-[WebDownloadHandler finishedLoading]):
130         (-[WebDownloadHandler cancel]):
131         * Misc.subproj/WebDownloadHandler.h: Removed.
132         * Misc.subproj/WebDownloadHandler.m: Removed.
133         * WebKit.pbproj/project.pbxproj:
134
135 >>>>>>> 1.1051
136 2002-10-28  Darin Adler  <darin@apple.com>
137
138         - fixed crash I just introduced
139
140         * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase init]):
141         Remove the release call here. When I added the autorelease, I didn't realize that
142         the caller was doing a release.
143
144 2002-10-28  Trey Matteson  <trey@apple.com>
145
146         Fixed 3041616 - Extra page added in back button history
147
148         Client-side redirects would always put an extra item in the backforward list.
149         According to Darin this is a regression all the way back from functionality moving
150         from WebBrowser to WebKit.      
151
152         * WebCoreSupport.subproj/WebBridge.h:
153         Added state to know if we're doing an "internal" type of load
154         * WebCoreSupport.subproj/WebBridge.m:
155         (-[WebBridge reportClientRedirectTo:delay:fireDate:]):
156         Set internalLoad bit if delay==0
157         (-[WebBridge reportClientRedirectCancelled]):
158         Clear internalLoad
159         (-[WebBridge loadURL:]):
160         Set frame's loadType if doing an internal load (similar to what we do when loading
161         child frames)
162
163 2002-10-28  Darin Adler  <darin@apple.com>
164
165         - fixed storage leak of WebNetscapePluginPackage objects
166
167         * Plugins.subproj/WebBasePluginPackage.m:
168         (+[WebBasePluginPackage pluginWithPath:]): Add missing autorelease.
169
170         * Plugins.subproj/WebBasePluginPackage.h:
171         * Plugins.subproj/WebPluginController.h:
172         * Plugins.subproj/WebPluginController.m:
173         * Plugins.subproj/WebPluginPackage.h:
174         * Plugins.subproj/WebPluginPackage.m:
175         Not __MyCompanyName__, but rather Apple Computer.
176
177 2002-10-28  Darin Adler  <darin@apple.com>
178
179         - fixed bug that caused us to leak all WebResourceHandles used for subresources
180
181         * WebCoreSupport.subproj/WebSubresourceClient.m:
182         (-[WebSubresourceClient dealloc]): Remove bogus "currentURL == nil" assert.
183         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
184         Use the new loadWithRequest: call instead of making handle and doing loadWithDelegate:.
185         This is where the leak was, because no one ever released the handle, but releasing it
186         right away would be too soon.
187
188         * WebView.subproj/WebBaseResourceHandleDelegate.h: Added defersCallbacks field,
189         loadWithRequest: method, and setDefersCallbacks: method. Removed handle method.
190         * WebView.subproj/WebBaseResourceHandleDelegate.m:
191         (-[WebBaseResourceHandleDelegate loadWithRequest:]): New method. Sets up the handle,
192         set the defersCallbacks state on it, and calls loadWithDelegate:.
193         (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): Stores defersCallbacks state,
194         and also sets it on the handle, if any.
195         (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): Remove code to set up
196         the handle, since we now do that at loadWithRequest: time.
197
198         * WebView.subproj/WebDataSourcePrivate.h: Remove mainHandle field.
199         * WebView.subproj/WebDataSourcePrivate.m:
200         (-[WebDataSourcePrivate dealloc]): Don't release mainHandle.
201         (-[WebDataSource _setPrimaryLoadComplete:]): Ditto.
202         (-[WebDataSource _startLoading]): Use loadWithRequest: on the client, no need to deal
203         with the handle directly at all.
204         (-[WebDataSource _addSubresourceClient:]): Call setDefersCallbacks: on the client.
205         (-[WebDataSource _defersCallbacksChanged]): Ditto.
206
207         * WebView.subproj/WebControllerPrivate.m: Remove unneeded include.
208         * WebView.subproj/WebMainResourceClient.m: Ditto.
209
210 2002-10-28  Chris Blumenberg  <cblu@apple.com>
211
212         Fixed: 3056726 - View Source window always displays the source in current system encoding
213         Fixed: 3019352 - Text encoding is not handled when viewing plain text
214
215         * WebView.subproj/WebDataSource.h:
216         * WebView.subproj/WebDataSource.m:
217         (-[WebDataSource stringWithData:]): added, creates a string using the specified encoding.
218         * WebView.subproj/WebHTMLRepresentation.m:
219         (-[WebHTMLRepresentation documentSource]): uses the bridge specified encoding when creating the string
220         * WebView.subproj/WebTextView.h:
221         * WebView.subproj/WebTextView.m:
222         (-[WebTextView dataSourceUpdated:]): use stringWithData: 
223         (-[WebTextView supportsTextEncoding]): Yup
224
225 2002-10-28  Richard Williamson   <rjw@apple.com>
226
227         Fixed crasher.
228         
229         * WebCoreSupport.subproj/WebTextRenderer.m:
230         (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
231
232 2002-10-28  John Sullivan  <sullivan@apple.com>
233
234         * Bookmarks.subproj/WebBookmark.h:
235         * Bookmarks.subproj/WebBookmark.m:
236         (-[WebBookmark contentMatches:]): new method, returns YES if
237         two bookmarks are the same, ignoring group and parent.
238
239 2002-10-28  Trey Matteson  <trey@apple.com>
240
241         Finished 2998200 - access to most-recent in submenu of back & forward buttons
242
243         * WebView.subproj/WebDataSourcePrivate.h:
244         The BF items we are going to and from were moved here from
245         WebFrame because of timing problems among multiple data sources
246         when using the BF buttons during a load.
247         In addition, the datasource has a list of relevant BF items for
248         which it keeps their titles up to date.
249         * WebView.subproj/WebDataSourcePrivate.m:
250         (-[WebDataSourcePrivate dealloc]):
251         Free new state.
252         (-[WebDataSource _setTitle:]):
253         Update titles of BF items.
254         (-[WebDataSource _provisionalBackForwardItem]):
255         (-[WebDataSource _setProvisionalBackForwardItem:]):
256         (-[WebDataSource _previousBackForwardItem]):
257         (-[WebDataSource _setPreviousBackForwardItem:]):
258         (-[WebDataSource _addBackForwardItem:]):
259         Maintain new state.
260         (-[WebDataSource _commitIfReady]):
261         Free up previous and provisional BF items after commit.
262         * WebCoreSupport.subproj/WebBridge.m:
263         (-[WebBridge loadURL:]):
264         Add the new BF item to the datasource.
265         (-[WebBridge saveDocumentState:]):
266         Use the right BF item to save the doc state.
267         * WebView.subproj/WebFramePrivate.h:
268         Previous and provisional BF are moved to datasource.
269         * WebView.subproj/WebFramePrivate.m:
270         (-[WebFrame _transitionToCommitted]):
271         Use provisional BF from datasource to set position in BF list.
272         Add new BF item to datasource.
273         (-[WebFrame _isLoadComplete]):
274         (-[WebFrame _checkLoadComplete]):
275         Comments, whitespace.
276         (-[WebFrame _goToItem:withFrameLoadType:]):
277         Set item we will use to saveDocState at commit time.
278
279 2002-10-27  Darin Adler  <darin@apple.com>
280
281         - WebKit part of filename width fix
282
283         * WebCoreSupport.subproj/WebFileButton.m:
284         (-[WebFileButton drawRect:]): Compute left position by starting at
285         the right side of the button frame rather than by starting at the right
286         side of the overall bounds. Removes dependency on fixed-width filename area.
287         (-[WebFileButton updateLabel]): Added. Computes ellipsized filename.
288         (-[WebFileButton setFilename:]): Use updateLabel instead of code in line here.
289         (-[WebFileButton setFrameSize:]): Call updateLabel.
290         (-[WebFileButton bestVisualFrameSizeForCharacterCount:]): Compute a width based
291         on the count passed in rather than a hardcoded 200-pixel constant.
292
293 2002-10-27  Darin Adler  <darin@apple.com>
294
295         - fixed 3037369 -- Status text not cleared after start of drag from page
296
297         * WebView.subproj/WebHTMLView.m:
298         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
299         Find the highest-level enclosing WebHTMLView, and call _updateMouseoverWithEvent:
300         with the mouseUp event after the drag is done.
301         (-[WebHTMLView mouseMovedNotification:]): Just call _updateMouseoverWithEvent:,
302         the code from here was moved into there.
303
304         * WebView.subproj/WebHTMLViewPrivate.h: Declare _updateMouseoverWithEvent.
305         * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _updateMouseoverWithEvent:]):
306         Moved all the code from mouseMovedNotification: in here so it could be used twice.
307
308 2002-10-27  Don Melton  <gramps@apple.com>
309
310         * WebView.subproj/WebController.m:
311         (-[WebController userAgentForURL:]):
312
313         Changed default user agent to Mozilla 1.1.
314
315 2002-10-27  Darin Adler  <darin@apple.com>
316
317         * Bookmarks.subproj/WebBookmarkProxy.m: (-[WebBookmarkProxy dealloc]):
318         Added, so we don't leak the title.
319
320         * Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup removeBookmark:]):
321         * Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList removeChild:]):
322         Added retain/release pairs so we don't use an object after it's deallocated.
323         In practice this doesn't happen the way these are used by Alex since they are
324         in an array, but they have windows of vulnerability depending on exactly how
325         they are used.
326
327 2002-10-26  Darin Adler  <darin@apple.com>
328
329         * WebCoreSupport.subproj/WebViewFactory.m:
330         (-[WebViewFactory inputElementAltText]): Added.
331         (-[WebViewFactory resetButtonDefaultLabel]): Added.
332         (-[WebViewFactory searchableIndexIntroduction]): Added.
333         (-[WebViewFactory submitButtonDefaultLabel]): Added.
334         (-[WebViewFactory defaultLanguageCode]): Added.
335
336         * English.lproj/Localizable.strings: Update.
337         * English.lproj/StringsNotToBeLocalized.txt: Update.
338
339 2002-10-25  Darin Adler  <darin@apple.com>
340
341         * WebCoreSupport.subproj/WebViewFactory.m:
342         (-[WebViewFactory runJavaScriptAlertPanelWithMessage:]): Added.
343         (-[WebViewFactory runJavaScriptConfirmPanelWithMessage:]): Added.
344
345         * English.lproj/Localizable.strings: Update.
346         * English.lproj/StringsNotToBeLocalized.txt: Update.
347
348 2002-10-25  Richard Williamson   <rjw@apple.com>
349
350         Implemented support for bidi text layout.
351         
352         * WebCoreSupport.subproj/WebTextRenderer.m:
353         (_drawGlyphs):
354         (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:]):
355
356 2002-10-25  Chris Blumenberg  <cblu@apple.com>
357
358         Made frameNamed private in WebController and renamed it to _findFrameNamed. Got rid of _frameInThisWindowNamed in WebController because it isn't needed anymore.
359
360         * WebView.subproj/WebController.h:
361         * WebView.subproj/WebController.m:
362         (-[WebController _goToItem:withFrameLoadType:]): call _findFrameNamed
363         * WebView.subproj/WebControllerPrivate.h:
364         * WebView.subproj/WebControllerPrivate.m:
365         (-[WebController _findFrameNamed:]): renamed, made private, got rid of call to _frameInThisWindowNamed as it is not needed
366         * WebView.subproj/WebFrame.m:
367         (-[WebFrame findFrameNamed:]): call [WebController _findFrameNamed:]
368
369 2002-10-25  Chris Blumenberg  <cblu@apple.com>
370
371         - Fix case where we would name a new window _blank
372         - If a data source can't be created for a plug-in request, don't create the frame or open a window.
373         - cleaned up plug-in stream notifications
374
375         * Plugins.subproj/WebBaseNetscapePluginView.h:
376         * Plugins.subproj/WebBaseNetscapePluginView.m:
377         (-[WebBaseNetscapePluginView initWithFrame:]): create streamNotifications dict
378         (-[WebBaseNetscapePluginView dealloc]): release streamNotifications dict
379         (-[WebBaseNetscapePluginView frameStateChanged:]): cleaned up
380         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): create data source before frame
381         * Plugins.subproj/WebPluginController.m:
382         (-[WebPluginController showURL:inFrame:]): create data source before frame
383         * WebView.subproj/WebControllerPrivate.m:
384         (-[WebController _setTopLevelFrameName:]): don't allow _blank frames
385         * WebView.subproj/WebFrame.m:
386         (-[WebFrame findOrCreateFramedNamed:]): no need to check for _blank
387
388 2002-10-25  Darin Adler  <darin@apple.com>
389
390         Tighten up the code that observes mouse moved events.
391
392         * WebView.subproj/WebHTMLView.m:
393         (-[WebHTMLView initWithFrame:]): Don't set up observers here.
394         (-[WebHTMLView addMouseMovedObserver]): Added some assertions.
395         (-[WebHTMLView viewWillMoveToWindow:]): Stop observing the "become main" and "resign main"
396         notifications here.
397         (-[WebHTMLView viewDidMoveToWindow]): Start observing them here.
398         (-[WebHTMLView windowDidBecomeMain:]): Assert that the notification is for this window,
399         instead of checking with if.
400         (-[WebHTMLView windowDidResignMain:]): Assert that the notification is for this window.
401
402 2002-10-25  Chris Blumenberg  <cblu@apple.com>
403
404         Cleaned up the frame searching shenanigans. Things are much cleaner and clearer now.
405
406         * Plugins.subproj/WebBaseNetscapePluginView.m:
407         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call findOrCreateFramedNamed
408         * Plugins.subproj/WebPluginController.m:
409         (-[WebPluginController showURL:inFrame:]): call findOrCreateFramedNamed
410         * WebCoreSupport.subproj/WebBridge.m:
411         (-[WebBridge childFrames]): moved
412         (-[WebBridge mainFrame]): moved
413         (-[WebBridge findOrCreateFramedNamed:]): call findOrCreateFramedNamed on the frame
414         (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): call _pluginController
415         * WebView.subproj/WebControllerPrivate.m:
416         (-[WebController _frameInThisWindowNamed:]): call _descendantFrameNamed
417         * WebView.subproj/WebFrame.h:
418         * WebView.subproj/WebFrame.m:
419         (-[WebFrame findFrameNamed:]): was frameNamed. First checks special-case frame names, descendant frames, then the whole controller, then other controllers.
420         (-[WebFrame findOrCreateFramedNamed:]): calls findFrameNamed, opens new window if necessary 
421         * WebView.subproj/WebFramePrivate.h:
422         * WebView.subproj/WebFramePrivate.m:
423         (-[WebFrame _descendantFrameNamed:]): searches children, children's children etc.
424         (-[WebFrame _pluginController]): this method needed an "_"
425         * WebView.subproj/WebHTMLView.m:
426         (-[WebHTMLView addSubview:]): call _pluginController
427         * WebView.subproj/WebHTMLViewPrivate.m:
428         (-[WebHTMLView _elementAtPoint:]): no need to special case for "_blank" since findFrameNamed will return nil for that name
429
430 2002-10-25  Trey Matteson  <trey@apple.com>
431         
432         2919039 - Implement limit on back/forward history list
433         2998200 - access to most-recent in submenu of back & forward buttons
434         3022566 - need WebKit API for accessing and visiting back/forward list items
435         3084051 - forward button incorrectly enabled after going forward all the way
436
437         Remaining issues at this point are getting the title of the pages
438         into the menu items (instead of the URL), and saving document
439         state properly when you jump around in the list.  Solutions are
440         known and coming soon.
441
442         * History.subproj/WebBackForwardList.h:
443         Added doc comments to API.  Made ivars private.  Replaced index-
444         based API with item-based API.  Added a sizelimit to the overall
445         list.  Tweaked API to get back and forward lists.
446         * History.subproj/WebBackForwardList.m:
447         Straightforward impl of the above, with the note that I dumped
448         WebHistoryList from the API and impl in favor of an NSArray,
449         which is efficient for this sort of use (queue, stack).
450         (-[WebBackForwardList init]):
451         (-[WebBackForwardList dealloc]):
452         (-[WebBackForwardList goBack]):
453         (-[WebBackForwardList goForward]):
454         (-[WebBackForwardList goToEntry:]):
455         (-[WebBackForwardList backEntry]):
456         (-[WebBackForwardList forwardEntry]):
457         (-[WebBackForwardList maximumSize]):
458         (-[WebBackForwardList setMaximumSize:]):
459         (-[WebBackForwardList description]):
460         * History.subproj/WebHistoryList.h: Removed.
461         Nuked from API, per above.
462         * History.subproj/WebHistoryList.m: Removed.
463         * Misc.subproj/WebKit.h:
464         WebHistoryList gone from API.
465         * WebCoreSupport.subproj/WebBridge.m:
466         (-[WebBridge loadURL:]):
467         Use if/else instead of buried "return;", so next person doesn;t
468         make the same mis-read I did.
469         (-[WebBridge saveDocumentState:]):
470         Site of future work.
471         * WebKit.pbproj/project.pbxproj:
472         Nuked WebHistoryList.
473         * WebView.subproj/WebController.h:
474         * WebView.subproj/WebController.m:
475         (-[WebController goBackOrForwardToItem:]):
476         New method to support random access nav in backforward list.
477         * WebView.subproj/WebDataSourcePrivate.m:
478         (-[WebDataSource _setTitle:]):
479         Site of future work (fixing title in items)
480         * WebView.subproj/WebFramePrivate.h:
481         WebFrameLoadTypeIndexedBack/WebFrameLoadTypeIndexedForward are
482         collapsed into WebFrameLoadTypeIndexedBackForward.  Vestigial
483         WebFrameLoadTypeIntermediateBack is nuked.
484         * WebView.subproj/WebFramePrivate.m:
485         (-[WebFramePrivate setBackForwardItem:]):
486         (-[WebFrame _setBackForwardItem:]):
487         (-[WebFrame _backForwardItem]):
488         Must remember the BF item we're going to so we can update the
489         BF list on commit.
490         (-[WebFrame _transitionToCommitted]):
491         Update the BF list on commit.
492         (-[WebFrame _isLoadComplete]):
493         (-[WebFrame _goToItem:withFrameLoadType:]):
494         Update BF list on within-page nav.
495         Remember BF item we are going to for later update on commit.
496
497 2002-10-25  Chris Blumenberg  <cblu@apple.com>
498
499         Minor non-mentionable clean-up.
500
501         * WebCoreSupport.subproj/WebBridge.m:
502         (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
503
504 2002-10-25  Chris Blumenberg  <cblu@apple.com>
505
506         Cleaned up the plug-in API headers so they can be sent to other groups.
507
508         * Plugins.subproj/WebPlugin.h:
509         * Plugins.subproj/WebPluginContainer.h:
510         * Plugins.subproj/WebPluginViewFactory.h:
511
512 2002-10-24  Richard Williamson   <rjw@apple.com>
513
514         Fixed many font substitution related bugs, at least including:
515         3006966, 3026675, 3071106, and more... (each of these bugs
516         has a list of related bugs). 
517         
518         Needs little more cleanup to correctly deal with non base characters.
519         
520         * WebCoreSupport.subproj/WebTextRenderer.h:
521         * WebCoreSupport.subproj/WebTextRenderer.m:
522         (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:]):
523         (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:]):
524         (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
525         
526         Against Darin's better judgement prevent extra layout when not in live resize.  If
527         this introduces any regressions I owe darin a good bottle of wine.
528         
529         * WebView.subproj/WebDynamicScrollBarsView.m:
530         (-[WebDynamicScrollBarsView updateScrollers]):
531
532 2002-10-24  Chris Blumenberg  <cblu@apple.com>
533
534         New Java plug-in works! Much faster to load and no spinny cursor! Unfortunately, it very unstable.
535
536         * Plugins.subproj/WebPluginController.m: cleaned-up the logging messages.
537         (-[WebPluginController addPluginView:]):
538         (-[WebPluginController didAddPluginView:]):
539         (-[WebPluginController startAllPlugins]):
540         (-[WebPluginController stopAllPlugins]):
541         (-[WebPluginController destroyAllPlugins]):
542         * WebCoreSupport.subproj/WebBridge.m:
543         (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): make height and width an attribute.
544
545 2002-10-24  Chris Blumenberg  <cblu@apple.com>
546
547         Some clean-up and bug fixes for new plug-in support.
548
549         * Plugins.subproj/WebPluginController.m:
550         (-[WebPluginController initWithWebFrame:]): need a colon after windowWillClose
551         (-[WebPluginController addPluginView:]): added logging
552         (-[WebPluginController didAddPluginView:]): added logging
553         (-[WebPluginController startAllPlugins]): added logging
554         (-[WebPluginController stopAllPlugins]): added logging
555         (-[WebPluginController destroyAllPlugins]): added logging
556         * Plugins.subproj/WebPluginPackage.m:
557         (-[WebPluginPackage getMIMEInformation]): use correct dict key for getting MIME descriptions
558         * WebCoreSupport.subproj/WebBridge.m: no more didAddSubview
559         * WebView.subproj/WebFramePrivate.h: no more didAddSubview
560         * WebView.subproj/WebFramePrivate.m: no more didAddSubview
561         * WebView.subproj/WebHTMLView.m:
562         (-[WebHTMLView addSubview:]): call didAddPluginView on WebPluginController
563
564 2002-10-24  John Sullivan  <sullivan@apple.com>
565
566         * WebCoreSupport.subproj/WebBridge.m:
567         (-[WebBridge objectLoadedFromCache:response:size:]):
568         added ASSERT(response != nil), leftover from debugging
569         session on Tuesday, seems worth leaving in.
570
571 2002-10-24  Darin Adler  <darin@apple.com>
572
573         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
574
575 2002-10-24  Chris Blumenberg  <cblu@apple.com>
576
577         Changed some method names in WebPluginController.
578
579         * Plugins.subproj/WebPluginController.h:
580         * Plugins.subproj/WebPluginController.m:
581         (-[WebPluginController didAddPluginView:]):
582         (-[WebPluginController startAllPlugins]):
583         (-[WebPluginController stopAllPlugins]):
584         (-[WebPluginController destroyAllPlugins]):
585         (-[WebPluginController windowWillClose:]):
586         * WebView.subproj/WebFramePrivate.m:
587         (-[WebFrame _transitionToCommitted]):
588         (-[WebFrame _didAddSubview:]):
589
590 === Alexander-29 ===
591
592 2002-10-24  Richard Williamson   <rjw@apple.com>
593
594         Don't leak request.
595         
596         * WebView.subproj/WebBaseResourceHandleDelegate.m:
597         (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
598
599 2002-10-24  Richard Williamson   <rjw@apple.com>
600
601         Always copy request, we can't count on it being immutable.
602         This was the cause of the ASSERT from last night's checkin.
603         
604         * WebView.subproj/WebBaseResourceHandleDelegate.m:
605         (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
606         
607         Only send serverRedirectedForDataSource: if URL changed.
608         
609         * WebView.subproj/WebDataSourcePrivate.m:
610         (-[WebDataSource _setRequest:]):
611
612 2002-10-24  Chris Blumenberg  <cblu@apple.com>
613         
614         - Use "MIMEType" instead of "serviceType".
615
616         * Plugins.subproj/WebBasePluginPackage.h:
617         * Plugins.subproj/WebBasePluginPackage.m:
618         (-[WebBasePluginPackage load]):
619         (-[WebBasePluginPackage dealloc]):
620         (-[WebBasePluginPackage filename]):
621         (-[WebBasePluginPackage setPath:]):
622         * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
623         * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
624         (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributes:]):
625         * Plugins.subproj/WebNetscapePluginPackage.m:
626         (-[WebNetscapePluginPackage getMIMEInformation]): changed name.
627         (-[WebNetscapePluginPackage initWithPath:]):
628         * Plugins.subproj/WebNullPluginView.h:
629         * Plugins.subproj/WebNullPluginView.m:
630         (-[WebNullPluginView initWithFrame:MIMEType:attributes:]):
631         (-[WebNullPluginView dealloc]):
632         (-[WebNullPluginView viewDidMoveToWindow]): send missing plug-ins notification here
633         * Plugins.subproj/WebPluginPackage.m:
634         (-[WebPluginPackage getMIMEInformation]): new, gets MIME info from plist
635         (-[WebPluginPackage initWithPath:]):
636         (-[WebPluginPackage dealloc]):
637         (-[WebPluginPackage viewFactory]):
638         (-[WebPluginPackage load]):
639         (-[WebPluginPackage unload]):
640         * WebCoreSupport.subproj/WebBridge.m:
641         (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
642         (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
643
644 2002-10-24  Richard Williamson   <rjw@apple.com>
645
646         Flag error instead of ASSERTing as a result of fix to 3083013.
647         Not clear why this condition occurs, but better than ASSERTing
648         for Alex 29.
649         
650         * WebView.subproj/WebDataSourcePrivate.m:
651         (-[WebDataSource _setRequest:]):
652
653 2002-10-24  Darin Adler  <darin@apple.com>
654
655         - fixed a crash I ran into in the new delegate code
656
657         * WebView.subproj/WebBaseResourceHandleDelegate.m:
658         (-[WebBaseResourceHandleDelegate _releaseResources]): Retain self across this
659         deallocation to avoid reentering and being deallocated midstream. This happens
660         because the handle holds the only reference to us, and we may be releasing the
661         last reference to it.
662         (-[WebBaseResourceHandleDelegate dealloc]): Add call to [super dealloc].
663
664         * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage dealloc]):
665         Add call to [super dealloc].
666
667         * WebView.subproj/WebMainResourceClient.m: Tweak.
668
669 2002-10-23  Darin Adler  <darin@apple.com>
670
671         - fixed 3083013 -- REGRESSION: Cookie refused at http://directory/ even on reload
672
673         Restore a bit of the cruft.
674
675         * WebView.subproj/WebMainResourceClient.m:
676         (-[WebMainResourceClient handle:willSendRequest:]):
677         We need to change the request on the data source when a redirect happens,
678         because the data source goes on to ultimately communicate this to WebCore.
679         Restored the code that did that, with some changes to fit into the new regime.
680
681 2002-10-23  Richard Williamson  <rjw@apple.com>
682
683         Cleaned up months of accumulated cruft.
684         Added base class to the three WebResourceHandleDelegate implementors.
685         Removed superfluous handle references to controller callbacks.
686         More can still be done.
687         All in the name of fixing 3076050.
688         
689         * Misc.subproj/WebKitErrors.h:
690         * Plugins.subproj/WebBaseNetscapePluginStream.m:
691         (-[WebBaseNetscapePluginStream setResponse:]):
692         * Plugins.subproj/WebNetscapePluginRepresentation.m:
693         (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
694         (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
695         (-[WebNetscapePluginRepresentation finishedLoadingWithDataSource:]):
696         * Plugins.subproj/WebNetscapePluginStream.h:
697         * Plugins.subproj/WebNetscapePluginStream.m:
698         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
699         (-[WebNetscapePluginStream dealloc]):
700         (-[WebNetscapePluginStream start]):
701         (-[WebNetscapePluginStream stop]):
702         (-[WebNetscapePluginStream handle:willSendRequest:]):
703         (-[WebNetscapePluginStream handle:didReceiveResponse:]):
704         (-[WebNetscapePluginStream handle:didReceiveData:]):
705         (-[WebNetscapePluginStream handleDidFinishLoading:]):
706         (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
707         * WebCoreSupport.subproj/WebBridge.m:
708         (-[WebBridge reportBadURL:]):
709         * WebCoreSupport.subproj/WebSubresourceClient.h:
710         * WebCoreSupport.subproj/WebSubresourceClient.m:
711         (-[WebSubresourceClient initWithLoader:dataSource:]):
712         (-[WebSubresourceClient dealloc]):
713         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
714         (-[WebSubresourceClient receivedError:]):
715         (-[WebSubresourceClient handle:willSendRequest:]):
716         (-[WebSubresourceClient handle:didReceiveResponse:]):
717         (-[WebSubresourceClient handle:didReceiveData:]):
718         (-[WebSubresourceClient handleDidFinishLoading:]):
719         (-[WebSubresourceClient handle:didFailLoadingWithError:]):
720         (-[WebSubresourceClient cancel]):
721         * WebView.subproj/WebBaseResourceHandleDelegate.h:
722         * WebView.subproj/WebBaseResourceHandleDelegate.m:
723         (-[WebBaseResourceHandleDelegate init]):
724         (-[WebBaseResourceHandleDelegate _releaseResources]):
725         (-[WebBaseResourceHandleDelegate dealloc]):
726         (-[WebBaseResourceHandleDelegate setDataSource:]):
727         (-[WebBaseResourceHandleDelegate dataSource]):
728         (-[WebBaseResourceHandleDelegate resourceLoadDelegate]):
729         (-[WebBaseResourceHandleDelegate downloadDelegate]):
730         (-[WebBaseResourceHandleDelegate setIsDownload:]):
731         (-[WebBaseResourceHandleDelegate isDownload]):
732         (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
733         (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]):
734         (-[WebBaseResourceHandleDelegate handle:didReceiveData:]):
735         (-[WebBaseResourceHandleDelegate handleDidFinishLoading:]):
736         (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]):
737         (-[WebBaseResourceHandleDelegate cancel]):
738         (-[WebBaseResourceHandleDelegate handle]):
739         * WebView.subproj/WebControllerPrivate.h:
740         * WebView.subproj/WebControllerPrivate.m:
741         (-[WebController _mainReceivedBytesSoFar:fromDataSource:complete:]):
742         (-[WebController _receivedError:fromDataSource:]):
743         (-[WebController _mainReceivedError:fromDataSource:]):
744         * WebView.subproj/WebDataSource.h:
745         * WebView.subproj/WebDataSource.m:
746         * WebView.subproj/WebDataSourcePrivate.h:
747         * WebView.subproj/WebDataSourcePrivate.m:
748         (-[WebDataSourcePrivate dealloc]):
749         (-[WebDataSource _startLoading]):
750         (-[WebDataSource _stopLoading]):
751         (-[WebDataSource _clearErrors]):
752         * WebView.subproj/WebFramePrivate.m:
753         (-[WebFrame _isLoadComplete]):
754         * WebView.subproj/WebMainResourceClient.h:
755         * WebView.subproj/WebMainResourceClient.m:
756         (-[WebMainResourceClient initWithDataSource:]):
757         (-[WebMainResourceClient dealloc]):
758         (-[WebMainResourceClient receivedError:]):
759         (-[WebMainResourceClient cancel]):
760         (-[WebMainResourceClient handle:willSendRequest:]):
761         (-[WebMainResourceClient _notifyDelegatesOfInterruptionByPolicyChange]):
762         (-[WebMainResourceClient handle:didReceiveResponse:]):
763         (-[WebMainResourceClient handle:didReceiveData:]):
764         (-[WebMainResourceClient handleDidFinishLoading:]):
765         (-[WebMainResourceClient handle:didFailLoadingWithError:]):
766         * WebView.subproj/WebResourceLoadDelegate.h:
767
768 2002-10-23  Chris Blumenberg  <cblu@apple.com>
769
770         Support for new plug-in API. This is about as much as I can do without the new java plug-in and java root.
771
772         * Plugins.subproj/WebPluginController.h:
773         * Plugins.subproj/WebPluginController.m:
774         (-[WebPluginController initWithWebFrame:]): observe window close changes
775         (-[WebPluginController dealloc]): remove observer, assert if we're still tracking plug-ins
776         (-[WebPluginController didAddSubview:]): start the plug-in
777         (-[WebPluginController stopAllPlugins]): stop and destroy all plug-ins.
778         (-[WebPluginController windowWillClose:]): call stopAllPlugins if the window in question is closing
779         * WebView.subproj/WebFramePrivate.m:
780         (-[WebFrame _transitionToCommitted]): call stopAllPlugins on WebPluginController
781
782 2002-10-23  Chris Blumenberg  <cblu@apple.com>
783
784         Changed the plug-in package API to return key enumerators instead dictionaries.
785
786         * Plugins.subproj/WebBasePluginPackage.h:
787         * Plugins.subproj/WebBasePluginPackage.m:
788         (-[WebBasePluginPackage initWithPath:]):
789         (-[WebBasePluginPackage load]):
790         (-[WebBasePluginPackage unload]):
791         (-[WebBasePluginPackage dealloc]):
792         (-[WebBasePluginPackage extensionEnumerator]):
793         (-[WebBasePluginPackage MIMETypeEnumerator]):
794         (-[WebBasePluginPackage descriptionForMIMEType:]):
795         (-[WebBasePluginPackage MIMETypeForExtension:]):
796         (-[WebBasePluginPackage extensionsForMIMEType:]):
797         (-[WebBasePluginPackage setName:]):
798         (-[WebBasePluginPackage setPath:]):
799         (-[WebBasePluginPackage setFilename:]):
800         (-[WebBasePluginPackage setPluginDescription:]):
801         (-[WebBasePluginPackage setMIMEToDescriptionDictionary:]):
802         (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):
803         * Plugins.subproj/WebNetscapePluginPackage.h:
804         * Plugins.subproj/WebNetscapePluginPackage.m:
805         (-[WebNetscapePluginPackage getPluginInfo]):
806         (-[WebNetscapePluginPackage pathByResolvingSymlinksAndAliasesInPath:]):
807         (-[WebNetscapePluginPackage initWithPath:]):
808         (-[WebNetscapePluginPackage executableType]):
809         * Plugins.subproj/WebPluginController.h:
810         * Plugins.subproj/WebPluginController.m:
811         (-[WebPluginController didAddSubview:]):
812         * Plugins.subproj/WebPluginDatabase.h:
813         * Plugins.subproj/WebPluginDatabase.m:
814         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
815         (-[WebPluginDatabase pluginForMIMEType:]):
816         (-[WebPluginDatabase pluginForExtension:]):
817         (-[WebPluginDatabase MIMETypes]):
818         (-[WebPluginDatabase init]):
819         * WebCoreSupport.subproj/WebBridge.m:
820         (-[WebBridge viewForPluginWithURL:attributes:baseURL:serviceType:]):
821         (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
822         (-[WebBridge didAddSubview:]): new
823         * WebView.subproj/WebFramePrivate.h:
824         * WebView.subproj/WebFramePrivate.m:
825         (-[WebFrame _didAddSubview:]): new 
826
827 2002-10-23  Darin Adler  <darin@apple.com>
828
829         - finished up the job of moving the file button here from WebCore.
830
831         I did this mainly for localization reasons.
832
833         * WebCoreSupport.subproj/WebFileButton.m:
834         (-[WebFileButton initWithFrame:]): Set up button control size, font, bezel style,
835         target, and action. Also add it as a subview.
836         (-[WebFileButton drawRect:]): Center icon in the "visual frame" part of the view,
837         not the entire bounds.
838         (-[WebFileButton setFilename:]): Don't show any icon when the filename is empty.
839         (-[WebFileButton bestVisualFrameSize]): Implemented this.
840         (-[WebFileButton visualFrame]): Ditto.
841         (-[WebFileButton setVisualFrame:]): Ditto.
842         (-[WebFileButton baseline]): Ditto.
843         (-[WebFileButton beginSheet]): Added. Shared between button presses and other clicks.
844         (-[WebFileButton chooseButtonPressed:]): Call beginSheet.
845         (-[WebFileButton mouseDown:]): Ditto.
846         (-[WebFileButton openPanelDidEnd:returnCode:contextInfo:]): Send the notification,
847         WebCoreFileButtonFilenameChanged, when the filename is changed.
848
849         * WebView.subproj/WebController.m: (-[WebController policyDelegate]):
850         Add a FIXME about the leak I found here.
851
852 2002-10-23  Chris Blumenberg  <cblu@apple.com>
853
854         Call the arguments for plug-ins "attributes" everywhere.
855
856         * Plugins.subproj/WebBaseNetscapePluginView.h:
857         * Plugins.subproj/WebBaseNetscapePluginView.m:
858         (-[WebBaseNetscapePluginView setAttributes:]):
859         * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
860         * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
861         (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:mime:attributes:]):
862         * Plugins.subproj/WebNullPluginView.h:
863         * Plugins.subproj/WebNullPluginView.m:
864         (-[WebNullPluginView initWithFrame:mimeType:attributes:]):
865         (-[WebNullPluginView drawRect:]):
866         * Plugins.subproj/WebPluginController.h:
867         * Plugins.subproj/WebPluginController.m:
868         (-[WebPluginController initWithWebFrame:]):
869         (-[WebPluginController dealloc]):
870         (-[WebPluginController addPluginView:]):
871         * Plugins.subproj/WebPluginPackage.h:
872         * Plugins.subproj/WebPluginPackage.m:
873         (-[WebPluginPackage viewFactory]):
874         * WebCoreSupport.subproj/WebBridge.m:
875         (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
876         (-[WebBridge viewForPluginWithURL:attributes:baseURL:serviceType:]):
877         (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
878
879 2002-10-23  Chris Blumenberg  <cblu@apple.com>
880
881         * WebCoreSupport.subproj/WebBridge.m:
882         (-[WebBridge requestedURL]):
883         (-[WebBridge viewForPluginWithURL:serviceType:arguments:baseURL:]):
884         (-[WebBridge viewForJavaAppletWithFrame:baseURL:parameters:]):
885         * WebCoreSupport.subproj/WebViewFactory.m:
886         (-[WebViewFactory fileButton]):
887         (-[WebViewFactory pluginsInfo]):
888
889 2002-10-23  Darin Adler  <darin@apple.com>
890
891         - fix bug where plugins crashed closing a stream that was never opened
892
893         * Plugins.subproj/WebBaseNetscapePluginStream.h: Change type for parameter of
894         receivedError: to NPReason. It's not NPError.
895         * Plugins.subproj/WebBaseNetscapePluginStream.m:
896         (-[WebBaseNetscapePluginStream dealloc]): Assert that stream is destroyed by
897         checking stream.ndata.
898         (-[WebBaseNetscapePluginStream setResponse:]): Set stream.ndata to nil if the
899         stream is not successfully created by NPP_NewStream.
900         (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): Added. Destroys the
901         stream, but only if it's present. Also set stream.ndata to nil. This was the bug fix.
902         (-[WebBaseNetscapePluginStream receivedError:]): Call destroyStreamWithReason:.
903         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Call destroyStreamWithReason:.
904
905         * English.lproj/Localizable.strings: Update.
906         * English.lproj/StringsNotToBeLocalized.txt: Update.
907
908 2002-10-23  Chris Blumenberg  <cblu@apple.com>
909
910         Forgot to add WebPluginController back to the project after I had a project conflict.
911
912         * WebKit.pbproj/project.pbxproj:
913
914 2002-10-23  Chris Blumenberg  <cblu@apple.com>
915
916         Added WebPluginController which controls and reacts to plug-in requests. Its owned by the WebFrame.
917
918         * Plugins.subproj/WebPluginController.h: Added.
919         * Plugins.subproj/WebPluginController.m: Added.
920         (-[WebPluginController initWithWebFrame:]):
921         (-[WebPluginController showURL:inFrame:]):
922         (-[WebPluginController showStatus:]):
923         * WebView.subproj/WebFramePrivate.h:
924         * WebView.subproj/WebFramePrivate.m:
925         (-[WebFramePrivate dealloc]):
926         (-[WebFrame pluginController]):
927
928 2002-10-23  Darin Adler  <darin@apple.com>
929
930         Add WebFileButton, to be used by WebCore soon. It's about 1/2
931         done right now. Compiles but not used yet.
932
933         * WebCoreSupport.subproj/WebViewFactory.m: (-[WebViewFactory fileButton]): Added.
934
935         * WebCoreSupport.subproj/WebFileButton.h: Added.
936         * WebCoreSupport.subproj/WebFileButton.m: Added.
937         * WebKit.pbproj/project.pbxproj: Added WebFileButton files.
938
939         * WebCoreSupport.subproj/WebSubresourceClient.m:
940         (-[WebSubresourceClient handle:didReceiveResponse:]): Add an assertion.
941
942 2002-10-23  Maciej Stachowiak  <mjs@apple.com>
943
944         - fixed 2876448 - The authentication panel should give a note when
945         the user tried to log in and failed
946
947         Also, made the message different (and more helpful) when the
948         authentication is for a proxy server.
949         
950         * Panels.subproj/WebAuthenticationPanel.m:
951         (-[WebAuthenticationPanel setUpForRequest:]): Use different
952         messages depending on proxy and previous failure count.
953
954         Updated localized strings:
955         
956         * English.lproj/Localizable.strings:
957         * English.lproj/StringsNotToBeLocalized.txt:
958
959 2002-10-23  Maciej Stachowiak  <mjs@apple.com>
960
961         - fixed 2876446 - The label in the authentication panel needs to
962         adjust its height depending on content
963
964         Also improved [NSControl sizeToFitAndAdjustWindowHeight] method.
965         
966         * Panels.subproj/English.lproj/WebAuthenticationPanel.nib: Adjusted
967         springs.
968         * Panels.subproj/WebAuthenticationPanel.m:
969         (-[WebAuthenticationPanel setUpForRequest:]): Use
970         sizeToFitAndAdjustWindowHeight on main label.
971         
972         * Misc.subproj/WebNSControlExtras.m:
973         (-[NSControl sizeToFitAndAdjustWindowHeight]): Improved the logic
974         so the best height is picked while leaving the width
975         alone. Before, the label would always come out to be a very wide
976         single line.
977
978 2002-10-22  Maciej Stachowiak  <mjs@apple.com>
979
980         * WebKit.pbproj/project.pbxproj: Made WebControllerSets.h
981         private. Also alphabetized headers in target pane and subproject
982         folders.
983
984 2002-10-22  Chris Blumenberg  <cblu@apple.com>
985
986         load and unload is only a WebNetscapePluginPackage thing since you can't unload an NSBundle.
987
988         * Plugins.subproj/WebBasePluginPackage.h:
989         * Plugins.subproj/WebBasePluginPackage.m:
990         * Plugins.subproj/WebNetscapePluginPackage.h:
991
992 2002-10-22  Chris Blumenberg  <cblu@apple.com>
993
994         More moving stuff around for the new plug-in API. Added WebBasePluginPackage and added subclass WebPluginPackage. Also made WebNetscapePluginPackage a subclass of WebBasePluginPackage. 
995
996         * Plugins.subproj/WebBasePluginPackage.h: Added.
997         * Plugins.subproj/WebBasePluginPackage.m: Added.
998         (+[WebBasePluginPackage pluginWithPath:]): creates a WebPluginPackage or WebNetscapePluginPackage
999         (-[WebBasePluginPackage initWithPath:]):
1000         (-[WebBasePluginPackage name]):
1001         (-[WebBasePluginPackage path]):
1002         (-[WebBasePluginPackage filename]):
1003         (-[WebBasePluginPackage pluginDescription]):
1004         (-[WebBasePluginPackage extensionToMIMEDictionary]):
1005         (-[WebBasePluginPackage MIMEToExtensionsDictionary]):
1006         (-[WebBasePluginPackage MIMEToDescriptionDictionary]):
1007         (-[WebBasePluginPackage load]):
1008         (-[WebBasePluginPackage unload]):
1009         (-[WebBasePluginPackage isLoaded]):
1010         (-[WebBasePluginPackage description]):
1011         * Plugins.subproj/WebNetscapePluginDocumentView.m:
1012         (-[WebNetscapePluginDocumentView setDataSource:]):
1013         * Plugins.subproj/WebNetscapePluginPackage.h:
1014         * Plugins.subproj/WebNetscapePluginPackage.m:
1015         (-[WebNetscapePluginPackage initWithPath:]):
1016         * Plugins.subproj/WebPluginDatabase.h:
1017         * Plugins.subproj/WebPluginDatabase.m:
1018         (-[WebPluginDatabase pluginForMIMEType:]):
1019         (-[WebPluginDatabase pluginForExtension:]):
1020         (-[WebPluginDatabase pluginForFilename:]):
1021         (-[WebPluginDatabase MIMETypes]):
1022         (-[WebPluginDatabase init]):
1023         * Plugins.subproj/WebPluginPackage.h: Added.
1024         * Plugins.subproj/WebPluginPackage.m: Added.
1025         (-[WebPluginPackage initWithPath:]):
1026         * WebCoreSupport.subproj/WebViewFactory.m:
1027         (-[WebViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]): check the class of the plug-in when deciding which view to create.
1028         (-[WebViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]): same here.
1029         * WebKit.pbproj/project.pbxproj:
1030
1031 2002-10-22  David Hyatt  <hyatt@apple.com>
1032
1033         Getting XML docs at least made for XML files...
1034         
1035         * WebView.subproj/WebHTMLRepresentation.m:
1036         (-[WebHTMLRepresentation setDataSource:]):
1037
1038 2002-10-22  Chris Blumenberg  <cblu@apple.com>
1039
1040         Made new plug-in API headers private.
1041
1042         * WebKit.pbproj/project.pbxproj:
1043
1044 2002-10-22  Darin Adler  <darin@apple.com>
1045
1046         * Misc.subproj/WebKitErrors.h:
1047         * WebView.subproj/WebMainResourceClient.m:
1048         (-[WebMainResourceClient handle:willSendRequest:]):
1049         (-[WebMainResourceClient handle:didReceiveResponse:]):
1050         Rename WebErrorLocationChangeInterruptedByURLPolicyChange to
1051         WebErrorLocationChangeInterruptedByPolicyChange.
1052
1053 2002-10-22  Darin Adler  <darin@apple.com>
1054
1055         * WebView.subproj/WebMainResourceClient.m:
1056         (-[WebMainResourceClient handle:didReceiveResponse:]):
1057         Send the new error whenever a policy change happens. The old code was
1058         sending a successful completion in the download and ignore cases.
1059
1060 2002-10-22  John Sullivan  <sullivan@apple.com>
1061
1062         - fixed 3080873 -- Error in console when no bookmark file 
1063         found -[WebBookmarkGroup _loadBookmarkGroupGuts]
1064
1065         * Bookmarks.subproj/WebBookmarkGroup.m:
1066         (-[WebBookmarkGroup _loadBookmarkGroupGuts]):
1067         removed ERROR that was useful only long ago.
1068
1069 2002-10-22  Richard Williamson  <rjw@apple.com>
1070
1071         Added stubs from common WebResourceHandleDelegate base
1072         class.
1073         
1074         * Plugins.subproj/WebBaseNetscapePluginStream.h:
1075         * Plugins.subproj/WebNetscapePluginStream.h:
1076         * WebCoreSupport.subproj/WebSubresourceClient.h:
1077         * WebKit.pbproj/project.pbxproj:
1078         * WebView.subproj/WebBaseResourceHandleDelegate.h: Added.
1079         * WebView.subproj/WebBaseResourceHandleDelegate.m: Added.
1080         * WebView.subproj/WebMainResourceClient.h:
1081
1082 2002-10-22  Darin Adler  <darin@apple.com>
1083
1084         Make the panel position itself above the main window.
1085         Too bad we can't use a sheet, but this is better than a random position.
1086
1087         * WebCoreSupport.subproj/WebJavaScriptTextInputPanel.m:
1088         (-[WebJavaScriptTextInputPanel initWithPrompt:text:]):
1089         Use the new [NSWindow sizeToFitAndAdjustWindowHeight]
1090         and [NSControl sizeToFitAndAdjustWindowHeight].
1091
1092         * Misc.subproj/WebNSControlExtras.h: Added.
1093         * Misc.subproj/WebNSControlExtras.m: Added.
1094         * Misc.subproj/WebNSWindowExtras.h: Added.
1095         * Misc.subproj/WebNSWindowExtras.m: Added.
1096         * WebKit.pbproj/project.pbxproj: Added above files.
1097
1098         * English.lproj/StringsNotToBeLocalized.txt: Update.
1099
1100 2002-10-22  Ken Kocienda  <kocienda@apple.com>
1101
1102         * Misc.subproj/WebKitErrors.h: Add new error code to signify that a location
1103         change has been interrupted by a change in the URLPolicy governing the load.
1104         * WebView.subproj/WebMainResourceClient.m:
1105         (-[WebMainResourceClient handle:willSendRequest:]): Add code to check the URLPolicy
1106         for the URL in the request that is submitted to us in this delegate method. Send
1107         a locationChangeDone:forDataSource: message with an error using the newly-defined
1108         code in cases where the location change should be cancelled.
1109
1110 2002-10-22  Chris Blumenberg  <cblu@apple.com>
1111
1112         Added protocol headers for new plug-in API.
1113
1114         * Plugins.subproj/WebPlugin.h: Added.
1115         * Plugins.subproj/WebPluginContainer.h: Added.
1116         * Plugins.subproj/WebPluginViewFactory.h: Added.
1117         * WebKit.pbproj/project.pbxproj:
1118
1119 2002-10-22  Chris Blumenberg  <cblu@apple.com>
1120
1121         - Moved things around to make room for new plug-in API.
1122         - Renamed WebNetscapePlugin to WebNetscapePluginPackage.
1123         - Renamed WebNetscapePluginDatabase to WebPluginDatabase.
1124
1125         * Plugins.subproj/WebBaseNetscapePluginStream.m:
1126         (-[WebBaseNetscapePluginStream setPluginPointer:]):
1127         * Plugins.subproj/WebBaseNetscapePluginView.h:
1128         * Plugins.subproj/WebBaseNetscapePluginView.m:
1129         (-[WebBaseNetscapePluginView plugin]):
1130         * Plugins.subproj/WebNetscapePluginDocumentView.m:
1131         (-[WebNetscapePluginDocumentView setDataSource:]):
1132         * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
1133         * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
1134         (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:mime:arguments:]):
1135         * Plugins.subproj/WebNetscapePluginNullEventSender.h: Added.
1136         * Plugins.subproj/WebNetscapePluginNullEventSender.m: Added.
1137         (-[WebNetscapePluginNullEventSender initWithPluginView:]):
1138         (-[WebNetscapePluginNullEventSender dealloc]):
1139         (-[WebNetscapePluginNullEventSender sendNullEvents]):
1140         (-[WebNetscapePluginNullEventSender stop]):
1141         * Plugins.subproj/WebNetscapePluginPackage.h: Added.
1142         * Plugins.subproj/WebNetscapePluginPackage.m: Added.
1143         (-[WebNetscapePluginPackage openResourceFile]):
1144         (-[WebNetscapePluginPackage closeResourceFile:]):
1145         (-[WebNetscapePluginPackage stringForStringListID:andIndex:]):
1146         (-[WebNetscapePluginPackage getPluginInfo]):
1147         (-[WebNetscapePluginPackage stringByResolvingSymlinksAndAliasesInPath:]):
1148         (-[WebNetscapePluginPackage initWithPath:]):
1149         (-[WebNetscapePluginPackage load]):
1150         (-[WebNetscapePluginPackage unload]):
1151         (-[WebNetscapePluginPackage NPP_SetWindow]):
1152         (-[WebNetscapePluginPackage NPP_New]):
1153         (-[WebNetscapePluginPackage NPP_Destroy]):
1154         (-[WebNetscapePluginPackage NPP_NewStream]):
1155         (-[WebNetscapePluginPackage NPP_StreamAsFile]):
1156         (-[WebNetscapePluginPackage NPP_DestroyStream]):
1157         (-[WebNetscapePluginPackage NPP_WriteReady]):
1158         (-[WebNetscapePluginPackage NPP_Write]):
1159         (-[WebNetscapePluginPackage NPP_HandleEvent]):
1160         (-[WebNetscapePluginPackage NPP_URLNotify]):
1161         (-[WebNetscapePluginPackage NPP_GetValue]):
1162         (-[WebNetscapePluginPackage NPP_SetValue]):
1163         (-[WebNetscapePluginPackage NPP_Print]):
1164         (-[WebNetscapePluginPackage MIMEToExtensionsDictionary]):
1165         (-[WebNetscapePluginPackage extensionToMIMEDictionary]):
1166         (-[WebNetscapePluginPackage MIMEToDescriptionDictionary]):
1167         (-[WebNetscapePluginPackage name]):
1168         (-[WebNetscapePluginPackage filename]):
1169         (-[WebNetscapePluginPackage path]):
1170         (-[WebNetscapePluginPackage isLoaded]):
1171         (-[WebNetscapePluginPackage pluginDescription]):
1172         (-[WebNetscapePluginPackage description]):
1173         (functionPointerForTVector):
1174         (tVectorForFunctionPointer):
1175         * Plugins.subproj/WebPlugin.h: Removed.
1176         * Plugins.subproj/WebPlugin.m: Removed.
1177         * Plugins.subproj/WebPluginDatabase.h:
1178         * Plugins.subproj/WebPluginDatabase.m:
1179         (+[WebPluginDatabase installedPlugins]):
1180         (-[WebPluginDatabase pluginForMIMEType:]):
1181         (-[WebPluginDatabase pluginForExtension:]):
1182         (-[WebPluginDatabase pluginForFilename:]):
1183         (-[WebPluginDatabase MIMETypes]):
1184         (-[WebPluginDatabase init]):
1185         * Plugins.subproj/WebPluginNullEventSender.h: Removed.
1186         * Plugins.subproj/WebPluginNullEventSender.m: Removed.
1187         * WebCoreSupport.subproj/WebViewFactory.m:
1188         (-[WebViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]):
1189         (-[WebViewFactory pluginsInfo]):
1190         (-[WebViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]):
1191         * WebKit.pbproj/project.pbxproj:
1192         * WebView.subproj/WebController.m:
1193         (+[WebController canShowMIMEType:]):
1194
1195 2002-10-22  Darin Adler  <darin@apple.com>
1196
1197         * WebCoreSupport.subproj/WebJavaScriptTextInputPanel.m: Added missing import.
1198
1199 2002-10-22  Darin Adler  <darin@apple.com>
1200
1201         - fixed 3077305 -- js dialog not yet implemented - crash (fatal error)
1202
1203         * WebCoreSupport.subproj/WebViewFactory.m:
1204         (-[WebViewFactory runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
1205         Create a WebJavaScriptTextInputPanel and run it.
1206
1207         * English.lproj/WebJavaScriptTextInputPanel.nib: Added.
1208         * WebCoreSupport.subproj/WebJavaScriptTextInputPanel.h: Added.
1209         * WebCoreSupport.subproj/WebJavaScriptTextInputPanel.m: Added.
1210         * WebKit.pbproj/project.pbxproj: Added 
1211
1212 2002-10-22  Chris Blumenberg  <cblu@apple.com>
1213
1214         Use the mouseDown point instead of the mouseDragged point to determine the mouseOffset when dragging images. When you drag an image now, the point where you clicked is the point where the cursor is in relation to the drag image.
1215
1216         * WebView.subproj/WebHTMLView.m:
1217         (-[WebHTMLView mouseDown:]): retain the mouse down event
1218         (-[WebHTMLView mouseDragged:]): use the mouse down event
1219         * WebView.subproj/WebHTMLViewPrivate.h:
1220         * WebView.subproj/WebHTMLViewPrivate.m:
1221         (-[WebHTMLViewPrivate dealloc]): release the mouse down event
1222
1223 2002-10-21  Darin Adler  <darin@apple.com>
1224
1225         * WebCoreSupport.subproj/WebViewFactory.h: Changed to use new protocol scheme so we
1226         get an error if we forget to implement something.
1227         * WebCoreSupport.subproj/WebViewFactory.m:
1228         (-[WebViewFactory runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]): Stub.
1229
1230 2002-10-21  Richard Williamson   <rjw@apple.com>
1231
1232         More incremental tweaks.  Will be factoring common
1233         handle delegate behavior into base class.
1234         
1235         * Plugins.subproj/WebNetscapePluginStream.m:
1236         (-[WebNetscapePluginStream handle:didReceiveData:]):
1237         (-[WebNetscapePluginStream handleDidFinishLoading:]):
1238         * WebCoreSupport.subproj/WebBridge.m:
1239         (-[WebBridge objectLoadedFromCache:response:size:]):
1240         * WebCoreSupport.subproj/WebSubresourceClient.m:
1241         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
1242         (-[WebSubresourceClient handle:didReceiveData:]):
1243         (-[WebSubresourceClient handleDidFinishLoading:]):
1244         * WebView.subproj/WebControllerPrivate.h:
1245         * WebView.subproj/WebControllerPrivate.m:
1246         (-[WebController _finsishedLoadingResourceFromDataSource:]):
1247
1248 2002-10-21  Trey Matteson  trey@apple.com
1249
1250         Fixed typos and other doc comment errors found during API review.
1251
1252         * WebView.subproj/WebController.h:
1253
1254 2002-10-21  Richard Williamson   <rjw@apple.com>
1255
1256         Changed WebResourceLoadDelegate methods to include an identifier
1257         as first parameter.  This will help clients track callbacks relating
1258         to a particular resource.  Added identifierForInitialRequest:fromDataSource:
1259         so clients can create their own identifier.
1260         
1261         * WebCoreSupport.subproj/WebBridge.m:
1262         (-[WebBridge objectLoadedFromCache:response:size:]):
1263         * WebCoreSupport.subproj/WebSubresourceClient.h:
1264         * WebCoreSupport.subproj/WebSubresourceClient.m:
1265         (-[WebSubresourceClient handle:willSendRequest:]):
1266         (-[WebSubresourceClient handle:didReceiveResponse:]):
1267         (-[WebSubresourceClient handle:didReceiveData:]):
1268         (-[WebSubresourceClient handleDidFinishLoading:]):
1269         (-[WebSubresourceClient handle:didFailLoadingWithError:]):
1270         * WebView.subproj/WebController.m:
1271         (-[WebResourceLoadDelegate identifierForInitialRequest:fromDataSource:]):
1272         (-[WebResourceLoadDelegate resource:willSendRequest:fromDataSource:]):
1273         (-[WebResourceLoadDelegate resource:didReceiveResponse:fromDataSource:]):
1274         (-[WebResourceLoadDelegate resource:didReceiveContentLength:fromDataSource:]):
1275         (-[WebResourceLoadDelegate resource:didFinishLoadingFromDataSource:]):
1276         (-[WebResourceLoadDelegate resource:didFailLoadingWithError:fromDataSource:]):
1277         * WebView.subproj/WebMainResourceClient.h:
1278         * WebView.subproj/WebMainResourceClient.m:
1279         (-[WebMainResourceClient receivedError:forHandle:]):
1280         (-[WebMainResourceClient handleDidFinishLoading:]):
1281         (-[WebMainResourceClient handle:willSendRequest:]):
1282         (-[WebMainResourceClient handle:didReceiveResponse:]):
1283         (-[WebMainResourceClient handle:didReceiveData:]):
1284         (-[WebMainResourceClient handle:didFailLoadingWithError:]):
1285         * WebView.subproj/WebResourceLoadDelegate.h:
1286
1287 2002-10-21  Chris Blumenberg  <cblu@apple.com>
1288
1289         Changed content policy API to pass a response instead of MIME type so client can get the mime type and filename from one class.
1290
1291         * WebView.subproj/WebControllerPolicyDelegate.h:
1292         * WebView.subproj/WebDefaultPolicyDelegate.m:
1293         * WebView.subproj/WebMainResourceClient.m:
1294         (-[WebMainResourceClient handle:didReceiveResponse:]):
1295
1296 2002-10-21  Darin Adler  <darin@apple.com>
1297
1298         - fixed 3080512 -- REGRESSION: moving from old page to new one, we get blank white
1299         before the new one is ready
1300
1301         Roll out a bunch of my changes, because they weren't complete. Added FIXMEs for the
1302         problems I was unsuccessfully trying to fix.
1303
1304         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]):
1305         * WebView.subproj/WebView.m:
1306         (-[WebView initWithFrame:]), (-[WebView isOpaque]), (-[WebView drawRect:]):
1307         Roll back.
1308
1309 2002-10-21  Darin Adler  <darin@apple.com>
1310
1311         - fixed 3080246 -- REGRESSION: Animated GIFs sometimes disappear after drag or scroll
1312
1313         Once more, with feeling.
1314
1315         * WebView.subproj/WebHTMLView.m:
1316         (-[WebHTMLView _setNeedsLayoutIfSizeChanged:]): Added setNeedsDisplay:YES here. The lack
1317         of this is what caused the bug. But also don't do any work when the size doesn't change.
1318         This prevents this from being called at all in the scrolling case, which is what we want.
1319         (-[WebHTMLView viewWillMoveToSuperview:]): Just the name change.
1320         (-[WebHTMLView layout]): Store the layout size for the above methods.
1321         * WebView.subproj/WebHTMLViewPrivate.h: Add a place to store the size.
1322
1323         * WebView.subproj/WebImageView.m: (-[WebImageView layout]):
1324         Roll this change back in.
1325
1326 2002-10-21  Darin Adler  <darin@apple.com>
1327
1328         - fixed 3080246 -- REGRESSION: Animated GIFs sometimes disappear after drag or scroll
1329
1330         * WebView.subproj/WebImageView.m: (-[WebImageView layout]):
1331         My change to this caused the regression. Not sure why, but I'll just back out
1332         because the change wasn't important.
1333
1334 2002-10-20  Chris Blumenberg  <cblu@apple.com>
1335
1336         Fixed: 3025847 - Can't use any menu command keys after clicking on a plugin
1337
1338         Don't give plug-ins command-modified keys anymore because the ability wasn't worth the annoyance. If only plug-ins truthfully responded t  events! Anyway, filed 3080103 so that I can look into a way to make this work for everybody.
1339
1340         * Plugins.subproj/WebBaseNetscapePluginView.m:
1341
1342 2002-10-20  Chris Blumenberg  <cblu@apple.com>
1343
1344         Fixed: 3025868 - Plugin context menu disappears then reappears if you click off of it
1345
1346         Also fixed some rare dragging weirdness in WebHTMLView. If you attempted to drag a plug-in after dragging an image, the image would drag again.
1347
1348         * Plugins.subproj/WebBaseNetscapePluginView.m:
1349         (-[WebBaseNetscapePluginView mouseDragged:]): subclass and do nothing to prevent calling mouseDragged in WebHTMLView
1350         (-[WebBaseNetscapePluginView performKeyEquivalent:]): no changes to this method, removed menuForEvent, wasn't needed after all
1351         * Plugins.subproj/WebNetscapePluginStream.m:
1352         (-[WebNetscapePluginStream stop]): minor clean-up
1353
1354 2002-10-20  Darin Adler  <darin@apple.com>
1355
1356         - fixed a minor problem with autorelease I just ran into
1357
1358         * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]):
1359         Create an autorelease pool for the benefit of the class initialize
1360         functions that will be called.
1361
1362 2002-10-20  Chris Blumenberg  <cblu@apple.com>
1363
1364         Fixed 3050010: Should show contextual menu for WebImageView
1365         Also made drags from WebImageView work.
1366
1367         * Misc.subproj/WebNSViewExtras.h:
1368         * Misc.subproj/WebNSViewExtras.m: added _web_setPromisedImageDragImage which does the hackery to extend the promised file drag for images
1369         * WebView.subproj/WebControllerPrivate.h:
1370         * WebView.subproj/WebControllerPrivate.m:
1371         (-[WebController _menuForElement:]): added, gets menu items from delegate and creates menu
1372         * WebView.subproj/WebHTMLView.m:
1373         (-[WebHTMLView menuForEvent:]): simplified, gets element and calls -[WebController _menuForElement:]
1374         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): call _web_setPromisedImageDragImage: when dragging image
1375         * WebView.subproj/WebImageRepresentation.h:
1376         * WebView.subproj/WebImageRepresentation.m:
1377         (-[WebImageRepresentation dealloc]): release the URL
1378         (-[WebImageRepresentation URL]): added so WebImageView can get the URL
1379         (-[WebImageRepresentation setDataSource:]): retain the URL
1380         * WebView.subproj/WebImageView.h: use new drag bools
1381         * WebView.subproj/WebImageView.m:
1382         (-[WebImageView initWithFrame:]): ditto
1383         (-[WebImageView setAcceptsDrags:]): ditto
1384         (-[WebImageView acceptsDrags]): ditto
1385         (-[WebImageView setAcceptsDrops:]): ditto
1386         (-[WebImageView acceptsDrops]): ditto
1387         (-[WebImageView controller]): new
1388         (-[WebImageView menuForEvent:]): new, creates element and calls -[WebController _menuForElement:]
1389         (-[WebImageView mouseDragged:]): drag promised file
1390         (-[WebImageView dragImage:at:offset:event:pasteboard:source:slideBack:]): call _web_setPromisedImageDragImage:
1391         (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): new
1392
1393 2002-10-20  Darin Adler  <darin@apple.com>
1394
1395         - fixed a problem where you would get garbage bits when resizing while loading a standalone image
1396
1397         Cleaned up some of the complexity of how we were handling resizing.
1398
1399         * WebView.subproj/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]):
1400         Do the update twice to properly handle the case where a disappearing scroller makes a second
1401         scroller appear or vice versa.
1402
1403         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]): Remove the code that was trying
1404         to set the setDrawsBackground flag on the scroll view. It was doing it wrong, causing bugs with
1405         drawing non-HTML views while loading. Also, it wasn't working as an optimization, since the
1406         window was still drawing the metallic background behind. We can revisit adding an optimization
1407         at the WebHTMLView level if it creates a measurable speed increase, but we must be careful to
1408         test loading with non-HTML views along with the HTML cases.
1409
1410         * WebView.subproj/WebHTMLView.m:
1411         (-[WebHTMLView _setNeedsLayoutToYes:]): Added. Calls setNeedsLayout:YES.
1412         (-[WebHTMLView viewWillMoveToSuperview:]): Added. Registers so we get _setNeedsLayoutToYes:
1413         calls when the superview's size changes. This allows us to do a layout at all the right times.
1414         (-[WebHTMLView layout]): Call setNeedsDisplay:YES, because if we do a layout without a complete
1415         display the screen will look bad. Also do a reapplyStyles, because if there are pending style
1416         changes we want to apply them before doing a layout since they could affect the layout.
1417         (-[WebHTMLView drawRect:]): Remove the special case that says to always relayout during live
1418         resize, because it works without a special case now. For the other live resize case, turn it from
1419         a special case into a general one. Any time layout is done, make sure to draw the entire view,
1420         not just the passed-in rectangle, and call setNeedsDisplay:NO so we don't do it all over again.
1421
1422         * WebView.subproj/WebImageView.m: (-[WebImageView layout]): Explicitly set frame size to
1423         0,0 when there is no image.
1424
1425         * WebView.subproj/WebView.m: Remove now-unnecessary viewWillStartLiveResize, setFrame:,
1426         viewDidEndLiveResize, isOpaque, and drawRect overrides.
1427         (-[WebView initWithFrame:]): Don't call setDrawsBackground:NO for the reasons above.
1428         Don't set scroll bar visibility because the dynamic scroll bars view handles that already.
1429
1430 2002-10-19  Darin Adler  <darin@apple.com>
1431
1432         - fixed 3073693 -- flash drawn to screen even when window minimized
1433
1434         * Plugins.subproj/WebBaseNetscapePluginView.m:
1435         (-[WebBaseNetscapePluginView start]): Set up additional notifications.
1436         Don't start the null event sender if the window is miniaturized.
1437         (-[WebBaseNetscapePluginView windowDidMiniaturize:]): Stop the null event sender.
1438         (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): Start the null event sender.
1439
1440 2002-10-19  Darin Adler  <darin@apple.com>
1441
1442         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]):
1443         Removed stray printf.
1444
1445 2002-10-18  Richard Williamson   <rjw@apple.com>
1446
1447         Changed name to setUsesBackForwardList: from
1448         setUseBackForwardList.  ditto for useBackForwardList
1449         
1450         * WebView.subproj/WebController.h:
1451         * WebView.subproj/WebController.m:
1452         (-[WebController setUsesBackForwardList:]):
1453         (-[WebController usesBackForwardList]):
1454         * WebView.subproj/WebFramePrivate.m:
1455         (-[WebFrame _transitionToCommitted]):
1456         (-[WebFrame _isLoadComplete]):
1457
1458         Fixed history items that have "untitled" title after
1459         redirect. (3078577).
1460         
1461         * WebView.subproj/WebDataSourcePrivate.m:
1462         (-[WebDataSource _setTitle:]):
1463
1464 2002-10-18  Darin Adler  <darin@apple.com>
1465
1466         * WebView.subproj/WebController.h:
1467         * WebView.subproj/WebController.m:
1468         (-[WebController stringByEvaluatingJavaScriptFromString:]):
1469         Changed to return a string and changed name.
1470
1471 2002-10-18  Darin Adler  <darin@apple.com>
1472
1473         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
1474
1475 2002-10-18  Ken Kocienda  <kocienda@apple.com>
1476
1477         Removed unneeded import of WebFoundation/WebResourceLoadManager.h
1478
1479         * Misc.subproj/WebIconLoader.m
1480
1481 2002-10-18  Darin Adler  <darin@apple.com>
1482
1483         * Makefile.am: Move dependency so clean happens before build.
1484
1485 2002-10-18  Darin Adler  <darin@apple.com>
1486
1487         * force-clean-timestamp: Dependencies don't work well enough, so
1488         we need a clean build here after the WebFoundation domain change.
1489
1490 2002-10-18  Darin Adler  <darin@apple.com>
1491
1492         Update for WebFoundation error domain changes.
1493
1494         * Misc.subproj/WebKitErrors.h: Put WebErrorDomainWebKit in here.
1495         Also remove WebErrorNoError and the WebErrorCode name for the enum.
1496         * WebKit.exp: Export the WebErrorDomainWebKit constant.
1497         * WebView.subproj/WebView.m: Define the WebErrorDomainWebKit.
1498
1499         * WebKit.pbproj/project.pbxproj: Always use WebKit.exp.
1500         * Makefile.am: Don't generate WebKit-combined.exp any more.
1501         * WebKit-tests.exp: Removed.
1502
1503 2002-10-17  Darin Adler  <darin@apple.com>
1504
1505         - fixed 3078644 -- Odd clipping in frame
1506
1507         * WebView.subproj/WebClipView.h: Add hasAdditionalClip and additionalClip methods.
1508         * WebView.subproj/WebClipView.m:
1509         (-[WebClipView resetAdditionalClip]): Add an assertion.
1510         (-[WebClipView setAdditionalClip:]): Ditto.
1511         (-[WebClipView hasAdditionalClip]): Added.
1512         (-[WebClipView additionalClip]): Added.
1513
1514         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView visibleRect]):
1515         Turn off the additional clip while computing our visibleRect. This way, the additional
1516         clip only affects people who ask for the clip view's visibleRect directly, which basically
1517         means just the focus rectangle drawing code we are trying to influence.
1518
1519 2002-10-17  Richard Williamson  <rjw@apple.com>
1520
1521         Support for drawing frame borders (fixes 2982466).
1522         
1523         * WebView.subproj/WebHTMLView.m:
1524         (-[WebHTMLView _drawBorder:]):
1525         (-[WebHTMLView drawRect:]):
1526
1527 2002-10-17  John Sullivan  <sullivan@apple.com>
1528
1529         - added support for bookmark identifiers, to be used for marking
1530         bookmark proxies uniquely (independent of localized title). This
1531         is not the old unique-identifier scheme; now identifiers are optional,
1532         and initially nil, but the client can use them for its own purposes.
1533
1534         * Bookmarks.subproj/WebBookmark.h:
1535         * Bookmarks.subproj/WebBookmark.m:
1536         (-[WebBookmark dealloc]): release identifier
1537         (-[WebBookmark identifier]): return identifier
1538         (-[WebBookmark setIdentifier:]): set identifier
1539         * Bookmarks.subproj/WebBookmarkLeaf.m:
1540         (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
1541         restore identifier
1542         (-[WebBookmarkLeaf dictionaryRepresentation]):
1543         save identifier
1544         (-[WebBookmarkLeaf copyWithZone:]):
1545         copy identifier
1546         * Bookmarks.subproj/WebBookmarkList.m:
1547         (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]):
1548         restore identifier
1549         (-[WebBookmarkList dictionaryRepresentation]):
1550         save identifier
1551         (-[WebBookmarkList copyWithZone:]):
1552         copy identifier
1553         * Bookmarks.subproj/WebBookmarkPrivate.h:
1554         * Bookmarks.subproj/WebBookmarkProxy.m:
1555         (-[WebBookmarkProxy initFromDictionaryRepresentation:withGroup:]):
1556         restore identifier
1557         (-[WebBookmarkProxy dictionaryRepresentation]):
1558         save identifier
1559         (-[WebBookmarkProxy copyWithZone:]):
1560         copy identifier
1561
1562 === Alexander-28 ===
1563
1564 2002-10-17  Darin Adler  <darin@apple.com>
1565
1566         - fixed 3062613 -- too many redirects at nytimes.com and apple
1567
1568         Our cookie policy was rejecting the cookies from nytimes.com -- the policy base
1569         URL was still the news.com URL from before the redirect.
1570
1571         * WebView.subproj/WebMainResourceClient.m:
1572         (-[WebMainResourceClient handle:willSendRequest:]):
1573         Update the cookie policy URL when a redirect changes the data source's URL.
1574
1575 2002-10-17  Darin Adler  <darin@apple.com>
1576
1577         - fixed 3077910 -- REGRESSION: download window open at startup time -> no scrollbars
1578
1579         * WebView.subproj/WebDynamicScrollBarsView.m:
1580         (-[WebDynamicScrollBarsView updateScrollers]):
1581         Check for WebDocumentView protocol before making the layout method
1582         call. Prevents exception when WebDynamicScrollBarsView is used with
1583         a document that is not a WebDocumentView.
1584
1585 2002-10-16  Richard Williamson  <rjw@apple.com>
1586
1587         Added some drawing debug code (ifdef excluded).
1588         
1589         * WebView.subproj/WebHTMLView.m:
1590         (-[WebHTMLView drawRect:]):
1591
1592 2002-10-16  Darin Adler  <darin@apple.com>
1593
1594         Fixed anomalies with plugin positioning caused by my switch to
1595         NSViewFocusDidChangeNotification. Turns out that is not sent during
1596         live resize, but we need things to work during live resize.
1597
1598         * Plugins.subproj/WebBaseNetscapePluginView.m:
1599         (-[WebBaseNetscapePluginView start]): Register for changes in the
1600         bounds and frame of all superviews again, instead of using
1601         NSViewFocusDidChangeNotification.
1602
1603 2002-10-16  Richard Williamson  <rjw@apple.com>
1604
1605         Fixed 2969367.  Ensure layout happens before doing check
1606         to determine if scrollbars are needed.  Ahhh, dynamic
1607         scrollbars work so much better now.
1608         
1609         * WebView.subproj/WebDynamicScrollBarsView.m:
1610         (-[WebDynamicScrollBarsView updateScrollers]):
1611
1612 2002-10-16  Darin Adler  <darin@apple.com>
1613
1614         Fixed the problem where we would leave white bits when making the window larger.
1615
1616         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): During live resize,
1617         use the visible rectangle after doing layout, not before.
1618
1619 2002-10-16  Richard Williamson  <rjw@apple.com>
1620
1621         Fixed regression in visited links due to change is semantics of
1622         [dataSource request], added [dataSource _originalRequest].  Items
1623         always need to be added to history with the original request.
1624         
1625         * WebView.subproj/WebDataSource.m:
1626         (-[WebDataSource initWithRequest:]):
1627         * WebView.subproj/WebDataSourcePrivate.h:
1628         * WebView.subproj/WebDataSourcePrivate.m:
1629         (-[WebDataSourcePrivate dealloc]):
1630         (-[WebDataSource _defersCallbacksChanged]):
1631         (-[WebDataSource _originalRequest]):
1632         * WebView.subproj/WebFramePrivate.m:
1633         (-[WebFrame _transitionToCommitted]):
1634
1635 2002-10-16  Darin Adler  <darin@apple.com>
1636
1637         - fixed 3017152 -- intra-page anchors not updating page address field
1638
1639         * WebView.subproj/WebLocationChangeDelegate.h: Rearrange methods so they are
1640         in the order they are delivered. Add locationChangedWithinPageForDataSource method.
1641         Renamed the redirect methods to match the verb tenses used in the others.
1642         Removed the URL parameter from the server redirect method.
1643         * WebView.subproj/WebLocationChangeDelegate.m: Update the class to match the
1644         changes to the protocol.
1645
1646         * WebCoreSupport.subproj/WebBridge.m:
1647         (-[WebBridge reportClientRedirectTo:delay:fireDate:]):
1648         Update for change to clientWillRedirectTo method name.
1649         (-[WebBridge loadURL:]): Call locationChangedWithinPageForDataSource:.
1650
1651         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setRequest:]):
1652         Update for change to serverRedirectedForDataSource method name.
1653
1654         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseMovedNotification:]):
1655         Remove overzealous assert that was firing for me.
1656
1657         * WebCoreSupport.subproj/WebSubresourceClient.m: Update comment.
1658         * WebView.subproj/WebDataSource.h: Fix comment.
1659
1660 2002-10-15  Darin Adler  <darin@apple.com>
1661
1662         - fixed 3062393 -- need to send proper referrer for "open in new window" menu items and keyboard shortcuts
1663
1664         * WebCoreSupport.subproj/WebBridge.m:
1665         (-[WebBridge createWindowWithURL:frameName:]): Don't take a referrer parameter any more.
1666         Get the referrer by calling to the other side of the bridge, instead.
1667         (-[WebBridge startLoadingResource:withURL:]): Ditto.
1668         (-[WebBridge loadURL:]): Ditto.
1669         (-[WebBridge postWithURL:data:contentType:]): Ditto.
1670         (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
1671         Ditto.
1672
1673         * WebView.subproj/WebDefaultContextMenuDelegate.m:
1674         (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]): Don't take a referrer parameter,
1675         which was always nil anyway. Instead, get the referrer from the bridge.
1676         (-[WebDefaultContextMenuDelegate openLinkInNewWindow:]): Don't pass nil for referrer.
1677         (-[WebDefaultContextMenuDelegate openImageInNewWindow:]): Ditto.
1678         (-[WebDefaultContextMenuDelegate openFrameInNewWindow:]): Ditto.
1679
1680         * WebView.subproj/WebHTMLViewPrivate.m:
1681         (-[WebHTMLView _continueAfterClickPolicyForEvent:]): Pass a referrer from the bridge, rather
1682         than nil, for both WebClickPolicyOpenNewWindow and WebClickPolicyOpenNewWindowBehind.
1683
1684         * Plugins.subproj/WebBaseNetscapePluginView.m:
1685         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Add a FIXME.
1686
1687 2002-10-15  Darin Adler  <darin@apple.com>
1688
1689         * WebView.subproj/WebDataSourcePrivate.h: Remove unused stuff.
1690         * WebView.subproj/WebDataSourcePrivate.m: Ditto.
1691
1692 2002-10-15  Darin Adler  <darin@apple.com>
1693
1694         * WebCoreSupport.subproj/WebBridge.m:
1695         (-[WebBridge loadURL:referrer:]): Add a special case for when the URL is the
1696         same as the previous URL for the same frame. This relies on some logic in
1697         KHTML's openURL method that handles this case too.
1698
1699         * WebView.subproj/WebDataSource.m:
1700         (-[WebDataSource initWithRequest:]): Don't bother keeping an inputURL.
1701         (-[WebDataSource URL]): Just return [[self request] URL]. Maybe we can
1702         remove this altogether.
1703         * WebView.subproj/WebDataSourcePrivate.h: Remove inputURL, finalURL.
1704         * WebView.subproj/WebDataSourcePrivate.m:
1705         (-[WebDataSourcePrivate dealloc]): No need to release inputURL, finalURL.
1706         (-[WebDataSource _setURL:]): Used only by the new code above. Makes a copy
1707         of the request, changes the URL, and then drops the old request.
1708         (-[WebDataSource _setRequest:]): Changed to no longer call _setURL. Now
1709         does much of the work that _setURL used to do.
1710
1711 2002-10-15  Darin Adler  <darin@apple.com>
1712
1713         WebKit part of improved frame name support.
1714
1715         * WebView.subproj/WebFrame.m:
1716         (-[WebFrame initWithName:webView:provisionalDataSource:controller:]):
1717         Call setName on the newly created part.
1718
1719 2002-10-15  John Sullivan  <sullivan@apple.com>
1720
1721         - fixed 3075777 -- hysteresis for dragging links on web pages
1722         is still too large
1723
1724         * WebView.subproj/WebHTMLView.m: changed hysteresis constants;
1725         added comment.
1726
1727 2002-10-15  Darin Adler  <darin@apple.com>
1728
1729         Fix problem where timer was lasting after window was closed.
1730
1731         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _detachFromParent]):
1732         Add a call to [_private->bridge closeURL].
1733
1734 2002-10-15  Richard Williamson  <rjw@apple.com>
1735
1736         Added attributed string to pasteboard.  Fixes 3006760.
1737         We may want to scale back the content that is included in the
1738         attributed string.  Currently all text nodes in the selection
1739         are converted.  This include text nodes for non-visible content,
1740         i.e. scripts.
1741         [Note we may also want to put HTML snippet on the pboard.  The appkit
1742         does support reading text using htmldisplay today.  Of course this should
1743         eventually migrate to use WebView.]
1744         
1745         * WebView.subproj/WebHTMLView.m:
1746         (-[WebHTMLView copy:]):
1747
1748 2002-10-15  Darin Adler  <darin@apple.com>
1749
1750         Fixed bug where URLs dragged to the content area were not made canonical
1751         the way URLs dragged to the page address field are.
1752
1753         * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_bestURL]):
1754         Make URLs canonical before returning them.
1755
1756 2002-10-15  Chris Blumenberg  <cblu@apple.com>
1757
1758         If a file is renamed during download because a file of the same name already exists, show this in the UI.
1759
1760         * Misc.subproj/WebDownloadHandler.h:
1761         * Misc.subproj/WebDownloadHandler.m:
1762         (-[WebDownloadHandler receivedResponse:]): added, create file here
1763         (-[WebDownloadHandler receivedData:]): don't create file here
1764         * WebView.subproj/WebMainResourceClient.m:
1765         (-[WebMainResourceClient handleDidFinishLoading:]): call [dataSource _setPrimaryLoadComplete:YES] for downloads
1766         (-[WebMainResourceClient handle:didReceiveResponse:]): call [WebDownloadHandler receivedResponse:]
1767         (-[WebMainResourceClient handle:didReceiveData:]): no download error to handle
1768
1769 2002-10-14  Chris Blumenberg  <cblu@apple.com>
1770
1771         - Made all downloads no matter how prompted, pass through the content policy API so the client can properly choose the file name and correct the extension if necessary. We now ask for the content policy even if one has been predetermined. 
1772
1773         * WebView.subproj/WebControllerPolicyDelegate.h:
1774         * WebView.subproj/WebControllerPrivate.h:
1775         * WebView.subproj/WebControllerPrivate.m:
1776         (-[WebController _downloadURL:withContentPolicy:]): Renamed, set the predetermined content policy.
1777         * WebView.subproj/WebDefaultContextMenuDelegate.m:
1778         (-[WebDefaultContextMenuDelegate downloadURL:]): call [WebController _downloadURL:withContentPolicy:]
1779         * WebView.subproj/WebDefaultPolicyDelegate.m:
1780         * WebView.subproj/WebHTMLView.m:
1781         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebController _downloadURL:withContentPolicy:]
1782         * WebView.subproj/WebHTMLViewPrivate.m:
1783         (-[WebHTMLView _continueAfterClickPolicyForEvent:]): call [WebController _downloadURL:withContentPolicy:]
1784         * WebView.subproj/WebMainResourceClient.m:
1785         (-[WebMainResourceClient handle:didReceiveResponse:]): ask for content policy even if one is predetermined
1786
1787 2002-10-14  Chris Blumenberg  <cblu@apple.com>
1788
1789         - Cleaned up download handler and download progress delegate interactions.
1790         - Got rid of error suppression junk.
1791         - Only send 1 final message to the download progress delegate
1792
1793         * WebView.subproj/WebMainResourceClient.h:
1794         * WebView.subproj/WebMainResourceClient.m:
1795         (-[WebMainResourceClient receivedError:forHandle:]): no error suppression
1796         (-[WebMainResourceClient didCancelWithHandle:]): ignore cancel errors because 1 download error is enough
1797         (-[WebMainResourceClient handleDidFinishLoading:]): don't send the special and odd final message to the download progress delegate
1798         (-[WebMainResourceClient handle:didReceiveData:]): no error suppression
1799         (-[WebMainResourceClient handle:didFailLoadingWithError:]): ignore cancel errors because 1 download error is enough
1800
1801 2002-10-14  Darin Adler  <darin@apple.com>
1802
1803         * Bookmarks.subproj/WebBookmark.m:
1804         (+[WebBookmark bookmarkFromDictionaryRepresentation:withGroup:]):
1805         * Bookmarks.subproj/WebBookmarkLeaf.m:
1806         (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
1807         * Bookmarks.subproj/WebBookmarkList.m:
1808         (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]):
1809         * Bookmarks.subproj/WebBookmarkProxy.m:
1810         (-[WebBookmarkProxy initFromDictionaryRepresentation:withGroup:]):
1811         Add checking since we don't "trust" the dictionary passed in.
1812
1813         * History.subproj/WebHistoryItem.m:
1814         (-[WebHistoryItem initFromDictionaryRepresentation:]):
1815         Add FIXME about adding the checking.
1816
1817         * Bookmarks.subproj/WebBookmarkGroup.m:
1818         (-[WebBookmarkGroup initWithFile:]): Use copy, not retain.
1819
1820         * WebView.subproj/WebControllerPrivate.m:
1821         (-[WebControllerPrivate dealloc]): Fix storage leak by releasing
1822         the default context menu delegate.
1823
1824         * WebView.subproj/WebControllerPrivate.h: Tweak.
1825
1826 2002-10-14  Chris Blumenberg  <cblu@apple.com>
1827
1828         Made WebNetscapePluginStream retain a WebNetscapePluginEmbeddedView not a WebBaseNetscapePluginView.
1829
1830         * Plugins.subproj/WebNetscapePluginStream.h:
1831         * Plugins.subproj/WebNetscapePluginStream.m:
1832         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
1833
1834 2002-10-13  Darin Adler  <darin@apple.com>
1835
1836         * English.lproj/StringsNotToBeLocalized.txt: Added strings from WebBookmarkProxy.m.
1837
1838 2002-10-13  Chris Blumenberg  <cblu@apple.com>
1839
1840         - Eliminated the dual-role behavior of WebPluginStream.
1841
1842         Renamed WebPluginStream to WebBaseNetscapePluginStream.
1843         WebNetscapePluginRepresentation, a subclass of WebBaseNetscapePluginStream,
1844         is the document representation for standalone plug-ins.
1845         WebNetscapePluginStream, also a subclass of WebBaseNetscapePluginStream,
1846         is the general plug-in stream loader for embedded plug-ins or plug-in requested streams.
1847
1848         23 plug-in source files with more likely to come!
1849
1850         * Plugins.subproj/WebBaseNetscapePluginStream.h: Added.
1851         * Plugins.subproj/WebBaseNetscapePluginStream.m: Added.
1852         (-[WebBaseNetscapePluginStream dealloc]):
1853         (-[WebBaseNetscapePluginStream setPluginPointer:]):
1854         (-[WebBaseNetscapePluginStream setResponse:]):
1855         (-[WebBaseNetscapePluginStream receivedData:]):
1856         (-[WebBaseNetscapePluginStream receivedError:]):
1857         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
1858         * Plugins.subproj/WebBaseNetscapePluginView.h:
1859         * Plugins.subproj/WebBaseNetscapePluginView.m:
1860         (-[WebBaseNetscapePluginView setWindow]):
1861         (-[WebBaseNetscapePluginView pluginPointer]):
1862         (-[WebBaseNetscapePluginView drawRect:]):
1863         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
1864         * Plugins.subproj/WebNetscapePluginDocumentView.m:
1865         * Plugins.subproj/WebNetscapePluginRepresentation.h: Added.
1866         * Plugins.subproj/WebNetscapePluginRepresentation.m: Added.
1867         (-[WebNetscapePluginRepresentation setDataSource:]):
1868         (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
1869         (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
1870         (-[WebNetscapePluginRepresentation finishedLoadingWithDataSource:]):
1871         * Plugins.subproj/WebNetscapePluginStream.h: Added.
1872         * Plugins.subproj/WebNetscapePluginStream.m: Added.
1873         (-[WebNetscapePluginStream setCurrentURL:]):
1874         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
1875         (-[WebNetscapePluginStream dealloc]):
1876         (-[WebNetscapePluginStream start]):
1877         (-[WebNetscapePluginStream stop]):
1878         (-[WebNetscapePluginStream loadEnded]):
1879         (-[WebNetscapePluginStream handle:willSendRequest:]):
1880         (-[WebNetscapePluginStream handle:didReceiveResponse:]):
1881         (-[WebNetscapePluginStream handle:didReceiveData:]):
1882         (-[WebNetscapePluginStream handleDidFinishLoading:]):
1883         (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
1884         * Plugins.subproj/WebPluginDatabase.m:
1885         (-[WebNetscapePluginDatabase init]):
1886         * Plugins.subproj/WebPluginStream.h: Removed.
1887         * Plugins.subproj/WebPluginStream.m: Removed.
1888         * WebKit.pbproj/project.pbxproj:
1889
1890 2002-10-11  Richard Williamson   <rjw@apple.com>
1891
1892         More DOM/attributed string work.
1893         
1894         * WebView.subproj/WebHTMLRepresentation.h:
1895         * WebView.subproj/WebHTMLRepresentation.m:
1896         (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
1897         * WebView.subproj/WebHTMLRepresentationPrivate.h:
1898
1899 2002-10-11  Richard Williamson   <rjw@apple.com>
1900
1901         * WebView.subproj/WebHTMLRepresentation.m:
1902         * WebView.subproj/WebHTMLRepresentationPrivate.h:
1903
1904 2002-10-11  Ken Kocienda  <kocienda@apple.com>
1905
1906         Fixed uninitialized variable build breaker I got when
1907         doing a Deployment build.
1908
1909         * Bookmarks.subproj/WebBookmarkGroup.m:
1910         (-[WebBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:URLString:type:]):
1911
1912 2002-10-11  John Sullivan  <sullivan@apple.com>
1913
1914         Added the concept of bookmark proxies; items that can be
1915         stored and displayed with other bookmarks but represent
1916         a source of bookmark-like items (e.g. Rendezvous, History)
1917
1918         * Bookmarks.subproj/WebBookmarkProxy.h: Added.
1919         * Bookmarks.subproj/WebBookmarkProxy.m: Added.
1920         (-[WebBookmarkProxy initFromDictionaryRepresentation:withGroup:]):
1921         (-[WebBookmarkProxy dictionaryRepresentation]):
1922         (-[WebBookmarkProxy bookmarkType]):
1923         (-[WebBookmarkProxy copyWithZone:]):
1924         (-[WebBookmarkProxy title]):
1925         (-[WebBookmarkProxy setTitle:]):
1926         (-[WebBookmarkProxy icon]):
1927         New class, has a title and that's about it
1928
1929         * Bookmarks.subproj/WebBookmark.h:
1930         * Bookmarks.subproj/WebBookmark.m:
1931         (+[WebBookmark bookmarkFromDictionaryRepresentation:withGroup:]):
1932         Handle proxy case
1933
1934         * Bookmarks.subproj/WebBookmarkGroup.m:
1935         (-[WebBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:URLString:type:]):
1936         Handle proxy case
1937
1938         * Bookmarks.subproj/WebBookmarkList.m:
1939         (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]),
1940         (-[WebBookmarkList dictionaryRepresentation]):
1941         Handle proxy case
1942
1943         * Bookmarks.subproj/WebBookmarkPrivate.h:
1944         Add #define for proxy
1945
1946         * WebKit.pbproj/project.pbxproj: updated for new files
1947
1948 2002-10-11  Chris Blumenberg  <cblu@apple.com>
1949
1950         Thought I has checking for nil enough, but not enough as I raised an exception on Avie's machine.
1951
1952         * Plugins.subproj/WebPlugin.m:
1953         (-[WebNetscapePlugin getPluginInfo]): check for the nil extension case
1954
1955 2002-10-11  Darin Adler  <darin@apple.com>
1956
1957         Apply a simplified technique I learned while working on the Favorites button
1958         class in the browser code.
1959
1960         * Plugins.subproj/WebBaseNetscapePluginView.m:
1961         (-[WebBaseNetscapePluginView start]): Use the NSViewFocusDidChangeNotification
1962         to track the plugin rectangles instead of the NSViewFrameDidChangeNotification
1963         and NSViewBoundsDidChangeNotification on all the superviews.
1964
1965 2002-10-11  John Sullivan  <sullivan@apple.com>
1966
1967         * Resources/url_icon.tiff: new generic URL icon -- no more @!
1968
1969 2002-10-10  Darin Adler  <darin@apple.com>
1970
1971         - fixed 3069366 -- REGRESSION: no pop-up window at inkfinder.com
1972
1973         The window now pops up, but it doesn't seem to work right. But I
1974         think the window working right is a separate issue.
1975
1976         * WebView.subproj/WebMainResourceClient.m:
1977         (-[WebMainResourceClient handle:willSendRequest:]): Make sure we
1978         use the copy of the request that we're keeping around when we call
1979         _setRequest on the data source, rather than the copy we're returning
1980         which can be modified by WebFoundation. Also rearrange things so we're
1981         more likely to get things right when the delegate changes the URL on
1982         the request.
1983
1984 2002-10-10  Chris Blumenberg  <cblu@apple.com>
1985
1986         No need to send update event when activating/deactivating.
1987         This was as old workaround for the plug-in drawing problems.
1988
1989         * Plugins.subproj/WebBaseNetscapePluginView.m:
1990         (-[WebBaseNetscapePluginView windowBecameKey:]):
1991         (-[WebBaseNetscapePluginView windowResignedKey:]):
1992
1993 === Alexander-27 ===
1994
1995 2002-10-10  Darin Adler  <darin@apple.com>
1996
1997         - fixed 3071799 -- REGRESSION: hang and strange download loading about:blank
1998
1999         Chris fixed the strange download earlier. This fixes the "hang' by making sure
2000         we commit even if we receive 0 bytes of data.
2001
2002         * WebView.subproj/WebDataSourcePrivate.h: Added a _finishedLoading method.
2003         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _finishedLoading]):
2004         Added. Sets the "first byte of data received" flag, and calls _commitIfReady.
2005         * WebView.subproj/WebMainResourceClient.m:
2006         (-[WebMainResourceClient handleDidFinishLoading:]): Call _finishedLoading.
2007
2008 2002-10-10  Darin Adler  <darin@apple.com>
2009
2010         - fixed 3072015 -- REGRESSION: frames multiply endlessly
2011
2012         * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setFrame:]):
2013         Remove code that sets the parent from here, because it's too early, always nil.
2014         * WebView.subproj/WebFramePrivate.m: (-[WebFrame _addChild:]):
2015         Do it here instead.
2016
2017 2002-10-09  Richard Williamson   <rjw@apple.com>
2018
2019         * WebCoreSupport.subproj/WebSubresourceClient.m:
2020         (-[WebSubresourceClient handleDidFinishLoading:]):
2021         * WebKit.exp:
2022         * WebView.subproj/WebController.m:
2023         (-[WebResourceLoadDelegate resourceRequest:willSendRequest:fromDataSource:]):
2024         (-[WebResourceLoadDelegate resourceRequest:didReceiveResponse:fromDataSource:]):
2025         (-[WebResourceLoadDelegate resourceRequest:didReceiveContentLength:fromDataSource:]):
2026         (-[WebResourceLoadDelegate resourceRequest:didFinishLoadingFromDataSource:]):
2027         (-[WebResourceLoadDelegate resourceRequest:didFailLoadingWithError:fromDataSource:]):
2028         * WebView.subproj/WebMainResourceClient.m:
2029         (-[WebMainResourceClient handleDidFinishLoading:]):
2030         * WebView.subproj/WebResourceLoadDelegate.h:
2031
2032 2002-10-09  John Sullivan  <sullivan@apple.com>
2033
2034         - removed unnecessary concept of unique identifiers for bookmarks
2035
2036         * Bookmarks.subproj/WebBookmark.h:
2037         * Bookmarks.subproj/WebBookmark.m:
2038         (-[WebBookmark dealloc]):
2039         (-[WebBookmark _setGroup:]):
2040         * Bookmarks.subproj/WebBookmarkGroup.h:
2041         * Bookmarks.subproj/WebBookmarkGroup.m:
2042         * Bookmarks.subproj/WebBookmarkGroupPrivate.h:
2043         removed all references to unique identifiers
2044
2045 2002-10-09  Darin Adler  <darin@apple.com>
2046
2047         WebKit support for creating windows and then showing them later
2048         after setting them up.
2049
2050         * WebCoreSupport.subproj/WebBridge.m:
2051         (-[WebBridge createWindowWithURL:referrer:frameName:]): Replaced the old
2052         openNewWindowWithURL with this. It calls the new window operations delegate
2053         method.
2054         (-[WebBridge showWindow]): Added. Calls the window operations delegate showWindow method.
2055         (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
2056         Call _createFrameNamed instead of createFrameNamed.
2057
2058         * WebView.subproj/WebWindowOperationsDelegate.h: Replaced the openNewWindowWithURL
2059         method with a new method named createWindowWithURL. Added showWindow and showWindowBehindFrontmost.
2060
2061         * WebView.subproj/WebControllerPrivate.h: Renamed createFrameNamed to _createFrameNamed
2062         and removed the data source parameter. Added _openNewWindowWithURL:referrer:behind:
2063         for the convenience of those who used to call the window operations delegate directly
2064         to open the window.
2065         * WebView.subproj/WebControllerPrivate.m:
2066         (-[WebController _createFrameNamed:inParent:allowsScrolling:]): Renamed, and removed
2067         the data source parameter.
2068         (-[WebController _openNewWindowWithURL:referrer:behind:]): Added.
2069
2070         * Plugins.subproj/WebBaseNetscapePluginView.m:
2071         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
2072         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2073         (-[WebDefaultContextMenuDelegate openNewWindowWithURL:referrer:]):
2074         * WebView.subproj/WebFrame.m: (-[WebFrame frameNamed:]):
2075         * WebView.subproj/WebHTMLViewPrivate.m:
2076         (-[WebHTMLView _continueAfterClickPolicyForEvent:]):
2077         Use a private WebController method instead of calling the delegate directly,
2078         because it now takes two method calls to create and display a new window.
2079
2080         * Misc.subproj/WebNSViewExtras.m:
2081         * WebCoreSupport.subproj/WebSubresourceClient.m:
2082         * WebView.subproj/WebController.m:
2083         * WebView.subproj/WebDataSource.m:
2084         * WebView.subproj/WebFramePrivate.m:
2085         * WebView.subproj/WebHTMLView.m:
2086         * WebView.subproj/WebMainResourceClient.m:
2087         * WebView.subproj/WebPreferences.m:
2088         * WebView.subproj/WebView.m:
2089         * WebView.subproj/WebViewPrivate.m:
2090         Tweaked comments.
2091
2092 2002-10-09  Darin Adler  <darin@apple.com>
2093
2094         * WebCoreSupport.subproj/WebImageRenderer.m:
2095         (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
2096         Fix positioning of progressively loading images that are flipped.
2097
2098 2002-10-09  Darin Adler  <darin@apple.com>
2099
2100         - fixed 3069764 -- REGRESSION: Plug-ins sometimes don't respond to
2101         update events, causes disappearing
2102
2103         * Plugins.subproj/WebBaseNetscapePluginView.m:
2104         (-[WebBaseNetscapePluginView drawRect:]): Set the visible region of the port to the
2105         port bounds to work around the fact that NSWindow tries to help us by doing a
2106         BeginUpdate call. This ensures we can draw where we think we are dirty, not just
2107         where Carbon thinks we are dirty.
2108
2109         * Plugins.subproj/WebNetscapePluginDocumentView.m: Tweak includes.
2110         * Plugins.subproj/WebNetscapePluginEmbeddedView.m: Tweak includes.
2111         * WebCoreSupport.subproj/WebBridge.m:
2112         (-[WebBridge openNewWindowWithURL:referrer:frameName:]): Tweak.
2113
2114         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
2115
2116 2002-10-08  Darin Adler  <darin@apple.com>
2117
2118         Make WebFrame do the entire frame hierarchy, instead of having the
2119         parent and child pointers in the data source.
2120
2121         * WebCoreSupport.subproj/WebBridge.m:
2122         (-[WebBridge childFrames]): Get children from the frame, not the data source.
2123         (-[WebBridge setFrame:]): Do the setParent: call on the bridge here, instead of
2124         in dataSourceChanged, since the parent relationship is now established even without
2125         having the data source.
2126         (-[WebBridge dataSourceChanged]): Remove the setParent: call.
2127         (-[WebBridge loadRequest:]): Remove the parent parameter. It's already set up at
2128         this point so we don't need to set it.
2129         (-[WebBridge loadURL:referrer:]): Don't pass a parent.
2130         (-[WebBridge postWithURL:referrer:data:contentType:]): Don't pass a parent.
2131         (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
2132         Don't pass a parent.
2133         (-[WebBridge addBackForwardItemWithURL:anchor:]): Get the parent frame by just calling
2134         the parent method instead of the more roundabout way that it was doing it before.
2135
2136         * WebView.subproj/WebController.m:
2137         (-[WebController _frameForDataSource:fromFrame:]): Get the children list from the frame,
2138         no need to ask the data source. And no need to deal with the provisional data source, since
2139         those can't have children any more.
2140         (-[WebController _frameForView:fromFrame:]): Ditto.
2141
2142         * WebView.subproj/WebControllerPrivate.h: Change parent parameter when creating a new
2143         frame to be a frame, not a data source.
2144         * WebView.subproj/WebControllerPrivate.m:
2145         (-[WebControllerPrivate _clearControllerReferences:]): Get the children list from the frame.
2146         (-[WebControllerPrivate dealloc]): Rename the _reset method _controllerWillBeDeallocated
2147         to be more concrete. More simplification can happen here later.
2148         (-[WebController createFrameNamed:for:inParent:allowsScrolling:]): Call _addChild on the
2149         parent frame rather than calling addFrame on the parent data source.
2150
2151         * WebView.subproj/WebDataSource.h: Remove the parent, children, frameNamed, frameNames, and
2152         frameExists methods.
2153         * WebView.subproj/WebDataSource.m:
2154         (-[WebDataSource controller]): Remove the assertion here about parents, since we don't have
2155         a parent pointer any more.
2156         (-[WebDataSource isLoading]): Get the list of children from the frame.
2157
2158         * WebView.subproj/WebDataSourcePrivate.h: Remove the parent pointer and the frames dictionary,
2159         also remove the _setParent: and addFrame: methods.
2160         * WebView.subproj/WebDataSourcePrivate.m:
2161         (-[WebDataSourcePrivate dealloc]): Don't release the frames list.
2162         (-[WebDataSource _recursiveStopLoading]): Get the frames list from the frame.
2163         (-[WebDataSource _layoutChildren]): Ditto.
2164         (-[WebDataSource _defersCallbacksChanged]): Ditto.
2165
2166         * WebView.subproj/WebFrame.h: Add parent and children methods.
2167         * WebView.subproj/WebFrame.m:
2168         (-[WebFrame dealloc]): Call _detachFromParent.
2169         (-[WebFrame setProvisionalDataSource:]): Set the encoding of the data source to match
2170         the encoding of the parent's data source. This used to be done in [WebDataSource _setParent:].
2171         Further simplification can probably be done here.
2172         (-[WebFrame reload]): Remove the call to [WebDataSource _setParent:].
2173         (+[WebFrame _frameNamed:fromFrame:]): Get the children from the frame.
2174         (-[WebFrame frameNamed:]): Get the parent from the frame.
2175         (-[WebFrame parent]): Added.
2176         (-[WebFrame children]): Added.
2177
2178         * WebView.subproj/WebFramePrivate.h: Added parent and children fields, changed reset to
2179         _controllerWillBeDeallocated, changed _parentDataSourceWillBeDeallocated to _detachFromParent,
2180         added _addChild method. Further simplification can probably be done here.
2181         * WebView.subproj/WebFramePrivate.m:
2182         (-[WebFramePrivate dealloc]): Release the children array.
2183         (-[WebFrame _controllerWillBeDeallocated]): Renamed from reset. Now just calls _detachFromParent.
2184         (-[WebFrame _detachFromParent]): Does all the work that reset and _parentDataSourceWillBeDeallocated
2185         used to do.
2186         (-[WebFrame _setDataSource:]): Call _detachFromParent on all the children and release them
2187         before setting up the new data source.
2188         (-[WebFrame _transitionToCommitted]): Get the parent from self instead of the data source.
2189         (-[WebFrame _isLoadComplete]): Ditto.
2190         (+[WebFrame _recursiveCheckCompleteFromFrame:]): Get the children from self instead of the data source.
2191         (-[WebFrame _textSizeMultiplierChanged]): Ditto.
2192         (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): Remove the call to [WebDataSource _setParent:].
2193         (-[WebFrame _addChild:]): Added. Puts the child in a children list, and also sets the override
2194         encoding of the child based on our data source's override encoding.
2195
2196 2002-10-08  John Sullivan  <sullivan@apple.com>
2197
2198         * WebKit.pbproj/project.pbxproj:
2199         Project Builder says I changed it only by setting
2200         "hasScannedForEncodings" to 1 -- version wars again?
2201
2202 2002-10-08  Richard Williamson   <rjw@apple.com>
2203
2204         Removed unnecessary (and incorrect) include.
2205         The *.m files in DOM.subproj might be removed,
2206         they are empty now.
2207         
2208         * DOM.subproj/WebDOMDocument.m:
2209
2210 2002-10-08  Richard Williamson   <rjw@apple.com>
2211
2212         Added selection API.
2213         
2214         * WebView.subproj/WebHTMLRepresentation.h:
2215         * WebView.subproj/WebHTMLRepresentation.m:
2216         (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:]):
2217
2218 2002-10-08  Richard Williamson   <rjw@apple.com>
2219
2220         Add accessor for DOM document.
2221         
2222         * WebKit.pbproj/project.pbxproj:
2223         * WebView.subproj/WebHTMLRepresentation.h:
2224         * WebView.subproj/WebHTMLRepresentation.m:
2225         (-[WebHTMLRepresentation DOMDocument]):
2226
2227 2002-10-08  Richard Williamson   <rjw@apple.com>
2228
2229         Made getAttributeNodeNamed match spec, changed
2230         to getAttributeNode.
2231          
2232         * DOM.subproj/WebDOMElement.h:
2233
2234 2002-10-08  John Sullivan  <sullivan@apple.com>
2235
2236         - WebKit part of fix for 3069150 -- eliminate "separator"
2237         feature from Bookmarks
2238
2239         * Bookmarks.subproj/WebBookmarkSeparator.h: Removed.
2240         * Bookmarks.subproj/WebBookmarkSeparator.m: Removed.
2241         Removed class
2242
2243         * Bookmarks.subproj/WebBookmark.h:
2244         * Bookmarks.subproj/WebBookmark.m:
2245         (+[WebBookmark bookmarkOfType:]):
2246         (+[WebBookmark bookmarkFromDictionaryRepresentation:withGroup:]):
2247         * Bookmarks.subproj/WebBookmarkGroup.m:
2248         (-[WebBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:URLString:type:]):
2249         * Bookmarks.subproj/WebBookmarkList.m:
2250         (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]):
2251         * Bookmarks.subproj/WebBookmarkPrivate.h:
2252         * English.lproj/StringsNotToBeLocalized.txt:
2253         Removed all references to class.
2254
2255         * WebKit.pbproj/project.pbxproj: Updated for removed files.
2256
2257 2002-10-08  Richard Williamson   <rjw@apple.com>
2258
2259         Fixes to the DOM API.
2260         
2261         * DOM.subproj/WebDOMDocument.h:
2262         * DOM.subproj/WebDOMDocument.m:
2263         * DOM.subproj/WebDOMNode.h:
2264         * DOM.subproj/WebDOMNode.m:
2265         * DOM.subproj/WebDOMNamedNodeMap.h: Removed.
2266         * DOM.subproj/WebDOMNamedNodeMap.m: Removed.
2267         * WebKit.pbproj/project.pbxproj:
2268
2269 2002-10-08  Ken Kocienda  <kocienda@apple.com>
2270
2271         Use WebFrameLoadType variable to set the request cache policy for the WebResourceRequest.
2272         This will help us to provide cached results for POST requests when the user navigates
2273         using the back/forward list or history for navigation, while making sure we do not
2274         use cached results when the user pokes the submit button for a form they have
2275         submitted previously.
2276
2277         * WebView.subproj/WebFramePrivate.m:
2278         (-[WebFrame _goToItem:withFrameLoadType:])
2279
2280 2002-10-08  Chris Blumenberg  <cblu@apple.com>
2281
2282         Moved assumption that a resource without a content type or extension is HTML to WebFoundation.
2283
2284         * WebView.subproj/WebMainResourceClient.m:
2285         (-[WebMainResourceClient handle:didReceiveResponse:]):
2286
2287 2002-10-08  Chris Blumenberg  <cblu@apple.com>
2288
2289         Minor plug-in code clean-up.
2290
2291         * Plugins.subproj/WebBaseNetscapePluginView.m:
2292         (-[WebBaseNetscapePluginView sendActivateEvent:]):
2293         (-[WebBaseNetscapePluginView sendUpdateEvent]):
2294         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
2295         * Plugins.subproj/WebPluginStream.m:
2296         (-[WebNetscapePluginStream receivedData:]):
2297
2298 2002-10-08  Chris Blumenberg  <cblu@apple.com>
2299
2300         Partial fix for 2967073 - should open all TEXT type files, at least
2301
2302         * WebView.subproj/WebControllerPrivate.m:
2303         (+[WebController _MIMETypeForFile:]): Sniff for HTML in the fail case.
2304
2305 2002-10-07  Darin Adler  <darin@apple.com>
2306
2307         WebKit part of implementation of multipart forms posting.
2308
2309         * WebCoreSupport.subproj/WebBridge.m:
2310         (-[WebBridge postWithURL:referrer:data:contentType:]):
2311         Add a contentType parameter to match change in WebCore API.
2312         Put the contentType value into the request.
2313
2314 2002-10-07  Chris Blumenberg  <cblu@apple.com>
2315
2316         Icing fix for: 3063517 - crash loading .png in separate window
2317         
2318         * Plugins.subproj/WebPluginDatabase.m:
2319         (-[WebNetscapePluginDatabase init]): Don't override document view and rep
2320         types for types that have already been registered. 
2321
2322 2002-10-07  Darin Adler  <darin@apple.com>
2323
2324         WebKit part of the page up/down fix.
2325
2326         * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView scrollPoint:]):
2327         If we are called from the handling of a page up or page down keyboard
2328         event, then ignore the specific scrolling requested, and do our idea of
2329         page up and page down. This guarantees that we will get the smarter
2330         idea of how to page from WebView instead of the one that's hardcoded
2331         into NSTextView.
2332
2333         * WebView.subproj/WebView.m: (-[WebView keyDown:]): Use scrollPageUp:,
2334         scrollPageDown:, scrollLineUp:, and scrollLineDown: instead of _pageUp,
2335         _pageDown, _lineUp, and _lineDown. This lets other classes see and use
2336         these selectors, which is useful when passing calls up the responder chain.
2337         * WebView.subproj/WebViewPrivate.h: Remove the private methods that are
2338         being changed to match the NSResponder keyboard methods.
2339         * WebView.subproj/WebViewPrivate.m:
2340         (-[WebView scrollPageUp:]): Rename from _pageUp, and also pass a scrollPageUp:
2341         selector along the responder chain if we are already scrolled to the top.
2342         (-[WebView scrollPageDown:]): Ditto.
2343         (-[WebView scrollLineUp:]): Rename from _lineUp.
2344         (-[WebView scrollLineDown:]): Rename from _lineDown.
2345
2346 2002-10-07  Richard Williamson   <rjw@apple.com>
2347
2348         'Re'play the delegate messages when an item is loaded from
2349         the WebCore cache.
2350
2351         Note that the client will NOT receive a willSendRequest: message.  The client
2352         presumably already did any request substitution before the object was loaded 
2353         into the cache.  Allowing the delegate to override the request and replace
2354         the object in the WebCore cache would introduce significant complexity.
2355         
2356         Fixes 3069138.
2357         
2358         * WebCoreSupport.subproj/WebBridge.m:
2359         (-[WebBridge objectLoadedFromCache:response:size:]):
2360         * WebCoreSupport.subproj/WebSubresourceClient.m:
2361         (-[WebSubresourceClient handle:didReceiveResponse:]):
2362
2363 2002-10-05  Darin Adler  <darin@apple.com>
2364
2365         - fixed 3068323 -- nil object inserted in dictionary exception on mouse move
2366
2367         * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]):
2368         Add some assertions in the hope of finding if my assumptions about this are
2369         wrong, and use the version of the dictionary setter that does nothing if it's
2370         passed nil when putting in the frame found by name.
2371
2372 2002-10-04  Darin Adler  <darin@apple.com>
2373
2374         * English.lproj/StringsNotToBeLocalized.txt: Add a localization
2375         exception for the WebKit bundle identifier.
2376
2377 2002-10-04  Darin Adler  <darin@apple.com>
2378
2379         * Misc.subproj/WebKitLocalizableStrings.m: Added.
2380         Contains the definition of the WebKitLocalizableStringsBundle.
2381         * WebKit.pbproj/project.pbxproj: Add -DFRAMEWORK_NAME=WebKit.
2382
2383 2002-10-04  Richard Williamson   <rjw@apple.com>
2384
2385         Stubs for DOM level 2 core API.
2386         
2387         * DOM.subproj/WebDOMDocument.h: Added.
2388         * DOM.subproj/WebDOMDocument.m: Added.
2389         * DOM.subproj/WebDOMElement.h: Added.
2390         * DOM.subproj/WebDOMElement.m: Added.
2391         * DOM.subproj/WebDOMNamedNodeMap.h: Added.
2392         * DOM.subproj/WebDOMNamedNodeMap.m: Added.
2393         * DOM.subproj/WebDOMNode.h: Added.
2394         * DOM.subproj/WebDOMNode.m: Added.
2395         * WebKit.pbproj/project.pbxproj:
2396         
2397         * WebView.subproj/WebHTMLViewPrivate.m: tweak.
2398
2399 2002-10-04  Darin Adler  <darin@apple.com>
2400
2401         * English.lproj/StringsNotToBeLocalized.txt: Add the last few exceptions.
2402         We now have a completely-clean run of extract-localizable-strings in WebKit!
2403
2404 2002-10-04  Darin Adler  <darin@apple.com>
2405
2406         - fixed 3060140 -- REGRESSION: frames of animated gif drawn in wrong position.
2407
2408         I got the "fromRect" and "toRect" parameters backwards when I made the changes
2409         to fix bug 3050810.
2410
2411         * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer nextFrame:]):
2412         Reverse targetRect and imageRect.
2413
2414         * WebKit.pbproj/project.pbxproj: Mark some new files as UTF-8 because Project
2415         Builder asked me to.
2416
2417 2002-10-04  Darin Adler  <darin@apple.com>
2418
2419         * Panels.subproj/WebPanelCookieAcceptHandler.h: Removed.
2420         * Panels.subproj/WebPanelCookieAcceptHandler.m: Removed.
2421
2422 2002-10-04  Richard Williamson   <rjw@apple.com>
2423
2424         Danger Will Robinson.  We have to poseAsClass: as early as possible
2425         so that any NSViews will be created with the appropriate poser.
2426         This problem manifested itself with SimpleViewer failing
2427         immediately.  NSViews were created by loading a nib before
2428         WebHTMLView class initialization occured.  After posing the
2429         already instantiated instances of NSView had a %NSView class,
2430         causing many things to break.
2431         
2432         * WebView.subproj/WebHTMLViewPrivate.m:
2433         (+[WebHTMLView load]):
2434
2435 2002-10-04  Richard Williamson   <rjw@apple.com>
2436
2437         Ensure that we return non-nil request  from handle:willSendRequest:
2438         even when WK's laod delegate is nil.
2439         
2440         * WebCoreSupport.subproj/WebSubresourceClient.m:
2441         (-[WebSubresourceClient handle:willSendRequest:]):
2442         * WebView.subproj/WebMainResourceClient.m:
2443         (-[WebMainResourceClient handle:willSendRequest:]):
2444
2445 2002-10-04  Darin Adler  <darin@apple.com>
2446
2447         * Panels.subproj/WebAuthenticationPanel.m:
2448         (-[WebAuthenticationPanel loadNib]): Use ERROR instead of NSLog here.
2449         (-[WebAuthenticationPanel setUpForRequest:]): Mark some strings for localization.
2450
2451         * WebKit.pbproj/project.pbxproj: Change the encoding on a lot more files to UTF-8.
2452
2453         * English.lproj/StringsNotToBeLocalized.txt: Added some new exceptions.
2454         * English.lproj/Localizable.strings: Re-generated.
2455
2456 2002-10-04  Richard Williamson   <rjw@apple.com>
2457
2458         Changed WebDOMNode name to WebDebugDOMNode to make room for
2459         real node.
2460         
2461         * WebKit.exp:
2462         * WebKit.pbproj/project.pbxproj:
2463         * WebView.subproj/WebDOMNode.h: Removed.
2464         * WebView.subproj/WebDOMNode.m: Removed.
2465
2466 2002-10-04  Richard Williamson   <rjw@apple.com>
2467
2468         * WebKit.pbproj/project.pbxproj:
2469
2470 2002-10-03  Richard Williamson   <rjw@apple.com>
2471
2472         Changed name of controller's resourceProgressDelegate methods to resourceLoadDelegate.
2473
2474         * WebCoreSupport.subproj/WebSubresourceClient.m:
2475         (-[WebSubresourceClient initWithLoader:dataSource:]):
2476         (-[WebSubresourceClient handle:didReceiveResponse:]):
2477         (-[WebSubresourceClient handle:didReceiveData:]):
2478         (-[WebSubresourceClient handleDidFinishLoading:]):
2479         (-[WebSubresourceClient handle:didFailLoadingWithError:]):
2480         * WebView.subproj/WebController.h:
2481         * WebView.subproj/WebController.m:
2482         (-[WebController setResourceLoadDelegate:]):
2483         (-[WebController resourceLoadDelegate]):
2484         (-[WebController setDownloadDelegate:]):
2485         (-[WebController downloadDelegate]):
2486         * WebView.subproj/WebMainResourceClient.m:
2487         (-[WebMainResourceClient initWithDataSource:]):
2488         (-[WebMainResourceClient handle:didReceiveResponse:]):
2489
2490 2002-10-03  Richard Williamson   <rjw@apple.com>
2491
2492         Always call resourceRequest:willSendRequest: on resourceProgressDelegate.
2493          
2494         * WebView.subproj/WebMainResourceClient.m:
2495         (-[WebMainResourceClient handle:willSendRequest:]):
2496
2497 2002-10-03  Richard Williamson   <rjw@apple.com>
2498
2499         Add calls to downloadProgressDelegate.
2500         
2501         * WebView.subproj/WebMainResourceClient.m:
2502         (-[WebMainResourceClient handle:willSendRequest:]):
2503         (-[WebMainResourceClient handle:didReceiveResponse:]):
2504         (-[WebMainResourceClient handle:didReceiveData:]):
2505         (-[WebMainResourceClient handle:didFailLoadingWithError:]):
2506
2507 2002-10-03  Richard Williamson   <rjw@apple.com>
2508
2509         
2510         * WebCoreSupport.subproj/WebBridge.m:
2511         (-[WebBridge objectLoadedFromCache:size:]):
2512         Hack to prevent handle creation with nil delegate,
2513         still perform frame complete check.
2514         
2515         * WebView.subproj/WebMainResourceClient.m:
2516         (-[WebMainResourceClient initWithDataSource:]):
2517         Removed unused code.
2518         
2519         (-[WebMainResourceClient handle:willSendRequest:]):
2520         Copy the request, ugh.
2521
2522 2002-10-03  Darin Adler  <darin@apple.com>
2523
2524         Add API for executing JavaScript.
2525
2526         * WebView.subproj/WebController.h: Add method.
2527         * WebView.subproj/WebController.m:
2528         (-[WebController executeJavaScriptFromString:]): Call through to
2529         WebCore to do the heavy lifting.
2530
2531 2002-10-03  Darin Adler  <darin@apple.com>
2532
2533         * English.lproj/Localizable.strings: Generated by the script.
2534         * English.lproj/StringsNotToBeLocalized.txt: Added many more strings to ignore.
2535         * English.lproj/WebError.strings: Removed.
2536
2537         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2538         * WebView.subproj/WebView.m:
2539         Use UI_STRING instead of NSLocalizedString.
2540
2541         * WebKit.pbproj/project.pbxproj: Changed encodings of some files to UTF-8.
2542         Removed WebError.strings.
2543
2544 2002-10-03  Richard Williamson   <rjw@apple.com>
2545
2546         Renamed WebResourceProgressDelegate.h to WebResourceLoadDelegate.h
2547
2548         * Misc.subproj/WebKit.h:
2549         * WebCoreSupport.subproj/WebSubresourceClient.m:
2550         * WebKit.pbproj/project.pbxproj:
2551         * WebView.subproj/WebController.m:
2552         * WebView.subproj/WebControllerPrivate.m:
2553         * WebView.subproj/WebMainResourceClient.m:
2554         * WebView.subproj/WebResourceLoadDelegate.h:
2555         * WebView.subproj/WebResourceProgressDelegate.h: Removed.
2556
2557 2002-10-03  Richard Williamson   <rjw@apple.com>
2558
2559         Changed to reflect new WebResourceLoadDelegate API.
2560
2561         * Misc.subproj/WebIconLoader.m:
2562         * Misc.subproj/WebKit.h:
2563         * Plugins.subproj/WebPluginStream.m:
2564         (-[WebNetscapePluginStream handle:didReceiveData:]):
2565         (-[WebNetscapePluginStream handleDidFinishLoading:]):
2566         (-[WebNetscapePluginStream cancel]):
2567         (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
2568         * WebCoreSupport.subproj/WebBridge.m:
2569         (-[WebBridge objectLoadedFromCache:size:]):
2570         (-[WebBridge reportBadURL:]):
2571         * WebCoreSupport.subproj/WebSubresourceClient.h:
2572         * WebCoreSupport.subproj/WebSubresourceClient.m:
2573         (-[WebSubresourceClient initWithLoader:dataSource:]):
2574         (-[WebSubresourceClient dealloc]):
2575         (-[WebSubresourceClient receivedProgressWithComplete:]):
2576         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
2577         (-[WebSubresourceClient receivedError:]):
2578         (-[WebSubresourceClient handle:willSendRequest:]):
2579         (-[WebSubresourceClient handle:didReceiveResponse:]):
2580         (-[WebSubresourceClient handle:didReceiveData:]):
2581         (-[WebSubresourceClient handleDidFinishLoading:]):
2582         (-[WebSubresourceClient handle:didFailLoadingWithError:]):
2583         (-[WebSubresourceClient cancel]):
2584         * WebKit.exp:
2585         * WebKit.pbproj/project.pbxproj:
2586         * WebView.subproj/WebController.h:
2587         * WebView.subproj/WebController.m:
2588         (-[WebController setResourceProgressDelegate:]):
2589         (-[WebController resourceProgressDelegate]):
2590         (-[WebController setDownloadProgressDelegate:]):
2591         (-[WebController downloadProgressDelegate]):
2592         * WebView.subproj/WebControllerPrivate.h:
2593         * WebView.subproj/WebControllerPrivate.m:
2594         (-[WebController _receivedProgressForResourceHandle:fromDataSource:complete:]):
2595         (-[WebController _mainReceivedProgressForResourceHandle:bytesSoFar:fromDataSource:complete:]):
2596         (-[WebController _receivedError:forResourceHandle:fromDataSource:]):
2597         (-[WebController _mainReceivedError:forResourceHandle:fromDataSource:]):
2598         * WebView.subproj/WebLoadProgress.h: Removed.
2599         * WebView.subproj/WebLoadProgress.m: Removed.
2600         * WebView.subproj/WebMainResourceClient.h:
2601         * WebView.subproj/WebMainResourceClient.m:
2602         (-[WebMainResourceClient initWithDataSource:]):
2603         (-[WebMainResourceClient dealloc]):
2604         (-[WebMainResourceClient receivedProgressWithHandle:complete:]):
2605         (-[WebMainResourceClient receivedError:forHandle:]):
2606         (-[WebMainResourceClient handleDidFinishLoading:]):
2607         (-[WebMainResourceClient handle:willSendRequest:]):
2608         (-[WebMainResourceClient handle:didReceiveResponse:]):
2609         (-[WebMainResourceClient handle:didReceiveData:]):
2610         (-[WebMainResourceClient handle:didFailLoadingWithError:]):
2611         * WebView.subproj/WebResourceProgressDelegate.h:
2612
2613 === Alexander-26 ===
2614
2615 2002-10-02  Maciej Stachowiak  <mjs@apple.com>
2616
2617         - Added "remember my password" checkbox (underlying feature not
2618         yet implemented).
2619
2620         - Fixed a bug that caused a crash when cancelling the auth sheet.
2621         
2622         * Panels.subproj/English.lproj/WebAuthenticationPanel.nib: Added
2623         "remember this password" checkbox.
2624         * Panels.subproj/WebAuthenticationPanel.h:
2625         * Panels.subproj/WebAuthenticationPanel.m:
2626         (-[WebAuthenticationPanel cancel:]): Make sure the panel gets
2627         retained a bit longer, so the cleanup that happens after this
2628         message is sent can use the panel object.
2629         (-[WebAuthenticationPanel logIn:]): Make sure the panel gets
2630         retained a bit longer, so the cleanup that happens after this
2631         message is sent can use the panel object.
2632         (-[WebAuthenticationPanel runAsModalDialogWithRequest:]): Pass
2633         proper remembered value with credential.
2634         (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
2635         Pass proper remembered value with credential.
2636         * WebKit.pbproj/project.pbxproj: Project Builder had its way with
2637         this file.
2638
2639 2002-10-02  Darin Adler  <darin@apple.com>
2640
2641         Machinery so we can handle mouseover feedback at the browser level.
2642
2643         * WebView.subproj/WebWindowOperationsDelegate.h: Added mouseDidMoveOverElement:modifierFlags:.
2644
2645         * WebKit.exp: Export WebElementLinkTargetFrameKey.
2646         * WebView.subproj/WebController.h: Add WebElementLinkTargetFrameKey.
2647         * WebView.subproj/WebController.m: Ditto.
2648
2649         * WebView.subproj/WebHTMLView.m:
2650         (-[WebHTMLView removeMouseMovedObserver]): Send a callback when we
2651         stop tracking the mouse altogether.
2652         (-[WebHTMLView viewDidMoveToWindow]): Only set up the mouse moved
2653         observer if we are the top-level HTML view.
2654         (-[WebHTMLView windowDidBecomeMain:]): Ditto.
2655         (-[WebHTMLView mouseMovedNotification:]): Handle mouse over if we are
2656         over any subview of the HTML view. Also send the callback.
2657
2658         * WebView.subproj/WebHTMLViewPrivate.h: Added lastMouseOverElementWasNotNil,
2659         _mouseOverElement:modifierFlags: and _insideAnotherHTMLView.
2660         * WebView.subproj/WebHTMLViewPrivate.m:
2661         (-[WebHTMLView _elementAtPoint:]): Copy over each element separately so
2662         we don't rely on keys matching. Find the target frame given the target string,
2663         and include it in the dictionary.
2664         (-[WebHTMLView _mouseOverElement:modifierFlags]): Added. Calls the window
2665         operations delegate method, but doesn't call it over and over again if the
2666         information is still "nil".
2667         (-[WebHTMLView _insideAnotherHTMLView]): Added.
2668         (-[NSMutableDictionary _web_setObjectIfNotNil:forKey:]): Added. Helper for
2669         the _elementAtPoint method which could be moved to WebNSDictionaryExtras some day.
2670
2671 2002-10-02  Ken Kocienda  <kocienda@apple.com>
2672
2673         Implemented HTTP-specific subclass for WebResourceResponse.
2674
2675         * Plugins.subproj/WebPluginStream.m:
2676         (-[WebNetscapePluginStream receivedData:]): Add import for WebHTTPResourceResponse.
2677
2678 2002-10-02  Darin Adler  <darin@apple.com>
2679
2680         Add return value to willSendRequest callback.
2681
2682         * Misc.subproj/WebIconLoader.m:
2683         (-[WebIconLoader handle:willSendRequest:]):
2684         * Plugins.subproj/WebPluginStream.m:
2685         (-[WebNetscapePluginStream handle:willSendRequest:]):
2686         * WebCoreSupport.subproj/WebSubresourceClient.m:
2687         (-[WebSubresourceClient handle:willSendRequest:]):
2688         * WebView.subproj/WebMainResourceClient.m:
2689         (-[WebMainResourceClient handle:willSendRequest:]):
2690         Update to return the request.
2691
2692 2002-10-02  Darin Adler  <darin@apple.com>
2693
2694         Use the text encoding name from the response and got rid of
2695         [WebDataSource encoding]. Also remove the "first chunk" logic since we
2696         now get a separate callback for the response.
2697
2698         * WebCoreSupport.subproj/WebBridge.m:
2699         (-[WebBridge receivedData:withDataSource:]): Get the encoding name
2700         from the response, or fall back on the default.
2701
2702         * WebView.subproj/WebDataSource.h: Removed encoding.
2703         * WebView.subproj/WebDataSource.m: Ditto.
2704
2705         * WebView.subproj/WebDataSourcePrivate.h: Removed _setEncoding.
2706         * WebView.subproj/WebDataSourcePrivate.m:
2707         (-[WebDataSourcePrivate dealloc]): No need to release encoding any more.
2708
2709         * WebView.subproj/WebMainResourceClient.m:
2710         (-[WebMainResourceClient initWithDataSource:]): No isFirstChunk to initialize.
2711         (-[WebMainResourceClient handle:didReceiveResponse:]): Moved the response handling
2712         in here, including the policy logic.
2713         (-[WebMainResourceClient handle:didReceiveData:]): This has only what's left.
2714
2715 2002-10-02  Chris Blumenberg  <cblu@apple.com>
2716
2717         Replaced contentType on WebDataSource to response.
2718
2719         * Plugins.subproj/WebNetscapePluginDocumentView.m:
2720         (-[WebNetscapePluginDocumentView setDataSource:]):
2721         * Plugins.subproj/WebPluginStream.m:
2722         (-[WebNetscapePluginStream receivedData:]):
2723         (-[WebNetscapePluginStream setResponse:]):
2724         (-[WebNetscapePluginStream setDataSource:]):
2725         (-[WebNetscapePluginStream receivedData:withDataSource:]):
2726         (-[WebNetscapePluginStream handle:didReceiveResponse:]):
2727         (-[WebNetscapePluginStream handle:didReceiveData:]):
2728         * WebView.subproj/WebDataSource.h:
2729         * WebView.subproj/WebDataSource.m:
2730         (-[WebDataSource response]):
2731         (-[WebDataSource fileType]):
2732         * WebView.subproj/WebDataSourcePrivate.h:
2733         * WebView.subproj/WebDataSourcePrivate.m:
2734         (-[WebDataSourcePrivate dealloc]):
2735         (-[WebDataSource _representationClass]):
2736         (-[WebDataSource _setResponse:]):
2737         (-[WebDataSource _setContentPolicy:]):
2738         * WebView.subproj/WebMainResourceClient.h:
2739         * WebView.subproj/WebMainResourceClient.m:
2740         (-[WebMainResourceClient dealloc]):
2741         (-[WebMainResourceClient handleDidFinishLoading:]):
2742         (-[WebMainResourceClient handle:didReceiveResponse:]):
2743         (-[WebMainResourceClient handle:didReceiveData:]):
2744         * WebView.subproj/WebTextView.m:
2745         (-[WebTextView dataSourceUpdated:]):
2746         * WebView.subproj/WebViewPrivate.m:
2747         (-[WebView _makeDocumentViewForDataSource:]):
2748
2749 2002-10-02  Darin Adler  <darin@apple.com>
2750
2751         More work on "open window behind".
2752
2753         * WebView.subproj/WebControllerPolicyDelegate.h: Add new OpenNewWindowBehind
2754         constants to the enums.
2755
2756         * WebView.subproj/WebWindowOperationsDelegate.h: Add a behind: parameter to
2757         the openNewWindowWithURL method.
2758
2759         * WebView.subproj/WebHTMLViewPrivate.m:
2760         (-[WebHTMLView _continueAfterClickPolicyForEvent:]): In the new
2761         WebClickPolicyOpenNewWindowBehind case, pass YES for behind.
2762
2763         * Plugins.subproj/WebBaseNetscapePluginView.m:
2764         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
2765         * WebCoreSupport.subproj/WebBridge.m:
2766         (-[WebBridge openNewWindowWithURL:referrer:frameName:]):
2767         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2768         (-[WebDefaultContextMenuDelegate openNewWindowWithURL:referrer:]):
2769         * WebView.subproj/WebFrame.m:
2770         (-[WebFrame frameNamed:]):
2771         Pass NO for behind.
2772
2773 2002-10-02  Darin Adler  <darin@apple.com>
2774
2775         Cut down on unnecessary use of WebFoundation private stuff.
2776
2777         * Plugins.subproj/WebPluginStream.m:
2778         (-[WebNetscapePluginStream startLoad]): Remove unnecessary use of
2779         [WebResourceHandle _request].
2780         * WebCoreSupport.subproj/WebSubresourceClient.m:
2781         (-[WebSubresourceClient handleDidFinishLoading:]): Remove assert about
2782         status code, since status codes are going away.
2783         * WebView.subproj/WebMainResourceClient.m:
2784         (-[WebMainResourceClient didCancelWithHandle:]): Use currentURL for logging.
2785         (-[WebMainResourceClient handleDidFinishLoading:]): Ditto.
2786         (-[WebMainResourceClient handle:didReceiveData:]): Ditto.
2787
2788 2002-10-02  Darin Adler  <darin@apple.com>
2789
2790         * WebView.subproj/WebControllerPolicyDelegate.h: Change modifierMask to
2791         modifierFlags to match NSEvent.
2792         * WebView.subproj/WebDefaultPolicyDelegate.m:
2793         (-[WebDefaultPolicyDelegate clickPolicyForElement:button:modifierFlags:]): Ditto.
2794         * WebView.subproj/WebHTMLViewPrivate.m:
2795         (-[WebHTMLView _continueAfterClickPolicyForEvent:]): Ditto.
2796
2797 2002-10-02  Darin Adler  <darin@apple.com>
2798
2799         Get rid of uses of canonicalURL.
2800
2801         * WebCoreSupport.subproj/WebSubresourceClient.m:
2802         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
2803         Start with normal URL. The change to the canonical URL will come in as a redirect.
2804         (-[WebSubresourceClient handle:didReceiveData:]): Remove assert.
2805         (-[WebSubresourceClient handleDidFinishLoading:]): Ditto.
2806         * WebView.subproj/WebDataSource.m:
2807         (-[WebDataSource initWithRequest:]):Start with normal URL. The change to the
2808         canonical URL will come in as a redirect.
2809
2810 2002-10-02  Ken Kocienda  <kocienda@apple.com>
2811
2812         Added import of WebHTTPResourceRequest.h to get access to methods
2813         which have moved to the HTTP-sepcific request category.
2814
2815         * WebView.subproj/WebDataSourcePrivate.m
2816
2817 2002-10-01  John Sullivan  <sullivan@apple.com>
2818
2819         * WebKit.exp: added .objc_class_name_WebTextRendererFactory
2820         so I could use it from WebBrowser.
2821
2822         * WebCoreSupport.subproj/WebBridge.m:
2823         (-[WebBridge startLoadingResource:withURL:referrer:]):
2824         Just changed whitespace so the .exp change would be built.
2825
2826 2002-10-01  Chris Blumenberg  <cblu@apple.com>
2827
2828         Fixed build breakage.
2829
2830         * Plugins.subproj/WebBaseNetscapePluginView.m:
2831         (-[WebBaseNetscapePluginView setWindow]):
2832
2833 2002-10-01  Ken Kocienda  <kocienda@apple.com>
2834
2835         Implemented WebResourceRequest "category" design for extending a
2836         request with protocol-specific data.
2837
2838         * WebCoreSupport.subproj/WebBridge.m: Now imports WebHTTPResourceRequest.h.
2839         * WebCoreSupport.subproj/WebSubresourceClient.m: Ditto.
2840         * WebView.subproj/WebMainResourceClient.m: Ditto.
2841
2842 2002-10-01  Chris Blumenberg  <cblu@apple.com>
2843
2844         - Added debug drawing
2845         - removed unnecessary ifdef'ing.
2846
2847         * Plugins.subproj/WebBaseNetscapePluginView.m:
2848         (-[WebBaseNetscapePluginView sendActivateEvent:]):
2849         (-[WebBaseNetscapePluginView becomeFirstResponder]):
2850         (-[WebBaseNetscapePluginView resignFirstResponder]):
2851         (-[WebBaseNetscapePluginView mouseDown:]):
2852         (-[WebBaseNetscapePluginView mouseUp:]):
2853         (-[WebBaseNetscapePluginView mouseEntered:]):
2854         (-[WebBaseNetscapePluginView mouseExited:]):
2855         (-[WebBaseNetscapePluginView menuForEvent:]):
2856         (-[WebBaseNetscapePluginView setWindow]):
2857         (-[WebBaseNetscapePluginView start]):
2858         (-[WebBaseNetscapePluginView drawRect:]):
2859
2860 2002-10-01  Ken Kocienda  <kocienda@apple.com>
2861
2862         * WebCoreSupport.subproj/WebSubresourceClient.m:
2863         (-[WebSubresourceClient handleDidFinishLoading:]): Fixed Development build breakage. Call to [response statusCode] 
2864         now calls the handle's private method to get the status code.
2865         * WebView.subproj/WebMainResourceClient.m:
2866         (-[WebMainResourceClient handleDidFinishLoading:]): Ditto.
2867         (-[WebMainResourceClient handle:didReceiveData:]): Calls new textEncodingName method, replacing call to characterSet.
2868
2869 2002-10-01  Ken Kocienda  <kocienda@apple.com>
2870
2871         * WebView.subproj/WebLoadProgress.m:
2872         (-[WebLoadProgress initWithResourceHandle:]): Status code moved from WebResourceResponse
2873         to WebResourceHandle private API.
2874
2875 2002-10-01  Ken Kocienda  <kocienda@apple.com>
2876
2877         Changed WebResourceHandle so that the init method no longer starts the
2878         loading of the request to begin. Added new loadWithDelegate: method which
2879         is called separatetly from the init method, to start loads.
2880
2881         All of the changes here update code that depends on WebResourceHandle. The
2882         changes move the code to the modified API.
2883
2884         * Misc.subproj/WebIconLoader.m:
2885         (-[WebIconLoader startLoading])
2886         * Plugins.subproj/WebPluginStream.m:
2887         (-[WebNetscapePluginStream startLoad])
2888         * WebCoreSupport.subproj/WebBridge.m:
2889         (-[WebBridge objectLoadedFromCache:size:])
2890         * WebCoreSupport.subproj/WebSubresourceClient.m:
2891         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:])
2892         * WebView.subproj/WebDataSourcePrivate.m:
2893         (-[WebDataSource _startLoading])
2894
2895 2002-10-01  Chris Blumenberg  <cblu@apple.com>
2896
2897         Fixed copyright comments.
2898
2899         * Plugins.subproj/WebBaseNetscapePluginView.h:
2900         * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
2901         * Plugins.subproj/WebNetscapePluginDocumentView.h:
2902         * Plugins.subproj/WebNetscapePluginDocumentView.m:
2903         * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
2904         * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
2905         * Plugins.subproj/WebNullPluginView.h:
2906         * Plugins.subproj/WebNullPluginView.m:
2907         * Plugins.subproj/WebPlugin.h:
2908         * Plugins.subproj/WebPlugin.m:
2909         * Plugins.subproj/WebPluginDatabase.h:
2910         * Plugins.subproj/WebPluginDatabase.m:
2911         * Plugins.subproj/WebPluginNullEventSender.h:
2912         * Plugins.subproj/WebPluginNullEventSender.m:
2913         * Plugins.subproj/WebPluginStream.h:
2914         * Plugins.subproj/WebPluginStream.m:
2915         * Plugins.subproj/npapi.h:
2916         * Plugins.subproj/npapi.m:
2917
2918 2002-10-01  Ken Kocienda  <kocienda@apple.com>
2919
2920         Many changes to coincide with API work in WebFoundation. Most of the modifications
2921         here have to do with changes for the new callback scheme.
2922
2923         * Misc.subproj/WebIconLoader.m:
2924         (-[WebIconLoader handleDidFinishLoading:])
2925         (-[WebIconLoader handle:willSendRequest:]): New method. A no-op here.
2926         (-[WebIconLoader handle:didReceiveResponse:]): Ditto.
2927         * Plugins.subproj/WebBaseNetscapePluginView.m:
2928         (-[WebBaseNetscapePluginView stop]): Fix for Deployment build breakage. 
2929         * Plugins.subproj/WebPluginStream.h: Add response ivar.
2930         * Plugins.subproj/WebPluginStream.m:
2931         (-[WebNetscapePluginStream startLoad]): Tweak method name for new API.
2932         (-[WebNetscapePluginStream receivedData:withHandle:]):
2933         (-[WebNetscapePluginStream handle:willSendRequest:]): New method. Replaces old redirect callback.
2934         (-[WebNetscapePluginStream handle:didReceiveResponse:]): New method. Set the response ivar.
2935         * WebCoreSupport.subproj/WebSubresourceClient.h: Add response ivar.
2936         * WebCoreSupport.subproj/WebSubresourceClient.m:
2937         (-[WebSubresourceClient dealloc]): Release response ivar.
2938         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Set the request user agent here.
2939         (-[WebSubresourceClient handle:willSendRequest:]): New method. Handle like a redirect.
2940         (-[WebSubresourceClient handle:didReceiveResponse:]): New method. Set the response ivar.
2941         (-[WebSubresourceClient handle:didReceiveData:]): Tweaks for new WebFoundation API and method names.
2942         (-[WebSubresourceClient handleDidFinishLoading:]): Ditto.
2943         (-[WebSubresourceClient handle:didFailLoadingWithError:]): Ditto.
2944         * WebView.subproj/WebControllerPrivate.m: 
2945         (-[WebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]): Ditto.
2946         * WebView.subproj/WebDataSourcePrivate.h: Add _setRequest method.
2947         * WebView.subproj/WebDataSourcePrivate.m:
2948         (-[WebDataSource _startLoading]): Call didStartLoadingWithURL with request URL instead of handle URL.
2949         (-[WebDataSource _setRequest:]): Add implementation.
2950         * WebView.subproj/WebLoadProgress.m:
2951         (-[WebLoadProgress initWithResourceHandle:]): Tweaks for new WebFoundation API and method names.
2952         * WebView.subproj/WebMainResourceClient.h: Add response ivar.
2953         * WebView.subproj/WebMainResourceClient.m:
2954         (-[WebMainResourceClient initWithDataSource:]): Set user agent on request here.
2955         (-[WebMainResourceClient dealloc]): Release response ivar.
2956         (-[WebMainResourceClient didCancelWithHandle:]): Tweaks for new WebFoundation API and method names.
2957         (-[WebMainResourceClient handleDidFinishLoading:]): Tweaks for new WebFoundation API and method names.
2958         (-[WebMainResourceClient handle:willSendRequest:]): New method. Handle like a redirect.
2959         (-[WebMainResourceClient handle:didReceiveResponse:]): New method. Set the response ivar.
2960         (-[WebMainResourceClient handle:didReceiveData:]): Tweaks for new WebFoundation API and method names.
2961         (-[WebMainResourceClient handle:didFailLoadingWithError:]): Ditto.
2962
2963
2964 2002-09-30  Chris Blumenberg  <cblu@apple.com>
2965
2966         A ton o' plugin view clean-up and arch changes. Turned WebPluginView into WebBaseNetscapePluginView. New classes WebNetscapePluginEmbeddedView and WebNetscapePluginDocumentView are subclasses of WebBaseNetscapePluginView. WebNetscapePluginDocumentView handles non-HTML plug-in content and WebNetscapePluginEmbeddedView is the WebHTMLView subview.
2967
2968         Found that we leak the world on complex pages with plug-ins such as macromedia.com and marvel.com when closing the window. Still need to figure this out.
2969
2970         * Plugins.subproj/WebBaseNetscapePluginView.h: Added.
2971         * Plugins.subproj/WebBaseNetscapePluginView.m: Added.
2972         (+[WebBaseNetscapePluginView getCarbonEvent:]):
2973         (-[WebBaseNetscapePluginView getCarbonEvent:]):
2974         (-[WebBaseNetscapePluginView modifiersForEvent:]):
2975         (-[WebBaseNetscapePluginView getCarbonEvent:withEvent:]):
2976         (-[WebBaseNetscapePluginView keyMessageForEvent:]):
2977         (-[WebBaseNetscapePluginView sendEvent:]):
2978         (-[WebBaseNetscapePluginView sendActivateEvent:]):
2979         (-[WebBaseNetscapePluginView sendUpdateEvent]):
2980         (-[WebBaseNetscapePluginView acceptsFirstResponder]):
2981         (-[WebBaseNetscapePluginView becomeFirstResponder]):
2982         (-[WebBaseNetscapePluginView resignFirstResponder]):
2983         (-[WebBaseNetscapePluginView mouseDown:]):
2984         (-[WebBaseNetscapePluginView mouseUp:]):
2985         (-[WebBaseNetscapePluginView mouseEntered:]):
2986         (-[WebBaseNetscapePluginView mouseExited:]):
2987         (-[WebBaseNetscapePluginView keyUp:]):
2988         (-[WebBaseNetscapePluginView keyDown:]):
2989         (-[WebBaseNetscapePluginView isInResponderChain]):
2990         (-[WebBaseNetscapePluginView performKeyEquivalent:]):
2991         (-[WebBaseNetscapePluginView menuForEvent:]):
2992         (-[WebBaseNetscapePluginView setUpWindowAndPort]):
2993         (-[WebBaseNetscapePluginView setWindow]):
2994         (-[WebBaseNetscapePluginView removeTrackingRect]):
2995         (-[WebBaseNetscapePluginView resetTrackingRect]):
2996         (-[WebBaseNetscapePluginView start]):
2997         (-[WebBaseNetscapePluginView stop]):
2998         (-[WebBaseNetscapePluginView dataSource]):
2999         (-[WebBaseNetscapePluginView webFrame]):
3000         (-[WebBaseNetscapePluginView controller]):
3001         (-[WebBaseNetscapePluginView plugin]):
3002         (-[WebBaseNetscapePluginView setMIMEType:]):
3003         (-[WebBaseNetscapePluginView setBaseURL:]):
3004         (-[WebBaseNetscapePluginView setArguments:]):
3005         (-[WebBaseNetscapePluginView setMode:]):
3006         (-[WebBaseNetscapePluginView initWithFrame:]):
3007         (-[WebBaseNetscapePluginView dealloc]):
3008         (-[WebBaseNetscapePluginView drawRect:]):
3009         (-[WebBaseNetscapePluginView isFlipped]):
3010         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
3011         (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
3012         (-[WebBaseNetscapePluginView viewHasMoved:]):
3013         (-[WebBaseNetscapePluginView windowWillClose:]):
3014         (-[WebBaseNetscapePluginView windowBecameKey:]):
3015         (-[WebBaseNetscapePluginView windowResignedKey:]):
3016         (-[WebBaseNetscapePluginView defaultsHaveChanged:]):
3017         (-[WebBaseNetscapePluginView frameStateChanged:]):
3018         (-[WebBaseNetscapePluginView pluginInstance]):
3019         (-[WebBaseNetscapePluginView pluginURLFromCString:]):
3020         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
3021         (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]):
3022         (-[WebBaseNetscapePluginView getURL:target:]):
3023         (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]):
3024         (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]):
3025         (-[WebBaseNetscapePluginView newStream:target:stream:]):
3026         (-[WebBaseNetscapePluginView write:len:buffer:]):
3027         (-[WebBaseNetscapePluginView destroyStream:reason:]):
3028         (-[WebBaseNetscapePluginView status:]):
3029         (-[WebBaseNetscapePluginView invalidateRect:]):
3030         (-[WebBaseNetscapePluginView invalidateRegion:]):
3031         (-[WebBaseNetscapePluginView forceRedraw]):
3032         * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h: Added.
3033         * Plugins.subproj/WebNetscapePluginDocumentView.h: Added.
3034         * Plugins.subproj/WebNetscapePluginDocumentView.m: Added.
3035         (-[WebNetscapePluginDocumentView initWithFrame:]):
3036         (-[WebNetscapePluginDocumentView dealloc]):
3037         (-[WebNetscapePluginDocumentView drawRect:]):
3038         (-[WebNetscapePluginDocumentView dataSource]):
3039         (-[WebNetscapePluginDocumentView setDataSource:]):
3040         (-[WebNetscapePluginDocumentView dataSourceUpdated:]):
3041         (-[WebNetscapePluginDocumentView setNeedsLayout:]):
3042         (-[WebNetscapePluginDocumentView layout]):
3043         * Plugins.subproj/WebNetscapePluginEmbeddedView.h: Added.
3044         * Plugins.subproj/WebNetscapePluginEmbeddedView.m: Added.
3045         (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:mime:arguments:]):
3046         (-[WebNetscapePluginEmbeddedView dealloc]):
3047         (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]):
3048         (-[WebNetscapePluginEmbeddedView start]):
3049         (-[WebNetscapePluginEmbeddedView dataSource]):
3050         * Plugins.subproj/WebNetscapePluginViewPrivate.h: Removed.
3051         * Plugins.subproj/WebPluginDatabase.m:
3052         (-[WebNetscapePluginDatabase init]):
3053         * Plugins.subproj/WebPluginNullEventSender.h:
3054         * Plugins.subproj/WebPluginNullEventSender.m:
3055         (-[WebNetscapePluginNullEventSender initWithPluginView:]):
3056         (-[WebNetscapePluginNullEventSender sendNullEvents]):
3057         * Plugins.subproj/WebPluginStream.h:
3058         * Plugins.subproj/WebPluginStream.m:
3059         (-[WebNetscapePluginStream getFunctionPointersFromPluginView:]):
3060         (-[WebNetscapePluginStream initWithURL:pluginPointer:notifyData:]):
3061         (-[WebNetscapePluginStream dealloc]):
3062         (-[WebNetscapePluginStream startLoad]):
3063         (-[WebNetscapePluginStream receivedData:withDataSource:]):
3064         (-[WebNetscapePluginStream handleWillUseUserAgent:forURL:]):
3065         (-[WebNetscapePluginStream handle:didReceiveData:]):
3066         (-[WebNetscapePluginStream handleDidFinishLoading:]):
3067         (-[WebNetscapePluginStream cancel]):
3068         (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
3069         (-[WebNetscapePluginStream handleDidRedirect:toURL:]):
3070         * Plugins.subproj/WebPluginView.h: Removed.
3071         * Plugins.subproj/WebPluginView.m: Removed.
3072         * Plugins.subproj/npapi.m:
3073         (NPN_GetURLNotify):
3074         (NPN_GetURL):
3075         (NPN_PostURLNotify):
3076         (NPN_PostURL):
3077         (NPN_NewStream):
3078         (NPN_Write):
3079         (NPN_DestroyStream):
3080         (NPN_Status):
3081         (NPN_InvalidateRect):
3082         (NPN_InvalidateRegion):
3083         (NPN_ForceRedraw):
3084         * WebCoreSupport.subproj/WebViewFactory.m:
3085         (-[WebViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]):
3086         (-[WebViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]):
3087         * WebKit.pbproj/project.pbxproj:
3088         * WebView.subproj/WebHTMLViewPrivate.m:
3089         (-[NSView _web_stopIfPluginView]):
3090
3091 2002-09-30  Darin Adler  <darin@apple.com>
3092
3093         * WebView.subproj/WebDataSource.m: (-[WebDataSource initWithRequest:]):
3094         Remove the ill-advised "don't even create a WebDataSource if WebResourceHandle
3095         can't handle this request" code.
3096
3097         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading]):
3098         Rearrange checks so we won't get confused if we can't create a handle.
3099
3100 2002-09-30  Darin Adler  <darin@apple.com>
3101
3102         * English.lproj/StringsNotToBeLocalized.txt: Added.
3103
3104 2002-09-30  Darin Adler  <darin@apple.com>
3105
3106         - fixed crashing part of 3063517 -- crash loading .png in separate window
3107
3108         * Plugins.subproj/WebPluginView.m:
3109         (-[WebNetscapePluginView start]): Don't try to start if the NPP_New is 0.
3110         This indicates the the plugin hasn't been loaded.
3111
3112 2002-09-30  Darin Adler  <darin@apple.com>
3113
3114         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setLoading:]):
3115         Remove extra quotes in use of ASSERT_ARG.
3116
3117 2002-09-29  Darin Adler  <darin@apple.com>
3118
3119         * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _iconForFileURL:withSize:]):
3120         Don't be case sensitive about filename extensions.
3121
3122         * Misc.subproj/WebDownloadHandler.m:
3123         * Misc.subproj/WebIconLoader.m:
3124         * Plugins.subproj/WebPluginStream.m:
3125         * WebView.subproj/WebDataSource.m:
3126         * WebView.subproj/WebDefaultContextMenuDelegate.m:
3127         * WebView.subproj/WebFrame.m:
3128         * WebView.subproj/WebFramePrivate.m:
3129         * WebView.subproj/WebView.m:
3130         Don't use WebFoundation.h -- faster building to just import what we really use.
3131
3132 2002-09-29  Chris Blumenberg  <cblu@apple.com>
3133
3134         Fixed: 2978258 - quake3arena.com sends me to the flash=false site
3135         The page has a flash plugin that once loaded, requests the flash=true page. If the plugin doesn't load, the meta refresh tag to the flash=false page fires after 3 seconds. This is how this site's flash detection works.
3136
3137         The reason this doesn't work for us is because the flash movie is at the bottom of the page. Plugins don't start until the initial drawRect. Since the movie is at the bottom of the page and out of site, the plugin never gets the drawRect and thus, never starts. We now start plug-ins when they are added to the window.
3138
3139         Fixed: 3062224 - context menu includes "Download Item to Disk" for mailto links
3140
3141         - Fixed click then click and drag causes crash.
3142
3143         * Plugins.subproj/WebPluginView.m:
3144         (-[WebNetscapePluginView drawRect:]): don't start plug-in here
3145         (-[WebNetscapePluginView viewDidMoveToWindow]): start it here
3146         * WebView.subproj/WebDefaultContextMenuDelegate.m:
3147         (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]): don't provide "Download Link To Disk" and "Open Link In New Window" items for URLs we cant handle.
3148         * WebView.subproj/WebHTMLView.m:
3149         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): clean-up
3150         (-[WebHTMLView mouseDragged:]): Don't allow drag if the frame has a provisional data source because this view may be released and the drag callbacks might reference this released view.
3151
3152 2002-09-28  Darin Adler  <darin@apple.com>
3153
3154         * WebView.subproj/WebDataSource.m: (-[WebDataSource initWithRequest:]):
3155         Catch a request that we can't use here instead of failing later.
3156
3157         * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading]):
3158         Added an assert so the failure was less confusing; good idea to leave it in.
3159
3160 2002-09-28  Chris Blumenberg  <cblu@apple.com>
3161
3162         Support for latest Flash plug-in. It requests a javascript URL for every plug-in instance.
3163         Until javascript URLs work, we return an error to the plug-in. 
3164
3165         Fixed: 3035582 - flash animations don't work after upgrading flash
3166         Fixed: 3021936 - links in flash at foggypetronasracing.com doesn't work
3167
3168         * Plugins.subproj/WebPluginStream.h:
3169         * Plugins.subproj/WebPluginStream.m:
3170         (-[WebNetscapePluginStream initWithURL:pluginPointer:notifyData:]):
3171         Make the request here and return nil if we can't create a handle with it.
3172         (-[WebNetscapePluginStream dealloc]): release the request
3173         (-[WebNetscapePluginStream startLoad]): use the request when creating the handle
3174
3175 2002-09-28  Darin Adler  <darin@apple.com>
3176
3177         * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setNeedsLayout]): Added.
3178
3179 2002-09-27  Chris Blumenberg  <cblu@apple.com>
3180
3181         Fixed KJS crasher caused by nil plug-in returned from WebPlugin.
3182         Got the RealPlayer plug-in loaded, nothing playing yet.
3183
3184         * Plugins.subproj/WebPlugin.m:
3185         (-[WebNetscapePlugin getPluginInfo]): check for nil plug-in names/descriptions
3186         (-[WebNetscapePlugin stringByResolvingSymlinksAndAliasesInPath:]): new, resolves old-style aliases
3187         (-[WebNetscapePlugin initWithPath:]): call stringByResolvingSymlinksAndAliasesInPath
3188
3189 2002-09-27  Richard Williamson   <rjw@apple.com>
3190
3191         Fix 3058315:  crash in WebHTMLRepresentation receivedData:withDataSource
3192         http://www.u2.com/lite/ does some whacky things with its framset's onLoad
3193         handler.  The fix ensures that data isn't sent to the bridge once
3194         the bridge has been dealloced.
3195         
3196         * WebKit.pbproj/project.pbxproj: Nothing changed.  PB dorkiness.
3197         * WebView.subproj/WebHTMLRepresentation.m:
3198         (-[WebHTMLRepresentation receivedData:withDataSource:]):
3199
3200 2002-09-27  Chris Blumenberg  <cblu@apple.com>
3201
3202         Fixed: 3056559 - QT plugin doesn't load (claudius)
3203         Fixed: 3042850 - Enable Java by default
3204
3205         Cleaned up WebPlugin and WebPluginDatabase.
3206
3207         * Plugins.subproj/WebPlugin.h:
3208         * Plugins.subproj/WebPlugin.m:
3209         (-[WebNetscapePlugin openResourceFile]):
3210         (-[WebNetscapePlugin closeResourceFile:]):
3211         (-[WebNetscapePlugin stringForStringListID:andIndex:]):
3212         (-[WebNetscapePlugin getPluginInfo]):
3213         (-[WebNetscapePlugin initWithPath:]):
3214         (-[WebNetscapePlugin load]):
3215         (-[WebNetscapePlugin unload]):
3216         (-[WebNetscapePlugin MIMEToExtensionsDictionary]):
3217         (-[WebNetscapePlugin extensionToMIMEDictionary]):
3218         (-[WebNetscapePlugin MIMEToDescriptionDictionary]):
3219         (-[WebNetscapePlugin description]):
3220         * Plugins.subproj/WebPluginDatabase.h:
3221         * Plugins.subproj/WebPluginDatabase.m:
3222         (-[WebNetscapePluginDatabase pluginForMIMEType:]):
3223         (-[WebNetscapePluginDatabase pluginForExtension:]):
3224         (-[WebNetscapePluginDatabase pluginForFilename:]):
3225         (-[WebNetscapePluginDatabase MIMETypes]):
3226         (-[WebNetscapePluginDatabase init]):
3227         * Plugins.subproj/WebPluginView.m:
3228         (-[WebNetscapePluginView setDataSource:]):
3229         * WebCoreSupport.subproj/WebViewFactory.m:
3230         (-[WebViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]):
3231         (-[WebViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]):
3232         * WebView.subproj/WebPreferences.m:
3233         (+[WebPreferences load]): Enable Java by default
3234
3235 2002-09-27  Richard Williamson   <rjw@apple.com>
3236
3237         Fixed 3060158:  REGRESSION: iframes added to session history
3238         Also moved setting title in history to WebKit.
3239         
3240         * History.subproj/WebHistory.h:
3241         * History.subproj/WebHistory.m:
3242         (+[WebHistory sharedHistory]):
3243         (+[WebHistory webHistoryWithFile:]):
3244         (-[WebHistory addEntryForURL:]):
3245         (-[WebHistory addEntries:]):
3246         * History.subproj/WebHistoryPrivate.h:
3247         * History.subproj/WebHistoryPrivate.m:
3248         * WebCoreSupport.subproj/WebBridge.m:
3249         (-[WebBridge requestedURL]):
3250         * WebView.subproj/WebDataSourcePrivate.m:
3251         (-[WebDataSource _setTitle:]):
3252         * WebView.subproj/WebFramePrivate.m:
3253         (-[WebFrame _transitionToCommitted]):
3254         * WebView.subproj/WebHTMLView.m:
3255         (-[WebHTMLView mouseDragged:]):
3256
3257 2002-09-26  Richard Williamson   <rjw@apple.com>
3258
3259         More twiddling.  Changed the color of the drag labels to
3260         match the favorites bar.
3261         
3262         * WebView.subproj/WebHTMLView.m:
3263         (-[WebHTMLView mouseDragged:]):
3264
3265 2002-09-27  Chris Blumenberg  <cblu@apple.com>
3266
3267         Added support for dragging links the the dock.
3268         Created new pasteboard types WebURLPboardType WebURLNamePboardType that the dock requires.
3269
3270         * Misc.subproj/WebNSPasteboardExtras.h:
3271         * Misc.subproj/WebNSPasteboardExtras.m:
3272         (+[NSPasteboard initialize]): set WebURLPboardType and WebURLNamePboardType
3273         (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): use WebURLPboardType and WebURLNamePboardType
3274         * WebKit.exp: export WebURLPboardType and WebURLNamePboardType
3275
3276 2002-09-27  Maciej Stachowiak  <mjs@apple.com>
3277
3278         * Panels.subproj/WebAuthenticationPanel.m:
3279         (-[WebAuthenticationPanel setUpForRequest:]):
3280         (-[WebAuthenticationPanel runAsModalDialogWithRequest:]):
3281         (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
3282         * Panels.subproj/WebPanelAuthenticationHandler.h:
3283         * Panels.subproj/WebPanelAuthenticationHandler.m:
3284         (-[WebPanelAuthenticationHandler isReadyToStartAuthentication:]):
3285         (-[WebPanelAuthenticationHandler startAuthentication:]):
3286         (-[WebPanelAuthenticationHandler _authenticationDoneWithRequest:result:]):
3287
3288 2002-09-26  Darin Adler  <darin@apple.com>
3289
3290         * WebCoreSupport.subproj/WebBridge.m:
3291         (-[WebBridge receivedData:withDataSource:]): Use NSString for encoding.
3292         * WebView.subproj/WebController.h: Update names to use separate boolean
3293         for user agent and strings for text encodings instead of CFStringEncoding.
3294         * WebView.subproj/WebController.m:
3295         (-[WebController setCustomUserAgent:]): Name change.
3296         (-[WebController resetUserAgent]): Added.
3297         (-[WebController hasCustomUserAgent]): Added.
3298         (-[WebController customUserAgent]): Name change.
3299         (-[WebController setCustomTextEncodingName:]): Take NSString.
3300         (-[WebController resetTextEncoding]): Update for NSString.
3301         (-[WebController _mainFrameOverrideEncoding]): Ditto.
3302         (-[WebController hasCustomTextEncoding]): Ditto.
3303         (-[WebController customTextEncodingName]): Return NSString.
3304
3305         * WebView.subproj/WebDataSourcePrivate.h: Use NSString instead of
3306         CFStringEncoding.
3307         * WebView.subproj/WebDataSourcePrivate.m:
3308         (-[WebDataSourcePrivate init]): No need to init.
3309         (-[WebDataSource _setContentType:]): Copy, don't retain.
3310         (-[WebDataSource _setEncoding:]): Copy, don't retain.
3311         (-[WebDataSource _setOverrideEncoding:]): Use NSString.
3312         (-[WebDataSource _overrideEncoding]): Use NSString.
3313
3314         * WebView.subproj/WebFramePrivate.h: Use NSString.
3315         * WebView.subproj/WebFramePrivate.m:
3316         (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): Use NSString.
3317
3318         * WebView.subproj/WebPreferences.h: Use NSString instead of
3319         CFStringEncoding.
3320         * WebView.subproj/WebPreferences.m:
3321         (+[WebPreferences load]): Use NSString.
3322         (-[WebPreferences defaultTextEncodingName]): Use NSString.
3323         (-[WebPreferences setDefaultTextEncodingName:]): Use NSString.
3324
3325 2002-09-26  Chris Blumenberg  <cblu@apple.com>
3326
3327         Made WebTextView super-private.
3328
3329         * WebKit.pbproj/project.pbxproj:
3330
3331 2002-09-26  Richard Williamson   <rjw@apple.com>
3332
3333         Use a rectangle with rounded corners for dragged label.
3334         Put a subtle shadow behind text in label.
3335         
3336         * WebView.subproj/WebHTMLView.m:
3337         (-[WebHTMLView mouseDragged:]):
3338
3339 2002-09-26  Chris Blumenberg  <cblu@apple.com>
3340
3341         - When dragging an image, use the image itself for the drag image
3342         - Support promised file and image data drag types for dragged images.
3343
3344         * Misc.subproj/WebNSImageExtras.h: Added.
3345         * Misc.subproj/WebNSImageExtras.m: Added.
3346         (-[NSImage _web_scaleToMaxSize:]): new, scales an image is greater than max
3347         (-[NSImage _web_dissolveToFraction:]): new, dissolves image in place
3348         * WebKit.pbproj/project.pbxproj:
3349         * WebView.subproj/WebController.h: Added WebElementImageLocationKey to the element dictionary
3350         * WebView.subproj/WebController.m: ditto
3351         * WebView.subproj/WebHTMLView.m:
3352         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): subclassed for only for image drags
3353         (-[WebHTMLView mouseDragged:]): use the promised file api again.
3354         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): use the retained element dictionary instead of the dragged URL which I deleted.
3355         * WebView.subproj/WebHTMLViewPrivate.h:
3356
3357 === Alexander-25 ===
3358
3359 2002-09-25  Richard Williamson   <rjw@apple.com>
3360
3361         API tweaks.
3362         * Misc.subproj/WebKit.h:
3363         Added headers.
3364         
3365         * Misc.subproj/WebKitErrors.h:
3366         Removed #defines.
3367         
3368         * WebView.subproj/WebDataSource.h:
3369         * WebView.subproj/WebDataSource.m:
3370         * WebView.subproj/WebDataSourcePrivate.m:
3371         (-[WebDataSource _startLoading]):
3372         (-[WebDataSource _loadIcon]):
3373         * WebView.subproj/WebDefaultContextMenuDelegate.m:
3374         (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]):
3375         Removed isMainDocument.
3376         
3377         Moved errors string #defines here.
3378         * WebView.subproj/WebView.m:
3379
3380 2002-09-25  John Sullivan  <sullivan@apple.com>
3381
3382         - fixed 3060773 -- Wrong title proposed when image link 
3383         dropped on favorites bar
3384
3385         * WebView.subproj/WebHTMLView.m:
3386         (-[WebHTMLView mouseDragged:]): Claim the pasteboard (via
3387         declareTypes:) before putting data on it.
3388
3389 2002-09-25  Richard Williamson   <rjw@apple.com>
3390
3391         API and documentation tweaks.
3392         
3393         WebDocumentDragSettings:  canDrag -> acceptsDrag
3394         WebDataSource:  removed originalURL
3395         WebStandardPanels:  use -> uses
3396         
3397         * History.subproj/WebBackForwardList.h:
3398         * Misc.subproj/WebDownloadHandler.m:
3399         (-[WebDownloadHandler initWithDataSource:]):
3400         * Panels.subproj/WebStandardPanels.h:
3401         * Panels.subproj/WebStandardPanels.m:
3402         (-[WebStandardPanels setUsesStandardAuthenticationPanel:]):
3403         (-[WebStandardPanels usesStandardAuthenticationPanel]):
3404         * Plugins.subproj/WebPluginView.m:
3405         (-[WebNetscapePluginView frameStateChanged:]):
3406         * WebCoreSupport.subproj/WebSubresourceClient.m:
3407         (-[WebSubresourceClient cancel]):
3408         * WebView.subproj/WebController.h:
3409         * WebView.subproj/WebDataSource.h:
3410         * WebView.subproj/WebDataSourcePrivate.m:
3411         (-[WebDataSource _commitIfReady]):
3412         * WebView.subproj/WebDocument.h:
3413         * WebView.subproj/WebFrame.m:
3414         (-[WebFrame setProvisionalDataSource:]):
3415         (-[WebFrame startLoading]):
3416         * WebView.subproj/WebFramePrivate.m:
3417         (-[WebFrame _transitionToCommitted]):
3418         (-[WebFrame _setState:]):
3419         (-[WebFrame _goToItem:withFrameLoadType:]):
3420         * WebView.subproj/WebHTMLView.m:
3421         (-[WebHTMLView setAcceptsDrags:]):
3422         (-[WebHTMLView acceptsDrags]):
3423         (-[WebHTMLView setAcceptsDrops:]):
3424         (-[WebHTMLView acceptsDrops]):
3425         * WebView.subproj/WebImageView.m:
3426         (-[WebImageView setAcceptsDrags:]):
3427         (-[WebImageView acceptsDrags]):
3428         (-[WebImageView setAcceptsDrops:]):
3429         (-[WebImageView acceptsDrops]):
3430         * WebView.subproj/WebLoadProgress.h:
3431         * WebView.subproj/WebLocationChangeDelegate.h:
3432         * WebView.subproj/WebMainResourceClient.m:
3433         (-[WebMainResourceClient didCancelWithHandle:]):
3434         * WebView.subproj/WebView.h:
3435
3436 2002-09-25  Ken Kocienda  <kocienda@apple.com>
3437
3438         Changes to move the WebResourceHandle API closer to the
3439         specified design. This includes:
3440
3441         - Removed loadInBackground method from the public interface.
3442         - Start asynchronous loading in WebResourceHandle init method. This required some
3443           code reorganization in callers.
3444         - Remove loadInForeground: from WebResourceHandle interface.
3445         - Move WebResourceHandle callback deferral methods to SPI header file.
3446         - Change name of WebResourceHandle cancelLoadInBackground method to cancel.
3447
3448         * Misc.subproj/WebIconLoader.m:
3449         (-[WebIconLoader startLoading])
3450         (-[WebIconLoader stopLoading])
3451         * Plugins.subproj/WebPluginStream.m:
3452         (-[WebNetscapePluginStream startLoad])
3453         (-[WebNetscapePluginStream cancel])
3454         * WebCoreSupport.subproj/WebSubresourceClient.m:
3455         (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:])
3456         (-[WebSubresourceClient cancel])
3457         * WebView.subproj/WebDataSourcePrivate.m:
3458         (-[WebDataSource _startLoading])
3459         (-[WebDataSource _addSubresourceClient:])
3460         (-[WebDataSource _stopLoading])
3461         (-[WebDataSource _defersCallbacksChanged])
3462         * WebView.subproj/WebMainResourceClient.m:
3463         (-[WebMainResourceClient handle:didReceiveData:])
3464
3465 2002-09-25  Chris Blumenberg  <cblu@apple.com>
3466
3467         Fixed: 3050665 - REGRESSION: mp3 audio loads and plays, but no progress or play control is visible
3468
3469         * Plugins.subproj/WebPluginView.h:
3470         * Plugins.subproj/WebPluginView.m:
3471         (-[WebNetscapePluginView setNeedsLayout:]):
3472         (-[WebNetscapePluginView layout]):
3473         (-[WebNetscapePluginView drawRect:]):
3474
3475 2002-09-25  Darin Adler  <darin@apple.com>
3476
3477         Make the "set aside subviews" logic stronger so it can handle a display
3478         while inside drawRect. But note, this recursive display is most likely
3479         the cause of the redrawing problems we have while resizing, like bug 2969367.
3480
3481         * WebView.subproj/WebHTMLView.m:
3482         (-[WebHTMLView drawRect:]): Restore views and then set them aside again, but don't