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