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