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