74ba3aa81dea7bdee82b1801c87b88c0e0f7d3a5
[WebKit-https.git] / WebKit / ChangeLog
1 2005-08-01  Eric Seidel  <eseidel@apple.com>
2
3         Reviewed by darin.
4
5         * WebCoreSupport.subproj/WebGraphicsBridge.m:
6         removed create*ColorSpace methods, now using CG API directly.
7         http://bugzilla.opendarwin.org/show_bug.cgi?id=4211
8
9 2005-07-31  John Sullivan  <sullivan@apple.com>
10
11         Patch by Trey Matteson <trey@usa.net>
12         Reviewed by me.
13
14         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4014
15           PDF files by default load with a poor choice of sizing
16
17         For now the various PDF viewing settings are sticky, stored in 2 new defaults.  Since
18         there are a number of ways these settings are changed, I made a proxy for the PDFView
19         through which all view changing messages are sent.  The proxy adds the behavior of
20         updating the defaults upon any change.
21
22         * Misc.subproj/WebNSDictionaryExtras.h:
23         * Misc.subproj/WebNSDictionaryExtras.m:
24         (-[NSMutableDictionary _webkit_setFloat:forKey:]):  New support method.
25         * WebView.subproj/WebPDFView.h:
26         * WebView.subproj/WebPDFView.m:
27         (-[WebPDFView initWithFrame:]):  Create proxy for PDFView.
28         (-[WebPDFView dealloc]):  Free proxy.
29         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):  For relevant context menu items, set the
30             target to the proxy instead of the PDFView.
31         (-[WebPDFView _readPDFDefaults]):  Init PDFView with settings from defaults.
32         (-[WebPDFView layout]):  Call _readPDFDefaults, once.  This turned out to be the best hook.
33         (-[WebPDFView _makeTextSmaller:]):  Change PDFView via proxy
34         (-[WebPDFView _makeTextLarger:]):  Ditto
35         (-[WebPDFView _makeTextStandardSize:]):  Ditto
36         (-[PDFPrefUpdatingProxy initWithView:]):  trivial
37         (-[PDFPrefUpdatingProxy forwardInvocation:]):  Forward the msg, then update defaults
38         (-[PDFPrefUpdatingProxy methodSignatureForSelector:]):  Simple forwarding support.
39         * WebView.subproj/WebPreferenceKeysPrivate.h:
40         * WebView.subproj/WebPreferences.m:
41         (+[WebPreferences initialize]):  Set initial values for new PDF viewing defaults.
42         (-[WebPreferences _integerValueForKey:]):  Nuke stray comment.
43         (-[WebPreferences _floatValueForKey:]):  New simple support method.
44         (-[WebPreferences _setFloatValue:forKey:]):  Ditto.
45         (-[WebPreferences PDFScaleFactor]):  4 accessors for new defaults 
46         (-[WebPreferences setPDFScaleFactor:]):
47         (-[WebPreferences PDFDisplayMode]):
48         (-[WebPreferences setPDFDisplayMode:]):
49         * WebView.subproj/WebPreferencesPrivate.h:
50
51 2005-08-01  Justin Garcia  <justin.garcia@apple.com>
52
53         Patch by Trey Matteson <trey@usa.net>
54
55         Reviewed by Maciej.
56
57         Fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=4226>
58           link underlines print too thickly
59
60         Reinstate the fix made by sullivan on 1/11/05.  There was a merge
61         error with an mjs fix on 1/13/05.
62
63         * WebCoreSupport.subproj/WebTextRenderer.m:
64         (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
65
66 2005-07-30  Maciej Stachowiak  <mjs@apple.com>
67
68         Build fixes for previous change (missing includes)
69
70         * WebView.subproj/WebFrame.m:
71         * WebView.subproj/WebScriptDebugDelegate.m:
72
73 2005-07-29  Maciej Stachowiak  <mjs@apple.com>
74
75         Changes by Michael Kahl, reviewed by me.
76
77         - fixed <rdar://problem/4164112> MASTER: JavaScript debugging support
78         
79         * WebCoreSupport.subproj/WebBridge.m:
80         (-[WebBridge windowObjectCleared]):
81         * WebCoreSupport.subproj/WebSubresourceLoader.m:
82         * WebKit.xcodeproj/project.pbxproj:
83         * WebView.subproj/WebDefaultScriptDebugDelegate.h: Added.
84         * WebView.subproj/WebDefaultScriptDebugDelegate.m: Added.
85         (+[WebDefaultScriptDebugDelegate sharedScriptDebugDelegate]):
86         (-[WebDefaultScriptDebugDelegate webView:didParseSource:fromURL:sourceId:forWebFrame:]):
87         (-[WebDefaultScriptDebugDelegate webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
88         (-[WebDefaultScriptDebugDelegate webView:willExecuteStatement:sourceId:line:forWebFrame:]):
89         (-[WebDefaultScriptDebugDelegate webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
90         * WebView.subproj/WebFrame.m:
91         (-[WebFramePrivate dealloc]):
92         (-[WebFrame _attachScriptDebugger]):
93         * WebView.subproj/WebFramePrivate.h:
94         * WebView.subproj/WebScriptDebugDelegate.h: Added.
95         * WebView.subproj/WebScriptDebugDelegate.m: Added.
96         (-[WebScriptDebugger initWithWebFrame:]):
97         (-[WebScriptDebugger dealloc]):
98         (-[WebScriptDebugger globalObject]):
99         (-[WebScriptDebugger newWrapperForFrame:]):
100         (-[WebScriptDebugger parsedSource:fromURL:sourceId:]):
101         (-[WebScriptDebugger enteredFrame:sourceId:line:]):
102         (-[WebScriptDebugger hitStatement:sourceId:line:]):
103         (-[WebScriptDebugger leavingFrame:sourceId:line:]):
104         (-[WebScriptCallFrame _initWithFrame:]):
105         (-[WebScriptCallFrame dealloc]):
106         (-[WebScriptCallFrame setUserInfo:]):
107         (-[WebScriptCallFrame userInfo]):
108         (-[WebScriptCallFrame caller]):
109         (-[WebScriptCallFrame scopeChain]):
110         (-[WebScriptCallFrame functionName]):
111         (-[WebScriptCallFrame exception]):
112         (-[WebScriptCallFrame evaluateWebScript:]):
113         * WebView.subproj/WebScriptDebugDelegatePrivate.h: Added.
114         * WebView.subproj/WebView.h:
115         * WebView.subproj/WebView.m:
116         (-[WebViewPrivate dealloc]):
117         (-[WebView _scriptDebugDelegateForwarder]):
118         (-[WebView setScriptDebugDelegate:]):
119         (-[WebView scriptDebugDelegate]):
120         * WebView.subproj/WebViewInternal.h:
121         * WebView.subproj/WebViewPrivate.h:
122
123 2005-07-26  Maciej Stachowiak  <mjs@apple.com>
124
125         Reviewed by Dave Hyatt.
126
127         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4153
128         
129         * WebView.subproj/WebFrame.m:
130         (-[WebFrame _purgePageCache]): Find the oldest candidate for
131         purging that is not a snapback item.
132
133 2005-07-29  David Harrison  <harrison@apple.com>
134
135         Reviewed by Dave Hyatt (rendering) and Maciej (editing and performance improvements).
136
137         Test cases added: Existing tab-related basic editing tests were updated.  More complex tests are coming soon.
138
139         <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
140         
141         Basic strategy is to put tabs into spans with white-space:pre style, and
142         render them with tabs stops every 8th space, where the space width and
143         the left margin are those of the enclosing block.
144
145         * WebCoreSupport.subproj/WebTextRenderer.m:
146         (isSpace):
147         (isRoundingHackCharacter):
148         (getUncachedWidth):
149         (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
150         (-[WebTextRenderer _computeWidthForSpace]):
151         (_drawGlyphs):
152         (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
153         (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
154         (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
155         (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
156         (glyphForCharacter):
157         (initializeCharacterWidthIterator):
158         (ceilCurrentWidth):
159         (widthForNextCharacter):
160
161 2005-07-29  John Sullivan  <sullivan@apple.com>
162
163         Reviewed by Dave Hyatt.
164         
165         - WebKit part of <rdar://problem/4187404> Redo form SPI so that it doesn't rely on NSViews
166         
167         Much of 4187404 was addressed in earlier checkins. This checkin completes the task.
168
169         * WebView.subproj/WebHTMLRepresentation.h:
170         * WebView.subproj/WebHTMLRepresentation.m:
171         removed viewForElement:, which was the only remaining NSView-related SPI that Safari autofill was
172         still using. I added viewForElement a week ago as a transitional measure, so removing it won't
173         affect any other clients.
174
175 2005-07-29  John Sullivan  <sullivan@apple.com>
176
177         Reviewed by Chris Blumenberg.
178
179         * WebView.subproj/WebFrameView.m:
180         (-[WebFrameView _firstResponderIsFormControl]):
181         renamed from _firstResponderIsControl for clarity. Explicitly rejects WebHTMLView, since
182         it's now a control.
183         (-[WebFrameView keyDown:]):
184         updated for renamed method.
185
186 2005-07-28  John Sullivan  <sullivan@apple.com>
187
188         Reviewed by Beth Dakin.
189         
190         - removed method -[WebHTMLRepresentation elementForView:], which was SPI used only for
191         Safari autofill. Tip of tree Safari no longer includes any calls to this method. Also, 
192         Tiger Safari never gets around to actually calling it due to the other recent form-SPI-related
193         changes, so removing this method doesn't break Tiger Safari running on tip of tree WebKit
194         (though autofill continues to not work in that configuration).
195
196         * WebView.subproj/WebHTMLRepresentation.h:
197         * WebView.subproj/WebHTMLRepresentation.m:
198         (-[WebHTMLRepresentation elementForView:]): removed
199         
200 2005-07-27  John Sullivan  <sullivan@apple.com>
201
202         Patch by Trey Matteson <trey@usa.net>
203         Reviewed by me.
204
205         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4169
206           scaling PDF view up leaves later HTML view scaled too
207
208         An additional step of separating scaling of HTML and PDF.  If we do a zoom and there
209         are no docViews that track the common scaling factor, then don't change it.  Thus in
210         the common PDF case where it is the only doc view, scaling the PDF does not affect
211         HTML pages loaded in the same window.
212
213         * WebView.subproj/WebView.m:
214         (-[WebView canMakeTextSmaller]):  Pass 0 for new scaling factor, since we just querying.
215         (-[WebView canMakeTextLarger]):  Ditto.
216         (-[WebView makeTextSmaller:]):  Pass new scaling factor.
217         (-[WebView makeTextLarger:]):  Ditto.
218         (-[WebView canMakeTextStandardSize]):  Pass 0 for new scaling factor.
219         (-[WebView makeTextStandardSize:]):  Pass new scaling factor.
220         (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
221           The meat of the change is that this Swiss Army Knife also takes a new scaling
222           factor, which it will set as the common scaling factor if it finds any doc views that
223           are able to be scaled which track the common scaling factor.
224
225 2005-07-27  John Sullivan  <sullivan@apple.com>
226
227         Patch by Trey Matteson <trey@usa.net>
228         Reviewed by me.
229
230         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4015
231           PDF views should remember viewing mode, scroll position across back/forward
232           Note this doesn't work within frames because of a PDFKit bug - see 4164
233         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4091
234           PDF views should keep a separate scaling factor from shared text scaling factor
235
236         Basic idea #1 is that we now have a general mechanism for a WebDocView to save/restore some UI
237         state to the WebHistoryItem.
238         Basic idea #2 is that _WebDocumentTextSizing is expanded to allow for the case of a WebDocView
239         keeping its own notion of a scaling factor.  WebPDFView's -_tracksCommonSizeFactor has justification.
240
241         * History.subproj/WebHistoryItem.m:
242         (-[WebHistoryItem setViewState:]):  New methods to hold PList of arbitrary WebView state
243         (-[WebHistoryItem viewState]):
244         * History.subproj/WebHistoryItemPrivate.h:
245         * WebKit.xcodeproj/project.pbxproj:  Add Quartz to framework path so we can import PDFKit files
246         * WebView.subproj/WebDocumentInternal.h:  New methods added to _WebDocumentTextSizing.
247           Also the _ prefix is sufficient instead of _web_WebDocumentTextSizing.
248           Added _WebDocumentViewState protocol.
249         * WebView.subproj/WebFrame.m:
250         (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):  Rename of save/restore methods.
251         (-[WebFrame _detachFromParent]):  Ditto
252         (-[WebFrame _transitionToCommitted:]):  Ditto
253         (-[WebFrame _checkLoadCompleteForThisFrame]):  Ditto
254         (-[WebFrame _loadItem:withLoadType:]):  Ditto
255         (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):  Ditto
256         (-[WebFrame _saveViewStateToItem:]):  Call doc view to retrieve view state.
257         (-[WebFrame _restoreViewState]):  Call doc view to set view state.
258         (-[WebFrame _scrollToTop]):  Nuked dead code.
259         (-[WebFrame _textSizeMultiplierChanged]):  This work now appears in WebView.
260         (-[WebFrame _saveDocumentAndScrollState]):  Same rename, one code cleanup.
261         (-[WebFrame _accumulateDocumentViews:]): Add our docview to the array, call kids.
262         (-[WebFrame _documentViews]):  New helper to return all docviews.
263         (-[WebFrame _didFirstLayout]):  Same name change.
264         * WebView.subproj/WebFrameInternal.h:
265         * WebView.subproj/WebFramePrivate.h:
266         * WebView.subproj/WebHTMLView.m:  Removed redundant category decl.
267         (-[WebHTMLView _makeTextSmaller:]):  Implement new protocol.
268         (-[WebHTMLView _makeTextLarger:]):
269         (-[WebHTMLView _makeTextStandardSize:]):
270         (-[WebHTMLView _tracksCommonSizeFactor]):
271         * WebView.subproj/WebPDFRepresentation.m:  Tweak #imports.
272         * WebView.subproj/WebPDFView.h:
273         * WebView.subproj/WebPDFView.m:
274         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):  No longer intercept context menu text sizing items.
275         (-[WebPDFView setDataSource:]):  No longer track the WebView's scaling factor.
276         (-[WebPDFView scrollPoint]):  Dig through PDFKit view tree to get real scroll position
277         (-[WebPDFView setScrollPoint:]):  Ditto
278         (-[WebPDFView viewState]):  Return bundle of viewing params
279         (-[WebPDFView setViewState:]):  Restore bundle of viewing params
280         (-[WebPDFView _makeTextSmaller:]):  Implement new text sizing protocol
281         (-[WebPDFView _makeTextLarger:]):
282         (-[WebPDFView _makeTextStandardSize:]):
283         (-[WebPDFView _tracksCommonSizeFactor]):
284         (-[WebPDFView _canMakeTextSmaller]):
285         (-[WebPDFView _canMakeTextLarger]):
286         (-[WebPDFView _canMakeTextStandardSize]):
287         * WebView.subproj/WebTextView.m:
288         (-[WebTextView _makeTextSmaller:]):  Implement new text sizing protocol
289         (-[WebTextView _makeTextLarger:]):
290         (-[WebTextView _makeTextStandardSize:]):
291         (-[WebTextView _tracksCommonSizeFactor]):
292         * WebView.subproj/WebView.m:
293         (-[WebView setTextSizeMultiplier:]):  Calling docViews is now more complicates than just posting
294            a notification to the frame.
295         (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:]):  Workhorse
296            that sends the text sizing method to the right doc views.
297         (-[WebView canMakeTextSmaller]):  Call workhorse.
298         (-[WebView canMakeTextLarger]):  Ditto
299         (-[WebView makeTextSmaller:]):  Ditto
300         (-[WebView makeTextLarger:]):  Ditto
301         (-[WebView canMakeTextStandardSize]):  Ditto
302         (-[WebView makeTextStandardSize:]):  Ditto
303
304 2005-07-26  Justin Garcia  <justin.garcia@apple.com>
305
306         Patch by Trey Matteson <trey@usa.net>
307
308         Reviewed by John Sullivan.
309         
310         Fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=4072>
311         Pressing back in browser misses out a page
312         
313         * WebView.subproj/WebFrame.m:
314         (-[WebFrame _transitionToCommitted:]):  When reloading the same page or refreshing the
315         page, update the URL in the b/f item with the URL that we wind up at.  Due to cookies,
316         it might be different than the result we just got when we loaded the same page.
317
318 2005-07-26  David Hyatt  <hyatt@apple.com>
319
320         Make WebHTMLView inherit from NSControl instead of NSView.
321         This change is necessary because the theme renderer for
322         WebCore that draws controls with the Aqua appearance does so
323         using NSCells.  NSCells must be hosted within a control view
324         in order to paint properly.
325
326         The method updateCell must be overridden because it wants to
327         repaint the whole control when the windows resigns/becomes
328         key, and this would result in behavior that we don't want
329         (the repainting of the whole view).  We already have hooks
330         in WebHTMLView for the window resigning/becoming key so
331         we will do our proper control updating there instead (in a
332         future patch).
333
334         Reviewed by john
335
336         * WebView.subproj/WebHTMLView.h:
337         * WebView.subproj/WebHTMLView.m:
338         (-[WebHTMLView updateCell:]):
339         
340 2005-07-26  John Sullivan  <sullivan@apple.com>
341
342         Reviewed by Chris Blumenberg.
343         
344         - more work to wean form-related SPI from NSView. All that's left (but this is a big "all")
345         is viewForElement: and elementForView:        
346
347         * WebCoreSupport.subproj/WebBridge.m:
348         (-[WebBridge textField:doCommandBySelector:]):
349         changed signature to pass along DOMElement* rather than NSView*
350         
351         * WebView.subproj/WebFormDelegate.h:
352         * WebView.subproj/WebFormDelegate.m:
353         (-[WebFormDelegate textField:doCommandBySelector:inFrame:]):
354         ditto
355
356 2005-07-25  John Sullivan  <sullivan@apple.com>
357
358         Reviewed by Darin Adler.
359         
360         - big hunk of weaning form-related SPI from NSView; autofill continues to
361         work (but only on tip of tree Safari)
362         
363         * WebCoreSupport.subproj/WebBridge.m:
364         (-[WebBridge textFieldDidBeginEditing:]):
365         changed name from controlTextXXX:, now takes a DOMHTMLInputElement*
366         (-[WebBridge textFieldDidEndEditing:]):
367         ditto
368         (-[WebBridge textDidChangeInTextField:]):
369         ditto
370         (-[WebBridge textDidChangeInTextArea:]):
371         changed name from textDidChange:, now takes a DOMHTMLTextAreaElement*
372         (-[WebBridge control:textShouldBeginEditing:]):
373         removed this method as it wasn't being used by autofill, and did nothing in WebKit
374         (-[WebBridge control:textShouldEndEditing:]):
375         ditto
376         (-[WebBridge textField:shouldHandleEvent:]):
377         changed name from control:textView:shouldHandleEvent:, now takes a DOMHTMLInputElement*.
378         The textView parameter wasn't being used, so I eliminated it.
379         
380         * WebView.subproj/WebFormDelegate.h:
381         * WebView.subproj/WebFormDelegate.m:
382         (-[WebFormDelegate textFieldDidBeginEditing:inFrame:]):
383         (-[WebFormDelegate textFieldDidEndEditing:inFrame:]):
384         (-[WebFormDelegate control:textShouldBeginEditing:inFrame:]):
385         (-[WebFormDelegate control:textShouldEndEditing:inFrame:]):
386         (-[WebFormDelegate textDidChangeInTextField:inFrame:]):
387         (-[WebFormDelegate textDidChangeInTextArea:inFrame:]):
388         (-[WebFormDelegate textField:shouldHandleEvent:inFrame:]):
389         These all changed in the same way as the WebBridge methods
390         
391
392 2005-07-25  Vicki Murley <vicki@apple.com>
393
394         Reviewed by Darin.
395  
396         - fixed <rdar://problem/3470523> Safari's user agent should be changed to say Intel rather 
397         than PPC on Intel machines
398
399         * WebView.subproj/WebView.m: add conditional #defines for "PPC" and "Intel"
400         (-[WebView userAgentForURL:]): use this variable when constructing the user agent string
401
402 2005-07-24  Justin Garcia  <justin.garcia@apple.com>
403
404         Reviewed by mjs
405         
406         - Fixes <rdar://problem/4120535> deleteToEndOfLine: does not delete thew newline when at the end of a line
407             Fix to match NSTextView.  Delete the next character if deleteToEndOfLine fails
408
409         * WebView.subproj/WebHTMLView.m:
410         (-[WebHTMLView deleteToEndOfLine:]):
411
412 2005-07-24  Justin Garcia  <justin.garcia@apple.com>
413
414         Patch by Trey Matteson <trey@apple.com>
415
416         Reviewed by john
417         
418         Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=3953> back-forward items have wrong titles after sub-frame navigations
419
420         This was caused by a mistaken data structure, where WebDataSource tried to keep a list of
421         b/f items it was responsible for.  The problem arose in the case of frames, where a subframe
422         was loaded with new content.  When this happens a fresh tree of b/f items is created,
423         but the reference in the DataSource still pointed to the old item.
424
425         Since the WebFrame does a lot of work to track the current b/f item, the easiest thing is to
426         get rid of the DataSource's reference, and have it ask the WebFrame to set the title on the
427         right b/f item.
428
429         * WebView.subproj/WebDataSource.m:
430         (-[WebDataSourcePrivate dealloc]):
431         (-[WebDataSource _setTitle:]):
432         * WebView.subproj/WebDataSourcePrivate.h:
433         * WebView.subproj/WebFrame.m:
434         (-[WebFrame _createItem:]):
435         (-[WebFrame _transitionToCommitted:]):
436         (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
437         (-[WebFrame _setTitle:]):
438         * WebView.subproj/WebFramePrivate.h:
439
440 2005-07-24  Justin Garcia  <justin.garcia@apple.com>
441
442         Reviewed by kevin
443         
444         Fixed make clean problem
445
446         * Makefile.am:
447
448 2005-07-23  Justin Garcia  <justin.garcia@apple.com>
449
450         Patch by <opendarwin.org@mitzpettel.com>
451
452         Reviewed by darin and hyatt
453         
454         Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=3862>
455         The fix for <http://bugzilla.opendarwin.org/show_bug.cgi?id=3545> enclosed each run of visually ordered
456         hebrew with LRO and PDF control characters, but adjusted the run's to and from to include those characters,
457         so that they would be rendered if the font includes a glyph for bidi control characters.
458         
459         Also adding a manual test
460
461         * WebCoreSupport.subproj/WebTextRenderer.m:
462         (reverseCharactersInRun):
463
464 2005-07-22  John Sullivan  <sullivan@apple.com>
465
466         Reviewed by Justin Garcia.
467         
468         Mail (running on tip of tree WebKit) was running into an assertion I recently added.
469         The assertion is actually correct, catching an old bug in this code.
470
471         * WebView.subproj/WebView.m:
472         (-[WebView selectedFrame]):
473         if the first responder is a WebFrameView, then we've found the WebFrameView we're 
474         looking for, and we shouldn't look at its superviews.
475
476 2005-07-22  John Sullivan  <sullivan@apple.com>
477
478         Reviewed by Chris Blumenberg.
479
480         - some changes in the direction of weaning all the form-related SPI from NSView
481
482         * PublicHeaderChangesFromTiger.txt:
483         noted that the WebCore change to add -[DOMHTMLInputElement isTextField] to
484         DOMExtensions.h is a public header change.
485
486         * WebView.subproj/WebHTMLRepresentation.h:
487         * WebView.subproj/WebHTMLRepresentation.m:
488         (-[WebHTMLRepresentation viewForElement:]):
489         added viewForElement: as a stopgap measure. This allowed me to convert controlsInForm:
490         to return DOMElements rather than NSViews, while keeping autocomplete working in
491         Safari tip of tree. When I finish the SPI conversion I'll delete this method. Note that
492         from this point on, autocomplete will not work in Tiger Safari with tip of tree WebKit
493         (it will always fail to find anything to autocomplete)
494
495 2005-07-21  Adele Peterson  <adele@apple.com>
496
497         Reviewed by Darin.
498
499         Changing temporary #ifndef to #if
500
501         * WebCoreSupport.subproj/WebImageData.m:
502         (-[WebImageData _checkSolidColor:]):
503
504 2005-07-21  Adele Peterson  <adele@apple.com>
505
506         Reviewed by Chris Blumenberg.
507
508         - fixed <rdar://problem/4132797> don't register thin PPC WebKit plug-ins
509         Merged fix for:
510         <rdar://problem/4127100> [WebKit] 8B1016: After installing Acrobat Reader, can no longer see pdf's in Safari
511
512         * Plugins.subproj/WebBasePluginPackage.h: Added isNativeLibraryData method.
513         * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage isNativeLibraryData:]): Added isNativeLibraryData method.
514         * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]):
515           calls isNativeLibraryData to determine whether or not to register the plug-in.
516         * Plugins.subproj/WebPluginPackage.m: (-[WebPluginPackage initWithPath:]): ditto.
517         * WebCoreSupport.subproj/WebImageData.m: (-[WebImageData _checkSolidColor:]): added comment for #ifdef.
518
519 2005-07-21  Geoffrey Garen  <ggaren@apple.com>
520
521         * WebKit.pbproj/project.pbxproj: Removed.
522
523 2005-07-21  Geoffrey Garen  <ggaren@apple.com>
524
525         * WebKit.xcodeproj/.cvsignore: Added.
526
527 2005-07-21  Geoffrey Garen  <ggaren@apple.com>
528
529         * WebKit.xcodeproj/project.pbxproj: Added.
530
531 2005-07-21  Geoffrey Garen  <ggaren@apple.com>
532
533         * Makefile.am:
534
535 2005-07-20  John Sullivan  <sullivan@apple.com>
536
537         Reviewed by Vicki Murley.
538
539         - removed some form-related methods that weren't being used anywhere, in preparation
540         for weaning WebKit's WebFormDelegate protocol from NSView.
541
542         * WebCoreSupport.subproj/WebBridge.m:
543         * WebView.subproj/WebFormDelegate.h:
544         * WebView.subproj/WebFormDelegate.m:
545         removed these methods:
546         -control:didFailToFormatString:errorDescription:
547         -control:didFailToValidatePartialString:errorDescription:
548         -control:isValidObject:
549
550 2005-07-20  Adele Peterson  <adele@apple.com>
551
552           Merged fix for:
553           <rdar://problem/4125127> [WebKit] horizontal rulers don't render on Safari on web.apple.com
554
555           * WebCoreSupport.subproj/WebImageData.m:
556           (-[WebImageData _checkSolidColor:]):
557
558 2005-07-20  Adele Peterson  <adele@apple.com>
559
560         Merged fix for :
561         <rdar://problem/4118278> mail divide by zero navigating messages
562   
563         * WebCoreSupport.subproj/WebTextRenderer.m:
564         (-[WebTextRenderer _extendGlyphToWidthMapToInclude:font:]):
565
566 2005-07-20  John Sullivan  <sullivan@apple.com>
567
568         Reviewed by Adele Peterson.
569         
570         - added -[WebView selectedFrame] to SPI (pending public API), needed for 4180958
571
572         * WebView.subproj/WebView.m:
573         (-[WebView selectedFrame]):
574         new method, extracted from _selectedOrMainFrame
575         (-[WebView _selectedOrMainFrame]):
576         now calls extracted method
577         
578         * WebView.subproj/WebViewPrivate.h:
579         add -selectedFrame to PendingPublic category
580
581 2005-07-19  John Sullivan  <sullivan@apple.com>
582
583         Reviewed by Darin Adler.
584         
585         - cleaned up code related to dealing with the "selected frame"; fixes radar bugs 4118830 and 4118820
586
587         * WebView.subproj/WebTextView.m:
588         (-[WebTextView resignFirstResponder]):
589         call deselectAll here instead of replicating its guts, just for clarity
590         
591         * WebView.subproj/WebViewInternal.h:
592         eliminated category WebInternal; all of these methods were used only inside WebView.m, so I moved
593         them into the existing category WebFileInternal that was declared and implemented in WebView.m
594         
595         * WebView.subproj/WebView.m:
596         (-[WebView searchFor:direction:caseSensitive:wrap:]):
597         updated for name changes. Also, uses new _deselectFrame: to clear the selection if the found
598         text is in a different frame.
599         (-[WebView pasteboardTypesForSelection]):
600         (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
601         (-[WebView setSelectedDOMRange:affinity:]):
602         (-[WebView selectedDOMRange]):
603         (-[WebView selectionAffinity]):
604         (-[WebView setTypingStyle:]):
605         (-[WebView typingStyle]):
606         (-[WebView styleDeclarationWithText:]):        
607         (-[WebView replaceSelectionWithNode:]):
608         (-[WebView replaceSelectionWithText:]):
609         (-[WebView replaceSelectionWithMarkupString:]):
610         (-[WebView replaceSelectionWithArchive:]):
611         (-[WebView deleteSelection]):
612         (-[WebView applyStyle:]):
613         updated for name changes only
614         
615         (-[WebView _frameIsSelected:]):
616         new method, returns YES if given frame has a non-zero-length selection
617         (-[WebView _deselectFrame:]):
618         new method, clears selection from given frame
619         (-[WebView _findSelectedFrameStartingFromFrame:]):
620         new method, recursive helper used by _findSelectedFrame
621         (-[WebView _findSelectedFrame]):
622         new method, finds first frame that returns YES for _frameIsSelected, or nil
623         (-[WebView _debugCollectSelectedFramesIntoArray:startingFromFrame:]):
624         new method, recursive helper used by _debugCheckForMultipleSelectedFrames
625         (-[WebView _debugCheckForMultipleSelectedFrames]):
626         new method for debugging, fires an assertion if there's more than one selected frame.
627         (-[WebView _selectedOrMainFrame]):
628         renamed from _frameForCurrentSelection, which was a misleading name since the returned
629         frame does not necessarily have a selection (or even focus). Now checks for a selected
630         but non-focused frame if the first responder is not in any frame. Also, moved in file
631         from WebInternal category to WebFileInternal category.
632         (-[WebView _bridgeForSelectedOrMainFrame]):
633         renamed from _bridgeForCurrentSelection, which was a misleading name for the same
634         reasons as _frameForCurrentSelection. Also, moved in file from WebInternal category to
635         WebFileInternal category.
636         (-[WebView _isLoading]):
637         (-[WebView _frameViewAtWindowPoint:]):
638         (-[WebView _bridgeAtPoint:]):
639         just moved in file from WebInternal category to WebFileInternal category
640
641 2005-07-19  Darin Adler  <darin@apple.com>
642
643         Reviewed by Geoff Garen.
644
645         - improve handling of plug-ins when the WebView or a superview is hidden with -[NSView setHidden]
646
647         * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
648         Add "hidden" to the list of reasons to clip out all plug-in drawing.
649
650 2005-07-18  John Sullivan  <sullivan@apple.com>
651         
652         Written by Trey Matteson  <trey@usa.net>
653         Reviewed by John Sullivan.
654
655         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4049
656           scroll position not restored when going back/forward at ebay
657         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4061
658           When going back/forward to some pages, they redraw at top before restoring scroll position
659
660         The short story is that attempting to restore the scroll position
661         at the time when the first layout finishes addresses both of these
662         issues.  An explanation of the underlying race condition is in
663         a large comment near -_restoreScrollPosition.
664
665         * WebCoreSupport.subproj/WebBridge.m:
666         (-[WebBridge didFirstLayout]):  Pass through to WebFrame.
667         * WebView.subproj/WebFrame.m:
668         (-[WebFrame _transitionToCommitted:]):  Get rid of attempt to
669           restoreScrollPosition that never did anything because the
670           docView was always 0x0 size at that point.
671         (-[WebFrame _opened]):  Get rid of redundant call to restoreScrollPosition.
672           The imminent call to layoutCompleted makes the same call.
673         (-[WebFrame _didFirstLayout]):  Restore the scroll position on
674           first layout, if we're doing a b/f nav.
675         * WebView.subproj/WebFrameInternal.h:
676
677 2005-07-18  John Sullivan  <sullivan@apple.com>
678
679         Reviewed by Darin Adler.
680
681         - fixed these bugs:
682         <rdar://problem/4158121> context menu in PDF view should contain the selection-based items like Copy
683         <rdar://problem/4184691> WebPDFView should conform to the WebDocumentElement protocol
684         <rdar://problem/4184663> "Search in Spotlight" is present but dimmed in context menu for plain-text documents
685
686         * WebView.subproj/WebDefaultContextMenuDelegate.m:
687         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
688         added ASSERT and comments
689
690         * WebView.subproj/WebHTMLView.m:
691         (-[WebHTMLView _searchWithGoogleFromMenu:]):
692         removed this method (now handled by WebView)
693         (-[WebHTMLView _searchWithSpotlightFromMenu:]):
694         ditto
695         (-[WebHTMLView validateUserInterfaceItem:]):
696         removed validation for removed items. The validation wasn't necessary anyway, since we only put these items
697         in the menu in the case where they should be enabled.
698
699         * WebView.subproj/WebPDFView.h:
700         now conforms to WebDocumentElement protocol (which lets [WebView elementAtPoint:] work better)
701         * WebView.subproj/WebPDFView.m:
702         (-[WebPDFView copy:]):
703         added, hands off to PDFView, needed to enable Copy in context menu
704         (-[WebPDFView _pointIsInSelection:]):
705         new method, checks whether given point is in the selected bounds
706         (-[WebPDFView elementAtPoint:]):
707         add WebElementIsSelectedKey to returned element
708         (-[WebPDFView menuForEvent:]):
709         use actual point instead of dummy placeholder, now that we have code that pays attention to the point
710
711         * WebView.subproj/WebView.m:
712         (-[WebView _searchWithGoogleFromMenu:]):
713         moved here from WebHTMLView so it will work for any documentView that conforms to WebDocumentText.
714         Rewrote slightly to be non-WebHTMLView-specific. (This menu item was always enabled in Safari because
715         Safari replaces its action, but it would not have been always enabled in other WebKit clients, though
716         it should have been.)
717         (-[WebView _searchWithSpotlightFromMenu:]):
718         moved here from WebHTMLView so it will work for any documentView that conforms to WebDocumentText.
719         Rewrote slightly to be non-WebHTMLView-specific.
720
721 2005-07-18  John Sullivan  <sullivan@apple.com>
722
723         Reviewed by Richard Williamson.
724         
725         - fixed <rdar://problem/4184366> WebPDFView should conform to the WebDocumentSelection protocol
726
727         * Misc.subproj/WebNSAttributedStringExtras.h: Added.
728         * Misc.subproj/WebNSAttributedStringExtras.m: Added.
729         (-[NSAttributedString _web_attributedStringByStrippingAttachmentCharacters]):
730         New category on NSAttributedString, initially contains this one method that had been in WebHTMLView.
731         
732         * WebView.subproj/WebHTMLView.m:
733         (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
734         now uses _web_attributedStringByStrippingAttachmentCharacters
735         
736         * WebView.subproj/WebPDFView.h:
737         now conforms to WebDocumentSelection protocol
738         * WebView.subproj/WebPDFView.m:
739         (-[WebPDFView selectionRect]):
740         new, implementation of WebDocumentSelection protocol method
741         (-[WebPDFView pasteboardTypesForSelection]):
742         ditto
743         (-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]):
744         ditto
745
746         * WebKit.pbproj/project.pbxproj:
747         updated for new files
748
749 2005-07-18  John Sullivan  <sullivan@apple.com>
750
751         Reviewed by Chris Blumenberg.
752         
753         - some refactoring cleanup in the selection/searching code
754
755         * Misc.subproj/WebSearchableTextView.h:
756         moved WebDocumentSelection protocol conformation to this class, was in subclass WebTextView
757         * Misc.subproj/WebSearchableTextView.m:
758         (-[WebSearchableTextView selectionRect]):
759         new method (moved here from Safari) to return a single rect encompassing all selected text
760         (-[WebSearchableTextView pasteboardTypesForSelection]):
761         moved here from WebTextView
762         (-[WebSearchableTextView writeSelectionWithPasteboardTypes:toPasteboard:]):
763         ditto
764         
765         * WebView.subproj/WebDocumentInternal.h:
766         moved WebDocumentSelection protocol out of here
767         
768         * WebView.subproj/WebDocumentPrivate.h:
769         moved WebDocumentSelection protocol into here, added selectionRect method
770         
771         * WebView.subproj/WebHTMLView.m:
772         (-[WebHTMLView selectionRect]):
773         new method, calls existing bridge method formerly called by _selectionRect
774         (-[WebHTMLView _selectionRect]):
775         now calls [self selectionRect]. We can't just delete _selectionRect because it's used by Mail.
776         
777         * WebView.subproj/WebHTMLViewPrivate.h:
778         removed _selectionRect since it's in WebDocumentSelection now
779         
780         * WebView.subproj/WebTextView.h:
781         removed WebDocumentSelection from protocol list since it's in superclass now
782         
783         * WebView.subproj/WebTextView.m:
784         removed old WebDocumentSelection methods because they are in superclass now
785
786 2005-07-15  Adele Peterson  <adele@apple.com>
787
788         Written by Trey Matteson  <trey@usa.net>
789         Reviewed by John Sullivan.
790
791         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3910 - REGRESSION: Replying "Cancel" to the form repost nag leaves wrong b/f cursor
792
793         * WebView.subproj/WebFrame.m:
794         (-[WebFrame _resetBackForwardList]):  new helper method
795         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
796           If the delegate bailed on the navigation, tell the main frame
797           to reset the b/f cursor back to where it was before we started.
798
799 2005-07-15  John Sullivan  <sullivan@apple.com>
800
801         Written by Trey Matteson
802         Reviewed by me.
803
804         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=4013
805                 text find doesn't wrap in PDF files
806
807         This just works once WebPDFView implements the WebDocumentText protocol, which is
808         mostly just a matter of forwarding the methods to PDFKit appropriately.
809
810         * WebView.subproj/WebPDFView.h:
811         * WebView.subproj/WebPDFView.m:
812         (-[WebPDFView supportsTextEncoding]):
813         (-[WebPDFView string]):
814         (-[WebPDFView attributedString]):
815         (-[WebPDFView selectedString]):
816         (-[WebPDFView selectedAttributedString]):
817         (-[WebPDFView selectAll]):
818         (-[WebPDFView deselectAll]):
819
820 2005-07-15  John Sullivan  <sullivan@apple.com>
821
822         Reviewed by Kevin Decker.
823         
824         - fixed <rdar://problem/4181884> Searching for text that overlaps selection works 
825         differently in PDFView than in HTMLView
826
827         * WebView.subproj/WebPDFView.m:
828         (PDFSelectionsAreEqual):
829         new function, stand-in for nonexistent -[PDFSelection isEqual:] since calling isEqual:
830         on two identical PDFSelections returns NO
831         (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
832         Make search algorithm match that in WebCore: initially search inside selection, then check for the case
833         where the found text exactly matches the previous selection, and search from past the selection if so.
834         The implementation is slightly more complicated than it should be due to PDFKit API limitations (about
835         which I added FIXMEs and filed bugs)
836
837 2005-07-15  John Sullivan  <sullivan@apple.com>
838
839         Reviewed by Maciej Stachowiak.
840         
841         - fixed these bugs:
842         <rdar://problem/4181875> Searching for text that overlaps selection works differently in WebTextView than in HTMLView
843         <rdar://problem/3393678> Find not finding text in plain (non-HTML) if all text is selected
844
845         * Misc.subproj/WebSearchableTextView.m:
846         (-[NSString findString:selectedRange:options:wrap:]):
847         Make search algorithm match that in WebCore: initially search inside selection, then check for the case
848         where the found text exactly matches the previous selection, and search from past the selection if so.
849
850 2005-07-14  John Sullivan  <sullivan@apple.com>
851
852         Reviewed by Dave Hyatt.
853
854         - WebKit part of fix for: 
855         <rdar://problem/4181227> webpages incorrectly use standard instead of secondary highlighting in certain cases
856
857         * WebCoreSupport.subproj/WebBridge.m:
858         (-[WebBridge formControlIsResigningFirstResponder:]):
859         Implementation of new method defined in WebCore, passes call along to WebHTMLView
860         
861         * WebView.subproj/WebHTMLViewInternal.h:
862         declare _formControlIsResigningFirstResponder: so bridge can call it
863
864         * WebView.subproj/WebHTMLView.m:
865         (-[WebHTMLView updateFocusState]):
866         just moved in file so it could be called from a different category
867         (-[WebHTMLView _formControlIsResigningFirstResponder:]):
868         new method, updates focus state
869
870 2005-07-14  John Sullivan  <sullivan@apple.com>
871
872         added missing #import to fix build
873         * WebView.subproj/WebPDFView.m
874
875 2005-07-14  Kevin Decker  <kdecker@apple.com>
876
877         Reviewed by cblu
878
879         Fixed: <rdar://problem/4122282> clicking a link in an PDF file opens the link with NSWorkspace without the usual security checks or WebView delegate control
880
881         * WebView.subproj/WebFrame.m:
882         (-[WebFrame _safeLoadURL:]): added
883         * WebView.subproj/WebFrameInternal.h:
884         * WebView.subproj/WebPDFView.m:
885         (-[WebPDFView initWithFrame:]):
886         (-[WebPDFView PDFViewWillClickOnLink:withURL:]): prevents evilness with a call to _safeLoadURL
887         * WebView.subproj/WebTextView.m:
888         (-[WebTextView clickedOnLink:atIndex:]): factored calling out to the bridge, and instead call _safeLoadURL
889
890 2005-07-14  Vicki Murley  <vicki@apple.com>
891
892         Reviewed by Kocienda.
893
894         - WebKit part of fix for  <rdar://problem/4172380> [GENENTECH] window.opener 
895         not available when child opened via target="_new"
896
897         Add a setOpener function to the WebCore bridge, and call this function when opening
898         new windows through Web Kit.
899
900         * WebView.subproj/WebFrame.m:
901         (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
902
903 2005-07-13  Justin Garcia  <justin.garcia@apple.com>
904
905         Reviewed by John
906         
907         Rolling in changes necessary to build with newer versions of gcc 4.0
908
909         * History.subproj/WebHistoryItem.m:
910         (-[WebHistoryItem copyWithZone:]):
911         * Misc.subproj/WebNSPasteboardExtras.m:
912         (-[NSPasteboard _web_writeImage:URL:title:archive:types:]):
913         * Misc.subproj/WebNSURLExtras.m:
914         (-[NSURL _web_URLWithLowercasedScheme]):
915         (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
916         * WebCoreSupport.subproj/WebBridge.m:
917         (-[WebBridge MIMETypeForPath:]):
918         * WebCoreSupport.subproj/WebImageRendererFactory.m:
919         (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]):
920         * WebCoreSupport.subproj/WebTextRenderer.m:
921         (-[WebTextRenderer initWithFont:usingPrinterFont:]):
922         * WebView.subproj/WebFrame.m:
923         (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
924         * WebView.subproj/WebHTMLView.m:
925         (-[WebHTMLView _styleFromFontAttributes:]):
926         * WebView.subproj/WebView.m:
927         (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
928         (-[WebView mainFrameTitle]):
929
930 2005-07-13  John Sullivan  <sullivan@apple.com>
931
932         Reviewed by Maciej Stachowiak.
933
934         - cleaned up Find-related experimental code that I checked in a while back
935
936         * WebView.subproj/WebHTMLView.m:
937         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
938         remove variant of this method that had findInSelection flag; this method is now
939         the same as it was on Tiger.
940         
941         * WebView.subproj/WebView.m:
942         (-[WebView searchFor:direction:caseSensitive:wrap:]):
943         ditto
944
945 2005-07-12  Geoffrey Garen  <ggaren@apple.com>
946
947         -rolled in patch by opendarwin.org@mitzpettel.com 
948         for http://bugzilla.opendarwin.org/show_bug.cgi?id=3435
949         Parentheses are backwards in Hebrew text (no bidi mirroring?)
950         
951         Reviewed by mjs.
952
953         Layout test added to WebCore.
954
955         * WebCoreSupport.subproj/WebTextRenderer.h:
956         * WebCoreSupport.subproj/WebTextRenderer.m:
957         (-[WebTextRenderer _initializeATSUStyle]):
958         (applyMirroringToRun):
959         (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
960         (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
961         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
962
963 2005-07-12  Ken Kocienda  <kocienda@apple.com>
964
965         Reviewed by Chris Blumenberg
966
967         * WebCoreSupport.subproj/WebBridge.m: Removed some glue that allowed one
968         of two unicode (TEC or ICU ) to be chosen at runtime. I just added this
969         dual support yesterday, and while Maciej and I agreed that it was good
970         to land in the tree in case we run into problems in the near future, we
971         also agreed that cutting over to using ICU full time right now is
972         probably the best way to find bugs.
973
974 2005-07-11  Ken Kocienda  <kocienda@apple.com>
975
976         Reviewed by Richard
977
978         * WebCoreSupport.subproj/WebBridge.m:
979         (+[WebBridge setTextConversionMethod:]): New method to support switching text conversion method.
980         (+[WebBridge textConversionMethod]): Returns current text conversion method.
981
982 2005-07-11  Kevin Decker  <kdecker@apple.com>
983
984         Reviewed by cblu and mjs.
985
986         Fixed: <rdar://problem/4099552> REGRESSION: Safari 1.3 Netscape API NPN_PostURL[Notify] no longer allows manual headers
987         
988         Most plugins (flash) send 2 CRFL's between the header and body of their POST requests, while the adboe plugin sends two LF's. This caused us to send custom headers as part of the actual POST data itself, and correspondently, would skew Content-Length.
989
990         * Plugins.subproj/WebBaseNetscapePluginView.m:
991         (-[NSData _web_locationAfterFirstBlankLine]): Look for two LF's as well
992
993 2005-07-09  Maciej Stachowiak  <mjs@apple.com>
994
995         - back out my revent page cache changes, turns out they cause a
996         major performance regression on PLT
997
998         * WebView.subproj/WebFrame.m:
999         (-[WebFrame _purgePageCache]):
1000
1001 2005-07-09  Maciej Stachowiak  <mjs@apple.com>
1002
1003         Reviewed by hyatt.
1004
1005         Replace int with unsigned, to avoid going into a huge loop when
1006         back list count is 0.
1007
1008         * WebView.subproj/WebFrame.m:
1009         (-[WebFrame _purgePageCache]):
1010
1011 2005-07-09  Maciej Stachowiak  <mjs@apple.com>
1012
1013         - fixed broken Development build
1014
1015         * WebView.subproj/WebFrame.m:
1016         (-[WebFrame _purgePageCache]):
1017
1018 2005-07-09  Maciej Stachowiak  <mjs@apple.com>
1019
1020         Reviewed by hyatt.
1021
1022         - fix page cache purging logic; this gets rid of a bug where the
1023         page cache would grow without bound if the oldest page cache item
1024         was the snapback item, and changed the rule a bit so page cache
1025         items farther back than the max size get purged, even if fewer
1026         than the max size are in current use.
1027
1028         * WebView.subproj/WebFrame.m:
1029         (-[WebFrame _purgePageCache]):
1030
1031 2005-07-08  Geoffrey Garen  <ggaren@apple.com>
1032
1033         Rolled in patch by opendarwin.org@mitzpettel.com
1034
1035         -fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=3818
1036         Fallback font doesn't have requested weight in ATSUI-rendered text
1037
1038         (See WebCore Changelog for layout test)
1039
1040         Reviewed by mjs.
1041
1042         * WebCoreSupport.subproj/WebTextRenderer.m:
1043         (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
1044
1045 2005-07-05  Adele Peterson  <adele@apple.com>
1046
1047        Rolling out changes for <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
1048        since it caused a 2% performance regression.
1049
1050         * WebCoreSupport.subproj/WebTextRenderer.m:
1051         (isSpace):
1052         (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
1053         (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
1054         (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
1055         (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
1056         (initializeCharacterWidthIterator):
1057         (widthForNextCharacter):
1058
1059 2005-07-05  John Sullivan  <sullivan@apple.com>
1060
1061         Reviewed by Chris Blumenberg.
1062         
1063         - fixed <rdar://problem/4158230> Zoom In/Zoom Out in PDF context menu don't update window's notion of text size
1064
1065         * WebView.subproj/WebPDFView.m:
1066         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
1067         Redirect Actual Size, Zoom In, and Zoom Out context menu items so that they behave exactly like Make Text Standard Size,
1068         Make Text Larger, and Make Text Smaller.
1069
1070 2005-07-01  John Sullivan  <sullivan@apple.com>
1071
1072         Reviewed by Darin Adler.
1073         
1074         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3711: Displayed PDF have limited options in contextual menu
1075         
1076         This was a problem with using Tiger's version of Safari with tip of tree WebKit.
1077
1078         * WebView.subproj/WebPDFView.m:
1079         (-[WebPDFView _anyPDFTagsFoundInMenu:]):
1080         new method, returns YES if the menu contains any items with any of the new PDF-related tags.
1081         (-[WebPDFView menuForEvent:]):
1082         If the executable was linked on Tiger or older (but it will never be older, since this code is
1083         new to Tiger), force all of the PDF-related items into the menu if none of them were there 
1084         after processing by the delegate.
1085
1086 2005-06-30  Darin Adler  <darin@apple.com>
1087
1088         Reviewed by John Sullivan.
1089
1090         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3774>
1091           do renaming so that loaders are called "loader", not "client" or "delegate"
1092
1093         * Misc.subproj/WebIconLoader.h:
1094         * Plugins.subproj/WebNetscapePluginStream.h:
1095         * Plugins.subproj/WebNetscapePluginStream.m:
1096         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
1097         (-[WebNetscapePluginStream start]):
1098         (-[WebNetscapePlugInStreamLoader didFinishLoading]):
1099         (-[WebNetscapePlugInStreamLoader didFailWithError:]):
1100         (-[WebNetscapePlugInStreamLoader cancelWithError:]):
1101         * WebCoreSupport.subproj/WebBridge.m:
1102         (-[WebBridge startLoadingResource:withURL:customHeaders:]):
1103         (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]):
1104         (-[WebBridge canRunModalNow]):
1105         * WebCoreSupport.subproj/WebSubresourceClient.h: Removed.
1106         * WebCoreSupport.subproj/WebSubresourceClient.m: Removed.
1107         * WebCoreSupport.subproj/WebSubresourceLoader.h:
1108         * WebCoreSupport.subproj/WebSubresourceLoader.m:
1109         (-[WebSubresourceLoader initWithLoader:dataSource:]):
1110         (-[WebSubresourceLoader dealloc]):
1111         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
1112         (+[WebSubresourceLoader startLoadingResource:withURL:customHeaders:referrer:forDataSource:]):
1113         (+[WebSubresourceLoader startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]):
1114         (-[WebSubresourceLoader didReceiveResponse:]):
1115         (-[WebSubresourceLoader didReceiveData:lengthReceived:]):
1116         (-[WebSubresourceLoader didFinishLoading]):
1117         (-[WebSubresourceLoader didFailWithError:]):
1118         (-[WebSubresourceLoader cancel]):
1119         * WebKit.pbproj/project.pbxproj:
1120         * WebView.subproj/WebBaseResourceHandleDelegate.h: Removed.
1121         * WebView.subproj/WebBaseResourceHandleDelegate.m: Removed.
1122         * WebView.subproj/WebDataSource.m:
1123         (-[WebDataSourcePrivate dealloc]):
1124         (-[WebDataSource _setLoading:]):
1125         (-[WebDataSource _updateLoading]):
1126         (-[WebDataSource _setPrimaryLoadComplete:]):
1127         (-[WebDataSource _startLoading:]):
1128         (-[WebDataSource _addSubresourceLoader:]):
1129         (-[WebDataSource _removeSubresourceLoader:]):
1130         (-[WebDataSource _addPlugInStreamLoader:]):
1131         (-[WebDataSource _removePlugInStreamLoader:]):
1132         (-[WebDataSource _stopLoadingInternal]):
1133         (-[WebDataSource _defersCallbacksChanged]):
1134         (-[WebDataSource _stopLoadingWithError:]):
1135         (-[WebDataSource data]):
1136         (-[WebDataSource isLoading]):
1137         * WebView.subproj/WebDataSourcePrivate.h:
1138         * WebView.subproj/WebLoader.h:
1139         * WebView.subproj/WebLoader.m:
1140         * WebView.subproj/WebMainResourceClient.h: Removed.
1141         * WebView.subproj/WebMainResourceClient.m: Removed.
1142         * WebView.subproj/WebMainResourceLoader.h:
1143         * WebView.subproj/WebMainResourceLoader.m:
1144         (-[WebMainResourceLoader didReceiveResponse:]):
1145
1146 2005-06-29  David Harrison  <harrison@apple.com>
1147
1148         Reviewed by Dave Hyatt (rendering) and Maciej (editing).
1149
1150         Test cases added:  Coming soon.  Will include with next round of changes for this bug.
1151
1152         This is the first checkin for...
1153         
1154         <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
1155         
1156         Basic strategy is to put tabs into spans with white-space:pre style, and
1157         render them with tabs stops every 8th space, where the space width and
1158         the left margin are those of the enclosing block.
1159         
1160         What's left is to switch to implement white-space:pre-wrap so
1161         that we can coalesce consecutive tabs while maintaining proper
1162         line breaking.  That will keep the markup smaller.
1163
1164         * WebCoreSupport.subproj/WebTextRenderer.m:
1165         (isSpace):
1166         (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
1167         (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
1168         (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
1169         (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
1170         (initializeCharacterWidthIterator):
1171         (widthForNextCharacter):
1172
1173 2005-06-29  John Sullivan  <sullivan@apple.com>
1174
1175         Reviewed by Kevin.
1176         
1177         - deleted some never-used stub code
1178
1179         * WebView.subproj/WebView.m:
1180         * WebView.subproj/WebViewInternal.h:
1181         * WebView.subproj/WebViewPrivate.h:
1182
1183 2005-06-27  Justin Garcia  <justin.garcia@apple.com>
1184
1185         Patch by Anders Carlsson <andersca@mac.com>
1186
1187         Reviewed by Darin.
1188
1189         - Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=3489>
1190         WebView's setSelectedDOMRange doesn't not implement clearing the selection as described in the WebView documentation:
1191         <http://developer.apple.com/documentation/Cocoa/Reference/WebKit/ObjC_classic/Classes/WebView.html>
1192         
1193         * WebView.subproj/WebView.m:
1194         (-[WebView setSelectedDOMRange:affinity:]):
1195         If range is nil, call deselectText.
1196
1197 2005-06-24  Justin Garcia  <justin.garcia@apple.com>
1198
1199         Patch contributed by Duncan Wilcox <duncan@mclink.it>
1200
1201         Reviewed by Darin
1202
1203         - Fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3535>
1204             Spelling suggestions in the context menu don't call the should* delegate methods
1205
1206         * WebView.subproj/WebHTMLView.m:
1207         (-[WebHTMLView _changeSpellingFromMenu:]):
1208         give delegate's webView:shouldInsertText:replacingDOMRange:givenAction: a chance
1209         to prevent replacing of selected text
1210
1211 2005-06-22  John Sullivan  <sullivan@apple.com>
1212
1213         Reviewed by Chris Blumenberg.
1214         
1215         - fixed <rdar://problem/3764645> please add a way to allow WebKit clients to override the WebPDFView context menu
1216
1217         * PublicHeaderChangesFromTiger.txt: Added.
1218         New file to keep track of changes made to public headers that haven't been through API review yet.
1219         Initially lists the WebMenuItem enum tags added to WebUIDelegate.h as part of this change.
1220         
1221         * WebView.subproj/WebDefaultContextMenuDelegate.m:
1222         (-[WebDefaultUIDelegate appendDefaultItems:toArray:]):
1223         new method, handles initial separator
1224         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
1225         now has defaultMenuItems: parameter. Any menu items in this array are appended at the end of
1226         the standard set.
1227         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
1228         ditto
1229         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
1230         This had a defaultMenuItems parameter before but it was always nil. Now it passes the defaultMenuItems
1231         parameter on to the two methods that construct lists (one for editing, the other for viewing). Also
1232         tweaked variable name and type for clarity.
1233         
1234         * WebView.subproj/WebHTMLView.m:
1235         (-[WebHTMLView menuForEvent:]):
1236         passes nil for new defaultItems parameter of _menuForElement:
1237         
1238         * WebView.subproj/WebImageView.m:
1239         (-[WebImageView menuForEvent:]):
1240         ditto
1241         
1242         * WebView.subproj/WebTextView.m:
1243         (-[WebTextView menuForEvent:]):
1244         ditto
1245
1246         * WebView.subproj/WebPDFView.m:
1247         (-[WebPDFView elementAtPoint:]):
1248         new method to create the element dictionary needed for _menuForElement:defaultItems:. Only supplies the
1249         webFrame at this point.
1250         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
1251         new method to return copies of the menu items that PDFKit would include in the context menu, with
1252         WebKit tags applied
1253         (-[WebPDFView menuForEvent:]):
1254         now calls standard WebKit context menu mechanism, so clients' delegates can modify the context menu as
1255         desired. The initial set of items are the ones WebKit was already displaying for PDF context menus.
1256         
1257         * WebView.subproj/WebUIDelegate.h:
1258         added enum values for the menu items in the PDF context menu
1259         
1260         * WebView.subproj/WebViewPrivate.h:
1261         * WebView.subproj/WebView.m:
1262         (-[WebView _menuForElement:defaultItems:]):
1263         Added the defaultItems: parameter to this method, which is then passed along to WebDefaultUIDelegate.
1264         All callers pass nil except for WebPDFView, at least for now.
1265
1266 2005-06-22  Darin Adler  <darin@apple.com>
1267
1268         Change by Mitz Pettel.
1269         Reviewed by me.
1270
1271         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3618>
1272           RTL runs drawn by CG not reversed properly
1273
1274         * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _CG_drawRun:style:geometry:]):
1275         Fix off-by-one mistake in order-swapping loops.
1276
1277 2005-06-22  Darin Adler  <darin@apple.com>
1278
1279         Change by Michael Gaiman.
1280         Reviewed by me.
1281
1282         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3436>
1283           Missing implementation of -[NSData(WebNSDateExtras) _webkit_parseRFC822HeaderFields]
1284
1285         * Misc.subproj/WebNSDataExtras.h: Fixed name of category say NSData, not NSDate.
1286         * Misc.subproj/WebNSDataExtras.m: (-[NSData _webkit_parseRFC822HeaderFields]): Fixed method name.
1287
1288 2005-06-21  John Sullivan  <sullivan@apple.com>
1289
1290         Reviewed by Vicki Murley
1291         
1292         - fixed assertion failure Vicki ran into
1293
1294         * Misc.subproj/WebIconDatabase.m:
1295         (-[WebIconDatabase _forgetIconForIconURLString:]):
1296         Handle the case where there are no associated page URLs for the icon URL
1297
1298 2005-06-20  John Sullivan  <sullivan@apple.com>
1299
1300         Reviewed by Chris Blumenberg.
1301         
1302         - fixed <rdar://problem/4155182> icon database retain counts can be incorrect after removing all icons
1303         
1304         Replaced the concept of "future retain count per page URL" with a simpler concept of "retain count per
1305         page URL", which is maintained even after the icon is actually loaded (unlike the future retain count).
1306         The total retain count for an icon is now the sum of the retain counts per page URL along with any retain
1307         count not associated with a page URL -- this is still needed for some internal housekeeping purposes.
1308
1309         * Misc.subproj/WebIconDatabasePrivate.h:
1310         renamed iconURLToURLs -> iconURLToPageURLs for clarity
1311         renamed URLToIconURL -> pageURLToIconURL for clarity
1312         renamed futureURLToRetainCount -> pageURLToRetainCount (there's no more "future" aspect)
1313         renamed iconURLToRetainCount -> iconURLToExtraRetainCount (it now maintains only some of the retain count)
1314         
1315         * Misc.subproj/WebIconDatabase.m:
1316         (+[WebIconDatabase sharedIconDatabase]):
1317         updated for name changes only
1318         (-[WebIconDatabase init]):
1319         ditto
1320         (-[WebIconDatabase iconForURL:withSize:cache:]):
1321         ditto
1322         (-[WebIconDatabase iconURLForURL:]):
1323         ditto
1324         (-[WebIconDatabase retainIconForURL:]):
1325         just bump the retain count in pageURLToRetainCount, instead of behaving differently based on whether 
1326         an icon had been loaded for this URL; this let me delete the internal method _retainFutureIconForURL:
1327         (-[WebIconDatabase releaseIconForURL:]):
1328         decrement the retain count in pageURLToRetainCount, then handle the case where the retain count for 
1329         this page has gone to zero. I deleted the internal method _releaseFutureIconForURL: formerly called here.
1330         (-[WebIconDatabase removeAllIcons]):
1331         remove all the code that dealt with retain counts; this operation no longer affects retain counts
1332         (-[WebIconDatabase _setIconURL:forURL:]):
1333         remove the code that consolidated multiple retain counts for different page URLs into a single retain 
1334         count; the multiple retain counts are now maintained even after the icon is loaded
1335         (-[WebIconDatabase _clearDictionaries]):
1336         updated for name changes only
1337         (-[WebIconDatabase _loadIconDictionaries]):
1338         ditto
1339         (-[WebIconDatabase _updateFileDatabase]):
1340         ditto
1341         (-[WebIconDatabase _totalRetainCountForIconURLString:]):
1342         new method, sums the retain counts associated with specific page URLs and the extra retain count
1343         not associated with specific page URLs
1344         (-[WebIconDatabase _retainIconForIconURLString:]):
1345         updated for name changes
1346         (-[WebIconDatabase _forgetIconForIconURLString:]):
1347         no longer affects retain counts at all; this is up to callers
1348         (-[WebIconDatabase _releaseIconForIconURLString:]):
1349         this now distinguishes the case where the retain count not associated with any page URLs hits 
1350         zero from the case where the total retain count hits zero, and handles both
1351
1352 2005-06-20  John Sullivan  <sullivan@apple.com>
1353
1354         Reviewed by Chris Blumenberg.
1355         
1356         - added support for emptying the icon database
1357
1358         * Misc.subproj/WebIconDatabase.h: just fixed a typo
1359         * Misc.subproj/WebIconDatabasePrivate.h:
1360         added WebPendingPublic category with method removeAllIcons, and
1361         declared WebIconDatabaseDidRemoveAllIconsNotification string.
1362         
1363         * Misc.subproj/WebIconDatabase.m:
1364         (-[WebIconDatabase removeAllIcons]):
1365         new method, removes all known icons from memory and disk. There's one loose end,
1366         covered by radar bug 4155182, where it's possible for the icon database's retain
1367         counts to get off after this operation. I plan to fix this next.
1368         (-[WebIconDatabase _setIconURL:forURL:]):
1369         just fixed some extra whitespace
1370         (-[WebIconDatabase _forgetIconForIconURLString:]):
1371         new method, extracted from _releaseIconForIconURLString
1372         (-[WebIconDatabase _releaseIconForIconURLString:]):
1373         now calls extracted method
1374
1375         * WebKit.exp:
1376         added _WebIconDatabaseDidRemoveAllIconsNotification
1377
1378 2005-06-19  Darin Adler  <darin@apple.com>
1379
1380         Changes by Mitz Pettel
1381         Reviewed by me.
1382         
1383         - fixed <http://bugzilla.opendarwin.org/show_bug.cgi?id=3466>
1384           ATSUI text doesn't render at coordinates greater than 32K
1385
1386         * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
1387         Translate the matrix of the CGContext instead of passing the appropriate coordinates to ATSU.
1388
1389 2005-06-17  Richard Williamson   <rjw@apple.com>
1390
1391         Changes by Mitz Pettel
1392         Reviewed by Richard Williamson.
1393
1394         Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3545
1395
1396         * WebCoreSupport.subproj/WebTextRenderer.m:
1397         (reverseCharactersInRun):
1398         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
1399
1400 2005-06-17  John Sullivan  <sullivan@apple.com>
1401
1402         Reviewed by Chris.
1403
1404         - fixed <rdar://problem/4151001> Reloading javascript-spawned window with no URL erases its contents
1405
1406         * WebView.subproj/WebFrame.m:
1407         (-[WebFrame reload]):
1408         do nothing if URL is zero-length
1409
1410 2005-06-14  John Sullivan  <sullivan@apple.com>
1411
1412         Changes by Devin Lane.
1413         Reviewed by me.
1414
1415         - fixed <rdar://problem/3766909> PDF viewing could use a zoom control other than the one in the context menu
1416
1417         * WebView.subproj/WebPDFView.h:
1418         now implements protocol _web_WebDocumentTextSizing
1419         * WebView.subproj/WebPDFView.m:
1420         (-[WebPDFView _updateScalingToReflectTextSize]):
1421         new method, sets the PDF scaling from the text size multiplier
1422         (-[WebPDFView setDataSource:]):
1423         call _updateScalingToReflectTextSize
1424         (-[WebPDFView _web_textSizeMultiplierChanged]):
1425         implementation of protocol _web_WebDocumentTextSizing, calls _updateScalingToReflectTextSize
1426
1427 2005-06-14  John Sullivan  <sullivan@apple.com>
1428
1429         Reviewed by Dave Harrison.
1430
1431         * WebView.subproj/WebHTMLView.m:
1432         (-[WebHTMLView _delayedEndPrintMode:]):
1433         After discussing this with Dave, I made this method both more debugger-friendly with asserts for
1434         the cases we don't think could ever happen, and more paranoid by handling these cases in deployment
1435         builds.
1436
1437 2005-06-14  Darin Adler  <darin@apple.com>
1438
1439         - fixed build for Xcode 2.1
1440
1441         * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT to search for the
1442         WebKitSystemInterface.h file. We could re-jigger this again later, but for now this is consistent
1443         with both the .a file's location and where build-webkit puts the file.
1444
1445 2005-06-13  John Sullivan  <sullivan@apple.com>
1446
1447         Reviewed by Dave Harrison and Maciej.
1448
1449         * WebView.subproj/WebHTMLView.m:
1450         (-[WebHTMLView _endPrintMode]):
1451         new method, extracted from identical code in beginDocument and endDocument. This method must be called
1452         once to counterbalance the code called from knowsPageRange that turns on "printing mode".
1453         (-[WebHTMLView _delayedEndPrintMode:]):
1454         new method, called from "perform after delay". Checks whether the same print operation is still underway
1455         and, if so, delays further. Otherwise calls _endPrintMode directly.
1456         (-[WebHTMLView knowsPageRange:]):
1457         after turning on "printing mode", queue up a delayed call to _delayedEndPrintMode:. If there's an early
1458         error in the print mechanism such that beginDocument is never called, this will cleanly end "printing
1459         mode" and make the webview usable again.
1460         (-[WebHTMLView beginDocument]):
1461         cancel any delayed call to _delayedEndPrintMode:. If we get this far along in printing, then we don't need
1462         the failsafe call to _delayedEndPrintMode: that was set up in knowsPageRange:. Also, call extracted method.
1463         (-[WebHTMLView endDocument]):
1464         call extracted method
1465
1466 2005-06-13  Maciej Stachowiak  <mjs@apple.com>
1467
1468         Reviewed by Chris Blumenberg and Adele.
1469
1470         - better fix for <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
1471         http://bugzilla.opendarwin.org/show_bug.cgi?id=3445
1472
1473         With this change and the matching WebKit change we'll still stop loading the moment you click
1474         a download link, but the unload event and detaching of event handlers will not happen early any more.
1475         
1476         * WebView.subproj/WebDataSource.m:
1477         (-[WebDataSource _stopLoadingInternal]): call stopLoading on bridge instead of closeURL.
1478         * WebView.subproj/WebFrame.m:
1479         (-[WebFrame _transitionToCommitted:]): Revert previous attempt at fix.
1480         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): ditto
1481         (-[WebFrame stopLoading]): ditto
1482
1483 2005-06-13  Chris Petersen  <cpetersen@apple.com>
1484
1485         Changes by Darin.
1486         Reviewed by me.
1487
1488         - fixed problems building deployment due to recent init change
1489
1490         * WebView.subproj/WebArchive.m: (-[WebArchive initWithCoder:]):
1491         Put the [super init] call and check for nil outside the exception handler.
1492         * WebView.subproj/WebResource.m: (-[WebResource initWithCoder:]): Ditto.
1493
1494 2005-06-12  Darin Adler  <darin@apple.com>
1495
1496         Reviewed by Maciej.
1497
1498         - fixed <rdar://problem/4141569> REGRESSION (412+): printing fails on any page with images, and for standalone images
1499           also <http://bugzilla.opendarwin.org/show_bug.cgi?id=3318>
1500
1501         * WebCoreSupport.subproj/WebImageData.m: Got rid of use of tabs instead of spaces throughout the file.
1502         (-[WebImageData _checkSolidColor:]): Wrap use of NSGraphicsContext with an autorelease pool.
1503         (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]): Ditto.
1504         (-[WebImageData tileInRect:fromPoint:context:]): Ditto.
1505         (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]): Ditto.
1506
1507 2005-06-12  Darin Adler  <darin@apple.com>
1508
1509         Changes by Nick Zitzmann.
1510         Reviewed by me.
1511
1512         - fixed init methods that don't handle return values from the init methods they call
1513
1514         * WebView.subproj/WebArchive.m:
1515         (-[WebArchive init]): Use value returned by init, check it for nil too.
1516         (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Ditto.
1517         (-[WebArchive _initWithPropertyList:]): Ditto.
1518         (-[WebArchive initWithCoder:]): Ditto.
1519         * WebView.subproj/WebClipView.m:
1520         (-[WebClipView initWithFrame:]): Ditto.
1521         * WebView.subproj/WebDebugDOMNode.m:
1522         (-[WebDebugDOMNode initWithName:value:source:children:]): Ditto.
1523         * WebView.subproj/WebFrame.m:
1524         (-[WebFormState initWithForm:values:sourceFrame:]): Ditto.
1525         (-[WebFrame initWithName:webFrameView:webView:]): Ditto.
1526         * WebView.subproj/WebFrameView.m:
1527         (-[WebFrameView initWithFrame:]): Ditto.
1528         * WebView.subproj/WebHTMLRepresentation.m:
1529         (-[WebHTMLRepresentation init]): Ditto.
1530         * WebView.subproj/WebHTMLView.m:
1531         (-[WebHTMLView initWithFrame:]): Ditto.
1532         (-[WebTextCompleteController initWithHTMLView:]): Ditto.
1533         * WebView.subproj/WebImageView.m:
1534         (-[WebImageView initWithFrame:]): Ditto.
1535         * WebView.subproj/WebPreferences.m:
1536         (-[WebPreferences initWithIdentifier:]): Ditto.
1537         * WebView.subproj/WebRenderNode.m:
1538         (-[WebRenderNode initWithName:position:rect:view:children:]): Ditto.
1539         * WebView.subproj/WebResource.m:
1540         (-[WebResource init]): Ditto.
1541         (-[WebResource initWithCoder:]): Ditto.
1542         * WebView.subproj/WebView.m:
1543         (-[WebViewPrivate init]): Call super init.
1544         (-[_WebSafeForwarder initWithTarget:defaultTarget:templateClass:]): Use value returned by init, check it for nil too.
1545         (-[WebView initWithFrame:]): Ditto.
1546
1547 2005-06-12  Maciej Stachowiak  <mjs@apple.com>
1548
1549         Reviewed by Chris Blumenberg.
1550
1551         - fixed <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
1552         http://bugzilla.opendarwin.org/show_bug.cgi?id=3445
1553         
1554         * WebView.subproj/WebFrame.m:
1555         (-[WebFrame _transitionToCommitted:]): Stop loading the non-provisional data
1556         source before swapping in the provisional.
1557         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Stop only
1558         the provisional load here, we would not want to stop loading if this navigation
1559         later turns into a download or is cancelled before being committed.
1560         (-[WebFrame stopLoading]): Factored a bit.
1561         (-[WebFrame _cancelProvisionalLoad]): New method to stop only provisional load,
1562         and cancel any pending policy deicions.
1563         (-[WebFrame _stopNonProvisionalLoadOnly]): New mthod that stops only the main
1564         load.
1565
1566 2005-06-10  John Sullivan  <sullivan@apple.com>
1567
1568         reviewed by Dave Harrison (first & second drafts) and Darin Adler (third draft)
1569
1570         - WebKit part of fix for 
1571         <rdar://problem/4145214> REGRESSION (412+): Can't drag URLs from the location bar
1572
1573         * Misc.subproj/WebNSPasteboardExtras.m:
1574         (+[NSPasteboard initialize]):
1575         Reinstate variation of old code that uses CreatePasteboardFlavorTypeName to set up our new pasteboard types.
1576         The newfangled way didn't work.
1577
1578 2005-06-07  Darin Adler  <darin@apple.com>
1579
1580         Change by Mark Rowe <opendarwin.org@bdash.net.nz>.
1581         Reviewed by me.
1582
1583         - fixed the WebKit half of build failure with spaces in the path
1584           http://bugzilla.opendarwin.org/show_bug.cgi?id=3291
1585
1586         * WebKit.pbproj/project.pbxproj: Quote DERIVED_FILE_DIR when it is substituted
1587         into FRAMEWORK_SEARCH_PATHS, and SYMROOT when into HEADER_SEARCH_PATHS.
1588
1589 2005-06-06  Darin Adler  <darin@apple.com>
1590
1591         * Info.plist: Bumped version to 412+. For some reason it was set to 312.1!
1592
1593 2005-06-05  Darin Adler  <darin@apple.com>
1594
1595         Reviewed by Hyatt.
1596
1597         - fixed build that I broke with the license change (some includes of WebException were still around)
1598
1599         * WebKit.pbproj/project.pbxproj: Removed references to WebException.h/m.
1600         * WebView.subproj/WebDataSource.m: Removed include of WebException.h.
1601         * WebView.subproj/WebHTMLView.m: Ditto.
1602         * WebView.subproj/WebView.m: Ditto.
1603
1604         - fixed build under gcc 4.0 (some code moved here from Foundation had warnings)
1605
1606         * Misc.subproj/WebNSDataExtras.m:
1607         (-[NSString _web_capitalizeRFC822HeaderFieldName]): Use char instead of UInt8.
1608         (-[NSData _webkit_guessedMIMEType]):  Use char instead of UInt8, and take out now-
1609         unneeded type casts.
1610
1611 2005-06-05  Darin Adler  <darin@apple.com>
1612
1613         - added appropriate license headers to most files and updated copyright to reflect publication dates
1614
1615         * LICENSE: Added.
1616         * <lots of files>: Added license header.
1617
1618         * WebKit.pbproj/project.pbxproj: Removed references to NP_objc.h.
1619
1620         * API-Issues.rtf: Removed.
1621         * Misc.subproj/WebException.h: Removed.
1622         * Misc.subproj/WebException.m: Removed.
1623         * Plugins.subproj/NP_objc.h: Removed.
1624
1625 2005-06-01  Darin Adler  <darin@apple.com>
1626
1627         Reviewed by John Sullivan.
1628
1629         - WebKit part of fix for <rdar://problem/3166090> add IE JavaScript extension window.showModalDialog
1630
1631         * WebCoreSupport.subproj/WebBridge.m:
1632         (-[WebBridge createModalDialogWithURL:]): Added. Calls the UI delegate, falling back to the generic
1633         "create WebView" method.
1634         (-[WebBridge canRunModal]): Added. Checks the UI delegate to see if it implements runModal.
1635         (-[WebBridge canRunModalNow]): Added. Checks the "inConnectionCallback" field so we can prevent
1636         deadlock since we can't do any I/O while inside a connection callback until this aspect of NSURLConnection
1637         is changed.
1638         (-[WebBridge runModal]): Added. Sets "defersCallbacks" on all other web views in the group, then
1639         calls runModal on the UI delegate.
1640
1641         * WebView.subproj/WebBaseResourceHandleDelegate.h: Added inConnectionCallback class method.
1642         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1643         (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): Bump count and then
1644         decrement count so we can tell if we are in a callback.
1645         (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): Ditto.
1646         (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): Ditto.
1647         (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): Ditto.
1648         (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): Ditto.
1649         (-[WebBaseResourceHandleDelegate connection:willStopBufferingData:]): Ditto.
1650         (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): Ditto.
1651         (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): Ditto.
1652         (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): Ditto.
1653         (+[WebBaseResourceHandleDelegate inConnectionCallback]): Added. Return YES if count is not 0.
1654
1655         * WebView.subproj/WebMainResourceClient.m:
1656         (-[WebMainResourceClient receivedError:]): Changed to use the method without the connection: parameter
1657         in the base class, since we no longer are overriding the connection: version.
1658         (-[WebMainResourceClient willSendRequest:redirectResponse:]): Change to override the version without
1659         the connection prefix/parameter; now only the base class overrides the actual connection delegate methods.
1660         (-[WebMainResourceClient continueAfterContentPolicy:response:]): Ditto.
1661         (-[WebMainResourceClient didReceiveResponse:]): Ditto.
1662         (-[WebMainResourceClient didReceiveData:lengthReceived:]): Ditto.
1663         (-[WebMainResourceClient didFinishLoading]): Ditto.
1664         (-[WebMainResourceClient didFailWithError:]): Ditto.
1665         (-[WebMainResourceClient loadWithRequestNow:]): Call the method without the connection parameter.
1666
1667         * WebView.subproj/WebUIDelegatePrivate.h: Added new SPI here that WebBrowser implements.
1668
1669 2005-05-26  Darin Adler  <darin@apple.com>
1670
1671         Reviewed by John.
1672
1673         - fix build failure from when I removed WebCoreUnicode
1674
1675         * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of WebUnicode.h that I missed.
1676         (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Switch from our own macros
1677         to the ICU macros for surrogate pairs.
1678         (widthForNextCharacter): Ditto.
1679
1680 2005-05-26  David Harrison  <harrison@apple.com>
1681
1682         <rdar://problem/4120518> Mail: control-T in an empty message crashes mail
1683
1684         * WebCoreSupport.subproj/WebBridge.m:
1685         (-[WebBridge issueTransposeCommand]):
1686         New, to support transpose in JS.
1687
1688 2005-05-26  Darin Adler  <darin@apple.com>
1689
1690         Reviewed by Richard and Dave Harrison.
1691
1692         - eliminate WebCoreUnicode and use ICU directly instead
1693
1694         * Misc.subproj/WebKitNSStringExtras.m: (canUseFastRenderer): Use u_charDirection directly.
1695         * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of <WebCore/WebCoreUnicode.h>.
1696         * WebView.subproj/WebHTMLView.m: (+[WebHTMLView initialize]): Removed call to WebKitInitializeUnicode.
1697
1698         * Misc.subproj/WebUnicode.h: Removed.
1699         * Misc.subproj/WebUnicode.m: Removed.
1700         * Misc.subproj/WebUnicodeTables.m: Removed.
1701
1702         * WebKit.pbproj/project.pbxproj: Removed files.
1703
1704 2005-05-24  Richard Williamson   <rjw@apple.com>
1705
1706         Fixed <rdar://problem/4097289> -[WebView elementAtPoint:] failing when WebView is nested and offset
1707
1708         Code to determine the correct frame under the window point was
1709         converting the point incorrectly.
1710
1711         Reviewed by Chris.
1712
1713         * WebView.subproj/WebView.m:
1714         (-[WebView _frameViewAtWindowPoint:]):
1715
1716 2005-05-23  John Sullivan  <sullivan@apple.com>
1717
1718         Reviewed by Kevin.
1719         
1720         - WebKit part of <rdar://problem/4125783> WebKit needs a way to control whether textareas are resizable
1721
1722         * WebView.subproj/WebPreferencesPrivate.h:
1723         added private-for-now getter and setter for new preference
1724         * WebView.subproj/WebPreferenceKeysPrivate.h:
1725         added private preference key controlling whether textareas are resizable
1726         * WebView.subproj/WebPreferences.m:
1727         (+[WebPreferences initialize]):
1728         initial value of new preference is NO, so other clients' behavior doesn't change
1729         (-[WebPreferences textAreasAreResizable]):
1730         new getter
1731         (-[WebPreferences setTextAreasAreResizable:]):
1732         new setter
1733         
1734         * WebView.subproj/WebView.m:
1735         (-[WebView _updateWebCoreSettingsFromPreferences:]):
1736         update this new setting in WebCore
1737
1738         * English.lproj/StringsNotToBeLocalized.txt:
1739         updated for these changes
1740
1741 2005-05-23  Chris Blumenberg  <cblu@apple.com>
1742
1743         Changed type for identifier parameter in WebResourceLoadDelegate-related calls to id from NSString.
1744
1745         Reviewed by kevin.
1746
1747         * WebCoreSupport.subproj/WebBridge.m:
1748         (-[WebBridge objectLoadedFromCacheWithURL:response:data:]):
1749         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1750         * WebView.subproj/WebFrame.m:
1751         (-[WebFrame _opened]):
1752         (-[WebFrame _requestFromDelegateForRequest:identifier:error:]):
1753         (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
1754         (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]):
1755         * WebView.subproj/WebFrameInternal.h:
1756
1757 2005-05-20  Chris Blumenberg  <cblu@apple.com>
1758
1759         Fixed: <rdar://problem/4098786> sync. XMLHttpRequest works w/o AllowNetworkAccess key because load delegate is not consulted
1760
1761         Synchronous loads did not cause the willSendRequest method on the resource load delegate to be called. This is the method that Dashboard uses to enforce AllowNetworkAccess and this must be called to avoid exploits.
1762
1763         Reviewed by sullivan.
1764
1765         * WebCoreSupport.subproj/WebBridge.m:
1766         (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then 
1767         [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] so synthetic resource load delegate 
1768         methods are called and the data is saved as a WebResource for resources in the WebCore cache.
1769
1770         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:],
1771         respect its result, do the load and then call [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] 
1772         for synchronous loads
1773
1774         * WebView.subproj/WebFrame.m:
1775         (-[WebFrame _opened]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then 
1776         [WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:] so synthetic resource load delegate methods are called 
1777         for subresrources in the page cache
1778         
1779         (-[WebFrame _requestFromDelegateForRequest:identifier:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
1780         This method calls identifierForInitialRequest and willSendRequest.
1781
1782         (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
1783         This method calls the remaining resource load delegate messages.
1784
1785         (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]): new, saves the resource and calls
1786         [WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]
1787
1788         * WebView.subproj/WebFrameInternal.h:
1789
1790 2005-05-17  Chris Blumenberg  <cblu@apple.com>
1791         
1792         Fixed: <rdar://problem/4119282> clicking a link in an RTF file opens the link with NSWorkspace without the usual security checks or WebView delegate control
1793
1794         Reviewed by mjs.
1795
1796         * WebCoreSupport.subproj/WebBridge.m:
1797         (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): pass the passed referrer to canLoadURL::: not [self referrer]
1798         (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto
1799         * WebView.subproj/WebTextView.m:
1800         (-[WebTextView clickedOnLink:atIndex:]): call the loadURL bridge method so that security checks are made, command/option clicks work, policy delegate is consulted etc.
1801
1802 2005-05-17  Chris Blumenberg  <cblu@apple.com>
1803
1804         Fixed: <rdar://problem/4120255> web archives on remote servers can be viewed directly (with major security issues); should download instead
1805
1806         Reviewed by mjs.
1807
1808         * WebView.subproj/WebBaseResourceHandleDelegate.h:
1809         * WebView.subproj/WebMainResourceClient.m:
1810         (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the WebKit client has chosen to "use" a remote web archive, stop the load with an error
1811
1812 2005-05-16  Darin Adler  <darin@apple.com>
1813
1814         - attempt to get things building under "Saffron" development tools
1815
1816         * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.
1817
1818 2005-05-13  John Sullivan  <sullivan@apple.com>
1819
1820         Reviewed by Kevin.
1821         
1822         - fixed <rdar://problem/4093306> Safari crashes if Esc key is held down during series 
1823         of authentication sheets
1824
1825         * Panels.subproj/WebAuthenticationPanel.m:
1826         (-[WebAuthenticationPanel cancel:]):
1827         retain and autorelease self. This is a workaround for an AppKit key-handling issue, which I wrote up as:
1828         <rdar://problem/4118422> Key-down events can be sent to a closed window if a key is kept pressed down
1829
1830 2005-05-12  John Sullivan  <sullivan@apple.com>
1831
1832         Reviewed by Kevin.
1833
1834         - rolled in changes from experimental-ui-branch to support resizable textareas
1835         and find-as-you-type and confirming unsubmitted form changes. The files/functions 
1836         modified are listed just below. After that are the ChangeLog comments from the branch.
1837
1838         * WebCoreSupport.subproj/WebBridge.m:
1839         (-[WebBridge textDidChange:]):
1840         * WebView.subproj/WebFormDelegate.h:
1841         * WebView.subproj/WebFormDelegate.m:
1842         (-[WebFormDelegate textDidChange:inFrame:]):
1843         * WebView.subproj/WebHTMLView.m:
1844         (-[WebHTMLView maintainsInactiveSelection]):
1845         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
1846         (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
1847         * WebView.subproj/WebView.m:
1848         (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
1849         (-[WebView searchFor:direction:caseSensitive:wrap:]):
1850         (-[WebView makeTextStandardSize:]):
1851         (-[WebView maintainsInactiveSelection]):
1852         * WebView.subproj/WebViewPrivate.h:
1853         
1854         2005-04-18  John Sullivan  <sullivan@apple.com>
1855
1856                 WebKit support for notifying a form delegate when a
1857                 textarea's contents have changed (as opposed to a 
1858                 textfield, which was already handled).
1859
1860                 Reviewed by Maciej.
1861
1862                 * WebView.subproj/WebFormDelegate.h:
1863                 * WebView.subproj/WebFormDelegate.m:
1864                 (-[WebFormDelegate textDidChange:inFrame:]):
1865                 new form delegate method
1866
1867                 * WebCoreSupport.subproj/WebBridge.m:
1868                 (-[WebBridge textDidChange:]):
1869                 new method, calls through to form delegate
1870                 
1871         2005-04-11  John Sullivan  <sullivan@apple.com>
1872
1873                 Fixed inability to wrap around in Find in Page 
1874
1875                 * WebView.subproj/WebView.m:
1876                 (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
1877                 changed wrapFlag from NO to YES on two lines (copy/paste error)
1878
1879         2005-04-07  John Sullivan  <sullivan@apple.com>
1880
1881                 WebKit support for find-as-you-type. Needed an additional parameter on
1882                 a method from WebDocumentSearching protocol. Since that's a public protocol, 
1883                 I couldn't just add the parameter. For now I hacked it with an undeclared
1884                 internal method that's discovered via respondsToSelector. Probably the right
1885                 long-term approach is to deprecate the WebDocumentSearching protocol and introduce
1886                 a replacement that has a more flexible set of parameters for possible future
1887                 expansion.
1888
1889                 Reviewed by Dave Hyatt.
1890
1891                 * WebView.subproj/WebHTMLView.m:
1892                 (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
1893                 now calls new one-more-parameter version passing NO for new parameter to match old behavior
1894                 (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
1895                 new method, adds findInSelection parameter and passes it through to bridge
1896                  
1897                 * WebView.subproj/WebView.m:
1898                 (-[WebView searchFor:direction:caseSensitive:wrap:]):
1899                 now calls new one-more-parameter version passing NO for new parameter to match old behavior
1900                 (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
1901                 new method, adds findInSelection parameter and passes it through
1902
1903         2005-04-07  John Sullivan  <sullivan@apple.com>
1904
1905                 WebKit support to allow clients to control whether the selection is still
1906                 drawn when the first responder is elsewhere. Formerly this was hardwired
1907                 to be true only when -[WebView isEditable] was true.
1908
1909                 Reviewed by Darin.
1910
1911                 * WebView.subproj/WebHTMLView.m:
1912                 (-[WebHTMLView maintainsInactiveSelection]):
1913                 check [WebView maintainsInactiveSelection] rather than just [WebView isEditable]
1914                 
1915                 * WebView.subproj/WebViewPrivate.h:
1916                 * WebView.subproj/WebView.m:
1917                 (-[WebView maintainsInactiveSelection]):
1918                 new method for clients to override, returns -[self isEditable]
1919         
1920
1921 2005-05-10  John Sullivan  <sullivan@apple.com>
1922
1923         Reviewed by Kevin.
1924         
1925         - WebKit support for <rdar://problem/3795701> Menu item/keyboard shortcut to 
1926         restore text zoom to normal
1927
1928         * WebView.subproj/WebView.m:
1929         (-[WebView validateUserInterfaceItem:]):
1930         validate makeTextStandardSize by calling canMakeTextStandardSize
1931         (-[WebView canMakeTextStandardSize]):
1932         new method, returns YES unless text size multiplier is currently 1
1933         (-[WebView makeTextStandardSize:]):
1934         new method, sets text size multiplier to 1
1935         
1936         * WebView.subproj/WebViewPrivate.h:
1937         add makeTextStandardSize: and canMakeTextStandardSize to pending public category
1938
1939 2005-05-10  John Sullivan  <sullivan@apple.com>
1940
1941         Reviewed by Chris.
1942         
1943         - fixed <rdar://problem/4067981> Mail places RTF flavor before RTFD flavor when dragging 
1944         mixed image/text content.
1945
1946         * WebView.subproj/WebHTMLView.m:
1947         (+[WebHTMLView _selectionPasteboardTypes]):
1948         put RTFD type before RTF type in array of types to declare
1949
1950 2005-05-09  Chris Blumenberg  <cblu@apple.com>
1951
1952         Turned assertion into error message to prevent crash when encountering this bug:
1953         <rdar://problem/4067625> connection:willCacheResponse: is called inside of [NSURLConnection initWithRequest:delegate:]
1954         
1955         * WebView.subproj/WebBaseResourceHandleDelegate.h:
1956         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1957         (-[WebBaseResourceHandleDelegate loadWithRequest:]): set flag to track when we're initializing the connection
1958         (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): log error
1959
1960 2005-05-09  Darin Adler  <darin@apple.com>
1961
1962         * Makefile.am: Don't set up PBXIntermediatesDirectory explicitly;
1963         Not needed to make builds work, spews undesirable error messages too.
1964
1965 2005-05-06  Darin Adler  <darin@apple.com>
1966
1967         Reviewed by Maciej.
1968
1969         - make building multiple trees with make work better
1970
1971         * Makefile.am: Set up Xcode build directory before invoking xcodebuild.
1972
1973 2005-05-04  Darin Adler  <darin@apple.com>
1974
1975         Reviewed by Dave Hyatt.
1976
1977         - fixed layout tests
1978
1979         * WebKit.pbproj/project.pbxproj: Set deployment target to 10.3 in the build styles.
1980         When built without a build style (by Apple B&I) we want to get the target from the
1981         environment. But when built with a build style (by Safari engineers and others), we want
1982         to use 10.3. Because our deployment target was not set, we ran into this bug:
1983
1984             <rdar://problem/4108717> CTFontGetGlyphWithName doesn't work with some strings
1985
1986         * Makefile.am: Took out extra parameters that make command-line building different from
1987         Xcode building. Now that this is fixed, you should not get a full rebuild if you switch
1988         from command line to Xcode or back.
1989
1990 2005-05-04  Chris Blumenberg  <cblu@apple.com>
1991
1992         Fixed: 
1993         <rdar://problem/4078417> REGRESSION (125-412): MLB gameday page doesn't update (Flash)
1994         <rdar://problem/4072280> XMLHttpRequest calls onReadyStateChange callback with bogus status value
1995         
1996         Reviewed by john.
1997
1998         Our WebKit-level caching of subresources "dumbed-down" information held in NSURLResponse. This caused some loads to lack response headers and thus disabling cache directives. Status codes were also not retained and this caused XMLHttpRequest to fail frequently. The fix is to have WebResource retain the NSURLResponse and to use the NSURLResponse when we decide to load from WebResources.
1999
2000         * WebCoreSupport.subproj/WebBridge.m:
2001         (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call new [WebResource _initWithData:URL:response:]
2002         * WebView.subproj/WebBaseResourceHandleDelegate.m:
2003         (-[WebBaseResourceHandleDelegate _canUseResourceWithResponse:]): new, checks response cache directives
2004         (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceWithResponse:
2005         (-[WebBaseResourceHandleDelegate saveResource]): call new [WebResource _initWithData:URL:response:]
2006         * WebView.subproj/WebResource.m:
2007         (-[WebResourcePrivate dealloc]):
2008         (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call renamed _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:
2009         (-[WebResource initWithCoder:]): decode the NSURLReponse
2010         (-[WebResource encodeWithCoder:]): encode the NSURLReponse
2011         (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): take the NSURLReponse
2012         (-[WebResource _initWithData:URL:response:]): new
2013         (-[WebResource _initWithPropertyList:]): decode the NSURLReponse
2014         (-[WebResource _propertyListRepresentation]): encode the NSURLReponse
2015         (-[WebResource _response]): return ivar if we have one
2016         * WebView.subproj/WebResourcePrivate.h:
2017
2018 2005-05-03  David Hyatt  <hyatt@apple.com>
2019
2020         Fix object element support so that fallback content works.  With this change Safari passes the Acid2 test.
2021         
2022         Reviewed by Maciej
2023
2024         * WebCoreSupport.subproj/WebBridge.m:
2025         (-[WebBridge determineObjectFromMIMEType:URL:]):
2026         * WebView.subproj/WebDataSource.m:
2027         (-[WebDataSource _receivedMainResourceError:complete:]):
2028         * WebView.subproj/WebMainResourceClient.m:
2029         (-[WebMainResourceClient continueAfterContentPolicy:response:]):
2030
2031 2005-05-03  Darin Adler  <darin@apple.com>
2032
2033         * WebView.subproj/WebUIDelegate.h: Fixed incorrect comment.
2034
2035 2005-05-01  Darin Adler  <darin@apple.com>
2036
2037         - move to Xcode native targets and stop checking in generated files
2038
2039         * WebKit.pbproj/project.pbxproj: Updated to use native targets and generate all the generated
2040         files, so we don't have to check them in any more.
2041         * Info.plist: Added. Native targets use a separate file for this.
2042
2043         * Plugins.subproj/npapi.m: Fixed import statement to get npapi.h from <WebKit/> rather than current directory.
2044
2045         * Makefile.am: Removed timestamp cleaning rules since we don't use it any more.
2046
2047         * .cvsignore: Removed various timestamp files.
2048
2049         * DOM.subproj/DOM-compat.h: Removed.
2050         * DOM.subproj/DOM.h: Removed.
2051         * DOM.subproj/DOMCSS.h: Removed.
2052         * DOM.subproj/DOMCore.h: Removed.
2053         * DOM.subproj/DOMEvents.h: Removed.
2054         * DOM.subproj/DOMExtensions.h: Removed.
2055         * DOM.subproj/DOMHTML.h: Removed.
2056         * DOM.subproj/DOMPrivate.h: Removed.
2057         * DOM.subproj/DOMRange.h: Removed.
2058         * DOM.subproj/DOMStylesheets.h: Removed.
2059         * DOM.subproj/DOMTraversal.h: Removed.
2060         * DOM.subproj/DOMViews.h: Removed.
2061         * Plugins.subproj/WebScriptObject.h: Removed.
2062         * Plugins.subproj/npapi.h: Removed.
2063         * Plugins.subproj/npruntime.h: Removed.
2064         * copy-webcore-files-to-webkit: Removed.
2065         * embed-frameworks.sh: Removed.
2066         * force-clean-timestamp: Removed.
2067
2068 2005-04-28  Darin Adler  <darin@apple.com>
2069
2070         Reviewed by Maciej.
2071
2072         - fixed problems preventing us from compiling with gcc 4.0
2073
2074         * WebKit.pbproj/project.pbxproj: Removed -fobjc-exceptions because I can't figure out an easy
2075         way to pass it only when compiling Objective-C/C++. Removed -Wmissing-prototypes from
2076         WARNING_CPLUSPLUSFLAGS since it's now a C-only warning.
2077
2078         * History.subproj/WebHistoryItem.m: (-[WebHistoryItem pageCache]): Changed return type
2079         to match the declaration.
2080         * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
2081         Fixed a BOOL that should have been a Boolean.
2082         * WebCoreSupport.subproj/WebTextRenderer.m: Removed redundant copy of ROUND_TO_INT, also in
2083         a WebCore header.
2084         (-[WebTextRenderer _computeWidthForSpace]): Had to add cast because of difference in type of
2085         ROUND_TO_INT vs. CEIL_TO_INT.
2086         (pathFromFont): Added a cast to convert UInt8 * to char *.
2087         * WebView.subproj/WebFrameView.m:
2088         (-[WebFrameView _setDocumentView:]): Fixed parameter type to match the declaration.
2089         (-[WebFrameView documentView]): Fixed return type to match the declaration.
2090         * WebView.subproj/WebHTMLView.m:
2091         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2092         Initialized a variable to quiet an incorrect gcc 4.0 uninitialized variable warning.
2093         (-[WebHTMLView deleteToMark:]): Switched from @try style to NS_DURING style of exception handler
2094         because we can't pass -fobjc-exceptions just to Objective-C at the moment (see above).
2095         (-[WebHTMLView selectToMark:]): Ditto.
2096         (-[WebHTMLView swapWithMark:]): Ditto.
2097
2098 2005-04-27  John Sullivan  <sullivan@apple.com>
2099
2100         Reviewed by Dave Harrison.
2101         
2102         - fixed <rdar://problem/3547489> pop-up window blocking preference and 
2103         menu item can easily get out of sync.
2104
2105         * WebView.subproj/WebPreferences.m:
2106         (-[WebPreferences _setStringValue:forKey:]):
2107         save local value before setting value in NSUserDefaults, so clients reacting to NSUserDefaults
2108         change notification but calling back on WebPreferences API will see the updated value.
2109         (-[WebPreferences _setIntegerValue:forKey:]):
2110         ditto
2111         (-[WebPreferences _setBoolValue:forKey:]):
2112         ditto
2113
2114 2005-04-26  Richard Williamson   <rjw@apple.com>
2115
2116         Fixed <rdar://problem/4098713> Scripting API is incompatible with Mozilla
2117
2118         Reviewed by Chris.
2119
2120         * Plugins.subproj/npfunctions.h:
2121         * Plugins.subproj/npruntime.h:
2122
2123 2005-04-26  Darin Adler  <darin@apple.com>
2124
2125         Reviewed by John.
2126
2127         - fixed <rdar://problem/3655817> please add support for mouse wheel events and the onmousewheel handler
2128
2129         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView scrollWheel:]): Call sendScrollWheelEvent: method
2130         instead of the old scrollOverflowWithScrollWheelEvent: (just a name change).
2131
2132 2005-04-18  Darin Adler  <darin@apple.com>
2133
2134         Reviewed by Hyatt.
2135
2136         - fixed <rdar://problem/4092614> REGRESSION (Tiger): progressively loaded background images "scroll around" instead of just appearing
2137
2138         * WebCoreSupport.subproj/WebImageData.m:
2139         (-[WebImageData _imageSourceOptions]): Moved a global inside this function, since it's only used here.
2140         (-[WebImageData _cacheImages:allImages:]): Fixed a sizeof that was getting the size of the wrong thing.
2141         (-[WebImageData _isSizeAvailable]): Used calloc in a more consistent way.
2142         (drawPattern): Removed an unneeded cast.
2143         (-[WebImageData tileInRect:fromPoint:context:]): Here's the actual bug fix. Don't use the image size
2144         when deciding whether the image needs to be tiled as a pattern nor when creating the pattern: in both
2145         cases, use the tile size. The old way was wrong, and the new way works perfectly. Also removed uneeded
2146         error message when the image is not yet loaded enough to create a CGImageRef for it -- it's fine to
2147         draw nothing in that case.
2148
2149 2005-04-14  John Sullivan  <sullivan@apple.com>
2150
2151         Reviewed by Chris.
2152
2153         * WebView.subproj/WebBaseResourceHandleDelegate.m:
2154         (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]):
2155         Beefed up assertion that's been bugging me and Chris to include
2156         the two troublemaking values.
2157
2158 2005-04-05  David Hyatt  <hyatt@apple.com>
2159
2160         Fix for 4077106, wheel scroll amount smaller in Tiger.  All along wheeling should have been 4x the default
2161         line height of 10 (just as arrow keys did).  Scroll arrows should have done this too for scroll views (they did
2162         already for overflow sections).  This patch puts the override into the scrollview itself, and removes the
2163         multipliers in the private frame methods.
2164         
2165         Reviewed by darin
2166
2167         * WebView.subproj/WebFrameView.m:
2168         (-[WebFrameView _verticalKeyboardScrollDistance]):
2169         (-[WebFrameView initWithFrame:]):
2170         (-[WebFrameView _horizontalKeyboardScrollDistance]):
2171
2172 === WebKit-312.1 ===
2173
2174 2005-03-31  Chris Blumenberg  <cblu@apple.com>
2175
2176         Fixed: <rdar://problem/4070729> REGRESSION (125-311, Panther-only?): Safari crashes while reloading "My eBay" page
2177
2178         Reviewed by rjw.
2179
2180         * WebView.subproj/WebBaseResourceHandleDelegate.m:
2181         (-[WebBaseResourceHandleDelegate resourceData]): retain and autorelease resourceData since releaseResources (which releases resourceData) may be called before the caller of this method has an opporuntity to retain the returned data
2182
2183 === Safari-412 ===
2184
2185 === Safari-411 ===
2186
2187 2005-03-23  Richard Williamson   <rjw@apple.com>
2188
2189         Use Patti Yeh's hack to determine the appropriate rectangle
2190         to place the "associated word" window.  
2191         If there is no marked text firstRectForCharacterRange: will
2192         use the selected range to determine the returned rectangle,
2193         ignoring the input range.  This is the fix from
2194         4029491 that I previously backed out.
2195
2196         Reviewed by Vicki.
2197
2198         * WebView.subproj/WebHTMLView.m:
2199         (-[WebHTMLView firstRectForCharacterRange:]):
2200
2201 2005-03-23  Richard Williamson   <rjw@apple.com>
2202
2203         Fixed <rdar://problem/4062490> REGRESSION (WebKit-408): no subresources reported in Activity window after going back at hrweb.apple.com
2204
2205         Stop collecting subresource responses after the document
2206         had loaded, not after it has been opened.
2207
2208         Reviewed by Chris.
2209
2210         * WebView.subproj/WebFrame.m:
2211         (-[WebFrame _setState:]):
2212         (-[WebFrame _opened]):
2213
2214 2005-03-21  Maciej Stachowiak  <mjs@apple.com>
2215
2216         Reviewed by Darin.
2217
2218         <rdar://problem/4051145> The QuickTime Cocoa plug-in needs an SPI that it can call to check for URL policy
2219
2220         * Plugins.subproj/WebPluginContainerCheck.h: Added.
2221         * Plugins.subproj/WebPluginContainerCheck.m: Added this new helper class to encapsulate
2222         an async plugin navigation check.
2223         (+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:]): Convenience allocator that gives autoreleased value.
2224         (-[WebPluginContainerCheck initWithRequest:target:resultObject:selector:controller:]): Initializer.
2225         (-[WebPluginContainerCheck finalize]): Just assert that we're done, it would
2226         be bad to deallocate this object while request is still outstanding.
2227         (-[WebPluginContainerCheck dealloc]): Ditto.
2228         (-[WebPluginContainerCheck _continueWithPolicy:]): Method to continue after async
2229         policy check.
2230         (-[WebPluginContainerCheck _isDisallowedFileLoad]): Do "file: URL from remote content"
2231         check.
2232         (-[WebPluginContainerCheck _actionInformationWithURL:]): Helper to make action
2233         dictionary.
2234         (-[WebPluginContainerCheck _askPolicyDelegate]): Call policy delegate to let
2235         the app decide if this load is allowed.
2236         (-[WebPluginContainerCheck start]): Start the check.
2237         (-[WebPluginContainerCheck cancel]): Cancel a check in progress.
2238         * Plugins.subproj/WebPluginController.h:
2239         * Plugins.subproj/WebPluginController.m:
2240         (-[WebPluginController initWithDocumentView:]): Initialize new _checksInProgress field.
2241         (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Implement
2242         this new SPI method.
2243         (-[WebPluginController _cancelOutstandingChecks]): New helper to make sure to cancel
2244         all outstanding requests when destroying all plugins.
2245         (-[WebPluginController destroyAllPlugins]): Call above helper.
2246         (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Implement this new plug-in SPI method.
2247         (-[WebPluginController bridge]): New helper method.
2248         (-[WebPluginController webView]): New helper method.
2249         * WebView.subproj/WebPolicyDelegatePrivate.h: Add new navigation
2250         type WebNavigationTypePlugInRequest.
2251         * WebKit.pbproj/project.pbxproj: Add new files.
2252         * WebView.subproj/WebDefaultPolicyDelegate.m:
2253         (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Don't open externally on a plug-in request.
2254
2255 2005-03-23  Richard Williamson   <rjw@apple.com>
2256
2257         Fixed <rdar://problem/4053515> REGRESSION (Mail): Kotoeri input method reconversion does not work in WebViews
2258
2259         We now use actual document NSRanges to represent both marked text
2260         ranges and selection ranges.
2261
2262         Reviewed by Ken Kocienda.
2263
2264         * WebView.subproj/WebHTMLView.m:
2265         (-[WebHTMLView validAttributesForMarkedText]):
2266         (-[WebHTMLView firstRectForCharacterRange:]):
2267         (-[WebHTMLView selectedRange]):
2268         (-[WebHTMLView markedRange]):
2269         (-[WebHTMLView _selectMarkedText]):
2270         (-[WebHTMLView setMarkedText:selectedRange:]):
2271
2272 === Safari-410 ===
2273
2274 2005-03-22  Darin Adler  <darin@apple.com>
2275
2276         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
2277
2278 === Safari-409 ===
2279
2280 2005-03-20  Maciej Stachowiak  <mjs@apple.com>
2281
2282         Reviewed by Darin.
2283
2284         <rdar://problem/4060020> Add stub version of security SPI for QuickTime plug-in so QuickTime team has something to compile and link against
2285         
2286         * Plugins.subproj/WebPluginContainerPrivate.h: Added.
2287         * Plugins.subproj/WebPluginController.m:
2288         (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]):
2289         (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
2290         * WebKit.pbproj/project.pbxproj:
2291
2292 2005-03-19  David Harrison  <harrison@apple.com>
2293
2294         Reviewed by Maciej.
2295         
2296         <rdar://problem/4059479> Misspelling underline does underline the whole word, could go farther to the right
2297
2298         * WebCoreSupport.subproj/WebTextRenderer.m:
2299         (-[WebTextRenderer misspellingLinePatternGapWidth]):
2300         (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
2301         Consider that the last pixel in the underline dot pattern is transparent.
2302
2303 2005-03-19  Darin Adler  <darin@apple.com>
2304
2305         Reviewed by Maciej (a while back).
2306
2307         - fixed <rdar://problem/4059323> local-file security check is allowing plug-in streams, but must not
2308
2309         * Plugins.subproj/WebNetscapePluginStream.m:
2310         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
2311         Roll out change I made on 3-13. That change is needed for subresource, but not for plug-in streams.
2312         For plug-in streams it's too risky, and leaves a serious security hole open.
2313
2314 2005-03-19  Darin Adler  <darin@apple.com>
2315
2316         Reviewed by Ken and John.
2317
2318         - fixed <rdar://problem/4059123> REGRESSION (402-403): deleteWordForward: and deleteWordBackward: start deleting single characters after the first delete
2319
2320         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
2321         Fixed backwards logic in here and added missing check. Set action to one of the two typing actions only
2322         if isTypingAction is YES.
2323
2324 2005-03-19  David Harrison  <harrison@apple.com>
2325
2326         Reviewed by me (written by Patti Yeh).
2327         
2328         <rdar://problem/4029491> <TCIM> CangJie: the candidate window appears at the top left hand corner during typing in Mail and iChat
2329
2330         * WebView.subproj/WebHTMLView.m:
2331         (-[WebHTMLView firstRectForCharacterRange:]):
2332         Use selected range if there is no marked range.
2333
2334 === Safari-408 ===
2335
2336 2005-03-18  David Harrison  <harrison@apple.com>
2337
2338         Reviewed by Darin.
2339
2340         <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch
2341
2342         * WebView.subproj/WebFrameView.m:
2343         (-[WebFrameView webCoreBridge]):
2344         New to conform to WebCoreBridgeHolder protocol.
2345
2346 2005-03-18  Richard Williamson   <rjw@apple.com>
2347         
2348         Fixed <rdar://problem/4057004> Data from XMLHTTPRequest is never dealloced
2349
2350         WebDataSource keeps an array of all the NSURLResponses associated
2351         with the load for a page.  This is used to playback delegate messages
2352         when loading from the page cache.  However, after the document
2353         has completed it's initial load, we continue to keep track of responses. 
2354         So, this has the consequence of keeping all the responses for a page
2355         around for the life of the page.  NSURLResponses are now very
2356         heavy.  They indirectly reference the resource data (via the
2357         download assessment dictionary).  This fix will keep
2358         references to responses around for those resources loaded during initial
2359         page load, but not after that point.
2360
2361         Reviewed by Ken.
2362
2363         * WebView.subproj/WebDataSource.m:
2364         (-[WebDataSource _addResponse:]):
2365         (-[WebDataSource _stopRecordingResponses]):
2366         * WebView.subproj/WebDataSourcePrivate.h:
2367         * WebView.subproj/WebFrame.m:
2368         (-[WebFrame _opened]):
2369
2370 2005-03-18  Ken Kocienda  <kocienda@apple.com>
2371
2372         Reviewed by Darin
2373
2374         Fix for this bug:
2375         
2376         <rdar://problem/4053729> Copy/paste of page with frames into Blot or Mail does nothing and loses insertion point
2377
2378         * WebView.subproj/WebHTMLView.m:
2379         (-[WebHTMLView _selectedArchive]): Wrap frameset documents in an iframe, so they can be pasted into 
2380         existing documents which will have a body or frameset of their own.
2381
2382 === Safari-407 ===
2383
2384 2005-03-17  Richard Williamson   <rjw@apple.com>
2385
2386         Fixed <rdar://problem/4055562> REGRESSION (Tiger): Safari doesn't draw progressively-loaded JPEGs (www.theregister.co.uk, www.titantalk.com)
2387
2388         Anothe side effect of lazy loading of image meta data.  We now
2389         don't cache image size until size meta data is actually available.
2390
2391         Reviewed by Darin.
2392
2393         * WebCoreSupport.subproj/WebImageData.m:
2394         (-[WebImageData size]):
2395
2396 2005-03-16  David Harrison  <harrison@apple.com>
2397
2398         Reviewed by Maciej.
2399         
2400         <rdar://problem/4048506> Deleting from beginning of editable div deletes other document elements
2401         
2402         Also changed WebCore.
2403
2404         * WebView.subproj/WebHTMLView.m:
2405         (-[WebHTMLView _shouldDeleteRange:]):
2406         Added call to new bridge method canDeleteRange.
2407
2408 2005-03-16  Ken Kocienda  <kocienda@apple.com>
2409
2410         Reviewed by Darin
2411
2412         Fix for this bug:
2413         
2414         <rdar://problem/4042935> undo doesn't work properly during inline input
2415
2416         * WebView.subproj/WebHTMLView.m:
2417         (-[WebHTMLView setMarkedText:selectedRange:]): Call new -[WebCoreBridge replaceMarkedTextWithText:] instead of 
2418         -[WebCoreBridge replaceSelectionWithText:selectReplacement:smartReplace:]. The former call was just added in 
2419         order to provide a better mapping of international text input onto the typing command/undo design.
2420
2421 2005-03-15  Richard Williamson   <rjw@apple.com>
2422
2423         Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance
2424
2425         If client mutates request use new Foundation SPI to address remove applewebdata properties      from request.
2426
2427         Reviewed by Ken Kocienda.
2428
2429         * WebView.subproj/WebBaseResourceHandleDelegate.m:
2430         (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
2431         * WebView.subproj/WebDataProtocol.h:
2432         * WebView.subproj/WebDataProtocol.m:
2433         (+[NSURLRequest _webDataRequestPropertyKey]):
2434
2435 2005-03-15  Ken Kocienda  <kocienda@apple.com>
2436
2437         Reviewed by Vicki
2438
2439         Fox for this bug:
2440         
2441         <rdar://problem/4052642> Each delete keystroke is in its own undo group; not included in undo group with other typing
2442
2443         Calling -[WebCore setSelectedDOMRange:range affinity:] had the result of "closing" any active set of typing
2444         keystrokes grouped together in a single undo operation. My change on 27 Jan to route delete keystrokes 
2445         through _deleteRange:killRing:... made this feature regress. Previous to that change, the backwards delete
2446         key went through separate code that is no longer in the tree that did not set the selection in the way
2447         it is done now.
2448         
2449         The solution is to add an extra argument to the set-selection call. The WebCoreBridge now offers this method:
2450         -[WebCore setSelectedDOMRange:range affinity:closeTyping:]. Now, callers must indicate whether setting the 
2451         selection will act to close typing or not. The code changes below all add this new argument with the
2452         appropriate value for closeTyping.
2453
2454         * WebView.subproj/WebHTMLView.m:
2455         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Passes NO for closeTyping when
2456         deletionAction is deleteKeyAction or forwardDeleteKeyAction; YES when deleteSelectionAction.
2457         (-[WebHTMLView _expandSelectionToGranularity:]): Passes YES for closeTyping.
2458         (-[WebHTMLView selectToMark:]): Passes YES for closeTyping.
2459         (-[WebHTMLView swapWithMark:]): Passes YES for closeTyping.
2460         (-[WebHTMLView transpose:]): Passes YES for closeTyping.
2461         (-[WebHTMLView _selectMarkedText]): Passes NO for closeTyping.
2462         (-[WebHTMLView _selectRangeInMarkedText:]): Passes NO for closeTyping.
2463         * WebView.subproj/WebView.m:
2464         (-[WebView setSelectedDOMRange:affinity:]): Passes YES for closeTyping.
2465
2466 2005-03-14  Richard Williamson   <rjw@apple.com>
2467
2468         Fix <rdar://problem/4051389> 8A413: gifs animating too fast
2469
2470         Reviewed by Maciej.
2471
2472         Match Mozilla's policy for minimum frame duration, which is somewhat odd:
2473
2474         <= 0.01 sec use .1 sec, otherwise use specified duration.
2475
2476         * WebCoreSupport.subproj/WebImageData.m:
2477         (-[WebImageData _frameDurationAt:]):
2478
2479 2005-03-14  Darin Adler  <darin@apple.com>
2480
2481         Reviewed by Harrison.
2482
2483         - fixed <rdar://problem/4049776> Seed: Mail: Disable spellcheck leaves red artifacts
2484
2485         * WebView.subproj/WebFrameInternal.h: Added _unmarkAllMisspellings.
2486         * WebView.subproj/WebFrame.m: (-[WebFrame _unmarkAllMisspellings]): Added.
2487         Calls unmarkAllMisspellings on the bridge and self and all subframes.
2488
2489         * WebView.subproj/WebView.m: (-[WebView setContinuousSpellCheckingEnabled:]):
2490         Call _unmarkAllMisspellings on the main frame when turning continuous spell checking off.
2491
2492 2005-03-14  Richard Williamson   <rjw@apple.com>
2493
2494         Fixed <rdar://problem/4027928> Tiger_8A394:Acrobat crashes while tried to remove the subscription errors by clicking on "Would you like to remove the subscription" from Tracker details view pane
2495
2496         The Acrobat application triggers loads of new documents in it's policy delegate.  This
2497         ultimately causes the WebHTMLView to be released before their event handlers have
2498         returned.  To bullet proof against this case we retain/release self before passing
2499         the event on for further handling.
2500         
2501         Reviewed by Maciej.
2502
2503         * WebView.subproj/WebHTMLView.m:
2504         (-[WebHTMLView _updateMouseoverWithEvent:]):
2505         (-[WebHTMLView scrollWheel:]):
2506         (-[WebHTMLView mouseDown:]):
2507         (-[WebHTMLView mouseDragged:]):
2508         (-[WebHTMLView mouseUp:]):
2509         (-[WebHTMLView keyDown:]):
2510         (-[WebHTMLView keyUp:]):
2511         (-[WebHTMLView performKeyEquivalent:]):
2512
2513 2005-03-14  Vicki Murley  <vicki@apple.com>
2514
2515         - roll out the fix for 4040321, since it is still pending CCC review.
2516
2517     2005-03-10  Richard Williamson   <rjw@apple.com>
2518
2519         Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance 
2520
2521         Reviewed by Darin.
2522
2523         If a delegate returns a mutated applewebdata: request in it's willSendRequest:
2524         method, we don't load using the WebDataRequest.  Instead we do a normal load.
2525         Unfortunately, if the request they return is mutated *copy* of the applewebdata: 
2526         request it will hold the applewebdata: special properties.  These properties 
2527         will be encoded into the cache.   They should not be.  So, to fix, we sanitize the
2528         request, by removing the special properties from the request.
2529
2530         Note that we had to dig into the private guts of NSURLRequest because there is
2531         no public mechanism to remove properties from a request, see 4046775.
2532
2533         * WebView.subproj/WebBaseResourceHandleDelegate.m:
2534         (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
2535         * WebView.subproj/WebDataProtocol.h:
2536         * WebView.subproj/WebDataProtocol.m:
2537         (-[NSURLRequest _webDataRequestExternalRequest]):
2538         (-[NSURLRequest _webDataRequestSanitize]):
2539
2540 === Safari-406 ===
2541
2542 2005-03-13  Darin Adler  <darin@apple.com>
2543
2544         Reviewed by Ken and Maciej.
2545
2546         - fixed <rdar://problem/4049040> REGRESSION (403-405): security check prevents user stylesheet from loading (Dictionary.app doesn't work at all!)
2547
2548         * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
2549         Allow plug-in subresource streams to load with any URL, ignoring the "canLoadURL" method's restriction (only
2550         file URLs can load other file URLs), which now applies only to main resources, like web pages in frames or
2551         object tags and plug-in main resources.
2552
2553         * WebCoreSupport.subproj/WebBridge.m:
2554         (-[WebBridge startLoadingResource:withURL:customHeaders:]): Allow subresources to load with any URL, as above.
2555         This allows things like images, stylesheets, and JavaScript to be loaded without the "canLoadURL" method's
2556         restriction.
2557         (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
2558         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto.
2559
2560 2005-03-10  Richard Williamson   <rjw@apple.com>
2561
2562         Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance 
2563
2564         Reviewed by Darin.
2565
2566         If a delegate returns a mutated applewebdata: request in it's willSendRequest:
2567         method, we don't load using the WebDataRequest.  Instead we do a normal load.
2568         Unfortunately, if the request they return is mutated *copy* of the applewebdata: 
2569         request it will hold the applewebdata: special properties.  These properties 
2570         will be encoded into the cache.   They should not be.  So, to fix, we sanitize the
2571         request, by removing the special properties from the request.
2572
2573         Note that we had to dig into the private guts of NSURLRequest because there is
2574         no public mechanism to remove properties from a request, see 4046775.
2575
2576         * WebView.subproj/WebBaseResourceHandleDelegate.m:
2577         (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
2578         * WebView.subproj/WebDataProtocol.h:
2579         * WebView.subproj/WebDataProtocol.m:
2580         (-[NSURLRequest _webDataRequestExternalRequest]):
2581         (-[NSURLRequest _webDataRequestSanitize]):
2582
2583 === Safari-405 ===
2584
2585 2005-03-10  Maciej Stachowiak  <mjs@apple.com>
2586
2587         Reviewed by Vicki.
2588
2589         <rdar://problem/4046510> REGRESSION (TOT): All Flash and Shockwave plugin-based web content missing
2590         
2591         * Plugins.subproj/WebNetscapePluginStream.m:
2592         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
2593
2594 2005-03-10  John Sullivan  <sullivan@apple.com>
2595
2596         Reviewed by Vicki.
2597         
2598         - fixed <rdar://problem/4045843> Going back/forward to error page 
2599         hits assertion in -[WebDataSource(WebPrivate) _setData:]
2600
2601         * WebView.subproj/WebDataSource.m:
2602         (-[WebDataSource _setData:]):
2603         Removed bogus assertion
2604
2605 2005-03-09  Deborah Goldsmith  <goldsmit@apple.com>
2606
2607         Reviewed by Darin.
2608
2609         - fixed <rdar://problem/3997044> default encoding for non-Latin incorrect
2610
2611         * WebKit/WebView.subproj/WebPreferences.m: (+[WebPreferences _systemCFStringEncoding]):
2612         Call __CFStringGetUserDefaultEncoding to get region, and TECGetWebTextEncodings to get
2613         the first encoding to determine the default encoding.
2614
2615 2005-03-09  Darin Adler  <darin@apple.com>
2616
2617         Reviewed by Richard.
2618
2619         - fixed <rdar://problem/4034175> REGRESSION (Mail): Can't use any font with style Light/Condensed/Semibold/Extrabold, etc
2620
2621         * WebView.subproj/WebHTMLView.m:
2622         (-[WebHTMLView _styleFromFontAttributes:]): Use a constant instead of hard-coded weight for clarity.
2623         (-[WebHTMLView _originalFontA]): Ditto.
2624         (-[WebHTMLView _originalFontB]): Ditto.
2625         (-[WebHTMLView _addToStyle:fontA:fontB:]): Add code to detect the case where the family name is not good enough
2626         to specify the font precisely. In that case, use the Postscript font name instead. Also change variable names
2627         so it's easier to understand the method.
2628
2629 2005-03-06  Maciej Stachowiak  <mjs@apple.com>
2630
2631         Reviewed by Darin.
2632
2633         <rdar://problem/4005575> Arbitrary file disclosure vulnerability due to ability to load local html from remote content
2634         
2635         * Plugins.subproj/WebBaseNetscapePluginView.m:
2636         (-[WebBaseNetscapePluginView requestWithURLCString:]):
2637         * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
2638         (-[WebNetscapePluginEmbeddedView didStart]):
2639         * Plugins.subproj/WebNetscapePluginStream.m:
2640         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
2641         * WebCoreSupport.subproj/WebBridge.m:
2642         (-[WebBridge createWindowWithURL:frameName:]):
2643         (-[WebBridge startLoadingResource:withURL:customHeaders:]):
2644         (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]):
2645         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2646         (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
2647         (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
2648         (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
2649         (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
2650         * WebView.subproj/WebFrame.m:
2651         (-[WebFrame _loadURL:referrer:intoChild:]):
2652         * WebView.subproj/WebFramePrivate.h:
2653
2654 2005-03-09  Richard Williamson   <rjw@apple.com>
2655         
2656         Fixed <rdar://problem/4032938> Safari: text layout for MS P Gothic font is corrupted
2657
2658         The AppKit and ATS reports that MS P Gothic is fixed pitch.  It is
2659         not!  This is another case of "fixed pitch" being wrong.  I've
2660         coalesced all the special cases into our isFontFixedPitch:, and
2661         used a dictionary to improve speed.  No performance regression.
2662
2663         Reviewed by Maciej.
2664
2665         * WebCoreSupport.subproj/WebTextRenderer.m:
2666         (-[WebTextRenderer _computeWidthForSpace]):
2667         * WebCoreSupport.subproj/WebTextRendererFactory.m:
2668         (-[WebTextRendererFactory clearCaches]):
2669         (-[WebTextRendererFactory isFontFixedPitch:]):
2670
2671 2005-03-09  Darin Adler  <darin@apple.com>
2672
2673         Reviewed by Maciej.
2674
2675         <rdar://problem/4040388> REGRESSION (172-173): nonrepro crash in -[NSString(WebNSURLExtras) _web_isUserVisibleURL]
2676
2677         * Misc.subproj/WebNSURLExtras.m:
2678         (-[NSString _web_isUserVisibleURL]): Fixed some pointer expressions that didn't include the index in the expression.
2679         (readIDNScriptWhiteListFile): Removed NSLog statements in here since we decided they aren't useful and they will
2680         write some messages on Tiger.
2681
2682 2005-03-09  Darin Adler  <darin@apple.com>
2683
2684         * DOM.subproj/DOMPrivate.h: Checked in file copied from WebCore.
2685
2686 2005-03-08  Richard Williamson   <rjw@apple.com>
2687
2688         Fixed <rdar://problem/4036949> many JPEG images fail to incremental-load due to change in ImageIO JPEG header parsing (to be fixed in WebKit)
2689         Fixed <rdar://problem/4042570> Need to check image properties for presence of width/height properties
2690
2691         ImageIO-55 changed how image properties are created.  They
2692         are now created incrementally.  So we need "re-get" the image
2693         properties if the properties we care about (width/height) aren't
2694         in the property dictionary.
2695
2696         Reviewed by John.
2697
2698         * WebCoreSupport.subproj/WebImageData.h:
2699         * WebCoreSupport.subproj/WebImageData.m:
2700         (-[WebImageData init]):
2701         (-[WebImageData fileProperties]):
2702         (-[WebImageData propertiesAtIndex:]):
2703         (-[WebImageData _isSizeAvailable]):
2704         (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
2705         (-[WebImageData size]):
2706
2707 2005-03-08  John Sullivan  <sullivan@apple.com>
2708
2709         A couple of tweaks to the previous patch, from Darin's review.
2710
2711         * Misc.subproj/WebNSPasteboardExtras.m:
2712         (_writableTypesForImageWithoutArchive):
2713         remove unnecessary _web prefix
2714         (_writableTypesForImageWithArchive):
2715         ditto
2716         (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
2717         use mutableCopy rather than initWithArray:, and adjust for name changes
2718
2719 2005-03-08  John Sullivan  <sullivan@apple.com>
2720
2721         Reviewed by Ken.
2722         
2723         - fixed <rdar://problem/4031826> REGRESSION (Mail): standalone images from 
2724         Safari can't be pasted into Mail (WebKit part of fix)
2725         
2726         We were always declaring webarchive-related pasteboard types, even in the standalone
2727         image cases where we had no webarchive. Unfortunately, the WebView pasteboard-related
2728         API doesn't prevent this kind of thing from happening, because the code that
2729         declares the types isn't guaranteed to be anywhere near the code that writes
2730         the pasteboard data.
2731         
2732         After this fix, I discovered that pasting standalone images into Mail still doesn't
2733         work right, but the remaining issues seem to be entirely in Mail. I wrote up 4041671
2734         to cover these.
2735
2736         * Misc.subproj/WebNSPasteboardExtras.h:
2737         (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
2738         Added boolean parameter; clients must specify whether or not there's an
2739         archive involved, because the array of types is different if there is.
2740
2741         * Misc.subproj/WebNSPasteboardExtras.m:
2742         (_web_writableTypesForImageWithoutArchive):
2743         new static function, constructs (once) and returns the array of types
2744         for images that don't have archives
2745         (_web_writableTypesForImageWithArchive):
2746         new static function, constructs (once) and returns the array of types
2747         for images that do have archives
2748         (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
2749         added boolean parameter, now calls one of the two new static functions
2750         
2751         (-[NSPasteboard _web_writeImage:URL:title:archive:types:]):
2752         added asserts that we aren't declaring the archive types if we don't have archive data
2753         
2754         (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
2755         updated to pass parameter to _web_writableTypesForImageIncludingArchive:
2756         
2757         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2758         (-[WebDefaultUIDelegate copyImageToClipboard:]):
2759         updated to pass parameter to _web_writableTypesForImageIncludingArchive:
2760
2761         * WebView.subproj/WebImageView.m:
2762         (-[WebImageView copy:]):
2763         updated to pass parameter to _web_writableTypesForImageIncludingArchive:
2764
2765         * WebView.subproj/WebView.m:
2766         (-[WebView pasteboardTypesForElement:]):
2767         updated to pass parameter to _web_writableTypesForImageIncludingArchive:
2768
2769 2005-03-07  Richard Williamson   <rjw@apple.com>
2770
2771         More bullet proofing for <rdar://problem/4038304> CrashTracer: ....9 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 840
2772
2773         Protect against removal of Times and Times New Roman from
2774         system.  If these fonts are removed attempt to get system font
2775         instead of FATAL_ALWAYS.
2776
2777         Reviewed by John.
2778
2779         * WebCoreSupport.subproj/WebTextRenderer.m:
2780         (-[WebTextRenderer initWithFont:usingPrinterFont:]):
2781
2782 === Safari-403 ===
2783
2784 2005-03-06  Darin Adler  <darin@apple.com>
2785
2786         - fixed obvious mistake in IDN script code (luckily it hasn't been in a submission yet!)
2787
2788         * Misc.subproj/WebNSURLExtras.m: (readIDNScriptWhiteListFile): Use "index" to index into the array,
2789         not "script", which is the script number, not the 32-bit-word index.
2790
2791 2005-03-05  Kevin Decker  <kdecker@apple.com>
2792
2793         Reviewed by Darin.
2794
2795         Fixed: <rdar://problem/4038529> Infinite progress bar loading webcams and other sites that use multipart/x-mixed-replace
2796
2797         The previous patch I landed prevented us from loading multipart/x-mixed-replace but did not always update the progress bar accordingly.  
2798         This stops websites from having seemingly infinite progress in the browser UI.  
2799
2800         * WebCoreSupport.subproj/WebSubresourceClient.m:
2801         (-[WebSubresourceClient didReceiveResponse:]): If this is "multipart/x-mixed-replace", remove the WebBaseResourceHandleDelegate client from 
2802         the datasource's subresource array, otherwise -[WebDataSource isLoading] incorrectly returns YES.   Also it's possible at this point in
2803          time we're done loading now (loaded everything else except for the multipart/x-mixed-replace content) so go ahead and check to see if 
2804          in fact we're complete. 
2805         * WebView.subproj/WebMainResourceClient.m:
2806         (-[WebMainResourceClient connection:didReceiveResponse:]): ditto
2807
2808 2005-03-05  Richard Williamson   <rjw@apple.com>
2809
2810         Fixed panther build problem.  Shouldn't include
2811         changes for 3968753 on panther.
2812
2813         Reviewed by John.
2814
2815         * WebView.subproj/WebView.m:
2816         (-[WebView _commonInitializationWithFrameName:groupName:]):
2817
2818 2005-03-05  Darin Adler  <darin@apple.com>
2819
2820         Reviewed by John.
2821
2822         - fixed <rdar://problem/4034603> REGRESSION (185-188): RadarWeb can't send enclosures anymore
2823
2824         * WebView.subproj/WebFormDataStream.m:
2825         (closeCurrentStream): Release currentData when closing the stream.
2826         (advanceCurrentStream): Set up and retain currentData when the current stream is reading that data, so the
2827         data won't be released while in use.
2828         (formCreate): Initialize currentData to NULL.
2829
2830         - fixed <rdar://problem/4037562> Tiger8A402: Help Viewer crashed when viewing help for iChat (infinite recursion in WebView)
2831
2832         * WebView.subproj/WebView.m: (-[WebView _responderValidateUserInterfaceItem:]):
2833         Check for the case where we ourselves are the responder. This avoids an infinite loop.
2834         The actual code to perform operations avoids this with a global variable, but this lighter weight
2835         solution is sufficient here because validate operations don't call through to the next responder.
2836
2837 2005-03-04  Richard Williamson   <rjw@apple.com>
2838
2839         Fixed <rdar://problem/3968753> REGRESSION: Poor performance with differing multiple animated GIFs (was fast in Panther)
2840
2841         Disable coalesced updates (in CG).  This restores the
2842         panther behavior.
2843
2844         Reviewed by David Harrison.
2845
2846         * WebView.subproj/WebView.m:
2847         (-[WebView _commonInitializationWithFrameName:groupName:]):
2848
2849 2005-03-04  Adele Amchan  <adele@apple.com>
2850
2851         Reviewed by Darin.
2852
2853         * English.lproj/StringsNotToBeLocalized.txt: added new strings "text/x-vcf" and "text/x-csv" to the list
2854
2855 2005-03-04  Adele Amchan  <adele@apple.com>
2856
2857         Reviewed by Chris.
2858
2859         Fix for <rdar://problem/4032982> Sun iPlanet app: not able to import AddressBook CSV format addresses properly
2860         Fix for <rdar://problem/4032985> Sun iPlanet app: not able to import vCard format addresses properly
2861
2862         * WebView.subproj/WebTextView.m:
2863         (+[WebTextView unsupportedTextMIMETypes]): added "text/x-csv" and "text/x-vcf" to the list of MIME types that our text view doesn't handle
2864
2865 2005-03-04  Darin Adler  <darin@apple.com>
2866
2867         Reviewed by John.
2868
2869         - fixed <rdar://problem/4036817> REGRESSION: ctrl-y broken when a line + carriage return cut
2870
2871         * WebView.subproj/WebHTMLView.m:
2872         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Merged _handleKillRing behavior
2873         into this function, since there's now a more-complicated way the startNewKillRingSequence boolean needs to
2874         be handled. Set the startNewKillRingSequence boolean after the entire process so changing the selection before
2875         and during the editing dosn't clear it. Also change "isTypingAction" parameter to "deletionAction" so we can
2876         handle forward delete with this method.
2877         (-[WebHTMLView _deleteSelection]): Pass deleteSelectionAction for action rather than NO for isTypingAction,
2878         which is the way to say the same thing using the new parameter.
2879         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Refactor to use the _deleteRange
2880         method above. Also calls _shouldDeleteRange: for the pre-existing selection case; not doing that before was
2881         a bug.
2882         (-[WebHTMLView deleteToMark:]): Pass deleteSelectionAction for action rather than NO for isTypingAction,
2883         which is the way to say the same thing using the new parameter.
2884
2885 2005-03-04  Darin Adler  <darin@apple.com>
2886
2887         Reviewed by John.
2888
2889         - fixed <rdar://problem/4020413> REGRESSION (Mail): can't use fonts with names that start with "#" in Mail (Korean fonts)
2890
2891         * WebView.subproj/WebHTMLView.m:
2892         (-[WebHTMLView _styleFromFontAttributes:]): Quote font name when calling setFontFamily.
2893         (-[WebHTMLView _addToStyle:fontA:fontB:]): Ditto.
2894
2895 2005-03-04  Darin Adler  <darin@apple.com>
2896
2897         Reviewed by John.
2898
2899         - fixed <rdar://problem/3965666> IDN spoofing vulnerability caused by Unicode characters that look like ASCII characters
2900
2901         * Misc.subproj/WebNSURLExtras.m:
2902         (readIDNScriptWhiteListFile): Added. Reads file and parses script names.
2903         (readIDNScriptWhiteList): Added. Calls readIDNScriptWhiteList on each of the white list locations in succession.
2904         (allCharactersInIDNScriptWhiteList): Renamed from containsPossibleLatinLookalikes and changed sense.
2905         Now calls readIDNScriptWhiteList first time, and then uses the read-in list to check the scripts.
2906         (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call allCharactersInIDNScriptWhiteList instead of
2907         containsPossibleLatinLookalikes.
2908         * Resources/IDNScriptWhiteList.txt: Added.
2909         * WebKit.pbproj/project.pbxproj: Added IDNScriptWhiteList.txt file.
2910
2911         * Misc.subproj/WebKitLocalizableStrings.m: Removed. This is simply unused.
2912         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
2913
2914 2005-03-04  Darin Adler  <darin@apple.com>
2915
2916         Reviewed by John.
2917
2918         - fixed <rdar://problem/3937667> REGRESSION (Mail): Zooming a window from titlebar button doesn't paint newly-exposed portions of window
2919
2920         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
2921         Re-set-up the visRect if the bounds changes due to layout.
2922
2923 === Safari-402 ===
2924
2925 2005-03-03  Jens Alfke  <jens@apple.com>
2926
2927         Reviewed by rjw.
2928
2929         <rdar://problem/3991818> REGRESSION: Images scale while loading
2930         The code could crop an image when not all the scanlines were available yet, and it could crop when only a sub-rect of the image was to be drawn; but if it had to do both at once, it got the coordinates wrong. Fixed that.
2931
2932         * WebCoreSupport.subproj/WebImageData.m:
2933         (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
2934
2935 2005-03-01  David Hyatt  <hyatt@apple.com>
2936
2937         Fix for 3841186, scrollbar shows up disabled when it should not appear at all.  Make sure updateScrollers
2938         is never allowed to be re-entrant from any call point by moving the guard inside the function itself.
2939         
2940         Reviewed by John Sullivan
2941
2942         * WebView.subproj/WebDynamicScrollBarsView.m:
2943         (-[WebDynamicScrollBarsView updateScrollers]):
2944         (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
2945
2946 2005-03-02  Chris Blumenberg  <cblu@apple.com>
2947
2948         Fixed: <rdar://problem/4029010> Expose method to retrieve drag image for WebView's selection
2949
2950         Reviewed by sullivan.
2951
2952         * WebView.subproj/WebHTMLView.m:
2953         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call _selectionDraggingImage
2954         (-[WebHTMLView _selectionDraggingImage]): new SPI for Mail, factored from previous method
2955         (-[WebHTMLView _selectionDraggingRect]): new SPI for Mail
2956         * WebView.subproj/WebHTMLViewPrivate.h:
2957
2958 2005-03-02  John Sullivan  <sullivan@apple.com>
2959
2960         Reviewed by Adele.
2961         
2962         - fixed <rdar://problem/4023337> Safari stops loading any page (-[NSCFDictionary setObject:forKey:]: 
2963         attempt to insert nil key)
2964         
2965         It is very likely that the exception being hit is caused by the same problem as WebFoundation
2966         bug 4018486. This change makes the code robust against this kind of problem regardless.
2967
2968         * WebView.subproj/WebBaseResourceHandleDelegate.m:
2969         (-[WebBaseResourceHandleDelegate saveResource]):
2970         Don't call addSubresource if newly-created resource is nil (but do assert on debug builds).
2971         Also assert that originalURL and MIMEType are not nil.
2972         
2973         * WebView.subproj/WebDataSource.m:
2974         (-[WebDataSource addSubresource:]):
2975         Don't add nil subresource to dictionary, but do assert on debug builds.
2976
2977 === Safari-401 ===
2978
2979 2005-03-01  John Sullivan  <sullivan@apple.com>
2980
2981         Reviewed by Darin.
2982         
2983         - fixed <rdar://problem/3987482> Format>Style>Italic is not enabled when a 
2984         compose window is empty (works in Blot)
2985
2986         * WebView.subproj/WebHTMLView.m:
2987         (-[WebHTMLView becomeFirstResponder]):
2988         call _updateFontPanel here so NSFontManager knows the right font for the menu
2989         items and the font panel
2990
2991 2005-03-01  David Harrison  <harrison@apple.com>
2992
2993         Reviewed by Chris.
2994         
2995         <rdar://problem/3915560> Mail would like an SPI to enable "smart" text paste/drop
2996
2997         * WebView.subproj/WebHTMLView.m:
2998         (-[WebHTMLView _smartDeleteRangeForProposedRange:]):
2999         (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]):
3000         New.
3001
3002 2005-02-28  John Sullivan  <sullivan@apple.com>
3003
3004         Reviewed by Ken.
3005         
3006         - WebKit part of fix for <rdar://problem/4023490> REGRESSION (125-185): Tabbing through links 
3007         on frameset page gets stuck at end (tivofaq.com)
3008         
3009         This tab-to-links stuff has been in shaky condition ever since AppKit futzed with
3010         tabbing behavior in Tiger to add support for including the toolbar in the key loop.
3011         I made some changes months ago to compensate for that, but some cases, such as this
3012         one, still weren't fixed.
3013
3014         * WebCoreSupport.subproj/WebBridge.m:
3015         (-[WebBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
3016         new bottleneck method, extracted from nextKeyViewOutsideWebFrameViews; handles
3017         nextKeyView or nextValidKeyView depending on parameter.
3018         (-[WebBridge nextKeyViewOutsideWebFrameViews]):
3019         now calls extracted method
3020         (-[WebBridge nextValidKeyViewOutsideWebFrameViews]):
3021         new method, calls new bottleneck method
3022         
3023         * WebView.subproj/WebHTMLView.m:
3024         (-[WebHTMLView nextValidKeyView]):
3025         when we're stuck at the end of a nextKeyView chain inside a nexted frame, use
3026         nextValidKeyViewOutsideWebFrameViews. Make sure we don't end up looking inside
3027         the web frame views while doing this.
3028
3029 2005-02-25  Darin Adler  <darin@apple.com>
3030
3031         Reviewed by John.
3032
3033         - fixed <rdar://problem/4025088> window onblur and onfocus don't fire when text field has focus
3034
3035         * WebView.subproj/WebHTMLView.m:
3036         (-[WebHTMLView updateFocusState]): Renamed from updateFocusDisplay. Added call to setWindowHasFocus: method.
3037         (-[WebHTMLView viewDidMoveToWindow]): Call method by new name.
3038         (-[WebHTMLView windowDidBecomeKey:]): Ditto.
3039         (-[WebHTMLView windowDidResignKey:]): Ditto.
3040         (-[WebHTMLView becomeFirstResponder]): Ditto.
3041         (-[WebHTMLView resignFirstResponder]): Ditto.
3042
3043 === Safari-400 ===
3044
3045 2005-02-25  Richard Williamson   <rjw@apple.com>
3046
3047         Fixed <rdar://problem/4000962> 8A375: Help Viewer displays voiced sound and semi-voiced characters strangely (characters don't seem to be composed)
3048
3049         Added special case for voiced marks.
3050
3051         Reviewed by John.
3052
3053         * WebCoreSupport.subproj/WebTextRenderer.m:
3054         (widthForNextCharacter):
3055
3056 2005-02-25  Darin Adler  <darin@apple.com>
3057
3058         Reviewed by John.
3059
3060         - fixed <rdar://problem/4019823> Seed: Control-Y doesn't work
3061
3062         * WebView.subproj/WebHTMLView.m:
3063         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Call _handleKillRing
3064         after setting the selection, since it uses the selection to get the text.
3065         (-[WebHTMLView _insertText:selectInsertedText:]): Check for empty string to avoid an assertion
3066         on the other side of the bridge when you yank the empty string.
3067
3068 2005-02-24  Richard Williamson   <rjw@apple.com>
3069
3070         Fixed <rdar://problem/3382926> Bidi neutrals at RTL/LTR boundaries not handled correctly.
3071
3072         If directionality is specified use that as initial directionality,
3073         rather than neutral directionality.     
3074
3075         Reviewed by Hyatt.
3076
3077         * WebCoreSupport.subproj/WebTextRenderer.m:
3078         (widthForNextCharacter):
3079
3080 2005-02-24  Adele Amchan  <adele@apple.com>
3081
3082         Reviewed by Chris.
3083        
3084         Fix for <rdar://problem/4023393> Safari crashed in khtml::RenderObject::repaintAfterLayoutIfNeeded(QRect const&, QRect const&)
3085
3086         We were crashing after hitting PageDown when viewing a pdf because 
3087         WebKit was calling over to WebCore to scroll overflow areas.
3088         Since this only needs to be done if we're dealing with a WebHTMLView, 
3089         I added a wrapper function to check the documentView before calling
3090         over to WebCore.
3091
3092         * WebView.subproj/WebFrameView.m:
3093         (-[WebFrameView _scrollOverflowInDirection:granularity:]): added wrapper function that checks if documentView is a WebHTMLView 
3094         (-[WebFrameView scrollToBeginningOfDocument:]): uses new wrapper function now
3095         (-[WebFrameView scrollToEndOfDocument:]): uses new wrapper function now
3096         (-[WebFrameView _pageVertically:]): uses new wrapper function now
3097         (-[WebFrameView _pageHorizontally:]): uses new wrapper function now
3098         (-[WebFrameView _scrollLineVertically:]): uses new wrapper function now
3099         (-[WebFrameView _scrollLineHorizontally:]): uses new wrapper function now
3100
3101 2005-02-24  Richard Williamson   <rjw@apple.com>
3102
3103         Fixed <rdar://problem/3985889> REGRESSION (125-180): setting <img> src to GIF that already animated does not animate; just shows final frame
3104         
3105         Reviewed by Hyatt.
3106
3107         * WebCoreSupport.subproj/WebImageData.h:
3108         * WebCoreSupport.subproj/WebImageData.m:
3109         (-[WebImageData resetAnimation]):
3110         * WebCoreSupport.subproj/WebImageRenderer.m:
3111         (-[WebImageRenderer resetAnimation]):
3112         (-[WebInternalImage resetAnimation]):
3113         (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
3114
3115 2005-02-24  Kevin Decker  <kdecker@apple.com>
3116
3117         Reviewed by John.
3118
3119         Fixed <rdar://problem/3962401> Don't load multipart/x-mixed-replace content to prevent memory leak
3120
3121         Since we're not going to fix <rdar://problem/3087535> for Tiger, we should not load multipart/x-mixed-replace content.  Pages with such content contain what is essentially an infinite load and therefore may leak.
3122
3123         * WebView.subproj/WebMainResourceClient.m: 
3124         (-[WebMainResourceClient connection:didReceiveResponse:]):  Disabled loading of multipart/x-mixed-replace content until we fully implement server side push. 
3125          * WebCoreSupport.subproj/WebSubresourceClient.m: 
3126         (-[WebSubresourceClient didReceiveResponse:]): Ditto. Same exact thing for sub resources. 
3127
3128
3129 2005-02-23  John Sullivan  <sullivan@apple.com>
3130
3131         Reviewed by Ken.
3132         
3133         - fixed <rdar://problem/4021370> REGRESSION (Tiger): WebKit part of fix for 
3134         shift-tab on tivofaq doing the wrong thing
3135
3136         * WebView.subproj/WebFrameView.m:
3137         (-[WebFrameView becomeFirstResponder]):
3138         If our previousValidKeyView is nil or self (same as nil modulo AppKit oddness),
3139         look out of the box and get the previousValidKeyView of our webview.
3140
3141 2005-02-23  Darin Adler  <darin@apple.com>
3142
3143         Reviewed by Hyatt.
3144
3145         - fixed <rdar://problem/4010196> REGRESSION (125-186+): 8-character timestamps in gmail wrap to 2 lines (width:8ex; font-size:80%)
3146
3147         * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer xHeight]): Return the maximum
3148         of the "x" height and width. Comment in the code explains why in more detail.
3149
3150 2005-02-22  Richard Williamson   <rjw@apple.com>
3151
3152         Fixed <rdar://problem/3937203> when a div adds a scrollbar (overflow:auto) we do not get regions
3153
3154         Compare regions after automatice scroll regions have been
3155         added.
3156
3157         Reviewed by Maciej.
3158
3159         * WebCoreSupport.subproj/WebBridge.h:
3160         * WebCoreSupport.subproj/WebBridge.m:
3161         (-[WebBridge dealloc]):
3162         (-[WebBridge _compareDashboardRegions:]):
3163         (-[WebBridge dashboardRegionsChanged:]):
3164
3165 2005-02-22  Richard Williamson   <rjw@apple.com>
3166
3167         Fixed <rdar://problem/4012463> Dashboard widgets don't work with authenticating proxies
3168
3169         Added new SPI for dashboard that just calls default delegate
3170         behavior.
3171
3172         Reviewed by Maciej.
3173
3174         * WebView.subproj/WebView.m:
3175         (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]):
3176         * WebView.subproj/WebViewPrivate.h:
3177
3178 2005-02-22  Chris Blumenberg  <cblu@apple.com>
3179
3180         Reviewed by mjs.
3181
3182         * WebCoreSupport.subproj/WebBridge.m:
3183         (-[WebBridge issuePasteAndMatchStyleCommand]): support for new "PasteAndMatchStyle" exec command
3184
3185 === Safari-188 ===
3186
3187 2005-02-21  David Harrison  <harrison@apple.com>
3188
3189         Reviewed by Darin.
3190
3191         <rdar://problem/3943090> REGRESSION (Mail): Spelling underline incompletely erased following certain steps
3192
3193         * WebCoreSupport.subproj/WebTextRenderer.m:
3194         (-[WebTextRenderer misspellingLineThickness]):
3195         (-[WebTextRenderer misspellingLinePatternWidth]):
3196         Replaced #defines with these methods, so others can get the same info.
3197         
3198         (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
3199         Keep underline within originally specified bounds.
3200         
3201
3202 2005-02-21  Darin Adler  <darin@apple.com>
3203
3204         Reviewed by John.
3205
3206         - fixed <rdar://problem/4016358> don't ever display IDN URLs with characters from "possible Latin look-alike" scripts
3207
3208         * Misc.subproj/WebNSURLExtras.m:
3209         (containsPossibleLatinLookalikes): Added.
3210         (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call containsPossibleLatinLookalikes, and if true,
3211         don't decode the host name.
3212
3213 2005-02-19  Kevin Decker  <kdecker@apple.com>
3214
3215         Reviewed by Chris.
3216
3217         Fixed <rdar://problem/4010765> Flash player can be used to arbitrarily open popup windows without user permission
3218         
3219         Our window.open() policy is to refuse the <script>window.open(...)</script> case and allow the inline the <a href="javascript:window.open('foo')> case.  Clever advertisers at some point realized that by executing their Javascript through the Flash plugin, Safari would always treat their code as the inline case, and thus, they were able to work around our popup blocker. 
3220
3221         * Plugins.subproj/WebBaseNetscapePluginView.h: Addded currentEventIsUserGesture boolean ivar. 
3222         * Plugins.subproj/WebBaseNetscapePluginView.m:
3223         (-[WebBaseNetscapePluginView sendEvent:]): If at any point the user clicks or presses a key from within a plugin, set the currentEventIsUserGesture flag to true. This is important to differentiate legitimate window.open() calls originating from plugins;  we still want to allow those. 
3224         (-[WebBaseNetscapePluginView initWithFrame:]): In our asynchronous load, pass along currentEventIsUserGesture to the PluginRequest. 
3225         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Inform WebCore if this was a user originated gesture when calling executeScript(). 
3226         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
3227         (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]):
3228         (-[WebPluginRequest isCurrentEventUserGesture]): Added. 
3229
3230 2005-02-18  Chris Blumenberg  <cblu@apple.com>
3231
3232         Fixed: <rdar://problem/3945271> REGRESSION (Mail): pasted plain text should pick up typing style instead of being unstyled
3233
3234         Reviewed by kocienda.
3235
3236         * WebView.subproj/WebDataSource.m:
3237         (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for matchStyle to replaceSelection
3238         * WebView.subproj/WebHTMLView.m:
3239         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]): return new chosePlainText parameter
3240         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass chosePlainText for matchStyle to replaceSelection
3241         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
3242
3243 2005-02-17  Richard Williamson   <rjw@apple.com>
3244
3245         Removed code that should not have been checked in from
3246         last patch.
3247
3248         * WebCoreSupport.subproj/WebTextRendererFactory.m:
3249         (-[WebTextRendererFactory isFontFixedPitch:]):
3250
3251 2005-02-17  Richard Williamson   <rjw@apple.com>
3252
3253         Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
3254
3255         Fixed w/o introducing a performance regression.
3256
3257         Reviewed by Vicki (and earlier by Dave Harrison).
3258
3259         * WebCoreSupport.subproj/WebTextRenderer.m:
3260         (-[WebTextRenderer _computeWidthForSpace]):
3261         (widthForNextCharacter):
3262         * WebCoreSupport.subproj/WebTextRendererFactory.h:
3263         * WebCoreSupport.subproj/WebTextRendererFactory.m:
3264         (-[NSFont _web_isFakeFixedPitch]):
3265         (-[WebTextRendererFactory isFontFixedPitch:]):
3266         (-[WebTextRendererFactory fontWithFamily:traits:size:]):
3267
3268 2005-02-17  Richard Williamson   <rjw@apple.com>
3269
3270         Fixed <rdar://problem/3959304> PDF in img tag is not rendered correctly anymore
3271
3272         We were incorrectly adding image position when flipping coordinates.
3273
3274         Reviewed by David Harrison.
3275
3276         * WebCoreSupport.subproj/WebImageData.m:
3277         (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):
3278
3279 2005-02-17  Richard Williamson   <rjw@apple.com>
3280
3281         Fixed <rdar://problem/4007262> Seed: Flight tracker scrolling moves to the left
3282
3283         Added SPI for dashboard to disable wheel scrolling of the WebClipView.
3284
3285         Reviewed by Ken.
3286
3287         * ChangeLog:
3288         * WebView.subproj/WebClipView.m:
3289         (-[WebClipView _focusRingVisibleRect]):
3290         (-[WebClipView scrollWheel:]):
3291         * WebView.subproj/WebView.m:
3292         (-[WebViewPrivate init]):
3293         (-[WebView drawRect:]):
3294         (-[WebView _dashboardBehavior:]):
3295         * WebView.subproj/WebViewInternal.h:
3296         * WebView.subproj/WebViewPrivate.h:
3297
3298 === Safari-187 ===
3299
3300 2005-02-17  Vicki Murley <vicki@apple.com>
3301
3302         - roll out this change, since it causes a 1.5% performance regression
3303
3304     2005-02-15  Richard Williamson   <rjw@apple.com>
3305         
3306         Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
3307         
3308         Lie about Osaka-Mono.  Treat it as fixed pitch, even though,
3309         strictly speaking it isn't.  (Similar to what we do with
3310         Courier New.)
3311
3312         Reviewed by David Harrison.
3313
3314         * WebCoreSupport.subproj/WebTextRenderer.m:
3315         (-[WebTextRenderer _computeWidthForSpace]):
3316         * WebCoreSupport.subproj/WebTextRendererFactory.h:
3317         * WebCoreSupport.subproj/WebTextRendererFactory.m:
3318         (-[NSFont _web_isFakeFixedPitch]): 
3319         (-[WebTextRendererFactory isFontFixedPitch:]):
3320         (-[WebTextRendererFactory fontWithFamily:traits:size:]):
3321
3322 2005-02-17  John Sullivan  <sullivan@apple.com>
3323
3324         Reviewed by Ken.
3325         
3326         - fixed <rdar://problem/3997185> The Web view on .Mac Prefs caused System Prefs 
3327         to lockup (resolved by re-boot only)
3328
3329         * WebCoreSupport.subproj/WebBridge.m:
3330         (-[WebBridge nextKeyViewOutsideWebFrameViews]):
3331         Don't allow recursion here; assert on debug build, return nil on deployment. I
3332         couldn't get my machine into a state to repro this problem (and neither could the
3333         originator), but it's obvious from the stack crawl that this method was recursing
3334         when it shouldn't have.
3335
3336 2005-02-16  John Sullivan  <sullivan@apple.com>
3337
3338         Written by Darin, reviewed by me.
3339         
3340         - WebKit part of fix for <rdar://problem/4007384> 
3341         FILTER: Bookmark of RSS with Japanese search word & multiple RSS pages loses filter
3342
3343         * DOM.subproj/DOMPrivate.h:
3344         updated this file, which is a copy of the WebCore version
3345
3346 2005-02-16  Richard Williamson   <rjw@apple.com>
3347
3348         Fixed <rdar://problem/3966973> Tiger 8A357: Binary Compatiblity: frequent Webstractor.app crashes [WebImageData _nextFrame]
3349
3350         Webstractor.app was playing tricks to create thumbnails of
3351         pages.  This caused the 'focusView' to be incorrect during
3352         animated GIF frame rendering.
3353
3354         Reviewed by Chris.
3355
3356         * WebCoreSupport.subproj/WebImageRenderer.m:
3357         (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
3358
3359 2005-02-16  Vicki Murley  <vicki@apple.com>
3360
3361         Reviewed by me, code change by Darin.
3362
3363         - fixed the build on Panther
3364
3365         * WebView.subproj/WebFormDataStream.m: (webSetHTTPBody):
3366         Added a Panther-specific code path that just loads all the data into one big
3367         NSData object. This means that bug 3686434 won't be fixed on SUPanWheat; we'll
3368         still load the file into memory before sending it to the server on Panther.
3369
3370 2005-02-15  Richard Williamson   <rjw@apple.com>
3371
3372         Fixed <rdar://problem/3998368> Tiger8A376: WebTextRenderer assertion failure in Safari while browsing news.bbc.co.uk
3373
3374         Removed use of FATAL_ALWAYS from getUncachedWidth().  It's unclear
3375         why we would trigger the FATAL_ALWAYS.  In the past we've seen
3376         the message triggered because of corrupt fonts.  Anyway, in this
3377         particular case, we will now return 0 for the character width,
3378         rather than exiting.
3379
3380         Reviewed by David Harrison.
3381
3382         * WebCoreSupport.subproj/WebTextRenderer.m:
3383         (getUncachedWidth):
3384
3385 2005-02-15  Richard Williamson   <rjw@apple.com>
3386
3387         Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
3388
3389         Lie about Osaka-Mono.  Treat it as fixed pitch, even though,
3390         strictly speaking it isn't.  (Similar to what we do with
3391         Courier New.)
3392
3393         Reviewed by David Harrison.
3394
3395         * WebCoreSupport.subproj/WebTextRenderer.m:
3396         (-[WebTextRenderer _computeWidthForSpace]):
3397         * WebCoreSupport.subproj/WebTextRendererFactory.h:
3398         * WebCoreSupport.subproj/WebTextRendererFactory.m:
3399         (-[NSFont _web_isFakeFixedPitch]):
3400         (-[WebTextRendererFactory isFontFixedPitch:]):
3401         (-[WebTextRendererFactory fontWithFamily:traits:size:]):
3402
3403 2005-02-14  Darin Adler  <darin@apple.com>
3404
3405         Reviewed by John.
3406
3407         - fixed <rdar://problem/3686434> Safari uses too much RAM on file upload, leading to malloc errors and crashes (HP printers)
3408
3409         * WebView.subproj/WebFormDataStream.h: Added webSetHTTPBody, which creates and connects an appropriate
3410         stream to an NSMutableURLRequest.
3411         * WebView.subproj/WebFormDataStream.m: Added implementation here.
3412
3413         * WebCoreSupport.subproj/WebBridge.m:
3414         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
3415         Use webSetHTTPBody.
3416         * WebCoreSupport.subproj/WebSubresourceClient.m:
3417         (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]):
3418         Use webSetHTTPBody.
3419         * WebView.subproj/WebFrame.m:
3420         (-[WebFrame _loadItem:withLoadType:]): Use webSetHTTPBody.
3421         (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
3422
3423         * English.lproj/StringsNotToBeLocalized.txt: Updated for this change and other recent changes.
3424
3425 2005-02-11  Richard Williamson   <rjw@apple.com>
3426
3427         Fixed <rdar://problem/4002505> 8A378: Endlessly animating gif's on http://www.entropy.ch
3428         
3429         If animated images had no loop count property we were incorrectly
3430         looping forver.  Note, that in the course of fixing this bug
3431         I found that ImageIO is incorrectly NOT reporting the loop count
3432         for a whole class of animated GIFs.
3433
3434         Reviewed by Ken Kocienda.
3435
3436         * WebCoreSupport.subproj/WebImageData.m:
3437         (-[WebImageData _repetitionCount]):
3438
3439 === Safari-186 ===
3440
3441 2005-02-11  Vicki Murley  <vicki@apple.com>
3442
3443         Reviewed by Darin.
3444
3445         - fix deployment build on Panther
3446  
3447         * WebView.subproj/WebHTMLView.m:
3448         (-[WebHTMLView changeBaseWritingDirection:]): ifdef out NSWritingDirectionNatural
3449         (-[WebHTMLView toggleBaseWritingDirection:]): fix a spacing issue
3450
3451 2005-02-10  David Harrison  <harrison@apple.com>
3452
3453         Reviewed by Richard.
3454
3455         <rdar://problem/3991652> REGRESSION (Mail): Deleting entire line in reply deletes extra blank line and moves insertion point
3456         
3457         * WebView.subproj/WebHTMLView.m:
3458         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]):
3459         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
3460         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
3461         (-[WebHTMLView selectToMark:]):
3462         (-[WebHTMLView swapWithMark:]):
3463         (-[WebHTMLView transpose:]):
3464         (-[WebHTMLView _selectMarkedText]):
3465         (-[WebHTMLView _selectRangeInMarkedText:]):
3466         Adopt new default affinity of NSSelectionAffinityDownstream as&nbs