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