2006-05-16 bradeeoh <beidson@apple.com>
[WebKit-https.git] / WebKit / ChangeLog
1 2006-05-16  bradeeoh  <beidson@apple.com>
2
3         Reviewed by Maciej Stachowiak
4
5         - Fixed an old deprecated method in Misc/WebFileDatabase.m
6
7         * Misc/WebFileDatabase.m:
8         (UniqueFilePathForKey):  changed `lossyCString` to `UTF8String`
9
10 2006-05-16  Darin Adler  <darin@apple.com>
11
12         Reviewed by Anders.
13
14         - did the name change from "ImageElement" to "ImageForElement" that I said I would
15           (oops!)
16
17         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
18         (-[WebDefaultUIDelegate copyImageToClipboard:]):
19         * Misc/WebNSPasteboardExtras.h:
20         * Misc/WebNSPasteboardExtras.m:
21         (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
22         * Misc/WebNSViewExtras.h:
23         * Misc/WebNSViewExtras.m:
24         (-[NSView _web_DragImageForElement:rect:event:pasteboard:source:offset:]):
25         * WebView/WebHTMLView.m:
26         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
27         * WebView/WebView.m:
28         (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]):
29         (-[WebView writeElement:withPasteboardTypes:toPasteboard:]):
30         * WebView/WebViewInternal.h:
31
32 2006-05-16  Darin Adler  <darin@apple.com>
33
34         Reviewed by Anders.
35
36         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8940
37           remove extra copy of image code
38
39         * English.lproj/StringsNotToBeLocalized.txt: Updated for many recent changes.
40
41         * WebKit.xcodeproj/project.pbxproj: Removed files.
42         * WebCoreSupport/WebImageData.h: Removed.
43         * WebCoreSupport/WebImageData.m: Removed.
44         * WebCoreSupport/WebImageDecodeItem.h: Removed.
45         * WebCoreSupport/WebImageDecodeItem.m: Removed.
46         * WebCoreSupport/WebImageDecoder.h: Removed.
47         * WebCoreSupport/WebImageDecoder.m: Removed.
48         * WebCoreSupport/WebImageRenderer.h: Removed.
49         * WebCoreSupport/WebImageRenderer.m: Removed.
50
51         * WebCoreSupport/WebImageRendererFactory.h:
52         * WebCoreSupport/WebImageRendererFactory.m: Removed everything except for
53         shouldUseThreadedDecoding, setShouldUseThreadedDecoding, and imageDataForName:.
54
55         * Misc/WebNSPasteboardExtras.h: Removed WebImageRenderer parameter from
56         _web_declareAndWriteDragImage and renamed _web_declareAndWriteDragImageElement.
57         * Misc/WebNSPasteboardExtras.m:
58         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): Changed to
59         call +[WebFrameBridge supportedImageResourceMIMETypes] instead of
60         -[WebImageRendererFactory supportedMIMETypes].
61         (-[NSPasteboard _web_declareAndWriteDragImageElement:URL:title:archive:source:]):
62         Removed WebImageRenderer parameter, and updated code since it was always nil.
63
64         * Misc/WebNSViewExtras.h: Removed WebImageRenderer parameter from
65         _web_dragImage and renamed _web_dragImageElement.
66         * Misc/WebNSViewExtras.m:
67         (-[NSView _web_dragImageElement:rect:event:pasteboard:source:offset:]):
68         Removed WebImageRenderer parameter, and updated code since it was always nil.
69
70         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Added some new
71         functions now used by WebCore.
72
73         * WebView/WebDataSource.m: (-[WebDataSource _documentFragmentWithArchive:]):
74         Call +[WebFrameBridge supportedImageResourceMIMETypes] instead of
75         -[WebImageRendererFactory supportedMIMETypes].
76
77         * WebView/WebFrameView.m: Removed include of WebImageRenderer.h.
78
79         * WebView/WebHTMLRepresentation.m: (+[WebHTMLRepresentation supportedImageMIMETypes]):
80         Removed call to +[WebImageRendererFactory createSharedFactory].
81
82         * WebView/WebHTMLView.m:
83         (-[WebHTMLView _imageExistsAtPaths:]): Call +[WebFrameBridge supportedImageResourceMIMETypes]
84         instead of -[WebImageRendererFactory supportedMIMETypes].
85         (-[WebHTMLView _documentFragmentWithPaths:]): Ditto.
86         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Update
87         to no longer pass nil for an image to _web_declareAndWriteDragImageElement and to
88         _web_dragImageElement.
89         (-[WebHTMLView dealloc]): Remove call to now-unneeded _reset.
90         (-[WebHTMLView finalize]): Ditto.
91         (-[WebHTMLView viewDidMoveToWindow]): Remove logic for calling _reset, including the inWindow
92         boolean field.
93
94         * WebView/WebHTMLViewInternal.h: Removed inWindow boolean.
95         * WebView/WebHTMLViewPrivate.h: Removed _reset method.
96
97 2006-05-16  Darin Adler  <darin@apple.com>
98
99         Reviewed by Hyatt.
100
101         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8898
102           REGRESSION: Attempting to right-click image in own tab on website causes crash
103         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8919
104           REGRESSION: image could not be dragged, subsequent click-drag activity caused crash
105
106         These fixes may become obsolete when Anders lands his standalone image viewer
107         patch, but in my tree they are needed to make Copy Image work after the fix
108         over on the WebCore side to avoid the crashes.
109
110         * Misc/WebNSPasteboardExtras.h: Change _web_writeImage parameter to an NSImage.
111         * Misc/WebNSPasteboardExtras.m:
112         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): Change parameter
113         to an NSImage instead of a WebImageRenderer.
114         (-[NSPasteboard _web_declareAndWriteDragImage:element:URL:title:archive:source:]):
115         Call -[WebImageRenderer image] to get an NSImage to pass to _web_writeImage.
116
117         * WebView/WebView.m: (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
118         Get the image using WebElementImageKey if WebElementDOMNodeKey is nil.
119
120 2006-05-16  Anders Carlsson  <acarlsson@apple.com>
121
122         Reviewed by Maciej.
123
124         http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
125         Use WebCore to render full-frame images
126         
127         * WebCoreSupport/WebFrameBridge.m:
128         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
129         Remove WebImageView handling.
130         
131         (-[WebFrameBridge mainResourceURLResponse]):
132         New function which returns the URL response for the main resource. This is used by the
133         manual loading of images.
134         
135         (-[WebFrameBridge imageTitleForFilename:size:]):
136         New function which returns a correctly translated image title given a filename and a size.
137         
138         * WebCoreSupport/WebImageRenderer.m:
139         (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
140         Remove WebImageView handling.
141         
142         * WebKit.xcodeproj/project.pbxproj:
143         Remove WebImageRepresentation and WebImageView.
144         
145         * WebView/WebArchiver.h:
146         * WebView/WebArchiver.m:
147         (+[WebArchiver archiveMainResourceForFrame:]):
148         New functions which returns a WebArchive with just the main resource, ignoring any subresources.
149         
150         * WebView/WebDataSource.m:
151         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
152         Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.
153         
154         * WebView/WebFrameView.m:
155         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
156         Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.
157         
158         (+[WebHTMLRepresentation supportedMIMETypes]):
159         Create an array of image and non-image MIME Types.
160         
161         (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
162         (+[WebHTMLRepresentation supportedImageMIMETypes]):
163         New functions, separating the list of MIME types into image and non-image ones.
164         
165         * WebView/WebHTMLView.m:
166         (+[WebHTMLView supportedImageMIMETypes]):
167         (+[WebHTMLView supportedNonImageMIMETypes]):
168         New functions which call down to WebHTMLRepresentation.
169         
170         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
171         If the image element comes from an ImageDocument, just use an archive of the main resource
172         instead of the generated HTML document.
173         
174         * WebView/WebHTMLViewPrivate.h:
175         Declare new functions.
176         
177         * WebView/WebImageRepresentation.h: Removed.
178         * WebView/WebImageRepresentation.m: Removed.
179         * WebView/WebImageView.h: Removed.
180         * WebView/WebImageView.m: Removed.
181         
182 2006-05-15  Tim Omernick  <timo@apple.com>
183
184         Reviewed by John Sullivan.
185
186         Part of <rdar://problem/4466508> Add 64-bit support to the Netscape Plugin API
187
188         Added to the Netscape Plugin API the concept of "plugin drawing models".  The drawing model
189         determines the kind of graphics context created by the browser for the plugin, as well as 
190         the Mac types of various Netscape Plugin API data structures.
191
192         There is a drawing model to represent the old QuickDraw-based API.  It is used by default
193         if QuickDraw is available on the system, unless the plugin specifies another drawing model.
194
195         The big change is the addition of the CoreGraphics drawing model.  A plugin may request this
196         drawing model to obtain access to a CGContextRef for drawing, instead of a QuickDraw CGrafPtr.
197
198         * Plugins/WebBaseNetscapePluginView.h:
199         Added PluginPort union, which wraps a NP_Port and a NP_CGContext.  This is to make access to
200         the nPort and lastSetPort ivars more convenient now that the port type differs based on the 
201         drawing model.
202         Changed types of nPort and lastSetPort to PluginPort so they can be used with any drawing model.
203         Added drawingModel ivar.
204         * Plugins/WebBaseNetscapePluginView.m:
205         Renamed PortState to PortState_QD.  PortState is now an opaque pointer.  PortState_QD cannot be
206         used if QuickDraw is unavailable.
207         (-[WebBaseNetscapePluginView fixWindowPort]):
208         Cannot be used if QuickDraw is unavailable.
209         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
210         Only fix window port if drawing model is QuickDraw.
211         Re-ordered some code so I could group QuickDraw-specific stuff into switch and if blocks (that's
212         why the diff here is so terrible).
213         Now returns a malloc()'ed PortState that the caller is responsible for freeing.  Renamed to
214         better reflect this behavior.
215         Support for the CoreGraphics drawing model -- fill PortState_CG struct, save CGContext state.
216         (-[WebBaseNetscapePluginView restorePortState:]):
217         Switch based on drawing model.
218         Support for the CoreGraphics drawing model -- restore CGContext state saved earlier.
219         (-[WebBaseNetscapePluginView sendEvent:]):
220         Formatting.
221         Don't set save/set port state or set the window in CoreGraphics mode unless the event being
222         sent is an updateEvt.  We can't provide the plugin with a CGContext outside of our view display
223         cycle.
224         Don't restore PortState if it's NULL (didn't used to be a pointer).  Free when we're done with it.
225         (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]):
226         Formatting.
227         Switch how we compare ports based on the drawing model.
228         (-[WebBaseNetscapePluginView updateAndSetWindow]):
229         Fixed for CoreGraphics by triggering a redisplay instead of sending an update event to the plugin
230         outside of the view display cycle.
231         Don't restore PortState if it's NULL (didn't used to be a pointer).  Free when we're done with it.
232         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
233         Assert that the window is only set when updating in CoreGraphics mode.
234         Log differently depending on the drawing model.
235         (-[WebBaseNetscapePluginView start]):
236         Fall back on QuickDraw if the plugin does not specify a drawing model.
237         (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
238         Cannot be used if QuickDraw is unavailable.
239         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
240         Only call -tellQuickTimeToChill in QuickDraw mode.
241         (-[WebBaseNetscapePluginView viewHasMoved:]):
242         ditto
243         (-[WebBaseNetscapePluginView invalidateRegion:]):
244         NPRegion is a CGPathRef in CoreGraphics mode.
245         (-[WebBaseNetscapePluginView getVariable:value:]):
246         Added support for retriveing the NPNVpluginDrawingModel, NPNVsupportsQuickDrawBool, and
247         NPNVsupportsCoreGraphicsBool browser variables.
248         (-[WebBaseNetscapePluginView setVariable:value:]):
249         Added support for setting the NPNVpluginDrawingModel variable.
250
251 2006-05-15  Tim Omernick  <timo@apple.com>
252
253         Reviewed by Kevin Decker.
254
255         Follow-up to my previous PLT fix.  I found upon further testing (by dramatically decreasing the
256         allowed display rate) that +_webkit_displayThrottledWindows did not always force a display when
257         necessary.  The reason is that I was not giving a proper timeout to CFRunLoopRunInMode().  I was
258         passing 0, which was causing only "expired" timers to fire.  This method is actually supposed to
259         block until all currently scheduled display timers fire.
260
261         I tested this change and found that it did not affect my PLT times when the display rate was
262         capped to 60 fps.  It also behaves as expected when the display rate is set much lower (say, 1
263         display per second); my previous fix did not work well at such display rates.
264
265         * Misc/WebNSWindowExtras.m:
266         (+[NSWindow _webkit_displayThrottledWindows]):
267         Run the runloop for an amount of time equal to the minimum allowed interval between displays.
268         This ensures that we'll block until all currently scheduled display timers fire (but we won't
269         block for future display timers).
270
271 2006-05-15  John Sullivan  <sullivan@apple.com>
272
273         Reviewed by Tim Omernick.
274         
275         - followup to previous fix; I hadn't tested quitting adequately
276
277         * WebView/WebHTMLView.m:
278         (-[WebHTMLView dealloc]):
279         call removeAllToolTips before clearing _private so that removeTrackingRect: override can work 
280         properly. Normally removeAllToolTips would be called by super, but that's too late.
281         (-[WebHTMLView finalize]):
282         ditto
283
284 2006-05-15  John Sullivan  <sullivan@apple.com>
285
286         Reviewed by Darin.
287         
288         - fixed <rdar://problem/4503016> TOT assertion failure in -[WebHTMLView(WebPrivate) removeTrackingRect:]
289         
290         We have some tricky code to deal with tracking rects, which succumbed to a fix in AppKit. Updated our
291         tricky code to work with the AppKit fix.
292
293         * WebView/WebHTMLViewInternal.h:
294         new instance variable lastToolTipTag
295         
296         * WebView/WebHTMLView.m:
297         (-[WebHTMLView removeTrackingRect:]):
298         handle removing lastToolTipTag by calling super
299         (-[WebHTMLView _setToolTip:]):
300         save tool tip tag in lastToolTipTag; this apparently used to always return 0, so we formerly had no way
301         to distinguish it from the no-tool-tips-yet case.
302
303         * WebKit.xcodeproj/project.pbxproj:
304         Xcode removed some old cruft
305
306 2006-05-15  Tim Omernick  <timo@apple.com>
307
308         Reviewed by Darin.
309
310         Safari's Page Load Test (PLT) saturates the runloop with so many sources that timers are not allowed to fire 
311         as frequently as they should.  This is a general problem with the PLT -- because of this, it does not measure
312         work done in timer callbacks during/after the page load process.
313
314         Unfortunately, this aspect of the PLT interferes with our window display throttle hack.  Because we throttle
315         display using timers, and the PLT starves timers, most of the pages loaded by the PLT do not actually display.
316         This makes the PLT run "too fast", yielding ridiculously fast numbers compared to when throttling is disabled.
317
318         I've added a new method that the PLT can call after each page load to force any starved display throttle timers
319         to fire.  By doing this, Safari's PLT will be guaranteed to display each page at least once.
320
321         * Misc/WebNSWindowExtras.h:
322         * Misc/WebNSWindowExtras.m:
323         Added a special internal runloop mode for the throttle timers.
324         (+[NSWindow _webkit_displayThrottledWindows]):
325         Run the runloop in our special internal mode until there are no more sources to handle.
326         (requestWindowDisplay):
327         Schedule the timer in the new mode as well as the standard modes.
328         
329 2006-05-15  Anders Carlsson  <acarlsson@apple.com>
330
331         Reviewed by Maciej.
332
333         http://bugzilla.opendarwin.org/show_bug.cgi?id=8913
334         REGRESSION: Can view source for text files
335
336         * WebView/WebDocumentPrivate.h:
337         Add canSaveAsWebArchive.
338         
339         * WebView/WebHTMLRepresentation.m:
340         (-[WebHTMLRepresentation canProvideDocumentSource]):
341         Call the bridge.
342         
343         (-[WebHTMLRepresentation canSaveAsWebArchive]):
344         New function. This will be used in Safari ToT to determine if a page can be saved as an archive.
345
346 2006-05-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
347
348         Reviewed by Darin.
349
350         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8739
351           Crash in RenderTableSection::paint due to manipulating DOM on resize
352
353         Manual test: manual-tests/dom-manipulation-on-resize.html
354
355         * WebView/WebHTMLView.m:
356         (-[NSArray layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Relayout if necessary
357         after sending the resize event.
358
359 2006-05-12  Maciej Stachowiak  <mjs@apple.com>
360
361         Reviewed by Brady.
362         
363         http://bugzilla.opendarwin.org/show_bug.cgi?id=8876
364         - move most private WebDataSource methods to uninstalled header
365         
366         I put the declarations for the ones only used in WebKit in WebDataSourceInternal.h
367         and removed two entirey unused ones.
368
369         * Plugins/WebNetscapePluginRepresentation.m:
370         * Plugins/WebNetscapePluginStream.m:
371         * Plugins/WebPluginController.m:
372         * Plugins/WebPluginDocumentView.m:
373         * WebCoreSupport/WebFrameBridge.m:
374         (-[WebFrameBridge dataSource]):
375         * WebCoreSupport/WebSubresourceLoader.m:
376         * WebKit.xcodeproj/project.pbxproj:
377         * WebView/WebDataSource.m:
378         (-[WebDataSource _updateIconDatabaseWithURL:]):
379         (-[WebDataSource _loadIcon]):
380         (-[WebDataSource _clearErrors]):
381         (-[WebDataSource _commitLoadWithData:]):
382         (-[WebDataSource _doesProgressiveLoadWithMIMEType:]):
383         (-[WebDataSource _addResponse:]):
384         * WebView/WebDataSourceInternal.h: Added.
385         * WebView/WebDataSourcePrivate.h:
386         * WebView/WebFrame.m:
387         * WebView/WebHTMLRepresentation.m:
388         * WebView/WebHTMLView.m:
389         * WebView/WebImageView.m:
390         * WebView/WebLoader.m:
391         * WebView/WebMainResourceLoader.m:
392         * WebView/WebPDFView.m:
393         * WebView/WebRenderNode.m:
394         * WebView/WebView.m:
395
396 2006-05-12  Tim Omernick  <timo@apple.com>
397
398         Reviewed by John Sullivan.
399
400         <rdar://problem/4542808> REGRESSION: benchjs test 1 has slowed by over 150% (8740)
401         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8740>
402
403         Improvement to my NSWindow display throttle hack.  Remember the last flush time instead of the last display time.
404         Our goal is to never draw less than 1/60th of a second after the window is flushed in order to avoid blocking on
405         a CG coalesced update.  Using the last display time is close, but this is much more accurate.  I have verified that
406         this further improves our score on BenchJS Test 1 (by 9.8% with the status bar shown compared to the previous build),
407         as well as on our internal PLT scores by a smaller percentage.
408
409         * Misc/WebNSWindowExtras.m:
410         Renamed lastDisplayTime to lastFlushTime.
411         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
412         Replace -[NSWindow flushWindow] with our own implementation.
413         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
414         Restore -[NSWindow flushWindow].
415         (replacementFlushWindow):
416         Use the last flush time instead of the last display time.
417         (getWindowDisplayInfo):
418         Renamed lastDisplayTime to lastFlushTime.
419         (requestWindowDisplay):
420         Moved some code to replacementFlushWindow().
421
422 2006-05-11  Timothy Hatcher  <timothy@apple.com>
423
424         Reviewed by Darin.
425
426         Bug 8856: Web Inspector should show the Xpath for the selected node
427         http://bugzilla.opendarwin.org/show_bug.cgi?id=8856
428         
429         Adds an Xpath area to the Node panel.
430
431         * WebInspector/webInspector/inspector.css:
432         * WebInspector/webInspector/inspector.html:
433         * WebInspector/webInspector/inspector.js:
434
435 2006-05-11  Timothy Hatcher  <timothy@apple.com>
436
437         Reviewed by Anders.
438
439         Fixes <rdar://problem/4411845> lots of SPOD trying to scroll through
440         Markup & Content inspecting body at apple.com (6614)
441         http://bugzilla.opendarwin.org/show_bug.cgi?id=6614
442
443         Removed the Markup & Content pane when viewing a element.
444         This pane was not that useful and made the inspector really slow
445         when the markup was large. Only show this pane for text nodes.
446
447         * WebInspector/webInspector/inspector.css: use -webkit prefix
448         * WebInspector/webInspector/inspector.html:
449         * WebInspector/webInspector/inspector.js:
450
451 2006-05-11  Sam Weinig  <sam.weinig@gmail.com>
452
453         Reviewed by Timothy.
454
455         Patch for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8810>
456         Bug 8810: Scrollbars in WebInspector rendered incorrectly
457
458         * WebInspector/webInspector/inspector.css: 
459         Make scroll bars absolutely positioned.
460
461 2006-05-10  Tim Omernick  <timo@apple.com>
462
463         Reviewed by Darin.
464
465         <rdar://problem/4542808> REGRESSION: benchjs test 1 has slowed by over 150% (8740)
466         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8740>
467
468         * Misc/WebNSWindowExtras.h:
469         * Misc/WebNSWindowExtras.m:
470         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
471         Overrides certain NSWindow methods so that window autodisplay can be throttled to 60Hz.
472
473         (disableWindowDisplayThrottleApplierFunction):
474         CFDictionary applier function for when the throttle is disabled.  Cancels all pending window displays,
475         and calls -displayIfNeeded on each window with a pending display.
476
477         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
478         Restores default NSWindow method implementations and clears pending window displays.
479
480         (swizzleInstanceMethod):
481         Helper function to swizzle ObjC method implementations.
482
483         (replacementPostWindowNeedsDisplay):
484         Don't call into -[NSWindow _postWindowNeedsDisplay] if requestWindowDisplay() returns NO (this is the
485         function that throttles display).
486
487         (replacementClose):
488         Clean up the WindowDisplayInfo struct for the window, since it's about to go away.
489
490         (getWindowDisplayInfo):
491         Gets the WindowDisplayInfo struct for the window, or creates it if absent.
492
493         (requestWindowDisplay):
494         Returns YES if a display is allowed right now.  Returns NO otherwise, and schedules a timer to try the
495         display again.
496
497         (cancelPendingWindowDisplay):
498         Cancels the pending display for the window, if any.
499
500         (-[NSWindow _webkit_doPendingPostWindowNeedsDisplay:]):
501         Try to call _postWindowNeedsDisplay again.
502
503         * WebView/WebFrameView.m:
504         (-[WebFrameView initWithFrame:]):
505         If the secret "WebKitThrottleWindowDisplay" default is set, then enable the NSWindow throttle.
506
507 2006-05-10  Anders Carlsson  <acarlsson@apple.com>
508
509         Reviewed by Maciej.
510
511         * WebView/WebHTMLView.m:
512         (+[WebHTMLView unsupportedTextMIMETypes]):
513         Add text/rtf
514         
515 2006-05-09  Levi Weintraub  <lweintraub@apple.com>
516
517         Reviewed by justin.
518
519         <rdar://problem/4442395>
520         Tiny MCE: Link isn't inserted after dragging into textarea field
521         
522         * WebView/WebHTMLView.m:
523         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]):
524         Modified to create an anchor object with a title as opposed to just the URL as text.
525
526 2006-05-09  Tim Omernick  <timo@apple.com>
527
528         Reviewed by Dave Harrison.
529
530         <rdar://problem/4523432> safari crashed right after disabling "block pop up windows" (or
531         other WebPreferences changes)
532
533         * Plugins/WebBaseNetscapePluginView.m:
534         (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]):
535         When the plugin view is removed from both its window and its hostWindow, stop observing
536         WebPreferences.
537
538 2006-05-09  Anders Carlsson  <acarlsson@apple.com>
539
540         Reviewed by Darin.
541
542         http://bugzilla.opendarwin.org/show_bug.cgi?id=8808
543         WebCore should handle text files
544
545         * WebKit.exp:
546         Remove WebTextView.
547         
548         * WebKit.xcodeproj/project.pbxproj:
549         Get rid of WebTextView and WebTextRepresentation.
550         
551         * WebView/WebDataSource.m:
552         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
553         * WebView/WebFrameView.m:
554         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
555         * WebView/WebHTMLView.m:
556         The text MIME types are now handled by WebHTMLView.
557         
558         (+[WebHTMLView unsupportedTextMIMETypes]):
559         New function, moved here from WebTextView.
560         
561         * WebView/WebHTMLViewPrivate.h:
562         * WebView/WebTextRepresentation.h: Removed.
563         * WebView/WebTextRepresentation.m: Removed.
564         * WebView/WebTextView.h: Removed.
565         * WebView/WebTextView.m: Removed.
566         
567         * WebView/WebView.m:
568         (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
569         Now special-case WebHTMLView instead of WebTextView for MIME types
570         that shouldn't be shown.
571
572 2006-05-09  Maciej Stachowiak  <mjs@apple.com>
573
574         Rubber stamped by Anders.
575         
576         - renamed kxmlcore to wtf
577         
578         kxmlcore --> wtf
579         KXMLCore --> WTF
580         KXC --> WTF
581
582         * Misc/WebKitLogging.h:
583         * Misc/WebKitLogging.m:
584         (initializeLogChannel):
585
586 2006-05-09  Timothy Hatcher  <timothy@apple.com>
587
588         Reviewed by Anders.
589
590         Bug 8804: Inspector should support searching by Xpath query
591         http://bugzilla.opendarwin.org/show_bug.cgi?id=8804
592
593         * WebInspector/WebInspector.m:
594         (-[WebInspector _refreshSearch]):
595         * WebInspector/webInspector/inspector.js:
596
597 2006-05-08  Maciej Stachowiak  <mjs@apple.com>
598
599         Reviewed by Tim Hatcher.
600         
601         - refactor things so that WebKit doesn't save a WebResource for every loaded URL,
602         but rather retrieves the data from the WebCore cache as needed.
603         http://bugzilla.opendarwin.org/show_bug.cgi?id=8802
604
605         * WebCoreSupport/WebFrameBridge.m:
606         (-[WebFrameBridge objectLoadedFromCacheWithURL:response:data:]):
607         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
608         * WebCoreSupport/WebSubresourceLoader.m:
609         (-[WebSubresourceLoader didReceiveResponse:]):
610         * WebView/WebDataSource.m:
611         (-[WebDataSourcePrivate dealloc]):
612         (-[WebDataSource _setupForReplaceByMIMEType:]):
613         (-[WebDataSource _archivedSubresourceForURL:]):
614         (-[WebDataSource initWithRequest:]):
615         (-[WebDataSource subresources]):
616         (-[WebDataSource subresourceForURL:]):
617         (-[WebDataSource addSubresource:]):
618         * WebView/WebDataSourcePrivate.h:
619         * WebView/WebFrame.m:
620         * WebView/WebFrameInternal.h:
621         * WebView/WebHTMLView.m:
622         * WebView/WebLoader.h:
623         * WebView/WebLoader.m:
624         (-[NSURLProtocol loadWithRequest:]):
625         (-[NSURLProtocol didFinishLoading]):
626         * WebView/WebUnarchivingState.h:
627         * WebView/WebUnarchivingState.m:
628         (-[WebUnarchivingState addResource:]):
629
630 2006-05-04  Mitz Pettel  <opendarwin.org@mitzpettel.com>
631
632         Reviewed by Darin.
633
634         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8594
635           REGRESSION: Exception on closing a page containing (just) an mp3
636
637         Test: plugins/pluginDocumentView-deallocated-dataSource.html
638
639         * Plugins/WebPluginDocumentView.m:
640         (-[WebPluginDocumentView dealloc]): Release the dataSource.
641         (-[WebPluginDocumentView setDataSource:]): Retain the dataSource.
642
643 2006-05-04  Tim Omernick  <timo@apple.com>
644
645         Reviewed by Darin.
646
647         <rdar://problem/4537606> Give Java WebKit plugin access to its own DOM element
648
649         * WebCoreSupport/WebFrameBridge.m:
650         (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
651         Pass the DOMElement to the plugin if it's a WebKit plugin (we need to handle Netscape plugins
652         differently).
653
654 2006-05-04  Tim Omernick  <timo@apple.com>
655
656         Reviewed by John Sullivan.
657
658         <rdar://problem/4480186> Give WebKit plugins access to their own DOM element
659
660         This does not fix <rdar://problem/4480187> Give Netscape plugins access to their own DOM element --
661         we're not going to use the ObjC DOM API for that, but rather the NP bindings API.
662
663         * Plugins/WebPluginPackage.m:
664         Declared WebPlugInContainingElementKey.  This is not a new plugin argument -- it's been in our public
665         headers since all along, but has never been concretely declared -- plugins that referenced it would not
666         link.
667
668         * WebCoreSupport/WebFrameBridge.m:
669         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:]):
670         Added DOMElement parameter, which is now included in the plugin arguments dictionary.
671         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:]):
672         ditto
673
674         * WebKit.exp:
675         Export WebPlugInContainingElementKey.
676
677 2006-05-02  Darin Adler  <darin@apple.com>
678
679         Reviewed by Eric.
680
681         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8677
682           REGRESSION: wkSetUpFontCache() may be called before the SPIs are connected.
683
684         I don't know how reproduce this without one of Rosyna's hacks installed, so I
685         did not include a test.
686
687         * Misc/WebStringTruncator.m: (+[WebStringTruncator initialize]): Add call to
688         InitWebCoreSystemInterface.
689
690         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Add a boolean
691         so we will only do this one time.
692
693 2006-05-02  Adele Peterson  <adele@apple.com>
694
695         Reviewed by Tim O.
696
697         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6988
698         REGRESSION: Display correct context menus for new text fields
699
700         * WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]):
701         Don't let the UI delegate have control over the context menu for text fields.
702
703 2006-05-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>
704
705         Reviewed by Darin.
706
707         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8658
708           Assertion failure in -[WebPluginContainerCheck _isForbiddenFileLoad]
709           (bridge is null) when clicking QuickTime object with href
710
711         * WebView/WebHTMLView.m:
712        (-[WebHTMLView setDataSource:]): Set the pluginController's dataSource.
713
714 2006-05-01  Maciej Stachowiak  <mjs@apple.com>
715
716         - fix build
717
718         * WebKit.exp: Add symbol that the new Safari will need.
719
720 2006-05-01  John Sullivan  <sullivan@apple.com>
721
722         Reviewed by Tim Omernick.
723         
724         - fixed <rdar://problem/3126419> history load enforces history limit, but deletes the newest instead of oldest items
725         - added notification reporting items discarded during load because the age limit or item count limit is exceeded
726         - a few other minor tweaks
727
728         * History/WebHistory.h:
729         fixed a typo and an incorrect method name
730         
731         * History/WebHistoryPrivate.h:
732         Added declaration of WebHistoryItemsDiscardedWhileLoadingNotification. Also changed signature of
733         WebHistoryPrivate method -loadFromURL:error: to have new collectDiscardedItemsInto: parameter.
734         Also deleted declarations of two methods that didn't actually exist (loadHistory and initWithFile:), 
735         and added comments about which methods should become public API, WebKit-internal, or file-internal.
736
737         * History/WebHistory.m:
738         (-[WebHistoryPrivate arrayRepresentation]):
739         This method, called only by _saveHistoryGuts:, used to deliberately leave out items that violated
740         either the age limit or the item count limit. Now all the items are included (and thus saved), and
741         all the pruning is done at load time, so clients can keep track of the pruned items by observing
742         the new WebHistoryItemsDiscardedWhileLoadingNotification
743         (-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
744         Now keeps track of all the items that violated the age limit or item count limit in the new
745         collectedDiscardedItemsInto: parameter. Also, now processes items in forward order rather than
746         reverse order to fix 3126419. Now uses compare: rather than _webkit_compareDay: to check against
747         age limit; this is faster and also more correct (most noticeable with small age limits).
748         (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]):
749         new collectDiscardedItemsInto: parameter, passed into _loadHistoryGuts:...
750         (-[WebHistory loadFromURL:error:]):
751         Now sends new WebHistoryItemsDiscardedWhileLoadingNotification if any items were discarded due
752         to age limit or item count limit.
753         
754         * WebKit.exp:
755         exported symbol for WebHistoryItemsDiscardedWhileLoadingNotification
756
757 2006-04-29  Timothy Hatcher  <timothy@apple.com>
758
759         Reviewed by Maciej.
760
761         Bug 8577: [TabBarView _web_superviewOfClass:stoppingAtClass:]
762         http://bugzilla.opendarwin.org/show_bug.cgi?id=8577
763
764         Added back _web_superviewOfClass:stoppingAtClass:.
765         This method was removed in r14032 (bug 8562), but Safari 2.0 still uses it.
766         We should remove this method once Open Source users have a new version
767         to use with TOT WebKit.
768
769         * Misc/WebNSViewExtras.m:
770         (-[NSView _web_superviewOfClass:stoppingAtClass:]):
771
772 2006-04-28  David Hyatt  <hyatt@apple.com>
773
774         Double the cache size to account for our revised (more accurate)
775         measurement of the image buffers.
776
777         Reviewed by darin
778
779         * WebView/WebPreferences.m:
780         (+[WebPreferences initialize]):
781
782 2006-04-28  David Hyatt  <hyatt@apple.com>
783
784         Fix for 8586, move WebTextRenderer into WebCore.
785
786         Reviewed by darin
787
788         * Misc/WebKitNSStringExtras.m:
789         (-[NSString _web_drawAtPoint:font:textColor:]):
790         (-[NSString _web_widthWithFont:]):
791         * Misc/WebStringTruncator.m:
792         (+[WebStringTruncator centerTruncateString:toWidth:]):
793         (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
794         (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
795         (+[WebStringTruncator widthOfString:font:]):
796         * WebCoreSupport/WebSystemInterface.m:
797         (InitWebCoreSystemInterface):
798         * WebCoreSupport/WebTextRenderer.h: Removed.
799         * WebCoreSupport/WebTextRenderer.m: Removed.
800         * WebCoreSupport/WebTextRendererFactory.h: Removed.
801         * WebCoreSupport/WebTextRendererFactory.m: Removed.
802         * WebKit.xcodeproj/project.pbxproj:
803         * WebView/WebFrameView.m:
804         (-[WebFrameView initWithFrame:]):
805         * WebView/WebHTMLView.m:
806         (-[NSArray _addToStyle:fontA:fontB:]):
807         * WebView/WebTextView.m:
808         (-[WebTextView setFixedWidthFont]):
809         * WebView/WebView.m:
810         (+[WebView _setAlwaysUseATSU:]):
811         (+[WebView _setShouldUseFontSmoothing:]):
812         (+[WebView _shouldUseFontSmoothing]):
813
814 2006-04-28  Eric Seidel  <eseidel@apple.com>
815
816         Reviewed by darin.
817
818         Misc. style cleanup.
819         http://bugzilla.opendarwin.org/show_bug.cgi?id=8643
820
821         * Misc/WebIconDatabase.m:
822         (-[NSMutableDictionary iconForURL:withSize:cache:]):
823         (-[NSMutableDictionary iconURLForURL:]):
824         (-[NSMutableDictionary retainIconForURL:]):
825         (-[NSMutableDictionary releaseIconForURL:]):
826         (-[WebIconDatabase _setIcon:forIconURL:]):
827         (-[WebIconDatabase _iconsForIconURLString:]):
828         (-[WebIconDatabase _forgetIconForIconURLString:]):
829         (-[WebIconDatabase _releaseIconForIconURLString:]):
830         (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
831         * Plugins/WebBasePluginPackage.m:
832         (+[WebBasePluginPackage pluginWithPath:]):
833         (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]):
834         (-[WebBasePluginPackage initWithPath:]):
835         (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]):
836         (-[WebBasePluginPackage pListForPath:createFile:]):
837         (-[WebBasePluginPackage getPluginInfoFromPLists]):
838         (-[WebBasePluginPackage load]):
839         (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):
840         (-[WebBasePluginPackage isNativeLibraryData:]):
841         (-[NSArray _web_lowercaseStrings]):
842         * Plugins/WebNetscapePluginPackage.m:
843         (-[WebNetscapePluginPackage openResourceFile]):
844         (-[WebNetscapePluginPackage closeResourceFile:]):
845         (-[WebNetscapePluginPackage stringForStringListID:andIndex:]):
846         (-[WebNetscapePluginPackage getPluginInfoFromResources]):
847         (-[WebNetscapePluginPackage initWithPath:]):
848         (-[WebNetscapePluginPackage executableType]):
849         (-[WebNetscapePluginPackage unloadWithoutShutdown]):
850         (-[WebNetscapePluginPackage load]):
851         (-[WebNetscapePluginPackage unload]):
852         * Plugins/WebNetscapePluginRepresentation.m:
853         (-[WebNetscapePluginRepresentation redeliverStream]):
854         * Plugins/WebPluginDatabase.m:
855         (+[WebPluginDatabase installedPlugins]):
856         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
857         (-[WebPluginDatabase pluginForExtension:]):
858         (pluginLocations):
859         (-[WebPluginDatabase init]):
860         (-[WebPluginDatabase refresh]):
861         * Plugins/npapi.m:
862         (NPN_MemAlloc):
863         (NPN_MemFree):
864         (pluginViewForInstance):
865         * WebCoreSupport/WebSubresourceLoader.m:
866         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
867         (-[WebSubresourceLoader willSendRequest:redirectResponse:]):
868         * WebView/WebDataSource.m:
869         (-[WebDataSource isLoading]):
870         * WebView/WebFrame.m:
871         (-[WebFrame _loadDataSource:withLoadType:formState:]):
872         (-[WebFrame _subframeIsLoading]):
873         * WebView/WebView.m:
874         (-[WebView initWithFrame:]):
875         (-[WebView initWithFrame:frameName:groupName:]):
876
877 2006-04-26  Tim Omernick  <timo@apple.com>
878
879         Reviewed by Geoff.
880
881         <rdar://problem/4525105> Repro TOT crash in [WebBaseNetscapePluginView dealloc] at coachella.com
882         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8564> crashed when closing a tab
883
884         * WebView/WebFrame.m:
885         (-[WebFramePrivate dealloc]):
886         Assert that plugInViews has been released.
887         (-[WebFrame _addPlugInView:]):
888         New method.  Adds the plug-in view to the plugInViews set and calls -setWebFrame: on it.
889         (-[WebFrame _removeAllPlugInViews]):
890         New method.  Calls -setWebFrame:nil on all plug-in views and releases the plugInViews set.
891         (-[WebFrame _willCloseURL]):
892         New method.  Dispose of plug-in views when leaving a page (or closing the WebView).
893
894         * WebView/WebFrameInternal.h:
895         Declared -_addPlugInView:, -_removeAllPlugInViews, -_willCloseURL
896
897         * WebCoreSupport/WebFrameBridge.m:
898         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
899         Call -[WebFrame _addPlugInView:] instead of directly setting plug-in views' frames.  This
900         allows us to keep track of them so that we can explicitly dispose of them when leaving the page.
901         (-[WebFrameBridge closeURL]):
902         Override -[WebCoreFrameBridge closeURL] so that we can perform our own teardown when leaving
903         a page or closing the WebView.
904
905         * Plugins/WebBaseNetscapePluginView.h:
906         Declared -stop so that subclass WebNetscapePluginEmbeddedView can call it.
907
908         * Plugins/WebNetscapePluginEmbeddedView.m:
909         (-[WebNetscapePluginEmbeddedView setWebFrame:]):
910         Stop the plug-in when it is removed from its WebFrame.
911
912 2006-04-25  Tim Omernick  <timo@apple.com>
913
914         Reviewed by John Sullivan.
915
916         <rdar://problem/4472035> SPI that checks for URL policy fails in plugin documents
917
918         * Plugins/WebPluginController.h:
919         * Plugins/WebPluginController.m:
920         (-[WebPluginController URLPolicyCheckReferrer]):
921         New method.  Get the referrer from the frame's data source's NSURLResponse.  Note that for
922         document types loaded by WebCore, this URL is the same as -[WebCorePageBridge referrer],
923         since the response URL is what we pass to -[WebCorePageBridge openURL:].
924
925         * Plugins/WebPluginContainerCheck.m:
926         (-[WebPluginContainerCheck _isForbiddenFileLoad]):
927         Use the WebPluginController's -URLPolicyCheckReferrer instead of assuming that the bridge's
928         -referrer is valid.  -[WebCorePageBridge referrer] is only set during the normal WebCore page
929         load process, which has nothing to do with loading standalone plugin documents.
930
931 2006-04-25  Tim Omernick  <timo@apple.com>
932
933         Reviewed by Eric.
934
935         <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc]
936         running layout tests
937
938         * Plugins/WebPluginPackage.m:
939         (-[WebPluginPackage unload]):
940         Clear isLoaded here.  It turns out that only WebNetscapePluginPackage cleared its isLoaded
941         flag in -unload.  We need to also do it here, because the superclass (WebBasePluginPackage)
942         asserts in -dealloc that -unload has been called.
943
944 2006-04-25  Tim Omernick  <timo@apple.com>
945
946         Reviewed by Eric.
947
948         <rdar://problem/4526120> -[WebBasePluginPackage finalize] leaks the CFBundle (under GC only)
949
950         * Plugins/WebBasePluginPackage.m:
951         (-[WebBasePluginPackage finalize]):
952         Release the CFBundle here.
953
954 2006-04-25  Tim Omernick  <timo@apple.com>
955
956         Reviewed by Geoff.
957
958         <rdar://problem/4472037>
959         
960         Private extensions to the WebPlugin interface.  A plugin may implement these methods to receive loading callbacks
961         for its main resource.  Plug-ins that implement this SPI show better loading progress in the browser, can be saved
962         to disk, and are more efficient by avoiding making duplicate GET or POST requests for the plug-in's main resource.
963
964         I want to provide a solid API for plug-in networking, but time constraints require that I first provide this simple
965         SPI for internal clients.
966
967         * Plugins/WebPluginViewFactoryPrivate.h:
968         Added a new plugin argument, WebPlugInShouldLoadMainResourceKey.  If YES, the plugin is responsible
969         for loading its own content.  If NO, the plugin should wait for WebKit to send it the data via the
970         new request-sharing SPI.
971
972         * Plugins/WebPluginPrivate.h: Added.
973         Request-sharing SPI.  See comments in code.
974
975         * Plugins/WebPluginDocumentView.h:
976         Hang onto the plugin view as an ivar so we can call the new resource loading methods on it.
977         * Plugins/WebPluginDocumentView.m:
978         (-[WebPluginDocumentView dealloc]):
979         Release pluginView ivar.
980         (-[WebPluginDocumentView setDataSource:]):
981         Pass NO for WebPlugInShouldLoadMainResourceKey to indicate to the plugin that it should not 
982         load its own main resource -- the data will come from WebKit.  This is only necessary for plugin
983         documents.  By the time we create the view for a plugin document, we already have fetched some
984         of its main resource's data.  Embedded plugins do not have this issue because WebKit is not
985         involved in loading their content.
986         Call -webPlugInMainResourceDidReceivResponse: on the plugin if necessary.  This lets the plugin
987         know how much and what kind of data is going to be received.
988         (-[WebPluginDocumentView dataSourceUpdated:]):
989         If the plugin implements the new request-sharing SPI, don't cancel the in-progress request.
990         (-[WebPluginDocumentView receivedData:withDataSource:]):
991         Forward to the plugin via the new request-sharing SPI.
992         (-[WebPluginDocumentView receivedError:withDataSource:]):
993         ditto
994         (-[WebPluginDocumentView finishedLoadingWithDataSource:]):
995         ditto
996
997         * Plugins/WebPluginPackage.m:
998         Added WebPlugInShouldLoadMainResourceKey, tweaked some style a bit.
999
1000         * WebCoreSupport/WebFrameBridge.m:
1001         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]):
1002         Pass YES for WebPlugInShouldLoadMainResourceKey.  Embedded plugins must load their own data.
1003         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
1004         ditto
1005         
1006         * WebKit.xcodeproj/project.pbxproj:
1007         Added WebPluginPrivate.h
1008
1009 2006-04-24  Maciej Stachowiak  <mjs@apple.com>
1010
1011         Reviewed by Geoff.
1012         
1013         <rdar://problem/4525364> REGRESSION (yesterday?): LOG() mechanism is broken
1014         
1015         - initialize WebKit's log channels
1016
1017         * Misc/WebKitLogging.h:
1018         * Misc/WebKitLogging.m:
1019         (initializeLogChannel):
1020         (WebKitInitializeLoggingChannelsIfNecessary):
1021         * WebView/WebPreferences.m:
1022         (+[WebPreferences initialize]):
1023         * WebView/WebView.m:
1024         (-[WebView _commonInitializationWithFrameName:groupName:]):
1025
1026 2006-04-24  Maciej Stachowiak  <mjs@apple.com>
1027
1028         Build fix:
1029         
1030         - move some prematurely moved code back
1031
1032         * WebCoreSupport/WebFrameBridge.h:
1033         * WebCoreSupport/WebFrameBridge.m:
1034         (-[WebFrameBridge fini]):
1035         (-[WebFrameBridge _preferences]):
1036         (-[WebFrameBridge _retrieveKeyboardUIModeFromPreferences:]):
1037         (-[WebFrameBridge keyboardUIMode]):
1038
1039 2006-04-24  Maciej Stachowiak  <mjs@apple.com>
1040
1041         Reviewed by Darin.
1042
1043         - move more code from WebFrameBridge to WebCoreFrameBridge
1044
1045         * WebCoreSupport/WebFrameBridge.h:
1046         * WebCoreSupport/WebFrameBridge.m:
1047         (-[WebFrameBridge fini]):
1048         (-[WebFrameBridge expiresTimeForResponse:]):
1049         (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
1050         (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
1051         (-[WebFrameBridge valueForKey:keys:values:]):
1052         (-[WebFrameBridge _preferences]):
1053
1054 2006-04-24  Maciej Stachowiak  <mjs@apple.com>
1055
1056         Reviewed by Anders.
1057         
1058         - Remove use of _webSuperviewOfClass: and related
1059         http://bugzilla.opendarwin.org/show_bug.cgi?id=8562
1060         
1061         I removed all use of these, now objects get at each other via
1062         actual pointers, not using the view hierarchy. However, I left two
1063         of the calls in because other clients rely on them as SPI (ugh).
1064
1065         * History/WebHistoryItem.m:
1066         * Misc/WebNSViewExtras.h:
1067         * Misc/WebNSViewExtras.m:
1068         (-[NSView _web_superviewOfClass:]):
1069         (-[NSView _web_parentWebFrameView]):
1070         * Plugins/WebNetscapePluginDocumentView.m:
1071         (-[WebNetscapePluginDocumentView layout]):
1072         * Plugins/WebNetscapePluginEmbeddedView.h:
1073         * Plugins/WebNetscapePluginEmbeddedView.m:
1074         (-[WebNetscapePluginEmbeddedView setWebFrame:]):
1075         (-[WebNetscapePluginEmbeddedView dataSource]):
1076         * Plugins/WebNullPluginView.h:
1077         * Plugins/WebNullPluginView.m:
1078         (-[WebNullPluginView setWebFrame:]):
1079         (-[WebNullPluginView viewDidMoveToWindow]):
1080         * Plugins/WebPluginController.h:
1081         * Plugins/WebPluginController.m:
1082         (-[WebPluginController setDataSource:]):
1083         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
1084         (-[WebPluginController webPlugInContainerShowStatus:]):
1085         (-[WebPluginController webPlugInContainerSelectionColor]):
1086         (-[WebPluginController webFrame]):
1087         * Plugins/WebPluginDocumentView.h:
1088         * Plugins/WebPluginDocumentView.m:
1089         (-[WebPluginDocumentView setDataSource:]):
1090         (-[WebPluginDocumentView layout]):
1091         (-[WebPluginDocumentView currentWindow]):
1092         (-[WebPluginDocumentView viewWillMoveToWindow:]):
1093         * WebCoreSupport/WebFrameBridge.m:
1094         (-[WebFrameBridge formControlIsBecomingFirstResponder:]):
1095         (-[WebFrameBridge formControlIsResigningFirstResponder:]):
1096         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
1097         * WebCoreSupport/WebViewFactory.m:
1098         (-[WebViewFactory bridgeForView:]):
1099         * WebView/WebClipView.m:
1100         (-[NSView initWithFrame:]):
1101         * WebView/WebFrameView.m:
1102         (-[WebFrameView _shouldDrawBorder]):
1103         (-[WebFrameView webCoreBridge]):
1104         * WebView/WebHTMLView.m:
1105         (-[WebTextCompleteController dealloc]):
1106         (-[WebHTMLView _dataSource]):
1107         (-[WebHTMLView _bridge]):
1108         (-[WebHTMLView _webView]):
1109         (-[WebHTMLView _frameView]):
1110         (-[WebHTMLView _web_firstResponderCausesFocusDisplay]):
1111         (-[NSArray becomeFirstResponder]):
1112         (-[NSArray setDataSource:]):
1113         (-[NSArray pageUp:]):
1114         (-[NSArray pageDown:]):
1115         (-[NSArray pageUpAndModifySelection:]):
1116         (-[NSArray pageDownAndModifySelection:]):
1117         (-[WebHTMLView _frame]):
1118         * WebView/WebHTMLViewInternal.h:
1119         * WebView/WebImageView.h:
1120         * WebView/WebImageView.m:
1121         (-[WebImageView drawRect:]):
1122         (-[WebImageView adjustFrameSize]):
1123         (-[WebImageView setDataSource:]):
1124         (-[WebImageView webView]):
1125         (-[WebImageView writeImageToPasteboard:types:]):
1126         (-[WebImageView copy:]):
1127         (-[WebImageView elementAtPoint:]):
1128         (-[WebImageView mouseDragged:]):
1129         * WebView/WebPDFView.h:
1130         * WebView/WebPDFView.m:
1131         (-[WebPDFView _applyPDFDefaults]):
1132         (-[WebPDFView _trackFirstResponder]):
1133         (-[PDFPrefUpdatingProxy forwardInvocation:]):
1134         * WebView/WebRenderNode.m:
1135         (-[WebRenderNode initWithWebFrameView:]):
1136         * WebView/WebTextView.h:
1137         * WebView/WebTextView.m:
1138         (-[WebTextView _textSizeMultiplierFromWebView]):
1139         (-[WebTextView _preferences]):
1140         (-[WebTextView setDataSource:]):
1141         (-[WebTextView _webFrame]):
1142         (-[WebTextView dragSelectionWithEvent:offset:slideBack:]):
1143         (-[WebTextView menuForEvent:]):
1144         (-[WebTextView resignFirstResponder]):
1145         (-[WebTextView drawPageBorderWithSize:]):
1146         (-[WebTextView knowsPageRange:]):
1147         * WebView/WebView.m:
1148         (-[WebView searchFor:direction:caseSensitive:wrap:]):
1149         (containingFrameView):
1150         (-[WebView _focusedFrame]):
1151         (-[WebView _frameViewAtWindowPoint:]):
1152
1153 2006-04-23  Maciej Stachowiak  <mjs@apple.com>
1154
1155         Reviewed by Darin.
1156         
1157         - push WebFileButton and WebStringTruncator code down to WebCore
1158         http://bugzilla.opendarwin.org/show_bug.cgi?id=8552
1159
1160         * Misc/WebStringTruncator.m:
1161         (+[WebStringTruncator centerTruncateString:toWidth:]):
1162         (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
1163         (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
1164         (+[WebStringTruncator widthOfString:font:]):
1165         * WebCoreSupport/WebFileButton.h: Removed.
1166         * WebCoreSupport/WebFileButton.m: Removed.
1167         * WebCoreSupport/WebFrameBridge.h:
1168         * WebCoreSupport/WebFrameBridge.m:
1169         (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
1170         * WebCoreSupport/WebViewFactory.m:
1171         (-[WebViewFactory fileButtonChooseFileLabel]):
1172         (-[WebViewFactory fileButtonNoFileSelectedLabel]):
1173         * WebKit.xcodeproj/project.pbxproj:
1174
1175 2006-04-23  Maciej Stachowiak  <mjs@apple.com>
1176
1177         Reviewed by Eric.
1178         
1179         - remove WebCookieAdapter, WebCore can just use Foundation directly.
1180
1181         * WebCoreSupport/WebCookieAdapter.h: Removed.
1182         * WebCoreSupport/WebCookieAdapter.m: Removed.
1183         * WebKit.xcodeproj/project.pbxproj:
1184         * WebView/WebFrameView.m:
1185         (-[WebFrameView initWithFrame:]):
1186
1187 2006-04-23  Maciej Stachowiak  <mjs@apple.com>
1188
1189         Reviewed by Adele.
1190         
1191         - prune WebView SPI of unused calls
1192         
1193         Specifically I moved methods that have no callers outside WebKit
1194         to WebViewInternal.h or removed them entirely.
1195
1196         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
1197         * Plugins/WebBaseNetscapePluginView.m:
1198         * Plugins/WebNetscapePluginDocumentView.m:
1199         * Plugins/WebNetscapePluginStream.m:
1200         * Plugins/WebNullPluginView.m:
1201         * Plugins/WebPluginContainerCheck.m:
1202         * Plugins/WebPluginController.m:
1203         * WebCoreSupport/WebFrameBridge.m:
1204         * WebCoreSupport/WebPageBridge.m:
1205         * WebCoreSupport/WebSubresourceLoader.m:
1206         * WebView/WebDataSource.m:
1207         * WebView/WebHTMLView.m:
1208         * WebView/WebImageView.m:
1209         * WebView/WebLoader.m:
1210         * WebView/WebMainResourceLoader.m:
1211         * WebView/WebPDFView.m:
1212         * WebView/WebScriptDebugDelegate.m:
1213         * WebView/WebView.m:
1214         (-[WebView _downloadURL:]):
1215         * WebView/WebViewInternal.h:
1216         * WebView/WebViewPrivate.h:
1217
1218 2006-04-22  Maciej Stachowiak  <mjs@apple.com>
1219
1220         Reviewed by Eric.
1221
1222         - remove WebKit copy of assertions code, use the assertions
1223         stuff from JavaScriptCore instead.
1224
1225         * Carbon/HIViewAdapter.m:
1226         * DOM/WebDOMOperations.m:
1227         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
1228         * DefaultDelegates/WebDefaultPolicyDelegate.m:
1229         (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]):
1230         * History/WebBackForwardList.m:
1231         * History/WebHistory.m:
1232         (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
1233         (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]):
1234         * History/WebHistoryItem.m:
1235         * Misc/WebAssertions.h: Removed.
1236         * Misc/WebAssertions.m: Removed.
1237         * Misc/WebDatabase.m:
1238         * Misc/WebDownload.m:
1239         * Misc/WebFileDatabase.m:
1240         (SetThreadPriority):
1241         * Misc/WebIconDatabase.m:
1242         (-[NSMutableDictionary iconForURL:withSize:cache:]):
1243         (-[NSMutableDictionary releaseIconForURL:]):
1244         (-[NSMutableDictionary delayDatabaseCleanup]):
1245         (-[NSMutableDictionary allowDatabaseCleanup]):
1246         (-[WebIconDatabase _loadIconDictionaries]):
1247         (-[WebIconDatabase _updateFileDatabase]):
1248         (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
1249         * Misc/WebIconLoader.m:
1250         * Misc/WebKitLogging.h:
1251         * Misc/WebKitLogging.m:
1252         * Misc/WebKitSystemBits.m:
1253         (initCapabilities):
1254         * Misc/WebLRUFileList.m:
1255         (WebLRUFileListRemoveOldestFileFromList):
1256         (WebLRUFileListGetFileSize):
1257         * Misc/WebLocalizableStrings.m:
1258         * Misc/WebNSCalendarDateExtras.m:
1259         * Misc/WebNSDataExtras.m:
1260         * Misc/WebNSDictionaryExtras.m:
1261         * Misc/WebNSFileManagerExtras.m:
1262         * Misc/WebNSPasteboardExtras.m:
1263         * Misc/WebNSURLExtras.m:
1264         (hexDigit):
1265         (hexDigitValue):
1266         (allCharactersInIDNScriptWhiteList):
1267         * Misc/WebNSURLRequestExtras.m:
1268         * Misc/WebNSUserDefaultsExtras.m:
1269         * Misc/WebStringTruncator.m:
1270         * Panels/WebAuthenticationPanel.m:
1271         (-[WebAuthenticationPanel loadNib]):
1272         * Panels/WebPanelAuthenticationHandler.m:
1273         * Plugins/WebBaseNetscapePluginStream.m:
1274         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
1275         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
1276         * Plugins/WebBaseNetscapePluginView.m:
1277         (TSMEventHandler):
1278         (-[WebBaseNetscapePluginView start]):
1279         (-[WebBaseNetscapePluginView status:]):
1280         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
1281         * Plugins/WebBasePluginPackage.m:
1282         * Plugins/WebNetscapePluginDocumentView.m:
1283         * Plugins/WebNetscapePluginPackage.m:
1284         (-[WebNetscapePluginPackage load]):
1285         * Plugins/WebNetscapePluginRepresentation.m:
1286         * Plugins/WebPluginContainerCheck.m:
1287         * Plugins/WebPluginController.m:
1288         (-[WebPluginController addPlugin:]):
1289         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
1290         (-[WebPluginController webPlugInContainerShowStatus:]):
1291         * Plugins/WebPluginDatabase.m:
1292         * Plugins/WebPluginDocumentView.m:
1293         * WebCoreSupport/WebCookieAdapter.m:
1294         * WebCoreSupport/WebFileButton.m:
1295         * WebCoreSupport/WebFrameBridge.m:
1296         (-[WebFrameBridge runModal]):
1297         * WebCoreSupport/WebImageData.m:
1298         (-[WebImageData _checkSolidColor:]):
1299         (-[WebImageData tileInRect:fromPoint:context:]):
1300         (-[WebImageData scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]):
1301         * WebCoreSupport/WebImageDecoder.m:
1302         * WebCoreSupport/WebImageRenderer.m:
1303         (-[WebImageRenderer TIFFRepresentation]):
1304         * WebCoreSupport/WebImageRendererFactory.m:
1305         * WebCoreSupport/WebJavaScriptTextInputPanel.m:
1306         * WebCoreSupport/WebKeyGenerator.m:
1307         * WebCoreSupport/WebPageBridge.m:
1308         * WebCoreSupport/WebSubresourceLoader.m:
1309         * WebCoreSupport/WebTextRenderer.m:
1310         (widthForGlyph):
1311         (-[WebTextRenderer initWithFont:]):
1312         (drawGlyphs):
1313         (initializeATSUStyle):
1314         (createATSULayoutParameters):
1315         (getTextBounds):
1316         (ATSU_draw):
1317         * WebCoreSupport/WebTextRendererFactory.m:
1318         * WebCoreSupport/WebViewFactory.m:
1319         * WebKit.exp:
1320         * WebKit.xcodeproj/project.pbxproj:
1321         * WebKitPrefix.h:
1322         * WebView/WebArchiver.m:
1323         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
1324         * WebView/WebClipView.m:
1325         * WebView/WebDataProtocol.m:
1326         * WebView/WebDataSource.m:
1327         (-[WebDataSource _startLoading]):
1328         * WebView/WebFormDataStream.m:
1329         (formEventCallback):
1330         (webSetHTTPBody):
1331         * WebView/WebFrame.m:
1332         (-[WebFrame _transitionToCommitted:]):
1333         * WebView/WebFrameView.m:
1334         * WebView/WebHTMLRepresentation.m:
1335         * WebView/WebHTMLView.m:
1336         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
1337         (-[NSArray drawSingleRect:]):
1338         (-[NSArray namesOfPromisedFilesDroppedAtDestination:]):
1339         (-[NSArray _scaleFactorForPrintOperation:]):
1340         (-[NSArray deleteBackwardByDecomposingPreviousCharacter:]):
1341         (-[NSArray checkSpelling:]):
1342         (-[NSArray showGuessPanel:]):
1343         (-[NSArray _changeSpellingToWord:]):
1344         (-[NSArray ignoreSpelling:]):
1345         (-[NSArray performFindPanelAction:]):
1346         (-[WebTextCompleteController doCompletion]):
1347         * WebView/WebImageView.m:
1348         * WebView/WebLoader.m:
1349         (-[NSURLProtocol connection:willCacheResponse:]):
1350         * WebView/WebPDFRepresentation.m:
1351         (+[WebPDFRepresentation PDFDocumentClass]):
1352         * WebView/WebPDFView.m:
1353         (+[WebPDFView PDFKitBundle]):
1354         (+[WebPDFView PDFViewClass]):
1355         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
1356         * WebView/WebTextRepresentation.m:
1357         * WebView/WebTextView.m:
1358         * WebView/WebUnarchivingState.m:
1359         * WebView/WebView.m:
1360
1361 2006-04-22  Timothy Hatcher  <timothy@apple.com>
1362
1363         Reviewed by Eric.
1364
1365         http://bugzilla.opendarwin.org/show_bug.cgi?id=8514
1366         Bug 8514: Web Inspector hides when the app is in the background
1367
1368         Makes the inspector not hide in the background. Since the inspector is a floating panel
1369         we need to call setFloatingPanel:NO when the app is switching into the background. Then
1370         call setFloatingPanel:YES when the app is activated again. Without this the inspector
1371         would float above all applications.
1372
1373         * WebInspector/WebInspector.m:
1374         (-[NSWindow window]): setHidesOnDeactivate:NO
1375         (-[NSWindow windowWillClose:]): de-regiser appliction active notifications
1376         (-[NSWindow showWindow:]): register for appliction active notifications
1377         (-[WebInspector _applicationWillResignActive]): setFloatingPanel:NO
1378         (-[WebInspector _applicationDidBecomeActive]): setFloatingPanel:YES
1379
1380 2006-04-21  Adele Peterson  <adele@apple.com>
1381
1382         Reviewed by Darin.
1383
1384         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8181
1385         REGRESSION: After tabbing in page's field, attempting to tab from Google toolbar search to page fails on first try
1386
1387         Test: manual-tests/tabbing-input-google.html
1388
1389         * WebView/WebHTMLView.m: (-[NSArray resignFirstResponder]):
1390         When resigning first responder, reset willBecomeFirstResponderForNodeFocus, so when the WebHTMLView gets focus again
1391         it knows it can start moving through the tab cycle.
1392
1393 2006-04-20  Tim Omernick  <timo@apple.com>
1394
1395         Reviewed by John Sullivan.
1396
1397         <rdar://problem/4476875> Support printing for embedded Netscape plugins
1398
1399         NOTE: This only works with the Flash plugin right now.  It appears that the other
1400         major plugins either have awful printing support, or no printing support.  If someone
1401         can find an example of any other embedded Netscape plugin printing in any browser on
1402         the Mac, I will be happy to eat my own words!
1403
1404         * Plugins/WebBaseNetscapePluginView.m:
1405         (-[WebBaseNetscapePluginView drawRect:]):
1406         When printing, get the printed bitmap via -_printedPluginBitmap, and draw it into the
1407         plugin view.
1408         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
1409         Call NPP_Print on the plugin to render it into a GWorld.  This GWorld has the same
1410         underlying buffer as an NSBitmapImageRep, which is returned to the caller.
1411
1412 2006-04-20 Mitz Pettel  <opendarwin.org@mitzpettel.com>
1413
1414         Reviewed by Darin.
1415
1416         WebKit part of:
1417         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8276
1418           REGRESSION (NativeTextField): Pasting a Finder item into a text field results in
1419             a file: URL being pasted instead of just the file name
1420         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8283
1421           REGRESSION: File's path doesn't appear after dragging file into input field
1422
1423         * WebView/WebHTMLView.m:
1424         (-[WebHTMLView _plainTextFromPasteboard:]): Added method that tries to copy AppKit
1425         text fields' logic for extracting plain text from the pasteboard.
1426         (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Added helper method.
1427         (-[WebHTMLView _shouldInsertText:replacingDOMRange:givenAction:]):
1428         (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]):
1429         (-[WebHTMLView readSelectionFromPasteboard:]): Paste as plain text if
1430         rich text is not allowed.
1431         (-[WebHTMLView validateUserInterfaceItem:]): Changed to not allow pasteAsRichText:
1432         if the paste is not going to be handled by the DOM and the selection
1433         does not allow pasting rich text.
1434         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Paste as plain text if
1435         rich text is not allowed.
1436         (-[WebHTMLView paste:]): Ditto.
1437         (-[WebHTMLView pasteAsPlainText:]):
1438
1439 2006-04-20  Darin Adler  <darin@apple.com>
1440
1441         Reviewed by Adele.
1442
1443         - WebKit part of http://bugzilla.opendarwin.org/show_bug.cgi?id=8505
1444           eliminate WebCoreGraphics bridge, demonstrate new SystemInterface technique
1445
1446         * WebCoreSupport/WebGraphicsBridge.h: Removed.
1447         * WebCoreSupport/WebGraphicsBridge.m: Removed.
1448         * WebCoreSupport/WebSystemInterface.h: Added.
1449         * WebCoreSupport/WebSystemInterface.m: Added.
1450
1451         * WebKit.xcodeproj/project.pbxproj: Updated for removed and added files.
1452
1453         * WebCoreSupport/WebImageData.m: Removed unneeded include of WebGraphicsBridge.h.
1454         * WebCoreSupport/WebImageRenderer.m: Ditto.
1455         * WebCoreSupport/WebTextRenderer.m: Ditto.
1456
1457         * WebView/WebFrameView.m: (-[WebFrameView initWithFrame:]): Guarded all the one-time
1458         initialization inside a boolean, just in case some things take a little time. Added
1459         a call to InitWebCoreSystemInterface to the one-time initialization here. Later, we
1460         will need to add it in some other places if we call code that requires the use of
1461         WebCoreSystemInterface functions from anywhere that can be invoked before creations
1462         of the first WebFrameView, but for now there is no need.
1463
1464 2006-04-19  James G. Speth  <speth@end.com>
1465
1466         Reviewed by Timothy.
1467
1468         http://bugzilla.opendarwin.org/show_bug.cgi?id=8442
1469         Bug 8442: improvements to Cocoa bindings support in WebView - code simplification
1470
1471         Removes the WebController class added earlier; changes NSTreeController and 
1472         WebView to together without it. Now you can just bind the contentObject binding
1473         of the tree controller directly to the mainFrameDocument key of the WebView.
1474
1475         * WebCoreSupport/WebFrameBridge.m:
1476         (-[WebFrameBridge windowObjectCleared]):
1477         * WebView/WebDataSource.m:
1478         (-[WebDataSource _setTitle:]):
1479         * WebView/WebFrame.m:
1480         (-[WebFrame _closeOldDataSources]):
1481         * WebView/WebView.m:
1482         (-[WebView _progressStarted:]):
1483         (-[WebView _finalProgressComplete]):
1484         (-[WebView _commonInitializationWithFrameName:groupName:]):
1485         (-[WebView setMainFrameDocumentReady:]):
1486         (-[WebView mainFrameDocument]):
1487         * WebView/WebViewPrivate.h:
1488
1489 2006-04-19  James G. Speth  <speth@end.com>
1490
1491         Reviewed by Timothy.
1492
1493         http://bugzilla.opendarwin.org/show_bug.cgi?id=6635
1494         Bug 6635: Crash selecting inspector nodes for tabs that aren't foremost
1495
1496         Stop observing window will close notifications before we tell the highlight window to close,
1497         this prevents the crash. Also prevent drawing highlights for hidden tabs.
1498
1499         * WebInspector/WebInspector.m:
1500         (-[WebInspector _highlightNode:]):
1501         * WebInspector/WebNodeHighlight.m:
1502         (-[WebNodeHighlight expire]):
1503
1504 2006-04-19  James G. Speth  <speth@end.com>
1505
1506         Reviewed by Timothy.
1507
1508         http://bugzilla.opendarwin.org/show_bug.cgi?id=6637
1509         Bug 6637: selecting node in Inspector after closing window crashes Safari
1510
1511         When the window the Web Inspector was inspecting is closed, the inspector goes into its
1512         no-selection state. Choosing to inspect another element activates it again. The inspector
1513         will also follow the WebView if the URL changes and select the root element on the new page.
1514
1515         * WebInspector/WebInspector.m:
1516         (-[NSWindow setWebFrame:]):
1517         (-[NSWindow setRootDOMNode:]):
1518         (-[WebInspector _revealAndSelectNodeInTree:]):
1519         (-[WebInspector _update]):
1520         (-[WebInspector _updateRoot]):
1521         (-[WebInspector inspectedWebViewProgressFinished:]):
1522         (-[WebInspector inspectedWindowWillClose:]):
1523         (-[WebInspector webView:didFinishLoadForFrame:]):
1524         * WebInspector/WebInspectorPanel.m:
1525         (-[WebInspectorPanel canBecomeMainWindow]):
1526
1527 2006-04-18  Darin Adler  <darin@apple.com>
1528
1529         Reviewed by Beth.
1530
1531         * WebInspector/webInspector/inspector.css: Add "-webkit-" prefixes to the border
1532         radius properties to make the corners rounded again.
1533
1534 2006-04-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1535
1536         Reviewed by Darin.
1537
1538         - WebKit part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8324
1539           REGRESSION: textarea :focus not applied immediately
1540
1541         * WebCoreSupport/WebFrameBridge.m:
1542         (-[WebFrameBridge formControlIsBecomingFirstResponder:]): Added. Calls the ancestor
1543         WebHTMLView's _formControlIsBecomingFirstResponder:
1544         * WebView/WebHTMLView.m:
1545         (-[WebHTMLView _updateFocusState:]): If a descendant is becoming first responder,
1546         enable focused appearance.
1547         (-[WebHTMLView _formControlIsBecomingFirstResponder:]): Added. Calls _updateFocusState,
1548         causing the frame to display with focus attributes.
1549         * WebView/WebHTMLViewInternal.h:
1550
1551 2006-04-14  James G. Speth  <speth@end.com>
1552
1553         Reviewed by Timothy.
1554
1555         Bug 8389: support for Cocoa bindings - binding an NSTreeController to the WebView's DOM
1556         http://bugzilla.opendarwin.org/show_bug.cgi?id=8389
1557
1558         Added a controller class, WebController, that is a subclass of
1559         NSTreeController that has a new outlet/binding for the WebView.
1560
1561         * WebCoreSupport/WebFrameBridge.m:
1562         (-[WebFrameBridge windowObjectCleared]): notify bindings about the document change
1563         * WebView/WebView.m:
1564         (-[WebView _progressStarted:]): notify bindings about the document change
1565         (-[WebView _finalProgressComplete]): notify bindings about the document change
1566         (-[WebView _declaredKeys]): added a key for the main frame document
1567         (-[WebController init]):
1568         (-[WebController exposedBindings]):
1569         (-[WebController valueClassForBinding:]):
1570         (-[WebController setContent:]):
1571         (-[WebController webView]):
1572         (-[WebController setWebView:]):
1573         (-[WebView mainFrameDocument]): get the main frame's DOMDocument
1574         * WebView/WebViewPrivate.h: Adds mainFrameDocument to pending public.
1575
1576 2006-04-12  David Harrison  <harrison@apple.com>
1577
1578         Reviewed by Darin.
1579         
1580         <rdar://problem/4386640> AX: AXPreviousSentenceStartTextMarkerForTextMarker does not respect paragraph boundary
1581         <rdar://problem/4414575> AX: Dictionary popup cannot find some words on Dictionary.app
1582         
1583         (see related changes in WebCore)
1584         
1585         Tests added:
1586         * editing/selection/extend-by-sentence-001.html: Added.
1587         * fast/dom/inner-text-001.html: Added.
1588
1589         * WebView/WebHTMLView.m:
1590         (-[NSArray validateUserInterfaceItem:]):
1591         (-[NSArray moveToBeginningOfSentence:]):
1592         (-[NSArray moveToBeginningOfSentenceAndModifySelection:]):
1593         (-[NSArray moveToEndOfSentence:]):
1594         (-[NSArray moveToEndOfSentenceAndModifySelection:]):
1595         (-[NSArray selectSentence:]):
1596         * WebView/WebView.m:
1597         * WebView/WebViewPrivate.h:
1598         Add sentence navigation and selection.
1599
1600 2006-04-12  Tim Omernick  <timo@apple.com>
1601
1602         Reviewed by Darin.
1603
1604         Part of <rdar://problem/4482530>
1605
1606         * WebView/WebView.m:
1607         (-[WebView _focusedFrame]):
1608         Fixed up the logic here to take into account immediate subviews of WebView, which are not actually in a WebFrameView
1609         (they are peers to the main frame's WebFrameView).
1610
1611 2006-04-10  John Sullivan  <sullivan@apple.com>
1612
1613         Reviewed by Tim Omernick.
1614         
1615         - fixed <rdar://problem/4139799> Seed: Safari: Private Browsing leaves traces in Icon Cache
1616         
1617         * Misc/WebIconDatabasePrivate.h:
1618         new ivars: pageURLsBoundDuringPrivateBrowsing, iconURLsBoundDuringPrivateBrowsing, and privateBrowsingEnabled
1619
1620         * Misc/WebIconDatabase.m:
1621         (-[NSMutableDictionary init]):
1622         initialize new ivars, and listen for notifications that WebPreferences changed so we can react to changes
1623         to private browsing.
1624         (-[NSMutableDictionary iconForURL:withSize:cache:]):
1625         Don't remove icon URL from extraRetain dictionary; that's now done in _forgetIconForIconURLString. (I left a
1626         comment here earlier about why I was worried about this change, but I convinced myself that it's fine.)
1627         (-[WebIconDatabase removeAllIcons]):
1628         Removed no-longer-true (and never very clear) comment, and braces. Also remove all objects from the two
1629         private-browsing-related dictionaries.
1630         (-[WebIconDatabase _setIcon:forIconURL:]):
1631         remember icon URL if private browsing is enabled
1632         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
1633         remember icon URL if private browsing is enabled
1634         (-[WebIconDatabase _setIconURL:forURL:]):
1635         added an assert that helped me out at one point
1636         (-[WebIconDatabase _clearDictionaries]):
1637         clear the two new dictionaries too
1638         (-[WebIconDatabase _loadIconDictionaries]):
1639         made an existing ERROR not fire in the expected case where there are no icons at all on disk
1640         (-[WebIconDatabase _updateFileDatabase]):
1641         when saving the pageURLToIconURL dictionary to disk, first remove any values that were created during
1642         private browsing
1643         (-[WebIconDatabase _retainIconForIconURLString:]):
1644         skip the code that deals with saving changes to disk if private browsing is enabled
1645         (-[WebIconDatabase _forgetIconForIconURLString:]):
1646         Remove the icon URL from extraRetain dictionary here. We're forgetting everything about this icon URL
1647         so we should forget its former extraRetain count too.
1648         (-[WebIconDatabase _resetCachedWebPreferences:]):
1649         Cache the new value of private browsing. If it has now been turned off, forget everything we learned
1650         while it was on. This causes (e.g.) icons for bookmarks or pre-existing history items to be forgotten
1651         if the icon was only learned during private browsing.
1652
1653         * History/WebHistoryItem.m:
1654         removed an unnecessary #import I happened to notice
1655         
1656 2006-04-10  David Hyatt  <hyatt@apple.com>
1657
1658         Make the broken CG focus ring painting work when WebCore sets a clip
1659         (in addition to respecting the dirty rect clip).
1660
1661         Reviewed by darin
1662
1663         * WebCoreSupport/WebGraphicsBridge.m:
1664         (-[WebGraphicsBridge drawFocusRingWithPath:radius:color:clipRect:]):
1665
1666 2006-04-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1667
1668         Reviewed by Darin.
1669
1670         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8100
1671           REGRESSION (NativeTextField): Right-aligned and RTL text jitters in new text fields
1672
1673         * WebCoreSupport/WebTextRenderer.m:
1674         (overrideLayoutOperation): For RTL runs, apply the word-rounding on the left.
1675         (CG_floatWidthForRun): For RTL runs, apply the last character's rounding
1676         on the left by adjusting the start position.
1677         (initializeWidthIterator): Added finalRoundingWidth field to WidthIterator.
1678         (advanceWidthIterator): For RTL runs, apply rounding on the left of the character,
1679         by increasing the width of the next character (which is the character to the left). For
1680         the last character, keep the rounding width in the iterator's finalRoundingWidth, to be used by
1681         CG_floatWidthForRun().
1682
1683 2006-04-08  John Sullivan  <sullivan@apple.com>
1684
1685         Reviewed by Adele Peterson.
1686
1687         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=8260
1688         REGRESSION: Assertion failure: ![_private->iconsToSaveWithURLs containsObject:iconURLString] 
1689         in WebIconDatabase.m:695-[WebIconDatabase(WebInternal) _retainIconForIconURLString:]
1690
1691         * Misc/WebIconDatabase.m:
1692         (-[WebIconDatabase _retainIconForIconURLString:]):
1693         This new assertion was one block too high; moved it in.
1694
1695 2006-04-07  David Hyatt  <hyatt@apple.com>
1696
1697         A fix that makes coalesced updates work much better (and makes our
1698         single animated GIF timer work better).  The new rect painting algorithm
1699         for WebHTMLView will use the single unioned rect if the # of rects exceeds
1700         a threshold (10 is my initial cut), or if the union has enough "wasted"
1701         additional pixels (conservatively set at 75%).
1702
1703         Reviewed by darin
1704
1705         * WebView/WebHTMLView.m:
1706         (-[NSArray drawSingleRect:]):
1707         (-[NSArray drawRect:]):
1708
1709 2006-04-07  Maciej Stachowiak  <mjs@apple.com>
1710
1711         Reviewed by Darin.
1712         
1713         - simplify archive loading
1714
1715         * WebView/WebDataSource.m:
1716         (-[WebDataSource representation]): fix whitespace
1717         * WebView/WebHTMLRepresentation.m:
1718         (-[WebHTMLRepresentation loadArchive]): Use WebFrame's loadArchive: instead
1719         of trying to do a manual load here.
1720         (-[WebHTMLRepresentation documentSource]): No more special case for WebArchive.
1721
1722 2006-04-07  John Sullivan  <sullivan@apple.com>
1723
1724         Reviewed by Tim Omernick.
1725         
1726         - fixed <rdar://problem/4507054> If an icon file is removed from disk behind Safari's back, 
1727         Safari will not try to refetch it
1728         
1729         In addition to letting WebIconDatabase recover from disk/memory mismatches as per 4507054, I also found
1730         a bug in the way icons are remembered that could account for some of the other cases where
1731         site icons didn't appear (and you'd get an ERROR on debug builds about WebIconDatabase saying it
1732         had some icon when it really doesn't).
1733
1734         * Misc/WebIconDatabase.m:
1735         (-[WebIconDatabase iconForURL:withSize:cache:]):
1736         When the icon file for a previously-saved site icon isn't found, forget about the darn icon URL thoroughly
1737         so that this situation is self-correcting. Formerly, once you got into this state WebKit would never find
1738         the icon again (short of removing the entire icon database cleanly). Note that this does *not* change
1739         the behavior of sites that didn't have a site icon when WebKit checked -- these will continue to not
1740         return a site icon indefinitely (that's a separate, possibly performance-sensitive issue).
1741         (-[WebIconDatabase _retainIconForIconURLString:]):
1742         This code did the wrong thing in the case where an icon was in the process of being forgotten about. In
1743         that case, the icon would still be in _private->iconsOnDiskWithURLs, so we wouldn't try to save it here,
1744         so the new icon wouldn't stick.
1745
1746 2006-04-07  David Hyatt  <hyatt@apple.com>
1747
1748         Re-enable coalesced updates.  Our move to a single timer has essentially
1749         implemented coalescing of updates anyway, so the regression has already
1750         come back.  Since we have to deal with that now anyway, there's no reason
1751         to visually tear also. :)
1752
1753         Reviewed by darin
1754
1755         * ChangeLog:
1756         * WebView/WebView.m:
1757         (-[WebView _commonInitializationWithFrameName:groupName:]):
1758
1759 2006-04-05  Darin Adler  <darin@apple.com>
1760
1761         - fixed a storage leak from that last check-in
1762
1763         * WebView/WebUnarchivingState.m: (-[WebUnarchivingState dealloc]):
1764         Release the two dictionaries.
1765
1766 2006-04-05  Maciej Stachowiak  <mjs@apple.com>
1767
1768         Reviewed by Eric.
1769         
1770         - start on factoring WebArchive unpacking more into a separate class.
1771         http://bugzilla.opendarwin.org/show_bug.cgi?id=8208
1772         
1773         * WebKit.xcodeproj/project.pbxproj:
1774         * WebView/WebDataSource.m:
1775         (-[WebDataSourcePrivate dealloc]):
1776         (-[WebDataSource _addToUnarchiveState:]):
1777         (-[WebDataSource _popSubframeArchiveWithName:]):
1778         (-[WebDataSource _documentFragmentWithArchive:]):
1779         (-[WebDataSource _setupForReplaceByMIMEType:]):
1780         (-[WebDataSource subresourceForURL:]):
1781         * WebView/WebDataSourcePrivate.h:
1782         * WebView/WebFrame.m:
1783         (-[WebFrame _loadRequest:archive:]):
1784         (-[WebFrame loadRequest:]):
1785         (-[WebFrame loadArchive:]):
1786         * WebView/WebFramePrivate.h:
1787         * WebView/WebHTMLRepresentation.m:
1788         (-[WebHTMLRepresentation loadArchive]):
1789         * WebView/WebUnarchivingState.h: Added.
1790         * WebView/WebUnarchivingState.m: Added.
1791         (-[WebUnarchivingState init]):
1792         (-[WebUnarchivingState addArchive:]):
1793         (-[WebUnarchivingState archivedResourceForURL:]):
1794         (-[WebUnarchivingState popSubframeArchiveWithFrameName:]):
1795
1796 2006-04-04  Timothy Hatcher  <timothy@apple.com>
1797
1798         Reviewed by Darin.
1799
1800         The Debug and Release frameworks are now built with install paths relative to the build products directory.
1801         This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 
1802
1803         * WebKit.xcodeproj/project.pbxproj:
1804
1805 2006-04-04  John Sullivan  <sullivan@apple.com>
1806
1807         Reviewed by Adele Peterson.
1808
1809         - WebKit part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing
1810
1811         * WebView/WebView.m:
1812         (-[WebView _updateWebCoreSettingsFromPreferences:]):
1813         Pass private browsing setting down to WebCore.
1814
1815 2006-04-03  John Sullivan  <sullivan@apple.com>
1816
1817         Reviewed by Tim Hatcher.
1818         
1819         - re-fixed <rdar://problem/4481198> REGRESSION (TOT): search results list in bookmarks view 
1820         remains when search text is deleted
1821
1822         * WebView/WebView.m:
1823         (-[WebView searchFor:direction:caseSensitive:wrap:]):
1824         I fixed this recently, but then broke it again by adding an early bail-out to this method. So
1825         now I'm removing the early bail-out.
1826
1827 2006-04-02  Trey Matteson  <trey@usa.net>
1828
1829         Reviewed by Maciej.
1830
1831         fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8121
1832         REGRESSION: 404s are not displayed
1833
1834         * WebView/WebMainResourceLoader.m:
1835         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
1836         Only cancel failed loads for object elements, not for frames or a whole page.
1837
1838 2006-04-02  Maciej Stachowiak  <mjs@apple.com>
1839
1840         Reviewed by Hyatt.
1841
1842         - fixed <rdar://problem/4198619> REGRESSION: tabbing through links fails after hitting text field w/ sys's "tab to all controls" off
1843         - fixed <rdar://problem/4463760> REGRESSION: Can't tab from old text field (like password fields) to new text field (6811)
1844         (http://bugzilla.opendarwin.org/show_bug.cgi?id=6811)
1845         - fixed tab and shift tab don't select the right things
1846         http://bugzilla.opendarwin.org/show_bug.cgi?id=5685
1847
1848         * WebCoreSupport/WebFrameBridge.m:
1849         (-[WebFrameBridge willMakeFirstResponderForNodeFocus]): New method
1850         - let WebHTMLView know that the next time it becomes first
1851         responder, it's to change focus within the page and the right node
1852         has already been set, so it should not move focus forward or
1853         backward inside it.
1854         * WebView/WebHTMLView.m:
1855         (-[NSArray needsPanelToBecomeKey]): Override to return YES, oddly enough this
1856         is the right way to tell AppKit that you should be in the tab cycle loop.
1857         (-[NSArray becomeFirstResponder]): Don't move forward or back in tab cycle
1858         when this becomeFirstResponder is for tabbing from a control in the page.
1859         (-[WebHTMLView _willMakeFirstResponderForNodeFocus]): Note that the next
1860         time this view becomes first responder, it will be for in-page focus 
1861         navigation.
1862         * WebView/WebHTMLViewInternal.h:
1863
1864 2006-04-01  Darin Adler  <darin@apple.com>
1865
1866         Reviewed by Maciej.
1867
1868         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8105
1869           REGRESSION (NativeTextField): Option-delete deletes one space before the deleted word
1870
1871         Test: fast/forms/input-text-option-delete.html
1872
1873         * WebView/WebHTMLView.m:
1874         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Pass NO for
1875         smartDeleteOK. Smart deletion only applies to deleting a word at a time, and none of
1876         the callers of this function that delete a word at a time want smart deletion.
1877         (-[WebHTMLView deleteToEndOfLine:]): Fixed tiny formatting glitch.
1878
1879 2006-03-31  Timothy Hatcher  <timothy@apple.com>
1880
1881         Reviewed by Darin.
1882
1883         We need to set reachedTerminalState to YES before we release
1884         the resources to prevent a double dealloc of WebView
1885
1886         Fixes <rdar://problem/4372628> crash deallocating a WebView in -[WebFrame stopLoading]
1887
1888         * WebView/WebLoader.m:
1889         (-[NSURLProtocol releaseResources]): set reachedTerminalState earlier
1890
1891 2006-03-31  John Sullivan  <sullivan@apple.com>
1892
1893         Reviewed by Tim Omernick.
1894         
1895         Some cleanup in the WebIconDatabase code in a fruitless search for the cause
1896         of the mysterious -[WebFileDatabase performSetObject:forKey] crash
1897
1898         * Misc/WebIconDatabase.m:
1899         (-[WebIconDatabase _createFileDatabase]):
1900         removed obsolete comment
1901         (-[WebIconDatabase _loadIconDictionaries]):
1902         Added ERRORs for unexpected early returns. Made dictionaries be autoreleased until
1903         the end of the method where they are retained, so that the early returns don't leak;
1904         added ASSERTs that the _private->dictionary values aren't being leaked.
1905         (-[WebIconDatabase _updateFileDatabase]):
1906         Added an ERROR for an unexpected early return, and made a trivial style fix.
1907
1908 2006-03-31  Trey Matteson  <trey@usa.net>
1909
1910         Reviewed by Maciej, landed by ap.
1911
1912         http://bugzilla.opendarwin.org/show_bug.cgi?id=7739
1913         REGRESSION: Assertion failure loading acid2 test in -[WebCoreFrameBridge installInFrame:]
1914
1915         Tests: http/tests/misc/acid2.html, http/tests/misc/acid2-pixel.html
1916
1917         The gist of this change is that we must cancel the load from the Webkit side when we
1918         realize we're switching to the fallback content.  This is somewhat a temp workaround
1919         since control of loading will be moving to WebCore.
1920
1921         * WebView/WebMainResourceLoader.m:
1922         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
1923
1924 2006-03-30  Justin Garcia  <justin.garcia@apple.com>
1925
1926         Reviewed by darin
1927         
1928         http://bugzilla.opendarwin.org/show_bug.cgi?id=6989
1929         REGRESSION: Plain-text mode needed for contenteditable area used in new text field
1930
1931         * WebView/WebHTMLView.m:
1932         (-[WebHTMLView _canEditRichly]): Added.
1933         (-[WebHTMLView _canIncreaseSelectionListLevel]): Use _canEditRichly
1934         (-[WebHTMLView _canDecreaseSelectionListLevel]): Ditto.
1935         (-[WebHTMLView _increaseSelectionListLevel]):
1936         (-[WebHTMLView _decreaseSelectionListLevel]):
1937         (-[NSArray validateUserInterfaceItem:]): 
1938         Split rich text editing actions off from ones that can be applied anywhere.
1939         (-[NSArray _applyStyleToSelection:withUndoAction:]):
1940         (-[NSArray _applyParagraphStyleToSelection:withUndoAction:]):
1941         (-[NSArray _alignSelectionUsingCSSValue:withUndoAction:]):
1942         * WebView/WebHTMLViewPrivate.h:
1943
1944 2006-03-29  Tim Omernick  <timo@apple.com>
1945
1946         Reviewed by John Sullivan.
1947
1948         <rdar://problem/4495316> REGRESSION (420+): After page has loaded, spinning progress indicator is displayed on
1949         tab at versiontracker.com
1950
1951         * WebView/WebFrame.m:
1952         (-[WebFrame _receivedMainResourceError:]):
1953         Call -_clientRedirectCancelledOrFinished: here so that the frame load delegate is notified that the redirect's
1954         status has changed, if there was a redirect.  The frame load delegate may have saved some state about
1955         the redirect in its -webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:.  Since we are definitely
1956         not going to use this provisional resource, as it was cancelled, notify the frame load delegate that the redirect
1957         has ended.
1958         The fix for 4432562 was similar to this, but only took care of the case where the redirect load was actually
1959         committed to the frame.  The new call to -_clientRedirectCancelledOrFinished: handles the case where the redirect
1960         load was successful, but was not committed.  This happens with downloads.
1961         
1962 2006-03-29  John Sullivan  <sullivan@apple.com>
1963
1964         Reviewed by Tim Omernick.
1965         
1966         - fixed these bugs:
1967         <rdar://problem/4483806> REGRESSION (417.8-TOT): PDFs don't scale correctly with auto-size (5356)
1968         <rdar://problem/3874856> Safari PDF display should be full width by default rather than 
1969         sized to show the entire page
1970
1971         * WebView/WebPDFRepresentation.m:
1972         (-[WebPDFRepresentation finishedLoadingWithDataSource:]):
1973         Let the WebPDFView handle setting the document, because that's the best time to apply
1974         the sizing-related preferences.
1975         
1976         * WebView/WebPDFView.h:
1977         eliminated firstLayoutDone ivar and -PDFSubview public method; added -setPDFDocument:
1978         
1979         * WebView/WebPDFView.m:
1980         (-[WebPDFView initWithFrame:]):
1981         eliminate use of obsolete firstLayoutDone ivar
1982         (-[WebPDFView _applyPDFDefaults]):
1983         renamed from _readPDFDefaults for clarity
1984         (-[WebPDFView layout]):
1985         removed code that applied the preferences here. This was too early to handle auto-sizing correctly,
1986         because -layout can be called before the document exists, and calling setAutoSize:YES at that
1987         point confuses PDFView into setting the scale factor to 20 (the maximum).
1988         (-[WebPDFView setPDFDocument:]):
1989         New method, does what WebPDFRepresentation used to do and also applies the preferences here.
1990         This is a good place to apply them because the document is guaranteed to now exist (of course).
1991         (-[WebPDFView PDFSubview]):
1992         Moved this into a new FileInternal category because it's still needed by another class in
1993         this file but no longer needs to be public.
1994         
1995         * WebView/WebPreferences.m:
1996         (+[WebPreferences initialize]):
1997         Change WebKitPDFScaleFactorPreferenceKey to 0, which represents auto-size. This fixes 3874856,
1998         but wasn't feasible until 4483806 was fixed.
1999
2000 2006-03-28  Darin Adler  <darin@apple.com>
2001
2002         Reviewed by Geoff.
2003
2004         - added a build step that checks for init routines
2005
2006         * WebKit.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
2007         check-for-global-initializers script.
2008
2009 2006-03-28  Tim Omernick  <timo@apple.com>
2010
2011         Reviewed by Darin.
2012
2013         <rdar://problem/3694090> -[WebBaseNetscapePluginView finalize] is incorrect; design change needed
2014
2015         * Plugins/WebBaseNetscapePluginView.m:
2016         (-[WebBaseNetscapePluginView initWithFrame:]):
2017         Don't observe preferences changes here -- we only want to observe preferences while the view is 
2018         installed in the view hierarchy.  Plugins will appropriately start and stop themselves when added to
2019         or removed from a window.
2020         (-[WebBaseNetscapePluginView dealloc]):
2021         Don't remove observers here -- they should have been removed when the view was removed from its
2022         window.
2023         (-[WebBaseNetscapePluginView finalize]):
2024         ditto
2025         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
2026         Stop observing preferences when the view is removed from its window.
2027         (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
2028         Start observing preferences when the view is added to a window.
2029
2030 2006-03-27  Tim Omernick  <timo@apple.com>
2031
2032         Reviewed by Eric.
2033
2034         <rdar://problem/3694090> -[WebBaseNetscapePluginView finalize] is incorrect; design change needed
2035
2036         * ChangeLog:
2037         * Plugins/WebBaseNetscapePluginView.m:
2038         (-[WebBaseNetscapePluginView dealloc]):
2039         Instead of calling -stop, assert that the plugin is not running.  A plugin view cannot be deallocated
2040         until it is removed from its window.  When a plugin view is removed from its window, it calls -stop
2041         on itself.  Therefore I believe that this call to -stop is unnecessary; if I'm wrong, then the
2042         assertion will help catch any edge cases.
2043         (-[WebBaseNetscapePluginView finalize]):
2044         ditto
2045
2046 2006-03-27  Tim Omernick  <timo@apple.com>
2047
2048         Reviewed by Eric.
2049
2050         <rdar://problem/3694086> -[WebBaseNetscapePluginStream finalize] is incorrect; design change needed
2051
2052         * Plugins/WebBaseNetscapePluginStream.m:
2053         (-[WebBaseNetscapePluginStream dealloc]):
2054         Assert that the stream file path either never existed, or was deleted and NULL-ed out.  The stream file
2055         is now deleted immediately after calling NPP_StreamAsFile().
2056         (-[WebBaseNetscapePluginStream finalize]):
2057         ditto
2058         (-[WebBaseNetscapePluginStream _destroyStream]):
2059         Delete the file after calling NPP_StreamAsFile(), instead of in -dealloc/-finalize.  It should be OK
2060         to delete the file here -- NPP_StreamAsFile() is always called immediately before NPP_DestroyStream()
2061         (the stream destruction function), so there can be no expectation that a plugin will read the stream file
2062         asynchronously after NPP_StreamAsFile() is called.
2063
2064 2006-03-27  Tim Omernick  <timo@apple.com>
2065
2066         Reviewed by Eric.
2067
2068         <rdar://problem/3694093> -[WebBasePluginPackage finalize] is incorrect; design change needed
2069
2070         Call -unload on plug-in packages instead of relying on -dealloc/-finalize to do it.  Currently
2071         the only place plug-in packages are deallocated is when refreshing the set of plugins, as when
2072         handling JavaScript's navigator.plugins.refresh().
2073
2074         * Plugins/WebBasePluginPackage.m:
2075         (-[WebBasePluginPackage dealloc]):
2076         Assert that the plug-in has been unloaded by the time -dealloc is called.
2077         (-[WebBasePluginPackage finalize]):
2078         ditto
2079
2080         * Plugins/WebPluginDatabase.m:
2081         (-[WebPluginDatabase refresh]):
2082         Call -unload on the plug-in packages before releasing them.
2083
2084 2006-03-27  Tim Omernick  <timo@apple.com>
2085
2086         Reviewed by Tim Hatcher.
2087
2088         Part of <rdar://problem/4448350> Deprecated ObjC language API used in JavaScriptCore, WebCore,
2089         WebKit and WebBrowser
2090
2091         * Carbon/HIViewAdapter.h:
2092         HIViewAdapter is no longer an NSView subclass, since we no longer pose it as NSView.
2093         * Carbon/HIViewAdapter.m:
2094         (+[NSView bindHIViewToNSView:nsView:]):
2095         Replace individual NSView methods instead of posing as NSView.
2096         (_webkit_NSView_setNeedsDisplay):
2097         Replacement implementation of -[NSView setNeedsDisplay:].
2098         (_webkit_NSView_setNeedsDisplayInRect):
2099         Replacement implementation of -[NSView setNeedsDisplayInRect:]
2100         (_webkit_NSView_nextValidKeyView):
2101         Replacement implementation of -[NSView nextValidKeyView]
2102
2103 2006-03-27  John Sullivan  <sullivan@apple.com>
2104
2105         Reviewed by Darin Adler.
2106         
2107         Removed two overzealous assertions that the steps to reproduce 4451831 were running into.
2108         Improved comments to match.
2109
2110         * WebCoreSupport/WebFrameBridge.m:
2111         (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
2112         Remove assertion that _inNextKeyViewOutsideWebFrameViews should always be false here.
2113         
2114         * WebView/WebHTMLView.m:
2115         (-[NSArray nextValidKeyView]):
2116         Removed assertion that the frame should never be the main frame here.
2117
2118 2006-03-27  Tim Omernick  <timo@apple.com>
2119
2120         Reviewed by Tim Hatcher.
2121
2122         Removed tabs & reformatted code.
2123         
2124         * Carbon/HIViewAdapter.m:
2125         (+[NSView bindHIViewToNSView:nsView:]):
2126         (+[NSView getHIViewForNSView:]):
2127         (+[NSView unbindNSView:]):
2128         (-[NSView setNeedsDisplay:]):
2129         (-[NSView setNeedsDisplayInRect:]):
2130         (-[NSView nextValidKeyView]):
2131         (SetViewNeedsDisplay):
2132
2133 2006-03-26  Justin Garcia  <justin.garcia@apple.com>
2134
2135         Reviewed by darin
2136         
2137         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7974>
2138         Add EditActions and WebUndoActions for CreateLink and Unlink
2139
2140         * English.lproj/Localizable.strings:
2141         * WebCoreSupport/WebFrameBridge.m:
2142         (-[WebFrameBridge nameForUndoAction:]):
2143
2144 2006-03-23  Tim Omernick  <timo@apple.com>
2145
2146         Reviewed by John Sullivan.
2147
2148         At John's suggestion, renamed a private WebFrame method and tightened up some of the redirect logic I recently touched.
2149
2150         * WebView/WebFramePrivate.h:
2151         Renamed -_clientRedirectCancelled: to -_clientRedirectCancelledOrFinished:, since we call this both when a redirect is
2152         cancelled and when a redirect is successfully committed.
2153         * WebCoreSupport/WebFrameBridge.m:
2154         (-[WebFrameBridge reportClientRedirectCancelled:]):
2155         Call renamed WebFrame method.
2156         * WebView/WebFrame.m:
2157         Added sentRedirectNotification flag to WebFramePrivate.  This flag is set when we notify the frame load delegate that a
2158         redirect will occur.  We check this flag when committing a provisional load to ensure that the frame load delegate is
2159         notified that the redirect finished.
2160         (-[WebFrame _commitProvisionalLoad:]):
2161         After committing a provisional load, make sure that the frame load delegate is notified that there is no longer a pending
2162         redirect.
2163         (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
2164         Set the new sentRedirectNotification flag.
2165         (-[WebFrame _clientRedirectCancelledOrFinished:]):
2166         Renamed method.
2167         Clear the sentRedirectNotification flag.
2168         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
2169         Call renamed method.
2170
2171 2006-03-23  Tim Omernick  <timo@apple.com>
2172
2173         Reviewed by John Sullivan.
2174
2175         <rdar://problem/4439752> TinyMCE: "Search in Google" context menu is active but fails to work when selection is active
2176         in textarea field.
2177
2178         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
2179         (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
2180         Added a representedObject parameter, which is set on the newly created menu item.
2181         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
2182         Instead of setting the representedObject on each menu item after creating them all, pass the element to
2183         -menuItemWithTag:target:representedObject:.
2184         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
2185         ditto.  This fixes 4439752 because this method failed to set the representedObject on the menu items as
2186         -contextMenuItemsForElement:defaultMenuItems: did.
2187
2188 2006-03-23  Darin Adler  <darin@apple.com>
2189
2190         Reviewed by Eric.
2191
2192         - fix <rdar://problem/4380465> repro crash when unsuccessfully attempting to import image from Services menu
2193
2194         * WebView/WebDataSource.m:
2195         (-[WebDataSource _imageElementWithImageResource:]): Quietly do nothing if passed nil.
2196         (-[WebDataSource _documentFragmentWithImageResource:]): Ditto.
2197
2198 2006-03-22  Tim Omernick  <timo@apple.com>
2199
2200         Reviewed by Kevin Decker.
2201
2202         Even better fix for <rdar://problem/4432562>.  We need to notify the frame delegate of a finished redirect for both
2203         "fast" and "slow" redirects, after committing the load.  My previous change only notified for "fast", history-locking
2204         redirects.  Now we notify the frame delegate after committing any kind of provisional load, not just in the case of
2205         a fast redirect.
2206
2207         * WebView/WebFrame.m:
2208         (-[WebFrame _transitionToCommitted:]):
2209         (-[WebFrame _commitProvisionalLoad:]):
2210
2211 2006-03-22  Tim Omernick  <timo@apple.com>
2212
2213         Reviewed by Kevin Decker.
2214
2215         Better fix for <rdar://problem/4432562> REGRESSION (TOT): Safari's "stop loading" active, "view source" inactive after page load [7058]
2216
2217         * WebView/WebFrame.m:
2218         (-[WebFrame _transitionToCommitted:]):
2219         Cancel the client redirect when we commit the provisional load, if we were waiting for a redirect.
2220         This is a better fix for 7058 (<rdar://problem/4432562>).  The original fix for 7058 changed the timing of the redirect cancel
2221         in such a way that WebKit was precluded from ever reusing back/forward list entries for redirects.  Clearing the redirect state
2222         here actually makes logical sense, as the redirect's target page is being committed at this point.
2223
2224 2006-03-21  Darin Adler  <darin@apple.com>
2225
2226         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3784
2227           <rdar://problem/4483827> JavaScript save dialog disappears right away (sheet triggers blur event) (3784)
2228
2229         * WebView/WebHTMLView.m:
2230         (-[WebHTMLView _updateFocusState]): Treat window as having focus if its sheet is key.
2231         (-[WebHTMLView addWindowObservers]): Observe all focus notifications, not just the ones involving this window.
2232         (-[WebHTMLView removeWindowObservers]): Ditto.
2233         (-[WebHTMLView windowDidBecomeKey:]): Add checks so that we call the methods only when appropriate,
2234         since this will now be called for all windows.
2235         (-[WebHTMLView windowDidResignKey:]): Ditto.
2236
2237 2006-03-21  Adele Peterson  <adele@apple.com>
2238
2239         Reviewed by Darin.
2240
2241         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6813
2242         elementAtPoint needs to return input element when clicking on new text field
2243
2244         * WebView/WebDocumentInternal.h: Added elementAtPoint:allowShadowContent:
2245         * WebView/WebHTMLView.m:
2246         (-[NSArray elementAtPoint:]): Does not allow shadow content.  This way, by default, callers would get the input element instead of the inner div.
2247         (-[NSArray elementAtPoint:allowShadowContent:]): Allows callers to specify whether or not the element can be a shadow node.
2248         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Allows shadow content when getting element.
2249         (-[WebHTMLView _mayStartDragAtEventLocation:]): ditto.
2250         (-[NSArray _isSelectionEvent:]): ditto.
2251         (-[NSArray _canProcessDragWithDraggingInfo:]): ditto.
2252         * WebView/WebFrame.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Does not allow shadow content when getting element.
2253         * WebView/WebImageView.m: (-[WebImageView elementAtPoint:allowShadowContent:]): Added to conform to the WebDocumentElement protocol.
2254         * WebView/WebPDFView.m: (-[WebPDFView elementAtPoint:allowShadowContent:]): ditto.
2255         * WebView/WebTextView.m: (-[WebTextView elementAtPoint:allowShadowContent:]): ditto.
2256
2257 2006-03-21  Tim Omernick  <timo@apple.com>
2258
2259         Reviewed by Tim Hatcher and Darin.
2260
2261         <rdar://problem/4427068> LMGetCurApRefNum, CloseConnection and GetDiskFragment deprecated, used in Netscape
2262         plugin code
2263
2264         * Plugins/WebNetscapeDeprecatedFunctions.h: Added.
2265         * Plugins/WebNetscapeDeprecatedFunctions.c: Added.
2266         Added wrappers for deprecated CFM and LowMem functions.  These exist in a separate file so that we can set
2267         -Wno-deprecated-declarations on this one file without ignoring other deprecated function usage elsewhere.
2268         (WebGetDiskFragment):
2269         (WebCloseConnection):
2270         (WebLMGetCurApRefNum):
2271         (WebLMSetCurApRefNum):
2272
2273         * Plugins/WebNetscapePluginPackage.h:
2274         Don't include connID ivar in 64-bit, since CFM is not supported in 64-bit.
2275         * Plugins/WebNetscapePluginPackage.m:
2276         (+[WebNetscapePluginPackage initialize]):
2277         Don't bother setting the resource refNum in 64-bit, because the API to get and set it does not exist.
2278         A theoretical 64-bit plugin couldn't possibly rely this, since there is no API.
2279         (-[WebNetscapePluginPackage unloadWithoutShutdown]):
2280         No need to close the connID in 64-bit.
2281         (-[WebNetscapePluginPackage load]):
2282         Don't load CFM bundles in 64-bit, because CFM is not supported.
2283
2284         * WebKit.xcodeproj/project.pbxproj:
2285         Added WebNetscapeDeprecatedFunctions.[hm].
2286
2287 2006-03-21  John Sullivan  <sullivan@apple.com>
2288
2289         Reviewed by Kevin Decker.
2290         
2291         - fixed <rdar://problem/4485637> Implementors of searchFor:direction:caseSensitive:wrap: should bail 
2292         out early if search string is empty
2293         
2294         This doesn't change any existing behavior, but avoids unnecessary work.
2295
2296         * Misc/WebSearchableTextView.m:
2297         (-[WebSearchableTextView searchFor:direction:caseSensitive:wrap:]):
2298         bail out immediately (returning NO) if search string is empty
2299         
2300         * WebView/WebHTMLView.m:
2301         (-[WebView searchFor:direction:caseSensitive:wrap:]):
2302         ditto
2303         
2304         * WebView/WebPDFView.m:
2305         (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
2306         ditto
2307         
2308         * WebView/WebView.m:
2309         (-[WebView searchFor:direction:caseSensitive:wrap:]):
2310         ditto
2311
2312 2006-03-20  Tim Omernick  <timo@apple.com>
2313
2314         Reviewed by John Sullivan.
2315
2316         Moved -_contentView from WebFrameViewInternal to WebFrameViewPrivate.  Safari
2317         needs this.
2318
2319         * WebView/WebFrameView.m:
2320         (-[WebFrameView _contentView]):
2321         * WebView/WebFrameViewInternal.h:
2322         * WebView/WebFrameViewPrivate.h:
2323
2324 2006-03-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2325
2326         Reviewed by Darin, landed by Beth.
2327
2328         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7693
2329           WebKit relies on unpredictable timing for onload events
2330
2331         * WebView/WebDataSource.m:
2332         (-[WebDataSource _receivedMainResourceError:complete:]): Check for 
2333         completion on the WebCore side before checking on the WebKit side, 
2334         to ensure that the onload event is emitted before the WebFrame load 
2335         delegate is sent the webView:didFinishLoadForFrame: message. For 
2336         DumpRenderTree, this ensures that the render tree is dumped after 
2337         the onload handler is run.
2338         * WebView/WebLoader.m:
2339         (-[NSURLProtocol didFailWithError:]): If load has already been 
2340         cancelled (which could happen if the parent's onload handler caused 
2341         the frame to detach), do nothing.
2342
2343 2006-03-17  John Sullivan  <sullivan@apple.com>
2344
2345         Reviewed by Beth Dakin
2346         
2347         - fixed <rdar://problem/4239051> Sometimes "Copy Link" in Safari results in a 
2348         URL on the pasteboard with no usable "title"
2349
2350         * History/WebURLsWithTitles.m:
2351         (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]):
2352         trim whitespace from titles that are put on pasteboard. This leaves an empty string
2353         for the title in cases where there's no displayed text, like an image in an <a> element
2354         that happens to have whitespace in the source, e.g. <a href="foo"> <img whatever></a>
2355
2356 2006-03-17  Darin Adler  <darin@apple.com>
2357
2358         - missing bit of my check-in yesterday
2359
2360         Maciej moved setWindowFrame for me, but I also had removed
2361         setWindowContentRect.
2362
2363         * WebCoreSupport/WebFrameBridge.m: Removed unused setWindowContextRect and
2364         windowContentRect methods.
2365
2366 2006-03-17  Adele Peterson  <adele@apple.com>
2367
2368         Reviewed by Hyatt.
2369
2370         WebKit part of fix for:
2371         http://bugzilla.opendarwin.org/show_bug.cgi?id=7797 
2372         Can't set background color on new text fields
2373
2374         Added function to draw bezeled text field without drawing background.
2375
2376         * WebCoreSupport/WebGraphicsBridge.m:
2377         (-[WebGraphicsBridge drawBezeledTextFieldCell:enabled:]): Added.
2378
2379 2006-03-16  Maciej Stachowiak  <mjs@apple.com>
2380
2381         Reviewed by Eric.
2382         
2383         - move setWindowFrame / windowFrame to WebPageBridge to fix build
2384
2385         * WebCoreSupport/WebFrameBridge.m:
2386         * WebCoreSupport/WebPageBridge.m:
2387         (-[WebPageBridge setWindowFrame:]):
2388         (-[WebPageBridge windowFrame]):
2389
2390 2006-03-15  Darin Adler  <darin@apple.com>
2391
2392         Fix by Patrick Beard, reviewed by me.
2393
2394         - fix <rdar://problem/4478181> WebPluginController leaks NSArray and NSMutableSet objects
2395
2396         * Plugins/WebPluginController.m:
2397         (-[WebPluginController initWithDocumentView:]): Call CFMakeCollectable on the CFSet
2398         so we can act like it's an NSSet.
2399         (-[WebPluginController dealloc]): Release _views and _checksInProgress.
2400
2401 2006-03-13  Tim Omernick  <timo@apple.com>
2402
2403         Reviewed by Maciej.
2404
2405         <rdar://problem/4476873> Support printing for plugin documents (not embedded plugins)
2406
2407         * WebView/WebFrameViewPrivate.h:
2408         * WebView/WebFrameView.m:
2409         (-[WebFrameView documentViewShouldHandlePrint]):
2410         Called by the host application before it initializes and runs a print operation.  If NO
2411         is returned, the host application will abort its print operation and call
2412         -printDocumentView on the WebFrameView.  The document view is then expected to run its
2413         own print operation.  If YES is returned, the host application's print operation will
2414         continue as normal.
2415         (-[WebFrameView printDocumentView]):
2416         Called by the host application when the WebFrameView returns YES from -documentViewShouldHandlePrint.
2417
2418         * Plugins/WebNetscapePluginDocumentView.m:
2419         (-[WebNetscapePluginDocumentView documentViewShouldHandlePrint]):
2420         Allow the plugin to take over printing if it defines an NPP_Print function
2421         (-[WebNetscapePluginDocumentView printDocumentView]):
2422         Print the plugin document.
2423
2424 2006-03-13  Geoffrey Garen  <ggaren@apple.com>
2425
2426         Reviewed by timo.
2427
2428         - Fixed the load progress indicator to give more incremental feedback, 
2429         and to stop spending so much time near 100%.
2430
2431         I did two things:
2432         (1) Fixed some bugs and a misspelling in the previous heuristic's 
2433         implementation
2434         (2) Added two new rules to the heuristic:
2435             (a) Treat the first layout as the half-way point.
2436             (b) Just like we jump the first 10% to indicate that a load has
2437             started, jump the last 10% to indicate that a load has finished.
2438
2439         Rule 2a is good for two reasons. First, it seems unnatural for loading
2440         to be "more than half done" when you can't even see anything. Second,
2441         in the early stages of laading our estimate of how much we'll need to
2442         load is often off by as much as 6000% (e.g., cnn.com). So anything that
2443         makes the progress indicator more conservative in the early stages of 
2444         loading is helpful.
2445
2446         Rule 2b is good because it's confusing for loading to be "100% done"
2447         but still ongoing.
2448
2449         FIXME: The indicator still isn't perfect. For example, the old behavior
2450         shows up @ moviefone.com. Two areas for future work:
2451         (1) Estimate number of linked resources. Our code estimates the size
2452         of a single resource, but does nothing to estimate the number of
2453         resources that resource might link to. This is the key to why we're
2454         so wrong at the beginning.
2455         (2) Improve "when to do first layout" heuristic. A JavaScript query
2456         for a style property forces layout, creating a phantom first layout 
2457         with no content, essentially nullifying 2a for certain pages.
2458         
2459         Filed <rdar://problem/4475834> to track estimating the number of 
2460         linked resources. Phantom layouts are already on Hyatt's radar.
2461
2462         * WebView/WebFrame.m:
2463         (-[WebFrame _setState:]): Update firstLayoutDone
2464         (-[WebFrame _numPendingOrLoadingRequests:]): Bug fix: In the recurisve 
2465         case, query 'frame' instead of 'self', so that we actually recurse.
2466         (-[WebFrame _firstLayoutDone]): New method
2467         (-[WebFrame _didFirstLayout]): Update firstLayoutDone
2468         * WebView/WebFramePrivate.h: Added firstLayoutDone ivar
2469         * WebView/WebView.m:
2470         (-[WebView _incrementProgressForConnectionDelegate:data:]):
2471         (1) Implemented 2a and 2b
2472         (2) Bug fix: only update the 'last time I sent a notification' time if 
2473         we actually send a notification.
2474         (3) Don't test for progress < 0 because ensuring progress < max
2475         also ensures max - progress > 0. (Do still test for progress > max 
2476         because rounding errors make that a possibility -- although a very 
2477         minor one.)
2478         (4) Query only the loading frame and its subframes for pending
2479         requests instead of defaulting to the main frame. This is a slight
2480         optimization in cases where the main frame did not begin the load,
2481         and it makes the code more consistent.
2482
2483 2006-03-13  John Sullivan  <sullivan@apple.com>
2484
2485         Reviewed by Tim Omernick.
2486         
2487         - fixed <rdar://problem/4475857> API: Setting a history item limit programmatically doesn't work
2488
2489         * History/WebHistory.m:
2490         (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
2491         use [self historyItemLimit], which prefers the explicitly-set value and falls back to the
2492         NSUserDefaults value, instead of using the NSUserDefaults value explicitly.
2493
2494 2006-03-10  Darin Adler  <darin@apple.com>
2495
2496         Reviewed by Adele.
2497
2498         * WebCoreSupport/WebFrameBridge.m: Remove unused requestedURLString method.
2499
2500 2006-03-10  Darin Adler  <darin@apple.com>
2501
2502         Reviewed by Geoff.
2503
2504         - change how frame namespacing works to be more completely on the WebCore side
2505
2506         * WebView/WebFrameInternal.h: Remove _setFrameNamespace: and _frameNamespace.
2507         * WebView/WebFrame.m: Ditto.
2508
2509         * WebView/WebView.m:
2510         (-[WebView setGroupName:]): Call -[WebCorePageBridge setGroupName:].
2511         (-[WebView groupName]): Call -[WebCorePageBridge groupName].
2512
2513 2006-03-09  Alexey Proskuryakov  <ap@nypop.com>
2514
2515         Reviewed by Darin.
2516
2517         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7656
2518          Query string always appended to Flash URLs, instead of being replaced.
2519
2520         * Misc/WebNSURLExtras.h: Added _webkit_URLByRemovingResourceSpecifier.
2521         * Misc/WebNSURLExtras.m:
2522         (+[NSURL _web_URLWithData:relativeToURL:]): Call _webkit_URLByRemovingResourceSpecifier to
2523         work around CFURL not removing non-path components from base URLs in some cases.
2524         (-[NSURL _webkit_URLByRemovingComponent:]): New generic function for removing URL components.
2525         (-[NSURL _webkit_URLByRemovingFragment]): Moved implementation to the above method.
2526         (-[NSURL _webkit_URLByRemovingResourceSpecifier]): Added.
2527
2528 2006-03-07  Darin Adler  <darin@apple.com>
2529
2530         Reviewed by Anders.
2531
2532         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7655
2533           unwanted output while running layout tests
2534
2535         * WebView/WebDataSourcePrivate.h:
2536         * WebView/WebDataSource.m:
2537         (-[WebDataSource _setRepresentation:]): Clear the flag that records whether we've sent
2538         all the data to the representation or not; need this to prevent telling the same representation
2539         both that we've succeeded and then later that we've failed.
2540         (-[WebDataSource _setMainDocumentError:]): Don't send an error if representationFinishedLoading
2541         is already YES. Set representationFinishedLoading.
2542         (-[WebDataSource _finishedLoading]): Set representationFinishedLoading.
2543         (-[WebDataSource _setupForReplaceByMIMEType:]): Ditto.
2544
2545 2006-03-06  Tim Omernick  <timo@apple.com>
2546
2547         Reviewed by Kevin Decker.
2548
2549         <rdar://problem/4457574> assertion failure watching trailers at netflix.com -[WebNetscapePluginRepresentation
2550         receivedData:withDataSource:] + 684
2551
2552         * Plugins/WebNetscapePluginRepresentation.m:
2553         (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
2554         Moved the ASSERT(instance) to the block that actually requires an assertion -- the plugin view should never
2555         have a NULL instance by the time we start the NPStream (by calling -startStreamWithResponse:).
2556         Some stream teardown logic changed with my fix to 4153419: when a WebBaseNetscapePluginStream is destroyed,
2557         it now clears its NPP instance backpointer.  The WebBaseNetscapePluginStream may be destroyed from within
2558         -startStreamWithResponse: if NPP_NewStream() returns an error.  We can handle this gracefully by changing
2559         the assertion before -receivedData: to a simple NULL check.
2560         This is unrelated to the Radar, but prior to this fix, we would attempt an NPP_Write() with the initial
2561         stream data even if NPP_NewStream() returned an error.  Seems like that alone could cause issues, though
2562         I'm guessing that plugins handle this in practice.
2563
2564 2006-03-03  Timothy Hatcher  <timothy@apple.com>
2565
2566         Reviewed by Darin.
2567         
2568         <rdar://problem/4411822> wrong element shown in Inspector inspecting main image at apple.com
2569         <rdar://problem/4411908> in the Web Inspector, state of disclosure triangles should be preserved after search
2570         http://bugzilla.opendarwin.org/show_bug.cgi?id=6616
2571         Bug 6616: Double-clicking on a search result seems broken
2572         http://bugzilla.opendarwin.org/show_bug.cgi?id=6709
2573         Bug 6709: TypeError: Value undefined (result of expression treeScrollbar.refresh) is not object.
2574
2575         Code clean up and move more code into JavaScript.
2576         Removes a few unused ObjC methods.
2577         Many search fixes. Reveals the focused node when exiting the search.
2578         Shows a "No Selection" screen when there are no search results.
2579         Shows a node count for the number of results.
2580         Fixes a couple of TypeErrors that show on the console.
2581         Uses the system selection color in the Style pane tables.
2582
2583         * English.lproj/Localizable.strings: removed localized strings
2584         * WebInspector.subproj/WebInspector.m:
2585         (-[WebInspector init]):
2586         (-[WebInspector dealloc]):
2587         (-[WebInspector window]):
2588         (-[WebInspector setSearchQuery:]):
2589         (-[WebInspector resizeTopArea]):
2590         (-[WebInspector searchPerformed:]): called from JavaScript when a search happens
2591         (-[WebInspector _toggleIgnoreWhitespace:]):
2592         (-[WebInspector _exitSearch:]): exit search results on double click
2593         (-[WebInspector _focusRootNode:]):
2594         (-[WebInspector _revealAndSelectNodeInTree:]):
2595         (-[WebInspector _refreshSearch]):
2596         (-[WebInspector _update]):
2597         (-[WebInspector _updateTraversalButtons]):
2598         (-[WebInspector _updateRoot]):
2599         (-[WebInspector _updateTreeScrollbar]):
2600         (-[WebInspector _updateSystemColors]): update CSS with system colors
2601         (-[WebInspector webView:didFinishLoadForFrame:]):
2602         (-[WebInspector webView:plugInViewWithArguments:]):
2603         (-[WebInspector outlineViewSelectionDidChange:]): test for webViewLoaded
2604         (-[WebInspectorPrivate init]): alloc rightArrowImage and downArrowImage
2605         (-[WebInspectorPrivate dealloc]): no more matchedRules
2606         (-[DOMNode _displayName]): removed localization UI_STRING calls.
2607         * WebInspector.subproj/WebInspectorInternal.h:
2608         * WebInspector.subproj/webInspector/inspector.css:
2609         * WebInspector.subproj/webInspector/inspector.html:
2610         * WebInspector.subproj/webInspector/inspector.js:
2611
2612 2006-03-02  Alexey Proskuryakov  <ap@nypop.com>
2613
2614         Fixed a typo in the comments added in the previous checkin.
2615
2616         * WebCoreSupport/WebFrameBridge.m:
2617         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2618         * WebCoreSupport/WebSubresourceLoader.m:
2619         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
2620         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
2621
2622 2006-03-02  Alexey Proskuryakov  <ap@nypop.com>
2623
2624         Reviewed by Darin.
2625
2626         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7540
2627           REGRESSION: frequent cache-related crashes
2628
2629         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7393
2630           A stale comment about XMLHttpRequest responses being never cached
2631
2632         * WebCoreSupport/WebFrameBridge.m: Don't call setHTTPHeader if the method is GET.
2633         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2634         * WebCoreSupport/WebSubresourceLoader.m: Ditto. Also removed a stale comment about
2635         XMLHTTPRequests.
2636         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
2637         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
2638
2639 2006-02-23  David Harrison  <harrison@apple.com>
2640
2641         Reviewed by Justin.
2642
2643         <rdar://problem/4359736> Support outlining ability with lists
2644
2645         Added Mail SPI for list level changes.  It is SPI because it is not complete support
2646         for outlining.  See <rdar://problem/4457070> "API for html lists as note outlines".
2647         
2648         * WebView/WebHTMLView.m:
2649         (-[WebHTMLView _canIncreaseSelectionListLevel]):
2650         (-[WebHTMLView _canDecreaseSelectionListLevel]):
2651         (-[WebHTMLView _increaseSelectionListLevel]):
2652         (-[WebHTMLView _decreaseSelectionListLevel]):
2653         * WebView/WebHTMLViewPrivate.h:
2654
2655 2006-03-01  Alexey Proskuryakov  <ap@nypop.com>
2656
2657         Reviewed by Darin.
2658
2659         - http://bugzilla.opendarwin.org/show_bug.cgi?id=3812
2660           XMLHttpRequest: PUT, DELETE, HEAD and all other methods but POST actually do a GET.
2661
2662         All WebKit changes are to use the method parameter passed from WebCore.
2663
2664         * WebCoreSupport/WebFrameBridge.m:
2665         (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
2666         (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
2667         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2668         * WebCoreSupport/WebSubresourceLoader.h:
2669         * WebCoreSupport/WebSubresourceLoader.m:
2670         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
2671         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
2672
2673 2006-03-01  Timothy Hatcher  <timothy@apple.com>
2674
2675         Reviewed by Darin.
2676
2677         http://bugzilla.opendarwin.org/show_bug.cgi?id=7450
2678         elementAtPoint is expensive and should return a smart dictionary
2679         
2680         <rdar://problem/2952761> moving the mouse around eats more CPU than I would expect (7450)
2681         
2682         elementAtPoint for WebHTMLView now returns a WebElementDictionary,
2683         when objectForKey is called it will lookup in the DOM, cache and return the value
2684
2685         * Misc/WebElementDictionary.h: Added.
2686         * Misc/WebElementDictionary.m: Added.
2687         (addLookupKey):
2688         (cacheValueForKey):
2689         (+[WebElementDictionary initializeLookupTable]):
2690         (-[WebElementDictionary initWithInnerNonSharedNode:innerNode:URLElement:andPoint:]):
2691         (-[WebElementDictionary dealloc]):
2692         (-[WebElementDictionary _fillCache]):
2693         (-[WebElementDictionary count]):
2694         (-[WebElementDictionary keyEnumerator]):
2695         (-[WebElementDictionary objectForKey:]):
2696         (-[WebElementDictionary _domNode]):
2697         (-[WebElementDictionary _webFrame]):
2698         (-[WebElementDictionary _targetWebFrame]):
2699         (-[WebElementDictionary _title]):
2700         (-[WebElementDictionary _imageRect]):
2701         (-[WebElementDictionary _isSelected]):
2702         * Misc/WebNSViewExtras.m:
2703         (-[NSView _web_dragImage:element:rect:event:pasteboard:source:offset:]):
2704         * WebKit.xcodeproj/project.pbxproj:
2705         * WebView/WebHTMLView.m:
2706         (-[WebHTMLView _updateMouseoverWithEvent:]):
2707         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2708         (-[NSArray elementAtPoint:]):
2709         * WebView/WebView.m:
2710         * WebView/WebViewPrivate.h:
2711
2712 2006-02-28  Darin Adler  <darin@apple.com>
2713
2714         Reviewed by Adele.
2715
2716         - remove obsolete WebCoreScrollView class
2717
2718         * WebView/WebDynamicScrollBarsView.h: Change base class to NSScrollView instead of WebCoreScrollView.
2719         * WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView autoforwardsScrollWheelEvents]): Added.
2720
2721 2006-02-28  John Sullivan  <sullivan@apple.com>
2722
2723         Reviewed by Eric Seidel
2724         
2725         Wean WebKit from one more SPI call. We learned about this new-to-Tiger
2726         API from filing Radar 4433222.
2727
2728         * WebView/WebHTMLView.m:
2729         (-[WebHTMLView _autoscroll]):
2730         use public CGEventSourceButtonState() instead of WKMouseIsDown() (which was using SPI internally)
2731
2732 2006-02-27  Tim Omernick  <timo@apple.com>
2733
2734         Reviewed by Adele.
2735
2736         <rdar://problem/4222043> Safari should reduce null events sent to invisible plugins
2737
2738         * Plugins/WebBaseNetscapePluginView.h:
2739         * Plugins/WebBaseNetscapePluginView.m:
2740         (-[WebBaseNetscapePluginView restartNullEvents]):
2741         Check to see if the plugin view is completely obscured (scrolled out of view, for example).  If it is
2742         obscured and it wasn't before, or the other way around, then restart the null event timer so it can
2743         fire at the appropriate rate.
2744         (-[WebBaseNetscapePluginView viewHasMoved:]):
2745         If a plugin is obscured, send it null events as if it were in an inactive window.
2746
2747 2006-02-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2748
2749         Test: fast/frames/empty-frame-document.html
2750
2751         Reviewed by Darin.
2752
2753         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7293
2754           REGRESSION: Using Javascript Bookmarklets that reference location.href on a blank tab crashes WebKit
2755
2756         The crash happened because an empty frame did not have a document.
2757
2758         * WebView/WebFrame.m:
2759         (-[WebFrame _commitProvisionalLoad:]): Use "about:blank" instead of an empty URL for empty
2760         frames. This causes a document to be created for the frame.
2761
2762 2006-02-21  Kevin Decker  <kdecker@apple.com>
2763
2764         Reviewed by Darin.
2765
2766         Backed out my previous check in. Since these methods are internal to WebKit (and not private)
2767         it's perfectly OK for them to remain as categories. 
2768         * ChangeLog:
2769         * WebView/WebPreferences.m:
2770         (-[WebPreferences _integerValueForKey:]):
2771         (-[WebPreferences _setIntegerValue:forKey:]):
2772         (-[WebPreferences _floatValueForKey:]):
2773         (-[WebPreferences _setFloatValue:forKey:]):
2774         (-[WebPreferences _boolValueForKey:]):
2775         (-[WebPreferences _setBoolValue:forKey:]):
2776         * WebView/WebPreferencesPrivate.h:
2777
2778 2006-02-20  Darin Adler  <darin@apple.com>
2779
2780         Collaborated with Graham Dennis <Graham.Dennis@gmail.com> on this.
2781
2782         - WebKit part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6831
2783           contentEditable outline darkens as caret moves
2784
2785         * WebCoreSupport/WebGraphicsBridge.m:
2786         (-[WebGraphicsBridge drawFocusRingWithPath:radius:color:]):
2787         Replaced the old bridge function that set up style with this one that renders a path.
2788
2789 2006-02-19  Darin Adler  <darin@apple.com>
2790
2791         Reviewed by Maciej.
2792
2793         - cut out a little unneeded bridge code
2794
2795         * WebCoreSupport/WebFrameBridge.m:
2796         (-[WebFrameBridge webView]): Added. Helper, since the WebCore side of the bridge no longer
2797         has this method.
2798         (-[WebFrameBridge createWindowWithURL:]): Removed the frameName parameter -- this is now
2799         handled on the WebCore side. Also return a page bridge instead of a frame bridge.
2800         (-[WebFrameBridge createModalDialogWithURL:]): Changed to return a page bridge instead of
2801         a frame bridge.
2802
2803         * WebView/WebFrame.m: (-[WebFrame webView]): Change to get the webView from the page bridge
2804         instead of the frame bridge, since it's a per-page thing.
2805
2806         * WebView/WebView.m: Removed init method since it just does what the default does (calls
2807         initWithFrame: with a zero rect).
2808         (-[WebView initWithCoder:]): Added checking so that if the obejcts have the wrong type
2809         we will fail gracefully instead of hitting "method not found" and the like.
2810         (-[WebView setPreferencesIdentifier:]): Fix storage leak. The WebPreferences object was
2811         not released.
2812         (-[WebView mainFrame]): Removed excess "return nil".
2813         (-[WebView _pageBridge]): Added. Helper to let you go from the WebView to the bridge
2814         from outside the WebView class.
2815         * WebView/WebViewInternal.h: Put _pageBridge into an internal header.
2816
2817         * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge outerView]): Added. Replaces "webView"
2818         as public method to tell the WebCore side about the view everything's embedded in.
2819
2820         - other cleanup
2821
2822         * WebCoreSupport/WebPageBridge.h: Removed some unneeded declarations.
2823
2824         * Plugins/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]):
2825         Rearrange code so it doesn't have to get the main frame twice.
2826
2827 2006-02-18  Maciej Stachowiak  <mjs@apple.com>
2828
2829         Not reviewed.
2830         
2831         - fix build broken by my last checkin, the remaining code was not doing anything.
2832
2833         * WebView/WebDataSource.m:
2834         * WebView/WebDataSourcePrivate.h:
2835         * WebView/WebFrame.m:
2836         (-[WebFrame _createPageCacheForItem:]):
2837
2838 2006-02-16  Maciej Stachowiak  <mjs@apple.com>
2839
2840         Reviewed by Darin.
2841         
2842         - removed a few unused fields and methods of WebDataSource
2843
2844         * WebView/WebDataSource.m:
2845         * WebView/WebDataSourcePrivate.h:
2846         * WebView/WebView.m:
2847         (+[WebView _MIMETypeForFile:]):
2848         (-[WebView _updateWebCoreSettingsFromPreferences:]):
2849
2850 2006-02-15  Justin Garcia  <justin.garcia@apple.com>
2851
2852         Reviewed by darin
2853         
2854         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7148>
2855         Add drag and drop support to DumpRenderTree
2856         
2857         Added a UI delegate method so that DumpRenderTree can perform dragging on its own.
2858         Made _updateFocusState SPI, to allow us to test the behavior and appearance of
2859         windows that have or don't have focus.
2860
2861         * WebView/WebHTMLView.m:
2862         (-[WebHTMLView _updateFocusState]):
2863         (-[NSArray viewDidMoveToWindow]):
2864         (-[NSArray windowDidBecomeKey:]):
2865         (-[NSArray windowDidResignKey:]):
2866         (-[NSArray dragImage:at:offset:event:pasteboard:source:slideBack:]):
2867         (-[NSArray becomeFirstResponder]):
2868         (-[NSArray resignFirstResponder]):
2869         (-[WebHTMLView _formControlIsResigningFirstResponder:]):
2870         * WebView/WebHTMLViewInternal.h:
2871         * WebView/WebHTMLViewPrivate.h:
2872         * WebView/WebUIDelegatePrivate.h:
2873         * WebView/WebView.m:
2874
2875 2006-02-15  Darin Adler  <darin@apple.com>
2876
2877         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
2878
2879 2006-02-15  Maciej Stachowiak  <mjs@apple.com>
2880
2881         Rubber stamped by Anders.
2882
2883         * WebView/WebControllerPolicyHandlerDelegate.h: Removed.
2884
2885 2006-02-15  Maciej Stachowiak  <mjs@apple.com>
2886
2887         Reviewed by Anders.
2888         
2889         - remove some voodoo code
2890
2891         * WebView/WebDataSource.m:
2892         (-[WebDataSource _setLoading:]): Removed useless ref/deref of self and WebView.
2893         A WebDataSource cannot be loading unless it is still connected to the WebView that
2894         owns it and retained by it, because getting disconnected stops loading.
2895
2896 2006-02-13  Maciej Stachowiak  <mjs@apple.com>
2897
2898         Reviewed by Anders.
2899         
2900         Improvements to frame loading:
2901         
2902         - remove LayoutAcceptable state entirely
2903         - fix WebImageView to work right without LayoutAcceptable state
2904         - move guts of commitIfReady: to WebFrame
2905         - try to separate page cache loading from normal loading a bit more
2906
2907         * English.lproj/StringsNotToBeLocalized.txt:
2908         * WebView/WebDataSource.m:
2909         (-[WebDataSource _prepareForLoadStart]):
2910         (-[WebDataSource _loadFromPageCache:]):
2911         (-[WebDataSource _startLoading]):
2912         (-[WebDataSource _commitIfReady]):
2913         (-[WebDataSource _setupForReplaceByMIMEType:]):
2914         * WebView/WebDataSourcePrivate.h:
2915         * WebView/WebFrame.m:
2916         (-[WebFrame _transitionToCommitted:]):
2917         (-[WebFrame _commitProvisionalLoad:]):
2918         (-[WebFrame _checkLoadCompleteForThisFrame]):
2919         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
2920         * WebView/WebFramePrivate.h:
2921         * WebView/WebImageRepresentation.h:
2922         * WebView/WebImageRepresentation.m:
2923         * WebView/WebImageView.m:
2924         (-[WebImageView dataSourceUpdated:]):
2925         (-[WebImageView setNeedsLayout:]):
2926         (-[WebImageView writeImageToPasteboard:types:]):
2927         (-[WebImageView copy:]):
2928         (-[WebImageView mouseDragged:]):
2929         * WebView/WebView.m:
2930         (-[WebView _finishedLoadingResourceFromDataSource:]):
2931         (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]):
2932
2933 2006-02-13  John Sullivan  <sullivan@apple.com>
2934
2935         Reviewed by Tim Omernick.
2936
2937         Support for highlighting multiple text matches.
2938
2939         * WebView/WebHTMLViewPrivate.h:
2940         * WebView/WebHTMLView.m:
2941         (-[WebHTMLView highlightAllMatchesForString:caseSensitive:]):
2942         new method, calls through to bridge
2943         (-[WebHTMLView clearHighlightedMatches]):
2944         ditto
2945
2946         * WebView/WebViewPrivate.h:
2947         * WebView/WebView.m:
2948         (-[WebView highlightAllMatchesForString:caseSensitive:]):
2949         new method, calls through to documentView. For now this is hardwired to only work
2950         with WebHTMLViews.
2951         (-[WebView clearHighlightedMatches]):
2952         ditto
2953
2954 2006-02-13  Darin Adler  <darin@apple.com>
2955
2956         Reviewed by Maciej.
2957
2958         - move pointer from frame to page over to WebCore
2959
2960         * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge initWithMainFrameName:webView:frameView:]):
2961         Call super init to create the page before creating the main frame and calling setMainFrame: with it.
2962
2963         * WebCoreSupport/WebFrameBridge.h: Remove page pointer, and change init function parameters.
2964         * WebCoreSupport/WebFrameBridge.m:
2965         (-[WebFrameBridge initMainFrameWithPage:frameName:view:]): New function that is used only for
2966         the main frame. Passes the page over to the other side of the bridge.
2967         (-[WebFrameBridge initSubframeWithRenderer:frameName:view:]): New function that is used only for
2968         subframes. Passes the renderer over to the other side of the bridge.
2969         (-[WebFrameBridge mainFrame]):
2970         (-[WebFrameBridge webView]):
2971         (-[WebFrameBridge createWindowWithURL:frameName:]):
2972         (-[WebFrameBridge showWindow]):
2973         (-[WebFrameBridge areToolbarsVisible]):
2974         (-[WebFrameBridge setToolbarsVisible:]):
2975         (-[WebFrameBridge isStatusbarVisible]):
2976         (-[WebFrameBridge setStatusbarVisible:]):
2977         (-[WebFrameBridge setWindowFrame:]):
2978         (-[WebFrameBridge windowFrame]):
2979         (-[WebFrameBridge setWindowContentRect:]):
2980         (-[WebFrameBridge windowContentRect]):
2981         (-[WebFrameBridge setWindowIsResizable:]):
2982         (-[WebFrameBridge windowIsResizable]):
2983         (-[WebFrameBridge firstResponder]):
2984         (-[WebFrameBridge makeFirstResponder:]):
2985         (-[WebFrameBridge closeWindowSoon]):
2986         (-[WebFrameBridge runJavaScriptAlertPanelWithMessage:]):
2987         (-[WebFrameBridge runJavaScriptConfirmPanelWithMessage:]):
2988         (-[WebFrameBridge canRunBeforeUnloadConfirmPanel]):
2989         (-[WebFrameBridge runBeforeUnloadConfirmPanelWithMessage:]):
2990         (-[WebFrameBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
2991         (-[WebFrameBridge addMessageToConsole:]):
2992         (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
2993         (-[WebFrameBridge setStatusText:]):
2994         (-[WebFrameBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2995         (-[WebFrameBridge focusWindow]):
2996         (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
2997         (-[WebFrameBridge userAgentForURL:]):
2998         (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
2999         (-[WebFrameBridge previousKeyViewOutsideWebFrameViews]):
3000         (-[WebFrameBridge defersLoading]):
3001         (-[WebFrameBridge setDefersLoading:]):
3002         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
3003         (-[WebFrameBridge _preferences]):
3004         (-[WebFrameBridge selectWordBeforeMenuEvent]):
3005         (-[WebFrameBridge historyLength]):
3006         (-[WebFrameBridge canGoBackOrForward:]):
3007         (-[WebFrameBridge goBackOrForward:]):
3008         (-[WebFrameBridge print]):
3009         (-[WebFrameBridge pollForAppletInView:]):
3010         (-[WebFrameBridge respondToChangedContents]):
3011         (-[WebFrameBridge respondToChangedSelection]):
3012         (-[WebFrameBridge undoManager]):
3013         (-[WebFrameBridge issueCutCommand]):
3014         (-[WebFrameBridge issueCopyCommand]):
3015         (-[WebFrameBridge issuePasteCommand]):
3016         (-[WebFrameBridge issuePasteAndMatchStyleCommand]):
3017         (-[WebFrameBridge canPaste]):
3018         (-[WebFrameBridge overrideMediaType]):
3019         (-[WebFrameBridge isEditable]):
3020         (-[WebFrameBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
3021         (-[WebFrameBridge shouldBeginEditing:]):
3022         (-[WebFrameBridge shouldEndEditing:]):
3023         (-[WebFrameBridge windowObjectCleared]):
3024         (-[WebFrameBridge spellCheckerDocumentTag]):
3025         (-[WebFrameBridge isContinuousSpellCheckingEnabled]):
3026         (-[WebFrameBridge didFirstLayout]):
3027         (-[WebFrameBridge dashboardRegionsChanged:]):
3028         (-[WebFrameBridge createModalDialogWithURL:]):
3029         (-[WebFrameBridge canRunModal]):
3030         (-[WebFrameBridge runModal]):
3031         Change all calls to [_page webView] to use [self webView] instead.
3032
3033 === WebKit-521.7
3034
3035 2006-02-11  Maciej Stachowiak  <mjs@apple.com>
3036
3037         Reviewed by Hyatt.
3038         
3039         - factor WebArchive creation code out of other classes into new WebArchiver
3040         http://bugzilla.opendarwin.org/show_bug.cgi?id=7208
3041
3042         * DOM/WebDOMOperations.m:
3043         (-[DOMNode webArchive]):
3044         (-[DOMRange webArchive]):
3045         * WebKit.xcodeproj/project.pbxproj:
3046         * WebView/WebArchiver.h: Added.
3047         * WebView/WebArchiver.m: Added.
3048         (+[WebArchiver _subframeArchivesForFrame:]):
3049         (+[WebArchiver archiveFrame:]):
3050         (+[WebArchiver _archiveCurrentStateForFrame:]):
3051         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
3052         (+[WebArchiver archiveRange:]):
3053         (+[WebArchiver archiveNode:]):
3054         (+[WebArchiver archiveSelectionInFrame:]):
3055         * WebView/WebDataSource.m:
3056         (-[WebDataSource webArchive]):
3057         * WebView/WebDataSourcePrivate.h:
3058         * WebView/WebHTMLView.m:
3059         (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
3060         (-[WebHTMLView _writeSelectionToPasteboard:]):
3061         * WebView/WebHTMLViewPrivate.h:
3062
3063 2006-02-11  Darin Adler  <darin@apple.com>
3064
3065         * English.lproj/StringsNotToBeLocalized.txt: Updated paths for recent changes in directory structure.
3066
3067 2006-02-11  David Kilzer  <ddkilzer@kilzer.net>
3068
3069         Reviewed by John Sullivan.
3070
3071         - Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7171
3072         No description in WebKitErrors.m for WebKitErrorPlugInWillHandleLoad
3073
3074         * English.lproj/Localizable.strings: Added new UI_STRING().
3075         * Misc/WebKitErrors.m: Added #define for description.
3076         (registerErrors): Added dictionary entry.
3077
3078 2006-02-09  Tim Omernick  <timo@apple.com>
3079
3080         Reviewed by Tim Hatcher.
3081
3082         <rdar://problem/4153419> CrashTracer: 576 crashes in Safari at com.apple.WebKit: NPN_DestroyStream + 56
3083
3084         I never could reproduce this crasher, which seems to be caused by the Speed Download plugin.  However,
3085         I did find a way to make the affected code more bulletproof for those who are experiencing the crash.
3086         
3087         * Plugins/WebBaseNetscapePluginStream.h:
3088         Keep a WebBaseNetscapePluginView instead of the WebNetscapePluginPackage, since the plugin view could
3089         potentially be deallocated before the stream finishes loading.
3090         * Plugins/WebBaseNetscapePluginStream.m:
3091         (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
3092         Use pluginView instead of plugin.
3093         (-[WebBaseNetscapePluginStream dealloc]):
3094         Assert that the plugin instance has been nulled out, since that's now part of the stream's teardown
3095         phase.
3096         Release pluginView instead of plugin.
3097         (-[WebBaseNetscapePluginStream setPluginPointer:]):
3098         Retain the plugin view instead of the plugin package, since the plugin view could be deallocated while
3099         the stream is running.
3100         This method now accepts a NULL argument so that we can easily clear out the pluginView backpointer
3101         (and other ivars derived from it).
3102         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
3103         Use pluginView instead of plugin.
3104         (-[WebBaseNetscapePluginStream _destroyStream]):
3105         ditto
3106         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
3107         ditto
3108         (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError]):
3109         Set the plugin instance to NULL, so that the pluginView backpointer is released.  This method is called
3110         for every plugin view's stream when the plugin view is stopped/destroyed.
3111         (-[WebBaseNetscapePluginStream _deliverData]):
3112         Use pluginView instead of plugin.
3113
3114 == Rolled over to ChangeLog-2006-02-09 ==