8ee38a8dab12e453b0d951a991f6cba2e7a8254a
[WebKit-https.git] / WebKit / ChangeLog
1 2004-09-07  Darin Adler  <darin@apple.com>
2
3         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
4
5 2004-09-07  Chris Blumenberg  <cblu@apple.com>
6
7         Fixed: <rdar://problem/3790143> exception raised when dragging a URL with 2-byte characters
8
9         (checked in with last check-in)
10
11 2004-09-07  Chris Blumenberg  <cblu@apple.com>
12
13         Fixed:
14         <rdar://problem/3080103> Need to pass cmd-modified keys to plug-ins
15         <rdar://problem/3751509> can't use safari edit menu to copy and paste with Vantage Learning's My Access
16
17         Reviewed by john.
18
19         * Plugins.subproj/WebBaseNetscapePluginView.m: fake up command-key events for cut, copy, paste and select all so these menu items work for plug-ins
20         (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]):
21         (-[WebBaseNetscapePluginView cut:]):
22         (-[WebBaseNetscapePluginView copy:]):
23         (-[WebBaseNetscapePluginView paste:]):
24         (-[WebBaseNetscapePluginView selectAll:]):
25
26 2004-09-07  Darin Adler  <darin@apple.com>
27
28         - fixed deployment build
29
30         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:]):
31         Initialize prepend variable.
32
33 2004-09-06  Darin Adler  <darin@apple.com>
34
35         Reviewed by John.
36
37         - fixed <rdar://problem/3696542> REGRESSION (Mail): Editable WebKit doesn't support underline yet (in the iChat profile window, at least)
38         - fixed <rdar://problem/3780249> REGRESSION (Mail): copy style/paste style doesn't work in HTML editing in Mail
39         - fixed <rdar://problem/3788857> REGRESSION (Mail): Home and End keys don't work in message composer
40         - fixed <rdar://problem/3788884> REGRESSION (Mail): ctrl-d emacs key binding does not work (delete forward)
41         - fixed <rdar://problem/3788890> REGRESSION (Mail): ctrl-k emacs key binding does not work (delete to end of paragraph)
42         - fixed <rdar://problem/3788899> REGRESSION (Mail): ctrl-y emacs key binding does not work (yank)
43         - fixed <rdar://problem/3788901> REGRESSION (Mail): ctrl-o emacs key binding does not work (insert newline in front of insertion point)
44         - fixed <rdar://problem/3788908> REGRESSION (Mail): ctrl-left-arrow emacs key binding does not work (move to beginning of line)
45         - fixed <rdar://problem/3788913> REGRESSION (Mail): ctrl-right-arrow emacs key binding does not work (move to end of line)
46         - implemented a first cut at other attribute changes from Text Panel besides underline (bugs?)
47         - dealt with a couple of FIXMEs in WebHTMLView.m
48         - updated list of not-yet-implemented methods in WebHTMLView.m
49         - fixed many deletion operations to call the correct editing delegate methods
50
51         * WebView.subproj/WebFrameViewPrivate.h: Remove _scrollToTopLeft and _scrollToBottomLeft.
52         No one was calling them anyway, so they should really have been marked internal and not private.
53         * WebView.subproj/WebFrameView.m:
54         (-[WebFrameView scrollToBeginningOfDocument:]): Renamed _scrollToTopLeft to this, so the home key
55         would start working with the key bindings machinery.
56         (-[WebFrameView scrollToEndOfDocument:]): Same thing, for end key.
57         (-[WebFrameView keyDown:]): Update for name changes, and also make sure we don't try to grab
58         control-arrow keys here (probably not necessary, but good anyway).
59
60         * WebView.subproj/WebHTMLViewInternal.h: Added keyDownEvent field, and startNewKillRingSequence
61         and nextResponderDisabledOnce flags.
62         * WebView.subproj/WebHTMLView.m:
63         Rearrange declarations at the top of the file so that external things are up with
64         the #import directives and things inside this file are declared below.
65         (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): Ditto.
66         (-[WebHTMLView _calculatePrintHeight]): Moved up into the "internal to file" category.
67         (-[WebHTMLView _updateTextSizeMultiplier]): Ditto.
68         (-[WebHTMLView _selectedRange]): Added.
69         (-[WebHTMLView _openLinkFromMenu:]): Left this method lying around even though I deleted the
70         other APPKIT_CODE_FOR_REFERENCE in case this shows up in the context menu we are now sharing
71         with the AppKit. Chris will look at this later, and he can delete it then.
72         (+[WebHTMLView initialize]): Call _NSInitializeKillRing.
73         (-[WebHTMLView _documentRange]): Added.
74         (-[WebHTMLView string]): Call the bridge to get the plain text rather than making an attributed
75         string and then getting the text from there.
76         (-[WebHTMLView becomeFirstResponder]): Set startNewKillRingSequence flag, so that new deletions
77         will create a new kill ring entry.
78         (-[WebHTMLView moveToBeginningOfDocument:]): Use backward direction instead of left direction.
79         (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto.
80         (-[WebHTMLView moveToBeginningOfLine:]): Ditto.
81         (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]): Ditto.
82         (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary.
83         (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto.
84         (-[WebHTMLView moveToEndOfDocument:]): Use forward direction instead of right direction.
85         (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto.
86         (-[WebHTMLView moveToEndOfLine:]): Ditto.
87         (-[WebHTMLView moveToEndOfLineAndModifySelection:]): Ditto.
88         (-[WebHTMLView moveToEndOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary.
89         (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto.
90         (-[WebHTMLView _shouldDeleteRange:]): Added.
91         (-[WebHTMLView _deleteRange:preflight:killRing:prepend:]): Added.
92         (-[WebHTMLView delete:]): Changed to call new _deleteRange method.
93         (-[WebHTMLView cut:]): Changed to preflight property and call new _deleteRange method.
94         (-[WebHTMLView _selectionFontAttributes]): Added.
95         (-[WebHTMLView _selectionFontAttributesAsRTF]): Added.
96         (-[WebHTMLView _fontAttributesFromFontPasteboard]): Added.
97         (-[WebHTMLView _emptyStyle]): Added.
98         (-[WebHTMLView _styleFromFontAttributes:]): Added.
99         (-[WebHTMLView _applyStyleToSelection:]): Added.
100         (-[WebHTMLView copyFont:]): Implemented.
101         (-[WebHTMLView pasteFont:]): Implemented.
102         (-[WebHTMLView _originalFontA]): Added.
103         (-[WebHTMLView _originalFontB]): Added.
104         (-[WebHTMLView _addToStyle:fontA:fontB:]): Added. Has code from the method that figures out
105         what the font manager is doing for changeFont:, now needed for changeAttribute: too.
106         (-[WebHTMLView _styleFromFontManagerOperation]): Renamed and now calls shared methods.
107         (-[WebHTMLView changeFont:]): Call shared method, still does the same thing.
108         (-[WebHTMLView _colorAsString:]): Added. Has code from the method we were using with the
109         color panel before.
110         (-[WebHTMLView _shadowAsString:]): Added.
111         (-[WebHTMLView _styleForAttributeChange:]): Added.
112         (-[WebHTMLView changeAttributes:]): Implemented.
113         (-[WebHTMLView _styleFromColorPanelWithSelector:]): Renamed and now calls shared methods.
114         (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): Call method by new name.
115         (-[WebHTMLView changeDocumentBackgroundColor:]): Call method by new name.
116         (-[WebHTMLView changeColor:]): Changed around a bit; still doesn't work yet.
117         (-[WebHTMLView _alignSelectionUsingCSSValue:]): Call shared methods.
118         (-[WebHTMLView indent:]): Removed, since NSTextView doesn't implement this method. Added to list
119         of methods to possibly implement later in the file.
120         (-[WebHTMLView insertTab:]): Call insertText: to save code and so we get WebViewInsertActionTyped
121         instead of WebViewInsertActionPasted.
122         (-[WebHTMLView changeCaseOfLetter:]): Removed, since NSTextView doesn't implement this method.
123         Added to list of methods to possibly implement later in the file.
124         (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Added.
125         (-[WebHTMLView deleteForward:]): Implemented. This makes Control-D work.
126         (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Implemented by just calling
127         deleteBackward for now; probably better than doing nothing.
128         (-[WebHTMLView deleteWordForward:]): Changed to call new _delete method above. Fixes things
129         so that we delete the selection if there is one, get the appropriate delegate calls, handle
130         the kill ring properly, and don't do any selection if we can't delete.
131         (-[WebHTMLView deleteWordBackward:]): Ditto.
132         (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
133         (-[WebHTMLView deleteToEndOfLine:]): Ditto.
134         (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
135         (-[WebHTMLView deleteToEndOfParagraph:]): Ditto. Added additional behavior needed since this
136         is bound to Control-K, so it's not really just delete to end of paragraph.
137         (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): Added. Calls insertNewline:.
138         (-[WebHTMLView insertTabIgnoringFieldEditor:]): Added. Calls insertTab:.
139         (-[WebHTMLView subscript:]): Added.
140         (-[WebHTMLView superscript:]): Added.
141         (-[WebHTMLView unscript:]): Added.
142         (-[WebHTMLView underline:]): Added.
143         (-[WebHTMLView yank:]): Added.
144         (-[WebHTMLView yankAndSelect:]): Added. Calls _insertText.
145         (-[WebHTMLView _arrowKeyDownEventSelectorIfPreprocessing:]): Added. Part of workaround for
146         control-arrow key trouble.
147         (-[WebHTMLView respondsToSelector:]): Added. More of workaround.
148         (-[WebHTMLView nextResponder:]): Added. More of workaround.
149         (-[WebHTMLView _selectionChanged]): Set startNewKillRingSequence flag, so that new deletions
150         will create a new kill ring entry.
151         (-[WebHTMLView _updateFontPanel]): Remove a bunch of code here that wasn't working very well
152         because it walked a DOM range incorrectly, and instead use the new method that does all the
153         right stuff on the other side of the bridge.
154         (-[WebHTMLView _insertText:selectInsertedText:]): Added new helper method for use by both
155         insertText and yankAndSelect, with most of the guts of insertText and one additional parameter.
156         (-[WebHTMLView insertText:]): Call the new _insertText.
157
158         * WebView.subproj/WebView.m: Use macros to make the forwarding from WebView more terse.
159         Updated the list to include a few methods it didn't before.
160
161 2004-09-06  John Sullivan  <sullivan@apple.com>
162
163         Reviewed by Darin.
164         
165         - put preference keys in a private header file so Safari can use them for Managed Preferences
166
167         * WebView.subproj/WebPreferenceKeysPrivate.h:
168         new Private header file, includes the #defines for NSUserDefaults preference keys
169         
170         * WebView.subproj/WebPreferences.m:
171         moved the preference key #defines out of here; now imports WebPreferenceKeysPrivate.h
172
173         * WebKit.pbproj/project.pbxproj:
174         updated for new file
175
176 2004-09-03  Chris Blumenberg  <cblu@apple.com>
177
178         Fixed: <rdar://problem/3782543> CrashTracer: ...87 crashes at com.apple.WebKit: -[WebNetscapePluginPackage initWithPath:] + 0x18c
179
180         Reviewed by john.
181
182         * Plugins.subproj/WebNetscapePluginPackage.m:
183         (-[WebNetscapePluginPackage initWithPath:]): make sure the file is at least 8 bytes long before calling memcmp
184
185 2004-09-03  Chris Blumenberg  <cblu@apple.com>
186         
187         Fixed:
188         <rdar://problem/3788328> assertion failure when moving an image
189         <rdar://problem/3783628> REGRESSION (Mail): when I try to reorder an image, the image is duplicated
190
191         Reviewed by NOBODY (OOPS!).
192
193         * DOM.subproj/WebDOMOperations.m:
194         (-[DOMDocument _createRangeWithNode:]): new, convenience
195         (-[DOMDocument _documentRange]): use _ createRangeWithNode:
196         * DOM.subproj/WebDOMOperationsPrivate.h:
197         * WebView.subproj/WebHTMLView.m:
198         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): set the selection to the image when starting the drag. This allows "move selection" to work and this matches NSText's behavior
199
200 === Safari-162 ===
201
202 2004-09-02  Richard Williamson   <rjw@apple.com>
203
204         Support for patterns in <canvas>.  
205         (These changes attempt to create a CGImageRef from a WebImageRenderer that
206         is used by the pattern drawing function.)
207         
208         Reviewed by Hyatt.
209
210         * WebCoreSupport.subproj/WebImageRenderer.h:
211         * WebCoreSupport.subproj/WebImageRenderer.m:
212         (-[WebImageRenderer dealloc]):
213         (-[WebImageRenderer finalize]):
214         (-[WebImageRenderer imageRef]):
215         (_createImageRef):
216         * WebView.subproj/WebPDFView.h:
217         * WebView.subproj/WebPDFView.m:
218
219 2004-09-01  Chris Blumenberg  <cblu@apple.com>
220
221         Fixed deployment build failure.
222
223         * WebView.subproj/WebDefaultContextMenuDelegate.m:
224         (-[WebDefaultUIDelegate menuItemWithTag:]):
225
226 2004-08-31  Chris Blumenberg  <cblu@apple.com>
227
228         Fixed: 
229         <rdar://problem/3699498> Context menu for editable WebViews should provide items like Cut and Paste
230         <rdar://problem/3781535> REGRESSION (Mail): no context menu after ctrl-clicking a misspelled word
231
232         Reviewed by kocienda.
233
234         * English.lproj/Localizable.strings:
235         * WebView.subproj/WebDefaultContextMenuDelegate.m:
236         (-[WebDefaultUIDelegate menuItemWithTag:]): updated to handle new menu items
237         (-[WebDefaultUIDelegate contextMenuItemsForElement:]): renamed from webView:contextMenuItemsForElement:defaultMenuItems:
238         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): new
239         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): moved, now call contextMenuItemsForElement: or editingContextMenuItemsForElement:
240         * WebView.subproj/WebDefaultUIDelegate.h:
241         * WebView.subproj/WebHTMLView.m:
242         (-[WebHTMLView _isSelectionMisspelled]): new
243         (-[WebHTMLView _guessesForMisspelledSelection]): new
244         (-[WebHTMLView _changeSpellingFromMenu:]): new
245         (-[WebHTMLView _ignoreSpellingFromMenu:]): new
246         (-[WebHTMLView _learnSpellingFromMenu:]): new
247         * WebView.subproj/WebHTMLViewPrivate.h:
248         * WebView.subproj/WebUIDelegate.h:
249
250 2004-08-31  Darin Adler  <darin@apple.com>
251
252         - fixed B&I build failure
253
254         * WebView.subproj/WebHTMLView.m: (-[WebTextCompleteController _buildUI]):
255         Work around unwanted warning by adding a cast.
256
257 2004-08-27  Maciej Stachowiak  <mjs@apple.com>
258
259         Reviewed by John.
260
261         <rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website
262         
263         Because we will stop parsing when there is a pending redirection,
264         avoid setting one if no navigation would actually take place
265         because the number of steps is out of range.
266
267         * WebCoreSupport.subproj/WebBridge.m:
268         (-[WebBridge canGoBackOrForward:]):
269
270 2004-08-30  Darin Adler  <darin@apple.com>
271
272         Reviewed by John.
273
274         - part of fix for <rdar://problem/3637519> REGRESSION (125-128): unrepro crash in QListBox::sizeForNumberOfLines at istweb.apple.com
275
276         * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory clearCaches]):
277         Call [super clearCaches].
278
279 2004-08-30  Darin Adler  <darin@apple.com>
280
281         Reviewed by Chris.
282
283         - did work to prepare for uploading files incrementally when submitting forms
284
285         * History.subproj/WebHistoryItem.m:
286         (-[WebHistoryItem _setFormInfoFromRequest:]): Use NSArray instead of NSData for form data.
287         (-[WebHistoryItem formData]): Ditto.
288         * History.subproj/WebHistoryItemPrivate.h: Ditto.
289         * WebCoreSupport.subproj/WebBridge.m:
290         (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
291         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto.
292         (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
293         * WebCoreSupport.subproj/WebSubresourceClient.h: Ditto.
294         * WebCoreSupport.subproj/WebSubresourceClient.m:
295         (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): Ditto.
296         * WebView.subproj/WebFrame.m:
297         (-[WebFrame _loadItem:withLoadType:]): Ditto.
298         (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
299         * WebView.subproj/WebFramePrivate.h: Ditto.
300
301         * WebView.subproj/WebFormDataStream.h: Added.
302         * WebView.subproj/WebFormDataStream.m:
303         (-[WebFormDataStream initWithFormDataArray:]): Placeholder; not done yet.
304         (-[WebFormDataStream formDataArray]): Ditto.
305         * WebKit.pbproj/project.pbxproj: Added WebFormDataStream files.
306
307 2004-08-30  John Sullivan  <sullivan@apple.com>
308
309         Reviewed by Ken.
310
311         - WebKit part of fix for <rdar://problem/3607720> myFrame.print() prints the window 
312         but should only print the frame
313
314         * WebView.subproj/WebUIDelegatePrivate.h:
315         declare new delegate method that includes which frame to print
316
317         * WebView.subproj/WebDefaultUIDelegate.m:
318         (-[WebDefaultUIDelegate webView:printFrameView:]):
319         implement default (no-op) version of new delegate method
320
321         * WebCoreSupport.subproj/WebBridge.m:
322         (-[WebBridge print]):
323         call new delegate method if available, otherwise call old delegate method, for
324         backward compatibility.
325
326 2004-08-27  Maciej Stachowiak  <mjs@apple.com>
327
328         Reviewed by John. 
329         Checked in by Ken
330         
331         Ken comments: It looks like Maciej forgot to land this when he checked in the
332         WebCore portion of this change.
333
334         <rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website
335             
336         Because we will stop parsing when there is a pending redirection,
337         avoid setting one if no navigation would actually take place
338         because the number of steps is out of range.
339     
340         * WebCoreSupport.subproj/WebBridge.m:
341         (-[WebBridge canGoBackOrForward:]):
342
343 2004-08-27  Ken Kocienda  <kocienda@apple.com>
344
345         Reviewed by Chris
346
347         Fix for this bug:
348         
349         <rdar://problem/3756997> WebKit aggressive in making pasted text into a URL, even when it's not much like a URL
350
351         * WebView.subproj/WebHTMLView.m:
352         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): Don't try so hard to coerce data
353         on the pasteboard into a URL, and do not make an anchor with an href for any URLs that are 
354         explicitly present on the pasteboard. Also, move URL pasteboard type check beneath the RTF
355         checks.
356
357 === Safari-161 ===
358
359 2004-08-26  Chris Blumenberg  <cblu@apple.com>
360
361         Fixed build failure on Panther.
362
363         Reviewed by john.
364
365         * WebView.subproj/WebHTMLView.m:
366         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): ifdef'd out call to AppKit SPI
367         (-[WebHTMLView _attributeStringFromDOMRange:]): ditto
368
369 2004-08-26  Chris Blumenberg  <cblu@apple.com>
370
371         Tweak to last check-in.
372
373         * WebView.subproj/WebHTMLView.m:
374         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]):
375
376 2004-08-26  Chris Blumenberg  <cblu@apple.com>
377
378         Fixed: 
379         <rdar://problem/3546412> support for pasting and drag and dropping of RTF and RTFD to editable WebViews
380         <rdar://problem/3745345> use AppKit for converting from DOM to RTF
381
382         Reviewed by rjw.
383
384         * DOM.subproj/WebDOMOperations.m:
385         (-[DOMDocument _documentRange]): new
386         * DOM.subproj/WebDOMOperationsPrivate.h:
387         * WebView.subproj/WebHTMLView.m:
388         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): call AppKit SPI to get a document fragment from an attributed string
389         (-[WebHTMLView string]): added a FIXME
390         (-[WebHTMLView _attributeStringFromDOMRange:]): new, calls AppKit SPI that creates an attributed string from a DOM Range
391         (-[WebHTMLView attributedString]): call _attributeStringFromDOMRange:, fallback to old code if it returns nil
392         (-[WebHTMLView selectedAttributedString]): ditto
393
394 2004-08-26  Chris Blumenberg  <cblu@apple.com>
395
396         Fixed: <rdar://problem/3774178> Plugin hooks for selected state aren't being called
397
398         Reviewed by darin.
399
400         * WebCoreSupport.subproj/WebBridge.m:
401         (-[WebBridge setIsSelected:forView:]): don't forget colons in method names
402
403 2004-08-26  Chris Blumenberg  <cblu@apple.com>
404
405         Fixed: <rdar://problem/3768439> can't click in WebView in Carbon WebKit apps (GetEventPlatformEventRecord returns false)
406
407         Reviewed by rjw.
408
409         * Carbon.subproj/HIWebView.m:
410         (Click): use WebGetEventPlatformEventRecord not GetEventPlatformEventRecord
411         (MouseUp): ditto
412         (MouseMoved): ditto
413         (MouseDragged): ditto
414         (MouseWheelMoved): ditto
415         (WindowHandler): ditto
416         (HIWebViewEventHandler): ditto
417         (UpdateObserver): ditto
418         (WebGetEventPlatformEventRecord): Call GetEventPlatformEventRecord, if that fails fallback to the current event. This is code Eric Schlegel to me to use. 
419
420 2004-08-24  Chris Blumenberg  <cblu@apple.com>
421
422         Fixed with help from Trey:
423         <rdar://problem/3764856> REGRESSION !25-154): Safari accepts mouse clicks (follows links) when not key
424
425         Reviewed by rjw.
426
427         * WebView.subproj/WebHTMLView.m:
428         (-[WebHTMLView _isSelectionEvent:]): brought back from CVS
429         (-[WebHTMLView acceptsFirstMouse:]): only call eventMayStartDrag if _isSelectionEvent returns YES since we only want to allow selection dragging on the first mouse down
430         (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
431
432 2004-08-24  Ken Kocienda  <kocienda@apple.com>
433
434         Reviewed by Hyatt
435
436         Improved the checks used to see if certain operations can be done based
437         on the state of the selection and whether the selection is editable. I
438         added some helpers and improved some others to assist in making these
439         determinations.
440         
441         This helps to fix this bug:
442         <rdar://problem/3764987> Crash after adding newline to quoted text
443         
444         Since some editing methods expect the the selection to be in a certain state 
445         in order to work, these checks help obviate crashes like 3764987.
446
447         * WebView.subproj/WebHTMLView.m:
448         (-[WebHTMLView _writeSelectionToPasteboard:]): _haveSelection name changed to _hasSelection.
449         (-[WebHTMLView _canCopy]): Checks to see if state is appropriate to perform this operation.
450         (-[WebHTMLView _canCut]): Ditto. Function added.
451         (-[WebHTMLView _canDelete]): Ditto. Function refined.
452         (-[WebHTMLView _canPaste]): Ditto. Function refined.
453         (-[WebHTMLView _canType]): Ditto. Function added.
454         (-[WebHTMLView _hasSelection]): Name changed from _haveSelection.
455         (-[WebHTMLView _hasSelectionOrInsertionPoint]): Added.
456         (-[WebHTMLView _isEditable]): Added.
457         (-[WebHTMLView takeFindStringFromSelection:]): _haveSelection name changed to _hasSelection.
458         (-[WebHTMLView validateUserInterfaceItem:]): Ditto
459         (-[WebHTMLView validRequestorForSendType:returnType:]): Ditto
460         (-[WebHTMLView keyDown:]):
461         (-[WebHTMLView copy:]): Uses new _canCopy check.
462         (-[WebHTMLView cut:]): Uses new _canCut check.
463         (-[WebHTMLView delete:]): Now uses _canDelete check.
464         (-[WebHTMLView paste:]): Now uses _canPaste check.
465         (-[WebHTMLView _updateFontPanel]): _haveSelection name changed to _hasSelection.
466         * WebView.subproj/WebHTMLViewPrivate.h:
467         * WebView.subproj/WebView.m:
468         (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): Use selectionState check to
469         determine whether or not operation can be done.
470
471 2004-08-24  Richard Williamson   <rjw@apple.com>
472
473         Fixed <rdar://problem/3770469> Some PDFs open with line of previous page above PDF view
474         
475         Set height resize flags on WebPDFView.
476                 
477         Reviewed by Chris.
478
479         * WebView.subproj/WebPDFView.m:
480         (-[WebPDFView initWithFrame:]):
481
482 2004-08-24  David Hyatt  <hyatt@apple.com>
483
484         Add Atom and RSS MIME types to set of supported XML types.
485         
486         Reviewed by rjw
487
488         * WebView.subproj/WebDataSource.m:
489         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
490         * WebView.subproj/WebFrameView.m:
491         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
492
493 2004-08-23  Maciej Stachowiak  <mjs@apple.com>
494
495         Reviewed by Kevin.
496
497         - remove annoying ERROR spew and replace with comment
498         
499         * WebView.subproj/WebHTMLView.m:
500         (-[WebHTMLView validAttributesForMarkedText]):
501
502 2004-08-23  Maciej Stachowiak  <mjs@apple.com>
503
504         Reviewed by Richard.
505
506         - a bit of code cleanup
507
508         * WebView.subproj/WebDataSource.m:
509         (-[WebDataSource _stringWithData:]): Call textEncodingName instead of
510         copying it's code.
511         (-[WebDataSource textEncodingName]): Tweak formatting.
512
513 2004-08-23  Chris Blumenberg  <cblu@apple.com>
514
515         Fixed build.
516
517         * WebKit.pbproj/project.pbxproj: make sure we're doing -f on a file, not a directory
518
519 2004-08-23  Chris Blumenberg  <cblu@apple.com>
520
521         Fixed: <rdar://problem/3674867> use new Security framework SPI's to reenable cert acquisition
522
523         Reviewed by john.
524
525         * WebCoreSupport.subproj/WebKeyGeneration.cpp:
526         * WebCoreSupport.subproj/WebKeyGeneration.h:
527         * WebCoreSupport.subproj/WebKeyGenerator.h:
528         * WebCoreSupport.subproj/WebKeyGenerator.m:
529         (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): re-enabled cert code, call Panther version on Panther, Tiger version on Tiger
530         (-[WebKeyGenerator addCertificatesToKeychainFromData:]): ditto
531         * WebCoreSupport.subproj/WebNewKeyGeneration.c: Added.
532         (gnrAddContextAttribute):
533         (gnrGetSubjPubKey):
534         (gnrNullAlgParams):
535         (gnrSign):
536         (gnrFreeCssmData):
537         (nssArraySize):
538         (signedPublicKeyAndChallengeString):
539         (addCertificateToKeychainFromData):
540         (addCertificatesToKeychainFromData):
541         * WebCoreSupport.subproj/WebNewKeyGeneration.h: Added.
542         * WebKit.pbproj/project.pbxproj:
543
544 2004-08-20  David Hyatt  <hyatt@apple.com>
545
546         Fix the directionality of the unicode hyphen so that on Panther it now matches Tiger.
547         
548         Reviewed by darin
549
550         * Misc.subproj/WebUnicode.m:
551         (_unicodeDirection):
552
553 2004-08-20  Richard Williamson   <rjw@apple.com>
554
555             Implemented new JNI abstraction.  We no longer invoke Java methods
556             directly with JNI, rather we call into the plugin.  This allows the
557             plugin to dispatch the call to the appropriate VM thread.  This
558             change should (will?) fix a whole class of threading related problems with
559             the Java VM.
560
561         Reviewed by Hyatt.
562
563         * WebCoreSupport.subproj/WebBridge.m:
564         (-[WebBridge getAppletInView:]):
565
566 2004-08-20  Trey Matteson  <trey@apple.com>
567
568         3655407 - Editing: -complete: method unimplemented (WebKit editing API)
569
570         This feature is mostly implemented.  The only loose ends I know of are:
571
572         3769654 - text insertions done via complete: should preserve case of full replacement string
573         3769652 - positioning of complete: popup window wrong for right-to-left languages
574
575         Reviewed by John
576
577         * WebView.subproj/WebHTMLView.m:
578         (-[WebHTMLViewPrivate dealloc]):  Free new object.
579         (-[WebHTMLView menuForEvent:]):  Bail on completion session.
580         (-[WebHTMLView windowDidResignKey:]):  Ditto.
581         (-[WebHTMLView windowWillClose:]):  Ditto.
582         (-[WebHTMLView mouseDown:]):  Ditto.
583         (-[WebHTMLView resignFirstResponder]):  Ditto.
584         (-[WebHTMLView keyDown:]):  Bail on completion session if WebCore takes the event.
585         Give the CompleteController a crack at the key event.
586         (-[WebHTMLView _expandSelectionToGranularity:]):  Adopt method rename
587         (-[WebHTMLView complete:]):  Make CompleteController, tell it to do its thing.
588         (-[WebHTMLView checkSpelling:]):  Add ERROR().
589         (-[WebHTMLView showGuessPanel:]): Add ERROR().
590         (-[WebHTMLView _changeSpellingToWord:]): Add ERROR().
591         (-[WebHTMLView ignoreSpelling:]): Add ERROR().
592
593         (-[WebTextCompleteController initWithHTMLView:]):
594         (-[WebTextCompleteController dealloc]):
595         (-[WebTextCompleteController _insertMatch:]): Stick the new string into the doc.
596         (-[WebTextCompleteController _buildUI]):  Make popup window.
597         (-[WebTextCompleteController _placePopupWindow:]):  Position popup window.
598         (-[WebTextCompleteController doCompletion]):  Lookup matches, display window.
599         (-[WebTextCompleteController endRevertingChange:moveLeft:]):  Bail on complete: session.
600         (-[WebTextCompleteController filterKeyDown:]):  Process keys while popup is up.
601         (-[WebTextCompleteController _reflectSelection]):  Handle choice in popup.
602         (-[WebTextCompleteController tableAction:]):  Handle double click in popup
603         (-[WebTextCompleteController numberOfRowsInTableView:]):  Fill table with matches.
604         (-[WebTextCompleteController tableView:objectValueForTableColumn:row:]):  Ditto.
605         (-[WebTextCompleteController tableViewSelectionDidChange:]):  Handle selection change.
606         * WebView.subproj/WebHTMLViewInternal.h:
607
608 2004-08-20  John Sullivan  <sullivan@apple.com>
609
610         * English.lproj/StringsNotToBeLocalized.txt:
611         checked this in; the only difference is that
612         the strings were out of order.
613
614 2004-08-19  Richard Williamson   <rjw@apple.com>
615
616         Continue to call old pollForAppletInView: in Tiger until
617         we get an plugin that supports the new API.
618                 
619         Reviewed by Chris.
620
621         * WebCoreSupport.subproj/WebBridge.m:
622         (-[WebBridge getAppletInView:]):
623         * WebKit.pbproj/project.pbxproj:
624
625 === Safari-158 ===
626
627 2004-08-19  Chris Blumenberg  <cblu@apple.com>
628
629         Fixed typo in comment.
630
631         * Misc.subproj/WebIconDatabase.m:
632         (-[WebIconDatabase _updateFileDatabase]):
633
634 2004-08-19  Chris Blumenberg  <cblu@apple.com>
635
636         Fixed: <rdar://problem/3566336> CrashTracer: .2403 crashes at com.apple.WebKit: -[WebFileDatabase performSetObject:forKey:] + 0x94
637
638         Reviewed by trey.
639
640         * Misc.subproj/WebIconDatabase.m:
641         (-[WebIconDatabase _updateFileDatabase]): pass WebFileDatabase copies of the mutable dictionaries or else they may be accessed on a separate thread as the main thread is modifying them
642
643 2004-08-18  Richard Williamson   <rjw@apple.com>
644
645         Replace horrible pollForAppletInView: with new
646         webPlugInGetApplet.  The details of how the applet instance
647         is provided now belong to the Java team.  Yeh.
648                 
649         Reviewed by Chris.
650
651         * WebCoreSupport.subproj/WebBridge.m:
652         (-[WebBridge getAppletInView:]):
653
654 2004-08-17  Richard Williamson   <rjw@apple.com>
655
656         Fixed <rdar://problem/3759093> Need PDF context menu: "Open in Preview" or other external app
657
658         Added support for "Open with ..." in PDF view.
659                 
660         Reviewed by Chris and Trey.
661
662         * ChangeLog:
663         * English.lproj/Localizable.strings:
664         * English.lproj/StringsNotToBeLocalized.txt:
665         * WebView.subproj/WebPDFView.h:
666         * WebView.subproj/WebPDFView.m:
667         (-[WebPDFView initWithFrame:]):
668         (-[WebPDFView dealloc]):
669         (applicationInfoForMIMEType):
670         (-[WebPDFView path]):
671         (-[WebPDFView menuForEvent:]):
672         (-[WebPDFView setDataSource:]):
673         (-[WebPDFView layout]):
674         (-[WebPDFView viewDidMoveToHostWindow]):
675         (-[WebPDFView openWithFinder:]):
676
677 2004-08-17  Richard Williamson   <rjw@apple.com>
678
679         JNI needs both the jmethodID and return type.  Changed API to 
680         pass both.
681                 
682         Reviewed by Chris.
683
684         * Plugins.subproj/WebJavaPlugIn.h:
685
686 2004-08-17  Trey Matteson  <trey@apple.com>
687
688         3764147 - failure of subframe to load leaves links in parent doc broken
689
690         Reviewed by Maciej.
691
692         * WebView.subproj/WebDataSource.m:
693         (-[WebDataSource _receivedMainResourceError:complete:]):
694         Need to call [bridge end] in the case of an error, so WC can clean up.
695
696 === Safari-157 ===
697
698 2004-08-15  Richard Williamson   <rjw@apple.com>
699
700         More changes to np headers.
701         
702         Reviewed by Darin.
703
704         * Plugins.subproj/WebNetscapePluginPackage.m:
705         (-[WebNetscapePluginPackage load]):
706         * Plugins.subproj/npapi.h:
707         * Plugins.subproj/npfunctions.h:
708         * Plugins.subproj/npruntime.h:
709
710 2004-08-13  Darin Adler  <darin@apple.com>
711
712         Reviewed by Chris.
713
714         - fixed <rdar://problem/3760924> Carbon path passed in NPP_StreamAsFile must be in local character set, not UTF-8
715
716         * Plugins.subproj/WebBaseNetscapePluginStream.m:
717         (CarbonPathFromPOSIXPath): Added. New function that uses the path pieces from an FSSpec.
718         This has many advantages; the big one that fixes the bug is that it gives the mangled names
719         that work even for files that have names that can't otherwise be encoded in Carbon-style
720         path names. I didn't write this from scratch: I started with the method in Foundation
721         and just changed it to use FSSpec.
722         (-[WebBaseNetscapePluginStream destroyStream]): Remove code that used NSString and just call
723         CarbonPathFromPOSIXPath instead.
724
725         * Plugins.subproj/npapi.h: The Revision tag wanted to touch this file.
726         I think we are going to have some trouble with this; I'd like to take that out.
727
728         * English.lproj/StringsNotToBeLocalized.txt: Updated.
729
730 2004-08-12  Trey Matteson  <trey@apple.com>
731
732         3761329 - query result links all dead in ingrammicro.com (sometimes)
733         3761328 - links in some docs dead when doc is loaded from WebArchive
734
735         Nasty problem.  It turns out that these result pages are a parent frame with two child
736         frames.  One of the child frames is a 1 or 2 byte text document.  When the text child
737         is the last doc to complete, because we use a Text rep instead of an HTMLRep, it turns
738         out we never send [bridge end] from WebKit.  That mistake results in checkCompleted not
739         being called enough in the part, and we never realize the load is done.  WebCore does
740         not allow redirects to happen until the entire load is complete,  and  the links on this
741         results page are actually little pieces of JS that set location to a generated URL.  Since
742         redirects are not allowed these links all silently fail to do anything, and the doc never
743         achieves a completed state where they will work.
744
745         Solution is to make sure we always call [bridge end] from the DataSource instead of only
746         the HTML rep doing it.
747
748         Reviewed by Richard and Darin.
749
750         * WebView.subproj/WebDataSource.m:
751         (-[WebDataSource _finishedLoading]):  Call [bridge end] here for all kinds of docs.
752         * WebView.subproj/WebHTMLRepresentation.m:
753         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):  Don't call is just for HTMLReps.
754
755 2004-08-12  Richard Williamson   <rjw@apple.com>
756
757         Bring npruntime.h and friends closer to compliance with
758         latest spec.
759
760         Reviewed by Maciej.
761
762         * Plugins.subproj/npapi.h:
763         * Plugins.subproj/npfunctions.h:
764         * Plugins.subproj/npruntime.h:
765         (_NPString::):
766         (_NPString::_NPVariant::):
767         * copy-webcore-files-to-webkit:
768
769 2004-08-12  Chris Blumenberg  <cblu@apple.com>
770
771         Fixed: <rdar://problem/3761097> should be able to option-drag selection so HTML can be copied within a page
772
773         Reviewed by rjw.
774
775         * WebView.subproj/WebHTMLView.m:
776         (-[WebHTMLView _isMoveDrag]): new, take into account the option key
777         (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call _isMoveDrag
778         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): call _isMoveDrag
779
780 2004-08-12  Richard Williamson   <rjw@apple.com>
781
782         Quick fix for 3760903.  The real fix is described in 3760920.  Needed
783         by Java plugin guys so they can be unblocked for feature freeze.
784                 
785         Reviewed by Chris.
786
787         * WebView.subproj/WebFrame.m:
788         (-[WebFrame _reloadForPluginChanges]):
789         * WebView.subproj/WebHTMLView.m:
790         (-[WebHTMLView addSubview:]):
791
792 2004-08-12  Chris Blumenberg  <cblu@apple.com>
793
794         Fixed: <rdar://problem/3760898> error pages in subframes attempt to load appledata URLs when reloaded
795
796         Reviewed by darin.
797
798         * WebView.subproj/WebFrame.m:
799         (-[WebFrame _createItem:]): when setting the original URL of the history item, use the unreachable URL
800
801 === Safari-156 ===
802
803 2004-08-11  Adele Amchan  <adele@apple.com>
804
805         Reviewed by me, bug fix by Darin.
806
807         - fixed <rdar://problem/3736477> Pages don't load if hard drive is named with non-ASCII Symbol
808
809         * Plugins.subproj/WebBaseNetscapePluginStream.m:
810         (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]):
811         Use UTF8String instead of cString to convert the MIME type to a C string. Safer, since it can't
812         ever fail due to encoding problems even though this string should always be ASCII.
813         (-[WebBaseNetscapePluginStream destroyStream]): Use stringWithUTF8String to convert the path name
814         to an NSString, since stringWithCString is deprecated (doesn't really matter since the path is always
815         all ASCII). Fix the bug by calling fileSystemRepresentation on the NSString to turn it into a C
816         string form. Even though the POSIX path can't have any non-ASCII characters in it, the Carbon path
817         can, so we need to use this instead of cString which can fail depending on characters and encoding.
818
819 2004-08-09  Maciej Stachowiak  <mjs@apple.com>
820
821         Reviewed by Trey.
822
823         WebKit part of:
824
825         - made basic marked text highlighting work to complete basic level of <rdar://problem/3704359> input method support not yet implemented for HTML editing
826
827         * WebView.subproj/WebHTMLView.m:
828         (-[WebHTMLView markedRange]): Use new bridge calls instead of internal marked range storage.
829         (-[WebHTMLView hasMarkedText]): Likewise.
830         (-[WebHTMLView unmarkText]): Likewise.
831         (-[WebHTMLView _selectMarkedText]): Likewise.
832         (-[WebHTMLView _selectRangeInMarkedText:]): Likewise.
833         (-[WebHTMLView _selectionIsInsideMarkedText]): Likewise.
834         (-[WebHTMLView _updateSelectionForInputManager]): Likewise.
835         (-[WebHTMLView setMarkedText:selectedRange:]): Use direct bridge call instead
836         of private _selectMarkedDOMRange: method, which would now be trivial.
837         * WebView.subproj/WebHTMLViewInternal.h: Remove unneeded
838
839 2004-08-10  Darin Adler  <darin@apple.com>
840
841         Reviewed by Ken.
842
843         - change name of WebMakeCollectable to WebNSRetainCFRelease so it fits into the
844           "NS and CF retain counts are separate" mental model, rather than the "think about
845           how garbage collection works" one
846
847         * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Rename.
848         * Misc.subproj/WebNSObjectExtras.h: (WebNSRetainCFRelease): Ditto.
849         * Misc.subproj/WebNSURLExtras.m:
850         (+[NSURL _web_URLWithData:relativeToURL:]): Ditto.
851         (-[NSURL _web_URLWithLowercasedScheme]): Ditto.
852
853 2004-08-09  Trey Matteson  <trey@apple.com>
854
855         3756599 - REGRESSION: hit assertion in KWQPageState invalidate
856
857         By inspection I found a flaw in the recently added logic, although
858         I have no steps to repro.  My theoretical explanation is that we would
859         get two errors and go through _receivedMainResourceError: twice, which
860         would cause the pageState to be invalidated twice, which is the only
861         way I can see to hit the assert.
862
863         Reviewed by Darin
864
865         * WebView.subproj/WebFrame.m:
866         (-[WebFrame _receivedMainResourceError:]):  Clear the pageState out
867         of the history item after it's been invalidated by WebCore.
868
869 2004-08-09  Richard Williamson   <rjw@apple.com>
870
871         Inspired by Trey we have a much better approach for conditionally
872         linking Quart.framework.  Instead of multiple targets we use 
873         `` to invoke some inline script to extend COMMON_LDFLAGS as
874         necessary.  Thanks Trey!
875         
876         Reviewed by Trey.
877
878         * WebKit.pbproj/project.pbxproj:
879
880 2004-08-09  Trey Matteson  <trey@apple.com>
881
882         Hookup UI for "Continuous Spelling" menu item.
883
884         Reviewed by Richard.
885
886         * WebView.subproj/WebView.m:
887         (-[WebView validateUserInterfaceItem:]):  Enable and check the
888         menu item to reflect our state.
889         (-[WebView toggleContinuousSpellChecking:]):  Change type to
890         IBAction, just cosmetic.
891         * WebView.subproj/WebViewPrivate.h:
892
893 2004-08-08  Trey Matteson  <trey@apple.com>
894
895         3745023 - Safari crashes trying to access anchor while downloading
896
897         I bet this is behind a few other crashers as well.  In this bug the start of the
898         download leaves a KWQPageState hanging around, and when that is freed it damages
899         the part and view.  If you're still using that page, you're dead.
900
901         The fix is to properly invalidate the PageState when we receive an error before
902         reaching WebFrameCommitted state.  Normally this happens when a page is reheated
903         from the PageState, but in this case we never manage to leave the page to begin
904         with, although we've already created the PageState.
905
906         Other errors besides the synthetic one download generates would have caused similar
907         crashing.  Another example would be clicking on a second link before the load
908         caused by clicking on the first link reached committed state.
909
910         Reviewed by Richard
911
912         * WebView.subproj/WebDataSource.m:
913         (-[WebDataSource _receivedMainResourceError:complete:]):  Let the frame do the
914         main work (since it has access to the pageCache state).  Also renamed to make
915         it clear that this is about an error for the main resource.
916         * WebView.subproj/WebDataSourcePrivate.h:
917         * WebView.subproj/WebFrame.m:
918         (-[WebFrame _receivedMainResourceError:]):  Let WC know about the failure, as
919         the DataSource used to, but now pass the pageCache state along too.
920         * WebView.subproj/WebFramePrivate.h:
921         * WebView.subproj/WebMainResourceClient.m:
922         (-[WebMainResourceClient receivedError:]):  Call renamed method.
923         (-[WebMainResourceClient cancelWithError:]):  Ditto.
924
925 2004-08-08  Vicki Murley  <vicki@apple.com>
926
927         Reviewed by vicki (changes by rjw)
928  
929         - make "weak" linking with Quartz work with buildit
930
931         * WebKit.pbproj/project.pbxproj: 
932
933 2004-08-06  Ken Kocienda  <kocienda@apple.com>
934
935         Reviewed by Maciej
936
937         Finish off spellchecking support to HTML editing. Includes work to
938         enable continuous spellchecking.
939
940         * WebCoreSupport.subproj/WebBridge.m:
941         (-[WebBridge isContinuousSpellCheckingEnabled]): Simple bridge method.
942         * WebCoreSupport.subproj/WebTextRenderer.m:
943         (-[WebTextRenderer drawLineForMisspelling:withWidth:]): New method to add
944         AppKit-style misspelling underline.
945
946 === Safari-155 ===
947
948 2004-08-05  Darin Adler  <darin@apple.com>
949
950         * WebView.subproj/WebHTMLView.m: Added a list of methods that NSTextView implements that we don't.
951         All inside #if 0.
952
953 2004-08-05  Chris Blumenberg  <cblu@apple.com>
954
955         Fixed unnecessary import of NSURLFileTypeMappings.
956
957         * WebView.subproj/WebMainResourceClient.m:
958
959 2004-08-05  Richard Williamson   <rjw@apple.com>
960
961         Make builds conditionally include -framework Quartz.
962                 
963         Reviewed by Chris.
964
965         * WebKit.pbproj/project.pbxproj:
966
967 2004-08-04  Darin Adler  <darin@apple.com>
968
969         - fixed broken Deployment build
970
971         * Carbon.subproj/HIWebView.m: (Click):
972         Remove code that checks err variable before setting it.
973
974 2004-08-03  Richard Williamson   <rjw@apple.com>
975
976         First cut at dirt simple PDF support.  This feature
977         depends on Quartz.framework (parent of PDFKit), which only exists
978         on Tiger.  So, we "weak" link against Quartz.
979                 
980         We do very basic PDF rendering.  Coming up are support for
981         "Find..." and linearized PDF (incremental).  Linearized PDF 
982         support will require API changes in PDFKit.
983                 
984         No UI is added to Safari, yet.
985                 
986         Reviewed by John.
987
988         * WebKit.pbproj/project.pbxproj:
989         * WebView.subproj/WebDataSource.m:
990         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
991         * WebView.subproj/WebFrameView.m:
992         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
993         * WebView.subproj/WebPDFRepresentation.h: Added.
994         * WebView.subproj/WebPDFRepresentation.m: Added.
995         (-[WebPDFRepresentation finishedLoadingWithDataSource:]):
996         (-[WebPDFRepresentation canProvideDocumentSource]):
997         (-[WebPDFRepresentation documentSource]):
998         (-[WebPDFRepresentation title]):
999         * WebView.subproj/WebPDFView.h: Added.
1000         * WebView.subproj/WebPDFView.m: Added.
1001         (-[WebPDFView initWithFrame:]):
1002         (-[WebPDFView setDataSource:]):
1003         (-[WebPDFView dataSourceUpdated:]):
1004         (-[WebPDFView setNeedsLayout:]):
1005         (-[WebPDFView layout]):
1006         (-[WebPDFView viewWillMoveToHostWindow:]):
1007         (-[WebPDFView viewDidMoveToHostWindow]):
1008
1009         Copied fix from Jaguar carbon/cocoa work.
1010                 
1011         Reviewed by Darin (Jaguar version)
1012
1013         * Carbon.subproj/CarbonWindowAdapter.h:
1014         * Carbon.subproj/CarbonWindowAdapter.m:
1015         (-[CarbonWindowAdapter relinquishFocus]):
1016         * Carbon.subproj/HIWebView.m:
1017         (Click):
1018         (OwningWindowChanged):
1019         (WindowHandler):
1020
1021 2004-08-03  David Hyatt  <hyatt@apple.com>
1022
1023         Add the text/xsl MIME type as one that can be displayed.
1024         
1025         Reviewed by john
1026
1027         * WebView.subproj/WebDataSource.m:
1028         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
1029         * WebView.subproj/WebFrameView.m:
1030         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
1031
1032 2004-08-03  Maciej Stachowiak  <mjs@apple.com>
1033
1034         Reviewed by Ken.
1035
1036         - implemented enough of the NSTextInput protocol and added the
1037         proper calls to NSInputManager to allow input methods to
1038         work. However, the text is not marked yet.
1039
1040         * WebView.subproj/WebHTMLViewInternal.h: Added new fields to track
1041         marked range.
1042         * WebView.subproj/WebHTMLView.m:
1043         (-[WebHTMLView markedRange]): Implemented
1044         (-[WebHTMLView conversationIdentifier]): Implemented
1045         (-[WebHTMLView hasMarkedText]): Implemented
1046         (-[WebHTMLView unmarkText]): Implemented
1047         (-[WebHTMLView setMarkedText:selectedRange:]): Implemented - does
1048         not yet handle attributes in attributed strings
1049         (-[WebHTMLView insertText:]): Modified to handle replacing or abandoning
1050         the marked text when set.
1051         (-[WebHTMLView _selectMarkedText]): new helper method, self-explanatory
1052         (-[WebHTMLView _setMarkedDOMRange:]): hitto.
1053         (-[WebHTMLView _selectRangeInMarkedText:]): ditto
1054         (-[WebHTMLView _discardMarkedText]): ditto
1055         (-[WebHTMLView _selectionIsInsideMarkedText]): ditto
1056         (-[WebHTMLView _updateSelectionForInputManager]): ditto
1057
1058         - did a bit of refactoring while I was in here.
1059
1060         * WebView.subproj/WebHTMLView.m:
1061         (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): added this new
1062         helper method to simplify the common case of calling the shouldInsertText: delegate
1063         (-[WebHTMLView pasteAsPlainText:]): use it
1064         (-[WebHTMLView insertTab:]): ditto
1065         (-[WebHTMLView insertNewline:]): ditto
1066         (-[WebHTMLView _changeWordCaseWithSelector:]): ditto
1067         (-[WebHTMLView _changeSpellingToWord:]): ditto
1068         (-[WebHTMLView _selectionChanged]): ditto
1069
1070 2004-08-03  Chris Blumenberg  <cblu@apple.com>
1071
1072         Fixed: <rdar://problem/3572737> Images not resizing at www.bmx-test.com (spoof nofix)
1073
1074         Reviewed by darin.
1075
1076         * WebCoreSupport.subproj/WebImageRendererFactory.m:
1077         (-[WebImageRendererFactory supportedMIMETypes]): hard code image/pjpeg to the list of image mime types that we can handle
1078
1079 2004-08-03  Darin Adler  <darin@apple.com>
1080
1081         Reviewed by Ken.
1082
1083         - fixed <rdar://problem/3740937> ER: A way to turn a DOMRange into text (equivalent of -innerText)
1084
1085         * DOM.subproj/DOMPrivate.h: Added.
1086         * WebKit.pbproj/project.pbxproj: Added DOMPrivate.h.
1087         * copy-webcore-files-to-webkit: Added DOMPrivate.h.
1088
1089 2004-08-02  John Sullivan  <sullivan@apple.com>
1090
1091         Reviewed by Darin.
1092
1093         WebKit part of fix for <rdar://problem/3631868> NSToolbar adoption: 
1094         Tab key should cycle around toolbar and page content
1095
1096         * WebView.subproj/WebHTMLView.m:
1097         removed overrides of nextKeyView and previousKeyView
1098         (-[WebHTMLView nextValidKeyView]):
1099         call super only if we can't move the focus within the frame hierarchy
1100         (-[WebHTMLView previousValidKeyView]):
1101         ditto
1102         * WebView.subproj/WebHTMLViewInternal.h:
1103         removed nextKeyViewAccessShouldMoveFocus ivar
1104
1105 2004-08-02  Ken Kocienda  <kocienda@apple.com>
1106
1107         Reviewed by John
1108
1109         Update name of firstResponderIsSelfOrDescendantView, adding _web_ prefix to this SPI call.
1110         
1111         Do some work to make caret blinking in newly-created editable WebView's that are 
1112         similar in structure to Blot more "automatic".
1113
1114         * Misc.subproj/WebNSViewExtras.h: Change name of firstResponderIsSelfOrDescendantView. Add _web_ prefix.
1115         * Misc.subproj/WebNSViewExtras.m:
1116         (-[NSView _web_firstResponderIsSelfOrDescendantView]): Name change.
1117         (-[NSView _web_firstResponderCausesFocusDisplay]): Adds an additional check for whether the view's
1118         is first responder. This helps to make the focus setting in viewDidMoveToWindow work right.
1119         * WebView.subproj/WebHTMLView.m:
1120         (-[WebHTMLView updateFocusDisplay]): Use _web_firstResponderCausesFocusDisplay now instead of 
1121         firstResponderIsSelfOrDescendantView.
1122         (-[WebHTMLView viewDidMoveToWindow]): Schedule call to updateFocusDisplay for the next crank of the
1123         run loop. The reason is that placing the caret in the just-installed view requires the HTML/XML 
1124         document to be available on the WebCore side, but it is not at the time this code is running. 
1125         However, it will be there on the next crank of the run loop. Doing this helps to make a 
1126         blinking caret appear in a new, empty window "automatic".
1127         (-[WebHTMLView performKeyEquivalent:]):  _web_firstResponderIsSelfOrDescendantView name change.
1128         * WebView.subproj/WebView.m:
1129         (-[WebView _performResponderOperation:with:]): _web_firstResponderIsSelfOrDescendantView name change.
1130
1131 2004-07-29  Maciej Stachowiak  <mjs@apple.com>
1132
1133         Reviewed by John.
1134
1135         Added stubbed-out versions of all the NSTextInput protocol
1136         methods, and put comments in places where we will need to call the
1137         input manager to make input methods work 100%.
1138         
1139         * WebCoreSupport.subproj/WebBridge.m:
1140         (-[WebBridge respondToChangedSelection]):
1141         * WebView.subproj/WebHTMLView.m:
1142         (-[WebHTMLView mouseDown:]):
1143         (-[WebHTMLView mouseDragged:]):
1144         (-[WebHTMLView mouseUp:]):
1145         (-[WebHTMLView _interceptEditingKeyEvent:]):
1146         (-[WebHTMLView keyDown:]):
1147         (-[WebHTMLView _selectionChanged]):
1148         (-[WebHTMLView _delegateDragSourceActionMask]):
1149         (-[WebHTMLView validAttributesForMarkedText]):
1150         (-[WebHTMLView characterIndexForPoint:]):
1151         (-[WebHTMLView firstRectForCharacterRange:]):
1152         (-[WebHTMLView selectedRange]):
1153         (-[WebHTMLView markedRange]):
1154         (-[WebHTMLView attributedSubstringFromRange:]):
1155         (-[WebHTMLView conversationIdentifier]):
1156         (-[WebHTMLView hasMarkedText]):
1157         (-[WebHTMLView unmarkText]):
1158         (-[WebHTMLView setMarkedText:selectedRange:]):
1159         (-[WebHTMLView doCommandBySelector:]):
1160         (-[WebHTMLView insertText:]):
1161         * WebView.subproj/WebHTMLViewInternal.h:
1162         * WebView.subproj/WebView.m:
1163
1164 === Safari-154 ===
1165
1166 2004-07-29  Darin Adler  <darin@apple.com>
1167
1168         Reviewed by Ken.
1169
1170         - fill in some unimplemented methods
1171
1172         * WebView.subproj/WebHTMLView.m:
1173         (-[WebHTMLView moveToBeginningOfDocument:]): Implement, using new document granularity.
1174         (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto.
1175         (-[WebHTMLView moveToBeginningOfParagraph:]): Implement, even though the underlying WebCore
1176         code is not yet implemented.
1177         (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto.
1178         (-[WebHTMLView moveToEndOfDocument:]): More of the same.
1179         (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto.
1180         (-[WebHTMLView moveToEndOfParagraph:]): More of the same.
1181         (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto.
1182         (-[WebHTMLView pageDown:]): Added comment describing desired behavior.
1183         (-[WebHTMLView pageUp:]): Ditto.
1184         (-[WebHTMLView copyFont:]): Ditto.
1185         (-[WebHTMLView pasteFont:]): Ditto.
1186         (-[WebHTMLView changeAttributes:]): Ditto.
1187         (-[WebHTMLView indent:]): Ditto.
1188
1189 2004-07-28  Chris Blumenberg  <cblu@apple.com>
1190
1191         Fixed: <rdar://problem/3737864> Can not download image from web by using drag and drop
1192
1193         Reviewed by john.
1194
1195         * Misc.subproj/WebNSPasteboardExtras.m:
1196         (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): On Tiger, to use NSFilesPromisePboardType with other pasteboard types, set the file types of the promise on the pasteboard as a property list instead of mucking with the NSFilePromiseDragSource class
1197
1198 2004-07-28  Maciej Stachowiak  <mjs@apple.com>
1199
1200         Reviewed by John.
1201
1202         - avoid triggering an assertion when using dead keys (like option-e)
1203
1204         * WebView.subproj/WebHTMLView.m:
1205         (-[WebHTMLView insertText:]): Don't pass zero-length strings to
1206         WebCore. Dead-key input seems to insert empty strings as a side
1207         effect.
1208
1209 2004-07-28  Trey Matteson  <trey@apple.com>
1210
1211         Spellchecking, Part I.  Basic spellcheck is working.  Spelling panel is hooked up.
1212
1213         At this point, no special marking of misspellings, no grammar check, no context
1214         menu integration, no "check continually" mode.
1215
1216         Reviewed by Ken.
1217
1218         * WebCoreSupport.subproj/WebBridge.m:
1219         (-[WebBridge spellCheckerDocumentTag]):  Typical bridge glue.
1220         * WebView.subproj/WebHTMLView.m:
1221         (-[WebHTMLView validateUserInterfaceItem:]):  Validate various spelling actions.
1222         (-[WebHTMLView checkSpelling:]):  Call WC for real work, update panel.
1223         (-[WebHTMLView showGuessPanel:]):  Show panel, call WC for real work.
1224         (-[WebHTMLView _changeSpellingToWord:]):  Apply correction to our doc.
1225         (-[WebHTMLView changeSpelling:]):  Simple pass through to above method.
1226         (-[WebHTMLView ignoreSpelling:]):  Tell checker to ignore the word.
1227         * WebView.subproj/WebView.m:
1228         (-[WebView _close]):  Call AK's closeSpellDocumentWithTag: for proper cleanup.
1229
1230 2004-07-27  John Sullivan  <sullivan@apple.com>
1231
1232         Reviewed by Trey.
1233         
1234         WebKit part of fix for <rdar://problem/3622268> Reload failed pages when a 
1235         network problem is corrected, inc. using Network Diagnostics
1236
1237         * WebView.subproj/WebFrame.m:
1238         (-[WebFrame reload]):
1239         This method did not handle unreachableURLs at all. The reason Safari's Reload
1240         did work with unreachableURLs was that Safari does "reloadObeyingLocationField"
1241         which never actually calls -[WebFrame reload]. Fixed by creating a fresh
1242         request for the previously-unreachable URL.
1243
1244 2004-07-26  Richard Williamson   <rjw@apple.com>
1245
1246         Fixed 3739737.  When setting the focus to a NSView, set the focus
1247         carbon focus to kControlIndicatorPart.  kControlIndicatorPart is a
1248         placeholder value for use to indicate that Cocoa has the focus.  
1249         
1250         Reviewed by Ken.
1251
1252         * Carbon.subproj/CarbonWindowAdapter.m:
1253         (-[CarbonWindowAdapter makeFirstResponder:]):
1254         * Carbon.subproj/HIWebView.m:
1255         (Click):
1256         (SetFocusPart):
1257
1258 2004-07-26  Chris Blumenberg  <cblu@apple.com>
1259
1260         Fixed: <rdar://problem/3689734> dragging to an editable WebView does not scroll document
1261
1262         Reviewed by rjw.
1263
1264         * WebView.subproj/WebView.m:
1265         (-[WebView documentViewAtWindowPoint:]): new, factored from draggingDocumentViewAtWindowPoint:
1266         (-[WebView _draggingDocumentViewAtWindowPoint:]): call documentViewAtWindowPoint:
1267         (-[WebView _autoscrollForDraggingInfo:timeDelta:]): forward call to the document view
1268         (-[WebView _shouldAutoscrollForDraggingInfo:]): ditto
1269
1270 === Safari-153 ===
1271
1272 2004-07-23  Ken Kocienda  <kocienda@apple.com>
1273
1274         Reviewed by Trey
1275
1276         Fix for this bug:
1277         
1278         <rdar://problem/3738920> Caret blinks in inactive window
1279
1280         As part of the fix, I cleaned up the way we handle special drawing that needs
1281         to be done in the HTML view that is first responder in the key window (e.g the
1282         drawing of text selection highlight and caret blinking).
1283
1284         * WebView.subproj/WebHTMLView.m:
1285         (-[WebHTMLView updateFocusDisplay]): New method that centralizes the changes
1286         we need to make when the first responder-ness of the view or key-ness of the
1287         window changes.
1288         (-[WebHTMLView viewDidMoveToWindow]): Call new updateFocusDisplay helper.
1289         (-[WebHTMLView windowDidBecomeKey:]): Ditto.
1290         (-[WebHTMLView windowDidResignKey:]): Ditto.
1291         (-[WebHTMLView becomeFirstResponder]): Ditto.
1292         (-[WebHTMLView resignFirstResponder]): Ditto.
1293
1294 2004-07-22  Darin Adler  <darin@apple.com>
1295
1296         * Plugins.subproj/npruntime.h: Update with new version from newer JavaScriptCore.
1297
1298 2004-07-21  Ken Kocienda  <kocienda@apple.com>
1299
1300         Reviewed by Trey
1301
1302         * WebCoreSupport.subproj/WebBridge.m: Remove interceptEditingKeyEvent
1303         bridge call over. This method of handling editing key events is now
1304         obsolete.
1305         * WebView.subproj/WebHTMLView.m:
1306         (-[WebHTMLView performKeyEquivalent:]): Send key event over to the 
1307         DOM if this view is or contains the first responder. This now
1308         happens unconditionally.
1309         (-[WebHTMLView keyDown:]): Send key event to the DOM, then see if
1310         the web view wants to interpret it an an editing key event. This
1311         is the new place to intercept key events for editing.
1312
1313 2004-07-21  Ken Kocienda  <kocienda@apple.com>
1314
1315         Reviewed by John
1316
1317         Add implementations for these methods. Formerly, they logged an error.
1318
1319         * WebView.subproj/WebHTMLView.m:
1320         (-[WebHTMLView moveToBeginningOfLine:]):
1321         (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]):
1322         (-[WebHTMLView moveToEndOfLine:]):
1323         (-[WebHTMLView moveToEndOfLineAndModifySelection:]):
1324
1325 2004-07-21  Ken Kocienda  <kocienda@apple.com>
1326
1327         Reviewed by John
1328
1329         Added some more handlers for standard Cocoa key bindings. 
1330         These are "secrets" of NSText, meaning they are not public API, but we choose to mimic.
1331
1332         * WebView.subproj/WebHTMLView.m:
1333         (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]):
1334         (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]):
1335         (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]):
1336         (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]):
1337         (-[WebHTMLView moveToEndOfLineAndModifySelection:]):
1338         (-[WebHTMLView moveToEndOfParagraph:]):
1339         (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]):
1340         * WebView.subproj/WebView.h: Add these declarations to the comment in the header listing
1341         the responder-like methods we support.
1342         * WebView.subproj/WebView.m:
1343         (-[WebView moveToBeginningOfParagraphAndModifySelection:]):
1344         (-[WebView moveToEndOfParagraphAndModifySelection:]):
1345         (-[WebView moveToBeginningOfLineAndModifySelection:]):
1346         (-[WebView moveToEndOfLineAndModifySelection:]):
1347         (-[WebView moveToBeginningOfDocumentAndModifySelection:]):
1348         (-[WebView moveToEndOfDocumentAndModifySelection:]):
1349
1350 2004-07-20  Ken Kocienda  <kocienda@apple.com>
1351
1352         Reviewed by Richard
1353
1354         * Misc.subproj/WebNSEventExtras.h: Added helper that returns whether
1355         a key event has a binding in the key binding manager.
1356         * Misc.subproj/WebNSEventExtras.m: 
1357         (-[NSEvent _web_keyBindingManagerHasBinding]): New helper mentioned above.
1358         * Plugins.subproj/npruntime.h:
1359         * WebView.subproj/WebHTMLView.m:
1360         (-[WebHTMLView performKeyEquivalent:]): Add a check of whether the key event 
1361         has a binding in the key binding manager. This works around the fact that
1362         NSResponder's interpretKeyEvents does not return a value telling whether
1363         or not the key was handled. This now makes it possible for us to trap
1364         modified key events we know we can handle (like those command-key + arrow events 
1365         used for text navigation), while letting all others pass.
1366
1367 2004-07-20  Chris Blumenberg  <cblu@apple.com>
1368
1369         Fixed:
1370         <rdar://problem/3580589> REGRESSION (1.1-1.2): can't open a new window for an image that has not loaded
1371         <rdar://problem/3612691> Missing image icons (blue ?) lack context menu
1372
1373         Reviewed by john.
1374
1375         * WebView.subproj/WebDefaultContextMenuDelegate.m:
1376         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): if there is no image, but there is an image URL, provide image context menu items besides "Copy Image" 
1377         * WebView.subproj/WebHTMLView.m:
1378         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): don't drag an image with an actual image
1379         (-[WebHTMLView _mayStartDragAtEventLocation:]): ditto
1380
1381 2004-07-20  Maciej Stachowiak  <mjs@apple.com>
1382
1383         Reviewed by Chris.
1384
1385         <rdar://problem/3721690> REGRESSION (125.7-148u) clicking on links at macosx.apple.com/Builds does not load new page in frame
1386         
1387         * Plugins.subproj/npruntime.h:
1388         * WebCoreSupport.subproj/WebBridge.m:
1389         (-[WebBridge canTargetLoadInFrame:]): Don't apply the restrictions to frames
1390         that are in the same window (Mozilla does this too).
1391
1392 2004-07-20  Richard Williamson   <rjw@apple.com>
1393
1394                 Fix for 3728558.  Fixed the key event handling in the carbon/cocoa
1395                 integration code.  This does not fix the arrow keys not working on
1396                 initial focus problem also mentioned in the bug.
1397                 
1398                 Bumped the version of the NP function structures.
1399                 
1400         Reviewed by John.
1401
1402         * Carbon.subproj/CarbonUtils.m:
1403         (WebInitForCarbon):
1404         (PoolCleaner):
1405         * Carbon.subproj/HIWebView.m:
1406         (OwningWindowChanged):
1407         (WindowHandler):
1408         * Plugins.subproj/npapi.h:
1409
1410 2004-07-20  Trey Matteson  <trey@apple.com>
1411
1412         3733698 REGRESSION: sometimes dragging photos on homepage.mac.com leads to an assertion
1413
1414         Relax an assertion, as we ran into a valid case where it's not true.
1415
1416         Reviewed by Chris.
1417
1418         * WebView.subproj/WebHTMLView.m:
1419         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
1420         Removing this assert allows for the oddball case of a drag gesture that
1421         starts on one element, but then the element is no longer there when
1422         the drag is about to start.
1423
1424 2004-07-20  Ken Kocienda  <kocienda@apple.com>
1425
1426         Reviewed by Hyatt
1427
1428         Fix for this bug:
1429         
1430         <rdar://problem/3707505> HTMLCompose: blinking cursor in both an address text field and the message body
1431
1432         * WebView.subproj/WebHTMLView.m:
1433         (-[WebHTMLView setCaretVisible:]): New helper. Calls over bridge to do the work.
1434         (-[WebHTMLView windowDidBecomeKey:]): This function cannot just assume that self is first responder
1435         (and do things like adjusting text background color and restoring focus rings). 
1436         First-responder-ness needs to be checked first. Now it is.
1437         (-[WebHTMLView windowDidResignKey:]): Ditto.
1438         (-[WebHTMLView becomeFirstResponder]): Call new helper to make caret visible.
1439         (-[WebHTMLView resignFirstResponder]): Call new helper to make caret invisible.
1440
1441 2004-07-12  Richard Williamson   <rjw@apple.com>
1442
1443         Fixed 3721917.  The RealPlayer plugin doesn't support the new 
1444         NPPVpluginScriptableNPObject variable passed to NPP_GetValue and
1445         incorrectly returns NPERR_NO_ERROR.  We interpret this to the
1446         mean the variable has been set.  The variable has not been set 
1447         and will consequently be uninitialized.
1448
1449         Reviewed by NOBODY (OOPS!).
1450
1451         * Plugins.subproj/WebBaseNetscapePluginView.m:
1452         (-[WebBaseNetscapePluginView pluginScriptableObject]):
1453
1454 2004-07-19  Ken Kocienda  <kocienda@apple.com>
1455
1456         Reviewed by Richard
1457
1458         Fix for this bug:
1459         
1460         <rdar://problem/3707504> HTMLCompose: key events are stolen by Web(HTML)View
1461
1462         * Misc.subproj/WebNSViewExtras.h:
1463         * Misc.subproj/WebNSViewExtras.m:
1464         (-[NSView firstResponderIsSelfOrDescendantView]): New helper to 
1465         (-[WebHTMLView performKeyEquivalent:]): Do not pass key events through to the editing
1466         key handler unless the WebHTMLView is first responder or contains the first responder.
1467         This prevents the "stealing" of key events mentioned in the bug.
1468         * WebView.subproj/WebView.m:
1469         (-[WebView _performResponderOperation:with:]): Uses the new firstResponderIsSelfOrDescendantView
1470         helper. The code I replaced used the same logic as the new helper.
1471
1472 === Safari-152 ===
1473
1474 2004-07-12  Maciej Stachowiak  <mjs@apple.com>
1475
1476         Reviewed by Kevin.
1477
1478         <rdar://problem/3673988>: (REGRESSION(141-144): connection assertion failure at http://traffic.511.org/sfgate)
1479         
1480         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1481         (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
1482         Don't check connection consistency if this load got cancelled
1483         while finishing, because in this case we have cleared the
1484         connection field already. This can happen when a redirect fires
1485         from an onload handler.
1486
1487 2004-07-12  Maciej Stachowiak  <mjs@apple.com>
1488
1489         Reviewed by John.
1490
1491         <rdar://problem/3632570>: (REGRESSION: SocialText.net wiki keeps asking for auth, even though pages load)
1492
1493         * Misc.subproj/WebIconLoader.m:
1494         (-[WebIconLoader didReceiveAuthenticationChallenge:]): Ignore the challenge - we don't
1495         want an auth panel for favicons.
1496         (-[WebIconLoader didCancelAuthenticationChallenge:]): Ignore cancel, since we are ignoring
1497         the challenge.
1498
1499 2004-07-09  Chris Blumenberg  <cblu@apple.com>
1500         
1501         Allowed my change for 3715785 to compile on Jaguar.
1502
1503         Reviewed by kocienda.
1504
1505         * WebCoreSupport.subproj/WebBridge.m:
1506         (-[WebBridge canTargetLoadInFrame:]): don't use the DOM API since it doesn't exist on Jaguar, instead call the new domain method on the bridge
1507
1508 2004-07-09  Ken Kocienda  <kocienda@apple.com>
1509
1510         Reviewed by John
1511
1512         * Plugins.subproj/npruntime.h: Updated license to lawyer-approved 
1513         joint Apple-Mozilla BSD-style license.
1514
1515 2004-07-08  Chris Blumenberg  <cblu@apple.com>
1516
1517         Fixed: <rdar://problem/3720728> REGRESSION (125.8-146): Crash moving mouse over plugin at manray-photo.com
1518         
1519         Reviewed by john.
1520
1521         * Plugins.subproj/WebBaseNetscapePluginView.m:
1522         (-[WebBaseNetscapePluginView pluginScriptableObject]): don't call NPP_GetValue unless the plug-in implements it
1523
1524 2004-07-08  Chris Blumenberg  <cblu@apple.com>
1525
1526         Fixed: <rdar://problem/3706296> VIP: ifilm.com crashing reproducibly with Safari
1527
1528         Reviewed by kocienda.
1529
1530         * Plugins.subproj/WebNetscapePluginPackage.m:
1531         (-[WebNetscapePluginPackage launchRealPlayer]): don't release a NULL appURL
1532
1533 2004-07-08  Chris Blumenberg  <cblu@apple.com>
1534
1535         Fixed: <rdar://problem/3650140> reproducible assertion failure going to plugin page with JavaScript disabled
1536
1537         Reviewed by john.
1538
1539         * Plugins.subproj/WebBaseNetscapePluginView.m:
1540         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): don't call NPP_NewStream and other stream methods if there is no JS result to deliver. This is what Mozilla does.
1541         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Return NPERR_GENERIC_ERROR if JS is disabled. This is what Mozilla does.
1542
1543 === Safari-151 ===
1544
1545 2004-07-07  Trey Matteson  <trey@apple.com>
1546
1547         3719051 - Safari doesn't update form inputs when a page was refreshed by javascript window.location
1548         ... and at least 5 other cases in Radar
1549
1550         Very similar problem to the Harvard PIN bug.  We need to be sure
1551         to not carry any state over when we are processing a client
1552         redirect, which reuses the same WebHistoryItem.
1553
1554         Reviewed by John.
1555
1556         * WebView.subproj/WebFrame.m:
1557         (-[WebFrame _transitionToCommitted:]):  Comment
1558         (-[WebFrame _opened]):  Clear form and scroll state on client redirect.
1559
1560 2004-07-06  Chris Blumenberg  <cblu@apple.com>
1561
1562         Fixed: <rdar://problem/3715785> multiple frame injection vulnerability reported by Secunia, affects almost all browsers
1563         
1564         Reviewed by john, trey, kocienda.
1565
1566         * WebCoreSupport.subproj/WebBridge.m:
1567         (-[WebBridge canTargetLoadInFrame:]): new method, return YES if the requesting frame is local, the target frame is an entire window or if the domain of the parent of the targeted frame equals this domain
1568         (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): call canTargetLoadInFrame: to make sure we can load the request
1569         (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto
1570
1571 2004-07-06  John Sullivan  <sullivan@apple.com>
1572
1573         Reviewed by Trey.
1574
1575         - fixed <rdar://problem/3717147> folder icon used for error page in back/forward 
1576         menu when iTunes is not installed
1577
1578         * WebView.subproj/WebFrame.m:
1579         (-[WebFrame _transitionToCommitted:]):
1580         When displaying the error page for an unreachable URL, leave the requested URL
1581         in the WebHistoryItem; don't clobber it with a bogus one that represents the
1582         error page. This not only avoids the wrong-icon problem, but should also help
1583         in cases where an unreachable URL becomes reachable later on.
1584
1585 2004-07-06  Trey Matteson  <trey@apple.com>
1586
1587         3716053 - www.theage.com.au has extra back/forward items due to ads
1588
1589         The real change was in WebKit.  Here was are just renaming a method and folding
1590         all the WebFrameLoadTypeOnLoadEvent uses to be WebFrameLoadTypeInternal, since there
1591         was never any difference anyway.
1592
1593         Reviewed by Richard
1594
1595         * WebCoreSupport.subproj/WebBridge.m:
1596         (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):  rename part of the method.
1597         * WebView.subproj/WebFrame.m:  Nuke WebFrameLoadTypeOnLoadEvent.
1598         (-[WebFrame _transitionToCommitted:]):
1599         (-[WebFrame _checkLoadCompleteForThisFrame]):
1600         (-[WebFrame _loadItem:withLoadType:]):
1601         (-[WebFrame _itemForRestoringDocState]):
1602         * WebView.subproj/WebFramePrivate.h:
1603
1604 2004-07-06  Ken Kocienda  <kocienda@apple.com>
1605
1606         Reviewed by Trey
1607         
1608         Only register the editing delegate for those notifications for which it implements the callbacks.
1609
1610         * WebView.subproj/WebView.m:
1611         (-[WebView registerForEditingDelegateNotification:selector:]):
1612         (-[WebView setEditingDelegate:]):
1613
1614 2004-07-06  Trey Matteson  <trey@apple.com>
1615
1616         3294652 - Failed drag of links doesn't slide back
1617
1618         The only reason for this is that because of some hacks, we lie to
1619         AK about the drag image offset, which means we slide back to
1620         slightly the wrong place.  But it's very minor, so we should
1621         just fix it.
1622
1623         Reviewed by Ken.
1624
1625         * WebView.subproj/WebHTMLView.m:
1626         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
1627         Ask for slideback.
1628
1629 2004-07-02  Darin Adler  <darin@apple.com>
1630
1631         Reviewed by Dave.
1632
1633         - fixed problem where tabsToLinks and privateBrowsingEnabled did not work with non-
1634           standard WebPreferences objects
1635
1636         * WebView.subproj/WebPreferences.m:
1637         (-[WebPreferences _valueForKey:]): New helper.
1638         (-[WebPreferences _stringValueForKey:]): Use _valueForKey.
1639         (-[WebPreferences _integerValueForKey:]): Use _valueForKey.
1640         (-[WebPreferences _boolValueForKey:]): Use _valueForKey.
1641         (-[WebPreferences tabsToLinks]): Use _boolValueForKey; this is the bug fix.
1642         (-[WebPreferences privateBrowsingEnabled]): Ditto.
1643         (+[WebPreferences _setIBCreatorID:]): Use copy instead of retain for keeping an NSString.
1644
1645 2004-07-01  Trey Matteson  <trey@apple.com>
1646
1647         3556159 - Crashes in -[WebFrame(WebPrivate) _transitionToCommitted:] at www.mastercardbusiness.com
1648
1649         We know from the line number of the crash that it is due to [self parentFrame]==nil.
1650
1651         Looking at the HTML and that of the related bugs, they do special stuff with onload
1652         handlers.  It is no longer repro, presumably because the includes JS files changed,
1653         as the bugs only included the top level HTML.  I suspect that the problem is that the
1654         WebFrameLoadTypeOnLoadEvent case was added, and in some weird sequence specific to
1655         MasterCard, they hit a case where we would be in WebFrameLoadTypeOnLoadEvent mode but
1656         not have a parent frame.
1657
1658         So we guard in the code against hitting a nil parentFrame, and log an error just in
1659         case this ever crops up again and we can learn more about it.
1660
1661         Reviewed by Richard.
1662
1663         * WebView.subproj/WebFrame.m:
1664         (-[WebFrame _transitionToCommitted:]):  Guard against nil parentFrame.
1665
1666 2004-07-01  John Sullivan  <sullivan@apple.com>
1667
1668         Reviewed by Trey.
1669         
1670         - fixed these bugs:
1671         <rdar://problem/3709110> REGRESSION (Tiger): Pressing Tab key to move focus 
1672         onto links skips every other link
1673         <rdar://problem/3692576> focus ring is in odd place after clicking RSS button 
1674         with "Tab to links" enabled
1675         
1676         WebHTMLView has some trickery by which we advance the focused link when nextKeyView
1677         or previousKeyView is called within nextValidKeyView or previousValidKeyView. This
1678         broke in Tiger because AppKit now (sometimes at least) calls nextKeyView more than
1679         once within nextValidKeyView. Fixed 3709110 by making sure we only advance the focus 
1680         once within a call to nextValidKeyView or previousValidKeyView.
1681         
1682         Also, this same trickery didn't work right with hidden views. Fixed 3692576 by checking
1683         whether the view is hidden and bypassing the focus-moving trickery in that case.
1684
1685         * WebView.subproj/WebHTMLViewInternal.h:
1686         renamed inNextValidKeyView -> nextKeyViewAccessShouldMoveFocus
1687         
1688         * WebView.subproj/WebHTMLView.m:
1689         (-[WebHTMLView nextKeyView]):
1690         now clears nextKeyViewAccessShouldMoveFocus
1691         (-[WebHTMLView previousKeyView]):
1692         ditto
1693         (-[WebHTMLView nextValidKeyView]):
1694         now doesn't set focus-moving trigger ivar if view is hidden or has hidden ancestor
1695         (-[WebHTMLView previousValidKeyView]):
1696         ditto
1697
1698 2004-06-30  Trey Matteson  <trey@apple.com>
1699
1700         Dragging within a web view should be allowed to start when the window isn't key.
1701
1702         A few months ago, Chris made this work, but it relied on the fact that all dragging
1703         was done in WebKit.  When WebCore got involved in dragging, it was broken.  Now we
1704         have a new scheme that gets it working again that properly involves WebCore.
1705
1706         The general idea is that when AK asks us whether to accept the first mouse and do
1707         "delayed window ordering", we must consult WC to see if we might start a drag.  In
1708         addition, instead of these drags in non-active windows being started as a special
1709         case in WK, they go through the normal WK-WC drag machinery.  Finally to work in
1710         frames we have to drill to the deepest hit view in acceptsFirstMouse, because previous
1711         hacks to hitTest make the top-most WebHTMLView field all events for its view tree
1712         (which leads to it fielding all acceptFirstMouse messages too).
1713
1714         Reviewed by John.
1715
1716         * WebCoreSupport.subproj/WebBridge.m:
1717         (-[WebBridge mayStartDragAtEventLocation:]):  Glue change for new arg type.
1718         * WebView.subproj/WebHTMLView.m:
1719         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
1720         firstMouseDownEvent ivar is no longer needed.
1721         (-[WebHTMLView _mayStartDragAtEventLocation:]):  Receives a location instead of a drag
1722         event, since we need to do this work when we have no drag event.  This means the
1723         check of the delay for text dragging is moved down to WebCore.
1724         (-[WebHTMLView acceptsFirstMouse:]):  Respond based on whether we might do a drag.
1725         This includes drilling to the deepest view the event hits, whereas we used to only
1726         respond considering the topmost WebHTMLView.
1727         (-[WebHTMLView shouldDelayWindowOrderingForEvent:]):  Ditto.
1728         (-[WebHTMLView mouseDown:]):  Get rid of special case where some activating
1729         mouseDown events weren't sent to WC.  We need to go through the whole pipeline
1730         now to get a drag started properly.
1731         (-[WebHTMLView mouseDragged:]):  Ditto, let WC start the drag.
1732         (-[WebHTMLView mouseUp:]):  firstMouseDownEvent ivar is no longer needed.
1733         * WebView.subproj/WebHTMLViewInternal.h:
1734         * WebView.subproj/WebHTMLViewPrivate.h:
1735
1736 2004-06-25  Trey Matteson  <trey@apple.com>
1737
1738         Added new utility method.
1739
1740         Reviewed by John.
1741
1742         * WebView.subproj/WebFrame.m:
1743         (-[WebFrame _isDescendantOfFrame:]):   New code.
1744         * WebView.subproj/WebFramePrivate.h:
1745
1746 2004-06-24  Richard Williamson   <rjw@apple.com>
1747
1748                 Fixed <rdar://problem/3710313>: CGContext not zeroed when WebImageRenderer is copied
1749                 The context ivar of WebImageRenderer wasn't being nil when the object was copied.
1750
1751         Reviewed by Darin.
1752
1753         * WebCoreSupport.subproj/WebImageRenderer.m:
1754         (-[WebImageRenderer copyWithZone:]):
1755         (-[WebImageRenderer dealloc]):
1756         (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
1757
1758 2004-06-24  Trey Matteson  <trey@apple.com>
1759
1760         3672725 - Assertion failure in URLCompletion code with particular set of bookmarks
1761
1762         Problem was caused by a URL with unescaped unicodes getting into
1763         the Bookmarks file, presumably from import from IE.  We now test
1764         for this case and convert the data on the way in as if it were
1765         user-entered.
1766
1767         Reviewed by John and Darin.
1768
1769         * History.subproj/WebHistoryItem.m:
1770         (-[WebHistoryItem initFromDictionaryRepresentation:]):
1771
1772 2004-06-24  Trey Matteson  <trey@apple.com>
1773
1774         3704950 drag image in DB ConfigBar has horizontal graphics turd WebCore JavaScript
1775
1776         When we generate a drag image (or a selection image too, for that matter) we
1777         translate the CTM using a CG call.  Later, WebImageRenderer adjusts the pattern
1778         phase based on the CTM of the focused view, which doesn't include our translate.
1779         So we must inform WebKit about the additional phase adjustment.
1780
1781         Reviewed by Richard
1782
1783         * WebCoreSupport.subproj/WebGraphicsBridge.h:
1784         * WebCoreSupport.subproj/WebGraphicsBridge.m:
1785         (-[WebGraphicsBridge setAdditionalPatternPhase:]):  New trivial setter.
1786         (-[WebGraphicsBridge additionalPatternPhase]):      ...and getter.
1787         * WebCoreSupport.subproj/WebImageRenderer.m:
1788         (-[WebImageRenderer tileInRect:fromPoint:context:]):  Take any additional phase
1789         adjustment into account when setting phase.
1790
1791 2004-06-24  Trey Matteson  <trey@apple.com>
1792
1793         3693420 - onbeforecut and onbeforepaste need real implementaion
1794
1795         Reviewed by Chris.
1796
1797         * WebView.subproj/WebHTMLView.m:
1798         (-[WebHTMLView validateUserInterfaceItem:]):  Check with WebCore
1799         to see if cut, copy, paste should be enabled.
1800
1801 2004-06-24  John Sullivan  <sullivan@apple.com>
1802
1803         Reviewed by Darin.
1804         
1805         - fixed <rdar://problem/3706792> 8A161: Choosing text encoding for 
1806         error page opens finder window!?
1807
1808         * WebView.subproj/WebFrame.m:
1809         (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
1810         take unreachableURL into account
1811
1812 2004-06-23  Richard Williamson   <rjw@apple.com>
1813
1814         Implemented changes for latest npruntime.h.
1815         Made npruntime.h public.
1816                 
1817         Reviewed by Chris.
1818
1819         * Plugins.subproj/WebBaseNetscapePluginView.h:
1820         * Plugins.subproj/WebBaseNetscapePluginView.m:
1821         (-[WebBaseNetscapePluginView pluginScriptableObject]):
1822         (-[WebBaseNetscapePluginView forceRedraw]):
1823         (-[WebBaseNetscapePluginView getVariable:value:]):
1824         * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
1825         * Plugins.subproj/WebNetscapePluginPackage.m:
1826         (-[WebNetscapePluginPackage load]):
1827         * Plugins.subproj/npapi.h:
1828         * Plugins.subproj/npapi.m:
1829         (NPN_GetValue):
1830         * Plugins.subproj/npfunctions.h:
1831         * Plugins.subproj/npruntime.h:
1832         * WebKit.pbproj/project.pbxproj:
1833
1834 2004-06-21  Darin Adler  <darin@apple.com>
1835
1836         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
1837
1838 2004-06-21  Chris Blumenberg  <cblu@apple.com>
1839
1840         Made WebKitErrorDescriptionPlugInCancelledConnection have its own description string
1841         (Not for software update branch)
1842
1843         Reviewed by john.
1844
1845         * English.lproj/Localizable.strings:
1846         * Misc.subproj/WebKitErrors.m:
1847
1848 2004-06-21  Chris Blumenberg  <cblu@apple.com>
1849
1850         Made WebKitErrorDescriptionPlugInCancelledConnection properly reuse an already localized string to avoid loc changes.
1851
1852         Reviewed by john.
1853
1854         * ChangeLog:
1855         * Misc.subproj/WebKitErrors.m:
1856
1857 2004-06-21  Chris Blumenberg  <cblu@apple.com>
1858
1859         Fixed: <rdar://problem/3701269> change in error handling behavior from 10.3.3 to 10.3.4 breaks unreleased Adobe PDF plug-in
1860
1861         Reviewed by john.
1862
1863         * Misc.subproj/WebKitErrors.m:
1864         (registerErrors): register string for WebKitErrorPlugInCancelledConnection
1865         * Misc.subproj/WebKitErrorsPrivate.h:
1866         * Plugins.subproj/WebBaseNetscapePluginStream.h:
1867         * Plugins.subproj/WebBaseNetscapePluginStream.m:
1868         (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): use renamed WEB_REASON_PLUGIN_CANCELLED constant
1869         (-[WebBaseNetscapePluginStream destroyStream]): ditto
1870         * Plugins.subproj/WebNetscapePluginRepresentation.m:
1871         (-[WebNetscapePluginRepresentation cancelWithReason:]): if the reason is WEB_REASON_PLUGIN_CANCELLED, cancel the load with WebKitErrorPlugInCancelledConnection
1872         * Plugins.subproj/WebNetscapePluginStream.m:
1873         (-[WebNetscapePluginStream cancelWithReason:]): ditto
1874
1875 === Safari-146 ===
1876
1877 2004-06-17  Richard Williamson   <rjw@apple.com>
1878
1879                 Changed private headers to be pubic for npapi.h and npfunctions.h.  That
1880                 API was approved but never marked as public in the project file.  This change does
1881                 not make npruntime.h public, which contains the not yet approved changes
1882                 for script-ability of netscape plugins.  Unfortunately, that API will not
1883                 be public for WWDC.
1884                                 
1885         Reviewed by Chris.
1886
1887         * WebKit.pbproj/project.pbxproj:
1888
1889 2004-06-17  Trey Matteson  <trey@apple.com>
1890
1891         3698514 - coordinates in ondragstart and ondrag events are wrong
1892
1893         This part fixes the ondrag coords.  I thought Cocoa passed us the mouse location
1894         in draggedImage:movedTo:, but no, it's the position of the dragged image.
1895         WebCore needs the mouse location, so to calc that we must save away the
1896         offset of the mouse relative to the image when we kick off the drag.
1897
1898         Reviewed by Maciej.
1899
1900         * Misc.subproj/WebNSViewExtras.h:
1901         * Misc.subproj/WebNSViewExtras.m:
1902         (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): Add the ability
1903         to return the offset of the cursor wrt to the drag image, since this routine
1904         generates its own drag image and positions it.
1905         * WebView.subproj/WebHTMLView.m:
1906         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
1907         Calc the offset of the cursor wrt to the drag image in the myriad of ways
1908         that we kick off the drag.      
1909         (-[WebHTMLView draggedImage:movedTo:]):  Adjust the location by the
1910         offset we save when we kicked off the drag.
1911         (-[WebHTMLView draggedImage:endedAt:operation:]):  Ditto.
1912         * WebView.subproj/WebHTMLViewInternal.h:
1913         * WebView.subproj/WebImageView.m:
1914         (-[WebImageView mouseDragged:]):  Pass nil for new arg, we don't care.
1915
1916 2004-06-16  David Hyatt  <hyatt@apple.com>
1917
1918         In order to support truncation in Emerson, enhance pointToOffset so that it needn't include partial
1919         character glyphs (the left half of a glyph).
1920         
1921         Reviewed by mjs
1922
1923         * WebCoreSupport.subproj/WebTextRenderer.m:
1924         (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]):
1925         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
1926         (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
1927
1928 === Safari-145 ===
1929
1930 2004-06-16  Darin Adler  <darin@apple.com>
1931
1932         - fixed <rdar://problem/3696081> REGRESSION: <WebKit/CarbonUtils.h> doesn't build any more
1933
1934         Reviewed by Trey.
1935
1936         * Carbon.subproj/CarbonUtils.h: Fixed include. Need to include <ApplicationServices/ApplicationServices.h>
1937         to get CGImageRef; can't include an individual header.
1938
1939 2004-06-15  Richard Williamson   <rjw@apple.com>
1940
1941         Fixed <rdar://problem/3695875>: Objective-C instances that are exported to JavaScript are too promiscuous
1942         
1943         Flip the policy for exposing Objective-C methods and properties.
1944         
1945         Reviewed by Trey.
1946         
1947         * Plugins.subproj/WebPluginPackage.m:
1948         (+[NSObject isSelectorExcludedFromWebScript:]):  Just return YES.
1949         (+[NSObject isKeyExcludedFromWebScript:]):  Just return YES.
1950
1951 2004-06-15  Trey Matteson  <trey@apple.com>
1952
1953         3639321 - Harvard PIN authentication ends up sending PIN as clear text with POST action
1954
1955         When going back/forward to an item, if we went there originally via a POST, 
1956         we ask the user about rePOSTing, and if they say yes, we resend the POST. 
1957         This rePOST case is triggered by the form data that we saved on the b/f item.
1958         In the case of this bug, the overall navigation was accomplished by a POST,
1959         then a redirect, causing a GET.  When a load of type redirect achieves the Committed
1960         stage, we replace the current URL in the b/f item with the new URL (instead of
1961         adding a new item to the b/f list).
1962
1963         The bug is that at the same time we should also update the form data in
1964         the b/f item to match that of the new request.  I think this will normally
1965         mean nil'ing it out, unless there's some way for the result of the redirect
1966         to be another POST.
1967  
1968         The security leak occurred because we did not clear the form data on the item,
1969         so when going back or forward to the page, we would go into the rePOSTing code,
1970         even though we eventually reached that page via a GET (caused by the redirect).
1971         So we would do a POST to the redirect URL containing the private data sent in
1972         the original POST.
1973
1974         Reviewed by mjs and rjw.
1975
1976         * History.subproj/WebHistoryItem.m:
1977         (-[WebHistoryItem _setFormInfoFromRequest:]):  New method, just wraps 3 old set methods.
1978         (-[WebHistoryItem formData]):  Diff being dumb, no change.
1979         (-[WebHistoryItem formContentType]):  Ditto
1980         (-[WebHistoryItem formReferrer]): Ditto
1981         * History.subproj/WebHistoryItemPrivate.h:
1982         * WebView.subproj/WebFrame.m:
1983         (-[WebFrame _createItem:]):  Call new WebHistoryItem method - no change in real behavior
1984         (-[WebFrame _transitionToCommitted:]):  Clear out the form data at the key time, to fix the bug.
1985
1986 2004-06-15  Chris Blumenberg  <cblu@apple.com>
1987
1988         Fixed: <rdar://problem/3695724> WebKit plug-ins should only have to implement plugInViewWithArguments:
1989
1990         Reviewed by rjw.
1991
1992         * ChangeLog:
1993         * Plugins.subproj/WebPluginViewFactory.h: mention that plugInViewWithArguments is required
1994         * WebView.subproj/WebFrame.m:
1995         (-[WebFrame _reloadForPluginChanges]): check for plugInViewWithArguments: not webPlugInInitialize
1996         * WebView.subproj/WebHTMLView.m:
1997         (-[WebHTMLView addSubview:]): ditto
1998
1999 2004-06-15  Chris Blumenberg  <cblu@apple.com>
2000
2001         Reviewed by NOBODY (OOPS!).
2002
2003         * WebView.subproj/WebFrame.m:
2004         (-[WebFrame _reloadForPluginChanges]):
2005         * WebView.subproj/WebHTMLView.m:
2006         (-[WebHTMLView addSubview:]):
2007
2008 2004-06-15  Trey Matteson  <trey@apple.com>
2009
2010         3695240 - pasting plain text with newlines in it turns them into spaces
2011
2012         Easy fix, we just need to consume the incoming data as text instead of markup.
2013
2014         Reviewed by John and Darin.
2015
2016         * WebView.subproj/WebHTMLView.m:
2017         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]):
2018
2019 2004-06-15  Darin Adler  <darin@apple.com>
2020
2021         - fixed crash introduced by my earlier change
2022
2023         * WebCoreSupport.subproj/WebImageRenderer.m:
2024         (-[WebImageContext dealloc]): Set _cgsContext to 0 before calling super as before.
2025         (-[WebImageContext finalize]): Ditto.
2026
2027 2004-06-14  Darin Adler  <darin@apple.com>
2028
2029         Reviewed by Maciej.
2030
2031         - fixed some things for GC that Patrick missed, or that happened after the branch
2032
2033         * Carbon.subproj/HIWebView.m:
2034         (HIWebViewConstructor): Use CFRetain instead of retain.
2035         (HIWebViewDestructor): Use CFRelease instead of release.
2036         * Misc.subproj/WebFileDatabase.m:
2037         (-[WebFileDatabase initWithPath:]): Use release instead of dealloc.
2038         * WebCoreSupport.subproj/WebImageRenderer.m:
2039         (-[WebImageContext finalize]): Had [super dealloc] here by mistake; change to [super finalize].
2040         * WebCoreSupport.subproj/WebTextRenderer.m:
2041         (-[WebTextRenderer finalize]): Added.
2042         * WebView.subproj/WebDebugDOMNode.m:
2043         (-[WebDebugDOMNode initWithWebFrameView:]): Use release instead of dealloc.
2044         * WebView.subproj/WebRenderNode.m:
2045         (-[WebRenderNode initWithWebFrameView:]): Use release instead of dealloc.
2046
2047 2004-06-15  Trey Matteson  <trey@apple.com>
2048
2049         Fix ASSERT/crash we get sometimes when dragging link images.  Turns
2050         out there was an uninitialized variable for the image size,
2051         so at random we would try to create huge images that could not
2052         be focused.
2053         
2054         Reviewed by Maciej and Darin.
2055
2056         * WebView.subproj/WebHTMLView.m:
2057         (-[WebHTMLView _dragImageForLinkElement:]):  Trivial fix to
2058         not use += with uninited variable.
2059
2060 2004-06-14  Darin Adler  <darin@apple.com>
2061
2062         Reviewed by me, code changes by Patrick Beard.
2063
2064         - fixed <rdar://problem/3671507>: (WebKit should adopt GC changes and compile with GC enabled)
2065
2066         * WebKit.pbproj/project.pbxproj: Added WebNSObjectExtras.h.
2067         * Misc.subproj/WebNSObjectExtras.h: Added. Includes WebMakeCollectable, a cover for
2068         CFMakeCollectable that returns type id, for less casting, and works on Panther as well
2069         as Tiger. Also declares finalize in NSObject so we can call super without warnings on Panther.
2070
2071         * Carbon.subproj/CarbonWindowAdapter.m: Fixed header and includes a bit.
2072         (-[CarbonWindowAdapter finalize]): Added.
2073         * History.subproj/WebBackForwardList.m:
2074         (-[WebBackForwardList dealloc]): Got count outside loop.
2075         (-[WebBackForwardList finalize]): Added.
2076         * History.subproj/WebHistoryItem.m:
2077         (-[WebHistoryItem finalize]): Added.
2078         * Misc.subproj/WebFileDatabase.m:
2079         (-[WebFileDatabase _createLRUList:]): Use release on Panther, drain on Tiger.
2080         (+[WebFileDatabase _syncLoop:]): Ditto.
2081         (-[WebFileDatabase dealloc]): Removed, since we never deallocate objects of this class, and
2082         the method was untested.
2083         * Misc.subproj/WebKitErrors.m: (registerErrors): Use release on Panther, drain on Tiger.
2084         * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use
2085         WebMakeCollectable. Also fixed indenting.
2086         * Misc.subproj/WebNSURLExtras.m:
2087         (+[NSURL _web_URLWithData:relativeToURL:]): Use WebMakeCollectable.
2088         (-[NSURL _web_URLWithLowercasedScheme]): Use WebMakeCollectable.
2089         (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Change code to use CFRelease
2090         to balance CFURLCreateStringByReplacingPercentEscapes CFString creation, not release.
2091         * Plugins.subproj/WebBaseNetscapePluginStream.m:
2092         (-[WebBaseNetscapePluginStream finalize]): Added.
2093         * Plugins.subproj/WebBaseNetscapePluginView.m:
2094         (-[WebBaseNetscapePluginView freeAttributeKeysAndValues]): Added. Shared code for dealloc and finalize.
2095         (-[WebBaseNetscapePluginView dealloc]): Call freeAttributeKeysAndValues.
2096         (-[WebBaseNetscapePluginView finalize]): Added.
2097         (-[WebBaseNetscapePluginView requestWithURLCString:]): Changed so that CFString objects are
2098         released with CFRelease, not release.
2099         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Fixed storage leak in
2100         error case. Made sure CFString object is released with CFRelease, not release.
2101         (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
2102         Another CFString that needed to a CFRelease, not a release.
2103         (-[WebBaseNetscapePluginView status:]): Ditto.
2104         * Plugins.subproj/WebBasePluginPackage.m:
2105         (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Changed code to
2106         CFRelease a CFURLRef, instead of release.
2107         (-[WebBasePluginPackage finalize]): Added.
2108         * WebCoreSupport.subproj/WebBridge.m:
2109         (-[WebBridge fini]): Added. Shared code for dealloc and finalize.
2110         (-[WebBridge dealloc]): Call fini.
2111         (-[WebBridge finalize]): Added.
2112         * WebCoreSupport.subproj/WebGlyphBuffer.m:
2113         (-[WebGlyphBuffer finalize]): Added.
2114         * WebCoreSupport.subproj/WebImageRenderer.m:
2115         (-[WebImageContext initWithBounds:context:]): Use CGContextRetain to avoid cast.
2116         (-[WebImageContext dealloc]): Tweaked.
2117         (-[WebImageContext finalize]): Added.
2118         (-[WebImageRenderer finalize]): Added.
2119         (-[WebPDFDocument finalize]): Added.
2120         * WebView.subproj/WebDataProtocol.m:
2121         (+[NSURL _web_uniqueWebDataURL]): Changed so that CFString object is released with
2122         CFRelease, not release.
2123         * WebView.subproj/WebDataSource.m:
2124         (-[WebDataSourcePrivate dealloc]): Took non-release work out of here.
2125         (-[WebDataSource dealloc]): Moved it here.
2126         (-[WebDataSource finalize]): Added.
2127         (-[WebDataSource isLoading]): Use release on Panther, drain on Tiger.
2128         * WebView.subproj/WebFrame.m:
2129         (-[WebFramePrivate dealloc]): Took non-release work out of here.
2130         (-[WebFrame dealloc]): Moved it here.
2131         (-[WebFrame finalize]): Added.
2132         * WebView.subproj/WebFrameView.m:
2133         (-[WebFrameView finalize]): Added.
2134         * WebView.subproj/WebHTMLRepresentation.m:
2135         (-[WebHTMLRepresentation finalize]): Added.
2136         * WebView.subproj/WebHTMLView.m:
2137         (-[WebHTMLViewPrivate dealloc]): Moved non-release work out of here.
2138         (-[WebHTMLView dealloc]): Moved it here.
2139         (-[WebHTMLView finalize]): Added.
2140         * WebView.subproj/WebImageView.m:
2141         (-[WebImageView finalize]): Added.
2142         * WebView.subproj/WebMainResourceClient.m:
2143         (-[WebMainResourceClient finalize]): Added.
2144         * WebView.subproj/WebTextView.m:
2145         (-[WebTextView finalize]): Added.
2146         * WebView.subproj/WebView.m:
2147         (-[WebView finalize]): Added.
2148
2149 2004-06-14  Ken Kocienda  <kocienda@apple.com>
2150
2151         Reviewed by Darin
2152         
2153         Fix for this bug:
2154         
2155         <rdar://problem/3693202> WebView.h header unnecessarily lists NSResponder methods it overrides
2156
2157         * WebView.subproj/WebView.h: NSResponder overrides now gathered in a comment section.
2158
2159 2004-06-13  Trey Matteson  <trey@apple.com>
2160
2161         Support for DHTML cut/copy/paste.
2162
2163         Reviewed by Chris
2164
2165         * WebView.subproj/WebHTMLView.m:
2166         (-[WebHTMLView copy:]):  Give DHTML first crack at executing the command.
2167         (-[WebHTMLView cut:]):  Ditto
2168         (-[WebHTMLView paste:]):  Ditto
2169
2170 2004-06-14  Chris Blumenberg  <cblu@apple.com>
2171
2172         Fixed: <rdar://problem/3674456> make new drag & drop API compatible with DHTML dragging
2173
2174         Reviewed by trey.
2175
2176         * WebView.subproj/WebHTMLView.m:
2177         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): tweak
2178         * WebView.subproj/WebUIDelegate.h: removed old, added new methods
2179         * WebView.subproj/WebUIDelegatePrivate.h: moved new methods to public header
2180         * WebView.subproj/WebView.h: removed old, added new methods
2181         * WebView.subproj/WebView.m: moved methods around
2182         (-[WebView moveDragCaretToPoint:]): moved
2183         (-[WebView removeDragCaret]): moved
2184         (-[WebView _bridgeAtPoint:]): moved
2185         (-[WebView editableDOMRangeForPoint:]): moved
2186         * WebView.subproj/WebViewInternal.h: add new internal method
2187         * WebView.subproj/WebViewPrivate.h: moved new methods to public header
2188
2189 2004-06-14  Trey Matteson  <trey@apple.com>
2190
2191         Use a different hack, as recommended by Kristin, to force the drag
2192         manager to exit a modal event wait it is in.  The hack is required
2193         to update the drag image on the fly.  Instead of posting a CG
2194         event we post at the AppKit level.
2195
2196         Reviewed by Louch
2197
2198         * WebCoreSupport.subproj/WebGraphicsBridge.m:
2199         (-[WebGraphicsBridge setDraggingImage:at:]):
2200
2201 2004-06-14  Chris Blumenberg  <cblu@apple.com>
2202
2203         Fixed:
2204         <rdar://problem/3692668> REGRESSION: delay when images and links
2205         <rdar://problem/3692675> links should drag when dragging images that are links when drag source action is WebDragSourceActionLink
2206
2207         Reviewed by trey.
2208
2209         * WebView.subproj/WebHTMLView.m:
2210         (-[WebHTMLView _mayStartDragWithMouseDragged:]): cleaned up, only use selection delay for selections, allow links to be dragged when image dragging is disabled 
2211
2212 2004-06-12  Trey Matteson  <trey@apple.com>
2213
2214         Small rearrangement to support dynamic changing of the drag
2215         image during DHTML dragging.
2216
2217         Reviewed by John
2218
2219         * WebCoreSupport.subproj/WebBridge.m:  Bridge glue moved to WebGraphicsBridge.
2220         * WebCoreSupport.subproj/WebGraphicsBridge.m:
2221         (FlipImageSpec):  Code moved from WebHTMLView.m.
2222         (-[WebGraphicsBridge setDraggingImage:at:]):  Ditto.  Plus, we've added a gross
2223         event posting hack to force CG drag manager to update the display when we set
2224         the drag image.
2225         * WebView.subproj/WebHTMLView.m:  Code moved to WebGraphicsBridge.
2226         * WebView.subproj/WebHTMLViewPrivate.h:
2227
2228 2004-06-11  Chris Blumenberg  <cblu@apple.com>
2229
2230         Implemented the remainder of the drag & drop API.
2231
2232         Reviewed by trey.
2233
2234         * Misc.subproj/WebNSPasteboardExtras.h:
2235         * Misc.subproj/WebNSPasteboardExtras.m:
2236         (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): new
2237         * Misc.subproj/WebNSViewExtras.h:
2238         * Misc.subproj/WebNSViewExtras.m:
2239         (-[NSView _web_dragImage:rect:event:pasteboard:source:]): simplified, this method now just creates a drag image and starts the drag
2240         * WebCoreSupport.subproj/WebBridge.m:
2241         (-[WebBridge allowDHTMLDrag:UADrag:]): now calls _delegateDragSourceActionMask on WebHTMLView to interact with the delegate
2242         * WebView.subproj/WebDefaultUIDelegate.m:
2243         * WebView.subproj/WebHTMLView.m:
2244         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call new delegate method, cleaned-up a little
2245         (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call drag caret methods on WebView instead of WebBridge so WebView can make sure only 1 HTML view has a drag cursor
2246         (-[WebHTMLView draggingCancelledWithDraggingInfo:]): ditto
2247         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
2248         (-[WebHTMLView _delegateDragSourceActionMask]): new, gets drag source action mask from delegate
2249         * WebView.subproj/WebHTMLViewInternal.h:
2250         * WebView.subproj/WebImageView.h:
2251         * WebView.subproj/WebImageView.m:
2252         (-[WebImageView mouseDown:]): get the drag source action mask from the delegate
2253         (-[WebImageView mouseDragged:]): inform the delegate of the drag
2254         * WebView.subproj/WebView.m:
2255         (-[WebViewPrivate dealloc]): assert that dragCursorBridge is nil
2256         (-[WebView _close]): release dragCursorBridge
2257         (-[WebView _bridgeAtPoint:]): new
2258         (-[WebView editableDOMRangeForPoint:]): new API
2259         (-[WebView moveDragCaretToPoint:]): new API
2260         (-[WebView removeDragCaret]): new API
2261         (-[WebView _frameViewAtWindowPoint:]): moved so this can be called internally
2262         * WebView.subproj/WebViewInternal.h:
2263         * WebView.subproj/WebViewPrivate.h:
2264
2265 2004-07-10  Trey Matteson  <trey@apple.com>
2266
2267         Prep work for latest delegate API for dragging.  In addition, I also straightened out all
2268         the cases of DHTML setting a drag image or setting pasteboard data, and how that would
2269         override WebKit's default behavior (which follows how WinIE does things).
2270
2271         Reviewed by Chris.
2272
2273         * Misc.subproj/WebNSViewExtras.h:
2274         * Misc.subproj/WebNSViewExtras.m:
2275         (-[NSView _web_dragImage:archive:rect:URL:title:event:dragImage:dragLocation:writePasteboard:]):
2276         New args to allow WebCore override of dragImage and pasteboard data.
2277         * WebCoreSupport.subproj/WebBridge.m:
2278         (-[WebBridge allowDHTMLDrag:UADrag:]):  New method to return the drag action info to WC.
2279         (-[WebBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2280         Pass along new args.
2281         * WebView.subproj/WebHTMLView.m:
2282         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2283         Allow WebCore to override drag image and pasteboard data for any type of drag.
2284         (-[WebHTMLView mouseDragged:]):  Pass NO for new args.
2285         * WebView.subproj/WebHTMLViewPrivate.h:
2286         * WebView.subproj/WebImageView.m:
2287         (-[WebImageView mouseDragged:]):  Pass NO/nil for new args.
2288
2289 === Safari-144 ===
2290
2291 2004-06-10  Kevin Decker  <kdecker@apple.com>
2292
2293         Reviewed by John.
2294
2295         * WebView.subproj/WebResource.m:
2296         (-[WebResource description]):
2297             -added per request of cblu
2298         (-[WebResource _response]):
2299             -added this method to the header
2300         (-[WebResource _stringValue]):
2301             - gives the string value of the NSData representation
2302         * WebView.subproj/WebResourcePrivate.h:
2303
2304 2004-06-10  Darin Adler  <darin@apple.com>
2305
2306         Reviewed by Ken.
2307
2308         * WebCoreSupport.subproj/WebBridge.m: Removed undo-related methods.
2309         (-[WebBridge undoManager]): Added.
2310
2311         * WebKit.pbproj/.cvsignore: Updated for new Xcode files.
2312
2313 2004-06-09  Ken Kocienda  <kocienda@apple.com>
2314
2315         Reviewed by Darin
2316
2317         Fix for this bug:
2318         
2319         <rdar://problem/3672088>: "Editable WebViews should maintain a selection even when they're not firstResponder"
2320
2321         Add some code to determine whether a WebHTMLView should maintain an
2322         inactive selection when the view is not first responder. Traditionally,
2323         these views have not maintained such selections, clearing them when the
2324         view was not first responder. However, for appls embedding this view as
2325         an editing widget, it is desirable to act more like an NSTextView. For
2326         now, however, the view only acts in this way when the web view is set to
2327         be editable with -[WebView setEditable:YES]. This will maintain
2328         traditional behavior for WebKit clients dating back to before this
2329         change, and will likely be a decent switch for the long term, since
2330         clients to ste the web view to be editable probably want it to act like
2331         a "regular" Cocoa view in terms of its selection behavior.
2332
2333         * WebView.subproj/WebHTMLView.m:
2334         (-[WebHTMLView updateTextBackgroundColor]): Add code to tell whether the view is resigning first responder,
2335         and if it is, use the inactive text background color.
2336         (-[WebHTMLView maintainsInactiveSelection]): New helper which does checks to see if the new selection
2337         behavior should be used, or whether we should continue with traditional WebKit behavior.
2338         (-[WebHTMLView resignFirstResponder]): Call new maintainsInactiveSelection helper. If true,
2339         do not clear the selection.
2340         * WebView.subproj/WebHTMLViewInternal.h: Add resigningFirstResponder flag.
2341
2342 2004-06-09  Chris Blumenberg  <cblu@apple.com>
2343
2344         Implemented drag destination portion of the new drag & drop API.
2345
2346         Reviewed by trey.
2347
2348         * WebView.subproj/WebDefaultUIDelegate.m:
2349         (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]): new delegate implementation
2350         (-[WebDefaultUIDelegate webView:willPerformDragDestinationAction:forDraggingInfo:]): ditto
2351         * WebView.subproj/WebDocumentInternal.h:
2352         * WebView.subproj/WebHTMLView.m:
2353         (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): handle the action mask
2354         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
2355         * WebView.subproj/WebUIDelegate.h:
2356         * WebView.subproj/WebUIDelegatePrivate.h:
2357         * WebView.subproj/WebView.m:
2358         (-[WebView _dragOperationForDraggingInfo:]): call new delegate methods
2359         (-[WebView performDragOperation:]): ditto
2360         * WebView.subproj/WebViewInternal.h:
2361         * WebView.subproj/WebViewPrivate.h:
2362
2363 2004-06-09  Richard Williamson   <rjw@apple.com>
2364
2365         Implemented PDF rendering for the drawImage() function
2366         in Context2D.  This allows PDF files to be drawn in scaled
2367         or rotated context without rasterization artifacts.
2368         
2369         The PDF image is currently NOT cached.  Caching can/will be added
2370         as an optimization.  The hooks are already in place to flush
2371         the cache as necessary.
2372         
2373         Reviewed by John.
2374
2375         * WebCoreSupport.subproj/WebImageRenderer.h:
2376         * WebCoreSupport.subproj/WebImageRenderer.m:
2377         (-[WebImageRenderer dealloc]):
2378         (-[WebImageRenderer _needsRasterFlush]):
2379         (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
2380         (-[WebImageRenderer _PDFDocumentRef]):
2381         (-[WebImageRenderer _PDFDraw]):
2382         (-[WebImageRenderer _PDFDrawFromRect:toRect:operation:alpha:flipped:]):
2383         (-[WebImageRenderer MIMEType]):
2384         (ReleasePDFDocumentData):
2385         (-[WebPDFDocument initWithData:]):
2386         (-[WebPDFDocument dealloc]):
2387         (-[WebPDFDocument documentRef]):
2388         (-[WebPDFDocument mediaBox]):
2389         (-[WebPDFDocument bounds]):
2390         (-[WebPDFDocument adjustCTM:]):
2391         (-[WebPDFDocument setCurrentPage:]):
2392         (-[WebPDFDocument currentPage]):
2393         (-[WebPDFDocument pageCount]):
2394
2395         Added back check for old plugin API.
2396         
2397         * WebView.subproj/WebFrame.m:
2398         (-[WebFrame _reloadForPluginChanges]):
2399         * WebView.subproj/WebHTMLView.m:
2400         (-[WebHTMLView addSubview:]):
2401         * WebCoreSupport.subproj/WebBridge.m:
2402         (-[WebBridge frameRequiredForMIMEType:URL:]):
2403
2404 2004-06-08  Trey Matteson  <trey@apple.com>
2405
2406         In DHTML dragging there is no notion of registering for types, so we'd
2407         like to just pass all types down to WebCore.  It turns out that the per-type
2408         registration doesn't matter as far as the underlying drag service is
2409         concerned, so Cocoa is already getting called for any type.  We just hack and
2410         override a private method to ensure we accept any type.
2411
2412         Reviewed by Chris.
2413
2414         * WebView.subproj/WebView.m:
2415         (-[WebView _hitTest:dragTypes:]):  We accept any drag type if it is within
2416         our view, without overriding a subview's decision.
2417
2418 2004-06-08  Trey Matteson  <trey@apple.com>
2419
2420         A DHTML drag source can now change the dragging image during the drag.  Currently
2421         it may only be set to a static image.
2422
2423         Reviewed by John
2424
2425         * WebCoreSupport.subproj/WebBridge.m:
2426         (-[WebBridge setDraggingImage:at:]):  Typical bridge glue.
2427         * WebView.subproj/WebHTMLView.m:
2428         (FlipImageSpec):  New utility, copied from AppKit.
2429         (-[WebHTMLView _setDraggingImage:at:]):  Mostly copied from AppKit.  Sets the drag
2430         image using CG API.
2431         * WebView.subproj/WebHTMLViewPrivate.h:
2432
2433 2004-06-08  Chris Blumenberg  <cblu@apple.com>
2434
2435         Fixed: <rdar://problem/3640423>: (REGRESSION: can't paste text copied from web page into Excel (due to HTML on the pasteboard?))
2436
2437         Reviewed by darin.
2438
2439         * WebView.subproj/WebHTMLView.m:
2440         (+[WebHTMLView _selectionPasteboardTypes]): don't include NSHTMLPboardType
2441         (-[WebHTMLView _selectedArchive]): removed markup string parameter
2442         (_selectionPasteboardTypes::if): don't put NSHTMLPboardType on the pasteboard
2443         * WebView.subproj/WebHTMLViewPrivate.h:
2444
2445 2004-06-07  Darin Adler  <darin@apple.com>
2446
2447         Reviewed by Chris.
2448
2449         - fixed <rdar://problem/3676761>: (REGRESSION: Text Bigger/Smaller commands are always disabled in TOT)
2450
2451         * WebView.subproj/WebHTMLView.m: Add @interface declaration for WebTextSizing category
2452         on WebHTMLView. This must have gotten lost somewhere along the way.
2453
2454 2004-06-05  Trey Matteson  <trey@apple.com>
2455
2456         WebKit no longer causes an endless stream of dragexit events to
2457         occur at the DHTML level when hovering over an element that is
2458         not accepting the drag.
2459
2460         Reviewed by Chris
2461
2462         * WebView.subproj/WebView.m:
2463         (-[WebView _dragOperationForDraggingInfo:]):  If the potential target refuses
2464         the item, don't turn around and immediately tell it to cancel the drag, which is
2465         what leads to the exit event happening at the DOM level.  If the target just
2466         refused the drag, it should not have anything it needs to cancel.
2467
2468 2004-06-03  Trey Matteson  <trey@apple.com>
2469
2470         DHTML dragging uses the Cocoa NSDragOperation on both the source and dest ends.
2471         Most of the real work is in WebCore.
2472
2473         Reviewed by rjw
2474
2475         * WebCoreSupport.subproj/WebBridge.m:
2476         (-[WebBridge startDraggingImage:at:operation:event:]):  Pass the drag op along.
2477         * WebView.subproj/WebHTMLView.m:
2478         (-[WebHTMLView _startDraggingImage:at:operation:event:]):  Remember drag op from WC.
2479         (-[WebHTMLView mouseDragged:]):  Pass None for the op (alternate code path that will
2480         be going away).
2481         (-[WebHTMLView draggingSourceOperationMaskForLocal:]):  Use the WC drag op.
2482         * WebView.subproj/WebHTMLViewInternal.h:
2483         * WebView.subproj/WebHTMLViewPrivate.h:
2484
2485 === Safari-143 ===
2486
2487 2004-06-04  Chris Blumenberg  <cblu@apple.com>
2488
2489         Fixed: <rdar://problem/3674921>: (can't drag an image from Desktop to Blot document)
2490
2491         Reviewed by mjs.
2492
2493         * WebView.subproj/WebDataSource.m:
2494         (-[WebDataSource _imageElementWithImageResource:]): factored out from _documentFragmentWithImageResource:
2495         (-[WebDataSource _documentFragmentWithImageResource:]): call _imageElementWithImageResource:
2496         * WebView.subproj/WebDataSourcePrivate.h:
2497         * WebView.subproj/WebHTMLView.m:
2498         (-[WebHTMLView _imageExistsAtPaths:]): new
2499         (-[WebHTMLView _documentFragmentWithPaths:]): new
2500         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): handle NSFilenamesPboardType
2501         (+[WebHTMLView _insertablePasteboardTypes]): include NSFilenamesPboardType
2502         (-[WebHTMLView _canProcessDragWithDraggingInfo:]): check for NSFilenamesPboardType and check that the files are images
2503
2504 2004-06-04  Richard Williamson   <rjw@apple.com>
2505
2506         Fixed crasher from last checkin.
2507         
2508         Reviewed by Ken.
2509
2510         * Plugins.subproj/WebPluginDatabase.m:
2511         (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
2512         (pluginLocations):
2513
2514 2004-06-03  Richard Williamson   <rjw@apple.com>
2515
2516         Add SPI to allow setting of plugin load path.
2517                 Reviewed by Hyatt.
2518
2519         * Plugins.subproj/WebPluginDatabase.h:
2520         * Plugins.subproj/WebPluginDatabase.m:
2521         (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
2522         (pluginLocations):
2523
2524 2004-06-03  Darin Adler  <darin@apple.com>
2525
2526         Reviewed by Chris.
2527
2528         - fixed <rdar://problem/3677038>: (Need SPI to get URL of favicon for a site)
2529
2530         * Misc.subproj/WebIconDatabase.h: Add iconURLForURL: method.
2531         * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase iconURLForURL:]): Added.
2532
2533 2004-06-02  Ken Kocienda  <kocienda@apple.com>
2534
2535         Reviewed by John
2536
2537         Fix for these bugs:
2538         
2539         <rdar://problem/3675806>: "Make API name change for -webViewShouldBeginEditing:inDOMRange:"
2540         <rdar://problem/3675809>: "Make API name change for -webViewShouldEndEditing:inDOMRange:"
2541
2542         New names are -webView:shouldBeginEditingInDOMRange: and -webView:shouldEndEditingInDOMRange:, 
2543         respectively.
2544
2545         * WebView.subproj/WebDefaultEditingDelegate.m:
2546         (-[WebDefaultEditingDelegate webView:shouldBeginEditingInDOMRange:]):
2547         (-[WebDefaultEditingDelegate webView:shouldEndEditingInDOMRange:]):
2548         * WebView.subproj/WebEditingDelegate.h:
2549         * WebView.subproj/WebView.m:
2550         (-[WebView _shouldBeginEditingInDOMRange:]):
2551         (-[WebView _shouldEndEditingInDOMRange:]):
2552
2553 2004-06-02  Richard Williamson   <rjw@apple.com>
2554
2555         conformsToProtocol:@protocol(WebPlugin) becomes
2556         respondsToSelector:@selector(webPlugInInitialize) because
2557         protocol was changed to an informal protocol.
2558                 Reviewed by Kevin.
2559
2560         * WebCoreSupport.subproj/WebBridge.m:
2561         (-[WebBridge frameRequiredForMIMEType:URL:]):
2562         * WebView.subproj/WebHTMLView.m:
2563         (-[WebHTMLView addSubview:]):
2564
2565 2004-06-01  Trey Matteson  <trey@apple.com>
2566
2567         First cut at source side of DHTML dragging.  Most of the work is in WebCore.
2568
2569         Reviewed by hyatt.
2570
2571         * WebCoreSupport.subproj/WebBridge.m:
2572         (-[WebBridge startDraggingImage:at:event:]):  Added image and loc args for
2573         when WC tells WK to start a drag.
2574         * WebView.subproj/WebHTMLView.m:
2575         (-[WebHTMLView _startDraggingImage:at:event:]):  New image and loc args coming
2576         from WebCore.  Hysteresis is moved to WC.
2577         (-[WebHTMLView mouseDragged:]):  Call new _startDragging method.
2578         (-[WebHTMLView draggedImage:movedTo:]):  Pass event to WC.
2579         (-[WebHTMLView draggedImage:endedAt:operation:]):  Pass event to WC.
2580         (-[WebHTMLView mouseUp:]):  Reset firstMouseDownEvent.  Fixes bug where
2581         we would occasionally short-circuit WC event handling due to aliasing
2582         problem with this event.
2583         * WebView.subproj/WebHTMLViewPrivate.h:
2584
2585 2004-06-02  Darin Adler  <darin@apple.com>
2586
2587         Reviewed by John.
2588
2589         - fixed problem with timing of delegate callbacks in the back/forward cache case
2590
2591         * WebView.subproj/WebFrame.m:
2592         (-[WebFrame _transitionToCommitted:]): Move code to indicate page is done loading in the
2593         back/forward cache case from here ...
2594         (-[WebFrame _opened]): ... to here.
2595
2596 2004-06-01  Richard Williamson   <rjw@apple.com>
2597
2598         Fixed deployment build warning.
2599
2600         * WebCoreSupport.subproj/WebImageRenderer.m:
2601         (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
2602
2603 2004-06-01  Richard Williamson   <rjw@apple.com>
2604
2605         Added support for drawImage and drawImageFromRect to <CANVAS>
2606         Added support for composite attribute to <CANVAS>
2607
2608         Reviewed by Trey.
2609
2610         * WebCoreSupport.subproj/WebImageRenderer.h:
2611         * WebCoreSupport.subproj/WebImageRenderer.m:
2612         (-[WebImageContext initWithBounds:context:]):
2613         (-[WebImageContext dealloc]):
2614         (-[WebImageContext saveGraphicsState]):
2615         (-[WebImageContext restoreGraphicsState]):
2616         (-[WebImageContext isDrawingToScreen]):
2617         (-[WebImageContext focusStack]):
2618         (-[WebImageContext setFocusStack:]):
2619         (-[WebImageContext bounds]):
2620         (-[WebImageContext isFlipped]):
2621         (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
2622         (-[WebImageRenderer dealloc]):
2623         (-[WebImageRenderer _beginRedirectContext:]):
2624         (-[WebImageRenderer _endRedirectContext:]):
2625         (-[WebImageRenderer _needsRasterFlush]):
2626         (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
2627         (-[WebImageRenderer drawImageInRect:fromRect:]):
2628         (-[WebImageRenderer flushRasterCache]):
2629         (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
2630         (-[WebImageRenderer tileInRect:fromPoint:context:]):
2631         * WebCoreSupport.subproj/WebImageRendererFactory.m:
2632         (-[WebImageRendererFactory imageRendererWithMIMEType:]):
2633         (-[WebImageRendererFactory imageRendererWithName:]):
2634         (-[WebImageRendererFactory CGCompositeOperationInContext:]):
2635         (-[WebImageRendererFactory setCGCompositeOperation:inContext:]):
2636         (-[WebImageRendererFactory setCGCompositeOperationFromString:inContext:]):
2637
2638 2004-06-01  John Sullivan  <sullivan@apple.com>
2639
2640         Reviewed by Trey.
2641         
2642         Work on text-align API. Marked these bugs fixed:
2643         <rdar://problem/3655380>: (Editing:Ê-alignCenter:ÊmethodÊunimplementedÊ(WebKitÊeditingÊAPI))
2644         <rdar://problem/3655381>: (Editing:Ê-alignJustified:ÊmethodÊunimplementedÊ(WebKitÊeditingÊAPI))
2645         <rdar://problem/3655383>: (Editing:Ê-alignLeft:ÊmethodÊunimplementedÊ(WebKitÊeditingÊAPI))
2646         <rdar://problem/3655384>: (Editing:Ê-alignRight:ÊmethodÊunimplementedÊ(WebKitÊeditingÊAPI))        
2647         
2648         in favor of opening this bug:
2649         <rdar://problem/3675191>: (Editing: -alignLeft: and friends mostly implemented but not 
2650         yet working (WebKit editing API))        
2651
2652         * English.lproj/StringsNotToBeLocalized.txt:
2653         updated for these changes
2654         
2655         * WebView.subproj/WebHTMLView.m:
2656         (-[WebHTMLView changeDocumentBackgroundColor:]):
2657         added a FIXME about why this is still not quite right
2658         (-[WebHTMLView _alignSelectionUsingCSSValue:]):
2659         new method, bottleneck for the various values
2660         (-[WebHTMLView alignCenter:]):
2661         call _alignSelectionUsingCSSValue:@"center"
2662         (-[WebHTMLView alignJustified:]):
2663         call _alignSelectionUsingCSSValue:@"justify"
2664         (-[WebHTMLView alignLeft:]):
2665         call _alignSelectionUsingCSSValue:@"left"
2666         (-[WebHTMLView alignRight:]):
2667         call _alignSelectionUsingCSSValue:@"right"
2668
2669 2004-06-01  John Sullivan  <sullivan@apple.com>
2670
2671         Reviewed by Ken.
2672         
2673         - fixed <rdar://problem/3655378>: (Editing:Ê-changeDocumentBackgroundColor:Ê
2674         methodÊunimplementedÊ(WebKitÊeditingÊAPI))
2675         - made startSpeaking: actually work; previous implementation raised a DOMException
2676
2677         * WebView.subproj/WebHTMLView.m:
2678         (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
2679         added range parameter
2680         (-[WebHTMLView _entireDOMRange]):
2681         new convenience method
2682         (-[WebHTMLView changeDocumentBackgroundColor:]):
2683         now affects entire document, not just selected range, a la NSTextView
2684         (-[WebHTMLView changeColor:]):
2685         now passes in a range to _changeCSSColorUsingSelector:inRange:
2686         (-[WebHTMLView startSpeaking:]):
2687         now uses _entireDOMRange
2688
2689 2004-06-01  Chris Blumenberg  <cblu@apple.com>
2690
2691         Fixed: <rdar://problem/3661505>: (REGRESSION (Safari-140) can't drag standalone images more than once)
2692
2693         Reviewed by john.
2694
2695         * WebView.subproj/WebImageView.m:
2696         (-[WebImageView mouseDown:]): set ignoringMouseDraggedEvents to NO. This line of code was deleted somehow.
2697
2698 2004-06-01  John Sullivan  <sullivan@apple.com>
2699
2700         Reviewed by Darin.
2701         
2702         - fixed <rdar://problem/3657003>: (HTML Editing: Color panel doesn't work)
2703
2704         * WebView.subproj/WebHTMLView.m:
2705         (-[WebHTMLView _colorPanelColorAsStyleUsingSelector:]):
2706         new method, returns a DOMCSSStyleDeclaration *
2707         (-[WebHTMLView _changeCSSColorUsingSelector:]):
2708         new method, sets a color-related style attribute on the selection
2709         (-[WebHTMLView changeDocumentBackgroundColor:]):
2710         call _changeCSSColorUsingSelector: with @selector(setBackgroundColor:)
2711         (-[WebHTMLView changeColor:]):
2712         call _changeCSSColorUsingSelector: with @selector(setColor:); also added
2713         comments explaining why changeDocumentBackgroundColor: will never actually
2714         be called until an AppKit code-incest mess is straighted out.
2715
2716 2004-06-01  Ken Kocienda  <kocienda@apple.com>
2717
2718         Reviewed by Darin
2719
2720         * WebView.subproj/WebHTMLView.m:
2721         (-[WebHTMLView _fontManagerOperationAsStyle]): Fixed typo in family-name code that caused
2722         family names to match when they should not.
2723
2724 2004-06-01  Chris Blumenberg  <cblu@apple.com>
2725
2726         Made paste and drop ask the delegate before making any replacements.
2727
2728         Reviewed by kocienda.
2729
2730         * WebView.subproj/WebHTMLView.m:
2731         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): renamed, now calls _shouldInsertFragment:replacingDOMRange:givenAction:
2732         (-[WebHTMLView _shouldInsertFragment:replacingDOMRange:givenAction:]): new, asks delegate
2733         (-[WebHTMLView concludeDragForDraggingInfo:]): now calls _shouldInsertFragment:replacingDOMRange:givenAction:
2734         (-[WebHTMLView paste:]): call renamed _pasteWithPasteboard:allowPlainText:
2735         (-[WebHTMLView pasteAsRichText:]): ditto
2736
2737 2004-05-28  Darin Adler  <darin@apple.com>
2738
2739         Reviewed by Maciej.
2740
2741         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _fontManagerOperationAsStyle]):
2742         First cut at figuring out what operation the font manager is doing without
2743         digging into its private data structures.
2744
2745 2004-05-28  Darin Adler  <darin@apple.com>
2746
2747         Reviewed by Ken.
2748
2749         - various editing-related improvements
2750         - fixed <rdar://problem/3655366>: (Editing: -selectParagraph: method unimplemented (WebKit editing API))
2751         - fixed <rdar://problem/3655367>: (Editing: -selectLine: method unimplemented (WebKit editing API))
2752         - fixed <rdar://problem/3655369>: (Editing: -selectWord: method unimplemented (WebKit editing API))
2753         - fixed <rdar://problem/3655392>: (Editing: -uppercaseWord: method unimplemented (WebKit editing API))
2754         - fixed <rdar://problem/3655393>: (Editing: -lowercaseWord: method unimplemented (WebKit editing API))
2755         - fixed <rdar://problem/3655394>: (Editing: -capitalizeWord: method unimplemented (WebKit editing API))
2756
2757         * WebView.subproj/WebHTMLView.m:
2758         (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): Removed the call to
2759         ensureCaretVisible. This is now handled on the other side of the bridge.
2760         (-[WebHTMLView moveDown:]): Changed to use WebSelectByLine granularity instead of
2761         WebSelectDown direction.
2762         (-[WebHTMLView moveDownAndModifySelection:]): Ditto.
2763         (-[WebHTMLView moveUp:]): Ditto.
2764         (-[WebHTMLView moveUpAndModifySelection:]): Ditto.
2765         (-[WebHTMLView _expandSelectionToGranularity:]): Added.
2766         (-[WebHTMLView selectParagraph:]): Implemented by calling _expandSelectionToGranularity.
2767         (-[WebHTMLView selectLine:]): Ditto.
2768         (-[WebHTMLView selectWord:]): Ditto.
2769         (-[WebHTMLView _fontManagerOperationAsStyle]): Added. Placeholder for the job of figuring
2770         out what style change to make based on NSFontManager.
2771         (-[WebHTMLView changeFont:]): Implemented, but not really tested because guts are still
2772         missing due to lack of above method.
2773         (-[WebHTMLView insertTab:]): Removed the call to ensureCaretVisible.
2774         (-[WebHTMLView insertNewline:]): Removed the call to ensureCaretVisible.
2775         (-[WebHTMLView insertParagraphSeparator:]): Made this insert a newline for now.
2776         (-[WebHTMLView _changeWordCaseWithSelector:]): Added.
2777         (-[WebHTMLView uppercaseWord:]): Implemented by calling _changeWordCaseWithSelector.
2778         (-[WebHTMLView lowercaseWord:]): Ditto.
2779         (-[WebHTMLView capitalizeWord:]): Ditto.
2780         (-[WebHTMLView deleteBackward:]): Removed the call to ensureCaretVisible.
2781         (-[WebHTMLView checkSpelling:]): Put a pile of AppKit code in here as a placeholder.
2782         (-[WebHTMLView startSpeaking:]): Use the new stringForRange: method instead of outerText.
2783         That way we can handle cases where the entire document is selected.
2784         (-[WebHTMLView insertText:]): Removed the call to ensureCaretVisible.
2785
2786 2004-05-28  Chris Blumenberg  <cblu@apple.com>
2787
2788         Fixed: <rdar://problem/3672129>: (selection deselects when clicking editable WebView in background window)
2789
2790         Fixed this problem by using NSTextView's approach of only allowing dragging on first mouse down.
2791
2792         Reviewed by john.
2793
2794         * WebView.subproj/WebHTMLView.m:
2795         (-[WebHTMLView acceptsFirstMouse:]): store the first mouse down
2796         (-[WebHTMLView mouseDown:]): Don't tell WebCore about the first mouse down event since only dragging can occur on the first mouse down.
2797         (-[WebHTMLView mouseDragged:]): Don't tell WebCore about the drags that occur after the first mouse down since only dragging can occur after the first mouse down.
2798         * WebView.subproj/WebHTMLViewInternal.h:
2799
2800 2004-05-28  Darin Adler  <darin@apple.com>
2801
2802         * WebView.subproj/WebView.m: At Ken's suggestion, for better efficiency and safety,
2803         use _cmd rather than explicit selector names in the forwarding methods.
2804
2805 2004-05-28  Darin Adler  <darin@apple.com>
2806
2807         Reviewed by Ken.
2808
2809         - implemented a few more editing operations, moved code from WebView to WebHTMLView
2810
2811         * WebCoreSupport.subproj/WebBridge.m:
2812         (-[WebBridge respondToChangedContents]): Call _updateFontPanel on the WebHTMLView, not the WebView.
2813         (-[WebBridge respondToChangedSelection]): Ditto.
2814
2815         * WebView.subproj/WebHTMLView.m: Moved WebElementOrTextFilter class here from WebView and
2816         gave it a prefix so it won't conflict with developers' class names.
2817         (-[WebHTMLView _updateFontPanel]): Moved here from WebView.
2818
2819         * WebView.subproj/WebView.m:
2820         (-[WebView toggleSmartInsertDelete:]): Added.
2821         (-[WebView toggleContinuousSpellChecking:]): Added.
2822         (-[WebView isContinuousGrammarCheckingEnabled]): Added.
2823         (-[WebView setContinuousGrammarCheckingEnabled:]): Added.
2824         (-[WebView toggleContinuousGrammarChecking:]): Added.
2825         (-[WebView setSmartInsertDeleteEnabled:]): Implemented. We have the flag now, although we
2826         still don't actually have smart insert and delete implemented.
2827         (-[WebView smartInsertDeleteEnabled]): Ditto.
2828         (-[WebView setContinuousSpellCheckingEnabled:]): Implemented.
2829         (-[WebView isContinuousSpellCheckingEnabled]): Implemented.
2830         (-[WebView spellCheckerDocumentTag]): Implemented.
2831         (-[WebView _preflightSpellCheckerNow:]): Added.
2832         (-[WebView _preflightSpellChecker]): Added.
2833         (-[WebView _continuousCheckingAllowed]): Added.
2834
2835         * WebView.subproj/WebHTMLViewInternal.h: Added. We'll things here from WebHTMLViewPrivate so
2836         they are internal to the framework, rather than SPI.
2837         * WebKit.pbproj/project.pbxproj: Added WebHTMLViewInternal.h.
2838         * WebView.subproj/WebHTMLViewPrivate.h: Moved WebHTMLViewPrivate into the internal header.
2839         Despite its name, it's internal, not SPI.
2840
2841         * WebView.subproj/WebViewPrivate.h: Moved WebViewPrivate into the internal header.
2842         Despite its name, it's internal, not SPI. Added a number of new operations which should
2843         be public API. We'll have to figure out what to do about API review and the WWDC deadline.
2844         * WebView.subproj/WebViewInternal.h: Removed _updateFontPanel method.
2845
2846         * English.lproj/StringsNotToBeLocalized.txt: Update.
2847
2848 2004-05-27  Ken Kocienda  <kocienda@apple.com>
2849
2850         Reviewed by John
2851
2852         The font panel now updates correctly, reflecting the current selection. There may
2853         still be some bugs and corner cases to handle, but this will work for a general
2854         implementation of the feature.
2855
2856         * WebView.subproj/WebView.m:
2857         (+[ElementOrTextFilter filter]): Added. This filter will accept DOM elements and
2858         text nodes and skip everything else. This filter is used when walking a selection
2859         to determine the fonts in use.
2860         (-[ElementOrTextFilter acceptNode:]): DOM node filter implementation method.
2861         (-[WebView _fontFromStyle]): Removed, in lieu of new fontForCurrentPosition call on the bridge.
2862         (-[WebView _updateFontPanel]): Reworked to use a TreeWalker instead of a NodeIterator. This
2863         was done since the iterator must be rooted at the document root, but start iterating 
2864         at the start of the selection. TreeWalker's setCurrentNode allows this to be done.
2865
2866
2867 2004-05-27  Kevin Decker  <kdecker@apple.com>
2868
2869         Reviewed by NOBODY (OOPS!).
2870
2871         * Plugins.subproj/WebScriptObject.h:
2872
2873 2004-05-27  Kevin Decker  <kdecker@apple.com>
2874
2875         Reviewed by Ken.
2876         
2877         - error messages (eg. from JavaScriptCore) sent to the bridge now 
2878           get delievered to a new delegate method.  
2879     
2880         * WebCoreSupport.subproj/WebBridge.m:
2881         (-[WebBridge addMessageToConsole:]):
2882         * WebKit.pbproj/project.pbxproj:
2883         * WebView.subproj/WebUIDelegatePrivate.h:
2884
2885 === Safari-142 ===
2886
2887 2004-05-27  Trey Matteson  <trey@apple.com>
2888
2889         First cut at DHTML dragging, destination side.  Dragging text, files and URLs onto
2890         elements works.  Type conversion from NSPasteboard to MIME types is hardwired.
2891         No JS access yet to modifier keys, or operations mask.
2892
2893         Reviewed by Chris.
2894
2895         * WebView.subproj/WebHTMLView.m:
2896         (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): Call DHTML dragging via bridge.
2897         (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
2898         (-[WebHTMLView concludeDragForDraggingInfo:]): Ditto.
2899         * WebView.subproj/WebHTMLViewPrivate.h:
2900         * WebView.subproj/WebView.m:
2901         (-[WebView _setWebKitDragRespondsToDragging:]):  New SPI for finer grained control than the
2902         delegate currently has.
2903         (-[WebView _webKitDragRespondsToDragging]): Ditto.
2904         (-[WebView _commonInitializationWithFrameName:groupName:]):  Init new flag.
2905         (-[WebView _dragOperationForDraggingInfo:]):  Comment.
2906         * WebView.subproj/WebViewPrivate.h:
2907
2908 2004-05-27  Darin Adler  <darin@apple.com>
2909
2910         * WebView.subproj/WebFrameView.m: (-[WebFrameView _scrollVerticallyBy:]): Added comment.
2911
2912 2004-05-27  Darin Adler  <darin@apple.com>
2913
2914         Reviewed by Maciej.
2915
2916         - fixed <rdar://problem/3667948>: (REGRESSION: Page Down key goes down two pages when smooth scrolling is on)
2917
2918         * WebView.subproj/WebFrameView.m:
2919         (-[WebFrameView _scrollVerticallyBy:]): Added return value to indicate if any scrolling was done.
2920         This requires using secret AppKit methods; the public methods don't have a return value.
2921         (-[WebFrameView _pageVertically:]): Added return value to indicate if any scrolling was done.
2922         (-[WebFrameView scrollPageUp:]): Base call through to next responder on whether any scrolling was done,
2923         using return value, rather than looking at new scroll position. This was the cause of the bug,
2924         since with smooth scrolling no scrolling has happened yet when the function returns.
2925         (-[WebFrameView scrollPageDown:]): Ditto.
2926
2927         - removed temporary DOMDocument method from WebView
2928
2929         * WebView.subproj/WebView.m:
2930         (-[WebView computedStyleForElement:pseudoElement:]): Call getComputedStyle on the document that owns the
2931         element rather than on the document that currently contains the selection.
2932         (-[WebView _updateFontPanel]): Get the document from the DOM range rather than using the DOMDocument method.
2933         (-[WebView styleDeclarationWithText:]): Change this method to not use the DOMDocument method, but do the same
2934         job with inline code.
2935
2936         * WebView.subproj/WebViewPrivate.h: Moved a recently-added category that is not SPI out of here.
2937         * WebView.subproj/WebViewInternal.h: Moved the category in here. And removed the DOMDocument method from it.
2938
2939         - other changes
2940
2941         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
2942
2943         * copy-webcore-files-to-webkit: Change tabs to spaces. Quiet the script down by
2944         making it no longer echo each command or print messages about what it's doing by default.
2945
2946 2004-05-27  Darin Adler  <darin@apple.com>
2947
2948         Reviewed by Maciej.
2949
2950         - moved to new symlink technique for embedding frameworks
2951
2952         * WebKit.pbproj/project.pbxproj: Get rid of embed-frameworks build step
2953         because we don't need it any more.
2954
2955 2004-05-27  Darin Adler  <darin@apple.com>
2956
2957         - fixed Deployment build
2958
2959         * WebView.subproj/WebView.m: (-[WebView concludeDragOperation:]):
2960         Got rid of ASSERT-only local variable.
2961
2962 2004-05-26  Maciej Stachowiak  <mjs@apple.com>
2963
2964         Reviewed by Dave.
2965
2966         - fix further problems with Emerson feed: redirection for RSS feeds
2967
2968         This is done by removing removing the calls to defer callbacks
2969         while waiting for [... Maciej stopped typing here ...]
2970
2971         * WebView.subproj/WebMainResourceClient.m:
2972         (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
2973         (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
2974         (-[WebMainResourceClient continueAfterContentPolicy:response:]):
2975         (-[WebMainResourceClient checkContentPolicyForResponse:]):
2976
2977 2004-05-26  Chris Blumenberg  <cblu@apple.com>
2978
2979         Added and implemented proposed dragging API changes. These changes are necessary to make JS dragging work properly.
2980
2981         Reviewed by trey.
2982
2983         * WebView.subproj/WebDefaultUIDelegate.m:
2984         (-[WebDefaultUIDelegate webView:shouldDetermineDragOperationForDraggingInfo:dragOperation:]): instead of calling back to the WebView to get the default drag operation, return YES. Return NO in order to return a custom drag operation. Removed element parameter since another new API provides a way to get that.
2985         (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:]): Removed element parameter since another new API provides a way to get that.
2986         * WebView.subproj/WebDocumentInternal.h:
2987         * WebView.subproj/WebHTMLView.m:
2988         (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): now returns a drag operation
2989         (-[WebHTMLView draggingCancelledWithDraggingInfo:]): moved
2990         * WebView.subproj/WebUIDelegatePrivate.h:
2991         * WebView.subproj/WebView.m:
2992         (-[WebView elementAtPoint:]): new proposed API
2993         (-[WebView dragOperationForDraggingInfo:]): removed code from this API that should be removed
2994         (-[WebView _dragOperationForDraggingInfo:]): call new API
2995         (-[WebView concludeDragOperation:]): call new API
2996
2997 2004-05-26  Darin Adler  <darin@apple.com>
2998
2999         Reviewed by John.
3000
3001         - moved HTML editing operations from WebView to WebHTMLView, leaving only forwarding machinery
3002           at the WebView level
3003
3004         - fixed <rdar://problem/3655412>: (Editing: -startSpeaking: method unimplemented (WebKit editing API))
3005         - fixed <rdar://problem/3655414>: (Editing: -stopSpeaking: method unimplemented (WebKit editing API))
3006         - fixed <rdar://problem/3655375>: (Editing: -pasteAsRichText: method unimplemented (WebKit editing API))
3007
3008         * WebView.subproj/WebView.h: Added missing declaration of selectionAffinity. I think this
3009         omission was an editorial mistake.
3010
3011         * WebView.subproj/WebView.m:
3012         (-[WebView searchFor:direction:caseSensitive:wrap:]): Use _frameForCurrentSelection directly,
3013         since it no longer returns nil.
3014         (-[WebView pasteboardTypesForSelection]): Use _frameForCurrentSelection instead of going through the bridge.
3015         (-[WebView _frameForCurrentSelection]): Renamed from _currentFrame and changed to return main frame
3016         rather than nil when called on WebView that has no current selection.
3017         (-[WebView _bridgeForCurrentSelection]): Moved in file.
3018         (-[WebView _updateFontPanel]): Removed the one call to _currentSelectionIsEditable here, since
3019         it was the only one left in this file. Eventually this code will move to WebHTMLView.
3020         (-[WebView _performResponderOperation:with:]): Name change.
3021
3022         * WebView.subproj/WebDataSource.m: (-[WebDataSource _documentFragmentWithImageResource:]):
3023         Build document fragment using DOM instead of composing HTML text.
3024
3025         * WebView.subproj/WebHTMLView.m:
3026         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): Added allowPlainText boolean,
3027         moved method into new location in file so it can be in the right category, changed link pasting
3028         to use DOM instead of composing HTML text.
3029         (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:allowPlainText:]): Added allowPlainText
3030         boolean, moved method into new location in file so it can be in the right category.
3031         (-[WebHTMLView concludeDragForDraggingInfo:]): Pass YES for allowPlainText.
3032         (-[WebHTMLView keyDown:]): Set keyDownEvent field for use by workaround below.
3033         (-[WebHTMLView centerSelectionInVisibleArea:]): Moved here from WebView.
3034         (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): Ditto.
3035         (-[WebHTMLView moveBackward:]): Ditto.
3036         (-[WebHTMLView moveBackwardAndModifySelection:]): Ditto.
3037         (-[WebHTMLView moveDown:]): Ditto.
3038         (-[WebHTMLView moveDownAndModifySelection:]): Ditto.
3039         (-[WebHTMLView moveForward:]): Ditto.
3040         (-[WebHTMLView moveForwardAndModifySelection:]): Ditto.
3041         (-[WebHTMLView moveLeft:]): Ditto.
3042         (-[WebHTMLView moveLeftAndModifySelection:]): Ditto.
3043         (-[WebHTMLView moveRight:]): Ditto.
3044         (-[WebHTMLView moveRightAndModifySelection:]): Ditto.
3045         (-[WebHTMLView moveToBeginningOfDocument:]): Ditto.
3046         (-[WebHTMLView moveToBeginningOfLine:]): Ditto.
3047         (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto.
3048         (-[WebHTMLView moveToEndOfDocument:]): Ditto.
3049         (-[WebHTMLView moveToEndOfLine:]): Ditto.
3050         (-[WebHTMLView moveToEndOfParagraph:]): Ditto.
3051         (-[WebHTMLView moveUp:]): Ditto.
3052         (-[WebHTMLView moveUpAndModifySelection:]): Ditto.
3053         (-[WebHTMLView moveWordBackward:]): Ditto.
3054         (-[WebHTMLView moveWordBackwardAndModifySelection:]): Ditto.
3055         (-[WebHTMLView moveWordForward:]): Ditto.
3056         (-[WebHTMLView moveWordForwardAndModifySelection:]): Ditto.
3057         (-[WebHTMLView moveWordLeft:]): Ditto.
3058         (-[WebHTMLView moveWordLeftAndModifySelection:]): Ditto.
3059         (-[WebHTMLView moveWordRight:]): Ditto.
3060         (-[WebHTMLView moveWordRightAndModifySelection:]): Ditto.
3061         (-[WebHTMLView pageDown:]): Ditto.
3062         (-[WebHTMLView pageUp:]): Ditto.
3063         (-[WebHTMLView selectParagraph:]): Ditto.
3064         (-[WebHTMLView selectLine:]): Ditto.
3065         (-[WebHTMLView selectWord:]): Ditto.
3066         (-[WebHTMLView copy:]): Moved down in file so it's in the right category.
3067         (-[WebHTMLView cut:]): Ditto.
3068         (-[WebHTMLView delete:]): Ditto.
3069         (-[WebHTMLView paste:]): Ditto.
3070         (-[WebHTMLView copyFont:]): Moved here from WebView.
3071         (-[WebHTMLView pasteFont:]): Ditto.
3072         (-[WebHTMLView pasteAsPlainText:]): Ditto.
3073         (-[WebHTMLView pasteAsRichText:]): Implemented this by calling the paste code with
3074         allowPlainText:NO; believe it or not, that's what this means in NSTextView.
3075         (-[WebHTMLView changeFont:]): Moved here from WebView.
3076         (-[WebHTMLView changeAttributes:]): Ditto.
3077         (-[WebHTMLView changeDocumentBackgroundColor:]): Ditto.
3078         (-[WebHTMLView changeColor:]): Ditto.
3079         (-[WebHTMLView alignCenter:]): Ditto.
3080         (-[WebHTMLView alignJustified:]): Ditto.
3081         (-[WebHTMLView alignLeft:]): Ditto.
3082         (-[WebHTMLView alignRight:]): Ditto.
3083         (-[WebHTMLView indent:]): Ditto.
3084         (-[WebHTMLView insertTab:]): Moved here from WebView, also call insertText rather than
3085         replaceSelectionWithText so it's undoable like a typed character.
3086         (-[WebHTMLView insertBacktab:]): Moved here from WebView.
3087         (-[WebHTMLView insertNewline:]): Moved here from WebView, also call insertText rather than
3088         replaceSelectionWithText so it's undoable like a typed character.
3089         (-[WebHTMLView insertParagraphSeparator:]): Moved here from WebView.
3090         (-[WebHTMLView changeCaseOfLetter:]): Ditto.
3091         (-[WebHTMLView uppercaseWord:]): Ditto.
3092         (-[WebHTMLView lowercaseWord:]): Ditto.
3093         (-[WebHTMLView capitalizeWord:]): Ditto.
3094         (-[WebHTMLView deleteForward:]): Ditto.
3095         (-[WebHTMLView deleteBackward:]): Ditto.
3096         (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Ditto.
3097         (-[WebHTMLView deleteWordForward:]): Ditto.
3098         (-[WebHTMLView deleteWordBackward:]): Ditto.
3099         (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
3100         (-[WebHTMLView deleteToEndOfLine:]): Ditto.
3101         (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
3102         (-[WebHTMLView deleteToEndOfParagraph:]): Ditto.
3103         (-[WebHTMLView complete:]): Ditto.
3104         (-[WebHTMLView checkSpelling:]): Ditto.
3105         (-[WebHTMLView showGuessPanel:]): Ditto.
3106         (-[WebHTMLView performFindPanelAction:]): Ditto.
3107         (-[WebHTMLView startSpeaking:]): Implemented this.
3108         (-[WebHTMLView stopSpeaking:]): Implemented this.
3109         (-[WebHTMLView insertText:]): Moved here from WebView.
3110
3111         * WebView.subproj/WebHTMLViewPrivate.h: Removed declarations of methods that are neither
3112         SPI nor needed outside WebHTMLView.m.
3113
3114         * WebView.subproj/WebViewInternal.h: Removed _currentFrame, and added _frameForCurrentSelection and
3115         _bridgeForCurrentSelection.
3116
3117 2004-05-25  Maciej Stachowiak  <mjs@apple.com>
3118
3119         Reviewed by Richard.
3120
3121         <rdar://problem/3652498>: new sniffing support is crashing
3122         
3123         * WebView.subproj/WebMainResourceClient.m:
3124         (-[WebMainResourceClient checkContentPolicyForResponse:]): Retain
3125         listener around call, in case delegate does something that ends up
3126         invalidating it, like navigating to a new URL.
3127
3128 2004-05-25  Chris Blumenberg  <cblu@apple.com>
3129
3130         Fixed regression where undoing typing would undo character-by-character.
3131
3132         Reviewed by kocienda.
3133
3134         * WebView.subproj/WebView.m:
3135         (-[WebView insertText:]): call insertText: rather than replaceSelectionWithText:: since text insertion via insertText: is coalesced and this is the behavior we want here
3136
3137 2004-05-25  Ken Kocienda  <kocienda@apple.com>
3138
3139         Reviewed by John
3140
3141         Change postDidChangeSelectionNotification and postDidChangeNotification tp
3142         respondToChangedSelection and respondToChangedContents, respectively, to
3143         account for the fact that we do work in these calls other than post a
3144         notification. The need to clear the typing style on both kinds of changes
3145         inspired the name change.
3146
3147         Add in support to set and access typing style. We don't do anything with it yet
3148         except store and return it. Using the typing style is still to come.
3149
3150         * WebCoreSupport.subproj/WebBridge.m:
3151         (-[WebBridge respondToChangedContents]): Change name of functions as described.
3152         (-[WebBridge respondToChangedSelection]): Change name of functions as described.
3153         * WebView.subproj/WebView.m:
3154         (-[WebView dealloc:]): Dealloc typing style ivar.
3155         (-[WebView setTypingStyle:]): Change to set typing style ivar.
3156         (-[WebView typingStyle]): Return new typing style ivar.
3157         * WebView.subproj/WebViewPrivate.h: Add ivar for typing style.
3158
3159 2004-05-25  Ken Kocienda  <kocienda@apple.com>
3160
3161         Reviewed by John
3162         
3163         Improve _bridgeForCurrentSelection so that it is frame-savvy.
3164         Fixup setSelectedDOMRange:affinity: so that it uses the right bridge.
3165
3166         * WebView.subproj/WebView.m:
3167         (-[WebView _bridgeForCurrentSelection]): Use _currentFrame not mainFrame. 
3168         (-[WebView _currentFrame]): Moved to WebView (WebInternal) category so _bridgeForCurrentSelection can use it.
3169         (-[WebView setSelectedDOMRange:affinity:]): Derive the bridge to use from the range passed in; _bridgeForCurrentSelection
3170         is not the right way to get at the document for the range.
3171         * WebView.subproj/WebViewInternal.h: Add _currentFrame declaration.
3172
3173 2004-05-24  Darin Adler  <darin@apple.com>
3174
3175         Reviewed by Ken.
3176
3177         - fixed <rdar://problem/3666022>: (REGRESSION: crash from infinite regress in -[WebFrameView(WebPrivate) scrollPageDown:])
3178
3179         * WebView.subproj/WebView.m:
3180         (-[WebView _performResponderOperation:sender:]): Helper method that knows how to pass on operations
3181         to the responder chain, allowing us to implement operations that will get passed to views inside
3182         us as necessary. Moved a few methods to this, and soon will move even more.
3183         (-[WebView scrollLineDown:]): Use the above method.
3184         (-[WebView scrollLineUp:]): Ditto.
3185         (-[WebView scrollPageDown:]): Ditto.
3186         (-[WebView scrollPageUp:]): Ditto.
3187         (-[WebView copy:]): Ditto.
3188         (-[WebView cut:]): Ditto.
3189         (-[WebView paste:]): Ditto.
3190         (-[WebView delete:]): Ditto.
3191         (-[WebView insertBacktab:]): Ditto.
3192
3193 2004-05-24  Chris Blumenberg  <cblu@apple.com>
3194
3195         Improved editing via drag
3196  
3197         Reviewed by kocienda.
3198
3199         * WebView.subproj/WebDataSource.m: 
3200         (-[WebDataSource _documentFragmentWithImageResource:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment
3201         (-[WebDataSource _documentFragmentWithArchive:]): ditto
3202         (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): call renamed methods
3203         * WebView.subproj/WebDataSourcePrivate.h:
3204         * WebView.subproj/WebDocumentInternal.h:
3205         * WebView.subproj/WebHTMLView.m:
3206         (-[WebHTMLView _documentFragmentFromPasteboard:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment
3207         (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:]): new
3208         (-[WebHTMLView paste:]): call _replaceSelectionWithPasteboard:selectReplacement:
3209         (-[WebHTMLView dragOperationForDraggingInfo:]): handle the case where the destination is editable, but the source is not
3210         (-[WebHTMLView draggingCancelledWithDraggingInfo:]): new, removes drag caret
3211         (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): remove drag caret when we can't handle the drag
3212         (-[WebHTMLView concludeDragForDraggingInfo:]): instead of calling paste, move the selection when doing a move and replace the drag caret when doing a copy
3213         * WebView.subproj/WebHTMLViewPrivate.h:
3214         * WebView.subproj/WebView.m:
3215         (-[WebViewPrivate dealloc]):
3216         (-[WebView _setDraggingDocumentView:]): new
3217         (-[WebView _dragOperationForDraggingInfo:]): if the current dragging document view changes, tell the previous dragging document view that dragging cancelled 
3218         (-[WebView draggingExited:]): new, tell the previous dragging document view that dragging cancelled
3219         (-[WebView concludeDragOperation:]): release the dragging document view
3220         (-[WebView replaceSelectionWithNode:]): pass the selectReplacement BOOL to the bridge
3221         (-[WebView replaceSelectionWithText:]): ditto
3222         (-[WebView replaceSelectionWithMarkupString:]): ditto
3223         (-[WebView replaceSelectionWithArchive:]): ditto
3224         (-[WebView pasteAsPlainText:]): ditto
3225         (-[WebView insertTab:]): ditto
3226         (-[WebView insertText:]): ditto
3227         * WebView.subproj/WebViewPrivate.h: 
3228
3229 2004-05-24  John Sullivan  <sullivan@apple.com>
3230
3231         Reviewed by Dave.
3232         
3233         - added private RSSFeedReferrer field to WebHistoryItem so RSS feeds in the
3234         back/forward list can remember what page (if any) they were initiated from.
3235
3236         * History.subproj/WebHistoryItem.m:
3237         new RSSFeedReferrer ivar in private structure
3238         (-[WebHistoryItemPrivate dealloc]):
3239         release RSSFeedReferrer
3240         (-[WebHistoryItem copyWithZone:]):
3241         copy RSSFeedReferrer
3242         (-[WebHistoryItem RSSFeedReferrer]):
3243         return RSSFeedReferrer
3244         (-[WebHistoryItem setRSSFeedReferrer:]):
3245         set RSSFeedReferrer
3246
3247         * History.subproj/WebHistoryItemPrivate.h:
3248         declare -RSSFeedReferrer and -setRSSFeedReferrer:
3249
3250 2004-05-22  Darin Adler  <darin@apple.com>
3251
3252         Reviewed by Ken.
3253
3254         - implemented some of the trivial WebView editing operations; some had bug reports, to wit:
3255         - fixed <rdar://problem/3655342>: (Editing: -centerSelectionInVisibleArea: method unimplemented (WebKit editing API))
3256         - fixed <rdar://problem/3655398>: (Editing: -deleteWordBackward: method unimplemented (WebKit editing API))
3257         - fixed <rdar://problem/3655397>: (Editing: -deleteWordForward: method unimplemented (WebKit editing API))
3258         - fixed <rdar://problem/3655387>: (Editing: -insertBacktab: method unimplemented (WebKit editing API))
3259         - fixed <rdar://problem/3655386>: (Editing: -insertTab: method unimplemented (WebKit editing API))
3260         - fixed <rdar://problem/3655351>: (Editing: -moveWordBackward: method unimplemented (WebKit editing API))
3261         - fixed <rdar://problem/3655352>: (Editing: -moveWordBackwardAndModifySelection: method unimplemented (WebKit editing API))
3262         - fixed <rdar://problem/3655353>: (Editing: -moveWordForward: method unimplemented (WebKit editing API))
3263         - fixed <rdar://problem/3655354>: (Editing: -moveWordForwardAndModifySelection: method unimplemented (WebKit editing API))
3264         - fixed <rdar://problem/3655374>: (Editing: -pasteAsPlainText: method unimplemented (WebKit editing API))
3265         - fixed <rdar://problem/3655362>: (Editing: -scrollLineDown: method unimplemented (WebKit editing API))
3266         - fixed <rdar://problem/3655363>: (Editing: -scrollLineUp: method unimplemented (WebKit editing API))
3267
3268         * WebView.subproj/WebView.m:
3269         (-[WebView centerSelectionInVisibleArea:]): Implemented. The implementation isn't perfect, but it's hooked
3270         up. It simply calls ensureCaretVisible for now.
3271         (-[WebView moveBackward:]): Implemented. The WebCore API already has a way to specify backward as opposed
3272         to left. A separate issue is the fact that these operations don't have bi-di-savvy implementations, but
3273         now this method is hooked up and will work at least for left-to-right text.
3274         (-[WebView moveBackwardAndModifySelection:]): Ditto.
3275         (-[WebView moveForward:]): Ditto.
3276         (-[WebView moveForwardAndModifySelection:]): Ditto.
3277         (-[WebView moveWordBackward:]): Ditto.
3278         (-[WebView moveWordBackwardAndModifySelection:]): Ditto.
3279         (-[WebView moveWordForward:]): Ditto.
3280         (-[WebView moveWordForwardAndModifySelection:]): Ditto.
3281         (-[WebView scrollLineDown:]): Forward to WebFrameView.
3282         (-[WebView scrollLineUp:]): Ditto.
3283         (-[WebView scrollPageDown:]): Ditto.
3284         (-[WebView scrollPageUp:]): Ditto.
3285         (-[WebView delete:]): Implemented. Follows pattern used in cut, copy, and paste.
3286         (-[WebView pasteAsPlainText:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge.
3287         (-[WebView insertTab:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge.
3288         (-[WebView insertBacktab:]): Implemented. Does nothing. If we ever change so that you can use a WebView as
3289         a field editor, then we might have to add code here.
3290         (-[WebView deleteWordForward:]): Implement by calling moveForwardAndModifySelection: and then delete:.
3291         Might not be a perfect implementation in the presence of delegates who refuse to delete because it will
3292         change the selection even if the delete is disallowed.
3293         (-[WebView deleteWordBackward:]): Implement by calling moveBackwardAndModifySelection: and then delete:.
3294         Same issue about about delegates as deleteWordForward:.
3295
3296         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Added a FIXME.
3297
3298         * DOM.subproj/DOMViews.h: Updated from recent change to WebCore.
3299
3300 2004-05-21  Richard Williamson   <rjw@apple.com>
3301
3302         Removed _bindObject:forFrame: SPI.
3303
3304         Reviewed by Chris.
3305
3306         * WebView.subproj/WebView.m:
3307         * WebView.subproj/WebViewPrivate.h:
3308
3309 === Safari-141 ===
3310
3311 2004-05-21  Darin Adler  <darin@apple.com>
3312
3313         Reviewed by Ken and Chris.
3314
3315         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Call replaceSelectionWithText:
3316         instead of replaceSelectionWithMarkupString: when pasting plain text.
3317
3318         * WebView.subproj/WebDataSource.m: (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]):
3319         Remove bogus check for empty markup. There's nothing wrong with an empty string, and no reason
3320         that replacing with empty string should be a no-op instead of a delete.
3321
3322 2004-05-20  Darin Adler  <darin@apple.com>
3323
3324         Reviewed by Chris.
3325
3326         - fixed <rdar://problem/3662383>: (REGRESSION: drag slide-back sometimes causes link to load)
3327
3328         * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge handleMouseDragged:]):
3329         Added BOOL result to handleMouseDragged:.
3330         * WebView.subproj/WebHTMLViewPrivate.h: Added BOOL result to _handleMouseDragged:.
3331
3332         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): Added BOOL result,
3333         returning YES when the drag started, and no when the hysteresis has not yet been overcome.
3334
3335 2004-05-20  Ken Kocienda  <kocienda@apple.com>
3336
3337         Reviewed by Hyatt
3338
3339         Provide the methods to glue the WebView's editing delegate so that these methods work:
3340         
3341         <rdar://problem/3655316>: "Editing: -webViewShouldBeginEditing:inDOMRange: method unimplemented (WebKit editing API)"
3342         <rdar://problem/3655317>: "Editing: -webViewShouldEndEditing:inDOMRange: method unimplemented (WebKit editing API)"
3343
3344         * WebCoreSupport.subproj/WebBridge.m:
3345         (-[WebBridge shouldBeginEditing:]): New method used to glue delegate to focus shifts.
3346         (-[WebBridge shouldEndEditing:]): Ditto.
3347         * WebView.subproj/WebView.m:
3348         (-[WebView _shouldBeginEditingInDOMRange:]): Ditto.
3349         (-[WebView _shouldEndEditingInDOMRange:]): Ditto.
3350         * WebView.subproj/WebViewPrivate.h: Ditto.
3351
3352 2004-05-20  Richard Williamson   <rjw@apple.com>
3353
3354         Fixed typo in header comment.
3355
3356         Reviewed by Ken.
3357
3358         * Plugins.subproj/WebScriptObject.h:
3359
3360 2004-05-19  Chris Blumenberg  <cblu@apple.com>
3361
3362         Fixed: <rdar://problem/3462627>: (API: Need a way to disable/customize dragging)
3363
3364         Reviewed by john.
3365
3366         * Misc.subproj/WebNSPasteboardExtras.m:
3367         (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): fixed bug that caused exception
3368         * WebView.subproj/WebDefaultUIDelegate.m:
3369         (-[WebDefaultUIDelegate webView:shouldBeginDragForElement:dragImage:mouseDownEvent:mouseDraggedEvent:]): new, returns YES
3370         (-[WebDefaultUIDelegate webView:dragOperationForDraggingInfo:overElement:]): new, returns [WebView dragOperationForDraggingInfo:]
3371         (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:overElement:]): new, returns YES
3372         * WebView.subproj/WebDocumentInternal.h: added WebDocumentDragging and WebDocumentElement for document dragging
3373         * WebView.subproj/WebDocumentPrivate.h: moved WebDocumentSelection to WebDocumentInternal.h
3374         * WebView.subproj/WebFrame.m:
3375         (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): 
3376         * WebView.subproj/WebHTMLView.h:
3377         * WebView.subproj/WebHTMLView.m:
3378         (+[WebHTMLView _insertablePasteboardTypes]): new 
3379         (-[WebHTMLView _handleMouseDragged:]): call shouldBeginDragForElement:::: delegate API
3380         (-[WebHTMLView _mayStartDragWithMouseDragged:]): call renamed elementAtPoint SPI
3381         (-[WebHTMLView initWithFrame:]): don't register for drag types since this is handled at the WebView
3382         (-[WebHTMLView menuForEvent:]): call renamed elementAtPoint SPI
3383         (-[WebHTMLView _isSelectionEvent:]): call renamed elementAtPoint SPI
3384         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): rather than unregistering drag types on the WebView, just tell it that we're dragging
3385         (-[WebHTMLView draggedImage:endedAt:operation:]): ditto
3386         (-[WebHTMLView _canProcessDragWithDraggingInfo:]): new
3387         (-[WebHTMLView dragOperationForDraggingInfo:]): new WebDocumentDragging SPI
3388         (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): ditto
3389         (-[WebHTMLView concludeDragForDraggingInfo:]): ditto
3390         (-[WebHTMLView elementAtPoint:]): renamed from _elementAtPoint since this is part of the WebDocumentElement SPI
3391         * WebView.subproj/WebHTMLViewPrivate.h:
3392         * WebView.subproj/WebImageView.h:
3393         * WebView.subproj/WebImageView.m:
3394         (-[WebImageView elementAtPoint:]): new
3395         (-[WebImageView menuForEvent:]): call elementAtPoint
3396         (-[WebImageView mouseDragged:]): rather than unregistering drag types on the WebView, just tell it that we're dragging
3397         (-[WebImageView draggedImage:endedAt:operation:]): ditto
3398         * WebView.subproj/WebTextView.h:
3399         * WebView.subproj/WebTextView.m:
3400         (-[WebTextView _elementAtWindowPoint:]): new
3401         (-[WebTextView elementAtPoint:]): new
3402         (-[WebTextView menuForEvent:]): call _elementAtWindowPoint
3403         * WebView.subproj/WebView.h:
3404         * WebView.subproj/WebView.m:
3405         (-[WebViewPrivate dealloc]): removed draggedTypes ivar
3406         (+[WebView URLFromPasteboard:]): implemented
3407         (+[WebView URLTitleFromPasteboard:]): implemented
3408         (-[WebView _registerDraggedTypes]): moved
3409         (-[WebView _frameViewAtWindowPoint:]): new
3410         (-[WebView _draggingDocumentViewAtWindowPoint:]): new
3411         (-[WebView _elementAtWindowPoint:]): new
3412         (-[WebView dragOperationForDraggingInfo:]): updated this API to handle subviews that may want to handle drags
3413         (-[WebView _dragOperationForDraggingInfo:]): new, handles UI delegate for drag control
3414         (-[WebView draggingEntered:]): call _dragOperationForDraggingInfo:
3415         (-[WebView draggingUpdated:]): ditto
3416         (-[WebView concludeDragOperation:]): work with the UI delegate and the subview to handle what happens
3417         * WebView.subproj/WebViewPrivate.h:
3418
3419 2004-05-19  Richard Williamson   <rjw@apple.com>
3420
3421         Removed extraneous tabs that were added (by XCode?).
3422         
3423         * DOM.subproj/DOM-compat.h:
3424         * Plugins.subproj/WebScriptObject.h:
3425
3426 2004-05-19  Richard Williamson   <rjw@apple.com>
3427
3428         Updated header copy script to only copy if modified headers
3429         are different.
3430
3431         * copy-webcore-files-to-webkit:
3432
3433 2004-05-19  Ken Kocienda  <kocienda@apple.com>
3434
3435         Reviewed by Hyatt and Darin
3436
3437         Fix for this bug:
3438         
3439         <rdar://problem/3643230>: "can't tab out of contentEditable Elements"
3440
3441         * WebCoreSupport.subproj/WebBridge.m:
3442         (-[WebBridge interceptEditingKeyEvent:]): Renamed from _editingKeyDown. Also now returns
3443         a BOOL to report whether the event was handled or not.
3444         * WebView.subproj/WebView.m:
3445         (-[WebView _interceptEditingKeyEvent:]): Also renamed from _editingKeyDown. Now includes
3446         a check if the web view is editable and whether the event is a tab key event. If the former
3447         is not true and the latter is, the key is not intercepted. This causes the tab to shift once
3448         the key is processed by other non-editing key-handling mechanisms.
3449         * WebView.subproj/WebViewPrivate.h: Changed declaration due to name change.
3450
3451 2004-05-19  Ken Kocienda  <kocienda@apple.com>
3452
3453         Reviewed by Hyatt
3454
3455         * WebCoreSupport.subproj/WebBridge.m:
3456         (-[WebBridge isEditable]): Return the isEditable value for the
3457         WebView which contains this bridge's frame.
3458
3459 2004-05-19  Darin Adler  <darin@apple.com>
3460
3461         - fixed headers with licenses mangled by Xcode auto-indenting
3462
3463         * DOM.subproj/DOMExtensions.h:
3464         * WebCoreSupport.subproj/WebGraphicsBridge.h:
3465         * WebCoreSupport.subproj/WebGraphicsBridge.m:
3466
3467 2004-05-18  David Hyatt  <hyatt@apple.com>
3468
3469         Improve layout scheduling.
3470         Reviewed by kocienda
3471
3472         * WebView.subproj/WebFrame.m:
3473         (-[WebFrame _transitionToLayoutAcceptable]):
3474         (-[WebFrame _checkLoadCompleteForThisFrame]):
3475         * WebView.subproj/WebHTMLRepresentation.m:
3476         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
3477
3478 2004-05-18  Richard Williamson   <rjw@apple.com>
3479
3480         Finished implementation of windowScriptObject.
3481                 Reviewed by Maciej.
3482
3483         * WebView.subproj/WebView.m:
3484         (-[WebView windowScriptObject]):
3485
3486 2004-05-18  Richard Williamson   <rjw@apple.com>
3487
3488         Added WebKit portion of webView:windowScriptObjectAvailable:
3489         implementation.  Still need to implement creating the WebScriptObject
3490         wrapper on the WebCore side.
3491         
3492         Reviewed by Maciej.
3493
3494         Removed "_" from _setPageWidthForPrinting:.  This method facilitates
3495         a work-around for carbon printing.  At some point we may make this
3496         method public API.
3497                 Reviewed by Chris.
3498
3499         * WebCoreSupport.subproj/WebBridge.m:
3500         (-[WebBridge overrideMediaType]):
3501         (-[WebBridge windowObjectCleared]):
3502         * WebView.subproj/WebDefaultFrameLoadDelegate.m:
3503         (-[WebDefaultFrameLoadDelegate webView:windowScriptObjectAvailable:]):
3504         * WebView.subproj/WebHTMLView.m:
3505         (-[WebHTMLView setPageWidthForPrinting:]):
3506
3507 2004-05-18  Darin Adler  <darin@apple.com>
3508
3509         Reviewed by John.
3510
3511         - fixed <rdar://problem/3520322>: "can't use <WebKit/HIWebView.h> or <WebKit/CarbonUtils.h> from non-Objective C"
3512
3513         * Carbon.subproj/CarbonUtils.h: Added ifdefs so file compiles when included from non-Objective-C.
3514         Changed style to match other Carbon headers a bit more closely. Also remove unnecessary includes.
3515         * Carbon.subproj/HIWebView.h: Ditto.
3516
3517         - fixed <rdar://problem/3648505>: "this text file scrolls to the second line instead of first when pressing home"
3518
3519         * WebView.subproj/WebFrameView.m:
3520         (-[WebFrameView _scrollToTopLeft]): Scroll to origin.y instead of assuming that top is 0; can be non-0 for text view.
3521         (-[WebFrameView _scrollToBottomLeft]): Use NSMaxY instead of height for the same reason.
3522
3523 2004-05-17  David Hyatt  <hyatt@apple.com>
3524
3525         Fix for performance regression in PLT caused by not setting _timeOfLastCompletedLoad, causing
3526         page cache to release during the benchmark.
3527         * WebView.subproj/WebFrame.m:
3528         (-[WebFrame _setState:]):
3529
3530 2004-05-17  Chris Blumenberg  <cblu@apple.com>
3531
3532         Implemented new WebView pasteboard methods. Made a lot of factoring changes related to pasteboard management.
3533
3534         Reviewed by john.
3535
3536         * Misc.subproj/WebNSPasteboardExtras.h:
3537         * Misc.subproj/WebNSPasteboardExtras.m:
3538         (+[NSPasteboard _web_writableTypesForURL]): renamed to not include "drag" these types are also used for copying
3539         (+[NSPasteboard _web_writableTypesForImage]): new
3540         (-[NSPasteboard _web_bestURL]): tweak
3541         (-[NSPasteboard _web_writeURL:andTitle:types:]): take an array of types that this method should write, don't declare the types since this complicates things for the caller
3542         (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): ditto
3543         * Misc.subproj/WebNSViewExtras.m:
3544         (-[NSView _web_dragImage:archive:rect:URL:title:event:]): call renamed methods
3545         * WebView.subproj/WebDefaultContextMenuDelegate.m:
3546         (-[WebDefaultUIDelegate copyLinkToClipboard:]): call code factored out to WebView
3547         (-[WebDefaultUIDelegate copyImageToClipboard:]): ditto
3548         * WebView.subproj/WebDocumentPrivate.h:
3549         * WebView.subproj/WebHTMLView.h:
3550         * WebView.subproj/WebHTMLView.m:
3551         (-[WebHTMLView _selectedRTFData]): new factored out method
3552         (-[WebHTMLView _writeSelectionToPasteboard:]): factored code out to writeSelectionWithPasteboardTypes:toPasteboard:
3553         (-[WebHTMLView _dragImageForLinkElement:]): tweak
3554         (-[WebHTMLView _handleMouseDragged:]): call renamed methods
3555         (-[WebHTMLView pasteboardTypesForSelection]): new
3556         (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new, code moved from _writeSelectionToPasteboard:
3557         * WebView.subproj/WebHTMLViewPrivate.h:
3558         * WebView.subproj/WebImageView.h:
3559         * WebView.subproj/WebImageView.m:
3560         (-[WebImageView writeImageToPasteboard:types:]): call renamed methods
3561         (-[WebImageView copy:]):
3562         (-[WebImageView writeSelectionToPasteboard:types:]): call renamed methods
3563         * WebView.subproj/WebTextView.h:
3564         * WebView.subproj/WebTextView.m:
3565         (-[WebTextView pasteboardTypesForSelection]): new
3566         (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new
3567         * WebView.subproj/WebView.m:
3568         (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]): new
3569         (-[WebView _writeLinkElement:withPasteboardTypes:toPasteboard:]): mew
3570         (-[WebView dragOperationForDraggingInfo:]): implemented API
3571         (-[WebView draggingEntered:]): call API
3572         (-[WebView draggingUpdated:]): ditto
3573         (-[WebView concludeDragOperation:]): ditto
3574         (-[WebView pasteboardTypesForSelection]): implemented API
3575         (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): ditto
3576         (-[WebView pasteboardTypesForElement:]): ditto
3577         (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): ditto
3578         * WebView.subproj/WebViewPrivate.h:
3579
3580 2004-05-17  Ken Kocienda  <kocienda@apple.com>
3581
3582         Reviewed by John
3583
3584         Remove overrides in WebView for scrollPageDown and scrollPageUp.
3585         NSView behavior gives us just what we want, and there is no
3586         special behavior required for editing.
3587
3588         <rdar://problem/3655364>: "Editing: -scrollPageDown: method unimplemented (WebKit editing API)"
3589         <rdar://problem/3655365>: "Editing: -scrollPageUp: method unimplemented (WebKit editing API)"
3590
3591         * WebView.subproj/WebView.h: Comment methods out and add a note about why.
3592         * WebView.subproj/WebView.m: Remove stubbed out implementation.
3593
3594 2004-05-14  Vicki Murley  <vicki@apple.com>
3595
3596         Reviewed by mjs.
3597  
3598         <rdar://problem/3642427>: framework marketing number should be 2.0 for DoubleBarrel release
3599
3600         * WebKit.pbproj/project.pbxproj: change CFBundleShortVersionString to 2.0
3601
3602 2004-05-14  David Hyatt  <hyatt@apple.com>
3603
3604         Eliminate timedLayout.
3605         Reviewed by darin
3606
3607         * WebView.subproj/WebFrame.m:
3608         (-[WebFramePrivate dealloc]):
3609         (-[WebFrame _detachFromParent]):
3610         (-[WebFrame _transitionToLayoutAcceptable]):
3611         (-[WebFrame _setState:]):
3612         (-[WebFrame _checkLoadCompleteForThisFrame]):
3613         (-[WebFrame stopLoading]):
3614         * WebView.subproj/WebFramePrivate.h:
3615
3616 === Safari-140 ===
3617
3618 2004-05-14  Chris Blumenberg  <cblu@apple.com>
3619
3620         Fixed: <rdar://problem/3655495>: (exception loading applets)
3621
3622         Reviewed by kocienda.
3623
3624         * WebCoreSupport.subproj/WebBridge.m:
3625         (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): when calling old cocoa plug-ins, use old keys
3626
3627 2004-05-14  Chris Blumenberg  <cblu@apple.com>
3628
3629         Fixed: <rdar://problem/3655204>: (repro assertion failure and crash loading java applets)
3630
3631         Reviewed by kocienda.
3632
3633         * WebCoreSupport.subproj/WebBridge.m:
3634         (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): call pluginViewWithArguments: for old Cocoa plug-ins
3635
3636 2004-05-14  Chris Blumenberg  <cblu@apple.com>
3637
3638         Copied headers from WebCore.
3639
3640         * DOM.subproj/DOMCore.h:
3641         * DOM.subproj/DOMEvents.h:
3642
3643 2004-05-14  Ken Kocienda  <kocienda@apple.com>
3644
3645         Reviewed by me
3646
3647         * Plugins.subproj/WebPluginController.m:
3648         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Fixed a compile error: undeclared identifier. 
3649         Looked like a typo.
3650
3651 2004-05-13  Richard Williamson   <rjw@apple.com>
3652
3653         Backed out mistaken change that I didn't mean to checkin.
3654
3655         * WebCoreSupport.subproj/WebBridge.m:
3656         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
3657
3658 2004-05-13  Richard Williamson   <rjw@apple.com>
3659
3660         Updated to reflect new API.
3661
3662         Reviewed by Chris.
3663
3664         * WebCoreSupport.subproj/WebBridge.m:
3665         (-[WebBridge setIsSelected:forView:]):
3666         * WebView.subproj/WebFrame.m:
3667         (-[WebFrame _reloadForPluginChanges]):
3668
3669 2004-05-13  Chris Blumenberg  <cblu@apple.com>
3670
3671         Fixed some indenting issues in public headers.
3672
3673         * Plugins.subproj/WebJavaPlugIn.h:
3674         * Plugins.subproj/WebPlugin.h:
3675         * Plugins.subproj/WebScriptObject.h:
3676         * WebView.subproj/WebEditingDelegate.h:
3677         * WebView.subproj/WebFrameView.h:
3678         * WebView.subproj/WebPolicyDelegate.h:
3679         * WebView.subproj/WebResourceLoadDelegate.h:
3680         * WebView.subproj/WebView.h:
3681
3682 2004-05-13  Ken Kocienda  <kocienda@apple.com>
3683
3684         Reviewed by Chris
3685
3686         Moved -DOMDocument convenience back to private header.
3687         I mistakenly moved it to the public header earlier today.
3688
3689         * WebView.subproj/WebView.h: Removed
3690         * WebView.subproj/WebViewPrivate.h: Re-added
3691
3692 2004-05-13  Richard Williamson   <rjw@apple.com>
3693
3694         Updated to implementation to reflect new API.  Left old SPI
3695         in place for compatibility.  Can remove when the Java plug-in
3696         updates.
3697
3698         Reviewed by Chris.
3699
3700         * Plugins.subproj/WebPlugin.h:
3701         * Plugins.subproj/WebPluginContainer.h:
3702         * Plugins.subproj/WebPluginController.h:
3703         * Plugins.subproj/WebPluginController.m:
3704         (-[WebPluginController startAllPlugins]):
3705         (-[WebPluginController stopAllPlugins]):
3706         (-[WebPluginController addPlugin:]):
3707         (-[WebPluginController destroyAllPlugins]):
3708         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
3709         (-[WebPluginController showURL:inFrame:]):
3710         (-[WebPluginController webPlugInContainerShowStatus:]):
3711         (-[WebPluginController showStatus:]):
3712         (-[WebPluginController webPlugInContainerSelectionColor]):
3713         (-[WebPluginController selectionColor]):
3714         (-[WebPluginController webFrame]):
3715
3716 2004-05-13  Chris Blumenberg  <cblu@apple.com>
3717
3718         - Added stubs for WebView action and drag & drop customization API's
3719         - Fixed: <rdar://problem/3616555>: (API: Make DOM extensions and WebKit DOM operations public)
3720
3721         Reviewed by rjw.
3722
3723         * DOM.subproj/WebDOMOperations.h: added remaining DOM operations
3724         * DOM.subproj/WebDOMOperationsPrivate.h:
3725         * Misc.subproj/WebKit.h: added new public headers
3726         * WebKit.pbproj/project.pbxproj:
3727         * WebKit.exp: added symbol for WebElementDOMNodeKey
3728         * WebView.subproj/WebUIDelegate.h: added new UI delegate methods
3729         * WebView.subproj/WebView.h: added new pasteboard related methods
3730         * WebView.subproj/WebView.m:
3731         (+[WebView URLFromPasteboard:]): new stub
3732         (+[WebView URLTitleFromPasteboard:]): new stub
3733         (-[WebView dragOperationForDraggingInfo:]): new stub
3734         (-[WebView pasteboardTypesForSelection]): new stub
3735         (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): new stub
3736         (-[WebView pasteboardTypesForElement:]): new stub
3737         (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): new stub
3738         * WebView.subproj/WebViewPrivate.h:
3739
3740 2004-05-13  Richard Williamson   <rjw@apple.com>
3741
3742         Changed imports of all DOM headers.  DOM headers
3743         should be imported using the normal #import <WebCore/foo.h>,
3744         they import is modified when copied to WebKit.
3745
3746         Other approved API changes.  Currently unimplemented.
3747
3748         Reviewed by Chris.
3749
3750         * ChangeLog:
3751         * DOM.subproj/DOM.h:
3752         * DOM.subproj/DOMCSS.h:
3753         * DOM.subproj/DOMCore.h:
3754         * DOM.subproj/DOMEvents.h:
3755         * DOM.subproj/DOMExtensions.h:
3756         * DOM.subproj/DOMHTML.h:
3757         * DOM.subproj/DOMRange.h:
3758         * DOM.subproj/DOMStylesheets.h:
3759         * DOM.subproj/DOMTraversal.h:
3760         * DOM.subproj/DOMViews.h:
3761         * Plugins.subproj/WebPlugin.h:
3762         * Plugins.subproj/WebPluginContainer.h:
3763         * Plugins.subproj/WebPluginPackage.m:
3764         * Plugins.subproj/WebPluginViewFactory.h:
3765         * Plugins.subproj/WebScriptObject.h:
3766         * WebCoreSupport.subproj/WebBridge.m:
3767         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
3768         (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
3769         * WebKit.exp:
3770         * WebKit.pbproj/project.pbxproj:
3771         * WebView.subproj/WebFrameLoadDelegate.h:
3772         * WebView.subproj/WebView.h:
3773         * WebView.subproj/WebView.m:
3774         (-[WebView windowScriptObject]):
3775         * copy-webcore-files-to-webkit:
3776
3777 2004-05-13  Ken Kocienda  <kocienda@apple.com>
3778
3779         Reviewed by Kevin
3780
3781         Move WebKit editing APIs to public API files.
3782
3783         * WebCoreSupport.subproj/WebBridge.m: Add WebEditingDelegate include.
3784         * WebKit.pbproj/project.pbxproj: Go Xcode!
3785         * WebView.subproj/WebDefaultEditingDelegate.m: Remove WebViewPrivate include; add WebEditingDelegate include.
3786         * WebView.subproj/WebEditingDelegate.h: Added. New file.
3787         * WebView.subproj/WebView.h: Move API-approved interfaces to this file.
3788         * WebView.subproj/WebView.m: Add WebEditingDelegate include.
3789         * WebView.subproj/WebViewPrivate.h: Move API-approved interfaces from this file.
3790
3791 2004-05-12  Chris Blumenberg  <cblu@apple.com>
3792
3793         Fixed: 
3794         <rdar://problem/3633296>: (Japanese input is not working properly in Carbon Web Kit applications (including CarbonWeb))
3795         <rdar://problem/3631390>: (can't toggle between Input Methods (IMEs) using cmd-space in Carbon Web Kit applications)
3796
3797         Reviewed by rjw.
3798
3799         * Carbon.subproj/CarbonWindowAdapter.m:
3800         (-[CarbonWindowAdapter sendSuperEvent:]): call [NSInputContext processInputKeyBindings:inEvent] just as NSApp does
3801         * Carbon.subproj/HIWebView.m:
3802         (HIWebViewEventHandler): [NSApp setWindowsNeedUpdate:YES] must be called before events so that ActivateTSMDocument is called to set an active document. Without an active document, TSM will use a default document which uses a bottom-line input window which we don't want.
3803
3804 2004-05-11  Chris Blumenberg  <cblu@apple.com>
3805
3806         Fixed:
3807         <rdar://problem/3616537>: (API: Make WebResource, WebArchive and related API's public)
3808         <rdar://problem/3616471>: (API: provide way to get from WebFrame to DOMDocument and vice versa)
3809
3810         Reviewed by rjw.
3811
3812         * DOM.subproj/WebDOMOperations.h:
3813         * DOM.subproj/WebDOMOperations.m:
3814         (-[DOMHTMLFrameElement contentFrame]): new
3815         (-[DOMHTMLIFrameElement contentFrame]): new
3816         (-[DOMHTMLObjectElement contentFrame]): new
3817         * DOM.subproj/WebDOMOperationsPrivate.h:
3818         * Misc.subproj/WebNSImageExtras.m:
3819         (-[NSImage _web_saveAndOpen]): fixed leak
3820         * WebKit.pbproj/project.pbxproj:
3821         * WebView.subproj/WebDataSource.h:
3822         * WebView.subproj/WebDataSource.m:
3823         (-[WebDataSource _addSubresources:]): made private
3824         (-[WebDataSource _archiveWithMarkupString:nodes:]): handle object tags with frame content
3825         (-[WebDataSource _archiveWithCurrentState:]): renamed from _archive, now takes flag
3826         (-[WebDataSource _replaceSelectionWithArchive:]): call renamed _addSubresources
3827         (-[WebDataSource webArchive]): new
3828         (-[WebDataSource mainResource]): new
3829         (-[WebDataSource subresources]): made public
3830         (-[WebDataSource subresourceForURL:]): made public
3831         (-[WebDataSource addSubresource:]): made public
3832         * WebView.subproj/WebDataSourcePrivate.h:
3833         * WebView.subproj/WebDocumentPrivate.h:
3834         * WebView.subproj/WebFrame.h:
3835         * WebView.subproj/WebFrame.m:
3836         (-[WebFrame _loadRequest:subresources:subframeArchives:]): call renamed _addSubresources
3837         (-[WebFrame DOMDocument]): new
3838         (-[WebFrame frameElement]): new
3839         (-[WebFrame loadArchive:]): made public
3840         * WebView.subproj/WebFramePrivate.h:
3841         * WebView.subproj/WebHTMLRepresentation.m:
3842         (-[WebHTMLRepresentation loadArchive]): call renamed _addSubresources
3843         * WebView.subproj/WebImageRepresentation.m:
3844         (-[WebImageRepresentation archive]): call webArchive on WebDataSource
3845
3846 2004-05-10  Maciej Stachowiak  <mjs@apple.com>
3847
3848         Reviewed by Darin.
3849
3850         - avoid redecoding animated images that are only used once for
3851         ~2.5% iBench speedup (WebCore part of fix)
3852
3853         * WebCoreSupport.subproj/WebImageRenderer.h:
3854         * WebCoreSupport.subproj/WebImageRenderer.m:
3855         (-[WebImageRenderer increaseUseCount]):
3856         (-[WebImageRenderer decreaseUseCount]):
3857         (-[WebImageRenderer retainOrCopyIfNeeded]):
3858
3859 2004-05-10  Maciej Stachowiak  <mjs@apple.com>
3860
3861         Fix build.
3862
3863         * WebView.subproj/WebFrame.m:
3864
3865 2004-05-09  Maciej Stachowiak  <mjs@apple.com>
3866
3867         Reviewed by Ken.
3868
3869         - avoid messing with undo manager needlessly for ~1% HTML iBench speedup
3870
3871         * WebCoreSupport.subproj/WebBridge.h:
3872         * WebCoreSupport.subproj/WebBridge.m:
3873         (-[WebBridge registerCommandForUndo:]): mark undo/redo item flag
3874         (-[WebBridge registerCommandForRedo:]): ditto
3875         (-[WebBridge clearUndoRedoOperations]): check flag before removing items,
3876         and clear it after removing them
3877
3878 2004-05-08  Maciej Stachowiak  <mjs@apple.com>
3879
3880         Reviewed by Darin.
3881
3882         - -[WebFrame childFrames] is so hot that a special internal
3883         version which avoids the copy and autorelease results in a .75%
3884         performance improvement on HTML iBench.
3885
3886         * WebView.subproj/WebFramePrivate.h: Prototype new method.
3887         * WebView.subproj/WebFrame.m:
3888         (-[WebFrame _internalChildFrames]): New method, just returns
3889         internal value instead of copying.
3890
3891         (-[WebFrame _descendantFrameNamed:]): Use it
3892         (-[WebFrame _textSizeMultiplierChanged]): likewise
3893         (-[WebFrame _viewWillMoveToHostWindow:]): likewise
3894         (-[WebFrame _viewDidMoveToHostWindow]): likewise
3895         (-[WebFrame _saveDocumentAndScrollState]): likewise
3896         (-[WebFrame _numPendingOrLoadingRequests:]): likewise
3897         (-[WebFrame _checkLoadComplete]): Refactored this and it's two
3898         helpers a little so we could get away with using
3899         _internalChildFrames.
3900         (-[WebFrame _checkLoadCompleteForThisFrame]): Renamed from
3901         _isLoadComplete
3902         (-[WebFrame _recursiveCheckLoadComplete]): renamed from (class
3903         method) _recursiveCheckCompleteFromFrame:
3904         * WebView.subproj/WebDataSource.m:
3905         (-[WebDataSource _defersCallbacksChanged]): Use it
3906         (-[WebDataSource isLoading]): likewise
3907         * WebView.subproj/WebView.m:
3908         (-[WebView _frameForDataSource:fromFrame:]): likewise
3909         (-[WebView _frameForView:fromFrame:]): likewise
3910
3911 2004-05-10  Chris Blumenberg  <cblu@apple.com>
3912
3913         Forgot to commit this copied header.
3914
3915         * DOM.subproj/DOMExtensions.h:
3916
3917 === Safari-139 ===
3918
3919 2004-05-06  Chris Blumenberg  <cblu@apple.com>
3920
3921         * DOM.subproj/WebDOMOperations.h: improved a header doc comment
3922
3923 2004-05-05  Chris Blumenberg  <cblu@apple.com>
3924
3925         - DOM Extensions API tweaks
3926
3927         Reviewed by kocienda.
3928
3929         * DOM.subproj/DOMExtensions.h: copied from WebCore
3930         * DOM.subproj/WebDOMOperations.h: added header doc comments
3931         * DOM.subproj/WebDOMOperations.m:
3932         (-[DOMNode _URLsFromSelectors:]): use renamed URLWithAttributeString
3933         (-[DOMDocument URLWithAttributeString:]): renamed
3934         (-[DOMHTMLTableElement _web_background]): new private method
3935         (-[DOMHTMLTableElement _subresourceURLs]): use new private method
3936         (-[DOMHTMLTableCellElement _web_background]): new private method
3937         (-[DOMHTMLTableCellElement _subresourceURLs]): use new private method
3938
3939 2004-05-04  Ken Kocienda  <kocienda@apple.com>
3940
3941         Reviewed by Hyatt
3942
3943         * DOM.subproj/DOMTraversal.h: File coppied from WebCore
3944
3945 2004-05-02  Darin Adler  <darin@apple.com>
3946
3947         Reviewed by Ken.
3948
3949         - fixed <rdar://problem/3640419>: "_webkit_stringByReplacingValidPercentEscapes does not handle %00 properly"
3950
3951         * Misc.subproj/WebNSURLExtras.m: (-[NSString _webkit_stringByReplacingValidPercentEscapes]):
3952         Use the function in NSURL instead of implementing our own here.
3953
3954 2004-04-30  John Sullivan  <sullivan@apple.com>
3955
3956         * WebView.subproj/WebView.m:
3957         fixed deployment build breakage
3958         
3959 2004-04-30  John Sullivan  <sullivan@apple.com>
3960
3961         - more work on getting the font panel to work with editable HTML.
3962         The font panel in Blot now correctly reflects the first selected font when the
3963         selection is at least one character long.
3964
3965         Reviewed by Ken.
3966
3967         * WebView.subproj/WebView.m:
3968         removed unfinished plumbing to support reflecting selected attributes (e.g. text color,
3969         underline) in font panel, since this doesn't work in Mail or TextEdit either.
3970         (_fontFromStyle):
3971         removed assertion for now
3972         (-[WebView _updateFontPanel]):
3973         now uses new bridge method to get the NSFont from the node, instead of trying
3974         to create an NSFont from a DOMCSSStyleDeclaration
3975
3976 2004-04-29  John Sullivan  <sullivan@apple.com>
3977
3978         - more work on getting the font panel to work with editable HTML
3979
3980         Reviewed by Ken.
3981
3982         * WebView.subproj/WebView.m:
3983         (-[WebView computedStyleForElement:pseudoElement:]):
3984         convert nil pseudoElement to empty string because lower level chokes on nil
3985         (_fontFromStyle):
3986         I tried to implement this, but was thwarted by missing API, so I added a
3987         bunch of FIXMEs instead
3988         (_stylesRepresentSameFont):
3989         new function, not yet implementable
3990         (_stylesRepresentSameAttributes):
3991         new function, not yet implementable
3992         (-[WebView _updateFontPanel]):
3993         added code to get first and last element in selection, and to use
3994         NodeIterator to walk through the entire selection to see if more than one
3995         font or set of attributes is in use. However, createNodeIterator is declared
3996         in DOMTraversal.h but not actually defined anywhere, so I had to prevent this
3997         code from actually being called.
3998
3999 2004-04-28  Chris Blumenberg  <cblu@apple.com>
4000
4001         - Made WebArchive and WebResource conform to NSCoding and NSCopying.
4002
4003         Reviewed by rjw.
4004
4005         * DOM.subproj/WebDOMOperations.h: added header doc comment for WebArchive methods
4006         * WebView.subproj/WebArchive.h:
4007         * WebView.subproj/WebArchive.m:
4008         (-[WebArchive initWithCoder:]): new
4009         (-[WebArchive encodeWithCoder:]): new
4010         (-[WebArchive copyWithZone:]): new
4011         * WebView.subproj/WebResource.h:
4012         * WebView.subproj/WebResource.m:
4013         (-[WebResource init]): new
4014         (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call [self init]
4015         (-[WebResource initWithCoder:]): new
4016         (-[WebResource encodeWithCoder:]): new
4017         (-[WebResource copyWithZone:]): new
4018
4019 2004-04-28  John Sullivan  <sullivan@apple.com>
4020
4021         A little bit more progress in wiring up the font panel.
4022
4023         Reviewed by Ken.
4024
4025         * WebView.subproj/WebViewInternal.h:
4026         put _updateFontPanel here. Also moved _isLoading here, since it was
4027         already in a category named WebInternal
4028
4029         * WebView.subproj/WebView.m:
4030         (-[WebView _isLoading]):
4031         moved into WebInternal category implementation
4032         (_textAttributesFromStyle):
4033         changed from method to function
4034         (_fontFromStyle):
4035         added, guts not filled in yet
4036         (-[WebView _updateFontPanel]):
4037         now calls these two functions (but results are always nil)
4038         (-[WebView setSelectedDOMRange:affinity:]):
4039         remove call to _updateFontPanel here since it's now called in
4040         the proper bottleneck
4041
4042         * WebCoreSupport.subproj/WebBridge.m:
4043         (-[WebBridge postDidChangeNotification]):
4044         call -[WebView _updateFontPanel] in addition to sending notification
4045         (-[WebBridge postDidChangeSelectionNotification]):
4046         ditto
4047
4048 2004-04-28  John Sullivan  <sullivan@apple.com>
4049
4050         - fixed these bugs:
4051         <rdar://problem/3636570>: "API: [WebPreferences tabsToLinks] should be public API"        
4052         <rdar://problem/3610597>: "API: could turn "stealth browsing" preference into API"
4053
4054         Reviewed by Darin.
4055         
4056         I just moved the declarations and implementations from one place to another.
4057         (No clients in WebKit needed their #imports updated.) This confused cvs diff quite a bit.
4058
4059         * WebView.subproj/WebPreferences.h:
4060         * WebView.subproj/WebPreferences.m:
4061         (-[WebPreferences setTabsToLinks:]):
4062   &nbs