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