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