Safari-144 stamp
[WebKit-https.git] / WebKit / ChangeLog
1 === 144 ===
2
3 2004-06-10  Kevin Decker  <kdecker@apple.com>
4
5         Reviewed by John.
6
7         * WebView.subproj/WebResource.m:
8         (-[WebResource description]):
9             -added per request of cblu
10         (-[WebResource _response]):
11             -added this method to the header
12         (-[WebResource _stringValue]):
13             - gives the string value of the NSData representation
14         * WebView.subproj/WebResourcePrivate.h:
15
16 2004-06-10  Darin Adler  <darin@apple.com>
17
18         Reviewed by Ken.
19
20         * WebCoreSupport.subproj/WebBridge.m: Removed undo-related methods.
21         (-[WebBridge undoManager]): Added.
22
23         * WebKit.pbproj/.cvsignore: Updated for new Xcode files.
24
25 2004-06-09  Ken Kocienda  <kocienda@apple.com>
26
27         Reviewed by Darin
28
29         Fix for this bug:
30         
31         <rdar://problem/3672088>: "Editable WebViews should maintain a selection even when they're not firstResponder"
32
33         Add some code to determine whether a WebHTMLView should maintain an
34         inactive selection when the view is not first responder. Traditionally,
35         these views have not maintained such selections, clearing them when the
36         view was not first responder. However, for appls embedding this view as
37         an editing widget, it is desirable to act more like an NSTextView. For
38         now, however, the view only acts in this way when the web view is set to
39         be editable with -[WebView setEditable:YES]. This will maintain
40         traditional behavior for WebKit clients dating back to before this
41         change, and will likely be a decent switch for the long term, since
42         clients to ste the web view to be editable probably want it to act like
43         a "regular" Cocoa view in terms of its selection behavior.
44
45         * WebView.subproj/WebHTMLView.m:
46         (-[WebHTMLView updateTextBackgroundColor]): Add code to tell whether the view is resigning first responder,
47         and if it is, use the inactive text background color.
48         (-[WebHTMLView maintainsInactiveSelection]): New helper which does checks to see if the new selection
49         behavior should be used, or whether we should continue with traditional WebKit behavior.
50         (-[WebHTMLView resignFirstResponder]): Call new maintainsInactiveSelection helper. If true,
51         do not clear the selection.
52         * WebView.subproj/WebHTMLViewInternal.h: Add resigningFirstResponder flag.
53
54 2004-06-09  Chris Blumenberg  <cblu@apple.com>
55
56         Implemented drag destination portion of the new drag & drop API.
57
58         Reviewed by trey.
59
60         * WebView.subproj/WebDefaultUIDelegate.m:
61         (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]): new delegate implementation
62         (-[WebDefaultUIDelegate webView:willPerformDragDestinationAction:forDraggingInfo:]): ditto
63         * WebView.subproj/WebDocumentInternal.h:
64         * WebView.subproj/WebHTMLView.m:
65         (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): handle the action mask
66         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
67         * WebView.subproj/WebUIDelegate.h:
68         * WebView.subproj/WebUIDelegatePrivate.h:
69         * WebView.subproj/WebView.m:
70         (-[WebView _dragOperationForDraggingInfo:]): call new delegate methods
71         (-[WebView performDragOperation:]): ditto
72         * WebView.subproj/WebViewInternal.h:
73         * WebView.subproj/WebViewPrivate.h:
74
75 2004-06-09  Richard Williamson   <rjw@apple.com>
76
77         Implemented PDF rendering for the drawImage() function
78         in Context2D.  This allows PDF files to be drawn in scaled
79         or rotated context without rasterization artifacts.
80         
81         The PDF image is currently NOT cached.  Caching can/will be added
82         as an optimization.  The hooks are already in place to flush
83         the cache as necessary.
84         
85         Reviewed by John.
86
87         * WebCoreSupport.subproj/WebImageRenderer.h:
88         * WebCoreSupport.subproj/WebImageRenderer.m:
89         (-[WebImageRenderer dealloc]):
90         (-[WebImageRenderer _needsRasterFlush]):
91         (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
92         (-[WebImageRenderer _PDFDocumentRef]):
93         (-[WebImageRenderer _PDFDraw]):
94         (-[WebImageRenderer _PDFDrawFromRect:toRect:operation:alpha:flipped:]):
95         (-[WebImageRenderer MIMEType]):
96         (ReleasePDFDocumentData):
97         (-[WebPDFDocument initWithData:]):
98         (-[WebPDFDocument dealloc]):
99         (-[WebPDFDocument documentRef]):
100         (-[WebPDFDocument mediaBox]):
101         (-[WebPDFDocument bounds]):
102         (-[WebPDFDocument adjustCTM:]):
103         (-[WebPDFDocument setCurrentPage:]):
104         (-[WebPDFDocument currentPage]):
105         (-[WebPDFDocument pageCount]):
106
107         Added back check for old plugin API.
108         
109         * WebView.subproj/WebFrame.m:
110         (-[WebFrame _reloadForPluginChanges]):
111         * WebView.subproj/WebHTMLView.m:
112         (-[WebHTMLView addSubview:]):
113         * WebCoreSupport.subproj/WebBridge.m:
114         (-[WebBridge frameRequiredForMIMEType:URL:]):
115
116 2004-06-08  Trey Matteson  <trey@apple.com>
117
118         In DHTML dragging there is no notion of registering for types, so we'd
119         like to just pass all types down to WebCore.  It turns out that the per-type
120         registration doesn't matter as far as the underlying drag service is
121         concerned, so Cocoa is already getting called for any type.  We just hack and
122         override a private method to ensure we accept any type.
123
124         Reviewed by Chris.
125
126         * WebView.subproj/WebView.m:
127         (-[WebView _hitTest:dragTypes:]):  We accept any drag type if it is within
128         our view, without overriding a subview's decision.
129
130 2004-06-08  Trey Matteson  <trey@apple.com>
131
132         A DHTML drag source can now change the dragging image during the drag.  Currently
133         it may only be set to a static image.
134
135         Reviewed by John
136
137         * WebCoreSupport.subproj/WebBridge.m:
138         (-[WebBridge setDraggingImage:at:]):  Typical bridge glue.
139         * WebView.subproj/WebHTMLView.m:
140         (FlipImageSpec):  New utility, copied from AppKit.
141         (-[WebHTMLView _setDraggingImage:at:]):  Mostly copied from AppKit.  Sets the drag
142         image using CG API.
143         * WebView.subproj/WebHTMLViewPrivate.h:
144
145 2004-06-08  Chris Blumenberg  <cblu@apple.com>
146
147         Fixed: <rdar://problem/3640423>: (REGRESSION: can't paste text copied from web page into Excel (due to HTML on the pasteboard?))
148
149         Reviewed by darin.
150
151         * WebView.subproj/WebHTMLView.m:
152         (+[WebHTMLView _selectionPasteboardTypes]): don't include NSHTMLPboardType
153         (-[WebHTMLView _selectedArchive]): removed markup string parameter
154         (_selectionPasteboardTypes::if): don't put NSHTMLPboardType on the pasteboard
155         * WebView.subproj/WebHTMLViewPrivate.h:
156
157 2004-06-07  Darin Adler  <darin@apple.com>
158
159         Reviewed by Chris.
160
161         - fixed <rdar://problem/3676761>: (REGRESSION: Text Bigger/Smaller commands are always disabled in TOT)
162
163         * WebView.subproj/WebHTMLView.m: Add @interface declaration for WebTextSizing category
164         on WebHTMLView. This must have gotten lost somewhere along the way.
165
166 2004-06-05  Trey Matteson  <trey@apple.com>
167
168         WebKit no longer causes an endless stream of dragexit events to
169         occur at the DHTML level when hovering over an element that is
170         not accepting the drag.
171
172         Reviewed by Chris
173
174         * WebView.subproj/WebView.m:
175         (-[WebView _dragOperationForDraggingInfo:]):  If the potential target refuses
176         the item, don't turn around and immediately tell it to cancel the drag, which is
177         what leads to the exit event happening at the DOM level.  If the target just
178         refused the drag, it should not have anything it needs to cancel.
179
180 2004-06-03  Trey Matteson  <trey@apple.com>
181
182         DHTML dragging uses the Cocoa NSDragOperation on both the source and dest ends.
183         Most of the real work is in WebCore.
184
185         Reviewed by rjw
186
187         * WebCoreSupport.subproj/WebBridge.m:
188         (-[WebBridge startDraggingImage:at:operation:event:]):  Pass the drag op along.
189         * WebView.subproj/WebHTMLView.m:
190         (-[WebHTMLView _startDraggingImage:at:operation:event:]):  Remember drag op from WC.
191         (-[WebHTMLView mouseDragged:]):  Pass None for the op (alternate code path that will
192         be going away).
193         (-[WebHTMLView draggingSourceOperationMaskForLocal:]):  Use the WC drag op.
194         * WebView.subproj/WebHTMLViewInternal.h:
195         * WebView.subproj/WebHTMLViewPrivate.h:
196
197 === Safari-143 ===
198
199 2004-06-04  Chris Blumenberg  <cblu@apple.com>
200
201         Fixed: <rdar://problem/3674921>: (can't drag an image from Desktop to Blot document)
202
203         Reviewed by mjs.
204
205         * WebView.subproj/WebDataSource.m:
206         (-[WebDataSource _imageElementWithImageResource:]): factored out from _documentFragmentWithImageResource:
207         (-[WebDataSource _documentFragmentWithImageResource:]): call _imageElementWithImageResource:
208         * WebView.subproj/WebDataSourcePrivate.h:
209         * WebView.subproj/WebHTMLView.m:
210         (-[WebHTMLView _imageExistsAtPaths:]): new
211         (-[WebHTMLView _documentFragmentWithPaths:]): new
212         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): handle NSFilenamesPboardType
213         (+[WebHTMLView _insertablePasteboardTypes]): include NSFilenamesPboardType
214         (-[WebHTMLView _canProcessDragWithDraggingInfo:]): check for NSFilenamesPboardType and check that the files are images
215
216 2004-06-04  Richard Williamson   <rjw@apple.com>
217
218         Fixed crasher from last checkin.
219         
220         Reviewed by Ken.
221
222         * Plugins.subproj/WebPluginDatabase.m:
223         (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
224         (pluginLocations):
225
226 2004-06-03  Richard Williamson   <rjw@apple.com>
227
228         Add SPI to allow setting of plugin load path.
229                 Reviewed by Hyatt.
230
231         * Plugins.subproj/WebPluginDatabase.h:
232         * Plugins.subproj/WebPluginDatabase.m:
233         (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
234         (pluginLocations):
235
236 2004-06-03  Darin Adler  <darin@apple.com>
237
238         Reviewed by Chris.
239
240         - fixed <rdar://problem/3677038>: (Need SPI to get URL of favicon for a site)
241
242         * Misc.subproj/WebIconDatabase.h: Add iconURLForURL: method.
243         * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase iconURLForURL:]): Added.
244
245 2004-06-02  Ken Kocienda  <kocienda@apple.com>
246
247         Reviewed by John
248
249         Fix for these bugs:
250         
251         <rdar://problem/3675806>: "Make API name change for -webViewShouldBeginEditing:inDOMRange:"
252         <rdar://problem/3675809>: "Make API name change for -webViewShouldEndEditing:inDOMRange:"
253
254         New names are -webView:shouldBeginEditingInDOMRange: and -webView:shouldEndEditingInDOMRange:, 
255         respectively.
256
257         * WebView.subproj/WebDefaultEditingDelegate.m:
258         (-[WebDefaultEditingDelegate webView:shouldBeginEditingInDOMRange:]):
259         (-[WebDefaultEditingDelegate webView:shouldEndEditingInDOMRange:]):
260         * WebView.subproj/WebEditingDelegate.h:
261         * WebView.subproj/WebView.m:
262         (-[WebView _shouldBeginEditingInDOMRange:]):
263         (-[WebView _shouldEndEditingInDOMRange:]):
264
265 2004-06-02  Richard Williamson   <rjw@apple.com>
266
267         conformsToProtocol:@protocol(WebPlugin) becomes
268         respondsToSelector:@selector(webPlugInInitialize) because
269         protocol was changed to an informal protocol.
270                 Reviewed by Kevin.
271
272         * WebCoreSupport.subproj/WebBridge.m:
273         (-[WebBridge frameRequiredForMIMEType:URL:]):
274         * WebView.subproj/WebHTMLView.m:
275         (-[WebHTMLView addSubview:]):
276
277 2004-06-01  Trey Matteson  <trey@apple.com>
278
279         First cut at source side of DHTML dragging.  Most of the work is in WebCore.
280
281         Reviewed by hyatt.
282
283         * WebCoreSupport.subproj/WebBridge.m:
284         (-[WebBridge startDraggingImage:at:event:]):  Added image and loc args for
285         when WC tells WK to start a drag.
286         * WebView.subproj/WebHTMLView.m:
287         (-[WebHTMLView _startDraggingImage:at:event:]):  New image and loc args coming
288         from WebCore.  Hysteresis is moved to WC.
289         (-[WebHTMLView mouseDragged:]):  Call new _startDragging method.
290         (-[WebHTMLView draggedImage:movedTo:]):  Pass event to WC.
291         (-[WebHTMLView draggedImage:endedAt:operation:]):  Pass event to WC.
292         (-[WebHTMLView mouseUp:]):  Reset firstMouseDownEvent.  Fixes bug where
293         we would occasionally short-circuit WC event handling due to aliasing
294         problem with this event.
295         * WebView.subproj/WebHTMLViewPrivate.h:
296
297 2004-06-02  Darin Adler  <darin@apple.com>
298
299         Reviewed by John.
300
301         - fixed problem with timing of delegate callbacks in the back/forward cache case
302
303         * WebView.subproj/WebFrame.m:
304         (-[WebFrame _transitionToCommitted:]): Move code to indicate page is done loading in the
305         back/forward cache case from here ...
306         (-[WebFrame _opened]): ... to here.
307
308 2004-06-01  Richard Williamson   <rjw@apple.com>
309
310         Fixed deployment build warning.
311
312         * WebCoreSupport.subproj/WebImageRenderer.m:
313         (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
314
315 2004-06-01  Richard Williamson   <rjw@apple.com>
316
317         Added support for drawImage and drawImageFromRect to <CANVAS>
318         Added support for composite attribute to <CANVAS>
319
320         Reviewed by Trey.
321
322         * WebCoreSupport.subproj/WebImageRenderer.h:
323         * WebCoreSupport.subproj/WebImageRenderer.m:
324         (-[WebImageContext initWithBounds:context:]):
325         (-[WebImageContext dealloc]):
326         (-[WebImageContext saveGraphicsState]):
327         (-[WebImageContext restoreGraphicsState]):
328         (-[WebImageContext isDrawingToScreen]):
329         (-[WebImageContext focusStack]):
330         (-[WebImageContext setFocusStack:]):
331         (-[WebImageContext bounds]):
332         (-[WebImageContext isFlipped]):
333         (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
334         (-[WebImageRenderer dealloc]):
335         (-[WebImageRenderer _beginRedirectContext:]):
336         (-[WebImageRenderer _endRedirectContext:]):
337         (-[WebImageRenderer _needsRasterFlush]):
338         (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
339         (-[WebImageRenderer drawImageInRect:fromRect:]):
340         (-[WebImageRenderer flushRasterCache]):
341         (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
342         (-[WebImageRenderer tileInRect:fromPoint:context:]):
343         * WebCoreSupport.subproj/WebImageRendererFactory.m:
344         (-[WebImageRendererFactory imageRendererWithMIMEType:]):
345         (-[WebImageRendererFactory imageRendererWithName:]):
346         (-[WebImageRendererFactory CGCompositeOperationInContext:]):
347         (-[WebImageRendererFactory setCGCompositeOperation:inContext:]):
348         (-[WebImageRendererFactory setCGCompositeOperationFromString:inContext:]):
349
350 2004-06-01  John Sullivan  <sullivan@apple.com>
351
352         Reviewed by Trey.
353         
354         Work on text-align API. Marked these bugs fixed:
355         <rdar://problem/3655380>: (Editing:Ê-alignCenter:ÊmethodÊunimplementedÊ(WebKitÊeditingÊAPI))
356         <rdar://problem/3655381>: (Editing:Ê-alignJustified:ÊmethodÊunimplementedÊ(WebKitÊeditingÊAPI))
357         <rdar://problem/3655383>: (Editing:Ê-alignLeft:ÊmethodÊunimplementedÊ(WebKitÊeditingÊAPI))
358         <rdar://problem/3655384>: (Editing:Ê-alignRight:ÊmethodÊunimplementedÊ(WebKitÊeditingÊAPI))        
359         
360         in favor of opening this bug:
361         <rdar://problem/3675191>: (Editing: -alignLeft: and friends mostly implemented but not 
362         yet working (WebKit editing API))        
363
364         * English.lproj/StringsNotToBeLocalized.txt:
365         updated for these changes
366         
367         * WebView.subproj/WebHTMLView.m:
368         (-[WebHTMLView changeDocumentBackgroundColor:]):
369         added a FIXME about why this is still not quite right
370         (-[WebHTMLView _alignSelectionUsingCSSValue:]):
371         new method, bottleneck for the various values
372         (-[WebHTMLView alignCenter:]):
373         call _alignSelectionUsingCSSValue:@"center"
374         (-[WebHTMLView alignJustified:]):
375         call _alignSelectionUsingCSSValue:@"justify"
376         (-[WebHTMLView alignLeft:]):
377         call _alignSelectionUsingCSSValue:@"left"
378         (-[WebHTMLView alignRight:]):
379         call _alignSelectionUsingCSSValue:@"right"
380
381 2004-06-01  John Sullivan  <sullivan@apple.com>
382
383         Reviewed by Ken.
384         
385         - fixed <rdar://problem/3655378>: (Editing:Ê-changeDocumentBackgroundColor:Ê
386         methodÊunimplementedÊ(WebKitÊeditingÊAPI))
387         - made startSpeaking: actually work; previous implementation raised a DOMException
388
389         * WebView.subproj/WebHTMLView.m:
390         (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
391         added range parameter
392         (-[WebHTMLView _entireDOMRange]):
393         new convenience method
394         (-[WebHTMLView changeDocumentBackgroundColor:]):
395         now affects entire document, not just selected range, a la NSTextView
396         (-[WebHTMLView changeColor:]):
397         now passes in a range to _changeCSSColorUsingSelector:inRange:
398         (-[WebHTMLView startSpeaking:]):
399         now uses _entireDOMRange
400
401 2004-06-01  Chris Blumenberg  <cblu@apple.com>
402
403         Fixed: <rdar://problem/3661505>: (REGRESSION (Safari-140) can't drag standalone images more than once)
404
405         Reviewed by john.
406
407         * WebView.subproj/WebImageView.m:
408         (-[WebImageView mouseDown:]): set ignoringMouseDraggedEvents to NO. This line of code was deleted somehow.
409
410 2004-06-01  John Sullivan  <sullivan@apple.com>
411
412         Reviewed by Darin.
413         
414         - fixed <rdar://problem/3657003>: (HTML Editing: Color panel doesn't work)
415
416         * WebView.subproj/WebHTMLView.m:
417         (-[WebHTMLView _colorPanelColorAsStyleUsingSelector:]):
418         new method, returns a DOMCSSStyleDeclaration *
419         (-[WebHTMLView _changeCSSColorUsingSelector:]):
420         new method, sets a color-related style attribute on the selection
421         (-[WebHTMLView changeDocumentBackgroundColor:]):
422         call _changeCSSColorUsingSelector: with @selector(setBackgroundColor:)
423         (-[WebHTMLView changeColor:]):
424         call _changeCSSColorUsingSelector: with @selector(setColor:); also added
425         comments explaining why changeDocumentBackgroundColor: will never actually
426         be called until an AppKit code-incest mess is straighted out.
427
428 2004-06-01  Ken Kocienda  <kocienda@apple.com>
429
430         Reviewed by Darin
431
432         * WebView.subproj/WebHTMLView.m:
433         (-[WebHTMLView _fontManagerOperationAsStyle]): Fixed typo in family-name code that caused
434         family names to match when they should not.
435
436 2004-06-01  Chris Blumenberg  <cblu@apple.com>
437
438         Made paste and drop ask the delegate before making any replacements.
439
440         Reviewed by kocienda.
441
442         * WebView.subproj/WebHTMLView.m:
443         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): renamed, now calls _shouldInsertFragment:replacingDOMRange:givenAction:
444         (-[WebHTMLView _shouldInsertFragment:replacingDOMRange:givenAction:]): new, asks delegate
445         (-[WebHTMLView concludeDragForDraggingInfo:]): now calls _shouldInsertFragment:replacingDOMRange:givenAction:
446         (-[WebHTMLView paste:]): call renamed _pasteWithPasteboard:allowPlainText:
447         (-[WebHTMLView pasteAsRichText:]): ditto
448
449 2004-05-28  Darin Adler  <darin@apple.com>
450
451         Reviewed by Maciej.
452
453         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _fontManagerOperationAsStyle]):
454         First cut at figuring out what operation the font manager is doing without
455         digging into its private data structures.
456
457 2004-05-28  Darin Adler  <darin@apple.com>
458
459         Reviewed by Ken.
460
461         - various editing-related improvements
462         - fixed <rdar://problem/3655366>: (Editing: -selectParagraph: method unimplemented (WebKit editing API))
463         - fixed <rdar://problem/3655367>: (Editing: -selectLine: method unimplemented (WebKit editing API))
464         - fixed <rdar://problem/3655369>: (Editing: -selectWord: method unimplemented (WebKit editing API))
465         - fixed <rdar://problem/3655392>: (Editing: -uppercaseWord: method unimplemented (WebKit editing API))
466         - fixed <rdar://problem/3655393>: (Editing: -lowercaseWord: method unimplemented (WebKit editing API))
467         - fixed <rdar://problem/3655394>: (Editing: -capitalizeWord: method unimplemented (WebKit editing API))
468
469         * WebView.subproj/WebHTMLView.m:
470         (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): Removed the call to
471         ensureCaretVisible. This is now handled on the other side of the bridge.
472         (-[WebHTMLView moveDown:]): Changed to use WebSelectByLine granularity instead of
473         WebSelectDown direction.
474         (-[WebHTMLView moveDownAndModifySelection:]): Ditto.
475         (-[WebHTMLView moveUp:]): Ditto.
476         (-[WebHTMLView moveUpAndModifySelection:]): Ditto.
477         (-[WebHTMLView _expandSelectionToGranularity:]): Added.
478         (-[WebHTMLView selectParagraph:]): Implemented by calling _expandSelectionToGranularity.
479         (-[WebHTMLView selectLine:]): Ditto.
480         (-[WebHTMLView selectWord:]): Ditto.
481         (-[WebHTMLView _fontManagerOperationAsStyle]): Added. Placeholder for the job of figuring
482         out what style change to make based on NSFontManager.
483         (-[WebHTMLView changeFont:]): Implemented, but not really tested because guts are still
484         missing due to lack of above method.
485         (-[WebHTMLView insertTab:]): Removed the call to ensureCaretVisible.
486         (-[WebHTMLView insertNewline:]): Removed the call to ensureCaretVisible.
487         (-[WebHTMLView insertParagraphSeparator:]): Made this insert a newline for now.
488         (-[WebHTMLView _changeWordCaseWithSelector:]): Added.
489         (-[WebHTMLView uppercaseWord:]): Implemented by calling _changeWordCaseWithSelector.
490         (-[WebHTMLView lowercaseWord:]): Ditto.
491         (-[WebHTMLView capitalizeWord:]): Ditto.
492         (-[WebHTMLView deleteBackward:]): Removed the call to ensureCaretVisible.
493         (-[WebHTMLView checkSpelling:]): Put a pile of AppKit code in here as a placeholder.
494         (-[WebHTMLView startSpeaking:]): Use the new stringForRange: method instead of outerText.
495         That way we can handle cases where the entire document is selected.
496         (-[WebHTMLView insertText:]): Removed the call to ensureCaretVisible.
497
498 2004-05-28  Chris Blumenberg  <cblu@apple.com>
499
500         Fixed: <rdar://problem/3672129>: (selection deselects when clicking editable WebView in background window)
501
502         Fixed this problem by using NSTextView's approach of only allowing dragging on first mouse down.
503
504         Reviewed by john.
505
506         * WebView.subproj/WebHTMLView.m:
507         (-[WebHTMLView acceptsFirstMouse:]): store the first mouse down
508         (-[WebHTMLView mouseDown:]): Don't tell WebCore about the first mouse down event since only dragging can occur on the first mouse down.
509         (-[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.
510         * WebView.subproj/WebHTMLViewInternal.h:
511
512 2004-05-28  Darin Adler  <darin@apple.com>
513
514         * WebView.subproj/WebView.m: At Ken's suggestion, for better efficiency and safety,
515         use _cmd rather than explicit selector names in the forwarding methods.
516
517 2004-05-28  Darin Adler  <darin@apple.com>
518
519         Reviewed by Ken.
520
521         - implemented a few more editing operations, moved code from WebView to WebHTMLView
522
523         * WebCoreSupport.subproj/WebBridge.m:
524         (-[WebBridge respondToChangedContents]): Call _updateFontPanel on the WebHTMLView, not the WebView.
525         (-[WebBridge respondToChangedSelection]): Ditto.
526
527         * WebView.subproj/WebHTMLView.m: Moved WebElementOrTextFilter class here from WebView and
528         gave it a prefix so it won't conflict with developers' class names.
529         (-[WebHTMLView _updateFontPanel]): Moved here from WebView.
530
531         * WebView.subproj/WebView.m:
532         (-[WebView toggleSmartInsertDelete:]): Added.
533         (-[WebView toggleContinuousSpellChecking:]): Added.
534         (-[WebView isContinuousGrammarCheckingEnabled]): Added.
535         (-[WebView setContinuousGrammarCheckingEnabled:]): Added.
536         (-[WebView toggleContinuousGrammarChecking:]): Added.
537         (-[WebView setSmartInsertDeleteEnabled:]): Implemented. We have the flag now, although we
538         still don't actually have smart insert and delete implemented.
539         (-[WebView smartInsertDeleteEnabled]): Ditto.
540         (-[WebView setContinuousSpellCheckingEnabled:]): Implemented.
541         (-[WebView isContinuousSpellCheckingEnabled]): Implemented.
542         (-[WebView spellCheckerDocumentTag]): Implemented.
543         (-[WebView _preflightSpellCheckerNow:]): Added.
544         (-[WebView _preflightSpellChecker]): Added.
545         (-[WebView _continuousCheckingAllowed]): Added.
546
547         * WebView.subproj/WebHTMLViewInternal.h: Added. We'll things here from WebHTMLViewPrivate so
548         they are internal to the framework, rather than SPI.
549         * WebKit.pbproj/project.pbxproj: Added WebHTMLViewInternal.h.
550         * WebView.subproj/WebHTMLViewPrivate.h: Moved WebHTMLViewPrivate into the internal header.
551         Despite its name, it's internal, not SPI.
552
553         * WebView.subproj/WebViewPrivate.h: Moved WebViewPrivate into the internal header.
554         Despite its name, it's internal, not SPI. Added a number of new operations which should
555         be public API. We'll have to figure out what to do about API review and the WWDC deadline.
556         * WebView.subproj/WebViewInternal.h: Removed _updateFontPanel method.
557
558         * English.lproj/StringsNotToBeLocalized.txt: Update.
559
560 2004-05-27  Ken Kocienda  <kocienda@apple.com>
561
562         Reviewed by John
563
564         The font panel now updates correctly, reflecting the current selection. There may
565         still be some bugs and corner cases to handle, but this will work for a general
566         implementation of the feature.
567
568         * WebView.subproj/WebView.m:
569         (+[ElementOrTextFilter filter]): Added. This filter will accept DOM elements and
570         text nodes and skip everything else. This filter is used when walking a selection
571         to determine the fonts in use.
572         (-[ElementOrTextFilter acceptNode:]): DOM node filter implementation method.
573         (-[WebView _fontFromStyle]): Removed, in lieu of new fontForCurrentPosition call on the bridge.
574         (-[WebView _updateFontPanel]): Reworked to use a TreeWalker instead of a NodeIterator. This
575         was done since the iterator must be rooted at the document root, but start iterating 
576         at the start of the selection. TreeWalker's setCurrentNode allows this to be done.
577
578
579 2004-05-27  Kevin Decker  <kdecker@apple.com>
580
581         Reviewed by NOBODY (OOPS!).
582
583         * Plugins.subproj/WebScriptObject.h:
584
585 2004-05-27  Kevin Decker  <kdecker@apple.com>
586
587         Reviewed by Ken.
588         
589         - error messages (eg. from JavaScriptCore) sent to the bridge now 
590           get delievered to a new delegate method.  
591     
592         * WebCoreSupport.subproj/WebBridge.m:
593         (-[WebBridge addMessageToConsole:]):
594         * WebKit.pbproj/project.pbxproj:
595         * WebView.subproj/WebUIDelegatePrivate.h:
596
597 === Safari-142 ===
598
599 2004-05-27  Trey Matteson  <trey@apple.com>
600
601         First cut at DHTML dragging, destination side.  Dragging text, files and URLs onto
602         elements works.  Type conversion from NSPasteboard to MIME types is hardwired.
603         No JS access yet to modifier keys, or operations mask.
604
605         Reviewed by Chris.
606
607         * WebView.subproj/WebHTMLView.m:
608         (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): Call DHTML dragging via bridge.
609         (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
610         (-[WebHTMLView concludeDragForDraggingInfo:]): Ditto.
611         * WebView.subproj/WebHTMLViewPrivate.h:
612         * WebView.subproj/WebView.m:
613         (-[WebView _setWebKitDragRespondsToDragging:]):  New SPI for finer grained control than the
614         delegate currently has.
615         (-[WebView _webKitDragRespondsToDragging]): Ditto.
616         (-[WebView _commonInitializationWithFrameName:groupName:]):  Init new flag.
617         (-[WebView _dragOperationForDraggingInfo:]):  Comment.
618         * WebView.subproj/WebViewPrivate.h:
619
620 2004-05-27  Darin Adler  <darin@apple.com>
621
622         * WebView.subproj/WebFrameView.m: (-[WebFrameView _scrollVerticallyBy:]): Added comment.
623
624 2004-05-27  Darin Adler  <darin@apple.com>
625
626         Reviewed by Maciej.
627
628         - fixed <rdar://problem/3667948>: (REGRESSION: Page Down key goes down two pages when smooth scrolling is on)
629
630         * WebView.subproj/WebFrameView.m:
631         (-[WebFrameView _scrollVerticallyBy:]): Added return value to indicate if any scrolling was done.
632         This requires using secret AppKit methods; the public methods don't have a return value.
633         (-[WebFrameView _pageVertically:]): Added return value to indicate if any scrolling was done.
634         (-[WebFrameView scrollPageUp:]): Base call through to next responder on whether any scrolling was done,
635         using return value, rather than looking at new scroll position. This was the cause of the bug,
636         since with smooth scrolling no scrolling has happened yet when the function returns.
637         (-[WebFrameView scrollPageDown:]): Ditto.
638
639         - removed temporary DOMDocument method from WebView
640
641         * WebView.subproj/WebView.m:
642         (-[WebView computedStyleForElement:pseudoElement:]): Call getComputedStyle on the document that owns the
643         element rather than on the document that currently contains the selection.
644         (-[WebView _updateFontPanel]): Get the document from the DOM range rather than using the DOMDocument method.
645         (-[WebView styleDeclarationWithText:]): Change this method to not use the DOMDocument method, but do the same
646         job with inline code.
647
648         * WebView.subproj/WebViewPrivate.h: Moved a recently-added category that is not SPI out of here.
649         * WebView.subproj/WebViewInternal.h: Moved the category in here. And removed the DOMDocument method from it.
650
651         - other changes
652
653         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
654
655         * copy-webcore-files-to-webkit: Change tabs to spaces. Quiet the script down by
656         making it no longer echo each command or print messages about what it's doing by default.
657
658 2004-05-27  Darin Adler  <darin@apple.com>
659
660         Reviewed by Maciej.
661
662         - moved to new symlink technique for embedding frameworks
663
664         * WebKit.pbproj/project.pbxproj: Get rid of embed-frameworks build step
665         because we don't need it any more.
666
667 2004-05-27  Darin Adler  <darin@apple.com>
668
669         - fixed Deployment build
670
671         * WebView.subproj/WebView.m: (-[WebView concludeDragOperation:]):
672         Got rid of ASSERT-only local variable.
673
674 2004-05-26  Maciej Stachowiak  <mjs@apple.com>
675
676         Reviewed by Dave.
677
678         - fix further problems with Emerson feed: redirection for RSS feeds
679
680         This is done by removing removing the calls to defer callbacks
681         while waiting for [... Maciej stopped typing here ...]
682
683         * WebView.subproj/WebMainResourceClient.m:
684         (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
685         (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
686         (-[WebMainResourceClient continueAfterContentPolicy:response:]):
687         (-[WebMainResourceClient checkContentPolicyForResponse:]):
688
689 2004-05-26  Chris Blumenberg  <cblu@apple.com>
690
691         Added and implemented proposed dragging API changes. These changes are necessary to make JS dragging work properly.
692
693         Reviewed by trey.
694
695         * WebView.subproj/WebDefaultUIDelegate.m:
696         (-[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.
697         (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:]): Removed element parameter since another new API provides a way to get that.
698         * WebView.subproj/WebDocumentInternal.h:
699         * WebView.subproj/WebHTMLView.m:
700         (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): now returns a drag operation
701         (-[WebHTMLView draggingCancelledWithDraggingInfo:]): moved
702         * WebView.subproj/WebUIDelegatePrivate.h:
703         * WebView.subproj/WebView.m:
704         (-[WebView elementAtPoint:]): new proposed API
705         (-[WebView dragOperationForDraggingInfo:]): removed code from this API that should be removed
706         (-[WebView _dragOperationForDraggingInfo:]): call new API
707         (-[WebView concludeDragOperation:]): call new API
708
709 2004-05-26  Darin Adler  <darin@apple.com>
710
711         Reviewed by John.
712
713         - moved HTML editing operations from WebView to WebHTMLView, leaving only forwarding machinery
714           at the WebView level
715
716         - fixed <rdar://problem/3655412>: (Editing: -startSpeaking: method unimplemented (WebKit editing API))
717         - fixed <rdar://problem/3655414>: (Editing: -stopSpeaking: method unimplemented (WebKit editing API))
718         - fixed <rdar://problem/3655375>: (Editing: -pasteAsRichText: method unimplemented (WebKit editing API))
719
720         * WebView.subproj/WebView.h: Added missing declaration of selectionAffinity. I think this
721         omission was an editorial mistake.
722
723         * WebView.subproj/WebView.m:
724         (-[WebView searchFor:direction:caseSensitive:wrap:]): Use _frameForCurrentSelection directly,
725         since it no longer returns nil.
726         (-[WebView pasteboardTypesForSelection]): Use _frameForCurrentSelection instead of going through the bridge.
727         (-[WebView _frameForCurrentSelection]): Renamed from _currentFrame and changed to return main frame
728         rather than nil when called on WebView that has no current selection.
729         (-[WebView _bridgeForCurrentSelection]): Moved in file.
730         (-[WebView _updateFontPanel]): Removed the one call to _currentSelectionIsEditable here, since
731         it was the only one left in this file. Eventually this code will move to WebHTMLView.
732         (-[WebView _performResponderOperation:with:]): Name change.
733
734         * WebView.subproj/WebDataSource.m: (-[WebDataSource _documentFragmentWithImageResource:]):
735         Build document fragment using DOM instead of composing HTML text.
736
737         * WebView.subproj/WebHTMLView.m:
738         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): Added allowPlainText boolean,
739         moved method into new location in file so it can be in the right category, changed link pasting
740         to use DOM instead of composing HTML text.
741         (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:allowPlainText:]): Added allowPlainText
742         boolean, moved method into new location in file so it can be in the right category.
743         (-[WebHTMLView concludeDragForDraggingInfo:]): Pass YES for allowPlainText.
744         (-[WebHTMLView centerSelectionInVisibleArea:]): Moved here from WebView.
745         (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): Ditto.
746         (-[WebHTMLView moveBackward:]): Ditto.
747         (-[WebHTMLView moveBackwardAndModifySelection:]): Ditto.
748         (-[WebHTMLView moveDown:]): Ditto.
749         (-[WebHTMLView moveDownAndModifySelection:]): Ditto.
750         (-[WebHTMLView moveForward:]): Ditto.
751         (-[WebHTMLView moveForwardAndModifySelection:]): Ditto.
752         (-[WebHTMLView moveLeft:]): Ditto.
753         (-[WebHTMLView moveLeftAndModifySelection:]): Ditto.
754         (-[WebHTMLView moveRight:]): Ditto.
755         (-[WebHTMLView moveRightAndModifySelection:]): Ditto.
756         (-[WebHTMLView moveToBeginningOfDocument:]): Ditto.
757         (-[WebHTMLView moveToBeginningOfLine:]): Ditto.
758         (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto.
759         (-[WebHTMLView moveToEndOfDocument:]): Ditto.
760         (-[WebHTMLView moveToEndOfLine:]): Ditto.
761         (-[WebHTMLView moveToEndOfParagraph:]): Ditto.
762         (-[WebHTMLView moveUp:]): Ditto.
763         (-[WebHTMLView moveUpAndModifySelection:]): Ditto.
764         (-[WebHTMLView moveWordBackward:]): Ditto.
765         (-[WebHTMLView moveWordBackwardAndModifySelection:]): Ditto.
766         (-[WebHTMLView moveWordForward:]): Ditto.
767         (-[WebHTMLView moveWordForwardAndModifySelection:]): Ditto.
768         (-[WebHTMLView moveWordLeft:]): Ditto.
769         (-[WebHTMLView moveWordLeftAndModifySelection:]): Ditto.
770         (-[WebHTMLView moveWordRight:]): Ditto.
771         (-[WebHTMLView moveWordRightAndModifySelection:]): Ditto.
772         (-[WebHTMLView pageDown:]): Ditto.
773         (-[WebHTMLView pageUp:]): Ditto.
774         (-[WebHTMLView selectParagraph:]): Ditto.
775         (-[WebHTMLView selectLine:]): Ditto.
776         (-[WebHTMLView selectWord:]): Ditto.
777         (-[WebHTMLView copy:]): Moved down in file so it's in the right category.
778         (-[WebHTMLView cut:]): Ditto.
779         (-[WebHTMLView delete:]): Ditto.
780         (-[WebHTMLView paste:]): Ditto.
781         (-[WebHTMLView copyFont:]): Moved here from WebView.
782         (-[WebHTMLView pasteFont:]): Ditto.
783         (-[WebHTMLView pasteAsPlainText:]): Ditto.
784         (-[WebHTMLView pasteAsRichText:]): Implemented this by calling the paste code with
785         allowPlainText:NO; believe it or not, that's what this means in NSTextView.
786         (-[WebHTMLView changeFont:]): Moved here from WebView.
787         (-[WebHTMLView changeAttributes:]): Ditto.
788         (-[WebHTMLView changeDocumentBackgroundColor:]): Ditto.
789         (-[WebHTMLView changeColor:]): Ditto.
790         (-[WebHTMLView alignCenter:]): Ditto.
791         (-[WebHTMLView alignJustified:]): Ditto.
792         (-[WebHTMLView alignLeft:]): Ditto.
793         (-[WebHTMLView alignRight:]): Ditto.
794         (-[WebHTMLView indent:]): Ditto.
795         (-[WebHTMLView insertTab:]): Moved here from WebView, also call insertText rather than
796         replaceSelectionWithText so it's undoable like a typed character.
797         (-[WebHTMLView insertBacktab:]): Moved here from WebView.
798         (-[WebHTMLView insertNewline:]): Moved here from WebView, also call insertText rather than
799         replaceSelectionWithText so it's undoable like a typed character.
800         (-[WebHTMLView insertParagraphSeparator:]): Moved here from WebView.
801         (-[WebHTMLView changeCaseOfLetter:]): Ditto.
802         (-[WebHTMLView uppercaseWord:]): Ditto.
803         (-[WebHTMLView lowercaseWord:]): Ditto.
804         (-[WebHTMLView capitalizeWord:]): Ditto.
805         (-[WebHTMLView deleteForward:]): Ditto.
806         (-[WebHTMLView deleteBackward:]): Ditto.
807         (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Ditto.
808         (-[WebHTMLView deleteWordForward:]): Ditto.
809         (-[WebHTMLView deleteWordBackward:]): Ditto.
810         (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
811         (-[WebHTMLView deleteToEndOfLine:]): Ditto.
812         (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
813         (-[WebHTMLView deleteToEndOfParagraph:]): Ditto.
814         (-[WebHTMLView complete:]): Ditto.
815         (-[WebHTMLView checkSpelling:]): Ditto.
816         (-[WebHTMLView showGuessPanel:]): Ditto.
817         (-[WebHTMLView performFindPanelAction:]): Ditto.
818         (-[WebHTMLView startSpeaking:]): Implemented this.
819         (-[WebHTMLView stopSpeaking:]): Implemented this.
820         (-[WebHTMLView insertText:]): Moved here from WebView.
821
822         * WebView.subproj/WebHTMLViewPrivate.h: Removed declarations of methods that are neither
823         SPI nor needed outside WebHTMLView.m.
824
825         * WebView.subproj/WebViewInternal.h: Removed _currentFrame, and added _frameForCurrentSelection and
826         _bridgeForCurrentSelection.
827
828 2004-05-25  Maciej Stachowiak  <mjs@apple.com>
829
830         Reviewed by Richard.
831
832         <rdar://problem/3652498>: new sniffing support is crashing
833         
834         * WebView.subproj/WebMainResourceClient.m:
835         (-[WebMainResourceClient checkContentPolicyForResponse:]): Retain
836         listener around call, in case delegate does something that ends up
837         invalidating it, like navigating to a new URL.
838
839 2004-05-25  Chris Blumenberg  <cblu@apple.com>
840
841         Fixed regression where undoing typing would undo character-by-character.
842
843         Reviewed by kocienda.
844
845         * WebView.subproj/WebView.m:
846         (-[WebView insertText:]): call insertText: rather than replaceSelectionWithText:: since text insertion via insertText: is coalesced and this is the behavior we want here
847
848 2004-05-25  Ken Kocienda  <kocienda@apple.com>
849
850         Reviewed by John
851
852         Change postDidChangeSelectionNotification and postDidChangeNotification tp
853         respondToChangedSelection and respondToChangedContents, respectively, to
854         account for the fact that we do work in these calls other than post a
855         notification. The need to clear the typing style on both kinds of changes
856         inspired the name change.
857
858         Add in support to set and access typing style. We don't do anything with it yet
859         except store and return it. Using the typing style is still to come.
860
861         * WebCoreSupport.subproj/WebBridge.m:
862         (-[WebBridge respondToChangedContents]): Change name of functions as described.
863         (-[WebBridge respondToChangedSelection]): Change name of functions as described.
864         * WebView.subproj/WebView.m:
865         (-[WebView dealloc:]): Dealloc typing style ivar.
866         (-[WebView setTypingStyle:]): Change to set typing style ivar.
867         (-[WebView typingStyle]): Return new typing style ivar.
868         * WebView.subproj/WebViewPrivate.h: Add ivar for typing style.
869
870 2004-05-25  Ken Kocienda  <kocienda@apple.com>
871
872         Reviewed by John
873         
874         Improve _bridgeForCurrentSelection so that it is frame-savvy.
875         Fixup setSelectedDOMRange:affinity: so that it uses the right bridge.
876
877         * WebView.subproj/WebView.m:
878         (-[WebView _bridgeForCurrentSelection]): Use _currentFrame not mainFrame. 
879         (-[WebView _currentFrame]): Moved to WebView (WebInternal) category so _bridgeForCurrentSelection can use it.
880         (-[WebView setSelectedDOMRange:affinity:]): Derive the bridge to use from the range passed in; _bridgeForCurrentSelection
881         is not the right way to get at the document for the range.
882         * WebView.subproj/WebViewInternal.h: Add _currentFrame declaration.
883
884 2004-05-24  Darin Adler  <darin@apple.com>
885
886         Reviewed by Ken.
887
888         - fixed <rdar://problem/3666022>: (REGRESSION: crash from infinite regress in -[WebFrameView(WebPrivate) scrollPageDown:])
889
890         * WebView.subproj/WebView.m:
891         (-[WebView _performResponderOperation:sender:]): Helper method that knows how to pass on operations
892         to the responder chain, allowing us to implement operations that will get passed to views inside
893         us as necessary. Moved a few methods to this, and soon will move even more.
894         (-[WebView scrollLineDown:]): Use the above method.
895         (-[WebView scrollLineUp:]): Ditto.
896         (-[WebView scrollPageDown:]): Ditto.
897         (-[WebView scrollPageUp:]): Ditto.
898         (-[WebView copy:]): Ditto.
899         (-[WebView cut:]): Ditto.
900         (-[WebView paste:]): Ditto.
901         (-[WebView delete:]): Ditto.
902         (-[WebView insertBacktab:]): Ditto.
903
904 2004-05-24  Chris Blumenberg  <cblu@apple.com>
905
906         Improved editing via drag
907  
908         Reviewed by kocienda.
909
910         * WebView.subproj/WebDataSource.m: 
911         (-[WebDataSource _documentFragmentWithImageResource:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment
912         (-[WebDataSource _documentFragmentWithArchive:]): ditto
913         (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): call renamed methods
914         * WebView.subproj/WebDataSourcePrivate.h:
915         * WebView.subproj/WebDocumentInternal.h:
916         * WebView.subproj/WebHTMLView.m:
917         (-[WebHTMLView _documentFragmentFromPasteboard:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment
918         (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:]): new
919         (-[WebHTMLView paste:]): call _replaceSelectionWithPasteboard:selectReplacement:
920         (-[WebHTMLView dragOperationForDraggingInfo:]): handle the case where the destination is editable, but the source is not
921         (-[WebHTMLView draggingCancelledWithDraggingInfo:]): new, removes drag caret
922         (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): remove drag caret when we can't handle the drag
923         (-[WebHTMLView concludeDragForDraggingInfo:]): instead of calling paste, move the selection when doing a move and replace the drag caret when doing a copy
924         * WebView.subproj/WebHTMLViewPrivate.h:
925         * WebView.subproj/WebView.m:
926         (-[WebViewPrivate dealloc]):
927         (-[WebView _setDraggingDocumentView:]): new
928         (-[WebView _dragOperationForDraggingInfo:]): if the current dragging document view changes, tell the previous dragging document view that dragging cancelled 
929         (-[WebView draggingExited:]): new, tell the previous dragging document view that dragging cancelled
930         (-[WebView concludeDragOperation:]): release the dragging document view
931         (-[WebView replaceSelectionWithNode:]): pass the selectReplacement BOOL to the bridge
932         (-[WebView replaceSelectionWithText:]): ditto
933         (-[WebView replaceSelectionWithMarkupString:]): ditto
934         (-[WebView replaceSelectionWithArchive:]): ditto
935         (-[WebView pasteAsPlainText:]): ditto
936         (-[WebView insertTab:]): ditto
937         (-[WebView insertText:]): ditto
938         * WebView.subproj/WebViewPrivate.h: 
939
940 2004-05-24  John Sullivan  <sullivan@apple.com>
941
942         Reviewed by Dave.
943         
944         - added private RSSFeedReferrer field to WebHistoryItem so RSS feeds in the
945         back/forward list can remember what page (if any) they were initiated from.
946
947         * History.subproj/WebHistoryItem.m:
948         new RSSFeedReferrer ivar in private structure
949         (-[WebHistoryItemPrivate dealloc]):
950         release RSSFeedReferrer
951         (-[WebHistoryItem copyWithZone:]):
952         copy RSSFeedReferrer
953         (-[WebHistoryItem RSSFeedReferrer]):
954         return RSSFeedReferrer
955         (-[WebHistoryItem setRSSFeedReferrer:]):
956         set RSSFeedReferrer
957
958         * History.subproj/WebHistoryItemPrivate.h:
959         declare -RSSFeedReferrer and -setRSSFeedReferrer:
960
961 2004-05-22  Darin Adler  <darin@apple.com>
962
963         Reviewed by Ken.
964
965         - implemented some of the trivial WebView editing operations; some had bug reports, to wit:
966         - fixed <rdar://problem/3655342>: (Editing: -centerSelectionInVisibleArea: method unimplemented (WebKit editing API))
967         - fixed <rdar://problem/3655398>: (Editing: -deleteWordBackward: method unimplemented (WebKit editing API))
968         - fixed <rdar://problem/3655397>: (Editing: -deleteWordForward: method unimplemented (WebKit editing API))
969         - fixed <rdar://problem/3655387>: (Editing: -insertBacktab: method unimplemented (WebKit editing API))
970         - fixed <rdar://problem/3655386>: (Editing: -insertTab: method unimplemented (WebKit editing API))
971         - fixed <rdar://problem/3655351>: (Editing: -moveWordBackward: method unimplemented (WebKit editing API))
972         - fixed <rdar://problem/3655352>: (Editing: -moveWordBackwardAndModifySelection: method unimplemented (WebKit editing API))
973         - fixed <rdar://problem/3655353>: (Editing: -moveWordForward: method unimplemented (WebKit editing API))
974         - fixed <rdar://problem/3655354>: (Editing: -moveWordForwardAndModifySelection: method unimplemented (WebKit editing API))
975         - fixed <rdar://problem/3655374>: (Editing: -pasteAsPlainText: method unimplemented (WebKit editing API))
976         - fixed <rdar://problem/3655362>: (Editing: -scrollLineDown: method unimplemented (WebKit editing API))
977         - fixed <rdar://problem/3655363>: (Editing: -scrollLineUp: method unimplemented (WebKit editing API))
978
979         * WebView.subproj/WebView.m:
980         (-[WebView centerSelectionInVisibleArea:]): Implemented. The implementation isn't perfect, but it's hooked
981         up. It simply calls ensureCaretVisible for now.
982         (-[WebView moveBackward:]): Implemented. The WebCore API already has a way to specify backward as opposed
983         to left. A separate issue is the fact that these operations don't have bi-di-savvy implementations, but
984         now this method is hooked up and will work at least for left-to-right text.
985         (-[WebView moveBackwardAndModifySelection:]): Ditto.
986         (-[WebView moveForward:]): Ditto.
987         (-[WebView moveForwardAndModifySelection:]): Ditto.
988         (-[WebView moveWordBackward:]): Ditto.
989         (-[WebView moveWordBackwardAndModifySelection:]): Ditto.
990         (-[WebView moveWordForward:]): Ditto.
991         (-[WebView moveWordForwardAndModifySelection:]): Ditto.
992         (-[WebView scrollLineDown:]): Forward to WebFrameView.
993         (-[WebView scrollLineUp:]): Ditto.
994         (-[WebView scrollPageDown:]): Ditto.
995         (-[WebView scrollPageUp:]): Ditto.
996         (-[WebView delete:]): Implemented. Follows pattern used in cut, copy, and paste.
997         (-[WebView pasteAsPlainText:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge.
998         (-[WebView insertTab:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge.
999         (-[WebView insertBacktab:]): Implemented. Does nothing. If we ever change so that you can use a WebView as
1000         a field editor, then we might have to add code here.
1001         (-[WebView deleteWordForward:]): Implement by calling moveForwardAndModifySelection: and then delete:.
1002         Might not be a perfect implementation in the presence of delegates who refuse to delete because it will
1003         change the selection even if the delete is disallowed.
1004         (-[WebView deleteWordBackward:]): Implement by calling moveBackwardAndModifySelection: and then delete:.
1005         Same issue about about delegates as deleteWordForward:.
1006
1007         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Added a FIXME.
1008
1009         * DOM.subproj/DOMViews.h: Updated from recent change to WebCore.
1010
1011 2004-05-21  Richard Williamson   <rjw@apple.com>
1012
1013         Removed _bindObject:forFrame: SPI.
1014
1015         Reviewed by Chris.
1016
1017         * WebView.subproj/WebView.m:
1018         * WebView.subproj/WebViewPrivate.h:
1019
1020 === Safari-141 ===
1021
1022 2004-05-21  Darin Adler  <darin@apple.com>
1023
1024         Reviewed by Ken and Chris.
1025
1026         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Call replaceSelectionWithText:
1027         instead of replaceSelectionWithMarkupString: when pasting plain text.
1028
1029         * WebView.subproj/WebDataSource.m: (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]):
1030         Remove bogus check for empty markup. There's nothing wrong with an empty string, and no reason
1031         that replacing with empty string should be a no-op instead of a delete.
1032
1033 2004-05-20  Darin Adler  <darin@apple.com>
1034
1035         Reviewed by Chris.
1036
1037         - fixed <rdar://problem/3662383>: (REGRESSION: drag slide-back sometimes causes link to load)
1038
1039         * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge handleMouseDragged:]):
1040         Added BOOL result to handleMouseDragged:.
1041         * WebView.subproj/WebHTMLViewPrivate.h: Added BOOL result to _handleMouseDragged:.
1042
1043         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): Added BOOL result,
1044         returning YES when the drag started, and no when the hysteresis has not yet been overcome.
1045
1046 2004-05-20  Ken Kocienda  <kocienda@apple.com>
1047
1048         Reviewed by Hyatt
1049
1050         Provide the methods to glue the WebView's editing delegate so that these methods work:
1051         
1052         <rdar://problem/3655316>: "Editing: -webViewShouldBeginEditing:inDOMRange: method unimplemented (WebKit editing API)"
1053         <rdar://problem/3655317>: "Editing: -webViewShouldEndEditing:inDOMRange: method unimplemented (WebKit editing API)"
1054
1055         * WebCoreSupport.subproj/WebBridge.m:
1056         (-[WebBridge shouldBeginEditing:]): New method used to glue delegate to focus shifts.
1057         (-[WebBridge shouldEndEditing:]): Ditto.
1058         * WebView.subproj/WebView.m:
1059         (-[WebView _shouldBeginEditingInDOMRange:]): Ditto.
1060         (-[WebView _shouldEndEditingInDOMRange:]): Ditto.
1061         * WebView.subproj/WebViewPrivate.h: Ditto.
1062
1063 2004-05-20  Richard Williamson   <rjw@apple.com>
1064
1065         Fixed typo in header comment.
1066
1067         Reviewed by Ken.
1068
1069         * Plugins.subproj/WebScriptObject.h:
1070
1071 2004-05-19  Chris Blumenberg  <cblu@apple.com>
1072
1073         Fixed: <rdar://problem/3462627>: (API: Need a way to disable/customize dragging)
1074
1075         Reviewed by john.
1076
1077         * Misc.subproj/WebNSPasteboardExtras.m:
1078         (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): fixed bug that caused exception
1079         * WebView.subproj/WebDefaultUIDelegate.m:
1080         (-[WebDefaultUIDelegate webView:shouldBeginDragForElement:dragImage:mouseDownEvent:mouseDraggedEvent:]): new, returns YES
1081         (-[WebDefaultUIDelegate webView:dragOperationForDraggingInfo:overElement:]): new, returns [WebView dragOperationForDraggingInfo:]
1082         (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:overElement:]): new, returns YES
1083         * WebView.subproj/WebDocumentInternal.h: added WebDocumentDragging and WebDocumentElement for document dragging
1084         * WebView.subproj/WebDocumentPrivate.h: moved WebDocumentSelection to WebDocumentInternal.h
1085         * WebView.subproj/WebFrame.m:
1086         (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): 
1087         * WebView.subproj/WebHTMLView.h:
1088         * WebView.subproj/WebHTMLView.m:
1089         (+[WebHTMLView _insertablePasteboardTypes]): new 
1090         (-[WebHTMLView _handleMouseDragged:]): call shouldBeginDragForElement:::: delegate API
1091         (-[WebHTMLView _mayStartDragWithMouseDragged:]): call renamed elementAtPoint SPI
1092         (-[WebHTMLView initWithFrame:]): don't register for drag types since this is handled at the WebView
1093         (-[WebHTMLView menuForEvent:]): call renamed elementAtPoint SPI
1094         (-[WebHTMLView _isSelectionEvent:]): call renamed elementAtPoint SPI
1095         (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): rather than unregistering drag types on the WebView, just tell it that we're dragging
1096         (-[WebHTMLView draggedImage:endedAt:operation:]): ditto
1097         (-[WebHTMLView _canProcessDragWithDraggingInfo:]): new
1098         (-[WebHTMLView dragOperationForDraggingInfo:]): new WebDocumentDragging SPI
1099         (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): ditto
1100         (-[WebHTMLView concludeDragForDraggingInfo:]): ditto
1101         (-[WebHTMLView elementAtPoint:]): renamed from _elementAtPoint since this is part of the WebDocumentElement SPI
1102         * WebView.subproj/WebHTMLViewPrivate.h:
1103         * WebView.subproj/WebImageView.h:
1104         * WebView.subproj/WebImageView.m:
1105         (-[WebImageView elementAtPoint:]): new
1106         (-[WebImageView menuForEvent:]): call elementAtPoint
1107         (-[WebImageView mouseDragged:]): rather than unregistering drag types on the WebView, just tell it that we're dragging
1108         (-[WebImageView draggedImage:endedAt:operation:]): ditto
1109         * WebView.subproj/WebTextView.h:
1110         * WebView.subproj/WebTextView.m:
1111         (-[WebTextView _elementAtWindowPoint:]): new
1112         (-[WebTextView elementAtPoint:]): new
1113         (-[WebTextView menuForEvent:]): call _elementAtWindowPoint
1114         * WebView.subproj/WebView.h:
1115         * WebView.subproj/WebView.m:
1116         (-[WebViewPrivate dealloc]): removed draggedTypes ivar
1117         (+[WebView URLFromPasteboard:]): implemented
1118         (+[WebView URLTitleFromPasteboard:]): implemented
1119         (-[WebView _registerDraggedTypes]): moved
1120         (-[WebView _frameViewAtWindowPoint:]): new
1121         (-[WebView _draggingDocumentViewAtWindowPoint:]): new
1122         (-[WebView _elementAtWindowPoint:]): new
1123         (-[WebView dragOperationForDraggingInfo:]): updated this API to handle subviews that may want to handle drags
1124         (-[WebView _dragOperationForDraggingInfo:]): new, handles UI delegate for drag control
1125         (-[WebView draggingEntered:]): call _dragOperationForDraggingInfo:
1126         (-[WebView draggingUpdated:]): ditto
1127         (-[WebView concludeDragOperation:]): work with the UI delegate and the subview to handle what happens
1128         * WebView.subproj/WebViewPrivate.h:
1129
1130 2004-05-19  Richard Williamson   <rjw@apple.com>
1131
1132         Removed extraneous tabs that were added (by XCode?).
1133         
1134         * DOM.subproj/DOM-compat.h:
1135         * Plugins.subproj/WebScriptObject.h:
1136
1137 2004-05-19  Richard Williamson   <rjw@apple.com>
1138
1139         Updated header copy script to only copy if modified headers
1140         are different.
1141
1142         * copy-webcore-files-to-webkit:
1143
1144 2004-05-19  Ken Kocienda  <kocienda@apple.com>
1145
1146         Reviewed by Hyatt and Darin
1147
1148         Fix for this bug:
1149         
1150         <rdar://problem/3643230>: "can't tab out of contentEditable Elements"
1151
1152         * WebCoreSupport.subproj/WebBridge.m:
1153         (-[WebBridge interceptEditingKeyEvent:]): Renamed from _editingKeyDown. Also now returns
1154         a BOOL to report whether the event was handled or not.
1155         * WebView.subproj/WebView.m:
1156         (-[WebView _interceptEditingKeyEvent:]): Also renamed from _editingKeyDown. Now includes
1157         a check if the web view is editable and whether the event is a tab key event. If the former
1158         is not true and the latter is, the key is not intercepted. This causes the tab to shift once
1159         the key is processed by other non-editing key-handling mechanisms.
1160         * WebView.subproj/WebViewPrivate.h: Changed declaration due to name change.
1161
1162 2004-05-19  Ken Kocienda  <kocienda@apple.com>
1163
1164         Reviewed by Hyatt
1165
1166         * WebCoreSupport.subproj/WebBridge.m:
1167         (-[WebBridge isEditable]): Return the isEditable value for the
1168         WebView which contains this bridge's frame.
1169
1170 2004-05-19  Darin Adler  <darin@apple.com>
1171
1172         - fixed headers with licenses mangled by Xcode auto-indenting
1173
1174         * DOM.subproj/DOMExtensions.h:
1175         * WebCoreSupport.subproj/WebGraphicsBridge.h:
1176         * WebCoreSupport.subproj/WebGraphicsBridge.m:
1177
1178 2004-05-18  David Hyatt  <hyatt@apple.com>
1179
1180         Improve layout scheduling.
1181         Reviewed by kocienda
1182
1183         * WebView.subproj/WebFrame.m:
1184         (-[WebFrame _transitionToLayoutAcceptable]):
1185         (-[WebFrame _checkLoadCompleteForThisFrame]):
1186         * WebView.subproj/WebHTMLRepresentation.m:
1187         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
1188
1189 2004-05-18  Richard Williamson   <rjw@apple.com>
1190
1191         Finished implementation of windowScriptObject.
1192                 Reviewed by Maciej.
1193
1194         * WebView.subproj/WebView.m:
1195         (-[WebView windowScriptObject]):
1196
1197 2004-05-18  Richard Williamson   <rjw@apple.com>
1198
1199         Added WebKit portion of webView:windowScriptObjectAvailable:
1200         implementation.  Still need to implement creating the WebScriptObject
1201         wrapper on the WebCore side.
1202         
1203         Reviewed by Maciej.
1204
1205         Removed "_" from _setPageWidthForPrinting:.  This method facilitates
1206         a work-around for carbon printing.  At some point we may make this
1207         method public API.
1208                 Reviewed by Chris.
1209
1210         * WebCoreSupport.subproj/WebBridge.m:
1211         (-[WebBridge overrideMediaType]):
1212         (-[WebBridge windowObjectCleared]):
1213         * WebView.subproj/WebDefaultFrameLoadDelegate.m:
1214         (-[WebDefaultFrameLoadDelegate webView:windowScriptObjectAvailable:]):
1215         * WebView.subproj/WebHTMLView.m:
1216         (-[WebHTMLView setPageWidthForPrinting:]):
1217
1218 2004-05-18  Darin Adler  <darin@apple.com>
1219
1220         Reviewed by John.
1221
1222         - fixed <rdar://problem/3520322>: "can't use <WebKit/HIWebView.h> or <WebKit/CarbonUtils.h> from non-Objective C"
1223
1224         * Carbon.subproj/CarbonUtils.h: Added ifdefs so file compiles when included from non-Objective-C.
1225         Changed style to match other Carbon headers a bit more closely. Also remove unnecessary includes.
1226         * Carbon.subproj/HIWebView.h: Ditto.
1227
1228         - fixed <rdar://problem/3648505>: "this text file scrolls to the second line instead of first when pressing home"
1229
1230         * WebView.subproj/WebFrameView.m:
1231         (-[WebFrameView _scrollToTopLeft]): Scroll to origin.y instead of assuming that top is 0; can be non-0 for text view.
1232         (-[WebFrameView _scrollToBottomLeft]): Use NSMaxY instead of height for the same reason.
1233
1234 2004-05-17  David Hyatt  <hyatt@apple.com>
1235
1236         Fix for performance regression in PLT caused by not setting _timeOfLastCompletedLoad, causing
1237         page cache to release during the benchmark.
1238         * WebView.subproj/WebFrame.m:
1239         (-[WebFrame _setState:]):
1240
1241 2004-05-17  Chris Blumenberg  <cblu@apple.com>
1242
1243         Implemented new WebView pasteboard methods. Made a lot of factoring changes related to pasteboard management.
1244
1245         Reviewed by john.
1246
1247         * Misc.subproj/WebNSPasteboardExtras.h:
1248         * Misc.subproj/WebNSPasteboardExtras.m:
1249         (+[NSPasteboard _web_writableTypesForURL]): renamed to not include "drag" these types are also used for copying
1250         (+[NSPasteboard _web_writableTypesForImage]): new
1251         (-[NSPasteboard _web_bestURL]): tweak
1252         (-[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
1253         (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): ditto
1254         * Misc.subproj/WebNSViewExtras.m:
1255         (-[NSView _web_dragImage:archive:rect:URL:title:event:]): call renamed methods
1256         * WebView.subproj/WebDefaultContextMenuDelegate.m:
1257         (-[WebDefaultUIDelegate copyLinkToClipboard:]): call code factored out to WebView
1258         (-[WebDefaultUIDelegate copyImageToClipboard:]): ditto
1259         * WebView.subproj/WebDocumentPrivate.h:
1260         * WebView.subproj/WebHTMLView.h:
1261         * WebView.subproj/WebHTMLView.m:
1262         (-[WebHTMLView _selectedRTFData]): new factored out method
1263         (-[WebHTMLView _writeSelectionToPasteboard:]): factored code out to writeSelectionWithPasteboardTypes:toPasteboard:
1264         (-[WebHTMLView _dragImageForLinkElement:]): tweak
1265         (-[WebHTMLView _handleMouseDragged:]): call renamed methods
1266         (-[WebHTMLView pasteboardTypesForSelection]): new
1267         (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new, code moved from _writeSelectionToPasteboard:
1268         * WebView.subproj/WebHTMLViewPrivate.h:
1269         * WebView.subproj/WebImageView.h:
1270         * WebView.subproj/WebImageView.m:
1271         (-[WebImageView writeImageToPasteboard:types:]): call renamed methods
1272         (-[WebImageView copy:]):
1273         (-[WebImageView writeSelectionToPasteboard:types:]): call renamed methods
1274         * WebView.subproj/WebTextView.h:
1275         * WebView.subproj/WebTextView.m:
1276         (-[WebTextView pasteboardTypesForSelection]): new
1277         (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new
1278         * WebView.subproj/WebView.m:
1279         (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]): new
1280         (-[WebView _writeLinkElement:withPasteboardTypes:toPasteboard:]): mew
1281         (-[WebView dragOperationForDraggingInfo:]): implemented API
1282         (-[WebView draggingEntered:]): call API
1283         (-[WebView draggingUpdated:]): ditto
1284         (-[WebView concludeDragOperation:]): ditto
1285         (-[WebView pasteboardTypesForSelection]): implemented API
1286         (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): ditto
1287         (-[WebView pasteboardTypesForElement:]): ditto
1288         (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): ditto
1289         * WebView.subproj/WebViewPrivate.h:
1290
1291 2004-05-17  Ken Kocienda  <kocienda@apple.com>
1292
1293         Reviewed by John
1294
1295         Remove overrides in WebView for scrollPageDown and scrollPageUp.
1296         NSView behavior gives us just what we want, and there is no
1297         special behavior required for editing.
1298
1299         <rdar://problem/3655364>: "Editing: -scrollPageDown: method unimplemented (WebKit editing API)"
1300         <rdar://problem/3655365>: "Editing: -scrollPageUp: method unimplemented (WebKit editing API)"
1301
1302         * WebView.subproj/WebView.h: Comment methods out and add a note about why.
1303         * WebView.subproj/WebView.m: Remove stubbed out implementation.
1304
1305 2004-05-14  Vicki Murley  <vicki@apple.com>
1306
1307         Reviewed by mjs.
1308  
1309         <rdar://problem/3642427>: framework marketing number should be 2.0 for DoubleBarrel release
1310
1311         * WebKit.pbproj/project.pbxproj: change CFBundleShortVersionString to 2.0
1312
1313 2004-05-14  David Hyatt  <hyatt@apple.com>
1314
1315         Eliminate timedLayout.
1316         Reviewed by darin
1317
1318         * WebView.subproj/WebFrame.m:
1319         (-[WebFramePrivate dealloc]):
1320         (-[WebFrame _detachFromParent]):
1321         (-[WebFrame _transitionToLayoutAcceptable]):
1322         (-[WebFrame _setState:]):
1323         (-[WebFrame _checkLoadCompleteForThisFrame]):
1324         (-[WebFrame stopLoading]):
1325         * WebView.subproj/WebFramePrivate.h:
1326
1327 === Safari-140 ===
1328
1329 2004-05-14  Chris Blumenberg  <cblu@apple.com>
1330
1331         Fixed: <rdar://problem/3655495>: (exception loading applets)
1332
1333         Reviewed by kocienda.
1334
1335         * WebCoreSupport.subproj/WebBridge.m:
1336         (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): when calling old cocoa plug-ins, use old keys
1337
1338 2004-05-14  Chris Blumenberg  <cblu@apple.com>
1339
1340         Fixed: <rdar://problem/3655204>: (repro assertion failure and crash loading java applets)
1341
1342         Reviewed by kocienda.
1343
1344         * WebCoreSupport.subproj/WebBridge.m:
1345         (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): call pluginViewWithArguments: for old Cocoa plug-ins
1346
1347 2004-05-14  Chris Blumenberg  <cblu@apple.com>
1348
1349         Copied headers from WebCore.
1350
1351         * DOM.subproj/DOMCore.h:
1352         * DOM.subproj/DOMEvents.h:
1353
1354 2004-05-14  Ken Kocienda  <kocienda@apple.com>
1355
1356         Reviewed by me
1357
1358         * Plugins.subproj/WebPluginController.m:
1359         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Fixed a compile error: undeclared identifier. 
1360         Looked like a typo.
1361
1362 2004-05-13  Richard Williamson   <rjw@apple.com>
1363
1364         Backed out mistaken change that I didn't mean to checkin.
1365
1366         * WebCoreSupport.subproj/WebBridge.m:
1367         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1368
1369 2004-05-13  Richard Williamson   <rjw@apple.com>
1370
1371         Updated to reflect new API.
1372
1373         Reviewed by Chris.
1374
1375         * WebCoreSupport.subproj/WebBridge.m:
1376         (-[WebBridge setIsSelected:forView:]):
1377         * WebView.subproj/WebFrame.m:
1378         (-[WebFrame _reloadForPluginChanges]):
1379
1380 2004-05-13  Chris Blumenberg  <cblu@apple.com>
1381
1382         Fixed some indenting issues in public headers.
1383
1384         * Plugins.subproj/WebJavaPlugIn.h:
1385         * Plugins.subproj/WebPlugin.h:
1386         * Plugins.subproj/WebScriptObject.h:
1387         * WebView.subproj/WebEditingDelegate.h:
1388         * WebView.subproj/WebFrameView.h:
1389         * WebView.subproj/WebPolicyDelegate.h:
1390         * WebView.subproj/WebResourceLoadDelegate.h:
1391         * WebView.subproj/WebView.h:
1392
1393 2004-05-13  Ken Kocienda  <kocienda@apple.com>
1394
1395         Reviewed by Chris
1396
1397         Moved -DOMDocument convenience back to private header.
1398         I mistakenly moved it to the public header earlier today.
1399
1400         * WebView.subproj/WebView.h: Removed
1401         * WebView.subproj/WebViewPrivate.h: Re-added
1402
1403 2004-05-13  Richard Williamson   <rjw@apple.com>
1404
1405         Updated to implementation to reflect new API.  Left old SPI
1406         in place for compatibility.  Can remove when the Java plug-in
1407         updates.
1408
1409         Reviewed by Chris.
1410
1411         * Plugins.subproj/WebPlugin.h:
1412         * Plugins.subproj/WebPluginContainer.h:
1413         * Plugins.subproj/WebPluginController.h:
1414         * Plugins.subproj/WebPluginController.m:
1415         (-[WebPluginController startAllPlugins]):
1416         (-[WebPluginController stopAllPlugins]):
1417         (-[WebPluginController addPlugin:]):
1418         (-[WebPluginController destroyAllPlugins]):
1419         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
1420         (-[WebPluginController showURL:inFrame:]):
1421         (-[WebPluginController webPlugInContainerShowStatus:]):
1422         (-[WebPluginController showStatus:]):
1423         (-[WebPluginController webPlugInContainerSelectionColor]):
1424         (-[WebPluginController selectionColor]):
1425         (-[WebPluginController webFrame]):
1426
1427 2004-05-13  Chris Blumenberg  <cblu@apple.com>
1428
1429         - Added stubs for WebView action and drag & drop customization API's
1430         - Fixed: <rdar://problem/3616555>: (API: Make DOM extensions and WebKit DOM operations public)
1431
1432         Reviewed by rjw.
1433
1434         * DOM.subproj/WebDOMOperations.h: added remaining DOM operations
1435         * DOM.subproj/WebDOMOperationsPrivate.h:
1436         * Misc.subproj/WebKit.h: added new public headers
1437         * WebKit.pbproj/project.pbxproj:
1438         * WebKit.exp: added symbol for WebElementDOMNodeKey
1439         * WebView.subproj/WebUIDelegate.h: added new UI delegate methods
1440         * WebView.subproj/WebView.h: added new pasteboard related methods
1441         * WebView.subproj/WebView.m:
1442         (+[WebView URLFromPasteboard:]): new stub
1443         (+[WebView URLTitleFromPasteboard:]): new stub
1444         (-[WebView dragOperationForDraggingInfo:]): new stub
1445         (-[WebView pasteboardTypesForSelection]): new stub
1446         (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): new stub
1447         (-[WebView pasteboardTypesForElement:]): new stub
1448         (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): new stub
1449         * WebView.subproj/WebViewPrivate.h:
1450
1451 2004-05-13  Richard Williamson   <rjw@apple.com>
1452
1453         Changed imports of all DOM headers.  DOM headers
1454         should be imported using the normal #import <WebCore/foo.h>,
1455         they import is modified when copied to WebKit.
1456
1457         Other approved API changes.  Currently unimplemented.
1458
1459         Reviewed by Chris.
1460
1461         * ChangeLog:
1462         * DOM.subproj/DOM.h:
1463         * DOM.subproj/DOMCSS.h:
1464         * DOM.subproj/DOMCore.h:
1465         * DOM.subproj/DOMEvents.h:
1466         * DOM.subproj/DOMExtensions.h:
1467         * DOM.subproj/DOMHTML.h:
1468         * DOM.subproj/DOMRange.h:
1469         * DOM.subproj/DOMStylesheets.h:
1470         * DOM.subproj/DOMTraversal.h:
1471         * DOM.subproj/DOMViews.h:
1472         * Plugins.subproj/WebPlugin.h:
1473         * Plugins.subproj/WebPluginContainer.h:
1474         * Plugins.subproj/WebPluginPackage.m:
1475         * Plugins.subproj/WebPluginViewFactory.h:
1476         * Plugins.subproj/WebScriptObject.h:
1477         * WebCoreSupport.subproj/WebBridge.m:
1478         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1479         (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
1480         * WebKit.exp:
1481         * WebKit.pbproj/project.pbxproj:
1482         * WebView.subproj/WebFrameLoadDelegate.h:
1483         * WebView.subproj/WebView.h:
1484         * WebView.subproj/WebView.m:
1485         (-[WebView windowScriptObject]):
1486         * copy-webcore-files-to-webkit:
1487
1488 2004-05-13  Ken Kocienda  <kocienda@apple.com>
1489
1490         Reviewed by Kevin
1491
1492         Move WebKit editing APIs to public API files.
1493
1494         * WebCoreSupport.subproj/WebBridge.m: Add WebEditingDelegate include.
1495         * WebKit.pbproj/project.pbxproj: Go Xcode!
1496         * WebView.subproj/WebDefaultEditingDelegate.m: Remove WebViewPrivate include; add WebEditingDelegate include.
1497         * WebView.subproj/WebEditingDelegate.h: Added. New file.
1498         * WebView.subproj/WebView.h: Move API-approved interfaces to this file.
1499         * WebView.subproj/WebView.m: Add WebEditingDelegate include.
1500         * WebView.subproj/WebViewPrivate.h: Move API-approved interfaces from this file.
1501
1502 2004-05-12  Chris Blumenberg  <cblu@apple.com>
1503
1504         Fixed: 
1505         <rdar://problem/3633296>: (Japanese input is not working properly in Carbon Web Kit applications (including CarbonWeb))
1506         <rdar://problem/3631390>: (can't toggle between Input Methods (IMEs) using cmd-space in Carbon Web Kit applications)
1507
1508         Reviewed by rjw.
1509
1510         * Carbon.subproj/CarbonWindowAdapter.m:
1511         (-[CarbonWindowAdapter sendSuperEvent:]): call [NSInputContext processInputKeyBindings:inEvent] just as NSApp does
1512         * Carbon.subproj/HIWebView.m:
1513         (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.
1514
1515 2004-05-11  Chris Blumenberg  <cblu@apple.com>
1516
1517         Fixed:
1518         <rdar://problem/3616537>: (API: Make WebResource, WebArchive and related API's public)
1519         <rdar://problem/3616471>: (API: provide way to get from WebFrame to DOMDocument and vice versa)
1520
1521         Reviewed by rjw.
1522
1523         * DOM.subproj/WebDOMOperations.h:
1524         * DOM.subproj/WebDOMOperations.m:
1525         (-[DOMHTMLFrameElement contentFrame]): new
1526         (-[DOMHTMLIFrameElement contentFrame]): new
1527         (-[DOMHTMLObjectElement contentFrame]): new
1528         * DOM.subproj/WebDOMOperationsPrivate.h:
1529         * Misc.subproj/WebNSImageExtras.m:
1530         (-[NSImage _web_saveAndOpen]): fixed leak
1531         * WebKit.pbproj/project.pbxproj:
1532         * WebView.subproj/WebDataSource.h:
1533         * WebView.subproj/WebDataSource.m:
1534         (-[WebDataSource _addSubresources:]): made private
1535         (-[WebDataSource _archiveWithMarkupString:nodes:]): handle object tags with frame content
1536         (-[WebDataSource _archiveWithCurrentState:]): renamed from _archive, now takes flag
1537         (-[WebDataSource _replaceSelectionWithArchive:]): call renamed _addSubresources
1538         (-[WebDataSource webArchive]): new
1539         (-[WebDataSource mainResource]): new
1540         (-[WebDataSource subresources]): made public
1541         (-[WebDataSource subresourceForURL:]): made public
1542         (-[WebDataSource addSubresource:]): made public
1543         * WebView.subproj/WebDataSourcePrivate.h:
1544         * WebView.subproj/WebDocumentPrivate.h:
1545         * WebView.subproj/WebFrame.h:
1546         * WebView.subproj/WebFrame.m:
1547         (-[WebFrame _loadRequest:subresources:subframeArchives:]): call renamed _addSubresources
1548         (-[WebFrame DOMDocument]): new
1549         (-[WebFrame frameElement]): new
1550         (-[WebFrame loadArchive:]): made public
1551         * WebView.subproj/WebFramePrivate.h:
1552         * WebView.subproj/WebHTMLRepresentation.m:
1553         (-[WebHTMLRepresentation loadArchive]): call renamed _addSubresources
1554         * WebView.subproj/WebImageRepresentation.m:
1555         (-[WebImageRepresentation archive]): call webArchive on WebDataSource
1556
1557 2004-05-10  Maciej Stachowiak  <mjs@apple.com>
1558
1559         Reviewed by Darin.
1560
1561         - avoid redecoding animated images that are only used once for
1562         ~2.5% iBench speedup (WebCore part of fix)
1563
1564         * WebCoreSupport.subproj/WebImageRenderer.h:
1565         * WebCoreSupport.subproj/WebImageRenderer.m:
1566         (-[WebImageRenderer increaseUseCount]):
1567         (-[WebImageRenderer decreaseUseCount]):
1568         (-[WebImageRenderer retainOrCopyIfNeeded]):
1569
1570 2004-05-10  Maciej Stachowiak  <mjs@apple.com>
1571
1572         Fix build.
1573
1574         * WebView.subproj/WebFrame.m:
1575
1576 2004-05-09  Maciej Stachowiak  <mjs@apple.com>
1577
1578         Reviewed by Ken.
1579
1580         - avoid messing with undo manager needlessly for ~1% HTML iBench speedup
1581
1582         * WebCoreSupport.subproj/WebBridge.h:
1583         * WebCoreSupport.subproj/WebBridge.m:
1584         (-[WebBridge registerCommandForUndo:]): mark undo/redo item flag
1585         (-[WebBridge registerCommandForRedo:]): ditto
1586         (-[WebBridge clearUndoRedoOperations]): check flag before removing items,
1587         and clear it after removing them
1588
1589 2004-05-08  Maciej Stachowiak  <mjs@apple.com>
1590
1591         Reviewed by Darin.
1592
1593         - -[WebFrame childFrames] is so hot that a special internal
1594         version which avoids the copy and autorelease results in a .75%
1595         performance improvement on HTML iBench.
1596
1597         * WebView.subproj/WebFramePrivate.h: Prototype new method.
1598         * WebView.subproj/WebFrame.m:
1599         (-[WebFrame _internalChildFrames]): New method, just returns
1600         internal value instead of copying.
1601
1602         (-[WebFrame _descendantFrameNamed:]): Use it
1603         (-[WebFrame _textSizeMultiplierChanged]): likewise
1604         (-[WebFrame _viewWillMoveToHostWindow:]): likewise
1605         (-[WebFrame _viewDidMoveToHostWindow]): likewise
1606         (-[WebFrame _saveDocumentAndScrollState]): likewise
1607         (-[WebFrame _numPendingOrLoadingRequests:]): likewise
1608         (-[WebFrame _checkLoadComplete]): Refactored this and it's two
1609         helpers a little so we could get away with using
1610         _internalChildFrames.
1611         (-[WebFrame _checkLoadCompleteForThisFrame]): Renamed from
1612         _isLoadComplete
1613         (-[WebFrame _recursiveCheckLoadComplete]): renamed from (class
1614         method) _recursiveCheckCompleteFromFrame:
1615         * WebView.subproj/WebDataSource.m:
1616         (-[WebDataSource _defersCallbacksChanged]): Use it
1617         (-[WebDataSource isLoading]): likewise
1618         * WebView.subproj/WebView.m:
1619         (-[WebView _frameForDataSource:fromFrame:]): likewise
1620         (-[WebView _frameForView:fromFrame:]): likewise
1621
1622 2004-05-10  Chris Blumenberg  <cblu@apple.com>
1623
1624         Forgot to commit this copied header.
1625
1626         * DOM.subproj/DOMExtensions.h:
1627
1628 === Safari-139 ===
1629
1630 2004-05-06  Chris Blumenberg  <cblu@apple.com>
1631
1632         * DOM.subproj/WebDOMOperations.h: improved a header doc comment
1633
1634 2004-05-05  Chris Blumenberg  <cblu@apple.com>
1635
1636         - DOM Extensions API tweaks
1637
1638         Reviewed by kocienda.
1639
1640         * DOM.subproj/DOMExtensions.h: copied from WebCore
1641         * DOM.subproj/WebDOMOperations.h: added header doc comments
1642         * DOM.subproj/WebDOMOperations.m:
1643         (-[DOMNode _URLsFromSelectors:]): use renamed URLWithAttributeString
1644         (-[DOMDocument URLWithAttributeString:]): renamed
1645         (-[DOMHTMLTableElement _web_background]): new private method
1646         (-[DOMHTMLTableElement _subresourceURLs]): use new private method
1647         (-[DOMHTMLTableCellElement _web_background]): new private method
1648         (-[DOMHTMLTableCellElement _subresourceURLs]): use new private method
1649
1650 2004-05-04  Ken Kocienda  <kocienda@apple.com>
1651
1652         Reviewed by Hyatt
1653
1654         * DOM.subproj/DOMTraversal.h: File coppied from WebCore
1655
1656 2004-05-02  Darin Adler  <darin@apple.com>
1657
1658         Reviewed by Ken.
1659
1660         - fixed <rdar://problem/3640419>: "_webkit_stringByReplacingValidPercentEscapes does not handle %00 properly"
1661
1662         * Misc.subproj/WebNSURLExtras.m: (-[NSString _webkit_stringByReplacingValidPercentEscapes]):
1663         Use the function in NSURL instead of implementing our own here.
1664
1665 2004-04-30  John Sullivan  <sullivan@apple.com>
1666
1667         * WebView.subproj/WebView.m:
1668         fixed deployment build breakage
1669         
1670 2004-04-30  John Sullivan  <sullivan@apple.com>
1671
1672         - more work on getting the font panel to work with editable HTML.
1673         The font panel in Blot now correctly reflects the first selected font when the
1674         selection is at least one character long.
1675
1676         Reviewed by Ken.
1677
1678         * WebView.subproj/WebView.m:
1679         removed unfinished plumbing to support reflecting selected attributes (e.g. text color,
1680         underline) in font panel, since this doesn't work in Mail or TextEdit either.
1681         (_fontFromStyle):
1682         removed assertion for now
1683         (-[WebView _updateFontPanel]):
1684         now uses new bridge method to get the NSFont from the node, instead of trying
1685         to create an NSFont from a DOMCSSStyleDeclaration
1686
1687 2004-04-29  John Sullivan  <sullivan@apple.com>
1688
1689         - more work on getting the font panel to work with editable HTML
1690
1691         Reviewed by Ken.
1692
1693         * WebView.subproj/WebView.m:
1694         (-[WebView computedStyleForElement:pseudoElement:]):
1695         convert nil pseudoElement to empty string because lower level chokes on nil
1696         (_fontFromStyle):
1697         I tried to implement this, but was thwarted by missing API, so I added a
1698         bunch of FIXMEs instead
1699         (_stylesRepresentSameFont):
1700         new function, not yet implementable
1701         (_stylesRepresentSameAttributes):
1702         new function, not yet implementable
1703         (-[WebView _updateFontPanel]):
1704         added code to get first and last element in selection, and to use
1705         NodeIterator to walk through the entire selection to see if more than one
1706         font or set of attributes is in use. However, createNodeIterator is declared
1707         in DOMTraversal.h but not actually defined anywhere, so I had to prevent this
1708         code from actually being called.
1709
1710 2004-04-28  Chris Blumenberg  <cblu@apple.com>
1711
1712         - Made WebArchive and WebResource conform to NSCoding and NSCopying.
1713
1714         Reviewed by rjw.
1715
1716         * DOM.subproj/WebDOMOperations.h: added header doc comment for WebArchive methods
1717         * WebView.subproj/WebArchive.h:
1718         * WebView.subproj/WebArchive.m:
1719         (-[WebArchive initWithCoder:]): new
1720         (-[WebArchive encodeWithCoder:]): new
1721         (-[WebArchive copyWithZone:]): new
1722         * WebView.subproj/WebResource.h:
1723         * WebView.subproj/WebResource.m:
1724         (-[WebResource init]): new
1725         (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call [self init]
1726         (-[WebResource initWithCoder:]): new
1727         (-[WebResource encodeWithCoder:]): new
1728         (-[WebResource copyWithZone:]): new
1729
1730 2004-04-28  John Sullivan  <sullivan@apple.com>
1731
1732         A little bit more progress in wiring up the font panel.
1733
1734         Reviewed by Ken.
1735
1736         * WebView.subproj/WebViewInternal.h:
1737         put _updateFontPanel here. Also moved _isLoading here, since it was
1738         already in a category named WebInternal
1739
1740         * WebView.subproj/WebView.m:
1741         (-[WebView _isLoading]):
1742         moved into WebInternal category implementation
1743         (_textAttributesFromStyle):
1744         changed from method to function
1745         (_fontFromStyle):
1746         added, guts not filled in yet
1747         (-[WebView _updateFontPanel]):
1748         now calls these two functions (but results are always nil)
1749         (-[WebView setSelectedDOMRange:affinity:]):
1750         remove call to _updateFontPanel here since it's now called in
1751         the proper bottleneck
1752
1753         * WebCoreSupport.subproj/WebBridge.m:
1754         (-[WebBridge postDidChangeNotification]):
1755         call -[WebView _updateFontPanel] in addition to sending notification
1756         (-[WebBridge postDidChangeSelectionNotification]):
1757         ditto
1758
1759 2004-04-28  John Sullivan  <sullivan@apple.com>
1760
1761         - fixed these bugs:
1762         <rdar://problem/3636570>: "API: [WebPreferences tabsToLinks] should be public API"        
1763         <rdar://problem/3610597>: "API: could turn "stealth browsing" preference into API"
1764
1765         Reviewed by Darin.
1766         
1767         I just moved the declarations and implementations from one place to another.
1768         (No clients in WebKit needed their #imports updated.) This confused cvs diff quite a bit.
1769
1770         * WebView.subproj/WebPreferences.h:
1771         * WebView.subproj/WebPreferences.m:
1772         (-[WebPreferences setTabsToLinks:]):
1773         (-[WebPreferences tabsToLinks]):
1774         (-[WebPreferences setPrivateBrowsingEnabled:]):
1775         (-[WebPreferences privateBrowsingEnabled]):
1776         (-[WebPreferences _pageCacheSize]):
1777         (-[WebPreferences _objectCacheSize]):
1778         (-[WebPreferences _backForwardCacheExpirationInterval]):
1779         * WebView.subproj/WebPreferencesPrivate.h:
1780
1781 2004-04-27  David Hyatt  <hyatt@apple.com>
1782
1783         Cut the time spent on an operation inside widthForNextCharacter from 17% of the function time down to less than 
1784         5% merely by adding a check for non-zero letter-spacing (thus avoiding double precision math in the 
1785         common case where we just add 0 between letters).
1786         Reviewed by rjw
1787
1788         * WebCoreSupport.subproj/WebTextRenderer.m:
1789         (widthForNextCharacter):
1790
1791 2004-04-28  John Sullivan  <sullivan@apple.com>
1792
1793         Initial plumbing to get the font panel to be updated from an editable
1794         WebView.
1795
1796         Reviewed by Ken.
1797
1798         * WebView.subproj/WebView.m:
1799         (-[WebView _textAttributesFromStyle:]):
1800         new dummy method, will need implementation
1801         (-[WebView _updateFontPanel]):
1802         new method, sets the font shown in the font panel from the current
1803         selection. Lots of placeholder stuff.
1804         (-[WebView setSelectedDOMRange:affinity:]):
1805         call _updateFontPanel here for now.
1806
1807 2004-04-28  Ken Kocienda  <kocienda@apple.com>
1808
1809         Reviewed by Darin
1810
1811         * WebCoreSupport.subproj/WebBridge.m:
1812         (-[WebBridge postDidChangeNotification]): Posts Cocoa notification when the document changes
1813         due to editing.
1814         (-[WebBridge postDidChangeSelectionNotification]): Posts Cocoa notification when the document selection
1815         changes.
1816         * WebKit.exp: Export editing notification string constants.
1817         * WebView.subproj/WebView.m: Define editing notification string constants.
1818         (-[WebView computedStyleForElement:pseudoElement:]): Add implementation.
1819         (-[WebView setEditingDelegate:]): Do work to set up delegate to receive notification callbacks.
1820         (-[WebView DOMDocument]): Simplify to just call the bridge DOMDocument. No need to jump through hoops here.
1821         (-[WebView insertNewline:]): Consult delegate before taking action.
1822         (-[WebView deleteBackward:]): Ditto.
1823         (-[WebView insertText:]): Ditto.
1824
1825 2004-04-27  John Sullivan  <sullivan@apple.com>
1826
1827         Fixed broken development build.
1828
1829         * WebView.subproj/WebFrame.m:
1830         (-[WebFrame _transitionToLayoutAcceptable]):
1831         updated bad variable name used only in LOG statement to match
1832         recent change.
1833
1834 2004-04-27  Richard Williamson   <rjw@apple.com>
1835
1836         Fixes for:
1837
1838         <rdar://problem/3279301>: API: WebKitErrorCannotFindPlugin and WebKitErrorCannotLoadPlugin should use PlugIn
1839         <rdar://problem/3278513>: API: Need API to control the size of WebHistory
1840         <rdar://problem/3564519>: API: please add a way to set the media type for a WebView
1841         <rdar://problem/3565642>: API: allow a way to extend the MIME types that a WebView will display
1842         <rdar://problem/3577693>: API: add ability to subclass WebView but still use it with Carbon
1843         
1844         Reviewed by Chris.
1845
1846         * Carbon.subproj/HIWebView.h:
1847         * Carbon.subproj/HIWebView.m:
1848         (HIWebViewCreate):
1849         (HIWebViewCreateWithClass):
1850         (HIWebViewConstructor):
1851         * History.subproj/WebHistory.h:
1852         * History.subproj/WebHistory.m:
1853         (-[WebHistoryPrivate setHistoryAgeInDaysLimit:]):
1854         (-[WebHistoryPrivate historyAgeInDaysLimit]):
1855         (-[WebHistoryPrivate setHistoryItemLimit:]):
1856         (-[WebHistoryPrivate historyItemLimit]):
1857         (-[WebHistoryPrivate _ageLimitDate]):
1858         (-[WebHistoryPrivate arrayRepresentation]):
1859         (-[WebHistory setHistoryItemLimit:]):
1860         (-[WebHistory historyItemLimit]):
1861         (-[WebHistory setHistoryAgeInDaysLimit:]):
1862         (-[WebHistory historyAgeInDaysLimit]):
1863         * History.subproj/WebHistoryPrivate.h:
1864         * Misc.subproj/WebKitErrors.h:
1865         * Misc.subproj/WebKitErrors.m:
1866         (registerErrors):
1867         * Plugins.subproj/WebNetscapePluginDocumentView.m:
1868         (-[WebNetscapePluginDocumentView setDataSource:]):
1869         * WebCoreSupport.subproj/WebBridge.m:
1870         (-[WebBridge isViewSelected:]):
1871         (-[WebBridge overrideMediaType]):
1872         * WebView.subproj/WebView.h:
1873         * WebView.subproj/WebView.m:
1874         (-[WebViewPrivate dealloc]):
1875         (+[WebView MIMETypesShownAsHTML]):
1876         (+[WebView setMIMETypesShownAsHTML:]):
1877         (-[WebView customUserAgent]):
1878         (-[WebView setMediaStyle:]):
1879         (-[WebView mediaStyle]):
1880         * WebView.subproj/WebViewPrivate.h:
1881
1882 2004-04-27  David Hyatt  <hyatt@apple.com>
1883
1884         Eliminate the preferences for timed/resource layouts.  Accessing them is now taking 0.5% on the cvs-base
1885         test, so we're just going to hardcode the values instead.
1886         Reviewed by mjs
1887
1888         * WebView.subproj/WebFrame.m:
1889         (-[WebFrame _transitionToLayoutAcceptable]):
1890         (-[WebFrame _isLoadComplete]):
1891         * WebView.subproj/WebPreferences.m:
1892         (+[WebPreferences initialize]):
1893         (-[WebPreferences _objectCacheSize]):
1894         * WebView.subproj/WebPreferencesPrivate.h:
1895         * WebView.subproj/WebView.m:
1896         (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]):
1897
1898 2004-04-27  Ken Kocienda  <kocienda@apple.com>
1899
1900         Reviewed by Hyatt
1901         
1902         Make selections draw in a more Cocoa-like way, where
1903         fully-selected lines draw out to the ends of lines, and
1904         spaces between lines are drawn with the selection color as well.
1905
1906         * Misc.subproj/WebKitNSStringExtras.m: Use new WebCoreTextGeometry struct. No change in functionality.
1907         * WebCoreSupport.subproj/WebTextRenderer.m:
1908         (-[WebTextRenderer drawRun:style:geometry:]): Use new WebCoreTextGeometry struct. No change in functionality.
1909         (-[WebTextRenderer drawHighlightForRun:style:geometry:]): Ditto.
1910         (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]): Many changes to add the new selection drawing behavior.
1911         (-[WebTextRenderer _CG_drawRun:style:geometry:]):  Use new WebCoreTextGeometry struct. No change in functionality.
1912         (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Many changes to add the new selection drawing behavior.
1913         (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):  Use new WebCoreTextGeometry struct. No change in functionality.
1914
1915 2004-04-26  Richard Williamson   <rjw@apple.com>
1916
1917         Added support for specifying composite operation on an
1918         image element, i.e.:
1919
1920         <img composite="source-over" src="triangle.png">
1921         <img style="position:relative; left:-200px;" composite="destination-in" src="circle.png">
1922
1923         This feature was requested by the dashboard guys.  They can use it to apply
1924         transparency masks to widgies.
1925
1926
1927         Reviewed by Ken.
1928
1929         * WebCoreSupport.subproj/WebImageRenderer.h:
1930         * WebCoreSupport.subproj/WebImageRenderer.m:
1931         (-[WebImageRenderer initWithMIMEType:]):
1932         (-[WebImageRenderer initWithData:MIMEType:]):
1933         (-[WebImageRenderer initWithContentsOfFile:]):
1934         (-[WebImageRenderer copyWithZone:]):
1935         (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
1936         (-[WebImageRenderer drawImageInRect:fromRect:]):
1937         (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:]):
1938
1939 2004-04-26  Chris Blumenberg  <cblu@apple.com>
1940
1941         More header doc changes after John's review.
1942         * WebView.subproj/WebDataSourcePrivate.h:
1943         * WebView.subproj/WebResource.h:
1944
1945 2004-04-26  Chris Blumenberg  <cblu@apple.com>
1946
1947         * WebView.subproj/WebDataSourcePrivate.h: added some header doc comments
1948         * WebView.subproj/WebFramePrivate.h: fixed header doc typo
1949
1950 2004-04-24  Darin Adler  <darin@apple.com>
1951
1952         Reviewed by Dave.
1953
1954         * Misc.subproj/WebNSURLExtras.m: (hexDigit): Use capitalized hex, not lowercase, for consistency
1955         with similar functions in WebCore and what other web browsers do.
1956
1957 2004-04-23  Darin Adler  <darin@apple.com>
1958
1959         Reviewed by Maciej.
1960
1961         - fixed <rdar://problem/3627362>: "bad access with libgmalloc in -[_WebCoreHistoryProvider containsItemForURLUnicode:length:]"
1962
1963         * History.subproj/WebHistory.m:
1964         (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]): Add range checks so we
1965         don't overrun the buffer while looking for slashes.
1966
1967 2004-04-23  Chris Blumenberg  <cblu@apple.com>
1968
1969         Reviewed by John
1970
1971         Added header doc comments to proposed API's.
1972
1973         * WebView.subproj/WebArchive.h:
1974         * WebView.subproj/WebFramePrivate.h:
1975         * WebView.subproj/WebResource.h:
1976
1977 === Safari-138 ===
1978
1979 2004-04-23  Ken Kocienda  <kocienda@apple.com>
1980
1981         Reviewed by John
1982
1983         Added some plumbing for applying styles.
1984
1985         * DOM.subproj/DOMExtensions.h: Copied from WebCore.
1986         * WebView.subproj/WebView.m:
1987         (-[WebView DOMDocument]): Added new helper.
1988         (-[WebView styleDeclarationWithText:]): Added new helper.
1989         * WebView.subproj/WebViewPrivate.h: Declare above methods.
1990
1991 2004-04-22  Richard Williamson   <rjw@apple.com>
1992
1993         Updates to plugin binding APIs.
1994         Updates to Java plugin APIs.
1995         Transparency fix for Dashboard.
1996         Reviewed by John and Greg Bolsinga.
1997
1998         * Plugins.subproj/WebPluginJava.h: Added.
1999         New API for Java plugin.        
2000
2001         * Plugins.subproj/npfunctions.h:
2002         * Plugins.subproj/npruntime.h:
2003         (_NPString::):
2004         (_NPString::_NPVariant::):
2005         * Plugins.subproj/npsap.h: Added.
2006         New API for plugin bindings.        
2007
2008         * WebView.subproj/WebHTMLView.m:
2009         (-[WebHTMLView drawRect:]):
2010         Update for Dashboard.  View must fill with transparency when not
2011         drawing background.        
2012
2013         * copy-webcore-files-to-webkit:
2014
2015 2004-04-22  Ken Kocienda  <kocienda@apple.com>
2016
2017         Reviewed by Hyatt
2018
2019         More work to bring code up to date with the latest API proposal. Note that
2020         all of the replaceXXX methods below now operate on the current selection, so
2021         the method implementations have been simplifed accordingly.
2022
2023         * WebView.subproj/WebDataSource.m:
2024         (-[WebDataSource _replaceSelectionWithArchive:]): New name for _replaceSelectionWithWebArchive.
2025         * WebView.subproj/WebDataSourcePrivate.h: Ditto.
2026         * WebView.subproj/WebDefaultEditingDelegate.m:
2027         (-[WebDefaultEditingDelegate webViewShouldBeginEditing:inDOMRange:]): Added inDOMRange: parameter.
2028         (-[WebDefaultEditingDelegate webViewShouldEndEditing:inDOMRange:]): Ditto.
2029         (-[WebDefaultEditingDelegate webView shouldChangeSelectedDOMRange:toDOMRange:proposedRange affinity:stillSelecting:]):
2030         Missed adding affinity in last patch.
2031         * WebView.subproj/WebHTMLView.m:
2032         (-[WebHTMLView _pasteFromPasteboard:]): Call old method with new name: _replaceSelectionWithArchive
2033         * WebView.subproj/WebView.m:
2034         (-[WebView replaceSelectionWithNode:]): New version of insertNode:replacingDOMRange:
2035         (-[WebView replaceSelectionWithText:]): New version of insertText:replacingDOMRange:
2036         (-[WebView replaceSelectionWithMarkupString:]): New version of insertMarkupString:replacingDOMRange:
2037         (-[WebView replaceSelectionWithArchive:]): New version of insertWebArchive:replacingDOMRange:
2038         (-[WebView deleteSelection]): New version of deleteDOMRange:
2039         (-[WebView applyStyle:]): New version of applyStyle:toElementsInDOMRange:
2040         * WebView.subproj/WebViewPrivate.h:
2041
2042 2004-04-22  Ken Kocienda  <kocienda@apple.com>
2043
2044         Reviewed by John
2045
2046         Adds the notion of selection affinity to the editing API, bringing it up to
2047         date with the latest proposal.
2048
2049         * WebView.subproj/WebView.m:
2050         (-[WebView _alterCurrentSelection:direction:granularity:]): Pass selection affinity
2051         to the delegate. We can just pass the current one since this does not change with arrow keys.
2052         (-[WebView setSelectedDOMRange:affinity:]): Set the affinity on the selection.
2053         (-[WebView selectionAffinity]): New accessor.
2054         (-[WebView insertNode:replacingDOMRange:]): Change to pass selection affinity to call
2055         to set selection. This is just to get the code to compile for now, since this method
2056         will soon be removed in place of a similar one from the latest proposal that always
2057         works on the current selection.
2058         (-[WebView insertText:replacingDOMRange:]): Ditto.
2059         (-[WebView insertMarkupString:replacingDOMRange:]): Ditto.
2060         (-[WebView insertWebArchive:replacingDOMRange:]): Ditto.
2061         (-[WebView deleteDOMRange:]): Ditto.
2062         (-[WebView applyStyle:toElementsInDOMRange:]): Ditto.
2063         * WebView.subproj/WebViewPrivate.h: Add selection affinity to API declarations as needed.
2064
2065 2004-04-22  Ken Kocienda  <kocienda@apple.com>
2066
2067         Reviewed by Darin
2068
2069         Work around this bug:
2070         <rdar://problem/3630640>: "Calling interpretKeyEvents: in a custom text view can fail to process keys right after app startup"
2071
2072         * WebView.subproj/WebView.m:
2073         (-[WebView _editingKeyDown:]): The issue is with a message to nil in AppKit
2074         key binding manager code. Add call to [NSKeyBindingManager sharedKeyBindingManager] to make
2075         sure the not-supposed-to-be-nil object is created before calling interpretKeyEvents:.
2076
2077 2004-04-22  Ken Kocienda  <kocienda@apple.com>
2078
2079         Reviewed by Hyatt
2080
2081         Added calls to ensure caret visibility after the editing action is done.
2082
2083         * WebView.subproj/WebView.m:
2084         (-[WebView _alterCurrentSelection:direction:granularity:]):
2085         (-[WebView insertNewline:]):
2086         (-[WebView deleteBackward:]):
2087         (-[WebView insertText:]):
2088
2089 2004-04-20  Chris Blumenberg  <cblu@apple.com>
2090
2091         Fixed: <rdar://problem/3605209>: "HITLIST: REGRESSION (131-132): iframes/frames no longer dump on layout tests"
2092
2093         Reviewed by hyatt.
2094
2095         * WebView.subproj/WebHTMLRepresentation.m:
2096         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): the encoding was not being set in the about:blank case. Call receivedData:textEncodingName: as we did in the past to set it.
2097
2098 2004-04-20  Ken Kocienda  <kocienda@apple.com>
2099
2100         Reviewed by Hyatt
2101
2102          Added implementations for these methods.
2103
2104         * WebView.subproj/WebView.m:
2105         (-[WebView moveUpAndModifySelection:]):
2106         (-[WebView moveWordLeft:]):
2107         (-[WebView moveWordLeftAndModifySelection:]):
2108         (-[WebView moveWordRight:]):
2109         (-[WebView moveWordRightAndModifySelection:]):
2110
2111 2004-04-20  John Sullivan  <sullivan@apple.com>
2112
2113         - fixed <rdar://problem/3622393>: When in stealth mode, visited webpage 
2114         contents should not be cached to disk
2115
2116         Reviewed by Ken.
2117
2118         * WebView.subproj/WebBaseResourceHandleDelegate.m:
2119         (-[WebBaseResourceHandleDelegate willCacheResponse:]):
2120         if will cache to disk and in stealth mode, replace cache response with
2121         an identical one that won't cache to disk.
2122
2123 2004-04-19  Ken Kocienda  <kocienda@apple.com>
2124
2125         Reviewed by Hyatt
2126
2127         * WebView.subproj/WebView.m:
2128         (-[WebView moveDown:]): Added implementation.
2129         (-[WebView moveUp:]): Added implementation.
2130
2131 2004-04-19  Chris Blumenberg  <cblu@apple.com>
2132
2133         Added support for pasting frames via WebArchives.
2134
2135         Reviewed by kocienda.
2136
2137         * WebView.subproj/WebDataSource.m:
2138         (-[WebDataSource _addSubframeArchives:]): renamed, now allows subframe archives to be added at anytime
2139         (-[WebDataSource _popSubframeArchiveWithName:]): renamed, now deletes the returned subframe to consume less memory
2140         (-[WebDataSource _replaceSelectionWithWebArchive:]): added support for subframes
2141         * WebView.subproj/WebDataSourcePrivate.h:
2142         * WebView.subproj/WebFrame.m:
2143         (-[WebFrame _loadRequest:subresources:subframeArchives:]): call renamed methods
2144         (-[WebFrame _loadURL:intoChild:]): ditto
2145         * WebView.subproj/WebHTMLRepresentation.m:
2146         (-[WebHTMLRepresentation loadArchive]): ditto
2147
2148 === Safari-137 ===
2149
2150 2004-04-16  Richard Williamson   <rjw@apple.com>
2151
2152         Added an SPI to allow ObjC instances to be easily bound to 
2153         JS.  This is needed by the dashboard guys for their prototyping.
2154         Eventually they will use new API.
2155
2156         Reviewed by Chris.
2157
2158         * WebView.subproj/WebView.m:
2159         (-[WebView _bindObject:withName:toFrame:]):
2160         * WebView.subproj/WebViewPrivate.h:
2161
2162 2004-04-16  Chris Blumenberg  <cblu@apple.com>
2163
2164         Fixed: <rdar://problem/3587599>: Mail Page, Web Archives don't preserve subframes
2165         Moved code that assembled subresource URLs from DOM nodes from WebCore to WebKit.
2166
2167         Reviewed by rjw.
2168
2169         * DOM.subproj/DOMExtensions.h: copied from WebCore
2170         * DOM.subproj/WebDOMOperations.h:
2171         * DOM.subproj/WebDOMOperations.m:
2172         (-[DOMNode webArchive]): call renamed methods
2173         (-[DOMNode markupString]): ditto
2174         (-[DOMNode _URLsFromSelectors:]): new, returns array of URLs given selectors
2175         (-[DOMNode _subresourceURLs]): new, base class does nothing, subclasses call _URLsFromSelectors with URL selectors
2176         (-[DOMDocument webFrame]): new
2177         (-[DOMRange webArchive]): call renamed methods
2178         (-[DOMRange markupString]): ditto
2179         (-[DOMHTMLBodyElement _subresourceURLs]): new
2180         (-[DOMHTMLInputElement _subresourceURLs]): new
2181         (-[DOMHTMLLinkElement _subresourceURLs]): new
2182         (-[DOMHTMLScriptElement _subresourceURLs]): new
2183         (-[DOMHTMLImageElement _subresourceURLs]): new
2184         (-[DOMHTMLEmbedElement _subresourceURLs]): new
2185         (-[DOMHTMLObjectElement _subresourceURLs]): new
2186         (-[DOMHTMLParamElement _subresourceURLs]): new
2187         (-[DOMHTMLTableElement _subresourceURLs]): new
2188         (-[DOMHTMLTableCellElement _subresourceURLs]): new
2189         * WebKit.pbproj/project.pbxproj:
2190         * WebView.subproj/WebArchive.h:
2191         * WebView.subproj/WebArchive.m:
2192         (-[WebArchivePrivate dealloc]): release new subframeArchives ivar
2193         (-[WebArchive initWithMainResource:subresources:subframeArchives:]): take subframeArchives
2194         (-[WebArchive _initWithPropertyList:]): new, recursively creates WebArchives
2195         (-[WebArchive initWithData:]): call _initWithPropertyList
2196         (-[WebArchive subframeArchives]): new
2197         (-[WebArchive _propertyListRepresentation]): new, recursively creates property lists of WebArchives
2198         (-[WebArchive data]): call _propertyListRepresentation
2199         * WebView.subproj/WebBaseResourceHandleDelegate.m:
2200         (-[WebBaseResourceHandleDelegate saveResource]): call renamed methods
2201         * WebView.subproj/WebDataSource.m:
2202         (-[WebDataSourcePrivate dealloc]): release new pendingSubframeArchives ivar
2203         (-[WebDataSource _archiveWithMarkupString:nodes:]): renamed and reimplemented, handles subframes
2204         (-[WebDataSource _archive]): new
2205         (-[WebDataSource _setPendingSubframeArchives:]): new
2206         (-[WebDataSource _archiveForFrameName:]): new
2207         * WebView.subproj/WebDataSourcePrivate.h:
2208         * WebView.subproj/WebFrame.m:
2209         (-[WebFrame loadArchive:]): handle subframes
2210         (-[WebFrame _loadRequest:subresources:subframeArchives:]): ditto
2211         (-[WebFrame _loadURL:intoChild:]): use the subframe archive if we have it
2212         (-[WebFrame loadRequest:]): call renamed methods
2213         * WebView.subproj/WebFramePrivate.h:
2214         * WebView.subproj/WebHTMLRepresentation.m:
2215         (-[WebHTMLRepresentation loadWebArchive]): call renamed methods and handle subframes
2216         * WebView.subproj/WebHTMLView.m:
2217         (-[WebHTMLView _selectedArchive:]): call renamed methods
2218         (-[WebHTMLView _pasteFromPasteboard:]): call renamed methods
2219         * WebView.subproj/WebHTMLViewPrivate.h:
2220         * WebView.subproj/WebImageRepresentation.h:
2221         * WebView.subproj/WebImageRepresentation.m: instead of storing some items from the data source, just store the data source
2222         (-[WebImageRepresentation dealloc]): removed use of deleted ivars
2223         (-[WebImageRepresentation URL]): use dataSource instead of ivar
2224         (-[WebImageRepresentation doneLoading]): use new boolean ivar
2225         (-[WebImageRepresentation setDataSource:]): store the data source
2226         (-[WebImageRepresentation receivedData:withDataSource:]): use dataSource instead of ivar
2227         (-[WebImageRepresentation receivedError:withDataSource:]): ditto
2228         (-[WebImageRepresentation finishedLoadingWithDataSource:]): ditto
2229         (-[WebImageRepresentation title]): ditto
2230         (-[WebImageRepresentation data]): ditto
2231         (-[WebImageRepresentation filename]): ditto
2232         (-[WebImageRepresentation archive]): ditto
2233         * WebView.subproj/WebResource.h:
2234         * WebView.subproj/WebResource.m:
2235         (-[WebResourcePrivate dealloc]): release new frame name ivar
2236         (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): take a frame name
2237         (-[WebResource frameName]): new
2238         (-[WebResource _initWithPropertyList:]): handle frame name
2239         (-[WebResource _initWithCachedResponse:originalURL:]): call renamed methods
2240         (-[WebResource _propertyListRepresentation]):
2241         * WebView.subproj/WebResourcePrivate.h: handle frame name
2242
2243 2004-04-15  David Hyatt  <hyatt@apple.com>
2244
2245         Make sure isOpaque returns NO when the WebHTMLVIew doesn't draw its background.
2246         Reviewed by darin
2247
2248         * WebView.subproj/WebFrameView.m:
2249         (-[WebFrameView isOpaque]):
2250         * WebView.subproj/WebHTMLView.m:
2251         (-[WebHTMLView isOpaque]):
2252
2253 2004-04-15  John Sullivan  <sullivan@apple.com>
2254
2255         * WebView.subproj/WebPreferencesPrivate.h:
2256         added comments
2257
2258 2004-04-14  Richard Williamson   <rjw@apple.com>
2259
2260         Updated fix for 3576315.  Don't hardcode 22 as the titlebar
2261         height.  (Note, other places in CarbonWindowFrame DO hardcode
2262         window geometry information, yuck!).
2263
2264         Reviewed by Hyatt.
2265
2266         * Carbon.subproj/CarbonWindowFrame.m:
2267
2268 2004-04-14  John Sullivan  <sullivan@apple.com>
2269
2270         - changed stealth mode preference name from "historyIsFrozen"
2271         to "privateBrowsingEnabled"
2272
2273         Reviewed by Darin.
2274
2275         * WebView.subproj/WebFrame.m:
2276         (-[WebFrame _transitionToCommitted:]):
2277         updated for method name change
2278         
2279         * WebView.subproj/WebPreferences.m:
2280         changed preference key name
2281         (+[WebPreferences initialize]):
2282         updated for preference key name change
2283         (-[WebPreferences setPrivateBrowsingEnabled:]):
2284         changed name from setHistoryIsFrozen:
2285         (-[WebPreferences privateBrowsingEnabled]):
2286         changed name from historyIsFrozen:
2287         
2288         * WebView.subproj/WebPreferencesPrivate.h:
2289         changed declared method names
2290
2291         * English.lproj/StringsNotToBeLocalized.txt:
2292         updated for this and other recent changes
2293
2294 2004-04-13  Chris Blumenberg  <cblu@apple.com>
2295
2296         - Added WebElementDOMNodeKey as a potential API so that clients can get the node from an element dictionary.
2297         - Removed WebElementIsEditableKey. This functionality is available via [DOMNode isContentEditable].
2298
2299         Reviewed by rjw.
2300
2301         * DOM.subproj/WebDOMOperations.h:
2302         * DOM.subproj/WebDOMOperations.m:
2303         (-[DOMDocument URLWithRelativeString:]): new potential API
2304         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2305         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): indenting tweak
2306         (-[WebDefaultUIDelegate copyImageToClipboard:]): use WebElementDOMNodeKey
2307         * WebView.subproj/WebHTMLView.m:
2308         (-[WebHTMLView _handleMouseDragged:]): use WebElementDOMNodeKey
2309         (-[WebHTMLView _dragOperationForDraggingInfo:]): use isContentEditable
2310         * WebView.subproj/WebView.h:
2311         * WebView.subproj/WebView.m:
2312         * WebView.subproj/WebViewPrivate.h:
2313
2314 2004-04-13  Chris Blumenberg  <cblu@apple.com>
2315
2316         Fixed deployment build failure.
2317
2318         Reviewed by john.
2319
2320         * WebView.subproj/WebHTMLView.m:
2321         (-[WebHTMLView _handleMouseDragged:]): removed use of fileWrapper variable
2322
2323 2004-04-12  Chris Blumenberg  <cblu@apple.com>
2324
2325         Factored out WebArchive to DOM code so that it could be used by both [WebHTMLView _pasteFromPasteboard:] and [WebView insertWebArchive:replacingDOMRange:].
2326
2327         Reviewed by kocienda.
2328
2329         * WebView.subproj/WebDataSource.m:
2330         (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]): moved from WebHTMLView
2331         (-[WebDataSource _replaceSelectionWithImageResource:]): ditto
2332         (-[WebDataSource _replaceSelectionWithWebArchive:]): ditto
2333         * WebView.subproj/WebDataSourcePrivate.h:
2334         * WebView.subproj/WebHTMLView.m:
2335         (-[WebHTMLView _replaceSelectionWithMarkupString:]): renamed
2336         (-[WebHTMLView _pasteFromPasteboard:]): call renamed methods
2337         * WebView.subproj/WebView.m:
2338         (-[WebView insertMarkupString:replacingDOMRange:]): call renamed methods
2339         (-[WebView insertWebArchive:replacingDOMRange:]): have data source handle the archive instead of the bridge
2340
2341 2004-04-12  Ken Kocienda  <kocienda@apple.com>
2342
2343         Reviewed by Dave
2344         
2345         Added execCommand support for cut/copy/paste.
2346
2347         * WebCoreSupport.subproj/WebBridge.m:
2348         (-[WebBridge issueCutCommand]): Glue for calling from WebCore to do a cut in Cocoa.
2349         (-[WebBridge issueCopyCommand]): Same as above, but for copy.
2350         (-[WebBridge issuePasteCommand]): Same as above, but for paste.
2351         * WebView.subproj/WebHTMLView.m:
2352         (-[WebHTMLView copy:]): Move this to private implementation category so the bridge can see it.
2353         (-[WebHTMLView cut:]): Ditto.
2354         (-[WebHTMLView paste:]): Ditto.
2355         * WebView.subproj/WebHTMLViewPrivate.h: Move copy;, cut:, and paste: to private implementation 
2356         category so the bridge can see it.
2357         * WebView.subproj/WebView.m:
2358         (-[WebView copy:]): Implemented by calling WebHTMLView to do the work.
2359         (-[WebView cut:]): Ditto.
2360         (-[WebView paste:]): Ditto.
2361         * WebView.subproj/WebViewPrivate.h: Added all the NSReponder methods we plan to implement as
2362         part of the WebKit editing API.
2363
2364 2004-04-09  Ken Kocienda  <kocienda@apple.com>
2365
2366         Reviewed by Darin
2367
2368         Stubbed in the entire WebKit editing API, improving some
2369         methods already present in minor ways, and adding those 
2370         methods not yet present.
2371
2372         * WebCoreSupport.subproj/WebBridge.m:
2373         (-[WebBridge editingKeyDown:]):
2374         * WebView.subproj/WebDefaultEditingDelegate.m:
2375         (-[WebDefaultEditingDelegate webView:shouldChangeSelectedDOMRange:toDOMRange:stillSelecting:]):
2376         * WebView.subproj/WebHTMLView.m:
2377         (-[WebHTMLView _pasteMarkupString:]):
2378         * WebView.subproj/WebView.m:
2379         (-[WebView _alterCurrentSelection:direction:granularity:]):
2380         (-[WebView _currentSelectionIsEditable]):
2381         (-[WebView computedStyleForElement:pseudoElement:]):
2382         (-[WebView _editingKeyDown:]):
2383         (-[WebView setEditable:]):
2384         (-[WebView isEditable]):
2385         (-[WebView setTypingStyle:]):
2386         (-[WebView typingStyle]):
2387         (-[WebView setSmartInsertDeleteEnabled:]):
2388         (-[WebView smartInsertDeleteEnabled]):
2389         (-[WebView setContinuousSpellCheckingEnabled:]):
2390         (-[WebView isContinuousSpellCheckingEnabled]):
2391         (-[WebView spellCheckerDocumentTag]):
2392         (-[WebView undoManager]):
2393         (-[WebView insertNode:replacingDOMRange:]):
2394         (-[WebView insertText:replacingDOMRange:]):
2395         (-[WebView insertMarkupString:replacingDOMRange:]):
2396         (-[WebView insertWebArchive:replacingDOMRange:]):
2397         (-[WebView deleteDOMRange:]):
2398         (-[WebView applyStyle:toElementsInDOMRange:]):
2399         (-[WebView centerSelectionInVisibleArea:]):
2400         (-[WebView moveBackward:]):
2401         (-[WebView moveBackwardAndModifySelection:]):
2402         (-[WebView moveDown:]):
2403         (-[WebView moveDownAndModifySelection:]):
2404         (-[WebView moveForward:]):
2405         (-[WebView moveForwardAndModifySelection:]):
2406         (-[WebView moveLeft:]):
2407         (-[WebView moveLeftAndModifySelection:]):
2408         (-[WebView moveRight:]):
2409         (-[WebView moveRightAndModifySelection:]):
2410         (-[WebView moveToBeginningOfDocument:]):
2411         (-[WebView moveToBeginningOfLine:]):
2412         (-[WebView moveToBeginningOfParagraph:]):
2413         (-[WebView moveToEndOfDocument:]):
2414         (-[WebView moveToEndOfLine:]):
2415         (-[WebView moveToEndOfParagraph:]):
2416         (-[WebView moveUp:]):
2417         (-[WebView moveUpAndModifySelection:]):
2418         (-[WebView moveWordBackward:]):
2419         (-[WebView moveWordBackwardAndModifySelection:]):
2420         (-[WebView moveWordForward:]):
2421         (-[WebView moveWordForwardAndModifySelection:]):
2422         (-[WebView moveWordLeft:]):
2423         (-[WebView moveWordLeftAndModifySelection:]):
2424         (-[WebView moveWordRight:]):
2425         (-[WebView moveWordRightAndModifySelection:]):
2426         (-[WebView pageDown:]):
2427         (-[WebView pageUp:]):
2428         (-[WebView scrollLineDown:]):
2429         (-[WebView scrollLineUp:]):
2430         (-[WebView scrollPageDown:]):
2431         (-[WebView scrollPageUp:]):
2432         (-[WebView selectAll:]):
2433         (-[WebView selectParagraph:]):
2434         (-[WebView selectLine:]):
2435         (-[WebView selectWord:]):
2436         (-[WebView copy:]):
2437         (-[WebView cut:]):
2438         (-[WebView paste:]):
2439         (-[WebView copyFont:]):
2440         (-[WebView pasteFont:]):
2441         (-[WebView delete:]):
2442         (-[WebView pasteAsPlainText:]):
2443         (-[WebView pasteAsRichText:]):
2444         (-[WebView changeFont:]):
2445         (-[WebView changeAttributes:]):
2446         (-[WebView changeDocumentBackgroundColor:]):
2447         (-[WebView changeColor:]):
2448         (-[WebView alignCenter:]):
2449         (-[WebView alignJustified:]):
2450         (-[WebView alignLeft:]):
2451         (-[WebView alignRight:]):
2452         (-[WebView indent:]):
2453         (-[WebView insertTab:]):
2454         (-[WebView insertBacktab:]):
2455         (-[WebView insertNewline:]):
2456         (-[WebView insertParagraphSeparator:]):
2457         (-[WebView changeCaseOfLetter:]):
2458         (-[WebView uppercaseWord:]):
2459         (-[WebView lowercaseWord:]):
2460         (-[WebView capitalizeWord:]):
2461         (-[WebView deleteForward:]):
2462         (-[WebView deleteBackward:]):
2463         (-[WebView deleteBackwardByDecomposingPreviousCharacter:]):
2464         (-[WebView deleteWordForward:]):
2465         (-[WebView deleteWordBackward:]):
2466         (-[WebView deleteToBeginningOfLine:]):
2467         (-[WebView deleteToEndOfLine:]):
2468         (-[WebView deleteToBeginningOfParagraph:]):
2469         (-[WebView deleteToEndOfParagraph:]):
2470         (-[WebView complete:]):
2471         (-[WebView checkSpelling:]):
2472         (-[WebView showGuessPanel:]):
2473         (-[WebView performFindPanelAction:]):
2474         (-[WebView startSpeaking:]):
2475         (-[WebView stopSpeaking:]):
2476         (-[WebView insertText:]):
2477         * WebView.subproj/WebViewPrivate.h:
2478
2479 2004-04-09  Darin Adler  <darin@apple.com>
2480
2481         Reviewed by Ken.
2482
2483         - added "transparent mode"
2484
2485         * WebView.subproj/WebFrameInternal.h: Added. Contains _updateDrawsBackground.
2486         * WebView.subproj/WebFrame.m:
2487         (-[WebFrame _makeDocumentView]): Call _updateDrawsBackground to tell the newly created
2488         KHTMLView whether to draw a background or not.
2489         (-[WebFrame _setState:]): Don't tell the scroll view to start drawing background if the
2490         WebView is not supposed to draw a background.
2491         (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the bridge, and do the
2492         same for all subframes.
2493
2494         * WebView.subproj/WebFrameView.m: (-[WebFrameView setFrameSize:]): Only call setDrawsBackground:YES
2495         on the scroll view if the WebView has drawsBackground set to YES.
2496
2497         * WebView.subproj/WebViewPrivate.h: Added new proposed API, setDrawsBackground and drawsBackground.
2498         Also added drawsBackground boolean to private structure.
2499         * WebView.subproj/WebView.m:
2500         (-[WebView _commonInitializationWithFrameName:groupName:]): Set drawsBackground to YES by default.
2501         (-[WebView setDrawsBackground:]): Added. Sets boolean and calls _updateDrawsBackground to update
2502         the flag for each frame.
2503         (-[WebView drawsBackground]): Added. Returns value of boolean.
2504         (-[WebView _bridgeForCurrentSelection]): Tweaked comment for no good reason.
2505
2506         * WebView.subproj/WebViewInternal.h: Added, but empty for the moment.
2507         * WebView.subproj/WebFramePrivate.h: Tweaked a bit.
2508
2509 2004-04-08  Chris Blumenberg  <cblu@apple.com>
2510
2511         Fixed:
2512         <rdar://problem/3616873>: support for pasting and drag and dropping of URLS to editable WebViews
2513         <rdar://problem/3546417>: support for pasting and drag and dropping of images to editable WebViews
2514
2515         Reviewed by rjw.
2516
2517         * DOM.subproj/WebDOMOperations.h:
2518         * DOM.subproj/WebDOMOperations.m:
2519         (-[DOMNode webArchive]): renamed from "archive" because "archive" collides with DOMHTMLObjectElement's method
2520         (-[DOMRange webArchive]): ditto
2521         * Misc.subproj/WebNSPasteboardExtras.h:
2522         * Misc.subproj/WebNSPasteboardExtras.m:
2523         (-[NSPasteboard _web_writeImage:URL:title:archive:]): take just an archive instead of an HTML string and file wrapper
2524         * Misc.subproj/WebNSViewExtras.h:
2525         * Misc.subproj/WebNSViewExtras.m:
2526         (-[NSView _web_dragImage:archive:rect:URL:title:event:]): take just an archive instead of an HTML string and file wrapper
2527         * WebView.subproj/WebDataProtocol.h:
2528         * WebView.subproj/WebDataProtocol.m:
2529         (+[NSURL _web_uniqueWebDataURL]): new
2530         (+[NSURL _web_uniqueWebDataURLWithRelativeString:]): new
2531         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2532         (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeImage
2533         * WebView.subproj/WebFrame.m:
2534         (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]): use _web_uniqueWebDataURL for creating a URL
2535         * WebView.subproj/WebHTMLView.m:
2536         (-[WebHTMLView _pasteImageResource:]): new
2537         (-[WebHTMLView _pasteFromPasteboard:]): renamed, now handles images and URLs
2538         (-[WebHTMLView _handleMouseDragged:]): call renamed _web_dragImage
2539         (-[WebHTMLView paste:]): call renamed _pasteFromPasteboard
2540         (-[WebHTMLView concludeDragOperation:]): call renamed _pasteFromPasteboard
2541         * WebView.subproj/WebHTMLViewPrivate.h:
2542         * WebView.subproj/WebImageRepresentation.h:
2543         * WebView.subproj/WebImageRepresentation.m:
2544         (-[WebImageRepresentation archive]): new
2545         * WebView.subproj/WebImageView.m:
2546         (-[WebImageView writeImageToPasteboard:]): call renamed _web_writeImage
2547         (-[WebImageView mouseDragged:]): call renamed _web_dragImage
2548
2549 === Safari-136 ===
2550
2551 2004-04-08  Chris Blumenberg  <cblu@apple.com>
2552
2553         Fixed: <rdar://problem/3548274>: API: DOM API for WebKit clients
2554
2555         Reviewed by kocienda.
2556
2557         * DOM.subproj/DOM.h: copied from WebCore
2558         * WebKit.pbproj/project.pbxproj: made our DOM headers public!
2559
2560 2004-04-08  Chris Blumenberg  <cblu@apple.com>
2561
2562         Moved WebArchive to its own file.
2563
2564         Reviewed by kocienda.
2565
2566         * WebKit.pbproj/project.pbxproj:
2567         * WebView.subproj/WebArchive.h: Added.
2568         * WebView.subproj/WebArchive.m: Added.
2569         (-[WebArchive data]): renamed from dataRepresentation
2570         * WebView.subproj/WebDataSource.m:
2571         * WebView.subproj/WebFrame.m:
2572         * WebView.subproj/WebHTMLRepresentation.m:
2573         * WebView.subproj/WebHTMLView.m:
2574         (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed [WebArchive data]
2575         * WebView.subproj/WebResource.h:
2576         * WebView.subproj/WebResource.m:
2577
2578 2004-04-07  Chris Blumenberg  <cblu@apple.com>
2579
2580         Created WebDOMOperations which are WebKit-specific categories on DOM objects.
2581
2582         Reviewed by rjw.
2583
2584         * DOM.subproj/DOMExtensions.h:
2585         * DOM.subproj/WebDOMOperations.h: Added.
2586         * DOM.subproj/WebDOMOperations.m: Added.
2587         (-[DOMNode _bridge]): new
2588         (-[DOMNode archive]): new
2589         (-[DOMNode markupString]): new
2590         (-[DOMRange _bridge]): new
2591         (-[DOMRange archive]): new
2592         (-[DOMRange markupString]): new
2593         (-[DOMHTMLImageElement image]):
2594         * WebCoreSupport.subproj/WebBridge.h:
2595         * WebCoreSupport.subproj/WebBridge.m:
2596         (-[WebBridge webFrame]): new
2597         * WebKit.pbproj/project.pbxproj:
2598         * WebView.subproj/WebDataSource.m:
2599         (-[WebDataSource _archiveWithMarkupString:subresourceURLStrings:]): moved from WebHTMLRepresentation
2600         * WebView.subproj/WebDataSourcePrivate.h:
2601         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2602         (-[WebDefaultUIDelegate copyImageToClipboard:]): call markupString on the node
2603         * WebView.subproj/WebDocumentPrivate.h:
2604         * WebView.subproj/WebFrame.m:
2605         (+[WebFrame frameForDOMDocument:]): new
2606         (-[WebFrame loadArchive:]): renamed
2607         * WebView.subproj/WebFramePrivate.h:
2608         * WebView.subproj/WebHTMLRepresentation.h:
2609         * WebView.subproj/WebHTMLRepresentation.m:
2610         * WebView.subproj/WebHTMLRepresentationPrivate.h:
2611         * WebView.subproj/WebHTMLView.m:
2612         (-[WebHTMLView _selectedArchive:]): renamed
2613         (-[WebHTMLView _handleMouseDragged:]): called renamed methods
2614
2615 2004-04-07  Darin Adler  <darin@apple.com>
2616
2617         Reviewed by Chris.
2618
2619         * DOM.subproj/DOMCSS.h: Updated from WebCore.
2620
2621 2004-04-07  Ken Kocienda  <kocienda@apple.com>
2622
2623         Reviewed by Darin and Dave (many weeks ago....I am so ashamed for not landing)
2624
2625         * WebCoreSupport.subproj/WebBridge.m:
2626         (-[WebBridge expiresTimeForResponse:]): Now adds in the difference between
2627         the Mac OS X epoch and the "standard" unix epoch when passing back a time
2628         that WebCore will use for its cache expiration determinations. 
2629
2630 2004-04-07  Richard Williamson   <rjw@apple.com>
2631
2632         Fix for 3604388.  The runtime version check (_CFExecutableLinkedOnOrAfter) used by many of
2633         our frameworks doesn't work for CFM apps.  So, conditional panther bugs fixes aren't
2634         being pickup by CFM apps that use WebKit, specifically Contribute.  This particular radar
2635         describes a problem that was conditionally fixed in the AppKit for panther.  The work-around
2636         is to force NSBitmapImageRep to execute to conditional code.
2637
2638         Reviewed by Maciej.
2639
2640         * Carbon.subproj/CarbonUtils.m:
2641         (WebInitForCarbon):
2642
2643 2004-04-06  Richard Williamson   <rjw@apple.com>
2644
2645         Fixed 3510805.  Only release pool in timer if the current nesting level of the
2646         pool matches the nesting level when the pool was created.
2647
2648         Reviewed by Chris.
2649
2650         * Carbon.subproj/CarbonUtils.m:
2651         (getNumPools):
2652         (WebInitForCarbon):
2653         (PoolCleaner):
2654
2655 2004-04-06  Chris Blumenberg  <cblu@apple.com>
2656
2657         Fixed: <rdar://problem/3613974>: remove "to Clipboard" from context menus because it is redundant
2658
2659         Reviewed by john.
2660
2661         * English.lproj/Localizable.strings:
2662         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2663         (-[WebDefaultUIDelegate menuItemWithTag:]):
2664
2665 2004-04-06  Ken Kocienda  <kocienda@apple.com>
2666
2667         Reviewed by Dave
2668
2669         * WebCoreSupport.subproj/WebBridge.m:
2670         (-[WebBridge issueUndoCommand]): New method. Forwards call to the undo manager. Added
2671         to support undo called via Javascript execCommand.
2672         (-[WebBridge issueRedoCommand]): Ditto.
2673
2674 2004-04-05  Chris Blumenberg  <cblu@apple.com>
2675
2676         Fixed: <rdar://problem/3612580>: SPI: WebPlugin selection
2677
2678         Reviewed by kocienda.
2679
2680         * Plugins.subproj/WebPlugin.h: extended SPI for selection
2681         * Plugins.subproj/WebPluginContainer.h: ditto
2682         * Plugins.subproj/WebPluginController.m:
2683         (-[WebPluginController selectionColor]): new, calls [WebCoreBridge selectionColor]
2684         * WebCoreSupport.subproj/WebBridge.m:
2685         (-[WebBridge setIsSelected:forView:]): new, calls [WebPlugin setIsSelected:]
2686         (-[WebBridge isViewSelected:]): new, calls [WebPlugin isSelected]
2687
2688 2004-04-02  Chris Blumenberg  <cblu@apple.com>
2689
2690         Forgot to add the WebKit copy of DOMExtensions.h.
2691
2692         * DOM.subproj/DOMExtensions.h: Added.
2693
2694 2004-04-02  John Sullivan  <sullivan@apple.com>
2695
2696         Reviewed by Dave.
2697         
2698         * WebView.subproj/WebPreferences.m:
2699         (-[WebPreferences historyIsFrozen]):
2700         take out OMIT_TIGER_FEATURES ifdeffing, since if we turn this into API
2701         then we'll probably want it to work in Panther also. To protect Safari users,
2702         Safari now explicitly sets historyIsFrozen to NO when starting up in Panther.
2703
2704         * English.lproj/StringsNotToBeLocalized.txt:
2705         updated for recent changes
2706
2707 2004-04-02  Chris Blumenberg  <cblu@apple.com>
2708
2709         Moved the DOM extensions to their own headers
2710
2711         Reviewed by kocienda.
2712
2713         * DOM.subproj/DOM.h: changed from WebCore
2714         * DOM.subproj/DOMHTML.h: ditto
2715         * WebKit.pbproj/project.pbxproj: added DOMExtensions.h
2716         * copy-webcore-files-to-webkit: copy DOMExtensions.h
2717
2718 === Safari-135 ===
2719
2720 2004-04-01  Richard Williamson   <rjw@apple.com>
2721
2722         Fixed 3609493.  Don't remove the plugin's view until after
2723         sending pluginDestroy.  This change was requested by Greg
2724         and is needed in the Lavender update.
2725
2726         Reviewed by Greg Bolsinga.
2727
2728         * Plugins.subproj/WebPluginController.m:
2729         (-[WebPluginController destroyAllPlugins]):
2730         * Plugins.subproj/npruntime.h:
2731
2732 2004-03-31  John Sullivan  <sullivan@apple.com>
2733
2734         - fixed <rdar://problem/3577917>: API: mechanism for displaying error 
2735         page for failed page load
2736         
2737         This was not commented on for a week in macosx-api-reviewers, so it
2738         has the silent rubber stamp of approval.
2739         
2740         Note that it isn't guarded by "Tiger only" availability macros because
2741         we (probably) want to use it in Panther for Safari. Maybe what we should
2742         do is guard the API with "Tiger only" macros but add an SPI version
2743         that Safari uses?
2744
2745         Reviewed by Dave.
2746
2747         * WebView.subproj/WebDataSource.h:
2748         moved unreachableURL to here
2749         * WebView.subproj/WebDataSource.m:
2750         (-[WebDataSource unreachableURL]):
2751         moved this from private category to main section
2752         
2753         * WebView.subproj/WebDataSourcePrivate.h:
2754         removed unreachableURL from here
2755         
2756         * WebView.subproj/WebFrame.h:
2757         moved loadAlternateHTMLString... to here
2758         * WebView.subproj/WebFrame.m:
2759         (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]):
2760         moved this from private category to main section
2761         
2762         * WebView.subproj/WebFramePrivate.h:
2763         removed unreachableURL from here
2764
2765 2004-03-31  Richard Williamson   <rjw@apple.com>
2766
2767         Changed to reflect NP_runtime.h to npruntime.h.
2768
2769         * copy-webcore-files-to-webkit:
2770
2771 2004-03-31  John Sullivan  <sullivan@apple.com>
2772
2773         Reviewed by Darin.
2774
2775         * WebView.subproj/WebPreferences.m:
2776         (-[WebPreferences historyIsFrozen]):
2777         always return NO on Panther and older, so you can't get into a state
2778         where the WebKit pref is invisibly set and affecting Safari.
2779
2780 2004-03-31  Darin Adler  <darin@apple.com>
2781
2782         * WebView.subproj/WebHTMLView.m: Whitespace tweaks.
2783
2784 2004-03-30  Chris Blumenberg  <cblu@apple.com>
2785
2786         Fixed: <rdar://problem/3604391>: Plug-in context menus (Flash) don't work in Carbon WebKit applications (e.g., CarbonWeb)
2787
2788         Reviewed by rjw.
2789
2790         * Carbon.subproj/HIWebView.m:
2791         (ContextMenuClick): instead of calling menuForEvent (which is not implemented on our plug-in view) call rightMouseDown and let AppKit handle the rest
2792
2793 2004-03-29  John Sullivan  <sullivan@apple.com>
2794
2795         - some support for "Stealth Browsing"; add a preference that
2796         controls whether a history item is added when a page is visited.
2797         This is called "historyIsFrozen" for now, but I wouldn't be
2798         surprised to see this name change.
2799
2800         Reviewed by Dave.
2801
2802         * WebView.subproj/WebPreferencesPrivate.h:
2803         new historyIsFrozen, setHistoryIsFrozen: methods
2804         
2805         * WebView.subproj/WebPreferences.m:
2806         new WebKitHistoryIsFrozenPreferenceKey
2807         (+[WebPreferences initialize]):
2808         set initial value of WebKitHistoryIsFrozenPreferenceKey
2809         (-[WebPreferences setHistoryIsFrozen:]):
2810         set value of WebKitHistoryIsFrozenPreferenceKey
2811         (-[WebPreferences historyIsFrozen]):
2812         read value of WebKitHistoryIsFrozenPreferenceKey
2813
2814         * WebView.subproj/WebFrame.m:
2815         (-[WebFrame _transitionToCommitted:]):
2816         don't add item to history if history is frozen
2817
2818 2004-03-29  Darin Adler  <darin@apple.com>
2819
2820         Reviewed by John.
2821
2822         - fixed <rdar://problem/3559178>: navigator.language always returns "en"
2823
2824         * WebCoreSupport.subproj/WebViewFactory.m: (-[WebViewFactory defaultLanguageCode]):
2825         Call +[NSUserDefaults _web_preferredLanguageCode] rather than returning "en".
2826
2827         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
2828
2829 2004-03-26  John Sullivan  <sullivan@apple.com>
2830
2831         - fixed <rdar://problem/3576334>: Printing "empty" page gives print error, 
2832         leaves browser window UI broken
2833
2834         Reviewed by Dave.
2835
2836         * WebView.subproj/WebHTMLView.m:
2837         (-[WebHTMLView knowsPageRange:]):
2838         AppKit printing mechanism can't handle the case where you tell it there is
2839         nothing at all to print, so when we hit that case we give it a degenerate
2840         1-pixel rect to print. This prints a blank page (with correctly-placed
2841         header & footer if so configured), which matches other browsers' behavior for
2842         this page.
2843
2844         * Plugins.subproj/npruntime.h:
2845         cvs keeps thinking I've removed a blank line from this auto-copied file.
2846         Richard said to just check it in to see if it stops doing this.
2847         
2848 === Safari-134 ===
2849
2850 2004-03-26  John Sullivan  <sullivan@apple.com>
2851
2852         - fixed the following bugs:
2853         
2854         <rdar://problem/3601630>: command-modified keypresses that would activate links are ignored by WebKit
2855         <rdar://problem/3601604>: WebActionModifierFlagsKey not set correctly for modified keypresses that activate links
2856         <rdar://problem/3544946>: cmd-return should open a link in a new tab
2857
2858         Reviewed by Darin.
2859
2860         * WebView.subproj/WebFrame.m:
2861         (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
2862         Pass modifier flags always, not just for mouse events. This fixes 3601604.
2863         
2864         * WebView.subproj/WebHTMLView.m:
2865         (-[WebHTMLView performKeyEquivalent:]):
2866         Give the bridge a chance to intercept command-modified keypresses. This fixes 3601630.
2867         
2868         Together these two changes fix 3544946.
2869
2870 2004-03-25  David Hyatt  <hyatt@apple.com>
2871
2872         Implement the rest of the search field.
2873
2874         Implement onscroll at the document level.
2875         Reviewed by darin
2876
2877         * English.lproj/Localizable.strings:
2878         * WebCoreSupport.subproj/WebBridge.m:
2879         * WebCoreSupport.subproj/WebViewFactory.m:
2880         (-[NSMenu addItemWithTitle:action:tag:]):
2881         (-[WebViewFactory submitButtonDefaultLabel]):
2882         (-[WebViewFactory cellMenuForSearchField]):
2883         * WebView.subproj/WebHTMLView.m:
2884         (-[WebHTMLView _frameOrBoundsChanged]):
2885         (-[WebHTMLView viewDidMoveToWindow]):
2886         * WebView.subproj/WebHTMLViewPrivate.h:
2887
2888 2004-03-25  Richard Williamson   <rjw@apple.com>
2889
2890         Netscape plugin API header cleanup.
2891
2892         Replaced our hacked up version of npapi.h with the
2893         "official SDK"  npapi.h.  Moved our changes to the new
2894         npfunctions.h.  npfunctions.h really replaces what was defined in
2895         the Netscape npupp.h header.  However, rather than use the "official SDK"
2896         npupp.h I think the cleaner npfunctions.h is better. npupp.h actually
2897         has a bunch of Mac classic specific stuff that is no longer needed.
2898
2899         Copied npruntime.h to WebKit using Ken's copy-o-matic mechanism.
2900
2901         Made npapi.h, npruntime.h, and npfunctions.h SPI.  With a bit
2902         more consideration they will become API.  They will also eventually be made
2903         available for other platforms/vendors are mozilla.org.
2904
2905         Reviewed by Ken.
2906
2907         * Plugins.subproj/WebBaseNetscapePluginStream.h:
2908         * Plugins.subproj/WebBaseNetscapePluginStream.m:
2909         (-[WebBaseNetscapePluginStream dealloc]):
2910         (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]):
2911         * Plugins.subproj/WebBaseNetscapePluginView.h:
2912         * Plugins.subproj/WebNetscapePluginPackage.h:
2913         * Plugins.subproj/WebNetscapePluginPackage.m:
2914         (-[WebNetscapePluginPackage load]):
2915         * Plugins.subproj/npapi.h:
2916         * Plugins.subproj/npruntime.h: Added.
2917         * WebKit.pbproj/project.pbxproj:
2918         * copy-webcore-files-to-webkit:
2919
2920 2004-03-24  Darin Adler  <darin@apple.com>
2921
2922         Reviewed by John.
2923
2924         - fixed <rdar://problem/3566805>: REGRESSION: When the subject of mailto is 2 byte Safari failed to send mail address and subject to Mail.app
2925
2926         * Misc.subproj/WebNSURLExtras.m: (applyHostNameFunctionToMailToURLString): Update to handle hostnames
2927         that end just before a '?' since a '?' ends the entire part of the URL that can contain hostnames.
2928         Also change the logic so that the '?' will successfully end the search.
2929
2930 2004-03-24  Ken Kocienda  <kocienda@apple.com>
2931
2932         Reviewed by me
2933
2934         * DOM.subproj/DOMHTML.h: Checking in copied over version of
2935         modified file.
2936
2937 2004-03-23  David Hyatt  <hyatt@apple.com>
2938
2939         Fix for 3513627, HTML mail prints upside down occasionally.  Change printing so that it never resizes the
2940         WebHTMLView when formatting for printing.  When computing page rects, instead of using the view's bounds,
2941         use the root layer's width instead.
2942         Reviewed by darin
2943
2944         * WebView.subproj/WebHTMLView.m:
2945         (-[WebHTMLView knowsPageRange:]):
2946
2947 === Safari-133 ===
2948
2949 2004-03-17  David Hyatt  <hyatt@apple.com>
2950
2951         Expose ageLimitDate so that the autocomplete code can access it.
2952         Reviewed by john
2953
2954         * History.subproj/WebHistory.m:
2955         (-[WebHistory ageLimitDate]):
2956         * History.subproj/WebHistoryPrivate.h:
2957
2958 2004-03-17  Richard Williamson   <rjw@apple.com>
2959
2960         Fixed 3591667.  Plugin view is added to view hierarchy before calling init.
2961
2962         Reviewed by Ken.
2963
2964         * WebView.subproj/WebHTMLView.m:
2965         (-[WebHTMLView addSubview:]):
2966
2967 2004-03-16  Darin Adler  <darin@apple.com>
2968
2969         * DOM.subproj/DOMHTML.h: Updated from WebCore.
2970         * DOM.subproj/DOMRange.h: Ditto.
2971
2972 2004-03-16  Darin Adler  <darin@apple.com>
2973
2974         Reviewed by Ken.
2975
2976         - update for new DOM namespacing and header organization
2977
2978         * DOM.subproj/DOM.h: Changed to include the other DOM headers.
2979         * DOM.subproj/DOMCSS.h: Added.
2980         * DOM.subproj/DOMCore.h: Added.
2981         * DOM.subproj/DOMEvents.h: Added.
2982         * DOM.subproj/DOMHTML.h: Added.
2983         * DOM.subproj/DOMRange.h: Added.
2984         * DOM.subproj/DOMStylesheets.h: Added.
2985         * DOM.subproj/DOMTraversal.h: Added.
2986         * DOM.subproj/DOMViews.h: Added.        
2987         * WebKit.pbproj/project.pbxproj: Added new files.
2988
2989         * WebView.subproj/WebDefaultEditingDelegate.m:
2990         (-[WebDefaultEditingDelegate webView:shouldApplyStyle:toElementsInDOMRange:]):
2991         (-[WebDefaultEditingDelegate webView:shouldChangeTypingStyle:toStyle:]):
2992         Change class names from CSS to DOMCSS.
2993         * WebView.subproj/WebViewPrivate.h: Ditto.
2994
2995         * copy-webcore-files-to-webkit: Add new files.
2996
2997 2004-03-15  Ken Kocienda  <kocienda@apple.com>
2998
2999         Reviewed by John
3000
3001         Fix for this bug:
3002         
3003         <rdar://problem/3588717>: REGRESSION (125-131u): Tabbing to links and tabbing in bookmarks view no longer works
3004
3005         WebView can't lay claim to -keyDown: just for editing events, as
3006         this gets in the way of tab processing. The solution is to give
3007         WebView a private method for processing editing key events fed to
3008         it from over the bridge, and leave -keyDown: unimplemented. 
3009
3010         * WebCoreSupport.subproj/WebBridge.m:
3011         (-[WebBridge editingKeyDown:]): Changed from -keyDown: to keep 
3012         terminology consistent with renamed WebView -editingKeyDown: method.
3013         * WebView.subproj/WebView.m:
3014         (-[WebView editingKeyDown:]): Give WebView a method to handle
3015         editing key events in a way that does not interfere with other key down
3016         events it processes.
3017         * WebView.subproj/WebViewPrivate.h: Declare -editingKeyDown: method.
3018
3019 === Safari-132 ===
3020
3021 2004-03-15  Darin Adler  <darin@apple.com>
3022
3023         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
3024
3025 2004-03-12  Darin Adler  <darin@apple.com>
3026
3027         Reviewed by Ken.
3028
3029         - fixed <rdar://problem/3433887>: copied &nbsp; characters remain non-breaking spaces; other browsers give normal spaces
3030
3031         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _writeSelectionToPasteboard:]):
3032         Convert non-breaking spaces to the normal kind in the plain text part of the pasteboard.
3033
3034 2004-03-12  Ken Kocienda  <kocienda@apple.com>
3035
3036         Reviewed by Chris
3037
3038         * WebView.subproj/WebView.m:
3039         (-[WebView _alterCurrentSelection:direction:granularity:]): Changed name from
3040         _alterSelection:direction:granularity: to give a little extra clarity. Also, the
3041         body calls through to renamed rangeByAlteringCurrentSelection:direction:granularity:
3042         in WebCore.
3043         (-[WebView moveRight:]): Now calls renamed _alterCurrentSelection:direction:granularity:.
3044         (-[WebView moveRightAndModifySelection:]): Ditto.
3045         (-[WebView moveLeft:]): Ditto.
3046         (-[WebView moveLeftAndModifySelection:]): Ditto.
3047
3048 2004-03-11  Richard Williamson   <rjw@apple.com>
3049
3050         Workaround for 3585644.  Force the window number of the
3051         mouse moved event to be correct.
3052
3053         Reviewed by Chris.
3054
3055         * Carbon.subproj/CarbonWindowFrame.m:
3056         * Carbon.subproj/HIWebView.m:
3057         (MouseMoved):
3058         (MouseDragged):
3059
3060 2004-03-11  Ken Kocienda  <kocienda@apple.com>
3061
3062         Reviewed by Dave
3063
3064         Various changes to begin implementing the draft API proposal. 
3065
3066         * DOM.subproj/DOM.h: Checking in generated file.
3067         * WebCoreSupport.subproj/WebBridge.m:
3068         (-[WebBridge registerCommandForUndo:]): Now takes an id, a wrapped
3069         WebCore EditCommand implementation object.
3070         (-[WebBridge registerCommandForRedo:]): Ditto.
3071         (-[WebBridge clearUndoRedoOperations]): Use the web view's undo manager.
3072         (-[WebBridge keyDown:]): Pass keyDown events through to the web view.
3073         * WebKit.pbproj/project.pbxproj:
3074         * WebView.subproj/WebDefaultEditingDelegate.h: Added.
3075         * WebView.subproj/WebDefaultEditingDelegate.m: Added. Stubbed in default
3076         implementations declared in the draft editing API.
3077         * WebView.subproj/WebFrame.m:
3078         (-[WebFramePrivate dealloc]): WebFrame no longer has an undo manager.
3079         * WebView.subproj/WebFramePrivate.h: Ditto.
3080         * WebView.subproj/WebHTMLView.m:
3081         (-[WebHTMLView _selectedWebArchive:]): selectedRange method 
3082         is now selectedDOMRange.
3083         * WebView.subproj/WebView.m:
3084         (-[WebViewPrivate dealloc]): Dealloc new editingDelegateForwarder.
3085         (-[WebView _editingDelegateForwarder]): Added. 
3086         (-[WebView keyDown:]): Added. 
3087         (-[WebView _bridgeForCurrentSelection]): Added. 
3088         (-[WebView setSelectedDOMRange:]): Added. 
3089         (-[WebView selectedDOMRange]): Added. 
3090         (-[WebView insertText:]): Added. 
3091         (-[WebView _alterSelection:direction:granularity:]): Added. 
3092         (-[WebView selectWord:]): Added. 
3093         (-[WebView moveRight:]): Added. 
3094         (-[WebView moveRightAndModifySelection:]): Added. 
3095         (-[WebView moveLeft:]): Added. 
3096         (-[WebView moveLeftAndModifySelection:]): Added. 
3097         (-[WebView deleteBackward:]): Added. 
3098         (-[WebView insertNewline:]): Added. 
3099         (-[WebView insertParagraphSeparator:]): Added. 
3100         (-[WebView setEditingDelegate:]): Added. 
3101         (-[WebView editingDelegate]): Added. 
3102         (-[WebView undoManager]): Added. 
3103         (-[WebView insertText:replacingDOMRange:]): Added. 
3104         * WebView.subproj/WebViewPrivate.h: Added a collection of editing API 
3105         declarations that will be public some day, but are still under review.
3106
3107 2004-03-11  John Sullivan  <sullivan@apple.com>
3108
3109         - fixed <rdar://problem/3585056>: Assertion failure if error page is loaded from 
3110         webView:unableToImplementPolicyWithError:
3111         - also added HeaderDoc comments to could-be-API-soon methods and fixed a
3112         conceptual problem with said methods
3113
3114         Reviewed by Darin.
3115
3116         * WebView.subproj/WebDataSourcePrivate.h:
3117         added HeaderDoc comment for -unreachableURL
3118         
3119         * WebView.subproj/WebFramePrivate.h:
3120         added HeaderDoc comment for -loadAlternateHTMLString:baseURL:forUnreachableURL:;
3121         also added boolean delegateIsHandlingUnimplementablePolicy ivar to WebFramePrivate
3122         * WebView.subproj/WebFrame.m:
3123         (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
3124         treat delegateIsHandlingUnimplementablePolicy like delegateIsDecidingNavigationPolicy.
3125         Safari serves up error pages during the latter but clients are equally or more likely
3126         to do so during the former.
3127         (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]):
3128         set delegateIsHandlingUnimplementablePolicy during delegate callback
3129         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
3130         tweaked assertion so it doesn't erroneously fire for clients that call
3131         loadAlternateHTML:baseURL:forUnreachableURL: while processing
3132         webView:unableToImplementPolicyWithError:
3133
3134 2004-03-11  Chris Blumenberg  <cblu@apple.com>
3135
3136         Made WebArchive a class instead of a data object. This allows clients to easily get the main resource and subresources from a WebArchive.
3137
3138         Reviewed by kocienda.
3139
3140         * WebKit.exp:
3141         * WebView.subproj/WebDocumentPrivate.h:
3142         * WebView.subproj/WebFrame.m:
3143         (-[WebFrame loadWebArchive:]):
3144         * WebView.subproj/WebFramePrivate.h:
3145         * WebView.subproj/WebHTMLRepresentation.m:
3146         (-[WebHTMLRepresentation loadWebArchive]):
3147         (-[WebHTMLRepresentation _webArchiveWithMarkupString:subresourceURLStrings:]):
3148         (-[WebHTMLRepresentation webArchiveFromNode:]):
3149         (-[WebHTMLRepresentation webArchiveFromRange:]):
3150         * WebView.subproj/WebHTMLRepresentationPrivate.h:
3151         * WebView.subproj/WebHTMLView.m:
3152         (-[WebHTMLView _selectedWebArchive:]):
3153         (-[WebHTMLView _writeSelectionToPasteboard:]):
3154         (-[WebHTMLView _pasteMarkupFromPasteboard:]):
3155         * WebView.subproj/WebResource.h:
3156         * WebView.subproj/WebResource.m:
3157         (-[WebArchivePrivate dealloc]):
3158         (-[WebResource _response]):
3159         (-[WebArchive init]):
3160         (-[WebArchive initWithMainResource:subresources:]):
3161         (-[WebArchive initWithData:]):
3162         (-[WebArchive dealloc]):
3163         (-[WebArchive mainResource]):
3164         (-[WebArchive subresources]):
3165         (-[WebArchive dataRepresentation]):
3166         * WebView.subproj/WebResourcePrivate.h:
3167
3168 2004-03-10  Chris Blumenberg  <cblu@apple.com>
3169
3170         Made dragging of web archives work.
3171
3172         Reviewed by rjw.
3173
3174         * English.lproj/StringsNotToBeLocalized.txt: updated
3175         * WebView.subproj/WebMainResourceClient.m:
3176         (-[WebMainResourceClient connection:didReceiveResponse:]): added a FIXME about working around old Foundations that don't know about web archive files
3177         * WebView.subproj/WebView.m:
3178         (+[WebView canShowFile:]): tweak
3179         (+[WebView suggestedFileExtensionForMIMEType:]): tweak
3180         (+[WebView _MIMETypeForFile:]): handle web archive files since Foundation may be too old to know about them
3181
3182 2004-03-09  Chris Blumenberg  <cblu@apple.com>
3183
3184         Made web archives use NSPropertyListBinaryFormat_v1_0 instead of NSPropertyListXMLFormat_v1_0 because NSPropertyListBinaryFormat_v1_0 is 3-5 times faster to serialize and parse.
3185
3186         Reviewed by rjw.
3187
3188         * WebView.subproj/WebResource.m:
3189         (+[WebResource _parseWebArchive:mainResource:subresources:]): add timing code
3190         (+[WebResource _webArchiveWithMainResource:subresources:]): add timing code, use NSPropertyListBinaryFormat_v1_0
3191
3192 2004-03-09  Chris Blumenberg  <cblu@apple.com>
3193
3194         Fixed: <rdar://problem/3577508>: API: web archive related API's
3195         Implemented WebKit side of: <rdar://problem/3144033>: ability to save web sites (images and all)
3196
3197         Reviewed by rjw.
3198
3199         * WebCoreSupport.subproj/WebBridge.h:
3200         * WebCoreSupport.subproj/WebBridge.m:
3201         (-[WebBridge receivedData:textEncodingName:]): renamed to take a textEncodingName instead of data source. The data source argument is only needed for the textEncodingName.
3202         * WebKit.exp:
3203         * WebView.subproj/WebDataSource.m:
3204         (-[WebDataSource _subresourcesDictionary]): new
3205         (+[WebDataSource _repTypesAllowImageTypeOmission:]): include "application/x-webarchive"
3206         * WebView.subproj/WebDataSourcePrivate.h:
3207         * WebView.subproj/WebDocumentInternal.h:
3208         * WebView.subproj/WebDocumentPrivate.h:
3209         * WebView.subproj/WebFrame.m:
3210         (-[WebFrame loadWebArchive:]): renamed, code factored out to [WebResource _parseWebArchive:mainResource:subresources:]
3211         * WebView.subproj/WebFramePrivate.h:
3212         * WebView.subproj/WebFrameView.m:
3213         (+[WebFrameView _viewTypesAllowImageTypeOmission:]): include "application/x-webarchive"
3214         * WebView.subproj/WebHTMLRepresentation.h:
3215         * WebView.subproj/WebHTMLRepresentation.m:
3216         (-[WebHTMLRepresentationPrivate dealloc]):
3217         (-[WebHTMLRepresentation _isDisplayingWebArchive]): new
3218         (-[WebHTMLRepresentation receivedData:withDataSource:]): don't feed data to WebCore if we're displaying a web archive since web archive can't be progressively loaded
3219         (-[WebHTMLRepresentation loadWebArchive]): new, feeds web archive data to WebCore
3220         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): call loadWebArchive if necessary
3221         (-[WebHTMLRepresentation documentSource]): if displaying a web archive, return the HTML source from within the archive
3222         (-[WebHTMLRepresentation _webArchiveWithMarkupString:subresourceURLStrings:]): new
3223         (-[WebHTMLRepresentation markupStringFromNode:]): implementation of new API
3224         (-[WebHTMLRepresentation markupStringFromRange:]): ditto
3225         (-[WebHTMLRepresentation webArchiveFromNode:]): ditto
3226         (-[WebHTMLRepresentation webArchiveFromRange:]): ditto
3227         * WebView.subproj/WebHTMLRepresentationPrivate.h:
3228         * WebView.subproj/WebHTMLView.m:
3229         (+[WebHTMLView _selectionPasteboardTypes]): use renamed WebArchivePboardType
3230         (-[WebHTMLView _selectedWebArchive:]): renamed, call renamed methods
3231         (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed methods
3232         (-[WebHTMLView _haveSelection]): indentation tweak
3233         (-[WebHTMLView _canDelete]): ditto
3234         (-[WebHTMLView _canPaste]): ditto
3235         (-[WebHTMLView _pasteMarkupFromPasteboard:]): renamed, call [WebResource _webArchiveWithMainResource:subresources:]
3236         (-[WebHTMLView initWithFrame:]): use renamed WebArchivePboardType
3237         (-[WebHTMLView paste:]): call renamed _pasteMarkupFromPasteboard
3238         (-[WebHTMLView concludeDragOperation:]): call renamed _pasteMarkupFromPasteboard
3239         * WebView.subproj/WebHTMLViewPrivate.h:
3240         * WebView.subproj/WebMainResourceClient.m:
3241         (-[WebMainResourceClient connection:didReceiveResponse:]): modify the MIME type for web archives since Foundation is not yet web archive aware. This is ifdef'd pre-Tiger code.
3242         * WebView.subproj/WebResource.h:
3243         * WebView.subproj/WebResource.m:
3244         (+[WebResource _parseWebArchive:mainResource:subresources:]): new
3245         (+[WebResource _webArchiveWithMainResource:subresources:]): new
3246         * WebView.subproj/WebResourcePrivate.h:
3247
3248 2004-03-09  John Sullivan  <sullivan@apple.com>
3249
3250         - fixed the following bugs:
3251         <rdar://problem/3579715>: Going to an error page in back/forward list doesn't work 
3252         correctly in some cases
3253         <rdar://problem/3581031>: REGRESSION (130+): World Leak of WebFrame after trying 
3254         to load page with unknown scheme
3255
3256         Reviewed by Darin.
3257
3258         * WebView.subproj/WebDataSourcePrivate.h:
3259         renamed __setRequest -> __adoptRequest
3260         * WebView.subproj/WebDataSource.m:
3261         (-[WebDataSource _URLForHistory]): 
3262         updated comment
3263         (-[WebDataSource __adoptRequest:]):
3264         Renamed from __setRequest; now takes an NSMutableURLRequest and uses it as-is.
3265         (-[WebDataSource _setRequest:]):
3266         now saves a mutable copy, instead of relying on the caller to do so. The
3267         (only) caller wasn't doing so in all cases, leading to trouble in River City.
3268         Also, special-case unreachable URL handling to allow alternate content to 
3269         replace a URL in a redirect-like way without sending a redirect callback.
3270         
3271         * WebView.subproj/WebFrame.m:
3272         (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]):
3273         renamed after discussion with Richard (was loadPlaceholderHTMLString:baseURL:unreachableURL:)
3274         (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
3275         new helper method, returns YES only if we receive a load request for alternate
3276         content from a delegate for an unreachable URL while we are going back or forward.
3277         That's a lot of prepositions!
3278         (-[WebFrame _loadRequest:subresources:]):
3279         if _shouldReloadToHandleUnreachableURLFromRequest: returns YES, change load type
3280         to WebFrameLoadTypeReload so b/f list is preserved appropriately.
3281         (-[WebFrame _transitionToCommitted:]):
3282         Update currentItem in the unreachableURL case.
3283         (-[WebFrame _isLoadComplete]):
3284         Don't reset b/f list before calling provisionalLoadDidFail delegate; instead, determine 
3285         where to reset b/f list beforehand, and then actually reset list afterwards only if we 
3286         didn't start an alternate content load in the delegate. Also, set new boolean ivar so we
3287         know when we're processing a provisionalLoadDidFail delegate callback.
3288         (-[WebFrame _loadItem:withLoadType:]):
3289         don't make extra copy before calling __adoptRequest; just pass it the one we made here.
3290         (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
3291         If we're loading alternate content for an unreachableURL, don't ask the decision listener,
3292         just do it. (This avoids problem with nested calls to checking the navigation policy that
3293         led to a WebFrame leak, and is conceptually the right thing to do also.) Also added some
3294         asserts that helped me track down the WebFrame leak. Set new boolean ivar so we know
3295         when we're processing a navigation policy delegate decision.
3296         (-[WebFrame _currentBackForwardListItemToResetTo]):
3297         new method, replaces _resetBackForwardListToCurrent. Does the same test as the
3298         latter but returns a boolean rather than actually resetting.
3299         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
3300         save dataSource in a local var before calling stopLoading, and use it for
3301         _setProvisionalDataSource, because otherwise stopLoading was clobbering the dataSource
3302         for an unreachable URL handling case.
3303         
3304         * WebView.subproj/WebFramePrivate.h:
3305         two new boolean ivars
3306         
3307         * WebView.subproj/WebView.m:
3308         (+[WebView _canHandleRequest:]):
3309         return YES when we're loading alternate content for an unreachable URL
3310
3311 === Safari-131 ===
3312
3313 2004-03-08  Ken Kocienda  <kocienda@apple.com>
3314
3315         Reviewed by Darin
3316
3317         * WebKit.pbproj/project.pbxproj: Added CFBundleName to Info.plist
3318
3319 2004-03-05  Chris Blumenberg  <cblu@apple.com>
3320
3321         Fixed: <rdar://problem/3560132>: REGRESSION: Safari crashed in -[NSPasteboard setData:forType:] dragging a map out of Mapquest.com
3322
3323         Reviewed by john.
3324
3325         * Misc.subproj/WebNSPasteboardExtras.m:
3326         (-[NSPasteboard _web_writeImage:URL:title:fileWrapper:HTMLString:]): declare the pboard types by calling _web_writeURL:::: before calling setData::
3327
3328 2004-03-05  John Sullivan  <sullivan@apple.com>
3329
3330         First cut at WebKit support for showing error pages for unreachable URLs.
3331         This doesn't work quite right with the back/forward list yet, but is
3332         good enough for demos.
3333
3334         Reviewed by Darin.
3335
3336         * WebView.subproj/WebBaseResourceHandleDelegate.m:
3337         (-[WebBaseResourceHandleDelegate didReceiveResponse:]):
3338         use new _webDataRequextExternalURL to share code
3339         
3340         * WebView.subproj/WebDataProtocol.h:
3341         Three new methods (all internal to WebKit):
3342         -[NSURLRequest _webDataRequestUnreachableURL], -[NSURLRequest _webDataRequestExternalURL],
3343         -[NSURLRequest _webDataRequestSetUnreachableURL]
3344         * WebView.subproj/WebDataProtocol.m:
3345         new unreachableURL field of WebDataRequestParameters
3346         (-[WebDataRequestParameters copyWithZone:]):
3347         copy new field
3348         (-[WebDataRequestParameters dealloc]):
3349         release new field
3350         (-[NSURLRequest _webDataRequestUnreachableURL]):
3351         read new field
3352         (-[NSURLRequest _webDataRequestExternalURL]):
3353         new method, returns baseURL or "about:blank" for webdata protocol requests. This
3354         was done in multiple places previously.
3355         (-[NSURLRequest _webDataRequestExternalRequest]):
3356         now calls _webDataRequestExternalURL to share code
3357         (-[NSMutableURLRequest _webDataRequestSetUnreachableURL:]):
3358         write new field
3359         
3360         * WebView.subproj/WebDataSource.m:
3361         (-[WebDataSource unreachableURL]):
3362         new method, might become API; returns the unreachable URL, if any, for which this datasource
3363         holds placeholder content
3364         (-[WebDataSource _URLForHistory]):
3365         new method, returns the URL to be stored in History for this dataSource. This returns nil
3366         for run-of-the-mill WebDataProtocol URLs (replacing code elsewhere that checked for this
3367         case) but returns the unreachableURL for the case where this datasource holds placeholder
3368         content.
3369         (-[WebDataSource _setTitle:]):
3370         now calls _URLForHistory
3371         
3372         * WebView.subproj/WebDataSourcePrivate.h:
3373         added unreachableURL in the should-become-API section, and _URLForHistory elsewhere
3374         
3375         * WebView.subproj/WebFrame.m:
3376         (-[WebFrame loadPlaceholderHTMLString:baseURL:unreachableURL:]):
3377         new should-become-API method for displaying an error page for an unreachable URL
3378         (-[WebFrame loadPropertyList:]):
3379         updated to pass nil for unreachableURL
3380         (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
3381         added unreachableURL parameter, which gets set on the data request
3382         (-[WebFrame _addBackForwardItemClippedAtTarget:]):
3383         use _URLForHistory instead of just checking for WebDataProtocol
3384         (-[WebFrame _createItem:]):
3385         use unreachableURL if there is one
3386         (-[WebFrame _transitionToCommitted:]):
3387         use _URLForHistory instead of just checking for WebDataProtocol
3388         (-[WebFrame _isLoadComplete]):
3389         check whether a new load has started in the delegate callback and if so, don't
3390         reset the loading state here
3391         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
3392         added unreachableURL parameter, which gets passed through
3393         (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]):
3394         send nil unreachableURL parameter
3395         (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]):
3396         new bottleneck method for loadHTMLString:baseURL: and loadPlaceholderHTMLString:baseURL:unreachableURL:;
3397         this is the guts of loadHTMLString:baseURL: with the new unreachableURL parameter passed through
3398         (-[WebFrame loadHTMLString:baseURL:]):
3399         now calls new bottleneck method
3400         
3401         * WebView.subproj/WebFramePrivate.h:
3402         added loadPlaceholderString:baseURL:unreachableURL: to should-be-API section; added unreachableURL
3403         parameter to _webDataRequestForData:MIMEType:textEncodingName:baseURL:
3404
3405 2004-03-04  Chris Blumenberg  <cblu@apple.com>
3406
3407         - Made image dragging and copying always work without needing to re-download by using the data source's WebResource of the image instead of relying on the Foundation cache.
3408         - Fixed a "drag to self" problem I introduced in my last check-in. You could drag a URL from a WebHTMLView and drop it on its own WebView which we shouldn't allow.
3409
3410         Reviewed by rjw.
3411
3412         * ChangeLog:
3413         * WebCoreSupport.subproj/WebBridge.m:
3414         (-[WebBridge fileWrapperForURL:]): call _fileWrapperForURL on WebDataSource
3415         * WebView.subproj/WebDataSource.m:
3416         (-[WebDataSource _fileWrapperForURL:]): moved from WebView, creates a wrapper from a WebResource
3417         * WebView.subproj/WebDataSourcePrivate.h:
3418         * WebView.subproj/WebDefaultContextMenuDelegate.m:
3419         (-[WebDefaultUIDelegate copyImageToClipboard:]): call [WebDataSource _fileWrapperForURL:]
3420         * WebView.subproj/WebHTMLView.m:
3421         (-[WebHTMLView _handleMouseDragged:]): call [WebDataSource _fileWrapperForURL:]
3422         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebDataSource _fileWrapperForURL:]
3423         (-[WebHTMLView _dragOperationForDraggingInfo:]): new, factored out from draggingUpdated:
3424         (-[WebHTMLView draggingEntered:]): call _dragOperationForDraggingInfo:, if NSDragOperationNone, forward to WebView to it can handle the drag
3425         (-[WebHTMLView draggingUpdated:]): ditto
3426         (-[WebHTMLView concludeDragOperation:]): ditto
3427         * WebView.subproj/WebResource.m:
3428         (-[WebResource _fileWrapperRepresentation]): new
3429         * WebView.subproj/WebResourcePrivate.h:
3430         * WebView.subproj/WebView.m:
3431         (-[WebViewPrivate dealloc]): release draggedTypes, a new ivar that keeps track of drag types that we're currently registered for
3432         (-[WebView _setDraggedTypes:]): new
3433         (-[WebView unregisterDraggedTypes]): new, calls _setDraggedTypes then super
3434         (-[WebView registerForDraggedTypes:]): ditto 
3435         (-[WebView _dragOperationForDraggingInfo:]): new, compares the types on the pasteboard against the types we are currently registered for. Normally the AppKit handles this for us, but since these messages can be forwarded from WebHTMLView, we need to do this comparison ourselves. 
3436         (-[WebView draggingEntered:]): calls _dragOperationForDraggingInfo:
3437         (-[WebView draggingUpdated:]): ditto
3438         (-[WebView concludeDragOperation:]): ditto
3439         * WebView.subproj/WebViewPrivate.h: define new draggedTypes ivar
3440
3441 2004-03-03  Chris Blumenberg  <cblu@apple.com>
3442
3443         Fixed a typo.
3444
3445         * WebView.subproj/WebHTMLView.m:
3446         (-[WebHTMLView concludeDragOperation:]):
3447
3448 2004-03-03  Chris Blumenberg  <cblu@apple.com>
3449
3450         Fixed: <rdar://problem/3576070>: REGRESSION: web view won't accept drag of webloc file
3451
3452         Reviewed by rjw.
3453
3454         * WebView.subproj/WebHTMLView.m:
3455         (-[WebHTMLView draggingUpdated:]): if we're not handling the drag, forward this message to the WebView since it may want to handle it
3456         (-[WebHTMLView concludeDragOperation:]): if we're not handling the drag, forward this message to the WebView since it may want to handle it
3457
3458 2004-03-03  Darin Adler  <darin@apple.com>
3459
3460         Reviewed by Vicki.
3461
3462         * English.lproj/InfoPlist.strings: Removed. No need to localize the version and
3463         copyright string, and that's all that was in here.
3464         * WebKit.pbproj/project.pbxproj: Removed InfoPlist.strings from build.
3465
3466 2004-03-03  Ken Kocienda  <kocienda@apple.com>
3467
3468         Reviewed by Chris
3469
3470         * copy-webcore-files-to-webkit: Fixed up this script so that
3471         it does not fail if it is running "non-locally", like for
3472         B&I. The idiom is to check these files into WebKit after
3473         copying them from WebCore, hence this script is merely
3474         a convenience to keep the files in sync.
3475
3476 2004-03-02  Ken Kocienda  <kocienda@apple.com>
3477
3478         Reviewed by me
3479
3480         * DOM.subproj/DOM.h: Checked in header copied over
3481         from WebCore.
3482