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