Forgot to include that I also fixed <rdar://problem/3397658> scroll wheel does not...
[WebKit-https.git] / WebKit / ChangeLog
1 2004-10-09  Chris Blumenberg  <cblu@apple.com>
2
3         Fixed: 
4         <rdar://problem/3625352> up and down arrow and page up/down keys don't work to scroll overflow:auto/scroll/overlay areas
5         <rdar://problem/3397658> scroll wheel does not work to scroll overflow:auto/scroll/overlay areas (RSS)
6
7         Reviewed by hyatt.
8
9         * Plugins.subproj/WebBaseNetscapePluginStream.m:
10         (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): fixed typo in comment
11         * Plugins.subproj/WebNetscapePluginStream.m:
12         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): ditto
13         * WebView.subproj/WebFramePrivate.h:
14         * WebView.subproj/WebFrameView.m:
15         (-[WebFrameView _bridge]): new
16         (-[WebFrameView scrollToBeginningOfDocument:]): call the bridge to scroll, if that fails, scroll the document view
17         (-[WebFrameView scrollToEndOfDocument:]): ditto
18         (-[WebFrameView _pageVertically:]): ditto
19         (-[WebFrameView _pageHorizontally:]): ditto
20         (-[WebFrameView _scrollLineVertically:]): ditto
21         (-[WebFrameView _scrollLineHorizontally:]): ditto
22         * WebView.subproj/WebHTMLView.m:
23         (-[WebHTMLView scrollWheel:]): call the bridge to scroll, if that fails, pass to next responder
24
25 === Safari-166 ===
26
27 2004-10-05  Chris Blumenberg  <cblu@apple.com>
28
29         Fixed: <rdar://problem/3827002> assertion failure in WebBaseNetscapePluginStream on abc.go.com
30
31         Reviewed by rjw.
32
33         * Plugins.subproj/WebBaseNetscapePluginStream.m:
34         (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): avoid assertion failure in dealloc by temporarily setting isTerminated to YES in case we are released in this method
35         * Plugins.subproj/WebNetscapePluginStream.m:
36         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): ditto
37
38 2004-10-05  John Sullivan  <sullivan@apple.com>
39
40         * WebCoreSupport.subproj/WebBridge.m:
41         (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]):
42         initialize "arguments" var to nil to satisfy compiler on deployment build.
43
44 2004-10-05  Richard Williamson   <rjw@apple.com>
45
46         Fixed <rdar://problem/3825442> first click lost for Dashboard
47         Allow dashboard to force acceptsFirstMouse:
48
49         Reviewed by Chris.
50
51         * WebView.subproj/WebHTMLView.m:
52         (-[WebHTMLView acceptsFirstMouse:]):
53         * WebView.subproj/WebView.m:
54         (-[WebView _dashboardBehavior:]):
55         * WebView.subproj/WebViewInternal.h:
56         * WebView.subproj/WebViewPrivate.h:
57
58         * WebCoreSupport.subproj/WebImageRenderer.h:
59         Comment change only
60
61 2004-10-05  Chris Blumenberg  <cblu@apple.com>
62
63         Fixed: <rdar://problem/3760920> Need to record plugin view instances
64         
65         Reviewed by rjw.
66
67         * Plugins.subproj/WebPluginController.h:
68         * Plugins.subproj/WebPluginController.m:
69         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): new, creates plug-in view and adds it to global list
70         (+[WebPluginController isPlugInView:]): new, checks if the plug-in view is in the global list
71         (-[WebPluginController destroyAllPlugins]): remove the plug-in from the global list 
72         * Plugins.subproj/WebPluginDocumentView.m:
73         (-[WebPluginDocumentView setDataSource:]): call [WebPluginController plugInViewWithArguments:fromPluginPackage:]
74         * WebCoreSupport.subproj/WebBridge.m:
75         (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): ditto
76         * WebView.subproj/WebFrame.m:
77         (-[WebFrame _reloadForPluginChanges]): call [WebPluginController isPlugInView:]
78         * WebView.subproj/WebHTMLView.m:
79         (-[WebHTMLView addSubview:]): ditto
80
81 2004-10-05  David Hyatt  <hyatt@apple.com>
82
83         Fix to make selection more like NSTextView.  All gap painting is now done by WebCore, so WebKit no longer
84         needs to try to fill gaps around text.
85         
86         Reviewed by kocienda
87
88         * WebCoreSupport.subproj/WebTextRenderer.m:
89         (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
90         (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
91
92 2004-10-05  Darin Adler  <darin@apple.com>
93
94         Reviewed by John.
95
96         - fixed <rdar://problem/3577255> custom file icon shows up upside down in <input type=file>
97
98         * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton setFilename:]): Added a call to
99         setFlipped that fixes the problem, even though I don't know why.
100
101 2004-10-04  Darin Adler  <darin@apple.com>
102
103         Reviewed by Maciej.
104
105         - fixed <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
106
107         * WebView.subproj/WebHTMLView.m:
108         (-[WebHTMLView _selectionStartFontAttributesAsRTF]): Changed to call new bridge method
109         named fontAttributesForSelectionStart, deleted the method this used to use, and renamed
110         this to have the word "start" in it.
111         (-[WebHTMLView copyFont:]): Updated for name change.
112
113         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
114
115 2004-10-04  Chris Blumenberg  <cblu@apple.com>
116
117         * WebView.subproj/WebFrameInternal.h: removed constant declarations that I committed by mistake
118
119 2004-10-04  Chris Blumenberg  <cblu@apple.com>
120
121         Fixed: <rdar://problem/3798948> NPP_URLNotify is not called if plug-in calls NPN_*URLNotfy
122         Fixed a number of FIXME's related to notifying plug-ins of loaded pages.
123
124         Reviewed by rjw.
125
126         * Plugins.subproj/WebBaseNetscapePluginStream.h: 
127                 - replaced URL ivar with requestURL and responseURL ivars since we need to pass both to plug-ins
128                 - added sendNotification boolean. Relying on notifyData not being NULL was not information to know whether to call NPP_URLNotify or not.
129                 - added isTerminated boolean because determining whether or not stream.ndata is NULL is not enough to know if the stream has been cancelled.
130         * Plugins.subproj/WebBaseNetscapePluginStream.m:
131         (+[WebBaseNetscapePluginStream reasonForError:]): new, factored out from receivedError:
132         (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): new
133         (-[WebBaseNetscapePluginStream dealloc]): release new ivars
134         (-[WebBaseNetscapePluginStream finalize]): added assert
135         (-[WebBaseNetscapePluginStream setRequestURL:]): new
136         (-[WebBaseNetscapePluginStream setResponseURL:]): new
137         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed, use responseURL as it basically did before
138         (-[WebBaseNetscapePluginStream startStreamWithResponse:]): call renamed method
139         (-[WebBaseNetscapePluginStream destroyStream]): 
140                 - do nothing if terminated
141                 - call NPP_StreamAsFile and NPP_DestroyStream if stream.ndata is not NULL
142                 - call NPP_URLNotify if sendNotification is YES regardless of value of notifyData
143         (-[WebBaseNetscapePluginStream receivedError:]): call reasonForError
144         (-[WebBaseNetscapePluginStream deliverData]): use renamed ivar
145         * Plugins.subproj/WebBaseNetscapePluginView.h:
146                 - added observingFrameLoadNotification boolean
147                 - renamed dictionary ivar to pendingFrameLoads which has WebFrame keys and WebPluginRequest values
148         * Plugins.subproj/WebBaseNetscapePluginView.m:
149         (-[WebBaseNetscapePluginView addFrameLoadObserver]): new
150         (-[WebBaseNetscapePluginView removeFrameLoadObserver]): new
151         (-[WebBaseNetscapePluginView stop]): call removeFrameLoadObserver
152         (-[WebBaseNetscapePluginView initWithFrame:]): use renamed pendingFrameLoads ivar
153         (-[WebBaseNetscapePluginView dealloc]): ditto
154         (-[WebBaseNetscapePluginView requestWithURLCString:]): set referrer on the request just as IE does
155         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): 
156                 - call NPP_URLNotify depending of value of sendNotification
157                 - call new init method on WebBaseNetscapePluginStream rather then setting variables individually
158         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): new, calls NPP_URLNotify at the right time with the right value
159         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]): new, delegate method called from WebFrame
160         (-[WebBaseNetscapePluginView loadPluginRequest:]): call addFrameLoadObserver
161         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): take new sendNotification parameter and pass it
162         (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): pass YES for sendNotification
163         (-[WebBaseNetscapePluginView getURL:target:]): pass NO for sendNotification
164         (-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]): take new sendNotification parameter and pass it
165         (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): pass YES for sendNotification
166         (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): pass NO for sendNotification
167         (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:]): take new sendNotification parameter
168         (-[WebPluginRequest sendNotification]): new
169         * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
170         * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
171         (-[WebNetscapePluginEmbeddedView didStart]): set referrer on the request just as IE does
172         * Plugins.subproj/WebNetscapePluginRepresentation.m:
173         (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): set the request URL on the stream
174         * Plugins.subproj/WebNetscapePluginStream.h:
175         * Plugins.subproj/WebNetscapePluginStream.m:
176         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): take new sendNotification parameter and pass it
177         (-[WebNetscapePluginStream dealloc]): use renamed ivar
178         (-[WebNetscapePluginStream start]): ditto
179         * WebView.subproj/WebFrame.m:
180         (-[WebFrame _setState:]): removed notification posting code. This was only used by WebBaseNetscapePluginView and it was the wrong notification to send.
181         (-[WebFrame _checkLoadCompleteForThisFrame]): call internal load delegate to tell it that the load has finished
182         (-[WebFrame _loadItem:withLoadType:]): ditto
183         (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): ditto
184         (-[WebFrame _setInternalLoadDelegate:]): new
185         (-[WebFrame _internalLoadDelegate]): new
186         * WebView.subproj/WebFrameInternal.h:
187         * WebView.subproj/WebFramePrivate.h:
188
189 2004-10-04  Chris Blumenberg  <cblu@apple.com>
190
191         Fixed: <rdar://problem/3758113> REGRESSION: Macromedia ColdFusion page doesn't show main content
192
193         After bumping up our plug-in version, Flash now sends 2 CRLF's between the headers and body of their POST request. Our code was not prepared for this.
194
195         Reviewed by darin.
196
197         * Plugins.subproj/WebBaseNetscapePluginView.m:
198         (-[NSData _web_locationAfterFirstBlankLine]): looks for 2 CRLF's, not for 2 LF's
199
200 2004-10-04  Darin Adler  <darin@apple.com>
201
202         Reviewed by Ken.
203
204         - fixed a potential storage leak when we turn on CGImageRef image rendering
205
206         * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer dealloc]): Fix potential storage leak
207         by adding [super dealloc], but leak was not real yet because the code is commented out.
208
209         - make paste style work with color as part of fix to <rdar://problem/3814237> REGRESSION (Mail):
210           Copy/paste style does not set color in Mail compose window
211
212         * WebView.subproj/WebHTMLView.m:
213         (-[WebHTMLView _selectionFontAttributes]): Change structure so it's easy to add more attributes.
214         For now I haven't added any yet.
215         (-[WebHTMLView _colorAsString:]): Moved this earlier in the file.
216         (-[WebHTMLView _shadowAsString:]): Ditto.
217         (-[WebHTMLView _styleFromFontAttributes:]): Add background color, foreground color, and text shadow.
218
219 2004-09-30  Richard Williamson   <rjw@apple.com>
220
221         Fixed <rdar://problem/3821215> NPN hasMethod and hasProperty functions should take NPObjects, not NPClass
222
223         Also changed dashboard regions dictionary to use "control"
224         for scroller region label, instead of "scroller, per
225         request from ouch. 
226                 
227         Reviewed by Chris.
228
229         * Plugins.subproj/npruntime.h:
230         * WebView.subproj/WebView.m:
231         (-[WebView _addScrollerDashboardRegions:from:]):
232
233 2004-09-30  Chris Blumenberg  <cblu@apple.com>
234
235         Fixed: <rdar://problem/3498680> switching back and forth between tabs stops calling anything in a plug-in
236
237         Reviewed by darin.
238
239         * Plugins.subproj/WebBaseNetscapePluginView.m:
240         (-[WebBaseNetscapePluginView sendEvent:]): call setWindowIfNecessary because the window may have changed
241         (-[WebBaseNetscapePluginView updateAndSetWindow]): new
242         (-[WebBaseNetscapePluginView setWindowIfNecessary]): was setWindow, this method now just sets the window
243         (-[WebBaseNetscapePluginView start]): call updateAndSetWindow
244         (-[WebBaseNetscapePluginView viewDidMoveToWindow]): ditto
245         (-[WebBaseNetscapePluginView viewHasMoved:]): ditto
246
247 2004-09-30  Chris Blumenberg  <cblu@apple.com>
248
249         Fixed: <rdar://problem/3498668> switching out of tab doesn't send loseFocusEvent to plug-in
250
251         Reviewed by rjw.
252
253         * Plugins.subproj/WebBaseNetscapePluginView.h:
254         * Plugins.subproj/WebBaseNetscapePluginView.m:
255         (-[WebBaseNetscapePluginView setHasFocus:]): new, sends events to plug-in
256         (-[WebBaseNetscapePluginView becomeFirstResponder]): call setHasFocus
257         (-[WebBaseNetscapePluginView resignFirstResponder]): ditto 
258         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): ditto
259
260 2004-09-30  Chris Blumenberg  <cblu@apple.com>
261
262         Fixed:
263         Assertion failure when loading standalone netscape plug-in content.
264         Document loads of WebKit plug-in content should be cancelled since the plug-in does its own loading.
265
266         Reviewed by john.
267
268         * Misc.subproj/WebKitErrors.m: removed deprecated method
269         * Misc.subproj/WebKitErrorsPrivate.h:
270         * Plugins.subproj/WebNetscapePluginDocumentView.m:
271         (-[WebNetscapePluginDocumentView setDataSource:]): fixed the assertion statement
272         * Plugins.subproj/WebPluginDocumentView.h:
273         * Plugins.subproj/WebPluginDocumentView.m:
274         (-[WebPluginDocumentView dealloc]): remove retained plug-in
275         (-[WebPluginDocumentView setDataSource:]): retain the plug-in, cancel the laod
276
277 2004-09-29  Chris Blumenberg  <cblu@apple.com>
278         
279         Fixed:
280         <rdar://problem/3763832> Safari-155: Non-Embeded movies fail to open in Cocoa QT plug-in
281         <rdar://problem/3820517> "*** -[WebPluginPackage NPP_New]: selector not recognized [self = 0x5552c10]"
282
283         Reviewed by rjw.
284
285         * History.subproj/WebHistoryItem.m:
286         * Misc.subproj/WebNSViewExtras.h:
287         * Misc.subproj/WebNSViewExtras.m:
288         (-[NSView _web_firstResponderCausesFocusDisplay]):
289         (-[NSView _webView]):
290         (-[NSView _frame]):
291         (-[NSView _bridge]):
292         (-[NSView _dataSource]):
293         * Plugins.subproj/WebBasePluginPackage.h:
294         * Plugins.subproj/WebBasePluginPackage.m:
295         (-[WebBasePluginPackage hash]):
296         (-[WebBasePluginPackage isQuickTimePlugIn]):
297         * Plugins.subproj/WebNetscapePluginDocumentView.m:
298         (-[WebNetscapePluginDocumentView setDataSource:]):
299         * Plugins.subproj/WebNetscapePluginRepresentation.m:
300         * Plugins.subproj/WebPluginController.h:
301         * Plugins.subproj/WebPluginController.m:
302         (-[WebPluginController initWithDocumentView:]):
303         (-[WebPluginController addPlugin:]):
304         (-[WebPluginController destroyAllPlugins]):
305         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
306         (-[WebPluginController webPlugInContainerShowStatus:]):
307         (-[WebPluginController webPlugInContainerSelectionColor]):
308         (-[WebPluginController webFrame]):
309         * Plugins.subproj/WebPluginDatabase.h:
310         * Plugins.subproj/WebPluginDatabase.m:
311         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
312         (-[WebPluginDatabase refresh]):
313         (WebPluginDocumentView::while):
314         * Plugins.subproj/WebPluginDocumentView.h: Added.
315         * Plugins.subproj/WebPluginDocumentView.m: Added.
316         (-[WebPluginDocumentView initWithFrame:]):
317         (-[WebPluginDocumentView dealloc]):
318         (-[WebPluginDocumentView drawRect:]):
319         (-[WebPluginDocumentView setDataSource:]):
320         (-[WebPluginDocumentView setNeedsLayout:]):
321         (-[WebPluginDocumentView layout]):
322         (-[WebPluginDocumentView currentWindow]):
323         (-[WebPluginDocumentView viewWillMoveToWindow:]):
324         (-[WebPluginDocumentView viewDidMoveToWindow]):
325         (-[WebPluginDocumentView viewWillMoveToHostWindow:]):
326         (-[WebPluginDocumentView viewDidMoveToHostWindow]):
327         (-[WebPluginDocumentView receivedData:withDataSource:]):
328         (-[WebPluginDocumentView receivedError:withDataSource:]):
329         (-[WebPluginDocumentView finishedLoadingWithDataSource:]):
330         (-[WebPluginDocumentView canProvideDocumentSource]):
331         (-[WebPluginDocumentView documentSource]):
332         (-[WebPluginDocumentView title]):
333         * Plugins.subproj/npapi.m:
334         (NPN_ReleaseVariantValue):
335         (NPN_GetStringIdentifier):
336         (NPN_GetStringIdentifiers):
337         (NPN_GetIntIdentifier):
338         (NPN_IdentifierIsString):
339         (NPN_UTF8FromIdentifier):
340         (NPN_IntFromIdentifier):
341         (NPN_CreateObject):
342         (NPN_RetainObject):
343         (NPN_ReleaseObject):
344         (NPN_Invoke):
345         (NPN_InvokeDefault):
346         (NPN_Evaluate):
347         (NPN_GetProperty):
348         (NPN_SetProperty):
349         (NPN_RemoveProperty):
350         (NPN_HasProperty):
351         (NPN_HasMethod):
352         (NPN_SetException):
353         (NPN_Call):
354         * WebCoreSupport.subproj/WebBridge.m:
355         (-[WebBridge frameRequiredForMIMEType:URL:]):
356         * WebCoreSupport.subproj/WebViewFactory.m:
357         * WebKit.exp:
358         * WebKit.pbproj/project.pbxproj:
359         * WebView.subproj/WebDebugDOMNode.m:
360         * WebView.subproj/WebDocumentInternal.h:
361         * WebView.subproj/WebHTMLView.m:
362         (-[WebHTMLView initWithFrame:]):
363         * WebView.subproj/WebHTMLViewPrivate.h:
364         * WebView.subproj/WebImageRepresentation.h:
365         * WebView.subproj/WebRenderNode.m:
366         * WebView.subproj/WebView.m:
367
368 2004-09-29  Richard Williamson   <rjw@apple.com>
369
370         Fixed <rdar://problem/3779998> bringing window to front or sending to back does not send focus/blur events to JavaScript window object
371
372         The fix has two parts, 1) make onblur and onfocus work for windows, 
373         and 2), allow the dashboard to override WebKit's special key/non-key
374         behaviors.
375
376         Reviewed by Maciej.
377
378         * Plugins.subproj/WebBaseNetscapePluginView.m:
379         (-[WebBaseNetscapePluginView restartNullEvents]):
380         * WebView.subproj/WebHTMLView.m:
381         (-[WebHTMLView addMouseMovedObserver]):
382         (-[WebHTMLView removeMouseMovedObserver]):
383         * WebView.subproj/WebView.m:
384         (-[WebView _dashboardBehavior:]):
385         * WebView.subproj/WebViewInternal.h:
386         * WebView.subproj/WebViewPrivate.h:
387
388 2004-09-29  Maciej Stachowiak  <mjs@apple.com>
389
390         Reviewed by John.
391
392         - consolidated OS version checks into prefix header
393
394         * Misc.subproj/WebFileDatabase.m:
395         (-[WebFileDatabase _createLRUList:]):
396         (+[WebFileDatabase _syncLoop:]):
397         * Misc.subproj/WebKitErrors.m:
398         (registerErrors):
399         * Misc.subproj/WebNSObjectExtras.h:
400         (WebNSRetainCFRelease):
401         * Misc.subproj/WebNSPasteboardExtras.m:
402         (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
403         * Misc.subproj/WebUnicode.m:
404         (_unicodeDirection):
405         * WebCoreSupport.subproj/WebImageData.h:
406         * WebCoreSupport.subproj/WebImageRenderer.h:
407         * WebCoreSupport.subproj/WebKeyGenerator.h:
408         * WebCoreSupport.subproj/WebNewKeyGeneration.c:
409         * WebKitPrefix.h:
410         * WebView.subproj/WebDataSource.m:
411         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
412         (-[WebDataSource isLoading]):
413         * WebView.subproj/WebFrameView.m:
414         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
415         * WebView.subproj/WebHTMLView.m:
416         * WebView.subproj/WebPDFRepresentation.h:
417         * WebView.subproj/WebPDFRepresentation.m:
418         * WebView.subproj/WebPDFView.h:
419         * WebView.subproj/WebPDFView.m:
420
421 2004-09-29  Ken Kocienda  <kocienda@apple.com>
422
423         Reviewed by Hyatt
424
425         Fix for this bug:
426         
427         <rdar://problem/3818296> REGRESSION (Mail): centerSelectionInVisibleArea does not work correctly
428
429         * WebView.subproj/WebHTMLView.m:
430         (-[WebHTMLView centerSelectionInVisibleArea:]): Now calls new centerSelectionInVisibleArea
431         bridge function instead of ensureCaretVisible. Now handles caret selections and range
432         selections correctly.
433
434 2004-09-28  Chris Blumenberg  <cblu@apple.com>
435
436         Added timing code so that Doug can time RTF conversion. 
437
438         * WebView.subproj/WebHTMLView.m:
439         (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]):
440         (-[WebHTMLView _attributeStringFromDOMRange:]):
441
442 2004-09-28  Richard Williamson   <rjw@apple.com>
443
444         <rdar://problem/3817421> add getter for dashboard regions (debugging)
445         
446         <rdar://problem/3817417> NSScrollView need autoregions for dashboard
447         Also KWQScrollBars
448
449         Reviewed by Hyatt.
450
451         * WebCoreSupport.subproj/WebBridge.m:
452         (-[WebBridge dashboardRegionsChanged:]):
453         * WebView.subproj/WebView.m:
454         (-[WebView _setInitiatedDrag:]):
455         (-[WebView _addScrollerDashboardRegions:from:]):
456         (-[WebView _addScrollerDashboardRegions:]):
457         (-[WebView _dashboardRegions]):
458         * WebView.subproj/WebViewPrivate.h:
459
460 2004-09-27  John Sullivan  <sullivan@apple.com>
461
462         - fixed <rdar://problem/3814705> 8A266: Safari authentication dialog "remember password" text should match Mail
463
464         * Panels.subproj/English.lproj/WebAuthenticationPanel.nib:
465         changed "Remember this password" to "Remember this password in my keychain";
466         this will need to go through CCC for this week's build.
467
468 2004-09-27  Chris Blumenberg  <cblu@apple.com>
469
470         Fixed: <rdar://problem/3594754> change null event interval from 20 ms to 10 ms to match speed on Windows
471
472         Reviewed by John.
473
474         * Plugins.subproj/WebBaseNetscapePluginView.m:
475
476 2004-09-27  Chris Blumenberg  <cblu@apple.com>
477
478         Fixed previous reviewer line.
479
480         * ChangeLog:
481
482 2004-09-27  Chris Blumenberg  <cblu@apple.com>
483
484         Fixed: <rdar://problem/3502138> text files don't remember scroll position when going back or reloading
485
486         Reviewed by john.
487
488         * WebView.subproj/WebTextView.m:
489         (-[WebTextView layout]): implemented, call sizeToFit, without this scrollPoint: won't work
490
491 2004-09-27  John Sullivan  <sullivan@apple.com>
492
493         Reviewed by Ken.
494
495         - WebKit part of fix for <rdar://problem/3734466> ER: Support standard editing keystrokes 
496         like Cmd-B while editing rich text
497
498         * WebView.subproj/WebHTMLView.m:
499         (-[WebHTMLView _toggleBold]):
500         new method, toggles font-weight from "bold" to "normal"
501         (-[WebHTMLView _toggleItalic]):
502         new method, toggles font-style from "italic" to "normal"
503         (-[WebHTMLView _handleStyleKeyEquivalent:]):
504         new method, if the new preference is set and we're in an editable state, check for standard
505         key equivalents for toggling styles (just command-B and command-I for now).
506         (-[WebHTMLView performKeyEquivalent:]):
507         Moved in file, now calls _handleStyleKeyEquivalent:
508         
509         * WebView.subproj/WebPreferenceKeysPrivate.h:
510         new preference key WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
511         * WebView.subproj/WebPreferences.m:
512         (+[WebPreferences initialize]):
513         initial value of WebKitRespectStandardStyleKeyEquivalentsPreferenceKey is NO (maybe we'll
514         change our minds about this, but this is more guaranteed to be backward-compatible)
515         (-[WebPreferences respectStandardStyleKeyEquivalents]):
516         read WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
517         (-[WebPreferences setRespectStandardStyleKeyEquivalents:]):
518         write WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
519         
520         * WebView.subproj/WebPreferencesPrivate.h:
521         declare getter and setter
522         
523         * English.lproj/StringsNotToBeLocalized.txt:
524         updated for these and other recent changes
525
526 2004-09-27  Chris Blumenberg  <cblu@apple.com>
527
528         Fixed: <rdar://problem/3806649> assertion failure after control-click of webcam
529
530         Reviewed by john.
531
532         * WebView.subproj/WebDefaultContextMenuDelegate.m:
533         (-[WebDefaultUIDelegate contextMenuItemsForElement:]): don't provide "Copy Image" if the image is not fully loaded
534
535 2004-09-27  Chris Blumenberg  <cblu@apple.com>
536
537         Fixed: <rdar://problem/3814810> REGRESSION (125-164): Exception adding nil to dictionary in dragging code
538
539         Reviewed by john.
540
541         * WebView.subproj/WebHTMLView.m:
542         (-[WebHTMLView _setMouseDownEvent:]): new
543         (-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent
544         (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
545         (-[WebHTMLView mouseDown:]): ditto
546         (-[WebHTMLView _delegateDragSourceActionMask]): removed temp fix, assert that the mouse event is not nil
547
548 2004-09-27  Darin Adler  <darin@apple.com>
549
550         * WebKit.pbproj/project.pbxproj: Added WebDashboardRegion.h as a private header.
551
552 2004-09-24  Chris Blumenberg  <cblu@apple.com>
553
554         Reviewed by rjw.
555
556         * WebView.subproj/WebHTMLView.m:
557         (-[WebHTMLView _selectedArchive]): added timing code for copying markup
558
559 === Safari-165 ===
560
561 2004-09-24  Chris Blumenberg  <cblu@apple.com>
562
563         Temp fix for: <rdar://problem/3814810> REGRESSION (125-164): Exception adding nil to dictionary in dragging code
564
565         Reviewed by john.
566
567         * WebView.subproj/WebHTMLView.m:
568         (-[WebHTMLView _delegateDragSourceActionMask]): return none if the mouse down event is nil
569
570 2004-09-24  Ken Kocienda  <kocienda@apple.com>
571
572         Reviewed by John
573
574         Fix for this bug:
575         
576         <rdar://problem/3813917> REGRESSION (125-163): The font panel will change the font of any web page
577         
578         We were doing a laughably bad job at preventing edits in documents that were not editable.
579         This change fixes the specific case of the bug mentioned above, and makes an attempt to
580         fix similar bugs by checking for whether the view is in editing mode before making edits.
581
582         * WebView.subproj/WebHTMLView.m:
583         (-[WebHTMLView _canEdit]): Renamed from _canType. Used in many more places in the code now.
584         (-[WebHTMLView _isMoveDrag]): Change around code to make the meaning more clear. This one
585         was actually performing a correct check before.
586         (-[WebHTMLView keyDown:]): Renamed _canType to _canEdit.
587         (-[WebHTMLView paste:]): Don't beep if can't paste. This matches AppKit. Any paste-related beeps
588         will come from failure to handle key equivalent. Menu validation will kick in to dim menu.
589         (-[WebHTMLView _applyStyleToSelection:]): Bail if !_canEdit.
590         (-[WebHTMLView pasteAsPlainText:]): Ditto.
591         (-[WebHTMLView _alignSelectionUsingCSSValue:]): Ditto.
592         (-[WebHTMLView insertNewline:]): Ditto.
593         (-[WebHTMLView insertParagraphSeparator:]): Ditto.
594         (-[WebHTMLView _changeWordCaseWithSelector:]): Ditto.
595         (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Ditto.
596         (-[WebHTMLView complete:]): Ditto.
597         (-[WebHTMLView _changeSpellingToWord:]): Ditto. Some code rearranging to eliminate bridge local variable.
598         (-[WebHTMLView ignoreSpelling:]): Ditto.
599         (-[WebHTMLView yank:]): Bail if !_canEdit.
600         (-[WebHTMLView yankAndSelect:]): Ditto.
601         (-[WebHTMLView deleteToMark:]): Ditto.
602         (-[WebHTMLView swapWithMark:]): Ditto.
603         (-[WebHTMLView transpose:]): Ditto.
604         (-[WebHTMLView _updateFontPanel]): Ditto. Some code rearranging to eliminate bridge local variable.
605         (-[WebHTMLView setMarkedText:selectedRange:]): Bail if !_canEdit.
606         (-[WebHTMLView _insertText:selectInsertedText:]): Ditto. Some code rearranging to eliminate bridge local variable.
607         * WebView.subproj/WebHTMLViewPrivate.h: Renamed _canType to _canEdit.
608
609 2004-09-24  Ken Kocienda  <kocienda@apple.com>
610
611         Reviewed by me
612
613         * WebCoreSupport.subproj/WebDashboardRegion.h: Check in file copied from WebCore.
614
615 2004-09-23  Maciej Stachowiak  <mjs@apple.com>
616
617         Reviewed by Darin.
618
619         <rdar://problem/3685235> REGRESSION (Mail): links are not properly editable
620         
621         * WebView.subproj/WebDefaultUIDelegate.m: By default, don't allow
622         link dragging if the element under the mouse pointer is
623         editable. This way, you can drag-select starting inside a link.
624
625 2004-09-23  John Sullivan  <sullivan@apple.com>
626
627         Reviewed by Chris.
628         
629         - WebKit part of fix for <rdar://problem/3415264> 
630         Default encoding should initially be set to current system encoding
631
632         * WebView.subproj/WebPreferences.m:
633         (-[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]):
634         new SPI that sets the initial value of the default text encoding to
635         be the system encoding, with a special-case conversion of MacRoman->Latin1.
636         This is not done automatically for WebKit clients for fear of breaking them.
637         
638         * WebView.subproj/WebPreferencesPrivate.h:
639         declare new SPI
640
641 2004-09-23  Darin Adler  <darin@apple.com>
642
643         Reviewed by Ken.
644
645         - fixed <rdar://problem/3811584> REGRESSION (85-125): iframe.document undefined in function called from button onclick; works from img onclick
646
647         The fix is to not let "defers callbacks" have any effect on loading "about:blank".
648         I also had to fix one bug in WebCore that could then be reproduced by going to "about:blank"
649         while using a button.
650
651         * WebView.subproj/WebMainResourceClient.m:
652         (-[WebMainResourceClient connection:didReceiveResponse:]): Loosen asserts to allow this callback
653         for the specific case of "about:blank" even if the defers callbacks flag is true.
654         (-[WebMainResourceClient connectionDidFinishLoading:]): Ditto.
655         (-[WebMainResourceClient loadWithRequestNow:]): Added NSURLRequest return value. Loosened asserts
656         as above. Changed code to return a new request if we get a new request back that is not empty
657         when the defers callbacks flag is true.
658         (-[WebMainResourceClient loadWithRequest:]): If the defers callbacks flag is set, but the
659         URL is one that gives us an empty document, then do the work right away, don't defer it.
660
661 2004-09-23  Darin Adler  <darin@apple.com>
662
663         - fixed B&I builds by checking in generated file
664
665         * WebCoreSupport.subproj/WebDashboardRegion.h: Added.
666
667 2004-09-22  Richard Williamson   <rjw@apple.com>
668
669         Pass dashboard regions to UI delegate.
670
671         Reviewed by Hyatt.
672
673         * WebCoreSupport.subproj/WebBridge.m:
674         (-[WebBridge dashboardRegionsChanged:]):
675         * WebView.subproj/WebUIDelegatePrivate.h:
676         * copy-webcore-files-to-webkit:
677
678 2004-09-22  Chris Blumenberg  <cblu@apple.com>
679
680         Fixed build that I just broke.
681
682         * WebView.subproj/WebHTMLView.m:
683         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
684
685 2004-09-22  Chris Blumenberg  <cblu@apple.com>
686
687         <rdar://problem/3812091> REGRESSION (Mail): double-clicked word is not smart inserted on drag
688
689         Reviewed by john.
690
691         * WebView.subproj/WebHTMLView.m:
692         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): pass value for smartMove
693
694 2004-09-22  Chris Blumenberg  <cblu@apple.com>
695
696         Fixed:
697         <rdar://problem/3667301> Frequent crashes in Mail when viewing HTML messages (CFURLGetByteRangeForComponent)
698         <rdar://problem/3810354> WebResourceLoadDelegate can't refuse requests by returning nil; code asserts/crashes instead
699
700         Reviewed by rjw.
701
702         * WebCoreSupport.subproj/WebSubresourceClient.m:
703         (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): removed broken code that handled loadWithRequest returning NO
704         * WebView.subproj/WebBaseResourceHandleDelegate.m:
705         (-[WebBaseResourceHandleDelegate loadWithRequest:]): if nil is returned from the client for willSendRequest, report the cancelled error and return
706
707 2004-09-22  Ken Kocienda  <kocienda@apple.com>
708
709         Reviewed by Darin
710
711         * WebView.subproj/WebFrameView.m:
712         (-[WebFrameView _webcore_effectiveFirstResponder]): New function to yield the correct responder
713         to check for firstResponder-ness before calling makeFirstResonder. This helps to prevent 
714         unwanted firstResponder switching.
715         * WebView.subproj/WebView.m:
716         (-[WebView _webcore_effectiveFirstResponder]): Ditto.
717
718 2004-09-21  Chris Blumenberg  <cblu@apple.com
719
720         Fixed:
721         <rdar://problem/3735071> REGRESSION (Mail): WebCore Editing must do smart paste
722         <rdar://problem/3799163> REGRESSION (Mail): Deleting a word doesn't delete whitespace
723
724         Reviewed by darin.
725
726         * WebView.subproj/WebDataSource.m:
727         (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for smartReplace
728         * WebView.subproj/WebHTMLView.m:
729         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard
730         (-[WebHTMLView _changeSpellingFromMenu:]): pass NO for smartReplace
731         (-[WebHTMLView pasteboardTypesForSelection]): include WebSmartPastePboardType when _canSmartCopyOrDelete return YES
732         (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): ditto
733         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard
734         (-[WebHTMLView delete:]): call _deleteSelection
735         (-[WebHTMLView cut:]): don't call delegate twice, call _deleteRange to delete
736         (-[WebHTMLView pasteAsPlainText:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard
737         (-[WebHTMLView _changeWordCaseWithSelector:]): pass NO for smartReplace
738         (-[WebHTMLView deleteBackward:]): call _deleteSelection when there is a selected range
739         (-[WebHTMLView _changeSpellingToWord:]): pass NO for smartReplace
740         (-[WebHTMLView deleteToMark:]): pass NO for smartDeleteOK
741         (-[WebHTMLView transpose:]): pass NO for smartReplace
742         (-[WebHTMLView _shouldDeleteRange:]): moved
743         (-[WebHTMLView _deleteRange:preflight:killRing:prepend:smartDeleteOK:]): moved, handle smartDelete
744         (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): moved
745         (-[WebHTMLView _deleteSelection]): new
746         (-[WebHTMLView _canSmartReplaceWithPasteboard]): new
747         (-[WebHTMLView _canSmartCopyOrDelete]): new
748         (-[WebHTMLView setMarkedText:selectedRange:]): pass NO for smartReplace
749         (-[WebHTMLView _discardMarkedText]): call _deleteSelection
750         (-[WebTextCompleteController _insertMatch:]): pass NO for smartReplace
751         (-[WebTextCompleteController endRevertingChange:moveLeft:]): pass NO for smartReplace
752         * WebView.subproj/WebHTMLViewInternal.h:
753         * WebView.subproj/WebView.m:
754         (-[WebView _commonInitializationWithFrameName:groupName:]): set smartInsertDeleteEnabled to YES
755         (-[WebView replaceSelectionWithNode:]): pass NO for smartReplace
756         (-[WebView replaceSelectionWithText:]): pass NO for smartReplace
757         (-[WebView replaceSelectionWithMarkupString:]): pass NO for smartReplace
758         (-[WebView deleteSelection]): call _deleteSelection on WebHTMLView
759
760 2004-09-21  John Sullivan  <sullivan@apple.com>
761
762         Reviewed by Darin.
763
764         - WebKit part of fix for <rdar://problem/3618274> REGRESSION (125-135): 
765         Option-tab doesn't always work as expected
766
767         * WebCoreSupport.subproj/WebBridge.m:
768         (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
769         Don't set WebCoreKeyboardAccessFull when setting WebCoreKeyboardAccessTabsToLinks
770         after all; these need to be tested independently to get the option-tab behavior
771         correct.
772
773 2004-09-21  John Sullivan  <sullivan@apple.com>
774
775         * WebView.subproj/WebHTMLView.m:
776         (-[WebHTMLView doCommandBySelector:]):
777         Commented out part of previous change; it breaks Mail editing until Mail
778         fixes bug 3810158.
779
780 2004-09-21  John Sullivan  <sullivan@apple.com>
781
782         Reviewed by Ken.
783
784         * WebView.subproj/WebHTMLView.m:
785         (-[WebHTMLView doCommandBySelector:]):
786         Fix build failure from previous checkin, d'oh! Didn't set up webview variable.
787
788 2004-09-21  John Sullivan  <sullivan@apple.com>
789
790         Reviewed by Ken.
791         
792         - fixed <rdar://problem/3809477> WebHTMLView needs to pass doCommandBySelector through delegate
793
794         * WebView.subproj/WebHTMLView.m:
795         (-[WebHTMLView doCommandBySelector:]):
796         Call through to editing delegate. If editing delegate returns YES, don't call super.
797
798         * WebView.subproj/WebDefaultEditingDelegate.m:
799         (-[WebDefaultEditingDelegate webView:doCommandBySelector:]):
800         default implementation (which was never called) was returning YES, but it should
801         return NO to signal that it didn't handle the selector.
802         
803 2004-09-21  Chris Blumenberg  <cblu@apple.com>
804
805         Fixed: <rdar://problem/3647229> Safari does not play inline Windows Media Content on some sites (miggy.net and ministryofsound.com)
806
807         Reviewed by john.
808
809         * Plugins.subproj/WebBaseNetscapePluginView.m:
810         * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
811         (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:]): set the plug-in before calling setting the attributes, so we can avoid passing certain attributes to the WMP plug-in that cause it to crash
812
813 2004-09-20  Chris Blumenberg  <cblu@apple.com>
814
815         Fixed: <rdar://problem/3781290> REGRESSION (Mail): Crash in ReplaceSelectionCommandImpl attaching file to new message
816
817         Reviewed by kocienda.
818
819         * WebView.subproj/WebView.m:
820         (-[WebView setEditable:]): call updateSelectionFromEmpty on the bridge if there is no selection
821
822 2004-09-20  Chris Blumenberg  <cblu@apple.com>
823
824         Changes to implement renamed bridge methods.
825
826         Reviewed by darin.
827
828         * ChangeLog:
829         * DOM.subproj/WebDOMOperations.m:
830         (-[DOMDocument URLWithAttributeString:]): call renamed bridge method
831         * WebCoreSupport.subproj/WebBridge.m:
832         (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): take 2 parameter arrays rather than 1 which will have to be parsed
833         (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): ditto
834
835 2004-09-20  Darin Adler  <darin@apple.com>
836
837         Reviewed by Chris.
838
839         * WebView.subproj/WebFramePrivate.h: Added back.
840         * WebView.subproj/WebFrameViewPrivate.h: Removed.
841
842 2004-09-20  Darin Adler  <darin@apple.com>
843
844         Reviewed by Ken.
845
846         - fixed <rdar://problem/3655360> REGRESSION (Mail): Ctrl-V emacs key binding, -pageDown: method, unimplemented (and pageUp, and selection-modifying versions)
847         - fixed <rdar://problem/3792138> REGRESSION (Mail): Spell checker doesn't check current selected word
848
849         * WebView.subproj/WebFrameViewInternal.h: Moved WebFrameViewPrivate inside the WebFrameView.m file.
850         Removed a bunch of methods that don't need to be seen in other files, and added _verticalPageScrollDistance.
851         * WebView.subproj/WebFrameViewPrivate.h: Removed. Renamed to WebFrameViewInternal.h.
852         * WebView.subproj/WebFrameView.m:
853         (-[WebFrameView _verticalKeyboardScrollDistance]): Move in the file because of internal vs. private.
854         (-[WebFrameView _shouldDrawBorder]): Ditto.
855         (-[WebFrameView _tile]): Ditto.
856         (-[WebFrameView _verticalPageScrollDistance]): Added. Separate method so it can be called
857         by the code to implement pageDown:.
858         (-[WebFrameView _drawBorder]): Move in the file because of internal vs. private.
859         (-[WebFrameView _goBack]): Ditto.
860         (-[WebFrameView _goForward]): Ditto.
861         (-[WebFrameView _scrollVerticallyBy:]): Ditto.
862         (-[WebFrameView _scrollHorizontallyBy:]): Ditto.
863         (-[WebFrameView _horizontalKeyboardScrollDistance]): Ditto.
864         (-[WebFrameView _horizontalPageScrollDistance]): Added. Separate method for consistency with
865         vertical method above.
866         (-[WebFrameView _pageVertically:]): Moved and changed to use _verticalPageScrollDistance.
867         (-[WebFrameView _pageHorizontally:]): Moved and changed to use _horizontalPageScrollDistance.
868         (-[WebFrameView _scrollLineVertically:]): Move in the file because of internal vs. private.
869         (-[WebFrameView _scrollLineHorizontally:]): Ditto.
870         (-[WebFrameView scrollPageUp:]): Ditto.
871         (-[WebFrameView scrollPageDown:]): Ditto.
872         (-[WebFrameView scrollLineUp:]): Ditto.
873         (-[WebFrameView scrollLineDown:]): Ditto.
874         (-[WebFrameView _firstResponderIsControl]): Ditto.
875         (-[WebFrameView keyDown:]): Changed to eliminate _pageLeft, _lineLeft, _pageRight, and _lineRight.
876
877         * WebView.subproj/WebDataSource.m: Use WebFrameView.h instead of WebFrameViewPrivate.h.
878
879         * WebView.subproj/WebHTMLView.m:
880         (-[WebHTMLView _alterCurrentSelection:verticalDistance:]): Added.
881         (-[WebHTMLView moveToBeginningOfDocument:]): Use WebSelectToDocumentBoundary.
882         (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto.
883         (-[WebHTMLView moveToEndOfDocument:]): Ditto.
884         (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto.
885         (-[WebHTMLView moveParagraphBackwardAndModifySelection:]): Added.
886         (-[WebHTMLView moveParagraphForwardAndModifySelection:]): Added.
887         (-[WebHTMLView pageUp:]): Added.
888         (-[WebHTMLView pageDown:]): Added.
889         (-[WebHTMLView pageUpAndModifySelection:]): Added.
890         (-[WebHTMLView pageDownAndModifySelection:]): Added.
891         (-[WebHTMLView showGuessPanel:]): Changed to call advanceToNextMisspellingStartingJustBeforeSelection.
892         This fixes the problem with spell checking.
893
894         * WebView.subproj/WebImageView.m:
895         (-[WebImageView webView]): Changed to use _web_parentWebView.
896         (-[WebImageView menuForEvent:]): Changed to use [self webView].
897         (-[WebImageView mouseDown:]): Ditto.
898         (-[WebImageView mouseDragged:]): Ditto.
899         (-[WebImageView draggedImage:endedAt:operation:]): Ditto.
900
901         * WebView.subproj/WebTextView.m:
902         (-[WebTextView _textSizeMultiplierFromWebView]): Changed to use _web_parentWebView.
903         (-[WebTextView menuForEvent:]): Ditto.
904         (-[WebTextView drawPageBorderWithSize:]): Ditto.
905         (-[WebTextView knowsPageRange:]): Ditto.
906
907         * Plugins.subproj/WebPluginDatabase.m: Updated filename of WebFrameViewInternal.h.
908         * WebCoreSupport.subproj/WebBridge.m: Ditto.
909         * WebKit.pbproj/project.pbxproj: Ditto.
910         * WebView.subproj/WebFrame.m: Ditto.
911         * WebView.subproj/WebView.m: Ditto.
912         * Misc.subproj/WebNSViewExtras.m: Ditto.
913
914 2004-09-20  Darin Adler  <darin@apple.com>
915
916         Reviewed by Ken.
917
918         - added helper method _web_parentWebView so fewer files need to get at WebFrame private methods
919
920         * Misc.subproj/WebNSViewExtras.h: Added _web_parentWebView.
921         * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_parentWebView]): Added.
922
923 === Safari-164 ===
924
925 2004-09-17  Chris Blumenberg  <cblu@apple.com>
926         
927         Fixed:
928         <rdar://problem/3805757> don't unnecessarily put RTFD on the pasteboard
929         <rdar://problem/3805756> strip attachments before generating RTF
930
931         Reviewed by john.
932
933         * WebView.subproj/WebHTMLView.m:
934         (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): only put RTFD on the pasteboard if it has attachments, strip attachments when writing RTF
935
936 2004-09-16  Darin Adler  <darin@apple.com>
937
938         Reviewed by John.
939
940         - fixed <rdar://problem/3804648> 8A262: Safari crashed in -[WebView(WebPrivate) _editingDelegateForwarder] inside QuickTime Cocoa Plug-in during WebView deallocation
941
942         * WebView.subproj/WebView.m: (-[WebView _editingDelegateForwarder]):
943         Check _private for nil before dereferencing it.
944
945 2004-09-16  Chris Blumenberg  <cblu@apple.com>
946
947         Fixed: <rdar://problem/3779150> REGRESSION: images not copied when copying HTML in Safari and pasting into TextEdit
948
949         Reviewed by john.
950
951         * WebView.subproj/WebHTMLView.m:
952         (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): use RTFDFromRange:: for RTFD
953         * WebView.subproj/WebHTMLViewPrivate.h:
954
955 2004-09-15  Darin Adler  <darin@apple.com>
956
957         Reviewed by John.
958
959         - fixed assertion I saw using the font panel
960
961         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _colorAsString:]):
962         Convert color space before trying to get R, G, and B components.
963
964 2004-09-15  Chris Blumenberg  <cblu@apple.com>
965
966         Fixed: <rdar://problem/3802232> REGRESSION (Mail): WebCore Editing must do smart copy
967         
968         Reviewed by kocienda.
969
970         * WebView.subproj/WebHTMLView.m:
971         (-[WebHTMLView _writeSelectionToPasteboard:]): call instance method not class method to get pasteboard types since the types depends on the current selection granularity
972         (-[WebHTMLView pasteboardTypesForSelection]): if the selection granularity is "word" include the smart pasteboard type
973         (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): put nil on the pasteboard for smart copy
974
975 2004-09-14  Darin Adler  <darin@apple.com>
976
977         Reviewed by Maciej.
978
979         - fixed <rdar://problem/3788894> REGRESSION (Mail): ctrl-t emacs key binding does not work (transpose)
980         - fixed <rdar://problem/3798946> REGRESSION (Mail): Cursor does not disappear when typing
981
982         * WebView.subproj/WebHTMLView.m:
983         (-[WebHTMLView keyDown:]): Hide cursor by calling setHiddenUntilMouseMoves:YES.
984         (-[WebHTMLView transpose:]): Added.
985
986 2004-09-14  Richard Williamson   <rjw@apple.com>
987
988         1.  Add class parameter to object allocation function.  This is somewhat redundant, given that
989         the allocation function is in the class function vector, but people wanted to use the same
990         allocation function for different classes.
991         
992         2.  Renamed NPN_Class to NPN_Invoke to match the name in the function vector.
993         
994         3.  Add support for a default function on an object.  This is a feature that ActiveX supports,
995         and will allow JavaScript code to be written that will look exactly the same for both ActiveX
996         plugins and Netscape or WebKit plugins.  There are implementations included for the 'C' and
997         'Objective-C' bindings.
998         
999         There bugs are covered by
1000         
1001         <rdar://problem/3776343> Support for default functions in the JavaScript bindings
1002         <rdar://problem/3779186> NPN_Call needs to be renamed to NPN_Invoke
1003         <rdar://problem/3674754> Need to implement latest npruntime.h
1004
1005         Reviewed by John.
1006
1007         * Plugins.subproj/WebNetscapePluginPackage.m:
1008         (-[WebNetscapePluginPackage load]):
1009         * Plugins.subproj/WebScriptObject.h:
1010         * Plugins.subproj/npfunctions.h:
1011         * Plugins.subproj/npruntime.h:
1012
1013 2004-09-13  Richard Williamson   <rjw@apple.com>
1014
1015         D'oh.  How many times can I screw up a simple fix!
1016
1017         * WebCoreSupport.subproj/WebTextRenderer.m:
1018         (-[WebTextRenderer initWithFont:usingPrinterFont:]):
1019
1020 2004-09-13  Richard Williamson   <rjw@apple.com>
1021
1022         Fixed snafu from 3782533 checkin.
1023         
1024         Reviewed by John.
1025
1026         * WebCoreSupport.subproj/WebTextRenderer.m:
1027         (-[WebTextRenderer initWithFont:usingPrinterFont:]):
1028
1029 2004-09-12  Chris Blumenberg  <cblu@apple.com>
1030
1031         Support for: <rdar://problem/3794790> drop rate or time remaining from download status when window is too small to fit it
1032
1033         Reviewed by john.
1034
1035         * Misc.subproj/WebStringTruncator.h:
1036         * Misc.subproj/WebStringTruncator.m:
1037         (+[WebStringTruncator widthOfString:font:]): new
1038
1039 2004-09-10  Richard Williamson   <rjw@apple.com>
1040
1041         Fixed <rdar://problem/3782533> CrashTracer: .1459 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 0x138
1042
1043         We were explicitly failing when we encountered deprecated fonts.
1044         (Those with unsupported glyph packings).
1045         Deprecated fonts should only appear on a system that have 
1046         stuff migrated from OS 9.  Ugh, thats probably why we've never seen
1047         the problem here.
1048         
1049         Reviewed by John.
1050
1051         * WebCoreSupport.subproj/WebTextRenderer.m:
1052         (-[WebTextRenderer initWithFont:usingPrinterFont:]):
1053
1054 2004-09-10  John Sullivan  <sullivan@apple.com>
1055
1056         Reviewed by Chris.
1057         
1058         - added _isFrameSet as a private method, so it can be used in WebBrowser.
1059         This is needed to merge the fix for 3123987 to SUPanNavy.
1060
1061         * WebView.subproj/WebFrame.m:
1062         (-[WebFrame _isFrameSet]):
1063         new method
1064         
1065         * WebView.subproj/WebFramePrivate.h:
1066         declare new method
1067
1068 2004-09-10  Chris Blumenberg  <cblu@apple.com>
1069
1070         Fixed previous "Reviewed by" line.
1071
1072         * ChangeLog:
1073
1074 2004-09-09  Chris Blumenberg  <cblu@apple.com>
1075
1076         Support for: <rdar://problem/3795485> debug menu item to enable RSS animation on first layout
1077
1078         Reviewed by rjw.
1079
1080         * WebCoreSupport.subproj/WebBridge.m:
1081         (-[WebBridge didFirstLayout]): new
1082         * WebView.subproj/WebDefaultFrameLoadDelegate.m:
1083         (-[WebDefaultFrameLoadDelegate webView:didFirstLayoutInFrame:]): new
1084         * WebView.subproj/WebViewPrivate.h:
1085
1086 2004-09-09  Richard Williamson   <rjw@apple.com>
1087
1088         Alternate implementation of image rendering.  Use CGImageRefs instead
1089         of NSImages.
1090         
1091         Mostly works, but currently disabled because of issues w/ CG.
1092         
1093         Reviewed by Chris.
1094
1095         * ChangeLog:
1096         * WebCoreSupport.subproj/WebImageData.h: Added.
1097         * WebCoreSupport.subproj/WebImageData.m: Added.
1098         (-[WebImageData _commonTermination]):
1099         (-[WebImageData dealloc]):
1100         (-[WebImageData finalize]):
1101         (-[WebImageData copyWithZone:]):
1102         (-[WebImageData numberOfImages]):
1103         (-[WebImageData currentFrame]):
1104         (-[WebImageData _invalidateImages]):
1105         (-[WebImageData imageAtIndex:]):
1106         (-[WebImageData incrementalLoadWithBytes:length:complete:]):
1107         (drawPattern):
1108         (-[WebImageData tileInRect:fromPoint:context:]):
1109         (-[WebImageData isNull]):
1110         (-[WebImageData size]):
1111         (-[WebImageData _frameDuration]):
1112         (-[WebImageData _repetitionCount]):
1113         (-[WebImageData isAnimationFinished]):
1114         (+[WebImageData stopAnimationsInView:]):
1115         (-[WebImageData addAnimatingRenderer:inView:]):
1116         (-[WebImageData removeAnimatingRenderer:]):
1117         (-[WebImageData _stopAnimation]):
1118         (-[WebImageData _nextFrame:]):
1119         (-[WebImageData animate]):
1120         * WebCoreSupport.subproj/WebImageRenderer.h:
1121         * WebCoreSupport.subproj/WebImageRenderer.m:
1122         (-[WebImageRenderer initWithMIMEType:]):
1123         (-[WebImageRenderer initWithData:MIMEType:]):
1124         (-[WebImageRenderer initWithContentsOfFile:]):
1125         (-[WebImageRenderer dealloc]):
1126         (-[WebImageRenderer copyWithZone:]):
1127         (-[WebImageRenderer retainOrCopyIfNeeded]):
1128         (-[WebImageRenderer resize:]):
1129         (-[WebImageRenderer size]):
1130         (-[WebImageRenderer MIMEType]):
1131         (-[WebImageRenderer frameCount]):
1132         (-[WebImageRenderer isNull]):
1133         (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
1134         (-[WebImageRenderer drawImageInRect:fromRect:]):
1135         (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
1136         (-[WebImageRenderer tileInRect:fromPoint:context:]):
1137         (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
1138         (+[WebImageRenderer stopAnimationsInView:]):
1139         (-[WebImageRenderer stopAnimation]):
1140         (-[WebImageRenderer targetAnimationRect]):
1141         (-[WebImageRenderer increaseUseCount]):
1142         (-[WebImageRenderer decreaseUseCount]):
1143         (-[WebImageRenderer flushRasterCache]):
1144         (-[WebImageRenderer imageRef]):
1145         (-[WebImageRenderer TIFFRepresentation]):
1146         (-[WebImageRenderer image]):
1147         * WebCoreSupport.subproj/WebImageRendererFactory.m:
1148         (-[WebImageRendererFactory imageRendererWithMIMEType:]):
1149         (-[WebImageRendererFactory imageRendererWithData:MIMEType:]):
1150         (-[WebImageRendererFactory imageRendererWithSize:]):
1151         (-[WebImageRendererFactory imageRendererWithName:]):
1152         * WebKit.pbproj/project.pbxproj:
1153         * WebView.subproj/WebImageView.m:
1154         (-[WebImageView image]):
1155
1156 === Safari-163 ===
1157
1158 2004-09-09  Maciej Stachowiak  <mjs@apple.com>
1159
1160         - rolled out last two changes, they seem to cause a performance regression
1161
1162         * WebView.subproj/WebHTMLView.m:
1163         (-[WebHTMLView firstRectForCharacterRange:]):
1164
1165 2004-09-09  Maciej Stachowiak  <mjs@apple.com>
1166
1167         - fixed build
1168
1169         * WebView.subproj/WebHTMLView.m:
1170         (-[WebHTMLView firstRectForCharacterRange:]):
1171
1172 2004-09-08  Maciej Stachowiak  <mjs@apple.com>
1173
1174         Reviewed by Dave.
1175
1176         WebKit part of fix for:
1177         
1178         <rdar://problem/3759187> REGRESSION (Mail): implement firstRectForCharacterRange:
1179
1180         * WebView.subproj/WebHTMLView.m:
1181         (-[WebHTMLView firstRectForCharacterRange:]): Call the appropriate new bridge method,
1182         and translate to screen coordinates.
1183
1184 2004-09-09  Darin Adler  <darin@apple.com>
1185
1186         Reviewed by Ken.
1187
1188         - fixed <rdar://problem/3790526> mark-related methods not implemented (needed for people with them in their key bindings files)
1189
1190         * WebKit.pbproj/project.pbxproj: Update MACOSX_DEPLOYMENT_TARGET to 10.3 and add -fobjc-exceptions
1191         so we can use new exceptions.
1192
1193         * WebView.subproj/WebHTMLView.m:
1194         (-[WebHTMLView setMark:]): Added.
1195         (unionDOMRanges): Added.
1196         (-[WebHTMLView deleteToMark:]): Added.
1197         (-[WebHTMLView selectToMark:]): Added.
1198         (-[WebHTMLView swapWithMark:]): Added.
1199         (-[WebHTMLView markedRange]): Updated for change to bridge method names.
1200         (-[WebHTMLView hasMarkedText]): Ditto.
1201         (-[WebHTMLView unmarkText]): Ditto.
1202         (-[WebHTMLView _selectMarkedText]): Ditto.
1203         (-[WebHTMLView _selectRangeInMarkedText:]): Ditto.
1204         (-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
1205         (-[WebHTMLView _insertText:selectInsertedText:]): Removed check for empty string. An empty string
1206         should not be filtered out here. We need to allow inserting an empty string.
1207         (-[WebHTMLView _selectionIsInsideMarkedText]): Updated for change to bridge method names.
1208         (-[WebHTMLView _updateSelectionForInputManager]): Ditto.
1209
1210         * WebView.subproj/WebView.m: (-[WebView searchFor:direction:caseSensitive:wrap:]):
1211         Changed to use selectionDOMRange instead of selectionStart.
1212
1213         * WebView.subproj/WebHTMLRepresentation.h: Removed unused setSelectionFrom method.
1214         * WebView.subproj/WebHTMLRepresentation.m: Ditto.
1215
1216 2004-09-08  John Sullivan  <sullivan@apple.com>
1217
1218         Reviewed by Darin.
1219         
1220         - fixed the localization aspect of: 
1221         <rdar://problem/3790011> undoable operations all say "Undo" in the menu, no specific action names
1222         
1223         We now have all the strings ready for localization; we just don't actually use them yet.
1224
1225         * English.lproj/Localizable.strings:
1226         updated for this change
1227         
1228         * WebCoreSupport.subproj/WebBridge.m:
1229         (-[WebBridge setUndoActionNamePlaceholder]):
1230         added this placeholder method whose purpose is to hold localizable strings for all the Undo
1231         action names that NSTextView uses. Later we will use some or all of these, but we can do
1232         that part after the localization freeze.
1233
1234 2004-09-08  Chris Blumenberg  <cblu@apple.com>
1235
1236         Fixed previous "Reviewed by" line.
1237
1238         * ChangeLog:
1239
1240 2004-09-08  Chris Blumenberg  <cblu@apple.com>
1241
1242         Fixed: <rdar://problem/3778785> REGRESSION (Mail): copying from MS word and pasting into editable region leaves internal clipboard data
1243
1244         Reviewed by kocienda.
1245
1246         * WebView.subproj/WebHTMLView.m:
1247         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): ignore Microsoft's header meta data
1248
1249 2004-09-08  Chris Blumenberg  <cblu@apple.com>
1250
1251         Fixed: <rdar://problem/3792893> WebBaseResourceHandleDelegate always returns cached data for subresource loads
1252
1253         Reviewed by rjw.
1254
1255         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1256         (-[WebBaseResourceHandleDelegate _canUseResourceForRequest:]): new
1257         (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceForRequest:
1258
1259 2004-09-08  Chris Blumenberg  <cblu@apple.com>
1260
1261         Forgot to add this in previous check-in.        
1262
1263         * English.lproj/WebViewEditingContextMenu.nib: Added.
1264
1265 2004-09-08  Chris Blumenberg  <cblu@apple.com>
1266
1267         Fixed: <rdar://problem/3791240> WebKit uses the NSTextViewContextMenu nib from inside AppKit
1268
1269         Reviewed by john.
1270
1271         * English.lproj/StringsNotToBeLocalized.txt:
1272         * WebKit.pbproj/project.pbxproj:
1273         * WebView.subproj/WebDefaultContextMenuDelegate.m:
1274         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): use our copy of the nib
1275
1276 2004-09-07  Darin Adler  <darin@apple.com>
1277
1278         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
1279
1280 2004-09-07  Chris Blumenberg  <cblu@apple.com>
1281
1282         Fixed: <rdar://problem/3790143> exception raised when dragging a URL with 2-byte characters
1283
1284         (checked in with last check-in)
1285
1286 2004-09-07  Chris Blumenberg  <cblu@apple.com>
1287
1288         Fixed:
1289         <rdar://problem/3080103> Need to pass cmd-modified keys to plug-ins
1290         <rdar://problem/3751509> can't use safari edit menu to copy and paste with Vantage Learning's My Access
1291
1292         Reviewed by john.
1293
1294         * Plugins.subproj/WebBaseNetscapePluginView.m: fake up command-key events for cut, copy, paste and select all so these menu items work for plug-ins
1295         (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]):
1296         (-[WebBaseNetscapePluginView cut:]):
1297         (-[WebBaseNetscapePluginView copy:]):
1298         (-[WebBaseNetscapePluginView paste:]):
1299         (-[WebBaseNetscapePluginView selectAll:]):
1300
1301 2004-09-07  Darin Adler  <darin@apple.com>
1302
1303         - fixed deployment build
1304
1305         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:]):
1306         Initialize prepend variable.
1307
1308 2004-09-06  Darin Adler  <darin@apple.com>
1309
1310         Reviewed by John.
1311
1312         - fixed <rdar://problem/3696542> REGRESSION (Mail): Editable WebKit doesn't support underline yet (in the iChat profile window, at least)
1313         - fixed <rdar://problem/3780249> REGRESSION (Mail): copy style/paste style doesn't work in HTML editing in Mail
1314         - fixed <rdar://problem/3788857> REGRESSION (Mail): Home and End keys don't work in message composer
1315         - fixed <rdar://problem/3788884> REGRESSION (Mail): ctrl-d emacs key binding does not work (delete forward)
1316         - fixed <rdar://problem/3788890> REGRESSION (Mail): ctrl-k emacs key binding does not work (delete to end of paragraph)
1317         - fixed <rdar://problem/3788899> REGRESSION (Mail): ctrl-y emacs key binding does not work (yank)
1318         - fixed <rdar://problem/3788901> REGRESSION (Mail): ctrl-o emacs key binding does not work (insert newline in front of insertion point)
1319         - fixed <rdar://problem/3788908> REGRESSION (Mail): ctrl-left-arrow emacs key binding does not work (move to beginning of line)
1320         - fixed <rdar://problem/3788913> REGRESSION (Mail): ctrl-right-arrow emacs key binding does not work (move to end of line)
1321         - implemented a first cut at other attribute changes from Text Panel besides underline (bugs?)
1322         - dealt with a couple of FIXMEs in WebHTMLView.m
1323         - updated list of not-yet-implemented methods in WebHTMLView.m
1324         - fixed many deletion operations to call the correct editing delegate methods
1325
1326         * WebView.subproj/WebFrameViewPrivate.h: Remove _scrollToTopLeft and _scrollToBottomLeft.
1327         No one was calling them anyway, so they should really have been marked internal and not private.
1328         * WebView.subproj/WebFrameView.m:
1329         (-[WebFrameView scrollToBeginningOfDocument:]): Renamed _scrollToTopLeft to this, so the home key
1330         would start working with the key bindings machinery.
1331         (-[WebFrameView scrollToEndOfDocument:]): Same thing, for end key.
1332         (-[WebFrameView keyDown:]): Update for name changes, and also make sure we don't try to grab
1333         control-arrow keys here (probably not necessary, but good anyway).
1334
1335         * WebView.subproj/WebHTMLViewInternal.h: Added keyDownEvent field, and startNewKillRingSequence
1336         and nextResponderDisabledOnce flags.
1337         * WebView.subproj/WebHTMLView.m:
1338         Rearrange declarations at the top of the file so that external things are up with
1339         the #import directives and things inside this file are declared below.
1340         (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): Ditto.
1341         (-[WebHTMLView _calculatePrintHeight]): Moved up into the "internal to file" category.
1342         (-[WebHTMLView _updateTextSizeMultiplier]): Ditto.
1343         (-[WebHTMLView _selectedRange]): Added.
1344         (-[WebHTMLView _openLinkFromMenu:]): Left this method lying around even though I deleted the
1345         other APPKIT_CODE_FOR_REFERENCE in case this shows up in the context menu we are now sharing
1346         with the AppKit. Chris will look at this later, and he can delete it then.
1347         (+[WebHTMLView initialize]): Call _NSInitializeKillRing.
1348         (-[WebHTMLView _documentRange]): Added.
1349         (-[WebHTMLView string]): Call the bridge to get the plain text rather than making an attributed
1350         string and then getting the text from there.
1351         (-[WebHTMLView becomeFirstResponder]): Set startNewKillRingSequence flag, so that new deletions
1352         will create a new kill ring entry.
1353         (-[WebHTMLView moveToBeginningOfDocument:]): Use backward direction instead of left direction.
1354         (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto.
1355         (-[WebHTMLView moveToBeginningOfLine:]): Ditto.
1356         (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]): Ditto.
1357         (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary.
1358         (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto.
1359         (-[WebHTMLView moveToEndOfDocument:]): Use forward direction instead of right direction.
1360         (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto.
1361         (-[WebHTMLView moveToEndOfLine:]): Ditto.
1362         (-[WebHTMLView moveToEndOfLineAndModifySelection:]): Ditto.
1363         (-[WebHTMLView moveToEndOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary.
1364         (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto.
1365         (-[WebHTMLView _shouldDeleteRange:]): Added.
1366         (-[WebHTMLView _deleteRange:preflight:killRing:prepend:]): Added.
1367         (-[WebHTMLView delete:]): Changed to call new _deleteRange method.
1368         (-[WebHTMLView cut:]): Changed to preflight property and call new _deleteRange method.
1369         (-[WebHTMLView _selectionFontAttributes]): Added.
1370         (-[WebHTMLView _selectionFontAttributesAsRTF]): Added.
1371         (-[WebHTMLView _fontAttributesFromFontPasteboard]): Added.
1372         (-[WebHTMLView _emptyStyle]): Added.
1373         (-[WebHTMLView _styleFromFontAttributes:]): Added.
1374         (-[WebHTMLView _applyStyleToSelection:]): Added.
1375         (-[WebHTMLView copyFont:]): Implemented.
1376         (-[WebHTMLView pasteFont:]): Implemented.
1377         (-[WebHTMLView _originalFontA]): Added.
1378         (-[WebHTMLView _originalFontB]): Added.
1379         (-[WebHTMLView _addToStyle:fontA:fontB:]): Added. Has code from the method that figures out
1380         what the font manager is doing for changeFont:, now needed for changeAttribute: too.
1381         (-[WebHTMLView _styleFromFontManagerOperation]): Renamed and now calls shared methods.
1382         (-[WebHTMLView changeFont:]): Call shared method, still does the same thing.
1383         (-[WebHTMLView _colorAsString:]): Added. Has code from the method we were using with the
1384         color panel before.
1385         (-[WebHTMLView _shadowAsString:]): Added.
1386         (-[WebHTMLView _styleForAttributeChange:]): Added.
1387         (-[WebHTMLView changeAttributes:]): Implemented.
1388         (-[WebHTMLView _styleFromColorPanelWithSelector:]): Renamed and now calls shared methods.
1389         (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): Call method by new name.
1390         (-[WebHTMLView changeDocumentBackgroundColor:]): Call method by new name.
1391         (-[WebHTMLView changeColor:]): Changed around a bit; still doesn't work yet.
1392         (-[WebHTMLView _alignSelectionUsingCSSValue:]): Call shared methods.
1393         (-[WebHTMLView indent:]): Removed, since NSTextView doesn't implement this method. Added to list
1394         of methods to possibly implement later in the file.
1395         (-[WebHTMLView insertTab:]): Call insertText: to save code and so we get WebViewInsertActionTyped
1396         instead of WebViewInsertActionPasted.
1397         (-[WebHTMLView changeCaseOfLetter:]): Removed, since NSTextView doesn't implement this method.
1398         Added to list of methods to possibly implement later in the file.
1399         (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Added.
1400         (-[WebHTMLView deleteForward:]): Implemented. This makes Control-D work.
1401         (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Implemented by just calling
1402         deleteBackward for now; probably better than doing nothing.
1403         (-[WebHTMLView deleteWordForward:]): Changed to call new _delete method above. Fixes things
1404         so that we delete the selection if there is one, get the appropriate delegate calls, handle
1405         the kill ring properly, and don't do any selection if we can't delete.
1406         (-[WebHTMLView deleteWordBackward:]): Ditto.
1407         (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
1408         (-[WebHTMLView deleteToEndOfLine:]): Ditto.
1409         (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
1410         (-[WebHTMLView deleteToEndOfParagraph:]): Ditto. Added additional behavior needed since this
1411         is bound to Control-K, so it's not really just delete to end of paragraph.
1412         (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): Added. Calls insertNewline:.
1413         (-[WebHTMLView insertTabIgnoringFieldEditor:]): Added. Calls insertTab:.
1414         (-[WebHTMLView subscript:]): Added.
1415         (-[WebHTMLView superscript:]): Added.
1416         (-[WebHTMLView unscript:]): Added.
1417         (-[WebHTMLView underline:]): Added.
1418         (-[WebHTMLView yank:]): Added.
1419         (-[WebHTMLView yankAndSelect:]): Added. Calls _insertText.
1420         (-[WebHTMLView _arrowKeyDownEventSelectorIfPreprocessing:]): Added. Part of workaround for
1421         control-arrow key trouble.
1422         (-[WebHTMLView respondsToSelector:]): Added. More of workaround.
1423         (-[WebHTMLView nextResponder:]): Added. More of workaround.
1424         (-[WebHTMLView _selectionChanged]): Set startNewKillRingSequence flag, so that new deletions
1425         will create a new kill ring entry.
1426         (-[WebHTMLView _updateFontPanel]): Remove a bunch of code here that wasn't working very well
1427         because it walked a DOM range incorrectly, and instead use the new method that does all the
1428         right stuff on the other side of the bridge.
1429         (-[WebHTMLView _insertText:selectInsertedText:]): Added new helper method for use by both
1430         insertText and yankAndSelect, with most of the guts of insertText and one additional parameter.
1431         (-[WebHTMLView insertText:]): Call the new _insertText.
1432
1433         * WebView.subproj/WebView.m: Use macros to make the forwarding from WebView more terse.
1434         Updated the list to include a few methods it didn't before.
1435
1436 2004-09-06  John Sullivan  <sullivan@apple.com>
1437
1438         Reviewed by Darin.
1439         
1440         - put preference keys in a private header file so Safari can use them for Managed Preferences
1441
1442         * WebView.subproj/WebPreferenceKeysPrivate.h:
1443         new Private header file, includes the #defines for NSUserDefaults preference keys
1444         
1445         * WebView.subproj/WebPreferences.m:
1446         moved the preference key #defines out of here; now imports WebPreferenceKeysPrivate.h
1447
1448         * WebKit.pbproj/project.pbxproj:
1449         updated for new file
1450
1451 2004-09-03  Chris Blumenberg  <cblu@apple.com>
1452
1453         Fixed: <rdar://problem/3782543> CrashTracer: ...87 crashes at com.apple.WebKit: -[WebNetscapePluginPackage initWithPath:] + 0x18c
1454
1455         Reviewed by john.
1456
1457         * Plugins.subproj/WebNetscapePluginPackage.m:
1458         (-[WebNetscapePluginPackage initWithPath:]): make sure the file is at least 8 bytes long before calling memcmp
1459
1460 2004-09-03  Chris Blumenberg  <cblu@apple.com>
1461         
1462         Fixed:
1463         <rdar://problem/3788328> assertion failure when moving an image
1464         <rdar://problem/3783628> REGRESSION (Mail): when I try to reorder an image, the image is duplicated
1465
1466         Reviewed by NOBODY (OOPS!).
1467
1468         * DOM.subproj/WebDOMOperations.m:
1469         (-[DOMDocument _createRangeWithNode:]): new, convenience
1470         (-[DOMDocument _documentRange]): use _ createRangeWithNode:
1471         * DOM.subproj/WebDOMOperationsPrivate.h:
1472         * WebView.subproj/WebHTMLView.m:
1473         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): set the selection to the image when starting the drag. This allows "move selection" to work and this matches NSText's behavior
1474
1475 === Safari-162 ===
1476
1477 2004-09-02  Richard Williamson   <rjw@apple.com>
1478
1479         Support for patterns in <canvas>.  
1480         (These changes attempt to create a CGImageRef from a WebImageRenderer that
1481         is used by the pattern drawing function.)
1482         
1483         Reviewed by Hyatt.
1484
1485         * WebCoreSupport.subproj/WebImageRenderer.h:
1486         * WebCoreSupport.subproj/WebImageRenderer.m:
1487         (-[WebImageRenderer dealloc]):
1488         (-[WebImageRenderer finalize]):
1489         (-[WebImageRenderer imageRef]):
1490         (_createImageRef):
1491         * WebView.subproj/WebPDFView.h:
1492         * WebView.subproj/WebPDFView.m:
1493
1494 2004-09-01  Chris Blumenberg  <cblu@apple.com>
1495
1496         Fixed deployment build failure.
1497
1498         * WebView.subproj/WebDefaultContextMenuDelegate.m:
1499         (-[WebDefaultUIDelegate menuItemWithTag:]):
1500
1501 2004-08-31  Chris Blumenberg  <cblu@apple.com>
1502
1503         Fixed: 
1504         <rdar://problem/3699498> Context menu for editable WebViews should provide items like Cut and Paste
1505         <rdar://problem/3781535> REGRESSION (Mail): no context menu after ctrl-clicking a misspelled word
1506
1507         Reviewed by kocienda.
1508
1509         * English.lproj/Localizable.strings:
1510         * WebView.subproj/WebDefaultContextMenuDelegate.m:
1511         (-[WebDefaultUIDelegate menuItemWithTag:]): updated to handle new menu items
1512         (-[WebDefaultUIDelegate contextMenuItemsForElement:]): renamed from webView:contextMenuItemsForElement:defaultMenuItems:
1513         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): new
1514         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): moved, now call contextMenuItemsForElement: or editingContextMenuItemsForElement:
1515         * WebView.subproj/WebDefaultUIDelegate.h:
1516         * WebView.subproj/WebHTMLView.m:
1517         (-[WebHTMLView _isSelectionMisspelled]): new
1518         (-[WebHTMLView _guessesForMisspelledSelection]): new
1519         (-[WebHTMLView _changeSpellingFromMenu:]): new
1520         (-[WebHTMLView _ignoreSpellingFromMenu:]): new
1521         (-[WebHTMLView _learnSpellingFromMenu:]): new
1522         * WebView.subproj/WebHTMLViewPrivate.h:
1523         * WebView.subproj/WebUIDelegate.h:
1524
1525 2004-08-31  Darin Adler  <darin@apple.com>
1526
1527         - fixed B&I build failure
1528
1529         * WebView.subproj/WebHTMLView.m: (-[WebTextCompleteController _buildUI]):
1530         Work around unwanted warning by adding a cast.
1531
1532 2004-08-27  Maciej Stachowiak  <mjs@apple.com>
1533
1534         Reviewed by John.
1535
1536         <rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website
1537         
1538         Because we will stop parsing when there is a pending redirection,
1539         avoid setting one if no navigation would actually take place
1540         because the number of steps is out of range.
1541
1542         * WebCoreSupport.subproj/WebBridge.m:
1543         (-[WebBridge canGoBackOrForward:]):
1544
1545 2004-08-30  Darin Adler  <darin@apple.com>
1546
1547         Reviewed by John.
1548
1549         - part of fix for <rdar://problem/3637519> REGRESSION (125-128): unrepro crash in QListBox::sizeForNumberOfLines at istweb.apple.com
1550
1551         * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory clearCaches]):
1552         Call [super clearCaches].
1553
1554 2004-08-30  Darin Adler  <darin@apple.com>
1555
1556         Reviewed by Chris.
1557
1558         - did work to prepare for uploading files incrementally when submitting forms
1559
1560         * History.subproj/WebHistoryItem.m:
1561         (-[WebHistoryItem _setFormInfoFromRequest:]): Use NSArray instead of NSData for form data.
1562         (-[WebHistoryItem formData]): Ditto.
1563         * History.subproj/WebHistoryItemPrivate.h: Ditto.
1564         * WebCoreSupport.subproj/WebBridge.m:
1565         (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
1566         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto.
1567         (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
1568         * WebCoreSupport.subproj/WebSubresourceClient.h: Ditto.
1569         * WebCoreSupport.subproj/WebSubresourceClient.m:
1570         (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): Ditto.
1571         * WebView.subproj/WebFrame.m:
1572         (-[WebFrame _loadItem:withLoadType:]): Ditto.
1573         (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
1574         * WebView.subproj/WebFramePrivate.h: Ditto.
1575
1576         * WebView.subproj/WebFormDataStream.h: Added.
1577         * WebView.subproj/WebFormDataStream.m:
1578         (-[WebFormDataStream initWithFormDataArray:]): Placeholder; not done yet.
1579         (-[WebFormDataStream formDataArray]): Ditto.
1580         * WebKit.pbproj/project.pbxproj: Added WebFormDataStream files.
1581
1582 2004-08-30  John Sullivan  <sullivan@apple.com>
1583
1584         Reviewed by Ken.
1585
1586         - WebKit part of fix for <rdar://problem/3607720> myFrame.print() prints the window 
1587         but should only print the frame
1588
1589         * WebView.subproj/WebUIDelegatePrivate.h:
1590         declare new delegate method that includes which frame to print
1591
1592         * WebView.subproj/WebDefaultUIDelegate.m:
1593         (-[WebDefaultUIDelegate webView:printFrameView:]):
1594         implement default (no-op) version of new delegate method
1595
1596         * WebCoreSupport.subproj/WebBridge.m:
1597         (-[WebBridge print]):
1598         call new delegate method if available, otherwise call old delegate method, for
1599         backward compatibility.
1600
1601 2004-08-27  Maciej Stachowiak  <mjs@apple.com>
1602
1603         Reviewed by John. 
1604         Checked in by Ken
1605         
1606         Ken comments: It looks like Maciej forgot to land this when he checked in the
1607         WebCore portion of this change.
1608
1609         <rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website
1610             
1611         Because we will stop parsing when there is a pending redirection,
1612         avoid setting one if no navigation would actually take place
1613         because the number of steps is out of range.
1614     
1615         * WebCoreSupport.subproj/WebBridge.m:
1616         (-[WebBridge canGoBackOrForward:]):
1617
1618 2004-08-27  Ken Kocienda  <kocienda@apple.com>
1619
1620         Reviewed by Chris
1621
1622         Fix for this bug:
1623         
1624         <rdar://problem/3756997> WebKit aggressive in making pasted text into a URL, even when it's not much like a URL
1625
1626         * WebView.subproj/WebHTMLView.m:
1627         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): Don't try so hard to coerce data
1628         on the pasteboard into a URL, and do not make an anchor with an href for any URLs that are 
1629         explicitly present on the pasteboard. Also, move URL pasteboard type check beneath the RTF
1630         checks.
1631
1632 === Safari-161 ===
1633
1634 2004-08-26  Chris Blumenberg  <cblu@apple.com>
1635
1636         Fixed build failure on Panther.
1637
1638         Reviewed by john.
1639
1640         * WebView.subproj/WebHTMLView.m:
1641         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): ifdef'd out call to AppKit SPI
1642         (-[WebHTMLView _attributeStringFromDOMRange:]): ditto
1643
1644 2004-08-26  Chris Blumenberg  <cblu@apple.com>
1645
1646         Tweak to last check-in.
1647
1648         * WebView.subproj/WebHTMLView.m:
1649         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]):
1650
1651 2004-08-26  Chris Blumenberg  <cblu@apple.com>
1652
1653         Fixed: 
1654         <rdar://problem/3546412> support for pasting and drag and dropping of RTF and RTFD to editable WebViews
1655         <rdar://problem/3745345> use AppKit for converting from DOM to RTF
1656
1657         Reviewed by rjw.
1658
1659         * DOM.subproj/WebDOMOperations.m:
1660         (-[DOMDocument _documentRange]): new
1661         * DOM.subproj/WebDOMOperationsPrivate.h:
1662         * WebView.subproj/WebHTMLView.m:
1663         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): call AppKit SPI to get a document fragment from an attributed string
1664         (-[WebHTMLView string]): added a FIXME
1665         (-[WebHTMLView _attributeStringFromDOMRange:]): new, calls AppKit SPI that creates an attributed string from a DOM Range
1666         (-[WebHTMLView attributedString]): call _attributeStringFromDOMRange:, fallback to old code if it returns nil
1667         (-[WebHTMLView selectedAttributedString]): ditto
1668
1669 2004-08-26  Chris Blumenberg  <cblu@apple.com>
1670
1671         Fixed: <rdar://problem/3774178> Plugin hooks for selected state aren't being called
1672
1673         Reviewed by darin.
1674
1675         * WebCoreSupport.subproj/WebBridge.m:
1676         (-[WebBridge setIsSelected:forView:]): don't forget colons in method names
1677
1678 2004-08-26  Chris Blumenberg  <cblu@apple.com>
1679
1680         Fixed: <rdar://problem/3768439> can't click in WebView in Carbon WebKit apps (GetEventPlatformEventRecord returns false)
1681
1682         Reviewed by rjw.
1683
1684         * Carbon.subproj/HIWebView.m:
1685         (Click): use WebGetEventPlatformEventRecord not GetEventPlatformEventRecord
1686         (MouseUp): ditto
1687         (MouseMoved): ditto
1688         (MouseDragged): ditto
1689         (MouseWheelMoved): ditto
1690         (WindowHandler): ditto
1691         (HIWebViewEventHandler): ditto
1692         (UpdateObserver): ditto
1693         (WebGetEventPlatformEventRecord): Call GetEventPlatformEventRecord, if that fails fallback to the current event. This is code Eric Schlegel to me to use. 
1694
1695 2004-08-24  Chris Blumenberg  <cblu@apple.com>
1696
1697         Fixed with help from Trey:
1698         <rdar://problem/3764856> REGRESSION !25-154): Safari accepts mouse clicks (follows links) when not key
1699
1700         Reviewed by rjw.
1701
1702         * WebView.subproj/WebHTMLView.m:
1703         (-[WebHTMLView _isSelectionEvent:]): brought back from CVS
1704         (-[WebHTMLView acceptsFirstMouse:]): only call eventMayStartDrag if _isSelectionEvent returns YES since we only want to allow selection dragging on the first mouse down
1705         (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
1706
1707 2004-08-24  Ken Kocienda  <kocienda@apple.com>
1708
1709         Reviewed by Hyatt
1710
1711         Improved the checks used to see if certain operations can be done based
1712         on the state of the selection and whether the selection is editable. I
1713         added some helpers and improved some others to assist in making these
1714         determinations.
1715         
1716         This helps to fix this bug:
1717         <rdar://problem/3764987> Crash after adding newline to quoted text
1718         
1719         Since some editing methods expect the the selection to be in a certain state 
1720         in order to work, these checks help obviate crashes like 3764987.
1721
1722         * WebView.subproj/WebHTMLView.m:
1723         (-[WebHTMLView _writeSelectionToPasteboard:]): _haveSelection name changed to _hasSelection.
1724         (-[WebHTMLView _canCopy]): Checks to see if state is appropriate to perform this operation.
1725         (-[WebHTMLView _canCut]): Ditto. Function added.
1726         (-[WebHTMLView _canDelete]): Ditto. Function refined.
1727         (-[WebHTMLView _canPaste]): Ditto. Function refined.
1728         (-[WebHTMLView _canType]): Ditto. Function added.
1729         (-[WebHTMLView _hasSelection]): Name changed from _haveSelection.
1730         (-[WebHTMLView _hasSelectionOrInsertionPoint]): Added.
1731         (-[WebHTMLView _isEditable]): Added.
1732         (-[WebHTMLView takeFindStringFromSelection:]): _haveSelection name changed to _hasSelection.
1733         (-[WebHTMLView validateUserInterfaceItem:]): Ditto
1734         (-[WebHTMLView validRequestorForSendType:returnType:]): Ditto
1735         (-[WebHTMLView keyDown:]):
1736         (-[WebHTMLView copy:]): Uses new _canCopy check.
1737         (-[WebHTMLView cut:]): Uses new _canCut check.
1738         (-[WebHTMLView delete:]): Now uses _canDelete check.
1739         (-[WebHTMLView paste:]): Now uses _canPaste check.
1740         (-[WebHTMLView _updateFontPanel]): _haveSelection name changed to _hasSelection.
1741         * WebView.subproj/WebHTMLViewPrivate.h:
1742         * WebView.subproj/WebView.m:
1743         (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): Use selectionState check to
1744         determine whether or not operation can be done.
1745
1746 2004-08-24  Richard Williamson   <rjw@apple.com>
1747
1748         Fixed <rdar://problem/3770469> Some PDFs open with line of previous page above PDF view
1749         
1750         Set height resize flags on WebPDFView.
1751                 
1752         Reviewed by Chris.
1753
1754         * WebView.subproj/WebPDFView.m:
1755         (-[WebPDFView initWithFrame:]):
1756
1757 2004-08-24  David Hyatt  <hyatt@apple.com>
1758
1759         Add Atom and RSS MIME types to set of supported XML types.
1760         
1761         Reviewed by rjw
1762
1763         * WebView.subproj/WebDataSource.m:
1764         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
1765         * WebView.subproj/WebFrameView.m:
1766         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
1767
1768 2004-08-23  Maciej Stachowiak  <mjs@apple.com>
1769
1770         Reviewed by Kevin.
1771
1772         - remove annoying ERROR spew and replace with comment
1773         
1774         * WebView.subproj/WebHTMLView.m:
1775         (-[WebHTMLView validAttributesForMarkedText]):
1776
1777 2004-08-23  Maciej Stachowiak  <mjs@apple.com>
1778
1779         Reviewed by Richard.
1780
1781         - a bit of code cleanup
1782
1783         * WebView.subproj/WebDataSource.m:
1784         (-[WebDataSource _stringWithData:]): Call textEncodingName instead of
1785         copying it's code.
1786         (-[WebDataSource textEncodingName]): Tweak formatting.
1787
1788 2004-08-23  Chris Blumenberg  <cblu@apple.com>
1789
1790         Fixed build.
1791
1792         * WebKit.pbproj/project.pbxproj: make sure we're doing -f on a file, not a directory
1793
1794 2004-08-23  Chris Blumenberg  <cblu@apple.com>
1795
1796         Fixed: <rdar://problem/3674867> use new Security framework SPI's to reenable cert acquisition
1797
1798         Reviewed by john.
1799
1800         * WebCoreSupport.subproj/WebKeyGeneration.cpp:
1801         * WebCoreSupport.subproj/WebKeyGeneration.h:
1802         * WebCoreSupport.subproj/WebKeyGenerator.h:
1803         * WebCoreSupport.subproj/WebKeyGenerator.m:
1804         (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): re-enabled cert code, call Panther version on Panther, Tiger version on Tiger
1805         (-[WebKeyGenerator addCertificatesToKeychainFromData:]): ditto
1806         * WebCoreSupport.subproj/WebNewKeyGeneration.c: Added.
1807         (gnrAddContextAttribute):
1808         (gnrGetSubjPubKey):
1809         (gnrNullAlgParams):
1810         (gnrSign):
1811         (gnrFreeCssmData):
1812         (nssArraySize):
1813         (signedPublicKeyAndChallengeString):
1814         (addCertificateToKeychainFromData):
1815         (addCertificatesToKeychainFromData):
1816         * WebCoreSupport.subproj/WebNewKeyGeneration.h: Added.
1817         * WebKit.pbproj/project.pbxproj:
1818
1819 2004-08-20  David Hyatt  <hyatt@apple.com>
1820
1821         Fix the directionality of the unicode hyphen so that on Panther it now matches Tiger.
1822         
1823         Reviewed by darin
1824
1825         * Misc.subproj/WebUnicode.m:
1826         (_unicodeDirection):
1827
1828 2004-08-20  Richard Williamson   <rjw@apple.com>
1829
1830             Implemented new JNI abstraction.  We no longer invoke Java methods
1831             directly with JNI, rather we call into the plugin.  This allows the
1832             plugin to dispatch the call to the appropriate VM thread.  This
1833             change should (will?) fix a whole class of threading related problems with
1834             the Java VM.
1835
1836         Reviewed by Hyatt.
1837
1838         * WebCoreSupport.subproj/WebBridge.m:
1839         (-[WebBridge getAppletInView:]):
1840
1841 2004-08-20  Trey Matteson  <trey@apple.com>
1842
1843         3655407 - Editing: -complete: method unimplemented (WebKit editing API)
1844
1845         This feature is mostly implemented.  The only loose ends I know of are:
1846
1847         3769654 - text insertions done via complete: should preserve case of full replacement string
1848         3769652 - positioning of complete: popup window wrong for right-to-left languages
1849
1850         Reviewed by John
1851
1852         * WebView.subproj/WebHTMLView.m:
1853         (-[WebHTMLViewPrivate dealloc]):  Free new object.
1854         (-[WebHTMLView menuForEvent:]):  Bail on completion session.
1855         (-[WebHTMLView windowDidResignKey:]):  Ditto.
1856         (-[WebHTMLView windowWillClose:]):  Ditto.
1857         (-[WebHTMLView mouseDown:]):  Ditto.
1858         (-[WebHTMLView resignFirstResponder]):  Ditto.
1859         (-[WebHTMLView keyDown:]):  Bail on completion session if WebCore takes the event.
1860         Give the CompleteController a crack at the key event.
1861         (-[WebHTMLView _expandSelectionToGranularity:]):  Adopt method rename
1862         (-[WebHTMLView complete:]):  Make CompleteController, tell it to do its thing.
1863         (-[WebHTMLView checkSpelling:]):  Add ERROR().
1864         (-[WebHTMLView showGuessPanel:]): Add ERROR().
1865         (-[WebHTMLView _changeSpellingToWord:]): Add ERROR().
1866         (-[WebHTMLView ignoreSpelling:]): Add ERROR().
1867
1868         (-[WebTextCompleteController initWithHTMLView:]):
1869         (-[WebTextCompleteController dealloc]):
1870         (-[WebTextCompleteController _insertMatch:]): Stick the new string into the doc.
1871         (-[WebTextCompleteController _buildUI]):  Make popup window.
1872         (-[WebTextCompleteController _placePopupWindow:]):  Position popup window.
1873         (-[WebTextCompleteController doCompletion]):  Lookup matches, display window.
1874         (-[WebTextCompleteController endRevertingChange:moveLeft:]):  Bail on complete: session.
1875         (-[WebTextCompleteController filterKeyDown:]):  Process keys while popup is up.
1876         (-[WebTextCompleteController _reflectSelection]):  Handle choice in popup.
1877         (-[WebTextCompleteController tableAction:]):  Handle double click in popup
1878         (-[WebTextCompleteController numberOfRowsInTableView:]):  Fill table with matches.
1879         (-[WebTextCompleteController tableView:objectValueForTableColumn:row:]):  Ditto.
1880         (-[WebTextCompleteController tableViewSelectionDidChange:]):  Handle selection change.
1881         * WebView.subproj/WebHTMLViewInternal.h:
1882
1883 2004-08-20  John Sullivan  <sullivan@apple.com>
1884
1885         * English.lproj/StringsNotToBeLocalized.txt:
1886         checked this in; the only difference is that
1887         the strings were out of order.
1888
1889 2004-08-19  Richard Williamson   <rjw@apple.com>
1890
1891         Continue to call old pollForAppletInView: in Tiger until
1892         we get an plugin that supports the new API.
1893                 
1894         Reviewed by Chris.
1895
1896         * WebCoreSupport.subproj/WebBridge.m:
1897         (-[WebBridge getAppletInView:]):
1898         * WebKit.pbproj/project.pbxproj:
1899
1900 === Safari-158 ===
1901
1902 2004-08-19  Chris Blumenberg  <cblu@apple.com>
1903
1904         Fixed typo in comment.
1905
1906         * Misc.subproj/WebIconDatabase.m:
1907         (-[WebIconDatabase _updateFileDatabase]):
1908
1909 2004-08-19  Chris Blumenberg  <cblu@apple.com>
1910
1911         Fixed: <rdar://problem/3566336> CrashTracer: .2403 crashes at com.apple.WebKit: -[WebFileDatabase performSetObject:forKey:] + 0x94
1912
1913         Reviewed by trey.
1914
1915         * Misc.subproj/WebIconDatabase.m:
1916         (-[WebIconDatabase _updateFileDatabase]): pass WebFileDatabase copies of the mutable dictionaries or else they may be accessed on a separate thread as the main thread is modifying them
1917
1918 2004-08-18  Richard Williamson   <rjw@apple.com>
1919
1920         Replace horrible pollForAppletInView: with new
1921         webPlugInGetApplet.  The details of how the applet instance
1922         is provided now belong to the Java team.  Yeh.
1923                 
1924         Reviewed by Chris.
1925
1926         * WebCoreSupport.subproj/WebBridge.m:
1927         (-[WebBridge getAppletInView:]):
1928
1929 2004-08-17  Richard Williamson   <rjw@apple.com>
1930
1931         Fixed <rdar://problem/3759093> Need PDF context menu: "Open in Preview" or other external app
1932
1933         Added support for "Open with ..." in PDF view.
1934                 
1935         Reviewed by Chris and Trey.
1936
1937         * ChangeLog:
1938         * English.lproj/Localizable.strings:
1939         * English.lproj/StringsNotToBeLocalized.txt:
1940         * WebView.subproj/WebPDFView.h:
1941         * WebView.subproj/WebPDFView.m:
1942         (-[WebPDFView initWithFrame:]):
1943         (-[WebPDFView dealloc]):
1944         (applicationInfoForMIMEType):
1945         (-[WebPDFView path]):
1946         (-[WebPDFView menuForEvent:]):
1947         (-[WebPDFView setDataSource:]):
1948         (-[WebPDFView layout]):
1949         (-[WebPDFView viewDidMoveToHostWindow]):
1950         (-[WebPDFView openWithFinder:]):
1951
1952 2004-08-17  Richard Williamson   <rjw@apple.com>
1953
1954         JNI needs both the jmethodID and return type.  Changed API to 
1955         pass both.
1956                 
1957         Reviewed by Chris.
1958
1959         * Plugins.subproj/WebJavaPlugIn.h:
1960
1961 2004-08-17  Trey Matteson  <trey@apple.com>
1962
1963         3764147 - failure of subframe to load leaves links in parent doc broken
1964
1965         Reviewed by Maciej.
1966
1967         * WebView.subproj/WebDataSource.m:
1968         (-[WebDataSource _receivedMainResourceError:complete:]):
1969         Need to call [bridge end] in the case of an error, so WC can clean up.
1970
1971 === Safari-157 ===
1972
1973 2004-08-15  Richard Williamson   <rjw@apple.com>
1974
1975         More changes to np headers.
1976         
1977         Reviewed by Darin.
1978
1979         * Plugins.subproj/WebNetscapePluginPackage.m:
1980         (-[WebNetscapePluginPackage load]):
1981         * Plugins.subproj/npapi.h:
1982         * Plugins.subproj/npfunctions.h:
1983         * Plugins.subproj/npruntime.h:
1984
1985 2004-08-13  Darin Adler  <darin@apple.com>
1986
1987         Reviewed by Chris.
1988
1989         - fixed <rdar://problem/3760924> Carbon path passed in NPP_StreamAsFile must be in local character set, not UTF-8
1990
1991         * Plugins.subproj/WebBaseNetscapePluginStream.m:
1992         (CarbonPathFromPOSIXPath): Added. New function that uses the path pieces from an FSSpec.
1993         This has many advantages; the big one that fixes the bug is that it gives the mangled names
1994         that work even for files that have names that can't otherwise be encoded in Carbon-style
1995         path names. I didn't write this from scratch: I started with the method in Foundation
1996         and just changed it to use FSSpec.
1997         (-[WebBaseNetscapePluginStream destroyStream]): Remove code that used NSString and just call
1998         CarbonPathFromPOSIXPath instead.
1999
2000         * Plugins.subproj/npapi.h: The Revision tag wanted to touch this file.
2001         I think we are going to have some trouble with this; I'd like to take that out.
2002
2003         * English.lproj/StringsNotToBeLocalized.txt: Updated.
2004
2005 2004-08-12  Trey Matteson  <trey@apple.com>
2006
2007         3761329 - query result links all dead in ingrammicro.com (sometimes)
2008         3761328 - links in some docs dead when doc is loaded from WebArchive
2009
2010         Nasty problem.  It turns out that these result pages are a parent frame with two child
2011         frames.  One of the child frames is a 1 or 2 byte text document.  When the text child
2012         is the last doc to complete, because we use a Text rep instead of an HTMLRep, it turns
2013         out we never send [bridge end] from WebKit.  That mistake results in checkCompleted not
2014         being called enough in the part, and we never realize the load is done.  WebCore does
2015         not allow redirects to happen until the entire load is complete,  and  the links on this
2016         results page are actually little pieces of JS that set location to a generated URL.  Since
2017         redirects are not allowed these links all silently fail to do anything, and the doc never
2018         achieves a completed state where they will work.
2019
2020         Solution is to make sure we always call [bridge end] from the DataSource instead of only
2021         the HTML rep doing it.
2022
2023         Reviewed by Richard and Darin.
2024
2025         * WebView.subproj/WebDataSource.m:
2026         (-[WebDataSource _finishedLoading]):  Call [bridge end] here for all kinds of docs.
2027         * WebView.subproj/WebHTMLRepresentation.m:
2028         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):  Don't call is just for HTMLReps.
2029
2030 2004-08-12  Richard Williamson   <rjw@apple.com>
2031
2032         Bring npruntime.h and friends closer to compliance with
2033         latest spec.
2034
2035         Reviewed by Maciej.
2036
2037         * Plugins.subproj/npapi.h:
2038         * Plugins.subproj/npfunctions.h:
2039         * Plugins.subproj/npruntime.h:
2040         (_NPString::):
2041         (_NPString::_NPVariant::):
2042         * copy-webcore-files-to-webkit:
2043
2044 2004-08-12  Chris Blumenberg  <cblu@apple.com>
2045
2046         Fixed: <rdar://problem/3761097> should be able to option-drag selection so HTML can be copied within a page
2047
2048         Reviewed by rjw.
2049
2050         * WebView.subproj/WebHTMLView.m:
2051         (-[WebHTMLView _isMoveDrag]): new, take into account the option key
2052         (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call _isMoveDrag
2053         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): call _isMoveDrag
2054
2055 2004-08-12  Richard Williamson   <rjw@apple.com>
2056
2057         Quick fix for 3760903.  The real fix is described in 3760920.  Needed
2058         by Java plugin guys so they can be unblocked for feature freeze.
2059                 
2060         Reviewed by Chris.
2061
2062         * WebView.subproj/WebFrame.m:
2063         (-[WebFrame _reloadForPluginChanges]):
2064         * WebView.subproj/WebHTMLView.m:
2065         (-[WebHTMLView addSubview:]):
2066
2067 2004-08-12  Chris Blumenberg  <cblu@apple.com>
2068
2069         Fixed: <rdar://problem/3760898> error pages in subframes attempt to load appledata URLs when reloaded
2070
2071         Reviewed by darin.
2072
2073         * WebView.subproj/WebFrame.m:
2074         (-[WebFrame _createItem:]): when setting the original URL of the history item, use the unreachable URL
2075
2076 === Safari-156 ===
2077
2078 2004-08-11  Adele Amchan  <adele@apple.com>
2079
2080         Reviewed by me, bug fix by Darin.
2081
2082         - fixed <rdar://problem/3736477> Pages don't load if hard drive is named with non-ASCII Symbol
2083
2084         * Plugins.subproj/WebBaseNetscapePluginStream.m:
2085         (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]):
2086         Use UTF8String instead of cString to convert the MIME type to a C string. Safer, since it can't
2087         ever fail due to encoding problems even though this string should always be ASCII.
2088         (-[WebBaseNetscapePluginStream destroyStream]): Use stringWithUTF8String to convert the path name
2089         to an NSString, since stringWithCString is deprecated (doesn't really matter since the path is always
2090         all ASCII). Fix the bug by calling fileSystemRepresentation on the NSString to turn it into a C
2091         string form. Even though the POSIX path can't have any non-ASCII characters in it, the Carbon path
2092         can, so we need to use this instead of cString which can fail depending on characters and encoding.
2093
2094 2004-08-09  Maciej Stachowiak  <mjs@apple.com>
2095
2096         Reviewed by Trey.
2097
2098         WebKit part of:
2099
2100         - made basic marked text highlighting work to complete basic level of <rdar://problem/3704359> input method support not yet implemented for HTML editing
2101
2102         * WebView.subproj/WebHTMLView.m:
2103         (-[WebHTMLView markedRange]): Use new bridge calls instead of internal marked range storage.
2104         (-[WebHTMLView hasMarkedText]): Likewise.
2105         (-[WebHTMLView unmarkText]): Likewise.
2106         (-[WebHTMLView _selectMarkedText]): Likewise.
2107         (-[WebHTMLView _selectRangeInMarkedText:]): Likewise.
2108         (-[WebHTMLView _selectionIsInsideMarkedText]): Likewise.
2109         (-[WebHTMLView _updateSelectionForInputManager]): Likewise.
2110         (-[WebHTMLView setMarkedText:selectedRange:]): Use direct bridge call instead
2111         of private _selectMarkedDOMRange: method, which would now be trivial.
2112         * WebView.subproj/WebHTMLViewInternal.h: Remove unneeded
2113
2114 2004-08-10  Darin Adler  <darin@apple.com>
2115
2116         Reviewed by Ken.
2117
2118         - change name of WebMakeCollectable to WebNSRetainCFRelease so it fits into the
2119           "NS and CF retain counts are separate" mental model, rather than the "think about
2120           how garbage collection works" one
2121
2122         * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Rename.
2123         * Misc.subproj/WebNSObjectExtras.h: (WebNSRetainCFRelease): Ditto.
2124         * Misc.subproj/WebNSURLExtras.m:
2125         (+[NSURL _web_URLWithData:relativeToURL:]): Ditto.
2126         (-[NSURL _web_URLWithLowercasedScheme]): Ditto.
2127
2128 2004-08-09  Trey Matteson  <trey@apple.com>
2129
2130         3756599 - REGRESSION: hit assertion in KWQPageState invalidate
2131
2132         By inspection I found a flaw in the recently added logic, although
2133         I have no steps to repro.  My theoretical explanation is that we would
2134         get two errors and go through _receivedMainResourceError: twice, which
2135         would cause the pageState to be invalidated twice, which is the only
2136         way I can see to hit the assert.
2137
2138         Reviewed by Darin
2139
2140         * WebView.subproj/WebFrame.m:
2141         (-[WebFrame _receivedMainResourceError:]):  Clear the pageState out
2142         of the history item after it's been invalidated by WebCore.
2143
2144 2004-08-09  Richard Williamson   <rjw@apple.com>
2145
2146         Inspired by Trey we have a much better approach for conditionally
2147         linking Quart.framework.  Instead of multiple targets we use 
2148         `` to invoke some inline script to extend COMMON_LDFLAGS as
2149         necessary.  Thanks Trey!
2150         
2151         Reviewed by Trey.
2152
2153         * WebKit.pbproj/project.pbxproj:
2154
2155 2004-08-09  Trey Matteson  <trey@apple.com>
2156
2157         Hookup UI for "Continuous Spelling" menu item.
2158
2159         Reviewed by Richard.
2160
2161         * WebView.subproj/WebView.m:
2162         (-[WebView validateUserInterfaceItem:]):  Enable and check the
2163         menu item to reflect our state.
2164         (-[WebView toggleContinuousSpellChecking:]):  Change type to
2165         IBAction, just cosmetic.
2166         * WebView.subproj/WebViewPrivate.h:
2167
2168 2004-08-08  Trey Matteson  <trey@apple.com>
2169
2170         3745023 - Safari crashes trying to access anchor while downloading
2171
2172         I bet this is behind a few other crashers as well.  In this bug the start of the
2173         download leaves a KWQPageState hanging around, and when that is freed it damages
2174         the part and view.  If you're still using that page, you're dead.
2175
2176         The fix is to properly invalidate the PageState when we receive an error before
2177         reaching WebFrameCommitted state.  Normally this happens when a page is reheated
2178         from the PageState, but in this case we never manage to leave the page to begin
2179         with, although we've already created the PageState.
2180
2181         Other errors besides the synthetic one download generates would have caused similar
2182         crashing.  Another example would be clicking on a second link before the load
2183         caused by clicking on the first link reached committed state.
2184
2185         Reviewed by Richard
2186
2187         * WebView.subproj/WebDataSource.m:
2188         (-[WebDataSource _receivedMainResourceError:complete:]):  Let the frame do the
2189         main work (since it has access to the pageCache state).  Also renamed to make
2190         it clear that this is about an error for the main resource.
2191         * WebView.subproj/WebDataSourcePrivate.h:
2192         * WebView.subproj/WebFrame.m:
2193         (-[WebFrame _receivedMainResourceError:]):  Let WC know about the failure, as
2194         the DataSource used to, but now pass the pageCache state along too.
2195         * WebView.subproj/WebFramePrivate.h:
2196         * WebView.subproj/WebMainResourceClient.m:
2197         (-[WebMainResourceClient receivedError:]):  Call renamed method.
2198         (-[WebMainResourceClient cancelWithError:]):  Ditto.
2199
2200 2004-08-08  Vicki Murley  <vicki@apple.com>
2201
2202         Reviewed by vicki (changes by rjw)
2203  
2204         - make "weak" linking with Quartz work with buildit
2205
2206         * WebKit.pbproj/project.pbxproj: 
2207
2208 2004-08-06  Ken Kocienda  <kocienda@apple.com>
2209
2210         Reviewed by Maciej
2211
2212         Finish off spellchecking support to HTML editing. Includes work to
2213         enable continuous spellchecking.
2214
2215         * WebCoreSupport.subproj/WebBridge.m:
2216         (-[WebBridge isContinuousSpellCheckingEnabled]): Simple bridge method.
2217         * WebCoreSupport.subproj/WebTextRenderer.m:
2218         (-[WebTextRenderer drawLineForMisspelling:withWidth:]): New method to add
2219         AppKit-style misspelling underline.
2220
2221 === Safari-155 ===
2222
2223 2004-08-05  Darin Adler  <darin@apple.com>
2224
2225         * WebView.subproj/WebHTMLView.m: Added a list of methods that NSTextView implements that we don't.
2226         All inside #if 0.
2227
2228 2004-08-05  Chris Blumenberg  <cblu@apple.com>
2229
2230         Fixed unnecessary import of NSURLFileTypeMappings.
2231
2232         * WebView.subproj/WebMainResourceClient.m:
2233
2234 2004-08-05  Richard Williamson   <rjw@apple.com>
2235
2236         Make builds conditionally include -framework Quartz.
2237                 
2238         Reviewed by Chris.
2239
2240         * WebKit.pbproj/project.pbxproj:
2241
2242 2004-08-04  Darin Adler  <darin@apple.com>
2243
2244         - fixed broken Deployment build
2245
2246         * Carbon.subproj/HIWebView.m: (Click):
2247         Remove code that checks err variable before setting it.
2248
2249 2004-08-03  Richard Williamson   <rjw@apple.com>
2250
2251         First cut at dirt simple PDF support.  This feature
2252         depends on Quartz.framework (parent of PDFKit), which only exists
2253         on Tiger.  So, we "weak" link against Quartz.
2254                 
2255         We do very basic PDF rendering.  Coming up are support for
2256         "Find..." and linearized PDF (incremental).  Linearized PDF 
2257         support will require API changes in PDFKit.
2258                 
2259         No UI is added to Safari, yet.
2260                 
2261         Reviewed by John.
2262
2263         * WebKit.pbproj/project.pbxproj:
2264         * WebView.subproj/WebDataSource.m:
2265         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
2266         * WebView.subproj/WebFrameView.m:
2267         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
2268         * WebView.subproj/WebPDFRepresentation.h: Added.
2269         * WebView.subproj/WebPDFRepresentation.m: Added.
2270         (-[WebPDFRepresentation finishedLoadingWithDataSource:]):
2271         (-[WebPDFRepresentation canProvideDocumentSource]):
2272         (-[WebPDFRepresentation documentSource]):
2273         (-[WebPDFRepresentation title]):
2274         * WebView.subproj/WebPDFView.h: Added.
2275         * WebView.subproj/WebPDFView.m: Added.
2276         (-[WebPDFView initWithFrame:]):
2277         (-[WebPDFView setDataSource:]):
2278         (-[WebPDFView dataSourceUpdated:]):
2279         (-[WebPDFView setNeedsLayout:]):
2280         (-[WebPDFView layout]):
2281         (-[WebPDFView viewWillMoveToHostWindow:]):
2282         (-[WebPDFView viewDidMoveToHostWindow]):
2283
2284         Copied fix from Jaguar carbon/cocoa work.
2285                 
2286         Reviewed by Darin (Jaguar version)
2287
2288         * Carbon.subproj/CarbonWindowAdapter.h:
2289         * Carbon.subproj/CarbonWindowAdapter.m:
2290         (-[CarbonWindowAdapter relinquishFocus]):
2291         * Carbon.subproj/HIWebView.m:
2292         (Click):
2293         (OwningWindowChanged):
2294         (WindowHandler):
2295
2296 2004-08-03  David Hyatt  <hyatt@apple.com>
2297
2298         Add the text/xsl MIME type as one that can be displayed.
2299         
2300         Reviewed by john
2301
2302         * WebView.subproj/WebDataSource.m:
2303         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
2304         * WebView.subproj/WebFrameView.m:
2305         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
2306
2307 2004-08-03  Maciej Stachowiak  <mjs@apple.com>
2308
2309         Reviewed by Ken.
2310
2311         - implemented enough of the NSTextInput protocol and added the
2312         proper calls to NSInputManager to allow input methods to
2313         work. However, the text is not marked yet.
2314
2315         * WebView.subproj/WebHTMLViewInternal.h: Added new fields to track
2316         marked range.
2317         * WebView.subproj/WebHTMLView.m:
2318         (-[WebHTMLView markedRange]): Implemented
2319         (-[WebHTMLView conversationIdentifier]): Implemented
2320         (-[WebHTMLView hasMarkedText]): Implemented
2321         (-[WebHTMLView unmarkText]): Implemented
2322         (-[WebHTMLView setMarkedText:selectedRange:]): Implemented - does
2323         not yet handle attributes in attributed strings
2324         (-[WebHTMLView insertText:]): Modified to handle replacing or abandoning
2325         the marked text when set.
2326         (-[WebHTMLView _selectMarkedText]): new helper method, self-explanatory
2327         (-[WebHTMLView _setMarkedDOMRange:]): hitto.
2328         (-[WebHTMLView _selectRangeInMarkedText:]): ditto
2329         (-[WebHTMLView _discardMarkedText]): ditto
2330         (-[WebHTMLView _selectionIsInsideMarkedText]): ditto
2331         (-[WebHTMLView _updateSelectionForInputManager]): ditto
2332
2333         - did a bit of refactoring while I was in here.
2334
2335         * WebView.subproj/WebHTMLView.m:
2336         (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): added this new
2337         helper method to simplify the common case of calling the shouldInsertText: delegate
2338         (-[WebHTMLView pasteAsPlainText:]): use it
2339         (-[WebHTMLView insertTab:]): ditto
2340         (-[WebHTMLView insertNewline:]): ditto
2341         (-[WebHTMLView _changeWordCaseWithSelector:]): ditto
2342         (-[WebHTMLView _changeSpellingToWord:]): ditto
2343         (-[WebHTMLView _selectionChanged]): ditto
2344
2345 2004-08-03  Chris Blumenberg  <cblu@apple.com>
2346
2347         Fixed: <rdar://problem/3572737> Images not resizing at www.bmx-test.com (spoof nofix)
2348
2349         Reviewed by darin.
2350
2351         * WebCoreSupport.subproj/WebImageRendererFactory.m:
2352         (-[WebImageRendererFactory supportedMIMETypes]): hard code image/pjpeg to the list of image mime types that we can handle
2353
2354 2004-08-03  Darin Adler  <darin@apple.com>
2355
2356         Reviewed by Ken.
2357
2358         - fixed <rdar://problem/3740937> ER: A way to turn a DOMRange into text (equivalent of -innerText)
2359
2360         * DOM.subproj/DOMPrivate.h: Added.
2361         * WebKit.pbproj/project.pbxproj: Added DOMPrivate.h.
2362         * copy-webcore-files-to-webkit: Added DOMPrivate.h.
2363
2364 2004-08-02  John Sullivan  <sullivan@apple.com>
2365
2366         Reviewed by Darin.
2367
2368         WebKit part of fix for <rdar://problem/3631868> NSToolbar adoption: 
2369         Tab key should cycle around toolbar and page content
2370
2371         * WebView.subproj/WebHTMLView.m:
2372         removed overrides of nextKeyView and previousKeyView
2373         (-[WebHTMLView nextValidKeyView]):
2374         call super only if we can't move the focus within the frame hierarchy
2375         (-[WebHTMLView previousValidKeyView]):
2376         ditto
2377         * WebView.subproj/WebHTMLViewInternal.h:
2378         removed nextKeyViewAccessShouldMoveFocus ivar
2379
2380 2004-08-02  Ken Kocienda  <kocienda@apple.com>
2381
2382         Reviewed by John
2383
2384         Update name of firstResponderIsSelfOrDescendantView, adding _web_ prefix to this SPI call.
2385         
2386         Do some work to make caret blinking in newly-created editable WebView's that are 
2387         similar in structure to Blot more "automatic".
2388
2389         * Misc.subproj/WebNSViewExtras.h: Change name of firstResponderIsSelfOrDescendantView. Add _web_ prefix.
2390         * Misc.subproj/WebNSViewExtras.m:
2391         (-[NSView _web_firstResponderIsSelfOrDescendantView]): Name change.
2392         (-[NSView _web_firstResponderCausesFocusDisplay]): Adds an additional check for whether the view's
2393         is first responder. This helps to make the focus setting in viewDidMoveToWindow work right.
2394         * WebView.subproj/WebHTMLView.m:
2395         (-[WebHTMLView updateFocusDisplay]): Use _web_firstResponderCausesFocusDisplay now instead of 
2396         firstResponderIsSelfOrDescendantView.
2397         (-[WebHTMLView viewDidMoveToWindow]): Schedule call to updateFocusDisplay for the next crank of the
2398         run loop. The reason is that placing the caret in the just-installed view requires the HTML/XML 
2399         document to be available on the WebCore side, but it is not at the time this code is running. 
2400         However, it will be there on the next crank of the run loop. Doing this helps to make a 
2401         blinking caret appear in a new, empty window "automatic".
2402         (-[WebHTMLView performKeyEquivalent:]):  _web_firstResponderIsSelfOrDescendantView name change.
2403         * WebView.subproj/WebView.m:
2404         (-[WebView _performResponderOperation:with:]): _web_firstResponderIsSelfOrDescendantView name change.
2405
2406 2004-07-29  Maciej Stachowiak  <mjs@apple.com>
2407
2408         Reviewed by John.
2409
2410         Added stubbed-out versions of all the NSTextInput protocol
2411         methods, and put comments in places where we will need to call the
2412         input manager to make input methods work 100%.
2413         
2414         * WebCoreSupport.subproj/WebBridge.m:
2415         (-[WebBridge respondToChangedSelection]):
2416         * WebView.subproj/WebHTMLView.m:
2417         (-[WebHTMLView mouseDown:]):
2418         (-[WebHTMLView mouseDragged:]):
2419         (-[WebHTMLView mouseUp:]):
2420         (-[WebHTMLView _interceptEditingKeyEvent:]):
2421         (-[WebHTMLView keyDown:]):
2422         (-[WebHTMLView _selectionChanged]):
2423         (-[WebHTMLView _delegateDragSourceActionMask]):
2424         (-[WebHTMLView validAttributesForMarkedText]):
2425         (-[WebHTMLView characterIndexForPoint:]):
2426         (-[WebHTMLView firstRectForCharacterRange:]):
2427         (-[WebHTMLView selectedRange]):
2428         (-[WebHTMLView markedRange]):
2429         (-[WebHTMLView attributedSubstringFromRange:]):
2430         (-[WebHTMLView conversationIdentifier]):
2431         (-[WebHTMLView hasMarkedText]):
2432         (-[WebHTMLView unmarkText]):
2433         (-[WebHTMLView setMarkedText:selectedRange:]):
2434         (-[WebHTMLView doCommandBySelector:]):
2435         (-[WebHTMLView insertText:]):
2436         * WebView.subproj/WebHTMLViewInternal.h:
2437         * WebView.subproj/WebView.m:
2438
2439 === Safari-154 ===
2440
2441 2004-07-29  Darin Adler  <darin@apple.com>
2442
2443         Reviewed by Ken.
2444
2445         - fill in some unimplemented methods
2446
2447         * WebView.subproj/WebHTMLView.m:
2448         (-[WebHTMLView moveToBeginningOfDocument:]): Implement, using new document granularity.
2449         (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto.
2450         (-[WebHTMLView moveToBeginningOfParagraph:]): Implement, even though the underlying WebCore
2451         code is not yet implemented.
2452         (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto.
2453         (-[WebHTMLView moveToEndOfDocument:]): More of the same.
2454         (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto.
2455         (-[WebHTMLView moveToEndOfParagraph:]): More of the same.
2456         (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto.
2457         (-[WebHTMLView pageDown:]): Added comment describing desired behavior.
2458         (-[WebHTMLView pageUp:]): Ditto.
2459         (-[WebHTMLView copyFont:]): Ditto.
2460         (-[WebHTMLView pasteFont:]): Ditto.
2461         (-[WebHTMLView changeAttributes:]): Ditto.
2462         (-[WebHTMLView indent:]): Ditto.
2463
2464 2004-07-28  Chris Blumenberg  <cblu@apple.com>
2465
2466         Fixed: <rdar://problem/3737864> Can not download image from web by using drag and drop
2467
2468         Reviewed by john.
2469
2470         * Misc.subproj/WebNSPasteboardExtras.m:
2471         (-[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
2472
2473 2004-07-28  Maciej Stachowiak  <mjs@apple.com>
2474
2475         Reviewed by John.
2476
2477         - avoid triggering an assertion when using dead keys (like option-e)
2478
2479         * WebView.subproj/WebHTMLView.m:
2480         (-[WebHTMLView insertText:]): Don't pass zero-length strings to
2481         WebCore. Dead-key input seems to insert empty strings as a side
2482         effect.
2483
2484 2004-07-28  Trey Matteson  <trey@apple.com>
2485
2486         Spellchecking, Part I.  Basic spellcheck is working.  Spelling panel is hooked up.
2487
2488         At this point, no special marking of misspellings, no grammar check, no context
2489         menu integration, no "check continually" mode.
2490
2491         Reviewed by Ken.
2492
2493         * WebCoreSupport.subproj/WebBridge.m:
2494         (-[WebBridge spellCheckerDocumentTag]):  Typical bridge glue.
2495         * WebView.subproj/WebHTMLView.m:
2496         (-[WebHTMLView validateUserInterfaceItem:]):  Validate various spelling actions.
2497         (-[WebHTMLView checkSpelling:]):  Call WC for real work, update panel.
2498         (-[WebHTMLView showGuessPanel:]):  Show panel, call WC for real work.
2499         (-[WebHTMLView _changeSpellingToWord:]):  Apply correction to our doc.
2500         (-[WebHTMLView changeSpelling:]):  Simple pass through to above method.
2501         (-[WebHTMLView ignoreSpelling:]):  Tell checker to ignore the word.
2502         * WebView.subproj/WebView.m:
2503         (-[WebView _close]):  Call AK's closeSpellDocumentWithTag: for proper cleanup.
2504
2505 2004-07-27  John Sullivan  <sullivan@apple.com>
2506
2507         Reviewed by Trey.
2508         
2509         WebKit part of fix for <rdar://problem/3622268> Reload failed pages when a 
2510         network problem is corrected, inc. using Network Diagnostics
2511
2512         * WebView.subproj/WebFrame.m:
2513         (-[WebFrame reload]):
2514         This method did not handle unreachableURLs at all. The reason Safari's Reload
2515         did work with unreachableURLs was that Safari does "reloadObeyingLocationField"
2516         which never actually calls -[WebFrame reload]. Fixed by creating a fresh
2517         request for the previously-unreachable URL.
2518
2519 2004-07-26  Richard Williamson   <rjw@apple.com>
2520
2521         Fixed 3739737.  When setting the focus to a NSView, set the focus
2522         carbon focus to kControlIndicatorPart.  kControlIndicatorPart is a
2523         placeholder value for use to indicate that Cocoa has the focus.  
2524         
2525         Reviewed by Ken.
2526
2527         * Carbon.subproj/CarbonWindowAdapter.m:
2528         (-[CarbonWindowAdapter makeFirstResponder:]):
2529         * Carbon.subproj/HIWebView.m:
2530         (Click):
2531         (SetFocusPart):
2532
2533 2004-07-26  Chris Blumenberg  <cblu@apple.com>
2534
2535         Fixed: <rdar://problem/3689734> dragging to an editable WebView does not scroll document
2536
2537         Reviewed by rjw.
2538
2539         * WebView.subproj/WebView.m:
2540         (-[WebView documentViewAtWindowPoint:]): new, factored from draggingDocumentViewAtWindowPoint:
2541         (-[WebView _draggingDocumentViewAtWindowPoint:]): call documentViewAtWindowPoint:
2542         (-[WebView _autoscrollForDraggingInfo:timeDelta:]): forward call to the document view
2543         (-[WebView _shouldAutoscrollForDraggingInfo:]): ditto
2544
2545 === Safari-153 ===
2546
2547 2004-07-23  Ken Kocienda  <kocienda@apple.com>
2548
2549         Reviewed by Trey
2550
2551         Fix for this bug:
2552         
2553         <rdar://problem/3738920> Caret blinks in inactive window
2554
2555         As part of the fix, I cleaned up the way we handle special drawing that needs
2556         to be done in the HTML view that is first responder in the key window (e.g the
2557         drawing of text selection highlight and caret blinking).
2558
2559         * WebView.subproj/WebHTMLView.m:
2560         (-[WebHTMLView updateFocusDisplay]): New method that centralizes the changes
2561         we need to make when the first responder-ness of the view or key-ness of the
2562         window changes.
2563         (-[WebHTMLView viewDidMoveToWindow]): Call new updateFocusDisplay helper.
2564         (-[WebHTMLView windowDidBecomeKey:]): Ditto.
2565         (-[WebHTMLView windowDidResignKey:]): Ditto.
2566         (-[WebHTMLView becomeFirstResponder]): Ditto.
2567         (-[WebHTMLView resignFirstResponder]): Ditto.
2568
2569 2004-07-22  Darin Adler  <darin@apple.com>
2570
2571         * Plugins.subproj/npruntime.h: Update with new version from newer JavaScriptCore.
2572
2573 2004-07-21  Ken Kocienda  <kocienda@apple.com>
2574
2575         Reviewed by Trey
2576
2577         * WebCoreSupport.subproj/WebBridge.m: Remove interceptEditingKeyEvent
2578         bridge call over. This method of handling editing key events is now
2579         obsolete.
2580         * WebView.subproj/WebHTMLView.m:
2581         (-[WebHTMLView performKeyEquivalent:]): Send key event over to the 
2582         DOM if this view is or contains the first responder. This now
2583         happens unconditionally.
2584         (-[WebHTMLView keyDown:]): Send key event to the DOM, then see if
2585         the web view wants to interpret it an an editing key event. This
2586         is the new place to intercept key events for editing.
2587
2588 2004-07-21  Ken Kocienda  <kocienda@apple.com>
2589
2590         Reviewed by John
2591
2592         Add implementations for these methods. Formerly, they logged an error.
2593
2594         * WebView.subproj/WebHTMLView.m:
2595         (-[WebHTMLView moveToBeginningOfLine:]):
2596         (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]):
2597         (-[WebHTMLView moveToEndOfLine:]):
2598         (-[WebHTMLView moveToEndOfLineAndModifySelection:]):
2599
2600 2004-07-21  Ken Kocienda  <kocienda@apple.com>
2601
2602         Reviewed by John
2603
2604         Added some more handlers for standard Cocoa key bindings. 
2605         These are "secrets" of NSText, meaning they are not public API, but we choose to mimic.
2606
2607         * WebView.subproj/WebHTMLView.m:
2608         (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]):
2609         (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]):
2610         (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]):
2611         (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]):
2612         (-[WebHTMLView moveToEndOfLineAndModifySelection:]):
2613         (-[WebHTMLView moveToEndOfParagraph:]):
2614         (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]):
2615         * WebView.subproj/WebView.h: Add these declarations to the comment in the header listing
2616         the responder-like methods we support.
2617         * WebView.subproj/WebView.m:
2618         (-[WebView moveToBeginningOfParagraphAndModifySelection:]):
2619         (-[WebView moveToEndOfParagraphAndModifySelection:]):
2620         (-[WebView moveToBeginningOfLineAndModifySelection:]):
2621         (-[WebView moveToEndOfLineAndModifySelection:]):
2622         (-[WebView moveToBeginningOfDocumentAndModifySelection:]):
2623         (-[WebView moveToEndOfDocumentAndModifySelection:]):
2624
2625 2004-07-20  Ken Kocienda  <kocienda@apple.com>
2626
2627         Reviewed by Richard
2628
2629         * Misc.subproj/WebNSEventExtras.h: Added helper that returns whether
2630         a key event has a binding in the key binding manager.
2631         * Misc.subproj/WebNSEventExtras.m: 
2632         (-[NSEvent _web_keyBindingManagerHasBinding]): New helper mentioned above.
2633         * Plugins.subproj/npruntime.h:
2634         * WebView.subproj/WebHTMLView.m:
2635         (-[WebHTMLView performKeyEquivalent:]): Add a check of whether the key event 
2636         has a binding in the key binding manager. This works around the fact that
2637         NSResponder's interpretKeyEvents does not return a value telling whether
2638         or not the key was handled. This now makes it possible for us to trap
2639         modified key events we know we can handle (like those command-key + arrow events 
2640         used for text navigation), while letting all others pass.
2641
2642 2004-07-20  Chris Blumenberg  <cblu@apple.com>
2643
2644         Fixed:
2645         <rdar://problem/3580589> REGRESSION (1.1-1.2): can't open a new window for an image that has not loaded
2646         <rdar://problem/3612691> Missing image icons (blue ?) lack context menu
2647
2648         Reviewed by john.
2649
2650         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2651         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): if there is no image, but there is an image URL, provide image context menu items besides "Copy Image" 
2652         * WebView.subproj/WebHTMLView.m:
2653         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): don't drag an image with an actual image
2654         (-[WebHTMLView _mayStartDragAtEventLocation:]): ditto
2655
2656 2004-07-20  Maciej Stachowiak  <mjs@apple.com>
2657
2658         Reviewed by Chris.
2659
2660         <rdar://problem/3721690> REGRESSION (125.7-148u) clicking on links at macosx.apple.com/Builds does not load new page in frame
2661         
2662         * Plugins.subproj/npruntime.h:
2663         * WebCoreSupport.subproj/WebBridge.m:
2664         (-[WebBridge canTargetLoadInFrame:]): Don't apply the restrictions to frames
2665         that are in the same window (Mozilla does this too).
2666
2667 2004-07-20  Richard Williamson   <rjw@apple.com>
2668
2669                 Fix for 3728558.  Fixed the key event handling in the carbon/cocoa
2670                 integration code.  This does not fix the arrow keys not working on
2671                 initial focus problem also mentioned in the bug.
2672                 
2673                 Bumped the version of the NP function structures.
2674                 
2675         Reviewed by John.
2676
2677         * Carbon.subproj/CarbonUtils.m:
2678         (WebInitForCarbon):
2679         (PoolCleaner):
2680         * Carbon.subproj/HIWebView.m:
2681         (OwningWindowChanged):
2682         (WindowHandler):
2683         * Plugins.subproj/npapi.h:
2684
2685 2004-07-20  Trey Matteson  <trey@apple.com>
2686
2687         3733698 REGRESSION: sometimes dragging photos on homepage.mac.com leads to an assertion
2688
2689         Relax an assertion, as we ran into a valid case where it's not true.
2690
2691         Reviewed by Chris.
2692
2693         * WebView.subproj/WebHTMLView.m:
2694         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2695         Removing this assert allows for the oddball case of a drag gesture that
2696         starts on one element, but then the element is no longer there when
2697         the drag is about to start.
2698
2699 2004-07-20  Ken Kocienda  <kocienda@apple.com>
2700
2701         Reviewed by Hyatt
2702
2703         Fix for this bug:
2704         
2705         <rdar://problem/3707505> HTMLCompose: blinking cursor in both an address text field and the message body
2706
2707         * WebView.subproj/WebHTMLView.m:
2708         (-[WebHTMLView setCaretVisible:]): New helper. Calls over bridge to do the work.
2709         (-[WebHTMLView windowDidBecomeKey:]): This function cannot just assume that self is first responder
2710         (and do things like adjusting text background color and restoring focus rings). 
2711         First-responder-ness needs to be checked first. Now it is.
2712         (-[WebHTMLView windowDidResignKey:]): Ditto.
2713         (-[WebHTMLView becomeFirstResponder]): Call new helper to make caret visible.
2714         (-[WebHTMLView resignFirstResponder]): Call new helper to make caret invisible.
2715
2716 2004-07-12  Richard Williamson   <rjw@apple.com>
2717
2718         Fixed 3721917.  The RealPlayer plugin doesn't support the new 
2719         NPPVpluginScriptableNPObject variable passed to NPP_GetValue and
2720         incorrectly returns NPERR_NO_ERROR.  We interpret this to the
2721         mean the variable has been set.  The variable has not been set 
2722         and will consequently be uninitialized.
2723
2724         Reviewed by NOBODY (OOPS!).
2725
2726         * Plugins.subproj/WebBaseNetscapePluginView.m:
2727         (-[WebBaseNetscapePluginView pluginScriptableObject]):
2728
2729 2004-07-19  Ken Kocienda  <kocienda@apple.com>
2730
2731         Reviewed by Richard
2732
2733         Fix for this bug:
2734         
2735         <rdar://problem/3707504> HTMLCompose: key events are stolen by Web(HTML)View
2736
2737         * Misc.subproj/WebNSViewExtras.h:
2738         * Misc.subproj/WebNSViewExtras.m:
2739         (-[NSView firstResponderIsSelfOrDescendantView]): New helper to 
2740         (-[WebHTMLView performKeyEquivalent:]): Do not pass key events through to the editing
2741         key handler unless the WebHTMLView is first responder or contains the first responder.
2742         This prevents the "stealing" of key events mentioned in the bug.
2743         * WebView.subproj/WebView.m:
2744         (-[WebView _performResponderOperation:with:]): Uses the new firstResponderIsSelfOrDescendantView
2745         helper. The code I replaced used the same logic as the new helper.
2746
2747 === Safari-152 ===
2748
2749 2004-07-12  Maciej Stachowiak  <mjs@apple.com>
2750
2751         Reviewed by Kevin.
2752
2753         <rdar://problem/3673988>: (REGRESSION(141-144): connection assertion failure at http://traffic.511.org/sfgate)
2754         
2755         * WebView.subproj/WebBaseResourceHandleDelegate.m:
2756         (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
2757         Don't check connection consistency if this load got cancelled
2758         while finishing, because in this case we have cleared the
2759         connection field already. This can happen when a redirect fires
2760         from an onload handler.
2761
2762 2004-07-12  Maciej Stachowiak  <mjs@apple.com>
2763
2764         Reviewed by John.
2765
2766         <rdar://problem/3632570>: (REGRESSION: SocialText.net wiki keeps asking for auth, even though pages load)
2767
2768         * Misc.subproj/WebIconLoader.m:
2769         (-[WebIconLoader didReceiveAuthenticationChallenge:]): Ignore the challenge - we don't
2770         want an auth panel for favicons.
2771         (-[WebIconLoader didCancelAuthenticationChallenge:]): Ignore cancel, since we are ignoring
2772         the challenge.
2773
2774 2004-07-09  Chris Blumenberg  <cblu@apple.com>
2775         
2776         Allowed my change for 3715785 to compile on Jaguar.
2777
2778         Reviewed by kocienda.
2779
2780         * WebCoreSupport.subproj/WebBridge.m:
2781         (-[WebBridge canTargetLoadInFrame:]): don't use the DOM API since it doesn't exist on Jaguar, instead call the new domain method on the bridge
2782
2783 2004-07-09  Ken Kocienda  <kocienda@apple.com>
2784
2785         Reviewed by John
2786
2787         * Plugins.subproj/npruntime.h: Updated license to lawyer-approved 
2788         joint Apple-Mozilla BSD-style license.
2789
2790 2004-07-08  Chris Blumenberg  <cblu@apple.com>
2791
2792         Fixed: <rdar://problem/3720728> REGRESSION (125.8-146): Crash moving mouse over plugin at manray-photo.com
2793         
2794         Reviewed by john.
2795
2796         * Plugins.subproj/WebBaseNetscapePluginView.m:
2797         (-[WebBaseNetscapePluginView pluginScriptableObject]): don't call NPP_GetValue unless the plug-in implements it
2798
2799 2004-07-08  Chris Blumenberg  <cblu@apple.com>
2800
2801         Fixed: <rdar://problem/3706296> VIP: ifilm.com crashing reproducibly with Safari
2802
2803         Reviewed by kocienda.
2804
2805         * Plugins.subproj/WebNetscapePluginPackage.m:
2806         (-[WebNetscapePluginPackage launchRealPlayer]): don't release a NULL appURL
2807
2808 2004-07-08  Chris Blumenberg  <cblu@apple.com>
2809
2810         Fixed: <rdar://problem/3650140> reproducible assertion failure going to plugin page with JavaScript disabled
2811
2812         Reviewed by john.
2813
2814         * Plugins.subproj/WebBaseNetscapePluginView.m:
2815         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): don't call NPP_NewStream and other stream methods if there is no JS result to deliver. This is what Mozilla does.
2816         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Return NPERR_GENERIC_ERROR if JS is disabled. This is what Mozilla does.
2817
2818 === Safari-151 ===
2819
2820 2004-07-07  Trey Matteson  <trey@apple.com>
2821
2822         3719051 - Safari doesn't update form inputs when a page was refreshed by javascript window.location
2823         ... and at least 5 other cases in Radar
2824
2825         Very similar problem to the Harvard PIN bug.  We need to be sure
2826         to not carry any state over when we are processing a client
2827         redirect, which reuses the same WebHistoryItem.
2828
2829         Reviewed by John.
2830
2831         * WebView.subproj/WebFrame.m:
2832         (-[WebFrame _transitionToCommitted:]):  Comment
2833         (-[WebFrame _opened]):  Clear form and scroll state on client redirect.
2834
2835 2004-07-06  Chris Blumenberg  <cblu@apple.com>
2836
2837         Fixed: <rdar://problem/3715785> multiple frame injection vulnerability reported by Secunia, affects almost all browsers
2838         
2839         Reviewed by john, trey, kocienda.
2840
2841         * WebCoreSupport.subproj/WebBridge.m:
2842         (-[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
2843         (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): call canTargetLoadInFrame: to make sure we can load the request
2844         (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto
2845
2846 2004-07-06  John Sullivan  <sullivan@apple.com>
2847
2848         Reviewed by Trey.
2849
2850         - fixed <rdar://problem/3717147> folder icon used for error page in back/forward 
2851         menu when iTunes is not installed
2852
2853         * WebView.subproj/WebFrame.m:
2854         (-[WebFrame _transitionToCommitted:]):
2855         When displaying the error page for an unreachable URL, leave the requested URL
2856         in the WebHistoryItem; don't clobber it with a bogus one that represents the
2857         error page. This not only avoids the wrong-icon problem, but should also help
2858         in cases where an unreachable URL becomes reachable later on.
2859
2860 2004-07-06  Trey Matteson  <trey@apple.com>
2861
2862         3716053 - www.theage.com.au has extra back/forward items due to ads
2863
2864         The real change was in WebKit.  Here was are just renaming a method and folding
2865         all the WebFrameLoadTypeOnLoadEvent uses to be WebFrameLoadTypeInternal, since there
2866         was never any difference anyway.
2867
2868         Reviewed by Richard
2869
2870         * WebCoreSupport.subproj/WebBridge.m:
2871         (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):  rename part of the method.
2872         * WebView.subproj/WebFrame.m:  Nuke WebFrameLoadTypeOnLoadEvent.
2873         (-[WebFrame _transitionToCommitted:]):
2874         (-[WebFrame _checkLoadCompleteForThisFrame]):
2875         (-[WebFrame _loadItem:withLoadType:]):
2876         (-[WebFrame _itemForRestoringDocState]):
2877         * WebView.subproj/WebFramePrivate.h:
2878
2879 2004-07-06  Ken Kocienda  <kocienda@apple.com>
2880
2881         Reviewed by Trey
2882         
2883         Only register the editing delegate for those notifications for which it implements the callbacks.
2884
2885         * WebView.subproj/WebView.m:
2886         (-[WebView registerForEditingDelegateNotification:selector:]):
2887         (-[WebView setEditingDelegate:]):
2888
2889 2004-07-06  Trey Matteson  <trey@apple.com>
2890
2891         3294652 - Failed drag of links doesn't slide back
2892
2893         The only reason for this is that because of some hacks, we lie to
2894         AK about the drag image offset, which means we slide back to
2895         slightly the wrong place.  But it's very minor, so we should
2896         just fix it.
2897
2898         Reviewed by Ken.
2899
2900         * WebView.subproj/WebHTMLView.m:
2901         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2902         Ask for slideback.
2903
2904 2004-07-02  Darin Adler  <darin@apple.com>
2905
2906         Reviewed by Dave.
2907
2908         - fixed problem where tabsToLinks and privateBrowsingEnabled did not work with non-
2909           standard WebPreferences objects
2910
2911         * WebView.subproj/WebPreferences.m:
2912         (-[WebPreferences _valueForKey:]): New helper.
2913         (-[WebPreferences _stringValueForKey:]): Use _valueForKey.
2914         (-[WebPreferences _integerValueForKey:]): Use _valueForKey.
2915         (-[WebPreferences _boolValueForKey:]): Use _valueForKey.
2916         (-[WebPreferences tabsToLinks]): Use _boolValueForKey; this is the bug fix.
2917         (-[WebPreferences privateBrowsingEnabled]): Ditto.
2918         (+[WebPreferences _setIBCreatorID:]): Use copy instead of retain for keeping an NSString.
2919
2920 2004-07-01  Trey Matteson  <trey@apple.com>
2921
2922         3556159 - Crashes in -[WebFrame(WebPrivate) _transitionToCommitted:] at www.mastercardbusiness.com
2923
2924         We know from the line number of the crash that it is due to [self parentFrame]==nil.
2925
2926         Looking at the HTML and that of the related bugs, they do special stuff with onload
2927         handlers.  It is no longer repro, presumably because the includes JS files changed,
2928         as the bugs only included the top level HTML.  I suspect that the problem is that the
2929         WebFrameLoadTypeOnLoadEvent case was added, and in some weird sequence specific to
2930         MasterCard, they hit a case where we would be in WebFrameLoadTypeOnLoadEvent mode but
2931         not have a parent frame.
2932
2933         So we guard in the code against hitting a nil parentFrame, and log an error just in
2934         case this ever crops up again and we can learn more about it.
2935
2936         Reviewed by Richard.
2937
2938         * WebView.subproj/WebFrame.m:
2939         (-[WebFrame _transitionToCommitted:]):  Guard against nil parentFrame.
2940
2941 2004-07-01  John Sullivan  <sullivan@apple.com>
2942
2943         Reviewed by Trey.
2944         
2945         - fixed these bugs:
2946         <rdar://problem/3709110> REGRESSION (Tiger): Pressing Tab key to move focus 
2947         onto links skips every other link
2948         <rdar://problem/3692576> focus ring is in odd place after clicking RSS button 
2949         with "Tab to links" enabled
2950         
2951         WebHTMLView has some trickery by which we advance the focused link when nextKeyView
2952         or previousKeyView is called within nextValidKeyView or previousValidKeyView. This
2953         broke in Tiger because AppKit now (sometimes at least) calls nextKeyView more than
2954         once within nextValidKeyView. Fixed 3709110 by making sure we only advance the focus 
2955         once within a call to nextValidKeyView or previousValidKeyView.
2956         
2957         Also, this same trickery didn't work right with hidden views. Fixed 3692576 by checking
2958         whether the view is hidden and bypassing the focus-moving trickery in that case.
2959
2960         * WebView.subproj/WebHTMLViewInternal.h:
2961         renamed inNextValidKeyView -> nextKeyViewAccessShouldMoveFocus
2962         
2963         * WebView.subproj/WebHTMLView.m:
2964         (-[WebHTMLView nextKeyView]):
2965         now clears nextKeyViewAccessShouldMoveFocus
2966         (-[WebHTMLView previousKeyView]):
2967         ditto
2968         (-[WebHTMLView nextValidKeyView]):
2969         now doesn't set focus-moving trigger ivar if view is hidden or has hidden ancestor
2970         (-[WebHTMLView previousValidKeyView]):
2971         ditto
2972
2973 2004-06-30  Trey Matteson  <trey@apple.com>
2974
2975         Dragging within a web view should be allowed to start when the window isn't key.
2976
2977         A few months ago, Chris made this work, but it relied on the fact that all dragging
2978         was done in WebKit.  When WebCore got involved in dragging, it was broken.  Now we
2979         have a new scheme that gets it working again that properly involves WebCore.
2980
2981         The general idea is that when AK asks us whether to accept the first mouse and do
2982         "delayed window ordering", we must consult WC to see if we might start a drag.  In
2983         addition, instead of these drags in non-active windows being started as a special
2984         case in WK, they go through the normal WK-WC drag machinery.  Finally to work in
2985         frames we have to drill to the deepest hit view in acceptsFirstMouse, because previous
2986         hacks to hitTest make the top-most WebHTMLView field all events for its view tree
2987         (which leads to it fielding all acceptFirstMouse messages too).
2988
2989         Reviewed by John.
2990
2991         * WebCoreSupport.subproj/WebBridge.m:
2992         (-[WebBridge mayStartDragAtEventLocation:]):  Glue change for new arg type.
2993         * WebView.subproj/WebHTMLView.m:
2994         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2995         firstMouseDownEvent ivar is no longer needed.
2996         (-[WebHTMLView _mayStartDragAtEventLocation:]):  Receives a location instead of a drag
2997         event, since we need to do this work when we have no drag event.  This means the
2998         check of the delay for text dragging is moved down to WebCore.
2999         (-[WebHTMLView acceptsFirstMouse:]):  Respond based on whether we might do a drag.
3000         This includes drilling to the deepest view the event hits, whereas we used to only
3001         respond considering the topmost WebHTMLView.
3002         (-[WebHTMLView shouldDelayWindowOrderingForEvent:]):  Ditto.
3003         (-[WebHTMLView mouseDown:]):  Get rid of special case where some activating
3004         mouseDown events weren't sent to WC.  We need to go through the whole pipeline
3005         now to get a drag started properly.
3006         (-[WebHTMLView mouseDragged:]):  Ditto, let WC start the drag.
3007         (-[WebHTMLView mouseUp:]):  firstMouseDownEvent ivar is no longer needed.
3008         * WebView.subproj/WebHTMLViewInternal.h:
3009         * WebView.subproj/WebHTMLViewPrivate.h:
3010
3011 2004-06-25  Trey Matteson  <trey@apple.com>
3012
3013         Added new utility method.
3014
3015         Reviewed by John.
3016
3017         * WebView.subproj/WebFrame.m:
3018         (-[WebFrame _isDescendantOfFrame:]):   New code.
3019         * WebView.subproj/WebFramePrivate.h:
3020
3021 2004-06-24  Richard Williamson   <rjw@apple.com>
3022
3023                 Fixed <rdar://problem/3710313>: CGContext not zeroed when WebImageRenderer is copied
3024                 The context ivar of WebImageRenderer wasn't being nil when the object was copied.
3025
3026         Reviewed by Darin.
3027
3028         * WebCoreSupport.subproj/WebImageRenderer.m:
3029         (-[WebImageRenderer copyWithZone:]):
3030         (-[WebImageRenderer dealloc]):
3031         (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
3032
3033 2004-06-24  Trey Matteson  <trey@apple.com>
3034
3035         3672725 - Assertion failure in URLCompletion code with particular set of bookmarks
3036
3037         Problem was caused by a URL with unescaped unicodes getting into
3038         the Bookmarks file, presumably from import from IE.  We now test
3039         for this case and convert the data on the way in as if it were
3040         user-entered.
3041
3042         Reviewed by John and Darin.
3043
3044         * History.subproj/WebHistoryItem.m:
3045         (-[WebHistoryItem initFromDictionaryRepresentation:]):
3046
3047 2004-06-24  Trey Matteson  <trey@apple.com>
3048
3049         3704950 drag image in DB ConfigBar has horizontal graphics turd WebCore JavaScript
3050
3051         When we generate a drag image (or a selection image too, for that matter) we
3052         translate the CTM using a CG call.  Later, WebImageRenderer adjusts the pattern
3053         phase based on the CTM of the focused view, which doesn't include our translate.
3054         So we must inform WebKit about the additional phase adjustment.
3055
3056         Reviewed by Richard
3057
3058         * WebCoreSupport.subproj/WebGraphicsBridge.h:
3059         * WebCoreSupport.subproj/WebGraphicsBridge.m:
3060         (-[WebGraphicsBridge setAdditionalPatternPhase:]):  New trivial setter.
3061         (-[WebGraphicsBridge additionalPatternPhase]):      ...and getter.
3062         * WebCoreSupport.subproj/WebImageRenderer.m:
3063         (-[WebImageRenderer tileInRect:fromPoint:context:]):  Take any additional phase
3064         adjustment into account when setting phase.
3065
3066 2004-06-24  Trey Matteson  <trey@apple.com>
3067
3068         3693420 - onbeforecut and onbeforepaste need real implementaion
3069
3070         Reviewed by Chris.
3071
3072         * WebView.subproj/WebHTMLView.m:
3073         (-[WebHTMLView validateUserInterfaceItem:]):  Check with WebCore
3074         to see if cut, copy, paste should be enabled.
3075
3076 2004-06-24  John Sullivan  <sullivan@apple.com>
3077
3078         Reviewed by Darin.
3079         
3080         - fixed <rdar://problem/3706792> 8A161: Choosing text encoding for 
3081         error page opens finder window!?
3082
3083         * WebView.subproj/WebFrame.m:
3084         (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
3085         take unreachableURL into account
3086
3087 2004-06-23  Richard Williamson   <rjw@apple.com>
3088
3089         Implemented changes for latest npruntime.h.
3090         Made npruntime.h public.
3091                 
3092         Reviewed by Chris.
3093
3094         * Plugins.subproj/WebBaseNetscapePluginView.h:
3095         * Plugins.subproj/WebBaseNetscapePluginView.m:
3096         (-[WebBaseNetscapePluginView pluginScriptableObject]):
3097         (-[WebBaseNetscapePluginView forceRedraw]):
3098         (-[WebBaseNetscapePluginView getVariable:value:]):
3099         * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
3100         * Plugins.subproj/WebNetscapePluginPackage.m:
3101         (-[WebNetscapePluginPackage load]):
3102         * Plugins.subproj/npapi.h:
3103         * Plugins.subproj/npapi.m:
3104         (NPN_GetValue):
3105         * Plugins.subproj/npfunctions.h:
3106         * Plugins.subproj/npruntime.h:
3107         * WebKit.pbproj/project.pbxproj:
3108
3109 2004-06-21  Darin Adler  <darin@apple.com>
3110
3111         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
3112
3113 2004-06-21  Chris Blumenberg  <cblu@apple.com>
3114
3115         Made WebKitErrorDescriptionPlugInCancelledConnection have its own description string
3116         (Not for software update branch)
3117
3118         Reviewed by john.
3119
3120         * English.lproj/Localizable.strings:
3121         * Misc.subproj/WebKitErrors.m:
3122
3123 2004-06-21  Chris Blumenberg  <cblu@apple.com>
3124
3125         Made WebKitErrorDescriptionPlugInCancelledConnection properly reuse an already localized string to avoid loc changes.
3126
3127         Reviewed by john.
3128
3129         * ChangeLog:
3130         * Misc.subproj/WebKitErrors.m:
3131
3132 2004-06-21  Chris Blumenberg  <cblu@apple.com>
3133
3134         Fixed: <rdar://problem/3701269> change in error handling behavior from 10.3.3 to 10.3.4 breaks unreleased Adobe PDF plug-in
3135
3136         Reviewed by john.
3137
3138         * Misc.subproj/WebKitErrors.m:
3139         (registerErrors): register string for WebKitErrorPlugInCancelledConnection
3140         * Misc.subproj/WebKitErrorsPrivate.h:
3141         * Plugins.subproj/WebBaseNetscapePluginStream.h:
3142         * Plugins.subproj/WebBaseNetscapePluginStream.m:
3143         (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): use renamed WEB_REASON_PLUGIN_CANCELLED constant
3144         (-[WebBaseNetscapePluginStream destroyStream]): ditto
3145         * Plugins.subproj/WebNetscapePluginRepresentation.m:
3146         (-[WebNetscapePluginRepresentation cancelWithReason:]): if the reason is WEB_REASON_PLUGIN_CANCELLED, cancel the load with WebKitErrorPlugInCancelledConnection
3147         * Plugins.subproj/WebNetscapePluginStream.m:
3148         (-[WebNetscapePluginStream cancelWithReason:]): ditto
3149
3150 === Safari-146 ===
3151
3152 2004-06-17  Richard Williamson   <rjw@apple.com>
3153
3154                 Changed private headers to be pubic for npapi.h and npfunctions.h.  That
3155                 API was approved but never marked as public in the project file.  This change does
3156                 not make npruntime.h public, which contains the not yet approved changes
3157                 for script-ability of netscape plugins.  Unfortunately, that API will not
3158                 be public for WWDC.
3159                                 
3160         Reviewed by Chris.
3161
3162         * WebKit.pbproj/project.pbxproj:
3163
3164 2004-06-17  Trey Matteson  <trey@apple.com>
3165
3166         3698514 - coordinates in ondragstart and ondrag events are wrong
3167
3168         This part fixes the ondrag coords.  I thought Cocoa passed us the mouse location
3169         in draggedImage:movedTo:, but no, it's the position of the dragged image.
3170         WebCore needs the mouse location, so to calc that we must save away the
3171         offset of the mouse relative to the image when we kick off the drag.
3172
3173         Reviewed by Maciej.
3174
3175         * Misc.subproj/WebNSViewExtras.h:
3176         * Misc.subproj/WebNSViewExtras.m:
3177         (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): Add the ability
3178         to return the offset of the cursor wrt to the drag image, since this routine
3179         generates its own drag image and positions it.
3180         * WebView.subproj/WebHTMLView.m:
3181         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
3182         Calc the offset of the cursor wrt to the drag image in the myriad of ways
3183         that we kick off the drag.      
3184         (-[WebHTMLView draggedImage:movedTo:]):  Adjust the location by the
3185         offset we save when we kicked off the drag.
3186         (-[WebHTMLView draggedImage:endedAt:operation:]):  Ditto.
3187         * WebView.subproj/WebHTMLViewInternal.h:
3188         * WebView.subproj/WebImageView.m:
3189         (-[WebImageView mouseDragged:]):  Pass nil for new arg, we don't care.
3190
3191 2004-06-16  David Hyatt  <hyatt@apple.com>
3192
3193         In order to support truncation in Emerson, enhance pointToOffset so that it needn't include partial
3194         character glyphs (the left half of a glyph).
3195         
3196         Reviewed by mjs
3197
3198         * WebCoreSupport.subproj/WebTextRenderer.m:
3199         (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]):
3200         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
3201         (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
3202
3203 === Safari-145 ===
3204
3205 2004-06-16  Darin Adler  <darin@apple.com>
3206
3207         - fixed <rdar://problem/3696081> REGRESSION: <WebKit/CarbonUtils.h> doesn't build any more
3208
3209         Reviewed by Trey.
3210
3211         * Carbon.subproj/CarbonUtils.h: Fixed include. Need to include <ApplicationServices/ApplicationServices.h>
3212         to get CGImageRef; can't include an individual header.
3213
3214 2004-06-15  Richard Williamson   <rjw@apple.com>
3215
3216         Fixed <rdar://problem/3695875>: Objective-C instances that are exported to JavaScript are too promiscuous
3217         
3218         Flip the policy for exposing Objective-C methods and properties.
3219         
3220         Reviewed by Trey.
3221         
3222         * Plugins.subproj/WebPluginPackage.m:
3223         (+[NSObject isSelectorExcludedFromWebScript:]):  Just return YES.
3224         (+[NSObject isKeyExcludedFromWebScript:]):  Just return YES.
3225
3226 2004-06-15  Trey Matteson  <trey@apple.com>
3227
3228         3639321 - Harvard PIN authentication ends up sending PIN as clear text with POST action
3229
3230         When going back/forward to an item, if we went there originally via a POST, 
3231         we ask the user about rePOSTing, and if they say yes, we resend the POST. 
3232         This rePOST case is triggered by the form data that we saved on the b/f item.
3233         In the case of this bug, the overall navigation was accomplished by a POST,
3234         then a redirect, causing a GET.  When a load of type redirect achieves the Committed
3235         stage, we replace the current URL in the b/f item with the new URL (instead of
3236         adding a new item to the b/f list).
3237
3238         The bug is that at the same time we should also update the form data in
3239         the b/f item to match that of the new request.  I think this will normally
3240         mean nil'ing it out, unless there's some way for the result of the redirect
3241         to be another POST.
3242  
3243         The security leak occurred because we did not clear the form data on the item,
3244         so when going back or forward to the page, we would go into the rePOSTing code,
3245         even though we eventually reached that page via a GET (caused by the redirect).
3246         So we would do a POST to the redirect URL containing the private data sent in
3247         the original POST.
3248
3249         Reviewed by mjs and rjw.
3250
3251         * History.subproj/WebHistoryItem.m:
3252         (-[WebHistoryItem _setFormInfoFromRequest:]):  New method, just wraps 3 old set methods.
3253         (-[WebHistoryItem formData]):  Diff being dumb, no change.
3254         (-[WebHistoryItem formContentType]):  Ditto
3255         (-[WebHistoryItem formReferrer]): Ditto
3256         * History.subproj/WebHistoryItemPrivate.h:
3257         * WebView.subproj/WebFrame.m:
3258         (-[WebFrame _createItem:]):  Call new WebHistoryItem method - no change in real behavior
3259         (-[WebFrame _transitionToCommitted:]):  Clear out the form data at the key time, to fix the bug.
3260
3261 2004-06-15  Chris Blumenberg  <cblu@apple.com>
3262
3263         Fixed: <rdar://problem/3695724> WebKit plug-ins should only have to implement plugInViewWithArguments:
3264
3265         Reviewed by rjw.
3266
3267         * ChangeLog:
3268         * Plugins.subproj/WebPluginViewFactory.h: mention that plugInViewWithArguments is required
3269         * WebView.subproj/WebFrame.m:
3270         (-[WebFrame _reloadForPluginChanges]): check for plugInViewWithArguments: not webPlugInInitialize
3271         * WebView.subproj/WebHTMLView.m:
3272         (-[WebHTMLView addSubview:]): ditto
3273
3274 2004-06-15  Chris Blumenberg  <cblu@apple.com>
3275
3276         Reviewed by NOBODY (OOPS!).
3277
3278         * WebView.subproj/WebFrame.m:
3279         (-[WebFrame _reloadForPluginChanges]):
3280         * WebView.subproj/WebHTMLView.m:
3281         (-[WebHTMLView addSubview:]):
3282
3283 2004-06-15  Trey Matteson  <trey@apple.com>
3284
3285         3695240 - pasting plain text with newlines in it turns them into spaces
3286
3287         Easy fix, we just need to consume the incoming data as text instead of markup.
3288
3289         Reviewed by John and Darin.
3290
3291         * WebView.subproj/WebHTMLView.m:
3292         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]):
3293
3294 2004-06-15  Darin Adler  <darin@apple.com>
3295
3296         - fixed crash introduced by my earlier change
3297
3298         * WebCoreSupport.subproj/WebImageRenderer.m:
3299         (-[WebImageContext dealloc]): Set _cgsContext to 0 before calling super as before.
3300         (-[WebImageContext finalize]): Ditto.
3301
3302 2004-06-14  Darin Adler  <darin@apple.com>
3303
3304         Reviewed by Maciej.
3305
3306         - fixed some things for GC that Patrick missed, or that happened after the branch
3307
3308         * Carbon.subproj/HIWebView.m:
3309         (HIWebViewConstructor): Use CFRetain instead of retain.
3310         (HIWebViewDestructor): Use CFRelease instead of release.
3311         * Misc.subproj/WebFileDatabase.m:
3312         (-[WebFileDatabase initWithPath:]): Use release instead of dealloc.
3313         * WebCoreSupport.subproj/WebImageRenderer.m:
3314         (-[WebImageContext finalize]): Had [super dealloc] here by mistake; change to [super finalize].
3315         * WebCoreSupport.subproj/WebTextRenderer.m:
3316         (-[WebTextRenderer finalize]): Added.
3317         * WebView.subproj/WebDebugDOMNode.m:
3318         (-[WebDebugDOMNode initWithWebFrameView:]): Use release instead of dealloc.
3319         * WebView.subproj/WebRenderNode.m:
3320         (-[WebRenderNode initWithWebFrameView:]): Use release instead of dealloc.
3321
3322 2004-06-15  Trey Matteson  <trey@apple.com>
3323
3324         Fix ASSERT/crash we get sometimes when dragging link images.  Turns
3325         out there was an uninitialized variable for the image size,
3326         so at random we would try to create huge images that could not
3327         be focused.
3328         
3329         Reviewed by Maciej and Darin.
3330
3331         * WebView.subproj/WebHTMLView.m:
3332         (-[WebHTMLView _dragImageForLinkElement:]):  Trivial fix to
3333         not use += with uninited variable.
3334
3335 2004-06-14  Darin Adler  <darin@apple.com>
3336
3337         Reviewed by me, code changes by Patrick Beard.
3338
3339         - fixed <rdar://problem/3671507>: (WebKit should adopt GC changes and compile with GC enabled)
3340
3341         * WebKit.pbproj/project.pbxproj: Added WebNSObjectExtras.h.
3342         * Misc.subproj/WebNSObjectExtras.h: Added. Includes WebMakeCollectable, a cover for
3343         CFMakeCollectable that returns type id, for less casting, and works on Panther as well
3344         as Tiger. Also declares finalize in NSObject so we can call super without warnings on Panther.
3345
3346         * Carbon.subproj/CarbonWindowAdapter.m: Fixed header and includes a bit.
3347         (-[CarbonWindowAdapter finalize]): Added.
3348         * History.subproj/WebBackForwardList.m:
3349         (-[WebBackForwardList dealloc]): Got count outside loop.
3350         (-[WebBackForwardList finalize]): Added.
3351         * History.subproj/WebHistoryItem.m:
3352         (-[WebHistoryItem finalize]): Added.
3353         * Misc.subproj/WebFileDatabase.m:
3354         (-[WebFileDatabase _createLRUList:]): Use release on Panther, drain on Tiger.
3355         (+[WebFileDatabase _syncLoop:]): Ditto.
3356         (-[WebFileDatabase dealloc]): Removed, since we never deallocate objects of this class, and
3357         the method was untested.
3358         * Misc.subproj/WebKitErrors.m: (registerErrors): Use release on Panther, drain on Tiger.
3359         * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use
3360         WebMakeCollectable. Also fixed indenting.
3361         * Misc.subproj/WebNSURLExtras.m:
3362         (+[NSURL _web_URLWithData:relativeToURL:]): Use WebMakeCollectable.
3363         (-[NSURL _web_URLWithLowercasedScheme]): Use WebMakeCollectable.
3364         (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Change code to use CFRelease
3365         to balance CFURLCreateStringByReplacingPercentEscapes CFString creation, not release.
3366         * Plugins.subproj/WebBaseNetscapePluginStream.m:
3367         (-[WebBaseNetscapePluginStream finalize]): Added.
3368         * Plugins.subproj/WebBaseNetscapePluginView.m:
3369         (-[WebBaseNetscapePluginView freeAttributeKeysAndValues]): Added. Shared code for dealloc and finalize.
3370         (-[WebBaseNetscapePluginView dealloc]): Call freeAttributeKeysAndValues.
3371         (-[WebBaseNetscapePluginView finalize]): Added.
3372         (-[WebBaseNetscapePluginView requestWithURLCString:]): Changed so that CFString objects are
3373         released with CFRelease, not release.
3374         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Fixed storage leak in
3375         error case. Made sure CFString object is released with CFRelease, not release.
3376         (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
3377         Another CFString that needed to a CFRelease, not a release.
3378         (-[WebBaseNetscapePluginView status:]): Ditto.
3379         * Plugins.subproj/WebBasePluginPackage.m:
3380         (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Changed code to
3381         CFRelease a CFURLRef, instead of release.
3382         (-[WebBasePluginPackage finalize]): Added.
3383         * WebCoreSupport.subproj/WebBridge.m:
3384         (-[WebBridge fini]): Added. Shared code for dealloc and finalize.
3385         (-[WebBridge dealloc]): Call fini.
3386         (-[WebBridge finalize]): Added.
3387         * WebCoreSupport.subproj/WebGlyphBuffer.m:
3388         (-[WebGlyphBuffer finalize]): Added.
3389         * WebCoreSupport.subproj/WebImageRenderer.m:
3390         (-[WebImageContext initWithBounds:context:]): Use CGContextRetain to avoid cast.
3391         (-[WebImageContext dealloc]): Tweaked.
3392         (-[WebImageContext finalize]): Added.
3393         (-[WebImageRenderer finalize]): Added.
3394         (-[WebPDFDocument finalize]): Added.
3395         * WebView.subproj/WebDataProtocol.m:
3396         (+[NSURL _web_uniqueWebDataURL]): Changed so that CFString object is released with
3397         CFRelease, not release.
3398         * WebView.subproj/WebDataSource.m:
3399         (-[WebDataSourcePrivate dealloc]): Took non-release work out of here.
3400         (-[WebDataSource dealloc]): Moved it here.
3401         (-[WebDataSource finalize]): Added.
3402         (-[WebDataSource isLoading]): Use release on Panther, drain on Tiger.
3403         * WebView.subproj/WebFrame.m:
3404         (-[WebFramePrivate dealloc]): Took non-release work out of here.
3405         (-[WebFrame dealloc]): Moved it here.
3406         (-[WebFrame finalize]): Added.
3407         * WebView.subproj/WebFrameView.m:
3408         (-[WebFrameView finalize]): Added.
3409         * WebView.subproj/WebHTMLRepresentation.m:
3410         (-[WebHTMLRepresentation finalize]): Added.
3411         * WebView.subproj/WebHTMLView.m:
3412         (-[WebHTMLViewPrivate dealloc]): Moved non-release work out of here.
3413         (-[WebHTMLView dealloc]): Moved it here.
3414         (-[WebHTMLView finalize]): Added.
3415         * WebView.subproj/WebImageView.m:
3416         (-[WebImageView finalize]): Added.
3417         * WebView.subproj/WebMainResourceClient.m:
3418         (-[WebMainResourceClient finalize]): Added.
3419         * WebView.subproj/WebTextView.m:
3420         (-[WebTextView finalize]): Added.
3421         * WebView.subproj/WebView.m:
3422         (-[WebView finalize]): Added.
3423
3424 2004-06-14  Ken Kocienda  <kocienda@apple.com>
3425
3426         Reviewed by Darin
3427         
3428         Fix for this bug:
3429         
3430         <rdar://problem/3693202> WebView.h header unnecessarily lists NSResponder methods it overrides
3431
3432         * WebView.subproj/WebView.h: NSResponder overrides now gathered in a comment section.
3433
3434 2004-06-13  Trey Matteson  <trey@apple.com>
3435
3436         Support for DHTML cut/copy/paste.
3437
3438         Reviewed by Chris
3439
3440         * WebView.subproj/WebHTMLView.m:
3441         (-[WebHTMLView copy:]):  Give DHTML first crack at executing the command.
3442         (-[WebHTMLView cut:]):  Ditto
3443         (-[WebHTMLView paste:]):  Ditto
3444
3445 2004-06-14  Chris Blumenberg  <cblu@apple.com>
3446
3447         Fixed: <rdar://problem/3674456> make new drag & drop API compatible with DHTML dragging
3448
3449         Reviewed by trey.
3450
3451         * WebView.subproj/WebHTMLView.m:
3452         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): tweak
3453         * WebView.subproj/WebUIDelegate.h: removed old, added new methods
3454         * WebView.subproj/WebUIDelegatePrivate.h: moved new methods to public header
3455         * WebView.subproj/WebView.h: removed old, added new methods
3456         * WebView.subproj/WebView.m: moved methods around
3457         (-[WebView moveDragCaretToPoint:]): moved
3458         (-[WebView removeDragCaret]): moved
3459         (-[WebView _bridgeAtPoint:]): moved
3460         (-[WebView editableDOMRangeForPoint:]): moved
3461         * WebView.subproj/WebViewInternal.h: add new internal method
3462         * WebView.subproj/WebViewPrivate.h: moved new methods to public header
3463
3464 2004-06-14  Trey Matteson  <trey@apple.com>
3465
3466         Use a different hack, as recommended by Kristin, to force the drag
3467         manager to exit a modal event wait it is in.  The hack is required
3468         to update the drag image on the fly.  Instead of posting a CG
3469         event we post at the AppKit level.
3470
3471         Reviewed by Louch
3472
3473         * WebCoreSupport.subproj/WebGraphicsBridge.m:
3474         (-[WebGraphicsBridge setDraggingImage:at:]):
3475
3476 2004-06-14  Chris Blumenberg  <cblu@apple.com>
3477
3478         Fixed:
3479         <rdar://problem/3692668> REGRESSION: delay when images and links
3480         <rdar://problem/3692675> links should drag when dragging images that are links when drag source action is WebDragSourceActionLink
3481
3482         Reviewed by trey.
3483