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