b700531b5389fbf4800a4aeb627338d886f1597c
[WebKit-https.git] / WebKit / ChangeLog
1 2006-03-27  Tim Omernick  <timo@apple.com>
2
3         Reviewed by Eric.
4
5         <rdar://problem/3694093> -[WebBasePluginPackage finalize] is incorrect; design change needed
6
7         Call -unload on plug-in packages instead of relying on -dealloc/-finalize to do it.  Currently
8         the only place plug-in packages are deallocated is when refreshing the set of plugins, as when
9         handling JavaScript's navigator.plugins.refresh().
10
11         * Plugins/WebBasePluginPackage.m:
12         (-[WebBasePluginPackage dealloc]):
13         Assert that the plug-in has been unloaded by the time -dealloc is called.
14         (-[WebBasePluginPackage finalize]):
15         ditto
16
17         * Plugins/WebPluginDatabase.m:
18         (-[WebPluginDatabase refresh]):
19         Call -unload on the plug-in packages before releasing them.
20
21 2006-03-27  Tim Omernick  <timo@apple.com>
22
23         Reviewed by Tim Hatcher.
24
25         Part of <rdar://problem/4448350> Deprecated ObjC language API used in JavaScriptCore, WebCore,
26         WebKit and WebBrowser
27
28         * Carbon/HIViewAdapter.h:
29         HIViewAdapter is no longer an NSView subclass, since we no longer pose it as NSView.
30         * Carbon/HIViewAdapter.m:
31         (+[NSView bindHIViewToNSView:nsView:]):
32         Replace individual NSView methods instead of posing as NSView.
33         (_webkit_NSView_setNeedsDisplay):
34         Replacement implementation of -[NSView setNeedsDisplay:].
35         (_webkit_NSView_setNeedsDisplayInRect):
36         Replacement implementation of -[NSView setNeedsDisplayInRect:]
37         (_webkit_NSView_nextValidKeyView):
38         Replacement implementation of -[NSView nextValidKeyView]
39
40 2006-03-27  John Sullivan  <sullivan@apple.com>
41
42         Reviewed by Darin Adler.
43         
44         Removed two overzealous assertions that the steps to reproduce 4451831 were running into.
45         Improved comments to match.
46
47         * WebCoreSupport/WebFrameBridge.m:
48         (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
49         Remove assertion that _inNextKeyViewOutsideWebFrameViews should always be false here.
50         
51         * WebView/WebHTMLView.m:
52         (-[NSArray nextValidKeyView]):
53         Removed assertion that the frame should never be the main frame here.
54
55 2006-03-27  Tim Omernick  <timo@apple.com>
56
57         Reviewed by Tim Hatcher.
58
59         Removed tabs & reformatted code.
60         
61         * Carbon/HIViewAdapter.m:
62         (+[NSView bindHIViewToNSView:nsView:]):
63         (+[NSView getHIViewForNSView:]):
64         (+[NSView unbindNSView:]):
65         (-[NSView setNeedsDisplay:]):
66         (-[NSView setNeedsDisplayInRect:]):
67         (-[NSView nextValidKeyView]):
68         (SetViewNeedsDisplay):
69
70 2006-03-26  Justin Garcia  <justin.garcia@apple.com>
71
72         Reviewed by darin
73         
74         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7974>
75         Add EditActions and WebUndoActions for CreateLink and Unlink
76
77         * English.lproj/Localizable.strings:
78         * WebCoreSupport/WebFrameBridge.m:
79         (-[WebFrameBridge nameForUndoAction:]):
80
81 2006-03-23  Tim Omernick  <timo@apple.com>
82
83         Reviewed by John Sullivan.
84
85         At John's suggestion, renamed a private WebFrame method and tightened up some of the redirect logic I recently touched.
86
87         * WebView/WebFramePrivate.h:
88         Renamed -_clientRedirectCancelled: to -_clientRedirectCancelledOrFinished:, since we call this both when a redirect is
89         cancelled and when a redirect is successfully committed.
90         * WebCoreSupport/WebFrameBridge.m:
91         (-[WebFrameBridge reportClientRedirectCancelled:]):
92         Call renamed WebFrame method.
93         * WebView/WebFrame.m:
94         Added sentRedirectNotification flag to WebFramePrivate.  This flag is set when we notify the frame load delegate that a
95         redirect will occur.  We check this flag when committing a provisional load to ensure that the frame load delegate is
96         notified that the redirect finished.
97         (-[WebFrame _commitProvisionalLoad:]):
98         After committing a provisional load, make sure that the frame load delegate is notified that there is no longer a pending
99         redirect.
100         (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
101         Set the new sentRedirectNotification flag.
102         (-[WebFrame _clientRedirectCancelledOrFinished:]):
103         Renamed method.
104         Clear the sentRedirectNotification flag.
105         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
106         Call renamed method.
107
108 2006-03-23  Tim Omernick  <timo@apple.com>
109
110         Reviewed by John Sullivan.
111
112         <rdar://problem/4439752> TinyMCE: "Search in Google" context menu is active but fails to work when selection is active
113         in textarea field.
114
115         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
116         (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
117         Added a representedObject parameter, which is set on the newly created menu item.
118         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
119         Instead of setting the representedObject on each menu item after creating them all, pass the element to
120         -menuItemWithTag:target:representedObject:.
121         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
122         ditto.  This fixes 4439752 because this method failed to set the representedObject on the menu items as
123         -contextMenuItemsForElement:defaultMenuItems: did.
124
125 2006-03-23  Darin Adler  <darin@apple.com>
126
127         Reviewed by Eric.
128
129         - fix <rdar://problem/4380465> repro crash when unsuccessfully attempting to import image from Services menu
130
131         * WebView/WebDataSource.m:
132         (-[WebDataSource _imageElementWithImageResource:]): Quietly do nothing if passed nil.
133         (-[WebDataSource _documentFragmentWithImageResource:]): Ditto.
134
135 2006-03-22  Tim Omernick  <timo@apple.com>
136
137         Reviewed by Kevin Decker.
138
139         Even better fix for <rdar://problem/4432562>.  We need to notify the frame delegate of a finished redirect for both
140         "fast" and "slow" redirects, after committing the load.  My previous change only notified for "fast", history-locking
141         redirects.  Now we notify the frame delegate after committing any kind of provisional load, not just in the case of
142         a fast redirect.
143
144         * WebView/WebFrame.m:
145         (-[WebFrame _transitionToCommitted:]):
146         (-[WebFrame _commitProvisionalLoad:]):
147
148 2006-03-22  Tim Omernick  <timo@apple.com>
149
150         Reviewed by Kevin Decker.
151
152         Better fix for <rdar://problem/4432562> REGRESSION (TOT): Safari's "stop loading" active, "view source" inactive after page load [7058]
153
154         * WebView/WebFrame.m:
155         (-[WebFrame _transitionToCommitted:]):
156         Cancel the client redirect when we commit the provisional load, if we were waiting for a redirect.
157         This is a better fix for 7058 (<rdar://problem/4432562>).  The original fix for 7058 changed the timing of the redirect cancel
158         in such a way that WebKit was precluded from ever reusing back/forward list entries for redirects.  Clearing the redirect state
159         here actually makes logical sense, as the redirect's target page is being committed at this point.
160
161 2006-03-21  Darin Adler  <darin@apple.com>
162
163         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3784
164           <rdar://problem/4483827> JavaScript save dialog disappears right away (sheet triggers blur event) (3784)
165
166         * WebView/WebHTMLView.m:
167         (-[WebHTMLView _updateFocusState]): Treat window as having focus if its sheet is key.
168         (-[WebHTMLView addWindowObservers]): Observe all focus notifications, not just the ones involving this window.
169         (-[WebHTMLView removeWindowObservers]): Ditto.
170         (-[WebHTMLView windowDidBecomeKey:]): Add checks so that we call the methods only when appropriate,
171         since this will now be called for all windows.
172         (-[WebHTMLView windowDidResignKey:]): Ditto.
173
174 2006-03-21  Adele Peterson  <adele@apple.com>
175
176         Reviewed by Darin.
177
178         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6813
179         elementAtPoint needs to return input element when clicking on new text field
180
181         * WebView/WebDocumentInternal.h: Added elementAtPoint:allowShadowContent:
182         * WebView/WebHTMLView.m:
183         (-[NSArray elementAtPoint:]): Does not allow shadow content.  This way, by default, callers would get the input element instead of the inner div.
184         (-[NSArray elementAtPoint:allowShadowContent:]): Allows callers to specify whether or not the element can be a shadow node.
185         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Allows shadow content when getting element.
186         (-[WebHTMLView _mayStartDragAtEventLocation:]): ditto.
187         (-[NSArray _isSelectionEvent:]): ditto.
188         (-[NSArray _canProcessDragWithDraggingInfo:]): ditto.
189         * WebView/WebFrame.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Does not allow shadow content when getting element.
190         * WebView/WebImageView.m: (-[WebImageView elementAtPoint:allowShadowContent:]): Added to conform to the WebDocumentElement protocol.
191         * WebView/WebPDFView.m: (-[WebPDFView elementAtPoint:allowShadowContent:]): ditto.
192         * WebView/WebTextView.m: (-[WebTextView elementAtPoint:allowShadowContent:]): ditto.
193
194 2006-03-21  Tim Omernick  <timo@apple.com>
195
196         Reviewed by Tim Hatcher and Darin.
197
198         <rdar://problem/4427068> LMGetCurApRefNum, CloseConnection and GetDiskFragment deprecated, used in Netscape
199         plugin code
200
201         * Plugins/WebNetscapeDeprecatedFunctions.h: Added.
202         * Plugins/WebNetscapeDeprecatedFunctions.c: Added.
203         Added wrappers for deprecated CFM and LowMem functions.  These exist in a separate file so that we can set
204         -Wno-deprecated-declarations on this one file without ignoring other deprecated function usage elsewhere.
205         (WebGetDiskFragment):
206         (WebCloseConnection):
207         (WebLMGetCurApRefNum):
208         (WebLMSetCurApRefNum):
209
210         * Plugins/WebNetscapePluginPackage.h:
211         Don't include connID ivar in 64-bit, since CFM is not supported in 64-bit.
212         * Plugins/WebNetscapePluginPackage.m:
213         (+[WebNetscapePluginPackage initialize]):
214         Don't bother setting the resource refNum in 64-bit, because the API to get and set it does not exist.
215         A theoretical 64-bit plugin couldn't possibly rely this, since there is no API.
216         (-[WebNetscapePluginPackage unloadWithoutShutdown]):
217         No need to close the connID in 64-bit.
218         (-[WebNetscapePluginPackage load]):
219         Don't load CFM bundles in 64-bit, because CFM is not supported.
220
221         * WebKit.xcodeproj/project.pbxproj:
222         Added WebNetscapeDeprecatedFunctions.[hm].
223
224 2006-03-21  John Sullivan  <sullivan@apple.com>
225
226         Reviewed by Kevin Decker.
227         
228         - fixed <rdar://problem/4485637> Implementors of searchFor:direction:caseSensitive:wrap: should bail 
229         out early if search string is empty
230         
231         This doesn't change any existing behavior, but avoids unnecessary work.
232
233         * Misc/WebSearchableTextView.m:
234         (-[WebSearchableTextView searchFor:direction:caseSensitive:wrap:]):
235         bail out immediately (returning NO) if search string is empty
236         
237         * WebView/WebHTMLView.m:
238         (-[WebView searchFor:direction:caseSensitive:wrap:]):
239         ditto
240         
241         * WebView/WebPDFView.m:
242         (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
243         ditto
244         
245         * WebView/WebView.m:
246         (-[WebView searchFor:direction:caseSensitive:wrap:]):
247         ditto
248
249 2006-03-20  Tim Omernick  <timo@apple.com>
250
251         Reviewed by John Sullivan.
252
253         Moved -_contentView from WebFrameViewInternal to WebFrameViewPrivate.  Safari
254         needs this.
255
256         * WebView/WebFrameView.m:
257         (-[WebFrameView _contentView]):
258         * WebView/WebFrameViewInternal.h:
259         * WebView/WebFrameViewPrivate.h:
260
261 2006-03-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
262
263         Reviewed by Darin, landed by Beth.
264
265         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7693
266           WebKit relies on unpredictable timing for onload events
267
268         * WebView/WebDataSource.m:
269         (-[WebDataSource _receivedMainResourceError:complete:]): Check for 
270         completion on the WebCore side before checking on the WebKit side, 
271         to ensure that the onload event is emitted before the WebFrame load 
272         delegate is sent the webView:didFinishLoadForFrame: message. For 
273         DumpRenderTree, this ensures that the render tree is dumped after 
274         the onload handler is run.
275         * WebView/WebLoader.m:
276         (-[NSURLProtocol didFailWithError:]): If load has already been 
277         cancelled (which could happen if the parent's onload handler caused 
278         the frame to detach), do nothing.
279
280 2006-03-17  John Sullivan  <sullivan@apple.com>
281
282         Reviewed by Beth Dakin
283         
284         - fixed <rdar://problem/4239051> Sometimes "Copy Link" in Safari results in a 
285         URL on the pasteboard with no usable "title"
286
287         * History/WebURLsWithTitles.m:
288         (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]):
289         trim whitespace from titles that are put on pasteboard. This leaves an empty string
290         for the title in cases where there's no displayed text, like an image in an <a> element
291         that happens to have whitespace in the source, e.g. <a href="foo"> <img whatever></a>
292
293 2006-03-17  Darin Adler  <darin@apple.com>
294
295         - missing bit of my check-in yesterday
296
297         Maciej moved setWindowFrame for me, but I also had removed
298         setWindowContentRect.
299
300         * WebCoreSupport/WebFrameBridge.m: Removed unused setWindowContextRect and
301         windowContentRect methods.
302
303 2006-03-17  Adele Peterson  <adele@apple.com>
304
305         Reviewed by Hyatt.
306
307         WebKit part of fix for:
308         http://bugzilla.opendarwin.org/show_bug.cgi?id=7797 
309         Can't set background color on new text fields
310
311         Added function to draw bezeled text field without drawing background.
312
313         * WebCoreSupport/WebGraphicsBridge.m:
314         (-[WebGraphicsBridge drawBezeledTextFieldCell:enabled:]): Added.
315
316 2006-03-16  Maciej Stachowiak  <mjs@apple.com>
317
318         Reviewed by Eric.
319         
320         - move setWindowFrame / windowFrame to WebPageBridge to fix build
321
322         * WebCoreSupport/WebFrameBridge.m:
323         * WebCoreSupport/WebPageBridge.m:
324         (-[WebPageBridge setWindowFrame:]):
325         (-[WebPageBridge windowFrame]):
326
327 2006-03-15  Darin Adler  <darin@apple.com>
328
329         Fix by Patrick Beard, reviewed by me.
330
331         - fix <rdar://problem/4478181> WebPluginController leaks NSArray and NSMutableSet objects
332
333         * Plugins/WebPluginController.m:
334         (-[WebPluginController initWithDocumentView:]): Call CFMakeCollectable on the CFSet
335         so we can act like it's an NSSet.
336         (-[WebPluginController dealloc]): Release _views and _checksInProgress.
337
338 2006-03-13  Tim Omernick  <timo@apple.com>
339
340         Reviewed by Maciej.
341
342         <rdar://problem/4476873> Support printing for plugin documents (not embedded plugins)
343
344         * WebView/WebFrameViewPrivate.h:
345         * WebView/WebFrameView.m:
346         (-[WebFrameView documentViewShouldHandlePrint]):
347         Called by the host application before it initializes and runs a print operation.  If NO
348         is returned, the host application will abort its print operation and call
349         -printDocumentView on the WebFrameView.  The document view is then expected to run its
350         own print operation.  If YES is returned, the host application's print operation will
351         continue as normal.
352         (-[WebFrameView printDocumentView]):
353         Called by the host application when the WebFrameView returns YES from -documentViewShouldHandlePrint.
354
355         * Plugins/WebNetscapePluginDocumentView.m:
356         (-[WebNetscapePluginDocumentView documentViewShouldHandlePrint]):
357         Allow the plugin to take over printing if it defines an NPP_Print function
358         (-[WebNetscapePluginDocumentView printDocumentView]):
359         Print the plugin document.
360
361 2006-03-13  Geoffrey Garen  <ggaren@apple.com>
362
363         Reviewed by timo.
364
365         - Fixed the load progress indicator to give more incremental feedback, 
366         and to stop spending so much time near 100%.
367
368         I did two things:
369         (1) Fixed some bugs and a misspelling in the previous heuristic's 
370         implementation
371         (2) Added two new rules to the heuristic:
372             (a) Treat the first layout as the half-way point.
373             (b) Just like we jump the first 10% to indicate that a load has
374             started, jump the last 10% to indicate that a load has finished.
375
376         Rule 2a is good for two reasons. First, it seems unnatural for loading
377         to be "more than half done" when you can't even see anything. Second,
378         in the early stages of laading our estimate of how much we'll need to
379         load is often off by as much as 6000% (e.g., cnn.com). So anything that
380         makes the progress indicator more conservative in the early stages of 
381         loading is helpful.
382
383         Rule 2b is good because it's confusing for loading to be "100% done"
384         but still ongoing.
385
386         FIXME: The indicator still isn't perfect. For example, the old behavior
387         shows up @ moviefone.com. Two areas for future work:
388         (1) Estimate number of linked resources. Our code estimates the size
389         of a single resource, but does nothing to estimate the number of
390         resources that resource might link to. This is the key to why we're
391         so wrong at the beginning.
392         (2) Improve "when to do first layout" heuristic. A JavaScript query
393         for a style property forces layout, creating a phantom first layout 
394         with no content, essentially nullifying 2a for certain pages.
395         
396         Filed <rdar://problem/4475834> to track estimating the number of 
397         linked resources. Phantom layouts are already on Hyatt's radar.
398
399         * WebView/WebFrame.m:
400         (-[WebFrame _setState:]): Update firstLayoutDone
401         (-[WebFrame _numPendingOrLoadingRequests:]): Bug fix: In the recurisve 
402         case, query 'frame' instead of 'self', so that we actually recurse.
403         (-[WebFrame _firstLayoutDone]): New method
404         (-[WebFrame _didFirstLayout]): Update firstLayoutDone
405         * WebView/WebFramePrivate.h: Added firstLayoutDone ivar
406         * WebView/WebView.m:
407         (-[WebView _incrementProgressForConnectionDelegate:data:]):
408         (1) Implemented 2a and 2b
409         (2) Bug fix: only update the 'last time I sent a notification' time if 
410         we actually send a notification.
411         (3) Don't test for progress < 0 because ensuring progress < max
412         also ensures max - progress > 0. (Do still test for progress > max 
413         because rounding errors make that a possibility -- although a very 
414         minor one.)
415         (4) Query only the loading frame and its subframes for pending
416         requests instead of defaulting to the main frame. This is a slight
417         optimization in cases where the main frame did not begin the load,
418         and it makes the code more consistent.
419
420 2006-03-13  John Sullivan  <sullivan@apple.com>
421
422         Reviewed by Tim Omernick.
423         
424         - fixed <rdar://problem/4475857> API: Setting a history item limit programmatically doesn't work
425
426         * History/WebHistory.m:
427         (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
428         use [self historyItemLimit], which prefers the explicitly-set value and falls back to the
429         NSUserDefaults value, instead of using the NSUserDefaults value explicitly.
430
431 2006-03-10  Darin Adler  <darin@apple.com>
432
433         Reviewed by Adele.
434
435         * WebCoreSupport/WebFrameBridge.m: Remove unused requestedURLString method.
436
437 2006-03-10  Darin Adler  <darin@apple.com>
438
439         Reviewed by Geoff.
440
441         - change how frame namespacing works to be more completely on the WebCore side
442
443         * WebView/WebFrameInternal.h: Remove _setFrameNamespace: and _frameNamespace.
444         * WebView/WebFrame.m: Ditto.
445
446         * WebView/WebView.m:
447         (-[WebView setGroupName:]): Call -[WebCorePageBridge setGroupName:].
448         (-[WebView groupName]): Call -[WebCorePageBridge groupName].
449
450 2006-03-09  Alexey Proskuryakov  <ap@nypop.com>
451
452         Reviewed by Darin.
453
454         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7656
455          Query string always appended to Flash URLs, instead of being replaced.
456
457         * Misc/WebNSURLExtras.h: Added _webkit_URLByRemovingResourceSpecifier.
458         * Misc/WebNSURLExtras.m:
459         (+[NSURL _web_URLWithData:relativeToURL:]): Call _webkit_URLByRemovingResourceSpecifier to
460         work around CFURL not removing non-path components from base URLs in some cases.
461         (-[NSURL _webkit_URLByRemovingComponent:]): New generic function for removing URL components.
462         (-[NSURL _webkit_URLByRemovingFragment]): Moved implementation to the above method.
463         (-[NSURL _webkit_URLByRemovingResourceSpecifier]): Added.
464
465 2006-03-07  Darin Adler  <darin@apple.com>
466
467         Reviewed by Anders.
468
469         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7655
470           unwanted output while running layout tests
471
472         * WebView/WebDataSourcePrivate.h:
473         * WebView/WebDataSource.m:
474         (-[WebDataSource _setRepresentation:]): Clear the flag that records whether we've sent
475         all the data to the representation or not; need this to prevent telling the same representation
476         both that we've succeeded and then later that we've failed.
477         (-[WebDataSource _setMainDocumentError:]): Don't send an error if representationFinishedLoading
478         is already YES. Set representationFinishedLoading.
479         (-[WebDataSource _finishedLoading]): Set representationFinishedLoading.
480         (-[WebDataSource _setupForReplaceByMIMEType:]): Ditto.
481
482 2006-03-06  Tim Omernick  <timo@apple.com>
483
484         Reviewed by Kevin Decker.
485
486         <rdar://problem/4457574> assertion failure watching trailers at netflix.com -[WebNetscapePluginRepresentation
487         receivedData:withDataSource:] + 684
488
489         * Plugins/WebNetscapePluginRepresentation.m:
490         (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
491         Moved the ASSERT(instance) to the block that actually requires an assertion -- the plugin view should never
492         have a NULL instance by the time we start the NPStream (by calling -startStreamWithResponse:).
493         Some stream teardown logic changed with my fix to 4153419: when a WebBaseNetscapePluginStream is destroyed,
494         it now clears its NPP instance backpointer.  The WebBaseNetscapePluginStream may be destroyed from within
495         -startStreamWithResponse: if NPP_NewStream() returns an error.  We can handle this gracefully by changing
496         the assertion before -receivedData: to a simple NULL check.
497         This is unrelated to the Radar, but prior to this fix, we would attempt an NPP_Write() with the initial
498         stream data even if NPP_NewStream() returned an error.  Seems like that alone could cause issues, though
499         I'm guessing that plugins handle this in practice.
500
501 2006-03-03  Timothy Hatcher  <timothy@apple.com>
502
503         Reviewed by Darin.
504         
505         <rdar://problem/4411822> wrong element shown in Inspector inspecting main image at apple.com
506         <rdar://problem/4411908> in the Web Inspector, state of disclosure triangles should be preserved after search
507         http://bugzilla.opendarwin.org/show_bug.cgi?id=6616
508         Bug 6616: Double-clicking on a search result seems broken
509         http://bugzilla.opendarwin.org/show_bug.cgi?id=6709
510         Bug 6709: TypeError: Value undefined (result of expression treeScrollbar.refresh) is not object.
511
512         Code clean up and move more code into JavaScript.
513         Removes a few unused ObjC methods.
514         Many search fixes. Reveals the focused node when exiting the search.
515         Shows a "No Selection" screen when there are no search results.
516         Shows a node count for the number of results.
517         Fixes a couple of TypeErrors that show on the console.
518         Uses the system selection color in the Style pane tables.
519
520         * English.lproj/Localizable.strings: removed localized strings
521         * WebInspector.subproj/WebInspector.m:
522         (-[WebInspector init]):
523         (-[WebInspector dealloc]):
524         (-[WebInspector window]):
525         (-[WebInspector setSearchQuery:]):
526         (-[WebInspector resizeTopArea]):
527         (-[WebInspector searchPerformed:]): called from JavaScript when a search happens
528         (-[WebInspector _toggleIgnoreWhitespace:]):
529         (-[WebInspector _exitSearch:]): exit search results on double click
530         (-[WebInspector _focusRootNode:]):
531         (-[WebInspector _revealAndSelectNodeInTree:]):
532         (-[WebInspector _refreshSearch]):
533         (-[WebInspector _update]):
534         (-[WebInspector _updateTraversalButtons]):
535         (-[WebInspector _updateRoot]):
536         (-[WebInspector _updateTreeScrollbar]):
537         (-[WebInspector _updateSystemColors]): update CSS with system colors
538         (-[WebInspector webView:didFinishLoadForFrame:]):
539         (-[WebInspector webView:plugInViewWithArguments:]):
540         (-[WebInspector outlineViewSelectionDidChange:]): test for webViewLoaded
541         (-[WebInspectorPrivate init]): alloc rightArrowImage and downArrowImage
542         (-[WebInspectorPrivate dealloc]): no more matchedRules
543         (-[DOMNode _displayName]): removed localization UI_STRING calls.
544         * WebInspector.subproj/WebInspectorInternal.h:
545         * WebInspector.subproj/webInspector/inspector.css:
546         * WebInspector.subproj/webInspector/inspector.html:
547         * WebInspector.subproj/webInspector/inspector.js:
548
549 2006-03-02  Alexey Proskuryakov  <ap@nypop.com>
550
551         Fixed a typo in the comments added in the previous checkin.
552
553         * WebCoreSupport/WebFrameBridge.m:
554         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
555         * WebCoreSupport/WebSubresourceLoader.m:
556         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
557         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
558
559 2006-03-02  Alexey Proskuryakov  <ap@nypop.com>
560
561         Reviewed by Darin.
562
563         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7540
564           REGRESSION: frequent cache-related crashes
565
566         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7393
567           A stale comment about XMLHttpRequest responses being never cached
568
569         * WebCoreSupport/WebFrameBridge.m: Don't call setHTTPHeader if the method is GET.
570         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
571         * WebCoreSupport/WebSubresourceLoader.m: Ditto. Also removed a stale comment about
572         XMLHTTPRequests.
573         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
574         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
575
576 2006-02-23  David Harrison  <harrison@apple.com>
577
578         Reviewed by Justin.
579
580         <rdar://problem/4359736> Support outlining ability with lists
581
582         Added Mail SPI for list level changes.  It is SPI because it is not complete support
583         for outlining.  See <rdar://problem/4457070> "API for html lists as note outlines".
584         
585         * WebView/WebHTMLView.m:
586         (-[WebHTMLView _canIncreaseSelectionListLevel]):
587         (-[WebHTMLView _canDecreaseSelectionListLevel]):
588         (-[WebHTMLView _increaseSelectionListLevel]):
589         (-[WebHTMLView _decreaseSelectionListLevel]):
590         * WebView/WebHTMLViewPrivate.h:
591
592 2006-03-01  Alexey Proskuryakov  <ap@nypop.com>
593
594         Reviewed by Darin.
595
596         - http://bugzilla.opendarwin.org/show_bug.cgi?id=3812
597           XMLHttpRequest: PUT, DELETE, HEAD and all other methods but POST actually do a GET.
598
599         All WebKit changes are to use the method parameter passed from WebCore.
600
601         * WebCoreSupport/WebFrameBridge.m:
602         (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
603         (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
604         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
605         * WebCoreSupport/WebSubresourceLoader.h:
606         * WebCoreSupport/WebSubresourceLoader.m:
607         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
608         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
609
610 2006-03-01  Timothy Hatcher  <timothy@apple.com>
611
612         Reviewed by Darin.
613
614         http://bugzilla.opendarwin.org/show_bug.cgi?id=7450
615         elementAtPoint is expensive and should return a smart dictionary
616         
617         <rdar://problem/2952761> moving the mouse around eats more CPU than I would expect (7450)
618         
619         elementAtPoint for WebHTMLView now returns a WebElementDictionary,
620         when objectForKey is called it will lookup in the DOM, cache and return the value
621
622         * Misc/WebElementDictionary.h: Added.
623         * Misc/WebElementDictionary.m: Added.
624         (addLookupKey):
625         (cacheValueForKey):
626         (+[WebElementDictionary initializeLookupTable]):
627         (-[WebElementDictionary initWithInnerNonSharedNode:innerNode:URLElement:andPoint:]):
628         (-[WebElementDictionary dealloc]):
629         (-[WebElementDictionary _fillCache]):
630         (-[WebElementDictionary count]):
631         (-[WebElementDictionary keyEnumerator]):
632         (-[WebElementDictionary objectForKey:]):
633         (-[WebElementDictionary _domNode]):
634         (-[WebElementDictionary _webFrame]):
635         (-[WebElementDictionary _targetWebFrame]):
636         (-[WebElementDictionary _title]):
637         (-[WebElementDictionary _imageRect]):
638         (-[WebElementDictionary _isSelected]):
639         * Misc/WebNSViewExtras.m:
640         (-[NSView _web_dragImage:element:rect:event:pasteboard:source:offset:]):
641         * WebKit.xcodeproj/project.pbxproj:
642         * WebView/WebHTMLView.m:
643         (-[WebHTMLView _updateMouseoverWithEvent:]):
644         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
645         (-[NSArray elementAtPoint:]):
646         * WebView/WebView.m:
647         * WebView/WebViewPrivate.h:
648
649 2006-02-28  Darin Adler  <darin@apple.com>
650
651         Reviewed by Adele.
652
653         - remove obsolete WebCoreScrollView class
654
655         * WebView/WebDynamicScrollBarsView.h: Change base class to NSScrollView instead of WebCoreScrollView.
656         * WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView autoforwardsScrollWheelEvents]): Added.
657
658 2006-02-28  John Sullivan  <sullivan@apple.com>
659
660         Reviewed by Eric Seidel
661         
662         Wean WebKit from one more SPI call. We learned about this new-to-Tiger
663         API from filing Radar 4433222.
664
665         * WebView/WebHTMLView.m:
666         (-[WebHTMLView _autoscroll]):
667         use public CGEventSourceButtonState() instead of WKMouseIsDown() (which was using SPI internally)
668
669 2006-02-27  Tim Omernick  <timo@apple.com>
670
671         Reviewed by Adele.
672
673         <rdar://problem/4222043> Safari should reduce null events sent to invisible plugins
674
675         * Plugins/WebBaseNetscapePluginView.h:
676         * Plugins/WebBaseNetscapePluginView.m:
677         (-[WebBaseNetscapePluginView restartNullEvents]):
678         Check to see if the plugin view is completely obscured (scrolled out of view, for example).  If it is
679         obscured and it wasn't before, or the other way around, then restart the null event timer so it can
680         fire at the appropriate rate.
681         (-[WebBaseNetscapePluginView viewHasMoved:]):
682         If a plugin is obscured, send it null events as if it were in an inactive window.
683
684 2006-02-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
685
686         Test: fast/frames/empty-frame-document.html
687
688         Reviewed by Darin.
689
690         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7293
691           REGRESSION: Using Javascript Bookmarklets that reference location.href on a blank tab crashes WebKit
692
693         The crash happened because an empty frame did not have a document.
694
695         * WebView/WebFrame.m:
696         (-[WebFrame _commitProvisionalLoad:]): Use "about:blank" instead of an empty URL for empty
697         frames. This causes a document to be created for the frame.
698
699 2006-02-21  Kevin Decker  <kdecker@apple.com>
700
701         Reviewed by Darin.
702
703         Backed out my previous check in. Since these methods are internal to WebKit (and not private)
704         it's perfectly OK for them to remain as categories. 
705         * ChangeLog:
706         * WebView/WebPreferences.m:
707         (-[WebPreferences _integerValueForKey:]):
708         (-[WebPreferences _setIntegerValue:forKey:]):
709         (-[WebPreferences _floatValueForKey:]):
710         (-[WebPreferences _setFloatValue:forKey:]):
711         (-[WebPreferences _boolValueForKey:]):
712         (-[WebPreferences _setBoolValue:forKey:]):
713         * WebView/WebPreferencesPrivate.h:
714
715 2006-02-20  Darin Adler  <darin@apple.com>
716
717         Collaborated with Graham Dennis <Graham.Dennis@gmail.com> on this.
718
719         - WebKit part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6831
720           contentEditable outline darkens as caret moves
721
722         * WebCoreSupport/WebGraphicsBridge.m:
723         (-[WebGraphicsBridge drawFocusRingWithPath:radius:color:]):
724         Replaced the old bridge function that set up style with this one that renders a path.
725
726 2006-02-19  Darin Adler  <darin@apple.com>
727
728         Reviewed by Maciej.
729
730         - cut out a little unneeded bridge code
731
732         * WebCoreSupport/WebFrameBridge.m:
733         (-[WebFrameBridge webView]): Added. Helper, since the WebCore side of the bridge no longer
734         has this method.
735         (-[WebFrameBridge createWindowWithURL:]): Removed the frameName parameter -- this is now
736         handled on the WebCore side. Also return a page bridge instead of a frame bridge.
737         (-[WebFrameBridge createModalDialogWithURL:]): Changed to return a page bridge instead of
738         a frame bridge.
739
740         * WebView/WebFrame.m: (-[WebFrame webView]): Change to get the webView from the page bridge
741         instead of the frame bridge, since it's a per-page thing.
742
743         * WebView/WebView.m: Removed init method since it just does what the default does (calls
744         initWithFrame: with a zero rect).
745         (-[WebView initWithCoder:]): Added checking so that if the obejcts have the wrong type
746         we will fail gracefully instead of hitting "method not found" and the like.
747         (-[WebView setPreferencesIdentifier:]): Fix storage leak. The WebPreferences object was
748         not released.
749         (-[WebView mainFrame]): Removed excess "return nil".
750         (-[WebView _pageBridge]): Added. Helper to let you go from the WebView to the bridge
751         from outside the WebView class.
752         * WebView/WebViewInternal.h: Put _pageBridge into an internal header.
753
754         * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge outerView]): Added. Replaces "webView"
755         as public method to tell the WebCore side about the view everything's embedded in.
756
757         - other cleanup
758
759         * WebCoreSupport/WebPageBridge.h: Removed some unneeded declarations.
760
761         * Plugins/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]):
762         Rearrange code so it doesn't have to get the main frame twice.
763
764 2006-02-18  Maciej Stachowiak  <mjs@apple.com>
765
766         Not reviewed.
767         
768         - fix build broken by my last checkin, the remaining code was not doing anything.
769
770         * WebView/WebDataSource.m:
771         * WebView/WebDataSourcePrivate.h:
772         * WebView/WebFrame.m:
773         (-[WebFrame _createPageCacheForItem:]):
774
775 2006-02-16  Maciej Stachowiak  <mjs@apple.com>
776
777         Reviewed by Darin.
778         
779         - removed a few unused fields and methods of WebDataSource
780
781         * WebView/WebDataSource.m:
782         * WebView/WebDataSourcePrivate.h:
783         * WebView/WebView.m:
784         (+[WebView _MIMETypeForFile:]):
785         (-[WebView _updateWebCoreSettingsFromPreferences:]):
786
787 2006-02-15  Justin Garcia  <justin.garcia@apple.com>
788
789         Reviewed by darin
790         
791         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7148>
792         Add drag and drop support to DumpRenderTree
793         
794         Added a UI delegate method so that DumpRenderTree can perform dragging on its own.
795         Made _updateFocusState SPI, to allow us to test the behavior and appearance of
796         windows that have or don't have focus.
797
798         * WebView/WebHTMLView.m:
799         (-[WebHTMLView _updateFocusState]):
800         (-[NSArray viewDidMoveToWindow]):
801         (-[NSArray windowDidBecomeKey:]):
802         (-[NSArray windowDidResignKey:]):
803         (-[NSArray dragImage:at:offset:event:pasteboard:source:slideBack:]):
804         (-[NSArray becomeFirstResponder]):
805         (-[NSArray resignFirstResponder]):
806         (-[WebHTMLView _formControlIsResigningFirstResponder:]):
807         * WebView/WebHTMLViewInternal.h:
808         * WebView/WebHTMLViewPrivate.h:
809         * WebView/WebUIDelegatePrivate.h:
810         * WebView/WebView.m:
811
812 2006-02-15  Darin Adler  <darin@apple.com>
813
814         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
815
816 2006-02-15  Maciej Stachowiak  <mjs@apple.com>
817
818         Rubber stamped by Anders.
819
820         * WebView/WebControllerPolicyHandlerDelegate.h: Removed.
821
822 2006-02-15  Maciej Stachowiak  <mjs@apple.com>
823
824         Reviewed by Anders.
825         
826         - remove some voodoo code
827
828         * WebView/WebDataSource.m:
829         (-[WebDataSource _setLoading:]): Removed useless ref/deref of self and WebView.
830         A WebDataSource cannot be loading unless it is still connected to the WebView that
831         owns it and retained by it, because getting disconnected stops loading.
832
833 2006-02-13  Maciej Stachowiak  <mjs@apple.com>
834
835         Reviewed by Anders.
836         
837         Improvements to frame loading:
838         
839         - remove LayoutAcceptable state entirely
840         - fix WebImageView to work right without LayoutAcceptable state
841         - move guts of commitIfReady: to WebFrame
842         - try to separate page cache loading from normal loading a bit more
843
844         * English.lproj/StringsNotToBeLocalized.txt:
845         * WebView/WebDataSource.m:
846         (-[WebDataSource _prepareForLoadStart]):
847         (-[WebDataSource _loadFromPageCache:]):
848         (-[WebDataSource _startLoading]):
849         (-[WebDataSource _commitIfReady]):
850         (-[WebDataSource _setupForReplaceByMIMEType:]):
851         * WebView/WebDataSourcePrivate.h:
852         * WebView/WebFrame.m:
853         (-[WebFrame _transitionToCommitted:]):
854         (-[WebFrame _commitProvisionalLoad:]):
855         (-[WebFrame _checkLoadCompleteForThisFrame]):
856         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
857         * WebView/WebFramePrivate.h:
858         * WebView/WebImageRepresentation.h:
859         * WebView/WebImageRepresentation.m:
860         * WebView/WebImageView.m:
861         (-[WebImageView dataSourceUpdated:]):
862         (-[WebImageView setNeedsLayout:]):
863         (-[WebImageView writeImageToPasteboard:types:]):
864         (-[WebImageView copy:]):
865         (-[WebImageView mouseDragged:]):
866         * WebView/WebView.m:
867         (-[WebView _finishedLoadingResourceFromDataSource:]):
868         (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]):
869
870 2006-02-13  John Sullivan  <sullivan@apple.com>
871
872         Reviewed by Tim Omernick.
873
874         Support for highlighting multiple text matches.
875
876         * WebView/WebHTMLViewPrivate.h:
877         * WebView/WebHTMLView.m:
878         (-[WebHTMLView highlightAllMatchesForString:caseSensitive:]):
879         new method, calls through to bridge
880         (-[WebHTMLView clearHighlightedMatches]):
881         ditto
882
883         * WebView/WebViewPrivate.h:
884         * WebView/WebView.m:
885         (-[WebView highlightAllMatchesForString:caseSensitive:]):
886         new method, calls through to documentView. For now this is hardwired to only work
887         with WebHTMLViews.
888         (-[WebView clearHighlightedMatches]):
889         ditto
890
891 2006-02-13  Darin Adler  <darin@apple.com>
892
893         Reviewed by Maciej.
894
895         - move pointer from frame to page over to WebCore
896
897         * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge initWithMainFrameName:webView:frameView:]):
898         Call super init to create the page before creating the main frame and calling setMainFrame: with it.
899
900         * WebCoreSupport/WebFrameBridge.h: Remove page pointer, and change init function parameters.
901         * WebCoreSupport/WebFrameBridge.m:
902         (-[WebFrameBridge initMainFrameWithPage:frameName:view:]): New function that is used only for
903         the main frame. Passes the page over to the other side of the bridge.
904         (-[WebFrameBridge initSubframeWithRenderer:frameName:view:]): New function that is used only for
905         subframes. Passes the renderer over to the other side of the bridge.
906         (-[WebFrameBridge mainFrame]):
907         (-[WebFrameBridge webView]):
908         (-[WebFrameBridge createWindowWithURL:frameName:]):
909         (-[WebFrameBridge showWindow]):
910         (-[WebFrameBridge areToolbarsVisible]):
911         (-[WebFrameBridge setToolbarsVisible:]):
912         (-[WebFrameBridge isStatusbarVisible]):
913         (-[WebFrameBridge setStatusbarVisible:]):
914         (-[WebFrameBridge setWindowFrame:]):
915         (-[WebFrameBridge windowFrame]):
916         (-[WebFrameBridge setWindowContentRect:]):
917         (-[WebFrameBridge windowContentRect]):
918         (-[WebFrameBridge setWindowIsResizable:]):
919         (-[WebFrameBridge windowIsResizable]):
920         (-[WebFrameBridge firstResponder]):
921         (-[WebFrameBridge makeFirstResponder:]):
922         (-[WebFrameBridge closeWindowSoon]):
923         (-[WebFrameBridge runJavaScriptAlertPanelWithMessage:]):
924         (-[WebFrameBridge runJavaScriptConfirmPanelWithMessage:]):
925         (-[WebFrameBridge canRunBeforeUnloadConfirmPanel]):
926         (-[WebFrameBridge runBeforeUnloadConfirmPanelWithMessage:]):
927         (-[WebFrameBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
928         (-[WebFrameBridge addMessageToConsole:]):
929         (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
930         (-[WebFrameBridge setStatusText:]):
931         (-[WebFrameBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
932         (-[WebFrameBridge focusWindow]):
933         (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
934         (-[WebFrameBridge userAgentForURL:]):
935         (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
936         (-[WebFrameBridge previousKeyViewOutsideWebFrameViews]):
937         (-[WebFrameBridge defersLoading]):
938         (-[WebFrameBridge setDefersLoading:]):
939         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
940         (-[WebFrameBridge _preferences]):
941         (-[WebFrameBridge selectWordBeforeMenuEvent]):
942         (-[WebFrameBridge historyLength]):
943         (-[WebFrameBridge canGoBackOrForward:]):
944         (-[WebFrameBridge goBackOrForward:]):
945         (-[WebFrameBridge print]):
946         (-[WebFrameBridge pollForAppletInView:]):
947         (-[WebFrameBridge respondToChangedContents]):
948         (-[WebFrameBridge respondToChangedSelection]):
949         (-[WebFrameBridge undoManager]):
950         (-[WebFrameBridge issueCutCommand]):
951         (-[WebFrameBridge issueCopyCommand]):
952         (-[WebFrameBridge issuePasteCommand]):
953         (-[WebFrameBridge issuePasteAndMatchStyleCommand]):
954         (-[WebFrameBridge canPaste]):
955         (-[WebFrameBridge overrideMediaType]):
956         (-[WebFrameBridge isEditable]):
957         (-[WebFrameBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
958         (-[WebFrameBridge shouldBeginEditing:]):
959         (-[WebFrameBridge shouldEndEditing:]):
960         (-[WebFrameBridge windowObjectCleared]):
961         (-[WebFrameBridge spellCheckerDocumentTag]):
962         (-[WebFrameBridge isContinuousSpellCheckingEnabled]):
963         (-[WebFrameBridge didFirstLayout]):
964         (-[WebFrameBridge dashboardRegionsChanged:]):
965         (-[WebFrameBridge createModalDialogWithURL:]):
966         (-[WebFrameBridge canRunModal]):
967         (-[WebFrameBridge runModal]):
968         Change all calls to [_page webView] to use [self webView] instead.
969
970 === WebKit-521.7
971
972 2006-02-11  Maciej Stachowiak  <mjs@apple.com>
973
974         Reviewed by Hyatt.
975         
976         - factor WebArchive creation code out of other classes into new WebArchiver
977         http://bugzilla.opendarwin.org/show_bug.cgi?id=7208
978
979         * DOM/WebDOMOperations.m:
980         (-[DOMNode webArchive]):
981         (-[DOMRange webArchive]):
982         * WebKit.xcodeproj/project.pbxproj:
983         * WebView/WebArchiver.h: Added.
984         * WebView/WebArchiver.m: Added.
985         (+[WebArchiver _subframeArchivesForFrame:]):
986         (+[WebArchiver archiveFrame:]):
987         (+[WebArchiver _archiveCurrentStateForFrame:]):
988         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
989         (+[WebArchiver archiveRange:]):
990         (+[WebArchiver archiveNode:]):
991         (+[WebArchiver archiveSelectionInFrame:]):
992         * WebView/WebDataSource.m:
993         (-[WebDataSource webArchive]):
994         * WebView/WebDataSourcePrivate.h:
995         * WebView/WebHTMLView.m:
996         (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
997         (-[WebHTMLView _writeSelectionToPasteboard:]):
998         * WebView/WebHTMLViewPrivate.h:
999
1000 2006-02-11  Darin Adler  <darin@apple.com>
1001
1002         * English.lproj/StringsNotToBeLocalized.txt: Updated paths for recent changes in directory structure.
1003
1004 2006-02-11  David Kilzer  <ddkilzer@kilzer.net>
1005
1006         Reviewed by John Sullivan.
1007
1008         - Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7171
1009         No description in WebKitErrors.m for WebKitErrorPlugInWillHandleLoad
1010
1011         * English.lproj/Localizable.strings: Added new UI_STRING().
1012         * Misc/WebKitErrors.m: Added #define for description.
1013         (registerErrors): Added dictionary entry.
1014
1015 2006-02-09  Tim Omernick  <timo@apple.com>
1016
1017         Reviewed by Tim Hatcher.
1018
1019         <rdar://problem/4153419> CrashTracer: 576 crashes in Safari at com.apple.WebKit: NPN_DestroyStream + 56
1020
1021         I never could reproduce this crasher, which seems to be caused by the Speed Download plugin.  However,
1022         I did find a way to make the affected code more bulletproof for those who are experiencing the crash.
1023         
1024         * Plugins/WebBaseNetscapePluginStream.h:
1025         Keep a WebBaseNetscapePluginView instead of the WebNetscapePluginPackage, since the plugin view could
1026         potentially be deallocated before the stream finishes loading.
1027         * Plugins/WebBaseNetscapePluginStream.m:
1028         (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
1029         Use pluginView instead of plugin.
1030         (-[WebBaseNetscapePluginStream dealloc]):
1031         Assert that the plugin instance has been nulled out, since that's now part of the stream's teardown
1032         phase.
1033         Release pluginView instead of plugin.
1034         (-[WebBaseNetscapePluginStream setPluginPointer:]):
1035         Retain the plugin view instead of the plugin package, since the plugin view could be deallocated while
1036         the stream is running.
1037         This method now accepts a NULL argument so that we can easily clear out the pluginView backpointer
1038         (and other ivars derived from it).
1039         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
1040         Use pluginView instead of plugin.
1041         (-[WebBaseNetscapePluginStream _destroyStream]):
1042         ditto
1043         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
1044         ditto
1045         (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError]):
1046         Set the plugin instance to NULL, so that the pluginView backpointer is released.  This method is called
1047         for every plugin view's stream when the plugin view is stopped/destroyed.
1048         (-[WebBaseNetscapePluginStream _deliverData]):
1049         Use pluginView instead of plugin.
1050
1051 == Rolled over to ChangeLog-2006-02-09 ==