JavaScriptCore:
[WebKit-https.git] / WebKit / ChangeLog
1 2006-04-10  John Sullivan  <sullivan@apple.com>
2
3         Reviewed by Tim Omernick.
4         
5         - fixed <rdar://problem/4139799> Seed: Safari: Private Browsing leaves traces in Icon Cache
6         
7         * Misc/WebIconDatabasePrivate.h:
8         new ivars: pageURLsBoundDuringPrivateBrowsing, iconURLsBoundDuringPrivateBrowsing, and privateBrowsingEnabled
9
10         * Misc/WebIconDatabase.m:
11         (-[NSMutableDictionary init]):
12         initialize new ivars, and listen for notifications that WebPreferences changed so we can react to changes
13         to private browsing.
14         (-[NSMutableDictionary iconForURL:withSize:cache:]):
15         Don't remove icon URL from extraRetain dictionary; that's now done in _forgetIconForIconURLString. (I left a
16         comment here earlier about why I was worried about this change, but I convinced myself that it's fine.)
17         (-[WebIconDatabase removeAllIcons]):
18         Removed no-longer-true (and never very clear) comment, and braces. Also remove all objects from the two
19         private-browsing-related dictionaries.
20         (-[WebIconDatabase _setIcon:forIconURL:]):
21         remember icon URL if private browsing is enabled
22         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
23         remember icon URL if private browsing is enabled
24         (-[WebIconDatabase _setIconURL:forURL:]):
25         added an assert that helped me out at one point
26         (-[WebIconDatabase _clearDictionaries]):
27         clear the two new dictionaries too
28         (-[WebIconDatabase _loadIconDictionaries]):
29         made an existing ERROR not fire in the expected case where there are no icons at all on disk
30         (-[WebIconDatabase _updateFileDatabase]):
31         when saving the pageURLToIconURL dictionary to disk, first remove any values that were created during
32         private browsing
33         (-[WebIconDatabase _retainIconForIconURLString:]):
34         skip the code that deals with saving changes to disk if private browsing is enabled
35         (-[WebIconDatabase _forgetIconForIconURLString:]):
36         Remove the icon URL from extraRetain dictionary here. We're forgetting everything about this icon URL
37         so we should forget its former extraRetain count too.
38         (-[WebIconDatabase _resetCachedWebPreferences:]):
39         Cache the new value of private browsing. If it has now been turned off, forget everything we learned
40         while it was on. This causes (e.g.) icons for bookmarks or pre-existing history items to be forgotten
41         if the icon was only learned during private browsing.
42
43         * History/WebHistoryItem.m:
44         removed an unnecessary #import I happened to notice
45         
46 2006-04-10  David Hyatt  <hyatt@apple.com>
47
48         Make the broken CG focus ring painting work when WebCore sets a clip
49         (in addition to respecting the dirty rect clip).
50
51         Reviewed by darin
52
53         * WebCoreSupport/WebGraphicsBridge.m:
54         (-[WebGraphicsBridge drawFocusRingWithPath:radius:color:clipRect:]):
55
56 2006-04-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
57
58         Reviewed by Darin.
59
60         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8100
61           REGRESSION (NativeTextField): Right-aligned and RTL text jitters in new text fields
62
63         * WebCoreSupport/WebTextRenderer.m:
64         (overrideLayoutOperation): For RTL runs, apply the word-rounding on the left.
65         (CG_floatWidthForRun): For RTL runs, apply the last character's rounding
66         on the left by adjusting the start position.
67         (initializeWidthIterator): Added finalRoundingWidth field to WidthIterator.
68         (advanceWidthIterator): For RTL runs, apply rounding on the left of the character,
69         by increasing the width of the next character (which is the character to the left). For
70         the last character, keep the rounding width in the iterator's finalRoundingWidth, to be used by
71         CG_floatWidthForRun().
72
73 2006-04-08  John Sullivan  <sullivan@apple.com>
74
75         Reviewed by Adele Peterson.
76
77         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=8260
78         REGRESSION: Assertion failure: ![_private->iconsToSaveWithURLs containsObject:iconURLString] 
79         in WebIconDatabase.m:695-[WebIconDatabase(WebInternal) _retainIconForIconURLString:]
80
81         * Misc/WebIconDatabase.m:
82         (-[WebIconDatabase _retainIconForIconURLString:]):
83         This new assertion was one block too high; moved it in.
84
85 2006-04-07  David Hyatt  <hyatt@apple.com>
86
87         A fix that makes coalesced updates work much better (and makes our
88         single animated GIF timer work better).  The new rect painting algorithm
89         for WebHTMLView will use the single unioned rect if the # of rects exceeds
90         a threshold (10 is my initial cut), or if the union has enough "wasted"
91         additional pixels (conservatively set at 75%).
92
93         Reviewed by darin
94
95         * WebView/WebHTMLView.m:
96         (-[NSArray drawSingleRect:]):
97         (-[NSArray drawRect:]):
98
99 2006-04-07  Maciej Stachowiak  <mjs@apple.com>
100
101         Reviewed by Darin.
102         
103         - simplify archive loading
104
105         * WebView/WebDataSource.m:
106         (-[WebDataSource representation]): fix whitespace
107         * WebView/WebHTMLRepresentation.m:
108         (-[WebHTMLRepresentation loadArchive]): Use WebFrame's loadArchive: instead
109         of trying to do a manual load here.
110         (-[WebHTMLRepresentation documentSource]): No more special case for WebArchive.
111
112 2006-04-07  John Sullivan  <sullivan@apple.com>
113
114         Reviewed by Tim Omernick.
115         
116         - fixed <rdar://problem/4507054> If an icon file is removed from disk behind Safari's back, 
117         Safari will not try to refetch it
118         
119         In addition to letting WebIconDatabase recover from disk/memory mismatches as per 4507054, I also found
120         a bug in the way icons are remembered that could account for some of the other cases where
121         site icons didn't appear (and you'd get an ERROR on debug builds about WebIconDatabase saying it
122         had some icon when it really doesn't).
123
124         * Misc/WebIconDatabase.m:
125         (-[WebIconDatabase iconForURL:withSize:cache:]):
126         When the icon file for a previously-saved site icon isn't found, forget about the darn icon URL thoroughly
127         so that this situation is self-correcting. Formerly, once you got into this state WebKit would never find
128         the icon again (short of removing the entire icon database cleanly). Note that this does *not* change
129         the behavior of sites that didn't have a site icon when WebKit checked -- these will continue to not
130         return a site icon indefinitely (that's a separate, possibly performance-sensitive issue).
131         (-[WebIconDatabase _retainIconForIconURLString:]):
132         This code did the wrong thing in the case where an icon was in the process of being forgotten about. In
133         that case, the icon would still be in _private->iconsOnDiskWithURLs, so we wouldn't try to save it here,
134         so the new icon wouldn't stick.
135
136 2006-04-07  David Hyatt  <hyatt@apple.com>
137
138         Re-enable coalesced updates.  Our move to a single timer has essentially
139         implemented coalescing of updates anyway, so the regression has already
140         come back.  Since we have to deal with that now anyway, there's no reason
141         to visually tear also. :)
142
143         Reviewed by darin
144
145         * ChangeLog:
146         * WebView/WebView.m:
147         (-[WebView _commonInitializationWithFrameName:groupName:]):
148
149 2006-04-05  Darin Adler  <darin@apple.com>
150
151         - fixed a storage leak from that last check-in
152
153         * WebView/WebUnarchivingState.m: (-[WebUnarchivingState dealloc]):
154         Release the two dictionaries.
155
156 2006-04-05  Maciej Stachowiak  <mjs@apple.com>
157
158         Reviewed by Eric.
159         
160         - start on factoring WebArchive unpacking more into a separate class.
161         http://bugzilla.opendarwin.org/show_bug.cgi?id=8208
162         
163         * WebKit.xcodeproj/project.pbxproj:
164         * WebView/WebDataSource.m:
165         (-[WebDataSourcePrivate dealloc]):
166         (-[WebDataSource _addToUnarchiveState:]):
167         (-[WebDataSource _popSubframeArchiveWithName:]):
168         (-[WebDataSource _documentFragmentWithArchive:]):
169         (-[WebDataSource _setupForReplaceByMIMEType:]):
170         (-[WebDataSource subresourceForURL:]):
171         * WebView/WebDataSourcePrivate.h:
172         * WebView/WebFrame.m:
173         (-[WebFrame _loadRequest:archive:]):
174         (-[WebFrame loadRequest:]):
175         (-[WebFrame loadArchive:]):
176         * WebView/WebFramePrivate.h:
177         * WebView/WebHTMLRepresentation.m:
178         (-[WebHTMLRepresentation loadArchive]):
179         * WebView/WebUnarchivingState.h: Added.
180         * WebView/WebUnarchivingState.m: Added.
181         (-[WebUnarchivingState init]):
182         (-[WebUnarchivingState addArchive:]):
183         (-[WebUnarchivingState archivedResourceForURL:]):
184         (-[WebUnarchivingState popSubframeArchiveWithFrameName:]):
185
186 2006-04-04  Timothy Hatcher  <timothy@apple.com>
187
188         Reviewed by Darin.
189
190         The Debug and Release frameworks are now built with install paths relative to the build products directory.
191         This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 
192
193         * WebKit.xcodeproj/project.pbxproj:
194
195 2006-04-04  John Sullivan  <sullivan@apple.com>
196
197         Reviewed by Adele Peterson.
198
199         - WebKit part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing
200
201         * WebView/WebView.m:
202         (-[WebView _updateWebCoreSettingsFromPreferences:]):
203         Pass private browsing setting down to WebCore.
204
205 2006-04-03  John Sullivan  <sullivan@apple.com>
206
207         Reviewed by Tim Hatcher.
208         
209         - re-fixed <rdar://problem/4481198> REGRESSION (TOT): search results list in bookmarks view 
210         remains when search text is deleted
211
212         * WebView/WebView.m:
213         (-[WebView searchFor:direction:caseSensitive:wrap:]):
214         I fixed this recently, but then broke it again by adding an early bail-out to this method. So
215         now I'm removing the early bail-out.
216
217 2006-04-02  Trey Matteson  <trey@usa.net>
218
219         Reviewed by Maciej.
220
221         fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8121
222         REGRESSION: 404s are not displayed
223
224         * WebView/WebMainResourceLoader.m:
225         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
226         Only cancel failed loads for object elements, not for frames or a whole page.
227
228 2006-04-02  Maciej Stachowiak  <mjs@apple.com>
229
230         Reviewed by Hyatt.
231
232         - fixed <rdar://problem/4198619> REGRESSION: tabbing through links fails after hitting text field w/ sys's "tab to all controls" off
233         - fixed <rdar://problem/4463760> REGRESSION: Can't tab from old text field (like password fields) to new text field (6811)
234         (http://bugzilla.opendarwin.org/show_bug.cgi?id=6811)
235         - fixed tab and shift tab don't select the right things
236         http://bugzilla.opendarwin.org/show_bug.cgi?id=5685
237
238         * WebCoreSupport/WebFrameBridge.m:
239         (-[WebFrameBridge willMakeFirstResponderForNodeFocus]): New method
240         - let WebHTMLView know that the next time it becomes first
241         responder, it's to change focus within the page and the right node
242         has already been set, so it should not move focus forward or
243         backward inside it.
244         * WebView/WebHTMLView.m:
245         (-[NSArray needsPanelToBecomeKey]): Override to return YES, oddly enough this
246         is the right way to tell AppKit that you should be in the tab cycle loop.
247         (-[NSArray becomeFirstResponder]): Don't move forward or back in tab cycle
248         when this becomeFirstResponder is for tabbing from a control in the page.
249         (-[WebHTMLView _willMakeFirstResponderForNodeFocus]): Note that the next
250         time this view becomes first responder, it will be for in-page focus 
251         navigation.
252         * WebView/WebHTMLViewInternal.h:
253
254 2006-04-01  Darin Adler  <darin@apple.com>
255
256         Reviewed by Maciej.
257
258         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8105
259           REGRESSION (NativeTextField): Option-delete deletes one space before the deleted word
260
261         Test: fast/forms/input-text-option-delete.html
262
263         * WebView/WebHTMLView.m:
264         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Pass NO for
265         smartDeleteOK. Smart deletion only applies to deleting a word at a time, and none of
266         the callers of this function that delete a word at a time want smart deletion.
267         (-[WebHTMLView deleteToEndOfLine:]): Fixed tiny formatting glitch.
268
269 2006-03-31  Timothy Hatcher  <timothy@apple.com>
270
271         Reviewed by Darin.
272
273         We need to set reachedTerminalState to YES before we release
274         the resources to prevent a double dealloc of WebView
275
276         Fixes <rdar://problem/4372628> crash deallocating a WebView in -[WebFrame stopLoading]
277
278         * WebView/WebLoader.m:
279         (-[NSURLProtocol releaseResources]): set reachedTerminalState earlier
280
281 2006-03-31  John Sullivan  <sullivan@apple.com>
282
283         Reviewed by Tim Omernick.
284         
285         Some cleanup in the WebIconDatabase code in a fruitless search for the cause
286         of the mysterious -[WebFileDatabase performSetObject:forKey] crash
287
288         * Misc/WebIconDatabase.m:
289         (-[WebIconDatabase _createFileDatabase]):
290         removed obsolete comment
291         (-[WebIconDatabase _loadIconDictionaries]):
292         Added ERRORs for unexpected early returns. Made dictionaries be autoreleased until
293         the end of the method where they are retained, so that the early returns don't leak;
294         added ASSERTs that the _private->dictionary values aren't being leaked.
295         (-[WebIconDatabase _updateFileDatabase]):
296         Added an ERROR for an unexpected early return, and made a trivial style fix.
297
298 2006-03-31  Trey Matteson  <trey@usa.net>
299
300         Reviewed by Maciej, landed by ap.
301
302         http://bugzilla.opendarwin.org/show_bug.cgi?id=7739
303         REGRESSION: Assertion failure loading acid2 test in -[WebCoreFrameBridge installInFrame:]
304
305         Tests: http/tests/misc/acid2.html, http/tests/misc/acid2-pixel.html
306
307         The gist of this change is that we must cancel the load from the Webkit side when we
308         realize we're switching to the fallback content.  This is somewhat a temp workaround
309         since control of loading will be moving to WebCore.
310
311         * WebView/WebMainResourceLoader.m:
312         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
313
314 2006-03-30  Justin Garcia  <justin.garcia@apple.com>
315
316         Reviewed by darin
317         
318         http://bugzilla.opendarwin.org/show_bug.cgi?id=6989
319         REGRESSION: Plain-text mode needed for contenteditable area used in new text field
320
321         * WebView/WebHTMLView.m:
322         (-[WebHTMLView _canEditRichly]): Added.
323         (-[WebHTMLView _canIncreaseSelectionListLevel]): Use _canEditRichly
324         (-[WebHTMLView _canDecreaseSelectionListLevel]): Ditto.
325         (-[WebHTMLView _increaseSelectionListLevel]):
326         (-[WebHTMLView _decreaseSelectionListLevel]):
327         (-[NSArray validateUserInterfaceItem:]): 
328         Split rich text editing actions off from ones that can be applied anywhere.
329         (-[NSArray _applyStyleToSelection:withUndoAction:]):
330         (-[NSArray _applyParagraphStyleToSelection:withUndoAction:]):
331         (-[NSArray _alignSelectionUsingCSSValue:withUndoAction:]):
332         * WebView/WebHTMLViewPrivate.h:
333
334 2006-03-29  Tim Omernick  <timo@apple.com>
335
336         Reviewed by John Sullivan.
337
338         <rdar://problem/4495316> REGRESSION (420+): After page has loaded, spinning progress indicator is displayed on
339         tab at versiontracker.com
340
341         * WebView/WebFrame.m:
342         (-[WebFrame _receivedMainResourceError:]):
343         Call -_clientRedirectCancelledOrFinished: here so that the frame load delegate is notified that the redirect's
344         status has changed, if there was a redirect.  The frame load delegate may have saved some state about
345         the redirect in its -webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:.  Since we are definitely
346         not going to use this provisional resource, as it was cancelled, notify the frame load delegate that the redirect
347         has ended.
348         The fix for 4432562 was similar to this, but only took care of the case where the redirect load was actually
349         committed to the frame.  The new call to -_clientRedirectCancelledOrFinished: handles the case where the redirect
350         load was successful, but was not committed.  This happens with downloads.
351         
352 2006-03-29  John Sullivan  <sullivan@apple.com>
353
354         Reviewed by Tim Omernick.
355         
356         - fixed these bugs:
357         <rdar://problem/4483806> REGRESSION (417.8-TOT): PDFs don't scale correctly with auto-size (5356)
358         <rdar://problem/3874856> Safari PDF display should be full width by default rather than 
359         sized to show the entire page
360
361         * WebView/WebPDFRepresentation.m:
362         (-[WebPDFRepresentation finishedLoadingWithDataSource:]):
363         Let the WebPDFView handle setting the document, because that's the best time to apply
364         the sizing-related preferences.
365         
366         * WebView/WebPDFView.h:
367         eliminated firstLayoutDone ivar and -PDFSubview public method; added -setPDFDocument:
368         
369         * WebView/WebPDFView.m:
370         (-[WebPDFView initWithFrame:]):
371         eliminate use of obsolete firstLayoutDone ivar
372         (-[WebPDFView _applyPDFDefaults]):
373         renamed from _readPDFDefaults for clarity
374         (-[WebPDFView layout]):
375         removed code that applied the preferences here. This was too early to handle auto-sizing correctly,
376         because -layout can be called before the document exists, and calling setAutoSize:YES at that
377         point confuses PDFView into setting the scale factor to 20 (the maximum).
378         (-[WebPDFView setPDFDocument:]):
379         New method, does what WebPDFRepresentation used to do and also applies the preferences here.
380         This is a good place to apply them because the document is guaranteed to now exist (of course).
381         (-[WebPDFView PDFSubview]):
382         Moved this into a new FileInternal category because it's still needed by another class in
383         this file but no longer needs to be public.
384         
385         * WebView/WebPreferences.m:
386         (+[WebPreferences initialize]):
387         Change WebKitPDFScaleFactorPreferenceKey to 0, which represents auto-size. This fixes 3874856,
388         but wasn't feasible until 4483806 was fixed.
389
390 2006-03-28  Darin Adler  <darin@apple.com>
391
392         Reviewed by Geoff.
393
394         - added a build step that checks for init routines
395
396         * WebKit.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
397         check-for-global-initializers script.
398
399 2006-03-28  Tim Omernick  <timo@apple.com>
400
401         Reviewed by Darin.
402
403         <rdar://problem/3694090> -[WebBaseNetscapePluginView finalize] is incorrect; design change needed
404
405         * Plugins/WebBaseNetscapePluginView.m:
406         (-[WebBaseNetscapePluginView initWithFrame:]):
407         Don't observe preferences changes here -- we only want to observe preferences while the view is 
408         installed in the view hierarchy.  Plugins will appropriately start and stop themselves when added to
409         or removed from a window.
410         (-[WebBaseNetscapePluginView dealloc]):
411         Don't remove observers here -- they should have been removed when the view was removed from its
412         window.
413         (-[WebBaseNetscapePluginView finalize]):
414         ditto
415         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
416         Stop observing preferences when the view is removed from its window.
417         (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
418         Start observing preferences when the view is added to a window.
419
420 2006-03-27  Tim Omernick  <timo@apple.com>
421
422         Reviewed by Eric.
423
424         <rdar://problem/3694090> -[WebBaseNetscapePluginView finalize] is incorrect; design change needed
425
426         * ChangeLog:
427         * Plugins/WebBaseNetscapePluginView.m:
428         (-[WebBaseNetscapePluginView dealloc]):
429         Instead of calling -stop, assert that the plugin is not running.  A plugin view cannot be deallocated
430         until it is removed from its window.  When a plugin view is removed from its window, it calls -stop
431         on itself.  Therefore I believe that this call to -stop is unnecessary; if I'm wrong, then the
432         assertion will help catch any edge cases.
433         (-[WebBaseNetscapePluginView finalize]):
434         ditto
435
436 2006-03-27  Tim Omernick  <timo@apple.com>
437
438         Reviewed by Eric.
439
440         <rdar://problem/3694086> -[WebBaseNetscapePluginStream finalize] is incorrect; design change needed
441
442         * Plugins/WebBaseNetscapePluginStream.m:
443         (-[WebBaseNetscapePluginStream dealloc]):
444         Assert that the stream file path either never existed, or was deleted and NULL-ed out.  The stream file
445         is now deleted immediately after calling NPP_StreamAsFile().
446         (-[WebBaseNetscapePluginStream finalize]):
447         ditto
448         (-[WebBaseNetscapePluginStream _destroyStream]):
449         Delete the file after calling NPP_StreamAsFile(), instead of in -dealloc/-finalize.  It should be OK
450         to delete the file here -- NPP_StreamAsFile() is always called immediately before NPP_DestroyStream()
451         (the stream destruction function), so there can be no expectation that a plugin will read the stream file
452         asynchronously after NPP_StreamAsFile() is called.
453
454 2006-03-27  Tim Omernick  <timo@apple.com>
455
456         Reviewed by Eric.
457
458         <rdar://problem/3694093> -[WebBasePluginPackage finalize] is incorrect; design change needed
459
460         Call -unload on plug-in packages instead of relying on -dealloc/-finalize to do it.  Currently
461         the only place plug-in packages are deallocated is when refreshing the set of plugins, as when
462         handling JavaScript's navigator.plugins.refresh().
463
464         * Plugins/WebBasePluginPackage.m:
465         (-[WebBasePluginPackage dealloc]):
466         Assert that the plug-in has been unloaded by the time -dealloc is called.
467         (-[WebBasePluginPackage finalize]):
468         ditto
469
470         * Plugins/WebPluginDatabase.m:
471         (-[WebPluginDatabase refresh]):
472         Call -unload on the plug-in packages before releasing them.
473
474 2006-03-27  Tim Omernick  <timo@apple.com>
475
476         Reviewed by Tim Hatcher.
477
478         Part of <rdar://problem/4448350> Deprecated ObjC language API used in JavaScriptCore, WebCore,
479         WebKit and WebBrowser
480
481         * Carbon/HIViewAdapter.h:
482         HIViewAdapter is no longer an NSView subclass, since we no longer pose it as NSView.
483         * Carbon/HIViewAdapter.m:
484         (+[NSView bindHIViewToNSView:nsView:]):
485         Replace individual NSView methods instead of posing as NSView.
486         (_webkit_NSView_setNeedsDisplay):
487         Replacement implementation of -[NSView setNeedsDisplay:].
488         (_webkit_NSView_setNeedsDisplayInRect):
489         Replacement implementation of -[NSView setNeedsDisplayInRect:]
490         (_webkit_NSView_nextValidKeyView):
491         Replacement implementation of -[NSView nextValidKeyView]
492
493 2006-03-27  John Sullivan  <sullivan@apple.com>
494
495         Reviewed by Darin Adler.
496         
497         Removed two overzealous assertions that the steps to reproduce 4451831 were running into.
498         Improved comments to match.
499
500         * WebCoreSupport/WebFrameBridge.m:
501         (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
502         Remove assertion that _inNextKeyViewOutsideWebFrameViews should always be false here.
503         
504         * WebView/WebHTMLView.m:
505         (-[NSArray nextValidKeyView]):
506         Removed assertion that the frame should never be the main frame here.
507
508 2006-03-27  Tim Omernick  <timo@apple.com>
509
510         Reviewed by Tim Hatcher.
511
512         Removed tabs & reformatted code.
513         
514         * Carbon/HIViewAdapter.m:
515         (+[NSView bindHIViewToNSView:nsView:]):
516         (+[NSView getHIViewForNSView:]):
517         (+[NSView unbindNSView:]):
518         (-[NSView setNeedsDisplay:]):
519         (-[NSView setNeedsDisplayInRect:]):
520         (-[NSView nextValidKeyView]):
521         (SetViewNeedsDisplay):
522
523 2006-03-26  Justin Garcia  <justin.garcia@apple.com>
524
525         Reviewed by darin
526         
527         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7974>
528         Add EditActions and WebUndoActions for CreateLink and Unlink
529
530         * English.lproj/Localizable.strings:
531         * WebCoreSupport/WebFrameBridge.m:
532         (-[WebFrameBridge nameForUndoAction:]):
533
534 2006-03-23  Tim Omernick  <timo@apple.com>
535
536         Reviewed by John Sullivan.
537
538         At John's suggestion, renamed a private WebFrame method and tightened up some of the redirect logic I recently touched.
539
540         * WebView/WebFramePrivate.h:
541         Renamed -_clientRedirectCancelled: to -_clientRedirectCancelledOrFinished:, since we call this both when a redirect is
542         cancelled and when a redirect is successfully committed.
543         * WebCoreSupport/WebFrameBridge.m:
544         (-[WebFrameBridge reportClientRedirectCancelled:]):
545         Call renamed WebFrame method.
546         * WebView/WebFrame.m:
547         Added sentRedirectNotification flag to WebFramePrivate.  This flag is set when we notify the frame load delegate that a
548         redirect will occur.  We check this flag when committing a provisional load to ensure that the frame load delegate is
549         notified that the redirect finished.
550         (-[WebFrame _commitProvisionalLoad:]):
551         After committing a provisional load, make sure that the frame load delegate is notified that there is no longer a pending
552         redirect.
553         (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
554         Set the new sentRedirectNotification flag.
555         (-[WebFrame _clientRedirectCancelledOrFinished:]):
556         Renamed method.
557         Clear the sentRedirectNotification flag.
558         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
559         Call renamed method.
560
561 2006-03-23  Tim Omernick  <timo@apple.com>
562
563         Reviewed by John Sullivan.
564
565         <rdar://problem/4439752> TinyMCE: "Search in Google" context menu is active but fails to work when selection is active
566         in textarea field.
567
568         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
569         (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
570         Added a representedObject parameter, which is set on the newly created menu item.
571         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
572         Instead of setting the representedObject on each menu item after creating them all, pass the element to
573         -menuItemWithTag:target:representedObject:.
574         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
575         ditto.  This fixes 4439752 because this method failed to set the representedObject on the menu items as
576         -contextMenuItemsForElement:defaultMenuItems: did.
577
578 2006-03-23  Darin Adler  <darin@apple.com>
579
580         Reviewed by Eric.
581
582         - fix <rdar://problem/4380465> repro crash when unsuccessfully attempting to import image from Services menu
583
584         * WebView/WebDataSource.m:
585         (-[WebDataSource _imageElementWithImageResource:]): Quietly do nothing if passed nil.
586         (-[WebDataSource _documentFragmentWithImageResource:]): Ditto.
587
588 2006-03-22  Tim Omernick  <timo@apple.com>
589
590         Reviewed by Kevin Decker.
591
592         Even better fix for <rdar://problem/4432562>.  We need to notify the frame delegate of a finished redirect for both
593         "fast" and "slow" redirects, after committing the load.  My previous change only notified for "fast", history-locking
594         redirects.  Now we notify the frame delegate after committing any kind of provisional load, not just in the case of
595         a fast redirect.
596
597         * WebView/WebFrame.m:
598         (-[WebFrame _transitionToCommitted:]):
599         (-[WebFrame _commitProvisionalLoad:]):
600
601 2006-03-22  Tim Omernick  <timo@apple.com>
602
603         Reviewed by Kevin Decker.
604
605         Better fix for <rdar://problem/4432562> REGRESSION (TOT): Safari's "stop loading" active, "view source" inactive after page load [7058]
606
607         * WebView/WebFrame.m:
608         (-[WebFrame _transitionToCommitted:]):
609         Cancel the client redirect when we commit the provisional load, if we were waiting for a redirect.
610         This is a better fix for 7058 (<rdar://problem/4432562>).  The original fix for 7058 changed the timing of the redirect cancel
611         in such a way that WebKit was precluded from ever reusing back/forward list entries for redirects.  Clearing the redirect state
612         here actually makes logical sense, as the redirect's target page is being committed at this point.
613
614 2006-03-21  Darin Adler  <darin@apple.com>
615
616         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3784
617           <rdar://problem/4483827> JavaScript save dialog disappears right away (sheet triggers blur event) (3784)
618
619         * WebView/WebHTMLView.m:
620         (-[WebHTMLView _updateFocusState]): Treat window as having focus if its sheet is key.
621         (-[WebHTMLView addWindowObservers]): Observe all focus notifications, not just the ones involving this window.
622         (-[WebHTMLView removeWindowObservers]): Ditto.
623         (-[WebHTMLView windowDidBecomeKey:]): Add checks so that we call the methods only when appropriate,
624         since this will now be called for all windows.
625         (-[WebHTMLView windowDidResignKey:]): Ditto.
626
627 2006-03-21  Adele Peterson  <adele@apple.com>
628
629         Reviewed by Darin.
630
631         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6813
632         elementAtPoint needs to return input element when clicking on new text field
633
634         * WebView/WebDocumentInternal.h: Added elementAtPoint:allowShadowContent:
635         * WebView/WebHTMLView.m:
636         (-[NSArray elementAtPoint:]): Does not allow shadow content.  This way, by default, callers would get the input element instead of the inner div.
637         (-[NSArray elementAtPoint:allowShadowContent:]): Allows callers to specify whether or not the element can be a shadow node.
638         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Allows shadow content when getting element.
639         (-[WebHTMLView _mayStartDragAtEventLocation:]): ditto.
640         (-[NSArray _isSelectionEvent:]): ditto.
641         (-[NSArray _canProcessDragWithDraggingInfo:]): ditto.
642         * WebView/WebFrame.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Does not allow shadow content when getting element.
643         * WebView/WebImageView.m: (-[WebImageView elementAtPoint:allowShadowContent:]): Added to conform to the WebDocumentElement protocol.
644         * WebView/WebPDFView.m: (-[WebPDFView elementAtPoint:allowShadowContent:]): ditto.
645         * WebView/WebTextView.m: (-[WebTextView elementAtPoint:allowShadowContent:]): ditto.
646
647 2006-03-21  Tim Omernick  <timo@apple.com>
648
649         Reviewed by Tim Hatcher and Darin.
650
651         <rdar://problem/4427068> LMGetCurApRefNum, CloseConnection and GetDiskFragment deprecated, used in Netscape
652         plugin code
653
654         * Plugins/WebNetscapeDeprecatedFunctions.h: Added.
655         * Plugins/WebNetscapeDeprecatedFunctions.c: Added.
656         Added wrappers for deprecated CFM and LowMem functions.  These exist in a separate file so that we can set
657         -Wno-deprecated-declarations on this one file without ignoring other deprecated function usage elsewhere.
658         (WebGetDiskFragment):
659         (WebCloseConnection):
660         (WebLMGetCurApRefNum):
661         (WebLMSetCurApRefNum):
662
663         * Plugins/WebNetscapePluginPackage.h:
664         Don't include connID ivar in 64-bit, since CFM is not supported in 64-bit.
665         * Plugins/WebNetscapePluginPackage.m:
666         (+[WebNetscapePluginPackage initialize]):
667         Don't bother setting the resource refNum in 64-bit, because the API to get and set it does not exist.
668         A theoretical 64-bit plugin couldn't possibly rely this, since there is no API.
669         (-[WebNetscapePluginPackage unloadWithoutShutdown]):
670         No need to close the connID in 64-bit.
671         (-[WebNetscapePluginPackage load]):
672         Don't load CFM bundles in 64-bit, because CFM is not supported.
673
674         * WebKit.xcodeproj/project.pbxproj:
675         Added WebNetscapeDeprecatedFunctions.[hm].
676
677 2006-03-21  John Sullivan  <sullivan@apple.com>
678
679         Reviewed by Kevin Decker.
680         
681         - fixed <rdar://problem/4485637> Implementors of searchFor:direction:caseSensitive:wrap: should bail 
682         out early if search string is empty
683         
684         This doesn't change any existing behavior, but avoids unnecessary work.
685
686         * Misc/WebSearchableTextView.m:
687         (-[WebSearchableTextView searchFor:direction:caseSensitive:wrap:]):
688         bail out immediately (returning NO) if search string is empty
689         
690         * WebView/WebHTMLView.m:
691         (-[WebView searchFor:direction:caseSensitive:wrap:]):
692         ditto
693         
694         * WebView/WebPDFView.m:
695         (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
696         ditto
697         
698         * WebView/WebView.m:
699         (-[WebView searchFor:direction:caseSensitive:wrap:]):
700         ditto
701
702 2006-03-20  Tim Omernick  <timo@apple.com>
703
704         Reviewed by John Sullivan.
705
706         Moved -_contentView from WebFrameViewInternal to WebFrameViewPrivate.  Safari
707         needs this.
708
709         * WebView/WebFrameView.m:
710         (-[WebFrameView _contentView]):
711         * WebView/WebFrameViewInternal.h:
712         * WebView/WebFrameViewPrivate.h:
713
714 2006-03-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
715
716         Reviewed by Darin, landed by Beth.
717
718         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7693
719           WebKit relies on unpredictable timing for onload events
720
721         * WebView/WebDataSource.m:
722         (-[WebDataSource _receivedMainResourceError:complete:]): Check for 
723         completion on the WebCore side before checking on the WebKit side, 
724         to ensure that the onload event is emitted before the WebFrame load 
725         delegate is sent the webView:didFinishLoadForFrame: message. For 
726         DumpRenderTree, this ensures that the render tree is dumped after 
727         the onload handler is run.
728         * WebView/WebLoader.m:
729         (-[NSURLProtocol didFailWithError:]): If load has already been 
730         cancelled (which could happen if the parent's onload handler caused 
731         the frame to detach), do nothing.
732
733 2006-03-17  John Sullivan  <sullivan@apple.com>
734
735         Reviewed by Beth Dakin
736         
737         - fixed <rdar://problem/4239051> Sometimes "Copy Link" in Safari results in a 
738         URL on the pasteboard with no usable "title"
739
740         * History/WebURLsWithTitles.m:
741         (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]):
742         trim whitespace from titles that are put on pasteboard. This leaves an empty string
743         for the title in cases where there's no displayed text, like an image in an <a> element
744         that happens to have whitespace in the source, e.g. <a href="foo"> <img whatever></a>
745
746 2006-03-17  Darin Adler  <darin@apple.com>
747
748         - missing bit of my check-in yesterday
749
750         Maciej moved setWindowFrame for me, but I also had removed
751         setWindowContentRect.
752
753         * WebCoreSupport/WebFrameBridge.m: Removed unused setWindowContextRect and
754         windowContentRect methods.
755
756 2006-03-17  Adele Peterson  <adele@apple.com>
757
758         Reviewed by Hyatt.
759
760         WebKit part of fix for:
761         http://bugzilla.opendarwin.org/show_bug.cgi?id=7797 
762         Can't set background color on new text fields
763
764         Added function to draw bezeled text field without drawing background.
765
766         * WebCoreSupport/WebGraphicsBridge.m:
767         (-[WebGraphicsBridge drawBezeledTextFieldCell:enabled:]): Added.
768
769 2006-03-16  Maciej Stachowiak  <mjs@apple.com>
770
771         Reviewed by Eric.
772         
773         - move setWindowFrame / windowFrame to WebPageBridge to fix build
774
775         * WebCoreSupport/WebFrameBridge.m:
776         * WebCoreSupport/WebPageBridge.m:
777         (-[WebPageBridge setWindowFrame:]):
778         (-[WebPageBridge windowFrame]):
779
780 2006-03-15  Darin Adler  <darin@apple.com>
781
782         Fix by Patrick Beard, reviewed by me.
783
784         - fix <rdar://problem/4478181> WebPluginController leaks NSArray and NSMutableSet objects
785
786         * Plugins/WebPluginController.m:
787         (-[WebPluginController initWithDocumentView:]): Call CFMakeCollectable on the CFSet
788         so we can act like it's an NSSet.
789         (-[WebPluginController dealloc]): Release _views and _checksInProgress.
790
791 2006-03-13  Tim Omernick  <timo@apple.com>
792
793         Reviewed by Maciej.
794
795         <rdar://problem/4476873> Support printing for plugin documents (not embedded plugins)
796
797         * WebView/WebFrameViewPrivate.h:
798         * WebView/WebFrameView.m:
799         (-[WebFrameView documentViewShouldHandlePrint]):
800         Called by the host application before it initializes and runs a print operation.  If NO
801         is returned, the host application will abort its print operation and call
802         -printDocumentView on the WebFrameView.  The document view is then expected to run its
803         own print operation.  If YES is returned, the host application's print operation will
804         continue as normal.
805         (-[WebFrameView printDocumentView]):
806         Called by the host application when the WebFrameView returns YES from -documentViewShouldHandlePrint.
807
808         * Plugins/WebNetscapePluginDocumentView.m:
809         (-[WebNetscapePluginDocumentView documentViewShouldHandlePrint]):
810         Allow the plugin to take over printing if it defines an NPP_Print function
811         (-[WebNetscapePluginDocumentView printDocumentView]):
812         Print the plugin document.
813
814 2006-03-13  Geoffrey Garen  <ggaren@apple.com>
815
816         Reviewed by timo.
817
818         - Fixed the load progress indicator to give more incremental feedback, 
819         and to stop spending so much time near 100%.
820
821         I did two things:
822         (1) Fixed some bugs and a misspelling in the previous heuristic's 
823         implementation
824         (2) Added two new rules to the heuristic:
825             (a) Treat the first layout as the half-way point.
826             (b) Just like we jump the first 10% to indicate that a load has
827             started, jump the last 10% to indicate that a load has finished.
828
829         Rule 2a is good for two reasons. First, it seems unnatural for loading
830         to be "more than half done" when you can't even see anything. Second,
831         in the early stages of laading our estimate of how much we'll need to
832         load is often off by as much as 6000% (e.g., cnn.com). So anything that
833         makes the progress indicator more conservative in the early stages of 
834         loading is helpful.
835
836         Rule 2b is good because it's confusing for loading to be "100% done"
837         but still ongoing.
838
839         FIXME: The indicator still isn't perfect. For example, the old behavior
840         shows up @ moviefone.com. Two areas for future work:
841         (1) Estimate number of linked resources. Our code estimates the size
842         of a single resource, but does nothing to estimate the number of
843         resources that resource might link to. This is the key to why we're
844         so wrong at the beginning.
845         (2) Improve "when to do first layout" heuristic. A JavaScript query
846         for a style property forces layout, creating a phantom first layout 
847         with no content, essentially nullifying 2a for certain pages.
848         
849         Filed <rdar://problem/4475834> to track estimating the number of 
850         linked resources. Phantom layouts are already on Hyatt's radar.
851
852         * WebView/WebFrame.m:
853         (-[WebFrame _setState:]): Update firstLayoutDone
854         (-[WebFrame _numPendingOrLoadingRequests:]): Bug fix: In the recurisve 
855         case, query 'frame' instead of 'self', so that we actually recurse.
856         (-[WebFrame _firstLayoutDone]): New method
857         (-[WebFrame _didFirstLayout]): Update firstLayoutDone
858         * WebView/WebFramePrivate.h: Added firstLayoutDone ivar
859         * WebView/WebView.m:
860         (-[WebView _incrementProgressForConnectionDelegate:data:]):
861         (1) Implemented 2a and 2b
862         (2) Bug fix: only update the 'last time I sent a notification' time if 
863         we actually send a notification.
864         (3) Don't test for progress < 0 because ensuring progress < max
865         also ensures max - progress > 0. (Do still test for progress > max 
866         because rounding errors make that a possibility -- although a very 
867         minor one.)
868         (4) Query only the loading frame and its subframes for pending
869         requests instead of defaulting to the main frame. This is a slight
870         optimization in cases where the main frame did not begin the load,
871         and it makes the code more consistent.
872
873 2006-03-13  John Sullivan  <sullivan@apple.com>
874
875         Reviewed by Tim Omernick.
876         
877         - fixed <rdar://problem/4475857> API: Setting a history item limit programmatically doesn't work
878
879         * History/WebHistory.m:
880         (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
881         use [self historyItemLimit], which prefers the explicitly-set value and falls back to the
882         NSUserDefaults value, instead of using the NSUserDefaults value explicitly.
883
884 2006-03-10  Darin Adler  <darin@apple.com>
885
886         Reviewed by Adele.
887
888         * WebCoreSupport/WebFrameBridge.m: Remove unused requestedURLString method.
889
890 2006-03-10  Darin Adler  <darin@apple.com>
891
892         Reviewed by Geoff.
893
894         - change how frame namespacing works to be more completely on the WebCore side
895
896         * WebView/WebFrameInternal.h: Remove _setFrameNamespace: and _frameNamespace.
897         * WebView/WebFrame.m: Ditto.
898
899         * WebView/WebView.m:
900         (-[WebView setGroupName:]): Call -[WebCorePageBridge setGroupName:].
901         (-[WebView groupName]): Call -[WebCorePageBridge groupName].
902
903 2006-03-09  Alexey Proskuryakov  <ap@nypop.com>
904
905         Reviewed by Darin.
906
907         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7656
908          Query string always appended to Flash URLs, instead of being replaced.
909
910         * Misc/WebNSURLExtras.h: Added _webkit_URLByRemovingResourceSpecifier.
911         * Misc/WebNSURLExtras.m:
912         (+[NSURL _web_URLWithData:relativeToURL:]): Call _webkit_URLByRemovingResourceSpecifier to
913         work around CFURL not removing non-path components from base URLs in some cases.
914         (-[NSURL _webkit_URLByRemovingComponent:]): New generic function for removing URL components.
915         (-[NSURL _webkit_URLByRemovingFragment]): Moved implementation to the above method.
916         (-[NSURL _webkit_URLByRemovingResourceSpecifier]): Added.
917
918 2006-03-07  Darin Adler  <darin@apple.com>
919
920         Reviewed by Anders.
921
922         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7655
923           unwanted output while running layout tests
924
925         * WebView/WebDataSourcePrivate.h:
926         * WebView/WebDataSource.m:
927         (-[WebDataSource _setRepresentation:]): Clear the flag that records whether we've sent
928         all the data to the representation or not; need this to prevent telling the same representation
929         both that we've succeeded and then later that we've failed.
930         (-[WebDataSource _setMainDocumentError:]): Don't send an error if representationFinishedLoading
931         is already YES. Set representationFinishedLoading.
932         (-[WebDataSource _finishedLoading]): Set representationFinishedLoading.
933         (-[WebDataSource _setupForReplaceByMIMEType:]): Ditto.
934
935 2006-03-06  Tim Omernick  <timo@apple.com>
936
937         Reviewed by Kevin Decker.
938
939         <rdar://problem/4457574> assertion failure watching trailers at netflix.com -[WebNetscapePluginRepresentation
940         receivedData:withDataSource:] + 684
941
942         * Plugins/WebNetscapePluginRepresentation.m:
943         (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
944         Moved the ASSERT(instance) to the block that actually requires an assertion -- the plugin view should never
945         have a NULL instance by the time we start the NPStream (by calling -startStreamWithResponse:).
946         Some stream teardown logic changed with my fix to 4153419: when a WebBaseNetscapePluginStream is destroyed,
947         it now clears its NPP instance backpointer.  The WebBaseNetscapePluginStream may be destroyed from within
948         -startStreamWithResponse: if NPP_NewStream() returns an error.  We can handle this gracefully by changing
949         the assertion before -receivedData: to a simple NULL check.
950         This is unrelated to the Radar, but prior to this fix, we would attempt an NPP_Write() with the initial
951         stream data even if NPP_NewStream() returned an error.  Seems like that alone could cause issues, though
952         I'm guessing that plugins handle this in practice.
953
954 2006-03-03  Timothy Hatcher  <timothy@apple.com>
955
956         Reviewed by Darin.
957         
958         <rdar://problem/4411822> wrong element shown in Inspector inspecting main image at apple.com
959         <rdar://problem/4411908> in the Web Inspector, state of disclosure triangles should be preserved after search
960         http://bugzilla.opendarwin.org/show_bug.cgi?id=6616
961         Bug 6616: Double-clicking on a search result seems broken
962         http://bugzilla.opendarwin.org/show_bug.cgi?id=6709
963         Bug 6709: TypeError: Value undefined (result of expression treeScrollbar.refresh) is not object.
964
965         Code clean up and move more code into JavaScript.
966         Removes a few unused ObjC methods.
967         Many search fixes. Reveals the focused node when exiting the search.
968         Shows a "No Selection" screen when there are no search results.
969         Shows a node count for the number of results.
970         Fixes a couple of TypeErrors that show on the console.
971         Uses the system selection color in the Style pane tables.
972
973         * English.lproj/Localizable.strings: removed localized strings
974         * WebInspector.subproj/WebInspector.m:
975         (-[WebInspector init]):
976         (-[WebInspector dealloc]):
977         (-[WebInspector window]):
978         (-[WebInspector setSearchQuery:]):
979         (-[WebInspector resizeTopArea]):
980         (-[WebInspector searchPerformed:]): called from JavaScript when a search happens
981         (-[WebInspector _toggleIgnoreWhitespace:]):
982         (-[WebInspector _exitSearch:]): exit search results on double click
983         (-[WebInspector _focusRootNode:]):
984         (-[WebInspector _revealAndSelectNodeInTree:]):
985         (-[WebInspector _refreshSearch]):
986         (-[WebInspector _update]):
987         (-[WebInspector _updateTraversalButtons]):
988         (-[WebInspector _updateRoot]):
989         (-[WebInspector _updateTreeScrollbar]):
990         (-[WebInspector _updateSystemColors]): update CSS with system colors
991         (-[WebInspector webView:didFinishLoadForFrame:]):
992         (-[WebInspector webView:plugInViewWithArguments:]):
993         (-[WebInspector outlineViewSelectionDidChange:]): test for webViewLoaded
994         (-[WebInspectorPrivate init]): alloc rightArrowImage and downArrowImage
995         (-[WebInspectorPrivate dealloc]): no more matchedRules
996         (-[DOMNode _displayName]): removed localization UI_STRING calls.
997         * WebInspector.subproj/WebInspectorInternal.h:
998         * WebInspector.subproj/webInspector/inspector.css:
999         * WebInspector.subproj/webInspector/inspector.html:
1000         * WebInspector.subproj/webInspector/inspector.js:
1001
1002 2006-03-02  Alexey Proskuryakov  <ap@nypop.com>
1003
1004         Fixed a typo in the comments added in the previous checkin.
1005
1006         * WebCoreSupport/WebFrameBridge.m:
1007         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1008         * WebCoreSupport/WebSubresourceLoader.m:
1009         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
1010         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
1011
1012 2006-03-02  Alexey Proskuryakov  <ap@nypop.com>
1013
1014         Reviewed by Darin.
1015
1016         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7540
1017           REGRESSION: frequent cache-related crashes
1018
1019         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7393
1020           A stale comment about XMLHttpRequest responses being never cached
1021
1022         * WebCoreSupport/WebFrameBridge.m: Don't call setHTTPHeader if the method is GET.
1023         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1024         * WebCoreSupport/WebSubresourceLoader.m: Ditto. Also removed a stale comment about
1025         XMLHTTPRequests.
1026         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
1027         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
1028
1029 2006-02-23  David Harrison  <harrison@apple.com>
1030
1031         Reviewed by Justin.
1032
1033         <rdar://problem/4359736> Support outlining ability with lists
1034
1035         Added Mail SPI for list level changes.  It is SPI because it is not complete support
1036         for outlining.  See <rdar://problem/4457070> "API for html lists as note outlines".
1037         
1038         * WebView/WebHTMLView.m:
1039         (-[WebHTMLView _canIncreaseSelectionListLevel]):
1040         (-[WebHTMLView _canDecreaseSelectionListLevel]):
1041         (-[WebHTMLView _increaseSelectionListLevel]):
1042         (-[WebHTMLView _decreaseSelectionListLevel]):
1043         * WebView/WebHTMLViewPrivate.h:
1044
1045 2006-03-01  Alexey Proskuryakov  <ap@nypop.com>
1046
1047         Reviewed by Darin.
1048
1049         - http://bugzilla.opendarwin.org/show_bug.cgi?id=3812
1050           XMLHttpRequest: PUT, DELETE, HEAD and all other methods but POST actually do a GET.
1051
1052         All WebKit changes are to use the method parameter passed from WebCore.
1053
1054         * WebCoreSupport/WebFrameBridge.m:
1055         (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
1056         (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
1057         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1058         * WebCoreSupport/WebSubresourceLoader.h:
1059         * WebCoreSupport/WebSubresourceLoader.m:
1060         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
1061         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
1062
1063 2006-03-01  Timothy Hatcher  <timothy@apple.com>
1064
1065         Reviewed by Darin.
1066
1067         http://bugzilla.opendarwin.org/show_bug.cgi?id=7450
1068         elementAtPoint is expensive and should return a smart dictionary
1069         
1070         <rdar://problem/2952761> moving the mouse around eats more CPU than I would expect (7450)
1071         
1072         elementAtPoint for WebHTMLView now returns a WebElementDictionary,
1073         when objectForKey is called it will lookup in the DOM, cache and return the value
1074
1075         * Misc/WebElementDictionary.h: Added.
1076         * Misc/WebElementDictionary.m: Added.
1077         (addLookupKey):
1078         (cacheValueForKey):
1079         (+[WebElementDictionary initializeLookupTable]):
1080         (-[WebElementDictionary initWithInnerNonSharedNode:innerNode:URLElement:andPoint:]):
1081         (-[WebElementDictionary dealloc]):
1082         (-[WebElementDictionary _fillCache]):
1083         (-[WebElementDictionary count]):
1084         (-[WebElementDictionary keyEnumerator]):
1085         (-[WebElementDictionary objectForKey:]):
1086         (-[WebElementDictionary _domNode]):
1087         (-[WebElementDictionary _webFrame]):
1088         (-[WebElementDictionary _targetWebFrame]):
1089         (-[WebElementDictionary _title]):
1090         (-[WebElementDictionary _imageRect]):
1091         (-[WebElementDictionary _isSelected]):
1092         * Misc/WebNSViewExtras.m:
1093         (-[NSView _web_dragImage:element:rect:event:pasteboard:source:offset:]):
1094         * WebKit.xcodeproj/project.pbxproj:
1095         * WebView/WebHTMLView.m:
1096         (-[WebHTMLView _updateMouseoverWithEvent:]):
1097         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
1098         (-[NSArray elementAtPoint:]):
1099         * WebView/WebView.m:
1100         * WebView/WebViewPrivate.h:
1101
1102 2006-02-28  Darin Adler  <darin@apple.com>
1103
1104         Reviewed by Adele.
1105
1106         - remove obsolete WebCoreScrollView class
1107
1108         * WebView/WebDynamicScrollBarsView.h: Change base class to NSScrollView instead of WebCoreScrollView.
1109         * WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView autoforwardsScrollWheelEvents]): Added.
1110
1111 2006-02-28  John Sullivan  <sullivan@apple.com>
1112
1113         Reviewed by Eric Seidel
1114         
1115         Wean WebKit from one more SPI call. We learned about this new-to-Tiger
1116         API from filing Radar 4433222.
1117
1118         * WebView/WebHTMLView.m:
1119         (-[WebHTMLView _autoscroll]):
1120         use public CGEventSourceButtonState() instead of WKMouseIsDown() (which was using SPI internally)
1121
1122 2006-02-27  Tim Omernick  <timo@apple.com>
1123
1124         Reviewed by Adele.
1125
1126         <rdar://problem/4222043> Safari should reduce null events sent to invisible plugins
1127
1128         * Plugins/WebBaseNetscapePluginView.h:
1129         * Plugins/WebBaseNetscapePluginView.m:
1130         (-[WebBaseNetscapePluginView restartNullEvents]):
1131         Check to see if the plugin view is completely obscured (scrolled out of view, for example).  If it is
1132         obscured and it wasn't before, or the other way around, then restart the null event timer so it can
1133         fire at the appropriate rate.
1134         (-[WebBaseNetscapePluginView viewHasMoved:]):
1135         If a plugin is obscured, send it null events as if it were in an inactive window.
1136
1137 2006-02-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1138
1139         Test: fast/frames/empty-frame-document.html
1140
1141         Reviewed by Darin.
1142
1143         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7293
1144           REGRESSION: Using Javascript Bookmarklets that reference location.href on a blank tab crashes WebKit
1145
1146         The crash happened because an empty frame did not have a document.
1147
1148         * WebView/WebFrame.m:
1149         (-[WebFrame _commitProvisionalLoad:]): Use "about:blank" instead of an empty URL for empty
1150         frames. This causes a document to be created for the frame.
1151
1152 2006-02-21  Kevin Decker  <kdecker@apple.com>
1153
1154         Reviewed by Darin.
1155
1156         Backed out my previous check in. Since these methods are internal to WebKit (and not private)
1157         it's perfectly OK for them to remain as categories. 
1158         * ChangeLog:
1159         * WebView/WebPreferences.m:
1160         (-[WebPreferences _integerValueForKey:]):
1161         (-[WebPreferences _setIntegerValue:forKey:]):
1162         (-[WebPreferences _floatValueForKey:]):
1163         (-[WebPreferences _setFloatValue:forKey:]):
1164         (-[WebPreferences _boolValueForKey:]):
1165         (-[WebPreferences _setBoolValue:forKey:]):
1166         * WebView/WebPreferencesPrivate.h:
1167
1168 2006-02-20  Darin Adler  <darin@apple.com>
1169
1170         Collaborated with Graham Dennis <Graham.Dennis@gmail.com> on this.
1171
1172         - WebKit part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6831
1173           contentEditable outline darkens as caret moves
1174
1175         * WebCoreSupport/WebGraphicsBridge.m:
1176         (-[WebGraphicsBridge drawFocusRingWithPath:radius:color:]):
1177         Replaced the old bridge function that set up style with this one that renders a path.
1178
1179 2006-02-19  Darin Adler  <darin@apple.com>
1180
1181         Reviewed by Maciej.
1182
1183         - cut out a little unneeded bridge code
1184
1185         * WebCoreSupport/WebFrameBridge.m:
1186         (-[WebFrameBridge webView]): Added. Helper, since the WebCore side of the bridge no longer
1187         has this method.
1188         (-[WebFrameBridge createWindowWithURL:]): Removed the frameName parameter -- this is now
1189         handled on the WebCore side. Also return a page bridge instead of a frame bridge.
1190         (-[WebFrameBridge createModalDialogWithURL:]): Changed to return a page bridge instead of
1191         a frame bridge.
1192
1193         * WebView/WebFrame.m: (-[WebFrame webView]): Change to get the webView from the page bridge
1194         instead of the frame bridge, since it's a per-page thing.
1195
1196         * WebView/WebView.m: Removed init method since it just does what the default does (calls
1197         initWithFrame: with a zero rect).
1198         (-[WebView initWithCoder:]): Added checking so that if the obejcts have the wrong type
1199         we will fail gracefully instead of hitting "method not found" and the like.
1200         (-[WebView setPreferencesIdentifier:]): Fix storage leak. The WebPreferences object was
1201         not released.
1202         (-[WebView mainFrame]): Removed excess "return nil".
1203         (-[WebView _pageBridge]): Added. Helper to let you go from the WebView to the bridge
1204         from outside the WebView class.
1205         * WebView/WebViewInternal.h: Put _pageBridge into an internal header.
1206
1207         * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge outerView]): Added. Replaces "webView"
1208         as public method to tell the WebCore side about the view everything's embedded in.
1209
1210         - other cleanup
1211
1212         * WebCoreSupport/WebPageBridge.h: Removed some unneeded declarations.
1213
1214         * Plugins/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]):
1215         Rearrange code so it doesn't have to get the main frame twice.
1216
1217 2006-02-18  Maciej Stachowiak  <mjs@apple.com>
1218
1219         Not reviewed.
1220         
1221         - fix build broken by my last checkin, the remaining code was not doing anything.
1222
1223         * WebView/WebDataSource.m:
1224         * WebView/WebDataSourcePrivate.h:
1225         * WebView/WebFrame.m:
1226         (-[WebFrame _createPageCacheForItem:]):
1227
1228 2006-02-16  Maciej Stachowiak  <mjs@apple.com>
1229
1230         Reviewed by Darin.
1231         
1232         - removed a few unused fields and methods of WebDataSource
1233
1234         * WebView/WebDataSource.m:
1235         * WebView/WebDataSourcePrivate.h:
1236         * WebView/WebView.m:
1237         (+[WebView _MIMETypeForFile:]):
1238         (-[WebView _updateWebCoreSettingsFromPreferences:]):
1239
1240 2006-02-15  Justin Garcia  <justin.garcia@apple.com>
1241
1242         Reviewed by darin
1243         
1244         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7148>
1245         Add drag and drop support to DumpRenderTree
1246         
1247         Added a UI delegate method so that DumpRenderTree can perform dragging on its own.
1248         Made _updateFocusState SPI, to allow us to test the behavior and appearance of
1249         windows that have or don't have focus.
1250
1251         * WebView/WebHTMLView.m:
1252         (-[WebHTMLView _updateFocusState]):
1253         (-[NSArray viewDidMoveToWindow]):
1254         (-[NSArray windowDidBecomeKey:]):
1255         (-[NSArray windowDidResignKey:]):
1256         (-[NSArray dragImage:at:offset:event:pasteboard:source:slideBack:]):
1257         (-[NSArray becomeFirstResponder]):
1258         (-[NSArray resignFirstResponder]):
1259         (-[WebHTMLView _formControlIsResigningFirstResponder:]):
1260         * WebView/WebHTMLViewInternal.h:
1261         * WebView/WebHTMLViewPrivate.h:
1262         * WebView/WebUIDelegatePrivate.h:
1263         * WebView/WebView.m:
1264
1265 2006-02-15  Darin Adler  <darin@apple.com>
1266
1267         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
1268
1269 2006-02-15  Maciej Stachowiak  <mjs@apple.com>
1270
1271         Rubber stamped by Anders.
1272
1273         * WebView/WebControllerPolicyHandlerDelegate.h: Removed.
1274
1275 2006-02-15  Maciej Stachowiak  <mjs@apple.com>
1276
1277         Reviewed by Anders.
1278         
1279         - remove some voodoo code
1280
1281         * WebView/WebDataSource.m:
1282         (-[WebDataSource _setLoading:]): Removed useless ref/deref of self and WebView.
1283         A WebDataSource cannot be loading unless it is still connected to the WebView that
1284         owns it and retained by it, because getting disconnected stops loading.
1285
1286 2006-02-13  Maciej Stachowiak  <mjs@apple.com>
1287
1288         Reviewed by Anders.
1289         
1290         Improvements to frame loading:
1291         
1292         - remove LayoutAcceptable state entirely
1293         - fix WebImageView to work right without LayoutAcceptable state
1294         - move guts of commitIfReady: to WebFrame
1295         - try to separate page cache loading from normal loading a bit more
1296
1297         * English.lproj/StringsNotToBeLocalized.txt:
1298         * WebView/WebDataSource.m:
1299         (-[WebDataSource _prepareForLoadStart]):
1300         (-[WebDataSource _loadFromPageCache:]):
1301         (-[WebDataSource _startLoading]):
1302         (-[WebDataSource _commitIfReady]):
1303         (-[WebDataSource _setupForReplaceByMIMEType:]):
1304         * WebView/WebDataSourcePrivate.h:
1305         * WebView/WebFrame.m:
1306         (-[WebFrame _transitionToCommitted:]):
1307         (-[WebFrame _commitProvisionalLoad:]):
1308         (-[WebFrame _checkLoadCompleteForThisFrame]):
1309         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
1310         * WebView/WebFramePrivate.h:
1311         * WebView/WebImageRepresentation.h:
1312         * WebView/WebImageRepresentation.m:
1313         * WebView/WebImageView.m:
1314         (-[WebImageView dataSourceUpdated:]):
1315         (-[WebImageView setNeedsLayout:]):
1316         (-[WebImageView writeImageToPasteboard:types:]):
1317         (-[WebImageView copy:]):
1318         (-[WebImageView mouseDragged:]):
1319         * WebView/WebView.m:
1320         (-[WebView _finishedLoadingResourceFromDataSource:]):
1321         (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]):
1322
1323 2006-02-13  John Sullivan  <sullivan@apple.com>
1324
1325         Reviewed by Tim Omernick.
1326
1327         Support for highlighting multiple text matches.
1328
1329         * WebView/WebHTMLViewPrivate.h:
1330         * WebView/WebHTMLView.m:
1331         (-[WebHTMLView highlightAllMatchesForString:caseSensitive:]):
1332         new method, calls through to bridge
1333         (-[WebHTMLView clearHighlightedMatches]):
1334         ditto
1335
1336         * WebView/WebViewPrivate.h:
1337         * WebView/WebView.m:
1338         (-[WebView highlightAllMatchesForString:caseSensitive:]):
1339         new method, calls through to documentView. For now this is hardwired to only work
1340         with WebHTMLViews.
1341         (-[WebView clearHighlightedMatches]):
1342         ditto
1343
1344 2006-02-13  Darin Adler  <darin@apple.com>
1345
1346         Reviewed by Maciej.
1347
1348         - move pointer from frame to page over to WebCore
1349
1350         * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge initWithMainFrameName:webView:frameView:]):
1351         Call super init to create the page before creating the main frame and calling setMainFrame: with it.
1352
1353         * WebCoreSupport/WebFrameBridge.h: Remove page pointer, and change init function parameters.
1354         * WebCoreSupport/WebFrameBridge.m:
1355         (-[WebFrameBridge initMainFrameWithPage:frameName:view:]): New function that is used only for
1356         the main frame. Passes the page over to the other side of the bridge.
1357         (-[WebFrameBridge initSubframeWithRenderer:frameName:view:]): New function that is used only for
1358         subframes. Passes the renderer over to the other side of the bridge.
1359         (-[WebFrameBridge mainFrame]):
1360         (-[WebFrameBridge webView]):
1361         (-[WebFrameBridge createWindowWithURL:frameName:]):
1362         (-[WebFrameBridge showWindow]):
1363         (-[WebFrameBridge areToolbarsVisible]):
1364         (-[WebFrameBridge setToolbarsVisible:]):
1365         (-[WebFrameBridge isStatusbarVisible]):
1366         (-[WebFrameBridge setStatusbarVisible:]):
1367         (-[WebFrameBridge setWindowFrame:]):
1368         (-[WebFrameBridge windowFrame]):
1369         (-[WebFrameBridge setWindowContentRect:]):
1370         (-[WebFrameBridge windowContentRect]):
1371         (-[WebFrameBridge setWindowIsResizable:]):
1372         (-[WebFrameBridge windowIsResizable]):
1373         (-[WebFrameBridge firstResponder]):
1374         (-[WebFrameBridge makeFirstResponder:]):
1375         (-[WebFrameBridge closeWindowSoon]):
1376         (-[WebFrameBridge runJavaScriptAlertPanelWithMessage:]):
1377         (-[WebFrameBridge runJavaScriptConfirmPanelWithMessage:]):
1378         (-[WebFrameBridge canRunBeforeUnloadConfirmPanel]):
1379         (-[WebFrameBridge runBeforeUnloadConfirmPanelWithMessage:]):
1380         (-[WebFrameBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
1381         (-[WebFrameBridge addMessageToConsole:]):
1382         (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
1383         (-[WebFrameBridge setStatusText:]):
1384         (-[WebFrameBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1385         (-[WebFrameBridge focusWindow]):
1386         (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
1387         (-[WebFrameBridge userAgentForURL:]):
1388         (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
1389         (-[WebFrameBridge previousKeyViewOutsideWebFrameViews]):
1390         (-[WebFrameBridge defersLoading]):
1391         (-[WebFrameBridge setDefersLoading:]):
1392         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
1393         (-[WebFrameBridge _preferences]):
1394         (-[WebFrameBridge selectWordBeforeMenuEvent]):
1395         (-[WebFrameBridge historyLength]):
1396         (-[WebFrameBridge canGoBackOrForward:]):
1397         (-[WebFrameBridge goBackOrForward:]):
1398         (-[WebFrameBridge print]):
1399         (-[WebFrameBridge pollForAppletInView:]):
1400         (-[WebFrameBridge respondToChangedContents]):
1401         (-[WebFrameBridge respondToChangedSelection]):
1402         (-[WebFrameBridge undoManager]):
1403         (-[WebFrameBridge issueCutCommand]):
1404         (-[WebFrameBridge issueCopyCommand]):
1405         (-[WebFrameBridge issuePasteCommand]):
1406         (-[WebFrameBridge issuePasteAndMatchStyleCommand]):
1407         (-[WebFrameBridge canPaste]):
1408         (-[WebFrameBridge overrideMediaType]):
1409         (-[WebFrameBridge isEditable]):
1410         (-[WebFrameBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
1411         (-[WebFrameBridge shouldBeginEditing:]):
1412         (-[WebFrameBridge shouldEndEditing:]):
1413         (-[WebFrameBridge windowObjectCleared]):
1414         (-[WebFrameBridge spellCheckerDocumentTag]):
1415         (-[WebFrameBridge isContinuousSpellCheckingEnabled]):
1416         (-[WebFrameBridge didFirstLayout]):
1417         (-[WebFrameBridge dashboardRegionsChanged:]):
1418         (-[WebFrameBridge createModalDialogWithURL:]):
1419         (-[WebFrameBridge canRunModal]):
1420         (-[WebFrameBridge runModal]):
1421         Change all calls to [_page webView] to use [self webView] instead.
1422
1423 === WebKit-521.7
1424
1425 2006-02-11  Maciej Stachowiak  <mjs@apple.com>
1426
1427         Reviewed by Hyatt.
1428         
1429         - factor WebArchive creation code out of other classes into new WebArchiver
1430         http://bugzilla.opendarwin.org/show_bug.cgi?id=7208
1431
1432         * DOM/WebDOMOperations.m:
1433         (-[DOMNode webArchive]):
1434         (-[DOMRange webArchive]):
1435         * WebKit.xcodeproj/project.pbxproj:
1436         * WebView/WebArchiver.h: Added.
1437         * WebView/WebArchiver.m: Added.
1438         (+[WebArchiver _subframeArchivesForFrame:]):
1439         (+[WebArchiver archiveFrame:]):
1440         (+[WebArchiver _archiveCurrentStateForFrame:]):
1441         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
1442         (+[WebArchiver archiveRange:]):
1443         (+[WebArchiver archiveNode:]):
1444         (+[WebArchiver archiveSelectionInFrame:]):
1445         * WebView/WebDataSource.m:
1446         (-[WebDataSource webArchive]):
1447         * WebView/WebDataSourcePrivate.h:
1448         * WebView/WebHTMLView.m:
1449         (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
1450         (-[WebHTMLView _writeSelectionToPasteboard:]):
1451         * WebView/WebHTMLViewPrivate.h:
1452
1453 2006-02-11  Darin Adler  <darin@apple.com>
1454
1455         * English.lproj/StringsNotToBeLocalized.txt: Updated paths for recent changes in directory structure.
1456
1457 2006-02-11  David Kilzer  <ddkilzer@kilzer.net>
1458
1459         Reviewed by John Sullivan.
1460
1461         - Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7171
1462         No description in WebKitErrors.m for WebKitErrorPlugInWillHandleLoad
1463
1464         * English.lproj/Localizable.strings: Added new UI_STRING().
1465         * Misc/WebKitErrors.m: Added #define for description.
1466         (registerErrors): Added dictionary entry.
1467
1468 2006-02-09  Tim Omernick  <timo@apple.com>
1469
1470         Reviewed by Tim Hatcher.
1471
1472         <rdar://problem/4153419> CrashTracer: 576 crashes in Safari at com.apple.WebKit: NPN_DestroyStream + 56
1473
1474         I never could reproduce this crasher, which seems to be caused by the Speed Download plugin.  However,
1475         I did find a way to make the affected code more bulletproof for those who are experiencing the crash.
1476         
1477         * Plugins/WebBaseNetscapePluginStream.h:
1478         Keep a WebBaseNetscapePluginView instead of the WebNetscapePluginPackage, since the plugin view could
1479         potentially be deallocated before the stream finishes loading.
1480         * Plugins/WebBaseNetscapePluginStream.m:
1481         (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
1482         Use pluginView instead of plugin.
1483         (-[WebBaseNetscapePluginStream dealloc]):
1484         Assert that the plugin instance has been nulled out, since that's now part of the stream's teardown
1485         phase.
1486         Release pluginView instead of plugin.
1487         (-[WebBaseNetscapePluginStream setPluginPointer:]):
1488         Retain the plugin view instead of the plugin package, since the plugin view could be deallocated while
1489         the stream is running.
1490         This method now accepts a NULL argument so that we can easily clear out the pluginView backpointer
1491         (and other ivars derived from it).
1492         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
1493         Use pluginView instead of plugin.
1494         (-[WebBaseNetscapePluginStream _destroyStream]):
1495         ditto
1496         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
1497         ditto
1498         (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError]):
1499         Set the plugin instance to NULL, so that the pluginView backpointer is released.  This method is called
1500         for every plugin view's stream when the plugin view is stopped/destroyed.
1501         (-[WebBaseNetscapePluginStream _deliverData]):
1502         Use pluginView instead of plugin.
1503
1504 == Rolled over to ChangeLog-2006-02-09 ==