Safari-186 stamp
[WebKit-https.git] / WebKit / ChangeLog
1 === Safari-186 ===
2
3 2005-02-11  Vicki Murley  <vicki@apple.com>
4
5         Reviewed by Darin.
6
7         - fix deployment build on Panther
8  
9         * WebView.subproj/WebHTMLView.m:
10         (-[WebHTMLView changeBaseWritingDirection:]): ifdef out NSWritingDirectionNatural
11         (-[WebHTMLView toggleBaseWritingDirection:]): fix a spacing issue
12
13 2005-02-10  David Harrison  <harrison@apple.com>
14
15         Reviewed by Richard.
16
17         <rdar://problem/3991652> REGRESSION (Mail): Deleting entire line in reply deletes extra blank line and moves insertion point
18         
19         * WebView.subproj/WebHTMLView.m:
20         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]):
21         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
22         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
23         (-[WebHTMLView selectToMark:]):
24         (-[WebHTMLView swapWithMark:]):
25         (-[WebHTMLView transpose:]):
26         (-[WebHTMLView _selectMarkedText]):
27         (-[WebHTMLView _selectRangeInMarkedText:]):
28         Adopt new default affinity of NSSelectionAffinityDownstream as of <rdar://problem/3937447>.
29         
30 2005-02-10  Darin Adler  <darin@apple.com>
31
32         Reviewed by Harrison.
33
34         - fixed <rdar://problem/4002084> Setting ResourceLoadDelegate to nil can cause a crash
35
36         * WebView.subproj/WebView.m: (-[WebView _cacheResourceLoadDelegateImplementations]):
37         Set booleans to either YES or NO, rather than setting them only in the YES case.
38
39 2005-02-10  Darin Adler  <darin@apple.com>
40
41         Reviewed by Harrison.
42
43         - fixed <rdar://problem/3991225> Format->Style->Underline menu item does not get checked when selected text is underlined
44
45         * WebView.subproj/WebHTMLView.m:
46         (-[WebHTMLView validateUserInterfaceItem:]): Added tons of additional cases in here for all the
47         "action" style methods in this class that don't always want to be valid. For the ones where state
48         makes sense, added the state-checking code too for the menu item case.
49         (-[WebHTMLView ignoreSpelling:]): Removed unnecessary "editable text only" check since this command
50         would work fine on a non-editable selection.
51         (-[WebHTMLView swapWithMark:]): Ditto.
52         (-[WebHTMLView changeBaseWritingDirection:]): Added. Like toggle, but based on the sender's tag.
53
54 2005-02-08  Darin Adler  <darin@apple.com>
55
56         "Reviewed" by Richard (he told me the file was obsolete).
57
58         - got rid of an obsolete file
59
60         * Plugins.subproj/npsap.h: Removed.
61         * copy-webcore-files-to-webkit: Removed npsap.h.
62
63 2005-02-09  Richard Williamson   <rjw@apple.com>
64
65         Fixed <rdar://problem/4000073> non-screen font error on www.worldofwarcraft.com
66
67         Reviewed by John Sullivan.
68
69         * WebCoreSupport.subproj/WebTextRenderer.m:
70         (-[WebTextRenderer _smallCapsFont]):
71
72 === Safari-185 ===
73
74 2005-02-07  Chris Blumenberg  <cblu@apple.com>
75
76         Fixed: <rdar://problem/3993354> Safari claims to put RTFD on the pasteboard, but doesn't, in some cases
77
78         Reviewed by john.
79
80         * WebView.subproj/WebHTMLView.m:
81         (-[WebHTMLView _stripAttachmentCharactersFromAttributedString:]): moved
82         (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]): take cachedAttributedString parameter in case the attributed string was gotten already
83         (-[WebHTMLView _writeSelectionToPasteboard:]): omit RTFD from the types list when there are no attachments
84
85 2005-02-07  David Harrison  <harrison@apple.com>
86
87         Reviewed by Ken.
88
89         <rdar://problem/3990693> REGRESSION (8A373): ctrl-k now deletes just one character instead of line
90         
91         * WebView.subproj/WebHTMLView.m:
92         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
93         Set the selection so that deleteKeyPressedWithSmartDelete knows what to delete.
94
95 2005-02-06  Darin Adler  <darin@apple.com>
96
97         Reviewed by Maciej.
98
99         - fixed <rdar://problem/3963166> PDFView SPI print method is being deprecated, moving to PDFDocument; please update WebKit
100
101         * WebView.subproj/WebPDFView.m: (-[WebPDFView printOperationWithPrintInfo:]): Target the document instead of the view.
102
103         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes and also moved one translation to be a file-specific
104         item rather than a file-independent one.
105
106 2005-02-05  Chris Blumenberg  <cblu@apple.com>
107
108         Fixed: <rdar://problem/3991974> REGRESSION: www.jabra.com world location screen does not work
109
110         Reviewed by hyatt.
111
112         * WebCoreSupport.subproj/WebBridge.m:
113         (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): use the baseURL from the bridge rather than from the response
114
115 2005-02-04  Chris Blumenberg  <cblu@apple.com>
116
117         Fixed: <rdar://problem/3802781> rtf->html pasteboard conversion using xhtml
118
119         Reviewed by kocienda.
120
121         * WebView.subproj/WebHTMLView.m:
122         (+[WebHTMLView _excludedElementsForAttributedStringConversion]): new
123         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): call _excludedElementsForAttributedStringConversion
124
125 2005-02-04  Chris Blumenberg  <cblu@apple.com>
126
127         Fixed: <rdar://problem/3832973> copy text from PowerPoint, paste into Blot (or presumably Mail) and get a single missing image icon
128
129         Reviewed by john.
130
131         * WebView.subproj/WebHTMLView.m:
132         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): prefer RTF and RTFD over images just as NSTextView does
133
134 2005-02-03  Chris Blumenberg  <cblu@apple.com>
135
136         Fixed: <rdar://problem/3555137> REGRESSION (125-173): Flash animation can erase parts of chrome (bookmarks bar & tab bar)
137
138         convertRect:toView: returns incorrect results inside of viewWillMoveToWindow: with a nil window. Workaround this by catching this case.
139
140         Reviewed by darin.
141
142         * Plugins.subproj/WebBaseNetscapePluginView.m:
143         (-[WebBaseNetscapePluginView superviewsHaveSuperviews]): new
144         (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): clip out the plug-in view when superviewsHaveSuperviews returns NO
145
146 2005-02-03  Chris Blumenberg  <cblu@apple.com>
147
148         Fixed: <rdar://problem/3893513> Sun iPlanet app: when saving to a file it brings up a window with the thing to be saved instead
149
150         Reviewed by adele.
151
152         * WebView.subproj/WebTextView.m:
153         (+[WebTextView unsupportedTextMIMETypes]): added "text/ldif" to the list of MIME types that our text view doesn't handle
154
155 === Safari-183 ===
156
157 2005-02-03  Chris Blumenberg  <cblu@apple.com>
158
159         * English.lproj/StringsNotToBeLocalized.txt: updated
160
161 2005-02-03  Chris Blumenberg  <cblu@apple.com>
162
163         Fixed: <rdar://problem/3989611> Evite style "add vCalendar to calendar" do not work
164
165         Reviewed by adele.
166
167         * WebView.subproj/WebTextView.m:
168         (+[WebTextView unsupportedTextMIMETypes]): added "text/x-vcalendar" to the list of MIME types our text view doesn't handle
169
170 2005-02-03  Vicki Murley  <vicki@apple.com>
171
172         Reviewed by Darin.
173
174         - fix deployment build breakage on Panther
175  
176         * WebView.subproj/WebHTMLView.m:
177         (-[WebHTMLView toggleBaseWritingDirection:]):
178
179 2005-02-02  John Sullivan  <sullivan@apple.com>
180
181         Reviewed by Chris.
182         
183         - WebKit part of fix for <rdar://problem/3980651> REGRESSION (125-180): Huge number of pages printed from certain page, 
184         iFrame involved
185         
186         This also fixes the problems with printing from GMail, yay!
187
188         * WebView.subproj/WebHTMLView.m:
189         (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
190         Don't adjust margins for header/footer here, because this is called for each subframe.
191         (-[WebHTMLView knowsPageRange:]):
192         Do adjust margins for header/footer here (analogous to WebTextView and WebImageView).
193         Also, round the page height to an integer here (noticed in passing).
194
195 2005-02-02  Chris Blumenberg  <cblu@apple.com>
196
197         Fixed: <rdar://problem/3986546> Cut, delete, and paste menu items are active when a image is opened in window
198
199         Reviewed by john.
200
201         * WebView.subproj/WebView.m:
202         (-[WebView _responderValidateUserInterfaceItem:]): new, has the responder validate the item 
203         (-[WebView validateUserInterfaceItem:]): call VALIDATE for each repsonder selector using FOR_EACH_RESPONDER_SELECTOR macro
204         (-[WebView _performResponderOperation:with:]): call factored out method _responderForResponderOperations
205         (-[WebView _responderForResponderOperations]): new, code from _performResponderOperation:with:
206
207 2005-02-02  Chris Blumenberg  <cblu@apple.com>
208
209         Fixed: <rdar://problem/3983628> control-click on WebView is not selecting the word under the cursor (Mail, non-editable WebView)
210
211         Reviewed by rjw.
212
213         * WebCoreSupport.subproj/WebBridge.m:
214         (-[WebBridge selectWordBeforeMenuEvent]): new
215         * WebView.subproj/WebView.m:
216         (-[WebView _selectWordBeforeMenuEvent]): new SPI
217         (-[WebView _setSelectWordBeforeMenuEvent:]): new SPI
218         * WebView.subproj/WebViewInternal.h:
219         * WebView.subproj/WebViewPrivate.h:
220
221 2005-02-02  Chris Blumenberg  <cblu@apple.com>
222
223         Fixed: <rdar://problem/3986013> Assertion failure going back after page load error (no apparent problem in nondebug build)
224
225         Reviewed by rjw.
226
227         * WebView.subproj/WebDataSource.m:
228         (-[WebDataSource _setPrimaryLoadComplete:]): don't set the data source data when the main client is nil
229
230 2005-02-02  Ken Kocienda  <kocienda@apple.com>
231
232         Reviewed by Darin
233
234         Fix for this bug:
235         
236         <rdar://problem/3823109> WebKit should support -toggleBaseWritingDirection: (bidi editing support)
237
238         * WebView.subproj/WebHTMLView.m:
239         (-[WebHTMLView _applyParagraphStyleToSelection:withUndoAction:]): New function that calls through to
240         new feature that allows callers to force all properties in a style to be applied as block styles.
241         (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]): Removed FIXME comment for something that has been fixed.
242         (-[WebHTMLView toggleBaseWritingDirection:]): Implemented.
243
244 2005-02-01  Richard Williamson   <rjw@apple.com>
245
246         Fixed <rdar://problem/3977727> WebKit should use new SPI to support faster GIF rendering
247
248         Note:  This REQUIRES build >= 3A362 when building on Tiger.
249
250         Reviewed by John.
251
252         * WebCoreSupport.subproj/WebImageData.m:
253         (-[WebImageData _imageSourceOptions]):
254
255 === Safari-182 ===
256
257 2005-02-01  Richard Williamson   <rjw@apple.com>
258
259         Added new SPI for <rdar://problem/3967063> need spi on WebView to turn of lcd text for Dashboard
260
261         Reviewed by Chris.
262
263         * WebCoreSupport.subproj/WebTextRenderer.m:
264         (_drawGlyphs):
265         * WebView.subproj/WebView.m:
266         (-[WebView drawRect:]):
267         (-[WebView _dashboardBehavior:]):
268         (+[WebView _setShouldUseFontSmoothing:]):
269         (+[WebView _shouldUseFontSmoothing]):
270         * WebView.subproj/WebViewInternal.h:
271         * WebView.subproj/WebViewPrivate.h:
272
273 2005-01-31  Chris Blumenberg  <cblu@apple.com>
274
275         Fixed: <rdar://problem/3949806> REGRESSION: Source window fails to refresh correctly on reload
276
277         The data method was being called on WebDataSource before the data was set. This fix makes WebDataSource set the data before releasing the main client instead of waiting for the main client to set it when it is dealloced.
278
279         Reviewed by darin.
280
281         * WebView.subproj/WebDataSource.m:
282         (-[WebDataSource _setData:]): moved within file
283         (-[WebDataSource _setPrimaryLoadComplete:]): call _setData: with the data from the main client before letting go of the main client
284         * WebView.subproj/WebDataSourcePrivate.h:
285         * WebView.subproj/WebMainResourceClient.m:
286         (-[WebMainResourceClient releaseResources]): removed call to _setData: since the data source may need the data before releaseResources is called
287
288 2005-01-31  Chris Blumenberg  <cblu@apple.com>
289
290         Fixed: <rdar://problem/3946285> Seed: Safari crashed by selecting all at internet-moebel.com
291
292         Reviewed by john.
293
294         * WebView.subproj/WebHTMLView.m:
295         (-[WebHTMLView _hitViewForEvent:]): new, factored hit test hack to this method
296         (-[WebHTMLView _updateMouseoverWithEvent:): call _hitViewForEvent:
297         (-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent: and _isSelectionEvent: on the hit HTMLView or else when it's asked to drag it will assert
298         (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
299
300 2005-01-31  David Harrison  <harrison@apple.com>
301
302         Reviewed by Darin.
303
304         <rdar://problem/3961239> AX Setting AXFocused on AXScrollArea of AXWebArea will cause keyboard selection change
305
306         * WebView.subproj/WebHTMLView.m:
307         (-[WebHTMLView maintainsInactiveSelection]):
308         Keep the selection when the new first respomder is our own scrollview, in both editable and non-editaqble content.
309
310 2005-01-31  Jens Alfke  <jens@apple.com>
311
312         Reviewed by John.
313
314         - Fixed <rdar://problem/3903199> REGRESSION: Large background patterns slide around while loading
315
316         * WebCoreSupport.subproj/WebImageData.m:
317         (drawPattern):
318         (-[WebImageData tileInRect:fromPoint:context:]):
319
320 2005-01-30  Darin Adler  <darin@apple.com>
321
322         Reviewed by John.
323
324         - fixed <rdar://problem/3965265> Safari displays HTML as source when default encoding is Hebrew (due to direction overrides added by encoding converter)
325
326         * WebView.subproj/WebPreferencesPrivate.h: Added _systemCFStringEncoding, and changed
327         _setInitialDefaultTextEncodingToSystemEncoding to be a class method.
328         * WebView.subproj/WebPreferences.m:
329         (+[WebPreferences _systemCFStringEncoding]): Added. New SPI to be used by Safari. Broken out of
330         _setInitialDefaultTextEncodingToSystemEncoding, but also added cases for MacArabic and MacHebrew.
331         (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Refactor to use _systemCFStringEncoding.
332
333 2005-01-28  Jens Alfke  <jens@apple.com>
334
335         Reviewed by Richard.
336
337         <rdar://problem/3727680> printing some page with WebKit generates a PDF with a 1x1 image with soft mask (causes Acrobat to hang during print spooling)
338
339         Detect 1x1 images, extract and cache color of single pixel, reduce draw and tile operations to a color fill (or to a no-op if the pixel is clear.)
340
341         * WebCoreSupport.subproj/WebImageData.h:
342         * WebCoreSupport.subproj/WebImageData.m:
343         (-[WebImageData _invalidateImages]):
344         (-[WebImageData _checkSolidColor:]):
345         (-[WebImageData _cacheImages:allImages:]):
346         (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]):
347         (-[WebImageData tileInRect:fromPoint:context:]):
348
349 2005-01-28  David Harrison  <harrison@apple.com>
350
351         Reviewed by Darin.
352
353         <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch
354
355         Use AppKit SPI _accessibilityParentForSubview to return KWQAccObject parent of AppKit AX object.
356         
357         * WebView.subproj/WebHTMLView.m:
358         (-[WebHTMLView _accessibilityParentForSubview:]):
359         New.
360
361 2005-01-28  Chris Blumenberg  <cblu@apple.com>
362
363         WebKit side of: <rdar://problem/3951283> can view pages from the back/forward cache that should be disallowed by Parental Controls
364
365         Reviewed by john.
366
367         * WebView.subproj/WebDefaultPolicyDelegate.m:
368         (-[WebDefaultPolicyDelegate webView:shouldGoToHistoryItem:]): new private delegate method
369         * WebView.subproj/WebFrame.m:
370         (-[WebFrame _goToItem:withLoadType:]): call new delegate method
371         * WebView.subproj/WebPolicyDelegatePrivate.h:
372
373 2005-01-26  Maciej Stachowiak  <mjs@apple.com>
374
375         Reviewed by Darin, Hyatt and Ken.
376
377         <rdar://problem/3790449> REGRESSION (Mail): underline behavior is flaky because of how CSS handles text-decoration
378
379         * WebView.subproj/WebHTMLView.m:
380         (-[WebHTMLView _styleFromFontAttributes:]): Use new -khtml-text-decorations-in-effect
381         property
382         (-[WebHTMLView _styleForAttributeChange:]): likewise
383         (-[WebHTMLView underline:]): likewise
384
385 2005-01-27  Ken Kocienda  <kocienda@apple.com>
386
387         Reviewed by Maciej
388
389         * WebView.subproj/WebHTMLView.m:
390         (-[WebHTMLView _handleKillRing:prepend:]): New helper function. Code factored out from 
391          _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:.
392         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]): No longer takes 
393         unused preflight argument. Now takes new isTypingAction argument. Uses isTypingAction to
394         determine which flavor of delete command to call.
395         (-[WebHTMLView _deleteSelection]): No longer passes unused preflight argument. Now passes new isTypingAction argument.
396         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Rearranged code to call
397         correct flavor of delete command, based on whether typing should be preserved. Some other cleanups.
398         (-[WebHTMLView deleteForward:]): Add _isEditable check.
399         (-[WebHTMLView deleteBackward:]): Now calls _deleteWithDirection instead of having unique behavior different 
400         from forward delete.
401         (-[WebHTMLView deleteWordForward:]): Add new isTypingAction flag to _deleteWithDirection call.
402         (-[WebHTMLView deleteWordBackward:]): Ditto.
403         (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
404         (-[WebHTMLView deleteToEndOfLine:]): Ditto.
405         (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
406         (-[WebHTMLView deleteToEndOfParagraph:]): Ditto.
407         (-[WebHTMLView deleteToMark:]): Ditto.
408
409 === Safari-181 ===
410
411 2005-01-27  Chris Blumenberg  <cblu@apple.com>
412
413         Fixed: <rdar://problem/3973272> REGRESSION: Safari uses QT plugin to display PNG images
414
415         Reviewed by john.
416
417         * Plugins.subproj/WebBasePluginPackage.m: use renamed QT bundle ID
418
419 2005-01-26  Darin Adler  <darin@apple.com>
420
421         Reviewed by John.
422
423         - fixed <rdar://problem/3829517> WebView still draws white when setDrawsBackground set to NO and no content loaded yet
424
425         * WebView.subproj/WebFrameView.m: (-[WebFrameView drawRect:]): Check drawsBackground, and don't
426         draw the white "no document" background if it's NO. This fixes things for frames with no document.
427         * WebView.subproj/WebImageView.m: (-[WebImageView drawRect:]): Same as above. This fixes things
428         for frames with just an image.
429         * WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the
430         document view if it implements it. This fixes things for frames with plain text.
431
432 2005-01-25  John Sullivan  <sullivan@apple.com>
433
434         Reviewed by Chris.
435         
436         - WebKit part of fix for: <rdar://problem/3970670> Text context menu 
437           in WebKit needs "Look Up in Dictionary" item
438
439         * WebView.subproj/WebDefaultContextMenuDelegate.m:
440         (localizedMenuTitleFromAppKit):
441         return English string in the case where AppKit bundle is found but doesn't
442         contain the expected string. This case will be hit by people testing with
443         an older AppKit.
444         (-[WebDefaultUIDelegate menuItemWithTag:]):
445         create Look Up in Dictionary item
446         (-[WebDefaultUIDelegate contextMenuItemsForElement:]):
447         add Look Up in Dictionary item and separator
448         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
449         ditto
450
451         * WebView.subproj/WebHTMLView.m:
452         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
453         new method, handles bringing up the Dictionary window. Includes FIXMEs
454         for a couple of the known loose ends.
455         (-[WebHTMLView validateUserInterfaceItem:]):
456         handle Look Up in Dictionary item like the other new items
457         
458         * WebView.subproj/WebUIDelegatePrivate.h:
459         added SPI constant for Look Up in Dictionary menu item
460
461 2005-01-24  Maciej Stachowiak  <mjs@apple.com>
462
463         Fixed Panther build (missing ifdef)
464
465         * WebView.subproj/WebDefaultContextMenuDelegate.m:
466
467 2005-01-24  John Sullivan  <sullivan@apple.com>
468
469         Reviewed by Darin.
470         
471         - WebKit part of fix for <rdar://problem/3960231> Text context menu in WebKit needs Spotlight and Google items
472         
473         * WebView.subproj/WebDefaultContextMenuDelegate.m:
474         (localizedMenuTitleFromAppKit):
475         new function, gets localized string from AppKit so we can avoid adding localized
476         strings to WebKit at this late date in Tiger. Returns the non-localized English
477         string if we can't find the localized string in AppKit.
478         (-[WebDefaultUIDelegate menuItemWithTag:]):
479         handle the two new menu items by tag name
480         (-[WebDefaultUIDelegate contextMenuItemsForElement:]):
481         add menu items for Search in Google and Search in Spotlight to selected-text menu item
482         for the noneditable case
483         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
484         add menu items for Search in Google and Search in Spotlight to selected-text menu item
485         for the editable case
486
487         * WebView.subproj/WebHTMLView.m:
488         (-[WebHTMLView _searchWithGoogleFromMenu:]):
489         implement this menu item action method, using same method name and implementation as NSTextView
490         (-[WebHTMLView _searchWithSpotlightFromMenu:]):
491         implement this menu item action method, using same basic implementation as NSTextView
492         (-[WebHTMLView validateUserInterfaceItem:]):
493         validate new menu items
494         
495         * WebView.subproj/WebUIDelegatePrivate.h:
496         define new tags for new menu items
497
498         * English.lproj/StringsNotToBeLocalized.txt:
499         updated for these changes
500
501 2005-01-24  Darin Adler  <darin@apple.com>
502
503         * WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]):
504         Do the same check as for view types, so the representation types are consistent.
505
506 2005-01-24  Darin Adler  <darin@apple.com>
507
508         Reviewed by John.
509
510         - fixed <rdar://problem/3791158> REGRESSION (Mail): copyFont: and pasteFont: copy and paste only the NSFont, not other attributes
511
512         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): Added the last
513         few loose ends here: strikethrough and underline.
514
515         - fixed <rdar://problem/3967393> add a user default that lets you turn off WebKit PDF support
516
517         * WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
518         Leave the PDF-handling classes out of the dictionary if the secret default is set.
519
520         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
521
522 2005-01-20  Darin Adler  <darin@apple.com>
523
524         Reviewed by Kristin Forster.
525
526         - fixed <rdar://problem/3964972> update _initWithCGSEvent:eventRef: call in mouse moved workaround (breaks cursors in Carbon WebKit applications)
527
528         * Carbon.subproj/HIWebView.m: (MouseMoved): Instead of munging the event record's window number directly
529         before calling _initWithCGSEvent, on Tiger we call _eventRelativeToWindow on the event after creating it.
530         Also added a check so that with Macromedia Contribute's workaround in place we don't do anything at all
531         to the event. Tested with both Contribute and CarbonWeb.
532
533         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
534
535 2005-01-20  Richard Williamson   <rjw@apple.com>
536
537         Fixed <rdar://problem/3815672> REGRESSION (Mail): Japanese text cannot be made bold
538
539         The AppKit's font substitution API doesn't match font traits! 
540         It only find fonts that contain the appropriate glyphs.  This
541         patch attempts to find the best variation within a family.
542
543         Reviewed by Maciej.
544
545         * WebCoreSupport.subproj/WebTextRenderer.m:
546         (-[WebTextRenderer _substituteFontForString:families:]):
547
548 === Safari-180 ===
549
550 2005-01-20  Ken Kocienda  <kocienda@apple.com>
551
552         Reviewed by John
553
554         Fix for this bug:
555         
556         <rdar://problem/3786659> REGRESSION (Mail): editable WebViews don't work with "size up" and "size down" NSFontManager changes
557
558         * WebView.subproj/WebHTMLView.m:
559         (-[WebHTMLView _addToStyle:fontA:fontB:]): This is the WebKit side of the fix. Replaced unimplemented code blocks
560         with FIXME's in them for make bigger and make smaller with real working code.
561
562 2005-01-19  David Hyatt  <hyatt@apple.com>
563
564         Fix for 3513067, spaces being lost when RTL text is rendered.  Make sure not to allow hangers or spaces
565         in the margin.
566         
567         Reviewed by john
568         
569         * WebCoreSupport.subproj/WebTextRenderer.m:
570         (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
571
572 2005-01-19  Darin Adler <darin@apple.com>
573
574         Reviewed by vicki
575
576         - fixed <rdar://problem/3962559> stopAnimationsInView leaks after cvs-base
577  
578         * WebCoreSupport.subproj/WebImageData.m: (+[WebImageData stopAnimationsInView:]): add a release
579
580 2005-01-19  Chris Blumenberg  <cblu@apple.com>
581
582         Fixed: <rdar://problem/3961809> plug-in code attempts to load empty URL
583
584         Reviewed by john.
585
586         * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
587         (-[WebNetscapePluginEmbeddedView didStart]): don't start load if URL is empty
588
589 2005-01-17  Darin Adler  <darin@apple.com>
590
591         * DOM.subproj/DOMPrivate.h: Check in generated file.
592
593 2005-01-17  Darin Adler  <darin@apple.com>
594
595         Reviewed by John and Richard.
596
597         - fixed <rdar://problem/3907453> printing a multi-page PDF document from Safari doesn't produce correct output
598
599         * WebView.subproj/WebFrameViewPrivate.h: Added.
600         * WebView.subproj/WebFrameView.m:
601         (-[WebFrameView canPrintHeadersAndFooters]): Added. Returnes NO for documents that can't print headers or footers,
602         and delegates to the document view to answer the question. Defaults to NO, since only a view that actively does
603         the work is compatible with our header and footer code.
604         (-[WebFrameView printOperationWithPrintInfo:]): Added. Returns an NSPrintOperation set up for printing. The reason
605         we return this rather than an NSView is that in the PDFView case, the print info is changed around before creating
606         the NSPrintOperation, and also the PDFKit SPI works this way.
607
608         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView canPrintHeadersAndFooters]): Added. Returns YES.
609         * WebView.subproj/WebImageView.m: (-[WebImageView canPrintHeadersAndFooters]): Ditto.
610         * WebView.subproj/WebTextView.m: (-[WebTextView canPrintHeadersAndFooters]): Ditto.
611
612         * WebView.subproj/WebPDFView.m:
613         (-[WebPDFView canPrintHeadersAndFooters]): Added. Returns NO.
614         (-[WebPDFView printOperationWithPrintInfo:]): Added. Calls getPrintOperationForPrintInfo: autoRotate:YES on the PDFView.
615
616         * WebKit.pbproj/project.pbxproj: Added WebFrameViewPrivate.h as a new private header.
617
618 2005-01-13  Chris Blumenberg  <cblu@apple.com>
619
620         Fixed: <rdar://problem/3932107> Safari does not load QT Cocoa plug-in if the WebPluginMIMETypes key is not in the info.plist
621
622         Fixing this bug required that we allow WebKit plug-ins (as well as Netscape plug-ins) support BP_CreatePluginMIMETypesPreferences
623         which allows plug-ins create an auxiliary MIME types file.
624
625         Reviewed by adele.
626
627         * Plugins.subproj/WebBasePluginPackage.h:
628         * Plugins.subproj/WebBasePluginPackage.m:
629         (+[WebBasePluginPackage preferredLocalizationName]): moved from WebNetscapePluginPackage
630         (-[WebBasePluginPackage pListForPath:createFile:]): ditto
631         (-[WebBasePluginPackage getPluginInfoFromPLists]): ditto
632         (-[WebBasePluginPackage isLoaded]): return isLoaded ivar
633         (-[WebBasePluginPackage load]): if loaded, get BP_CreatePluginMIMETypesPreferences symbol
634         * Plugins.subproj/WebNetscapePluginPackage.h:
635         * Plugins.subproj/WebNetscapePluginPackage.m:
636         (-[WebNetscapePluginPackage load]): call super when done so BP_CreatePluginMIMETypesPreferences can be initialized
637         * Plugins.subproj/WebPluginPackage.m:
638         (-[WebPluginPackage initWithPath:]): call getPluginInfoFromPLists
639         (-[WebPluginPackage load]): call super when done so BP_CreatePluginMIMETypesPreferences can be initialized
640
641 2005-01-13  Richard Williamson   <rjw@apple.com>
642
643         Fixed <rdar://problem/3952809> WebJavaPlugIn.h comments need method name corrected (webPlugInCallJava)
644
645         Reviewed by Maciej.
646
647         * Plugins.subproj/WebJavaPlugIn.h:
648
649 === Safari-179 ===
650
651 2005-01-13  Vicki Murley <vicki@apple.com>
652
653         Reviewed by Adele.
654
655         - fix <rdar://problem/3946836> Safari about box lists 2004 instead of 2005
656
657         * WebKit.pbproj/project.pbxproj: bump "2004" to "2005"
658
659 2005-01-13  Richard Williamson   <rjw@apple.com>
660
661         Fixed <rdar://problem/3951911> REGRESSION: Animated GIF images with loop counts no longer update
662
663         Draw last image after animation loop terminates.  (We
664         were drawing the image at index+1, which doesn't exist!)
665
666         Reviewed by Darin.
667
668         * WebCoreSupport.subproj/WebImageData.m:
669         (-[WebImageData _nextFrame:]):
670
671 2005-01-13  Richard Williamson   <rjw@apple.com>
672
673         Fixed <rdar://problem/3952084> REGRESSION: Links at projectseven.com now draw and update incorrectly during hover
674
675         Turn off use of new CGContextStrokeLineSegments API.  We should
676         turn back on when 3952944 is fixed.
677
678         Reviewed by Darin.
679
680         * WebCoreSupport.subproj/WebTextRenderer.m:
681         (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
682
683 2005-01-13  Chris Blumenberg  <cblu@apple.com>
684
685         Fixed: <rdar://problem/3937663> repro assertion failure and crash dragging image that has PDF source
686
687         Reviewed by adele.
688
689         * Misc.subproj/WebNSViewExtras.m:
690         (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): if [WebImageRenderer image] returns nil, fallback to code that uses a file icon as the drag image
691         * WebCoreSupport.subproj/WebImageRendererFactory.m:
692         (-[WebImageRendererFactory supportedMIMETypes]): removed code that omits PDF and PostScript from the list since this omission is only needed in WebImageView
693         * WebView.subproj/WebImageView.m:
694         (+[WebImageView supportedImageMIMETypes]): added code that omits PDF and PostScript since we don't want WebImageView to render these types
695
696 2005-01-10  Maciej Stachowiak  <mjs@apple.com>
697
698         Reviewed by Darin.
699
700         <rdar://problem/3758033> REGRESSION (Mail): Support attributes in marked text (International input)
701         
702         * WebCoreSupport.subproj/WebTextRenderer.m:
703         (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): Changed to support
704         underline thickness. Also added a bit of a hack here to move thickness 2 underlines down by
705         .5 pixels, since the rendering engine can't give a fractional pixel offset.
706         * WebView.subproj/WebHTMLView.m:
707         (-[WebHTMLView validAttributesForMarkedText]): Support underline, underline color and marked
708         clause attributes. Others that NSText supports are unimplemented for now.
709         (-[WebHTMLView firstRectForCharacterRange:]): Remove needless logging.
710         (-[WebHTMLView unmarkText]): Updated for new WebCore SPI.
711         (-[WebHTMLView _extractAttributes:ranges:fromAttributedString:]): New method to pull the attributes
712         and ranges out of an attributed string.
713         (-[WebHTMLView setMarkedText:selectedRange:]): Extract attributes and pass to WebCore.
714         (-[WebHTMLView insertText:]): Add comment noting that we don't really handle attributed strings
715         here.
716
717 2005-01-12  Darin Adler  <darin@apple.com>
718
719         Reviewed by Ken.
720
721         - fixed <rdar://problem/3848257> WebView will draw more than AppKit asks it to, so views behind won't redraw enough (transparent WebView)
722
723         * WebView.subproj/WebHTMLView.m:
724         (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): As recommended by Troy Stephens, do the
725         layouts here in this call, since it's before propagating the dirty rects to our ancestors.
726         This fixes the bug, but we only do it if the WebView is not opaque, because otherwise we can
727         optimize by only doing layouts you really need, and doing them later on is safe because we
728         know we don't need to draw any of the views behind us.
729         (-[WebHTMLView _layoutIfNeeded]): Added. Factored out from the method below.
730         (-[WebHTMLView _web_layoutIfNeededRecursive]): Added. Like the other "layout if needed" call,
731         but unconditional.
732         (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]): Factored out the guts into the
733         _layoutIfNeeded method above. Otherwise unchanged.
734         (-[NSView _web_layoutIfNeededRecursive]): Added.
735
736         * WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground:NO
737         on the scroll view when changing the frame to no longer be in "draws background" mode. This
738         is needed because the frame manages the "draws background" mode of the scroll view. It won't
739         have any effect if you call setDrawsBackground:NO before starting to use a WebView, but without
740         it calling setDrawsBackground:NO later won't have an immediate effect (easily visible in Safari).
741         This was hidden before because the HTML view was filling with transparent color, which blew away
742         the fill that was done by NSScrollView.
743
744         - fixed <rdar://problem/3921129> reproducible crash at www.funnychristmas.com in CFSet manipulation in WebImageData
745
746         * WebCoreSupport.subproj/WebImageData.m:
747         (-[WebImageData _imageSourceOptions]): Changed types so we don't need a cast.
748         (+[WebImageData stopAnimationsInView:]): Instead of building a set of sets, by putting in the sets with addObject,
749         build a single set using unionSet, and then iterate the objects instead of having to iterate the sets and then the
750         objects in each set. The old code ended up sharing the sets with the live code, when the whole idea was to gather
751         all the renderers because the process of stopping modifies the active sets.
752
753 2005-01-12  Richard Williamson   <rjw@apple.com>
754
755         Fixed <rdar://problem/3926825> Safari ignores GIF loop count
756
757         Get loop count from file properties, not image properties.
758
759         Reviewed by Ken Kocienda.
760
761         * WebCoreSupport.subproj/WebImageData.h:
762         * WebCoreSupport.subproj/WebImageData.m:
763         (-[WebImageData _commonTermination]):
764         (-[WebImageData fileProperties]):
765         (-[WebImageData _floatProperty:type:at:]):
766         (-[WebImageData _floatFileProperty:type:]):
767         (-[WebImageData _repetitionCount]):
768
769 2005-01-11  Chris Blumenberg  <cblu@apple.com>
770
771         Fixed: <rdar://problem/3934749> assertion failure in WebBaseNetscapePluginView loading movie
772
773         Reviewed by john.
774
775         * Plugins.subproj/WebBaseNetscapePluginView.m:
776         (-[WebBaseNetscapePluginView start]): call canStart before asserting about the webView
777
778 2005-01-11  John Sullivan  <sullivan@apple.com>
779
780         Reviewed by Darin.
781         
782         - fixed <rdar://problem/3446838> REGRESSION (Mail): text decorations don't print 
783         (e.g. <strike>, underline)
784
785         * WebCoreSupport.subproj/WebTextRenderer.m:
786         (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
787         This bottleneck routine for drawing a line was setting the linewidth to 0 when
788         the graphics context was not drawing to the screen. Thus, no lines. Now links
789         are underlined when printing from Safari (as well as Mail).
790
791 2005-01-11  Richard Williamson   <rjw@apple.com>
792
793         Fixed 3949145.  CG has a much faster API for drawing lines.
794         Switched over to that new API (CGContextStrokeLineSegments).
795
796         Reviewed by John Sullivan.
797
798         * WebCoreSupport.subproj/WebTextRenderer.m:
799         (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
800
801 2005-01-10  Chris Blumenberg  <cblu@apple.com>
802
803         Fixed: <rdar://problem/3948862> REGRESSION: missing images when RTFD is pasted into editable WebView
804
805         This problem occurred because we were creating image elements before creating corresponding image resources. The fix is to have AppKit call us back to create the resources before it creates the elements.
806
807         Reviewed by john.
808
809         * WebView.subproj/WebHTMLView.m:
810         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): don't deal with subresources since that's now done by the following method
811         (-[WebHTMLView resourceForData:preferredFilename:]): new handler method called by AppKit
812
813 === Safari-178 ===
814
815 2005-01-06  David Harrison  <harrison@apple.com>
816
817         Reviewed by Dave Hyatt
818
819         <rdar://problem/3588548> AX: tabbing does not work correctly with the screen reader and a focused link; need AXFocusedUIElement to work.
820
821         * WebView.subproj/WebHTMLView.m:
822         (-[WebHTMLView accessibilityFocusedUIElement]):
823         Implement this so that AppKit can use it from NSAccessibilityHandleFocusChanged.
824
825 2005-01-05  Chris Blumenberg  <cblu@apple.com>
826
827         Fixed: <rdar://problem/3936865> REGRESSION: canvas.drawImage no longer scales properly
828
829         Reviewed by john.
830
831         * WebCoreSupport.subproj/WebImageData.m: use the height of the inRect instead of the fromRect when setting the origin of the context
832
833 2005-01-04  Chris Blumenberg  <cblu@apple.com>
834
835         Fixed: <rdar://problem/3928329> WebKit should pass nil for "language" to checkSpellingOfString:
836
837         Reviewed by kocienda.
838
839         * WebView.subproj/WebHTMLView.m:
840         (-[WebHTMLView _isSelectionMisspelled]): pass nil not @"" for language
841
842 2004-12-21  Maciej Stachowiak  <mjs@apple.com>
843
844         Reviewed by Darin.
845
846         <rdar://problem/3888931> frame naming allows malicious site to bring up a window when you click on a link in another
847
848         Implement a security check on name frame visbility. This is the
849         same rule as mozilla. You can only target frames by name if you
850         are in the same window, have the same domain as the frame or an
851         ancestor, or if it's a top level window have the same domain as
852         the opener.
853         
854         * WebView.subproj/WebFrame.m:
855         (-[WebFrame _shouldAllowAccessFrom:]):
856         (-[WebFrame _descendantFrameNamed:sourceFrame:]):
857         (-[WebFrame findFrameNamed:]):
858         * WebView.subproj/WebFramePrivate.h:
859         * WebView.subproj/WebView.m:
860         (-[WebView _findFrameInThisWindowNamed:sourceFrame:]):
861         (-[WebView _findFrameNamed:sourceFrame:]):
862         * WebView.subproj/WebViewPrivate.h:
863
864 === Safari-177 ===
865
866 === Safari-176 ===
867
868 2004-12-20  Richard Williamson   <rjw@apple.com>
869
870         Add call to new API.  ImageIO deprecated some older (although
871         quite new!) API.   This caused us to fail to build on 337 or later.
872
873         Developers wanting to build on older versions of Tiger must define
874         USE_DEPRECATED_IMAGESOURCE_API in WebImageData.m.
875
876         Reviewed by Vicki.
877
878         * WebCoreSupport.subproj/WebImageData.m:
879         (-[WebImageData propertiesAtIndex:]):
880
881 2004-12-20  Richard Williamson   <rjw@apple.com>
882
883         Don't call Tiger SPI on Panther.
884
885         Reviewed by Vicki.
886
887         * WebCoreSupport.subproj/WebTextRendererFactory.m:
888         (+[WebTextRendererFactory createSharedFactory]):
889
890 2004-12-20  Richard Williamson   <rjw@apple.com>
891
892         Fixed <rdar://problem/3884448> WebKit should turn on CG local font cache
893
894         Enable mutli-tier font caching.  We should see a performance boost with this
895         change.
896
897         Reviewed by Chris.
898
899         * WebCoreSupport.subproj/WebTextRendererFactory.m:
900         (+[WebTextRendererFactory createSharedFactory]):
901
902 2004-12-20  Richard Williamson   <rjw@apple.com>
903
904         Fix image decoding to separately decode image meta data from actual image bits.  I
905         incorrectly consolidated decode of meta data and image bits resulting in a huge
906         performance regression.
907
908         Double size of WebCore cache on lower end machines.  On the PLT run on machines with
909         256MB of memory, too many images were being evicted, causing a re-decode on the PLT.
910         Upping the lower limit of the cache size ensure that no images are evicted (this
911         goes hand-in-hand with the change to the minimum object size from 32K to 40K).
912
913         Reviewed by Ken.
914
915         * WebCoreSupport.subproj/WebImageData.h:
916         * WebCoreSupport.subproj/WebImageData.m:
917         (+[WebImageData initialize]):
918         (-[WebImageData _commonTermination]):
919         (-[WebImageData _invalidateImages]):
920         (-[WebImageData _invalidateImageProperties]):
921         (-[WebImageData imageAtIndex:]):
922         (-[WebImageData propertiesAtIndex:]):
923         (-[WebImageData _cacheImages:allImages:]):
924         (-[WebImageData decodeData:isComplete:callback:]):
925         (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
926         * WebView.subproj/WebPreferences.m:
927         (+[WebPreferences initialize]):
928
929 2004-12-20  Richard Williamson   <rjw@apple.com>
930
931         Fixed build problem caused by change to ImageIO API.
932
933         Reviewed by Adele.
934
935         * WebCoreSupport.subproj/WebImageData.m:
936
937 2004-12-19  Darin Adler  <darin@apple.com>
938
939         Reviewed by Kevin.
940
941         - some garbage collection fixes
942
943         * Misc.subproj/WebNSObjectExtras.h: (WebCFAutorelease): Replaced the old WebNSRetainCFRelease with this
944         much-easier-to-understand function cribbed from what David Harrison did in WebCore.
945
946         * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use CFRelease here to
947         get rid of an unnecessary use of WebNSRetainCFRelease.
948         * Misc.subproj/WebNSURLExtras.m:
949         (+[NSURL _web_URLWithData:relativeToURL:]): Use WebCFAutorelease instead of WebNSRetainCFRelease and autorelease.
950         (-[NSURL _web_URLWithLowercasedScheme]): Ditto.
951         (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Use WebCFAutorelease here; the old code would not
952         work correctly under GC.
953         * Plugins.subproj/WebNetscapePluginPackage.m: (+[WebNetscapePluginPackage preferredLocalizationName]):
954         Use WebCFAutorelease here; the old code would not work correctly under GC.
955
956 2004-12-18  Chris Blumenberg  <cblu@apple.com>
957
958         Fixed: <rdar://problem/3766915> PDF content needs search to work
959
960         Reviewed by kevin, john.
961
962         * WebView.subproj/WebPDFView.m:
963         (-[WebPDFView searchFor:direction:caseSensitive:wrap:]): implemented
964         (-[WebPDFView takeFindStringFromSelection:]): new
965         (-[WebPDFView jumpToSelection:]): new
966         (-[WebPDFView validateUserInterfaceItem:]): new
967
968 2004-12-17  Richard Williamson   <rjw@apple.com>
969
970         Make image decoding as lazy as possible for non threaded case; in some cases
971         can avoid unnecessary decoding work.
972
973         Reviewed by Chris.
974
975         * WebCoreSupport.subproj/WebImageData.h:
976         * WebCoreSupport.subproj/WebImageData.m:
977         (-[WebImageData imageAtIndex:]):
978         (-[WebImageData propertiesAtIndex:]):
979         (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
980
981 2004-12-16  John Sullivan  <sullivan@apple.com>
982
983         Reviewed by Chris.
984         
985         One of the assertions from my previous checkin fired, so
986         I made this code more robust.
987
988         * WebCoreSupport.subproj/WebBridge.m:
989         (-[WebBridge _preferences]):
990         new helper method, returns global preferences if webView is nil,
991         otherwise returns webView's preferences
992         (-[WebBridge getObjectCacheSize]):
993         use new helper method, remove now-unnecessary assert
994         (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
995         ditto
996
997 2004-12-16  John Sullivan  <sullivan@apple.com>
998
999         Reviewed by Darin.
1000         
1001         - fixed <rdar://problem/3913523> Mail needs SPI for adding tooltips to links
1002         - cleaned up some calls to +[WebPreferences standardPreferences] that should
1003           have been using -[WebView preferences]
1004           
1005         This adds a (currently SPI-only) new feature that shows the URL of the link
1006         under the mouse in a toolTip. I tested this in Safari, but we're adding this
1007         feature for Mail, and Safari won't use it (unless of course you know the
1008         magic defaults command)
1009
1010         * Plugins.subproj/WebBaseNetscapePluginView.m:
1011         (-[WebBaseNetscapePluginView start]):
1012         use -[WebView preferences] instead of +[WebPreferences standardPreferences]
1013         
1014         * WebCoreSupport.subproj/WebBridge.m:
1015         (-[WebBridge getObjectCacheSize]):
1016         ditto
1017         (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
1018         ditto
1019         
1020         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1021         (-[WebBaseResourceHandleDelegate willCacheResponse:]):
1022         ditto
1023         
1024         * WebView.subproj/WebFrame.m:
1025         (-[WebFrame _transitionToCommitted:]):
1026         ditto
1027         (-[WebFrame _loadItem:withLoadType:]):
1028         ditto
1029         
1030         * WebView.subproj/WebHTMLViewInternal.h:
1031         private struct now keeps ivar for cached value of showsURLsInToolTips
1032         so it doesn't have look it up in preferences a zillion times
1033         
1034         * WebView.subproj/WebHTMLView.m:
1035         (-[WebHTMLView _updateMouseoverWithEvent:]):
1036         if private->showsURLsInToolTips is true, set the toolTip from the URL.
1037         Fall back to showing the title attribute in case some element has a title
1038         attribute but no URL.
1039         (-[WebHTMLView _mayStartDragAtEventLocation:]):
1040         use -[WebView preferences] instead of +[WebPreferences standardPreferences]
1041         (-[WebHTMLView _resetCachedWebPreferences:]):
1042         get a fresh value for private->showsURLsInToolTips
1043         (-[WebHTMLView initWithFrame:]):
1044         call _resetCachedWebPreferences the first time, and listen for WebPreferencesChanged notifications
1045         (-[WebHTMLView _handleStyleKeyEquivalent:]):
1046         use -[WebView preferences] instead of +[WebPreferences standardPreferences]
1047         
1048         * WebView.subproj/WebPreferenceKeysPrivate.h:
1049         added WebKitShowsURLsInToolTipsPreferenceKey
1050         
1051         * WebView.subproj/WebPreferences.m:
1052         (+[WebPreferences initialize]):
1053         initialize WebKitShowsURLsInToolTipsPreferenceKey to 0
1054         (-[WebPreferences showsURLsInToolTips]):
1055         return WebKitShowsURLsInToolTipsPreferenceKey value
1056         (-[WebPreferences setShowsURLsInToolTips:]):
1057         set WebKitShowsURLsInToolTipsPreferenceKey value
1058         
1059         * WebView.subproj/WebPreferencesPrivate.h:
1060         add declarations for showsURLsInToolTips and setter
1061         
1062         * WebView.subproj/WebTextView.m:
1063         (-[WebTextView _preferences]):
1064         new helper method that gets preferences from webView if there is a webView,
1065         otherwise gets global preferences
1066         (-[WebTextView setFixedWidthFont]):
1067         use new helper method rather than always using global preferences
1068         (-[WebTextView initWithFrame:]):
1069         observe WebPreferencesChangedNotification instead of unnecessarily general
1070         NSUserDefaultsChangedNotification
1071
1072 2004-12-14  John Sullivan  <sullivan@apple.com>
1073
1074         Reviewed by Ken.
1075         
1076         - rest of WebKit fix for <rdar://problem/3790011> undoable operations all say "Undo" 
1077         in the menu, no specific action names
1078         
1079         I only know of one loose end currently, which I wrote up as <rdar://problem/3920971> Edit menu 
1080         says "Undo Change Attributes" when it should say "Undo Set Color", from font panel
1081
1082         * WebView.subproj/WebHTMLView.m:
1083         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
1084         use WebUndoActionSetColor when dragging color swatch
1085         (-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
1086         new WebUndoAction parameter, passed across bridge
1087         (-[WebHTMLView _toggleBold]):
1088         use WebUndoActionSetFont
1089         (-[WebHTMLView _toggleItalic]):
1090         use WebUndoActionSetFont
1091         (-[WebHTMLView pasteFont:]):
1092         use WebUndoActionPasteFont
1093         (-[WebHTMLView changeFont:]):
1094         use WebUndoActionSetFont
1095         (-[WebHTMLView changeAttributes:]):
1096         use WebUndoActionChangeAttributes
1097         (-[WebHTMLView _undoActionFromColorPanelWithSelector:]):
1098         new method, returns WebUndoActionSetBackgroundColor or WebUndoActionSetColor
1099         (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
1100         now calls _undoActionFromColorPanelWithSelector
1101         (-[WebHTMLView changeColor:]):
1102         use WebUndoActionSetColor
1103         (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]):
1104         new WebUndoAction parameter, passed through
1105         (-[WebHTMLView alignCenter:]):
1106         use WebUndoActionCenter
1107         (-[WebHTMLView alignJustified:]):
1108         use WebUndoActionJustify
1109         (-[WebHTMLView alignLeft:]):
1110         use WebUndoActionAlignLeft
1111         (-[WebHTMLView alignRight:]):
1112         use WebUndoActionAlignRight
1113         (-[WebHTMLView subscript:]):
1114         use WebUndoActionAlignSubscript
1115         (-[WebHTMLView superscript:]):
1116         use WebUndoActionAlignSuperscript
1117         (-[WebHTMLView unscript:]):
1118         use WebUndoActionAlignUnscript
1119         (-[WebHTMLView underline:]):
1120         use WebUndoActionAlignUnderline
1121         
1122         * WebView.subproj/WebView.m:
1123         (-[WebView setTypingStyle:]):
1124         pass WebUndoActionUnspecified through as new parameter since we don't have any more specific info
1125         (-[WebView applyStyle:]):
1126         ditto
1127
1128 2004-12-14  Richard Williamson   <rjw@apple.com>
1129
1130         Helper method to get URL of plugin view.
1131
1132         Reviewed by Chris.
1133
1134         * Misc.subproj/WebNSViewExtras.m:
1135         (-[NSView _webViewURL]):
1136
1137 2004-12-14  Vicki Murley <vicki@apple.com>
1138
1139         Reviewed by rjw.
1140  
1141         <rdar://problem/3855573> Remove reference to "WebScriptMethods" from WebScriptObject.h comments
1142
1143         * Plugins.subproj/WebPlugin.h: changed instances of "WebScriptMethods" to "WebScripting" in this
1144         file as well, as requested in the bug report
1145
1146 2004-12-13  Maciej Stachowiak  <mjs@apple.com>
1147
1148         Reviewed by John.
1149
1150         <rdar://problem/3912488> Mail throws an exception after backspacing "away" inline input
1151         
1152         * WebView.subproj/WebHTMLView.m:
1153         (-[WebHTMLView setMarkedText:selectedRange:]): Don't try to set a selection if
1154         we end up with no marked text, since that case fails and is unnecessary.
1155
1156 2004-12-14  John Sullivan  <sullivan@apple.com>
1157
1158         Reviewed by Ken.
1159
1160         - WebKit part of plumbing of fix for <rdar://problem/3790011> undoable operations all say "Undo" in the menu, 
1161         no specific action names
1162
1163         * WebCoreSupport.subproj/WebBridge.m:
1164         (-[WebBridge nameForUndoAction:]):
1165         renamed from setUndoActionNamePlaceholder, replaced arbitrary integers with enum values, and
1166         handled new "unspecified" case as a fallback
1167
1168 2004-12-13  Richard Williamson   <rjw@apple.com>
1169
1170         Fixed <rdar://problem/3887767> LiveConnect doesn't propagate Java exceptions back to JavaScript (prevents security suite from running)
1171
1172         Reviewed by John.
1173
1174         * Plugins.subproj/WebJavaPlugIn.h:
1175
1176 2004-12-13  John Sullivan  <sullivan@apple.com>
1177
1178         Reviewed by Maciej.
1179         
1180         - fixed <rdar://problem/3744583> Safari can not quit when a webpage has a login sheet 
1181         that can't be cancelled.
1182         
1183         The proper fix for this would be to change the class of the NSPanel in the nib file.
1184         But since this would require a localization change, I did a run-time hack instead.
1185         I'll file a bug about fixing this when we're out of localization freeze.
1186
1187         * Panels.subproj/WebAuthenticationPanel.m:
1188         (-[WebAuthenticationPanel replacePanelWithSubclassHack]):
1189         new method, creates a new panel that is identical to the original one except that
1190         it's our subclass, and moves all the subviews of the original panel into the new one.
1191         (-[WebAuthenticationPanel loadNib]):
1192         call replacePanelWithSubclassHack
1193         (-[NonBlockingPanel _blocksActionWhenModal:]):
1194         only method of new NSPanel subclass; overrides this SPI to allow the user to quit
1195         when one of these panels/sheets is on-screen
1196
1197 2004-12-10  Richard Williamson   <rjw@apple.com>
1198
1199         Fixed <rdar://problem/3898708> REGRESSION (8A314-8A317): World Clock's short hand not displayed (ImageIO problem with PDF?)
1200         Fixed <rdar://problem/3914012> use CG directly for pdf images not ImageIO
1201
1202         Create a PDF document and draw that instead of using ImageIO to create a rasterized image.
1203
1204         Reviewed by Maciej.
1205
1206         * WebCoreSupport.subproj/WebImageData.h:
1207         * WebCoreSupport.subproj/WebImageData.m:
1208         (-[WebImageData setIsPDF:]):
1209         (-[WebImageData isPDF]):
1210         (-[WebImageData dealloc]):
1211         (-[WebImageData decodeData:isComplete:callback:]):
1212         (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
1213         (-[WebImageData size]):
1214         (-[WebImageData animate]):
1215         (-[WebImageData _createPDFWithData:]):
1216         (-[WebImageData _PDFDocumentRef]):
1217         (-[WebImageData _PDFDrawInContext:]):
1218         (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):
1219         * WebCoreSupport.subproj/WebImageRenderer.h:
1220         * WebCoreSupport.subproj/WebImageRenderer.m:
1221         (-[WebImageRenderer size]):
1222         (-[WebImageRenderer incrementalLoadWithBytes:length:complete:callback:]):
1223         (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
1224         (_createImageRef):
1225
1226 2004-12-10  John Sullivan  <sullivan@apple.com>
1227
1228         Reviewed by Ken.
1229         
1230         - fixed <rdar://problem/3855127> Error while printing w/o sheet, then window is left in a bad state, 
1231         if there's no default printer set
1232
1233         * WebView.subproj/WebHTMLView.m:
1234         (-[WebHTMLView beginDocument]):
1235         Our implementation of knowsPageRange puts the WebHTMLView into a special "printing mode". We must
1236         exit the "printing mode" to return to normal behavior. This is normally done in endDocument.
1237         However, it turns out that if there's an exception in [super beginDocument], then endDocument
1238         will not be called (lame-o AppKit API). So, we handle that case by catching the exception and
1239         exiting the "printing mode" in beginDocument when it occurs.
1240
1241 2004-12-09  Richard Williamson   <rjw@apple.com>
1242
1243         Fixed <rdar://problem/3905789> Burn Disc image vibrates rapidly
1244
1245         Restrict our support for animated images to GIF.  We used to
1246         use presence of more than one image in a resource to determine
1247         if an image should be animated.  This caused us to animate icns!
1248         If we ever support any other animated image formats we'll have
1249         to extend.
1250
1251         Reviewed by Hyatt.
1252
1253         * WebCoreSupport.subproj/WebImageData.h:
1254         * WebCoreSupport.subproj/WebImageData.m:
1255         (-[WebImageData shouldAnimate]):
1256         * WebCoreSupport.subproj/WebImageRenderer.m:
1257         (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
1258
1259 2004-12-09  Richard Williamson   <rjw@apple.com>
1260
1261         Make WebPluginDatabase.h private (Dashboard needs SPI).
1262
1263         * WebKit.pbproj/project.pbxproj:
1264
1265 === Safari-175 ===
1266
1267 2004-12-09  Chris Blumenberg  <cblu@apple.com>
1268
1269         Workaround for this exception being raised during download:
1270         [WebDownload connection:willStopBufferingData:]: selector not recognized
1271
1272         Reviewed by john.
1273
1274         * Misc.subproj/WebDownload.m:
1275         (-[WebDownload connection:willStopBufferingData:]): implement this method so no exception is raised. It is a bug in Foundation that this method is being called, but it's too late to fix Foundation since it has already been submitted this week. This workaround will prevent any problems from affecting users.
1276
1277 2004-12-08  Richard Williamson   <rjw@apple.com>
1278
1279         Fixed <rdar://problem/3911719> REGRESSION: Images no longer scale vertically
1280         Account for scaling correctly when taking into account progressively
1281         loaded images.
1282
1283         Also added implementation of repetition count for animated GIF images.
1284         Also replaced strings with new constants from CFImageProperties.h
1285
1286         Also fixed possible problem with -(NSSize)size implementation,
1287         relevant to Panther only.
1288
1289         Reviewed by Chris.
1290
1291         * WebCoreSupport.subproj/WebImageData.m:
1292         (-[WebImageData _floatProperty:type:at:]):
1293         (-[WebImageData _frameDurationAt:]):
1294         (-[WebImageData _repetitionCount]):
1295         * WebCoreSupport.subproj/WebImageRenderer.m:
1296         (-[WebImageRenderer size]):
1297
1298 2004-12-08  Chris Blumenberg  <cblu@apple.com>
1299
1300         Removed NPN wrappers since these no longer need to be defined to make the QT plug-in work
1301         since 3828925 has been fixed.
1302
1303         Reviewed by john.
1304
1305         * Plugins.subproj/WebNetscapePluginPackage.m:
1306         (-[WebNetscapePluginPackage load]): use under-bar symbols since non-under-bar wrappers have been removed
1307         * Plugins.subproj/npapi.m: removed NPN wrappers
1308         * WebKit.exp: removed symbols
1309
1310 2004-12-08  Ken Kocienda  <kocienda@apple.com>
1311
1312         Reviewed by Darin
1313
1314         * WebView.subproj/WebHTMLView.m:
1315         (-[WebHTMLView drawRect:]): Work around for this bug:
1316         <rdar://problem/3908282> REGRESSION (Mail): No drag image dragging selected text in Blot and Mail
1317         The reason for the workaround is that this method is called explicitly from the code
1318         to generate a drag image, and at that time, getRectsBeingDrawn:count: will return a zero count.
1319         This code change uses the passed-in rect when the count is zero.
1320
1321 2004-12-07  Administrator  <cblu@apple.com>
1322
1323         Support for fix for:
1324         <rdar://problem/3734309> Safari doesn't open folders in title bar menu with non-Roman names using Cmd+click
1325
1326         Reviewed by john.
1327
1328         * Misc.subproj/WebNSURLExtras.h:
1329         * Misc.subproj/WebNSURLExtras.m:
1330         (+[NSURL _web_URLWithUserTypedString:relativeToURL:]): renamed to take relativeToURL parameter
1331         (+[NSURL _web_URLWithUserTypedString:]): call _web_URLWithUserTypedString:relativeToURL: with nil for URL
1332
1333 2004-12-07  Richard Williamson   <rjw@apple.com>
1334
1335         Fixed <rdar://problem/3905564> REGRESSION (Tiger); in History menu, pixel size appears but is wrong for standalone images in Safari.
1336
1337         Reviewed by Chris.
1338
1339         * WebCoreSupport.subproj/WebImageRenderer.m:
1340         (-[WebImageRenderer size]):
1341
1342 2004-12-07  Richard Williamson   <rjw@apple.com>
1343
1344         Support threaded image decoding on machines w/ >= 2 CPUs.
1345
1346         Reviewed by Maciej and Chris.
1347
1348         * Misc.subproj/WebKitSystemBits.h:
1349         * Misc.subproj/WebKitSystemBits.m:
1350         (WebSystemMainMemory):
1351         (WebNumberOfCPUs):
1352         * WebCoreSupport.subproj/WebImageData.h:
1353         * WebCoreSupport.subproj/WebImageData.m:
1354         (+[WebImageData initialize]):
1355         (-[WebImageData init]):
1356         (-[WebImageData _commonTermination]):
1357         (-[WebImageData dealloc]):
1358         (-[WebImageData _invalidateImages]):
1359         (-[WebImageData _imageSourceOptions]):
1360         (-[WebImageData imageAtIndex:]):
1361         (-[WebImageData propertiesAtIndex:]):
1362         (-[WebImageData _createImages]):
1363         (-[WebImageData decodeData:isComplete:callback:]):
1364         (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
1365         (drawPattern):
1366         (-[WebImageData tileInRect:fromPoint:context:]):
1367         (-[WebImageData isNull]):
1368         (-[WebImageData size]):
1369         (-[WebImageData _frameDurationAt:]):
1370         (-[WebImageData _frameDuration]):
1371         (+[WebImageData stopAnimationsInView:]):
1372         (-[WebImageData addAnimatingRenderer:inView:]):
1373         (-[WebImageData removeAnimatingRenderer:]):
1374         * WebCoreSupport.subproj/WebImageDecodeItem.h: Added.
1375         * WebCoreSupport.subproj/WebImageDecodeItem.m: Added.
1376         (+[WebImageDecodeItem decodeItemWithImage:data:isComplete:callback:]):
1377         (-[WebImageDecodeItem initWithImage:data:isComplete:callback:]):
1378         (-[WebImageDecodeItem finalize]):
1379         (-[WebImageDecodeItem dealloc]):
1380         * WebCoreSupport.subproj/WebImageDecoder.h: Added.
1381         * WebCoreSupport.subproj/WebImageDecoder.m: Added.
1382         (decoderNotifications):
1383         (+[WebImageDecoder initialize]):
1384         (+[WebImageDecoder notifyMainThread]):
1385         (+[WebImageDecoder sharedDecoder]):
1386         (+[WebImageDecoder performDecodeWithImage:data:isComplete:callback:]):
1387         (+[WebImageDecoder imageDecodesPending]):
1388         (+[WebImageDecoder decodeComplete:status:]):
1389         (-[WebImageDecoder init]):
1390         (-[WebImageDecoder dealloc]):
1391         (-[WebImageDecoder finalize]):
1392         (-[WebImageDecoder removeItem]):
1393         (-[WebImageDecoder addItem:]):
1394         (-[WebImageDecoder decodeItem:]):
1395         (decoderThread):
1396         (startDecoderThread):
1397         * WebCoreSupport.subproj/WebImageRenderer.m:
1398         (-[WebImageRenderer initWithData:MIMEType:]):
1399         (-[WebImageRenderer initWithContentsOfFile:]):
1400         (-[WebImageRenderer incrementalLoadWithBytes:length:complete:callback:]):
1401         (-[WebInternalImage incrementalLoadWithBytes:length:complete:callback:]):
1402         * WebKit.pbproj/project.pbxproj:
1403         * WebView.subproj/WebImageRepresentation.m:
1404         (-[WebImageRepresentation receivedData:withDataSource:]):
1405         (-[WebImageRepresentation receivedError:withDataSource:]):
1406         (-[WebImageRepresentation finishedLoadingWithDataSource:]):
1407
1408 2004-12-07  Chris Blumenberg  <cblu@apple.com>
1409
1410         Fix for performance regression.
1411
1412         Reviewed by kevin.
1413
1414         * WebCoreSupport.subproj/WebBridge.m:
1415         (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): construct the WebResource without copying the data
1416
1417 2004-12-07  Chris Blumenberg  <cblu@apple.com>
1418
1419         Fixed: <rdar://problem/3909243> REGRESSION: large standalone images stop loading part way through
1420
1421         Reviewed by kevin.
1422
1423         * WebView.subproj/WebBaseResourceHandleDelegate.h:
1424         * WebView.subproj/WebMainResourceClient.m:
1425         (-[WebMainResourceClient addData:]): call super so it buffers the data
1426
1427 2004-12-06  Richard Williamson   <rjw@apple.com>
1428
1429         Use the AppKit's font rendering mode.  This fixes 3905347, but we still need to track down
1430         and resolve why metrics have changed for Courier.  This may be caused by changes in
1431         AppKit for 3902394.
1432
1433         Reviewed by John.
1434
1435         * WebCoreSupport.subproj/WebTextRenderer.m:
1436         (_AppkitGetCGRenderingMode):
1437         (getUncachedWidth):
1438         (_drawGlyphs):
1439
1440 2004-12-06  Chris Blumenberg  <cblu@apple.com>
1441
1442         Forgot to commit copied header.
1443
1444         * DOM.subproj/DOMPrivate.h:
1445
1446 2004-12-06  Chris Blumenberg  <cblu@apple.com>
1447
1448         Fixed: <rdar://problem/3907381> NSURLConnection and WebKit buffer 2 copies of incoming data
1449
1450         Reviewed by darin.
1451
1452         * WebView.subproj/WebBaseResourceHandleDelegate.h:
1453         * WebView.subproj/WebBaseResourceHandleDelegate.m:
1454         (+[WebBaseResourceHandleDelegate initialize]): cache check to see if Foundation supports access to its buffered data
1455         (-[WebBaseResourceHandleDelegate addData:]): don't buffer data if Foundation is buffering it for us
1456         (-[WebBaseResourceHandleDelegate saveResource]): when creating a WebResource, pass NO for copyData since we know it won't be mutated
1457         (-[WebBaseResourceHandleDelegate resourceData]): return the buffered data from the connection if it supports it
1458         (-[WebBaseResourceHandleDelegate willStopBufferingData:]): make a mutable copy of the data from NSURLConnection so we can continue buffering 
1459         (-[WebBaseResourceHandleDelegate willCacheResponse:]): removed optimization that used the cached response data to save the resource since that is obsolete by this change
1460         (-[WebBaseResourceHandleDelegate connection:willStopBufferingData:]): new callback from NSURLConnection, informs us that NSURLConnection has given up buffering
1461         * WebView.subproj/WebDataSource.m:
1462         (-[WebDataSource _receivedData:]): removed buffering code since that's done by NSURLConnection and the main client
1463         (-[WebDataSource _setData:]): removed unnecessary cast since the resourceData ivar is now an NSData instead of NSMutableData
1464         (-[WebDataSource data]): return resourceData ivar, else return the resourceData from the main client
1465         * WebView.subproj/WebDataSourcePrivate.h:
1466         * WebView.subproj/WebMainResourceClient.m:
1467         (-[WebMainResourceClient releaseResources]): store resourceData on the data source so it can continue to have data after the main client has gone away 
1468         (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]):don't call [dataSource data] just to get the length of data received since [dataSource data] can now cause data to be copied
1469         (-[WebMainResourceClient connectionDidFinishLoading:]): ditto
1470         * WebView.subproj/WebResource.m:
1471         (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call following method with YES for copyData
1472         (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:copyData:]): new initializer, allows caller to choose whether or not the data is copied
1473         * WebView.subproj/WebResourcePrivate.h:
1474
1475 2004-12-06  Richard Williamson   <rjw@apple.com>
1476
1477         Fixed <rdar://problem/3903749> REGRESSION (8A321): WebKit gets incorrect glyph metrics due to change in how AppKit uses CGFont
1478
1479         Use CGFontRef direction when both getting font metrics and drawing
1480         glyphs, instead on depending on [NSFont set].
1481
1482         Reviewed by John.
1483
1484         * WebCoreSupport.subproj/WebTextRenderer.m:
1485         (getUncachedWidth):
1486         (_drawGlyphs):
1487
1488 2004-12-06  Ken Kocienda  <kocienda@apple.com>
1489
1490         Reviewed by Harrison
1491         
1492         Fix for this bug:
1493         
1494         <rdar://problem/3906930> Hitting return key in editable content inserts br elements instead of blocks
1495
1496         * WebView.subproj/WebHTMLView.m:
1497         (-[WebHTMLView insertNewline:]): One-line change to call insert-block rather than insert-br method 
1498         on bridge.
1499
1500 2004-12-04  Darin Adler  <darin@apple.com>
1501
1502         Reviewed by John.
1503
1504         - fixed <rdar://problem/3846079> assertion failure in WebHTMLView(WebPrivate) removeTrackingRect at boots.com
1505         - fixed <rdar://problem/3857737> REGRESSION (165-166): clicking in a text field that's scrolled to the right causes it to scroll all the way left
1506         - fixed <rdar://problem/3861952> REGRESSION (165-166): selection is cleared when you start to scroll a frame
1507
1508         * WebView.subproj/WebHTMLViewInternal.h: Added handlingMouseDown flag.
1509         * WebView.subproj/WebHTMLView.m:
1510         (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Allow passing in a
1511         tracking number of 0, which means no existing tracking number.
1512         (-[WebHTMLView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Ditto.
1513         (-[WebHTMLView removeTrackingRect:]): Allow removing a tracking number of 0, which is a no-op.
1514         (-[WebHTMLView _removeTrackingRects:count:]): Ditto.
1515         (-[WebHTMLView acceptsFirstResponder]): Changed check to use handlingMouseDown flag instead of mouseDownEvent
1516         field since that field is set up too early in the mouse down event handling process.
1517         (-[WebHTMLView mouseDown:]): Added code to set handlingMouseDown flag.
1518
1519         - fixed part of <rdar://problem/3829808> Safari crashes when adding a DOM node that was removed from an XMLHTTP request result
1520
1521         * WebCoreSupport.subproj/WebBridge.m:
1522         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1523         Changed code around so that it won't try to create a WebResource when the load fails.
1524
1525         - moved next/previous links into private structure with the rest of WebFrame fields
1526           (We have a rule against putting new fields into obejcts that are part of our public API.)
1527
1528         * WebView.subproj/WebFrame.h: Remove _nextSibling and _previousSibling.
1529         * WebView.subproj/WebFramePrivate.h: Added nextSibling and previousSibling fields to private class.
1530         * WebView.subproj/WebFrame.m: Got rid of some tabs in this file.
1531         (-[WebFrame _addChild:]): Changed code to use fields inside _private.
1532         (-[WebFrame _removeChild:]): Ditto.
1533         (-[WebFrame _nextFrameWithWrap:]): Ditto.
1534         (-[WebFrame _previousFrameWithWrap:]): Ditto.
1535
1536 2004-12-04  Chris Blumenberg  <cblu@apple.com>
1537
1538         New fixes for:
1539         <rdar://problem/3685766> WebDataSource is missing subresources when they use cached WebCore data
1540         <rdar://problem/3722434> REGRESSION?: Assertion failure trying to drag image in iframe (itapema.sc.gov.br)
1541         <rdar://problem/3903173> REGRESSION (172-TOT): assertion failure and crash in slotAllData logging into hotmail account
1542         <rdar://problem/3902749> REGRESSION (Tiger): missing image symbol does not appear
1543
1544         Reviewed by darin, rjw, kocienda.
1545
1546         * WebCoreSupport.subproj/WebBridge.m:
1547         (-[WebBridge objectLoadedFromCacheWithURL:response:data:]):
1548         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1549         * WebCoreSupport.subproj/WebSubresourceClient.m:
1550         (-[WebSubresourceClient didFinishLoading]):
1551         * WebView.subproj/WebFrame.m:
1552         (-[WebFrame _opened]):
1553         (-[WebFrame _internalLoadDelegate]):
1554         (-[WebFrame _sendResourceLoadDelegateMessagesForURL:response:length:]):
1555         * WebView.subproj/WebFrameInternal.h:
1556
1557 2004-12-04  Darin Adler  <darin@apple.com>
1558
1559         Reviewed by Maciej.
1560
1561         - fixed remaining bit of <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
1562
1563         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): When translating from
1564         an attribute dictionary to a CSS declaration, treat missing values according to the defaults defined
1565         in <AppKit/NSAttributedString.h>. Before the code was treating them as "no change", which is incorrect.
1566
1567         * English.lproj/StringsNotToBeLocalized.txt: Add a string from the above change.
1568
1569 === Safari-173 ===
1570
1571 2004-12-03  Ken Kocienda  <kocienda@apple.com>
1572
1573         Reviewed by me
1574
1575         Roll out some recent changes by Chris that caused a performance regression.
1576         Fix is in hand, but it is a little risky this close to a submission. So,
1577         we have decided to roll back the change with the regression and roll in
1578         the new code after we submit.
1579
1580         * WebCoreSupport.subproj/WebBridge.m:
1581         (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
1582         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1583         * WebCoreSupport.subproj/WebSubresourceClient.m:
1584         (-[WebSubresourceClient didFinishLoading]):
1585         * WebView.subproj/WebFrame.m:
1586         (-[WebFrame _opened]):
1587         (-[WebFrame _internalLoadDelegate]):
1588         * WebView.subproj/WebFrameInternal.h:
1589
1590 2004-12-02  Richard Williamson   <rjw@apple.com>
1591
1592         Fixed <rdar://problem/3841332> REGRESSION (125.9-167u): repro crash in -[KWQPageState invalidate] involving .Mac images
1593
1594         Ensure that the document is cleared when leaving a non-HTML page.  This ensures that
1595         the b/f cache won't incorrectly trash the previous state when restoring.
1596
1597         Reviewed by John.
1598
1599         * WebView.subproj/WebFrame.m:
1600         (-[WebFrame _setState:]):
1601
1602 2004-12-02  Ken Kocienda  <kocienda@apple.com>
1603
1604         Reviewed by Richard
1605
1606         <rdar://problem/3748323> Problem with -[WebView editableDOMRangeForPoint:] (-isFlipped not taken into account?)
1607         <rdar://problem/3852590> REGRESSION (Mail): Dropped content appears in wrong place if Mail message is scrolled down
1608
1609         When implementing drag and drop, moveDragCaretToPoint: and editableDOMRangeForPoint: are used in
1610         concert to track the mouse and determine a drop location, respectively. However, moveDragCaretToPoint:
1611         did a conversion of the passed-in point to the document view's coordinate space, whereas 
1612         editableDOMRangeForPoint: did not. Now it does.
1613         
1614         Note that I will need to coordinate with Grant to have him roll out some code in Mail that
1615         attempts to work around this problem (unsuccessfully), and actually manages to block the
1616         real fix (which needs to be in WebKit).
1617
1618         * WebView.subproj/WebView.m:
1619         (-[WebView editableDOMRangeForPoint:]): Convert the passed-in point to the document view's coordinate space.
1620
1621 2004-12-02  Richard Williamson   <rjw@apple.com>
1622
1623         Fixed <rdar://problem/3895810> FATAL ERROR: <WebTextRenderer: 0x9328a20> unable to initialize with font "Times-Roman 16.00 pt. S ....
1624
1625         We have a hack to replace Times with Times New Roman if we fail
1626         to setup Times.  If we then fail to setup Times New Roman we
1627         don't attempt to further fallback to the system font.  Added
1628         that additional fallback.
1629
1630         Reviewed by Ken.
1631
1632         * WebCoreSupport.subproj/WebTextRenderer.m:
1633         (+[WebTextRenderer webFallbackFontFamily]):
1634         (-[WebTextRenderer initWithFont:usingPrinterFont:]):
1635
1636 2004-12-02  Richard Williamson   <rjw@apple.com>
1637
1638         Fixed build problem on Tiger8A821.  Private macro and function
1639         we were using have been deprecated,
1640
1641         Reviewed by Vicki.
1642
1643         * WebCoreSupport.subproj/WebTextRenderer.m:
1644         (-[WebTextRenderer initWithFont:usingPrinterFont:]):
1645
1646 2004-12-01  Chris Blumenberg  <cblu@apple.com>
1647
1648         Fixed: <rdar://problem/3879870> Flash Player unable to stop data stream from continuing to download by returning -1 from NPP_Write
1649         Also improved and cleaned-up the plug-in stream termination code.
1650
1651         Reviewed by john.
1652
1653         * Plugins.subproj/WebBaseNetscapePluginStream.h:
1654         * Plugins.subproj/WebBaseNetscapePluginStream.m:
1655         (+[WebBaseNetscapePluginStream reasonForError:]): return NPRES_DONE for a nil error
1656         (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]): new, factored out from other methods
1657         (-[WebBaseNetscapePluginStream errorForReason:]): new
1658         (-[WebBaseNetscapePluginStream dealloc]): release MIME type
1659         (-[WebBaseNetscapePluginStream setMIMEType:]): new
1660         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): call setMIMEType so we can use it in _pluginCancelledConnectionError, call renamed methods
1661         (-[WebBaseNetscapePluginStream _destroyStream]): prepended underscore, replaced some early returns with asserts as the callers are now smarter
1662         (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): prepended underscore, only call _destroyStream if there is an error or if the load is complete and there is no more data to be streamed
1663         (-[WebBaseNetscapePluginStream cancelLoadWithError:]): new, overridden by subclasses to cancel the actual NSURLConnection
1664         (-[WebBaseNetscapePluginStream destroyStreamWithError:]): new, calls _destroyStreamWithReason
1665         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): call renamed methods
1666         (-[WebBaseNetscapePluginStream _deliverData]): prepended underscore, call cancelLoadAndDestroyStreamWithError if NPP_Write returns a negative number
1667         * Plugins.subproj/WebBaseNetscapePluginView.m:
1668         (-[WebBaseNetscapePluginView destroyStream:reason:]): call cancelLoadAndDestroyStreamWithError
1669         * Plugins.subproj/WebNetscapePluginRepresentation.m:
1670         (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call destroyStreamWithError
1671         (-[WebNetscapePluginRepresentation cancelLoadWithError:]): new, override method, tell the data source to stop loading
1672         * Plugins.subproj/WebNetscapePluginStream.m:
1673         (-[WebNetscapePluginStream cancelLoadWithError:]): new, override method, tell the loader to stop
1674         (-[WebNetscapePluginStream stop]): call cancelLoadAndDestroyStreamWithError
1675         (-[WebNetscapePluginConnectionDelegate isDone]): new
1676         (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]): call cancelLoadAndDestroyStreamWithError
1677         (-[WebNetscapePluginConnectionDelegate didFailWithError:]): call destroyStreamWithError
1678
1679 2004-12-01  Kevin Decker  <kdecker@apple.com>
1680
1681         Reviewed by Harrison.
1682
1683         Fixed: <rdar://problem/3228878> potential performance problem in finding in large framesets
1684
1685         Got rid of O(N^2) conditions in _nextSibling and _previousSibling of where we were looking up self in the parent array of frames.
1686
1687         * WebView.subproj/WebFrame.h: Added two new pointers, one for the previous kid and one for the next kid
1688         * WebView.subproj/WebFrame.m: 
1689         (-[WebFrame _addChild:]): Updates the previous frame and the next frame after this child
1690         (-[WebFrame _removeChild:]): ditto
1691         (-[WebFrame _nextSibling]): just return the pointer now
1692         (-[WebFrame _previousSibling]): ditto
1693
1694 2004-11-30  Chris Blumenberg  <cblu@apple.com>
1695
1696         Fixed:
1697         <rdar://problem/3685766> WebDataSource is missing subresources when they use cached WebCore data
1698         <rdar://problem/3722434> REGRESSION?: Assertion failure trying to drag image in iframe (itapema.sc.gov.br)
1699
1700         Reviewed by darin.
1701
1702         * WebCoreSupport.subproj/WebBridge.m:
1703         (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): renamed to pass all data for the resource, moved delegate code to new method
1704         (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call renamed method
1705         * WebCoreSupport.subproj/WebSubresourceClient.m:
1706         (-[WebSubresourceClient didFinishLoading]): call renamed method
1707         * WebView.subproj/WebFrame.m:
1708         (-[WebFrame _opened]): call _sendResourceLoadDelegateMessagesForURL:response:length:, not objectLoadedFromCacheWithURL:response:data:
1709         (-[WebFrame _internalLoadDelegate]):
1710         (-[WebFrame _sendResourceLoadDelegateMessagesForURL:response:length:]): moved from objectLoadedFromCacheWithURL:response:data:
1711         * WebView.subproj/WebFrameInternal.h:
1712
1713 2004-11-29  Darin Adler  <darin@apple.com>
1714
1715         Reviewed by John.
1716
1717         - worked around bug in Panther where NSScroller calls _destinationFloatValueForScroller: on superview
1718           without first checking if it's implemented
1719
1720         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _destinationFloatValueForScroller:]):
1721         Implemented. Calls floatValue on the scroller.
1722
1723         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
1724
1725 2004-11-23  Chris Blumenberg  <cblu@apple.com>
1726
1727         Fixed: <rdar://problem/3890944> disable icon database for Dashboard
1728
1729         Reviewed by kevin.
1730
1731         * Misc.subproj/WebIconDatabase.h:
1732         * Misc.subproj/WebIconDatabase.m:
1733         (-[WebIconDatabase init]): don't create dictionaries if disabled
1734         (-[WebIconDatabase iconForURL:withSize:cache:]): return default icon if disabled
1735         (-[WebIconDatabase iconURLForURL:]): return nil if disabled
1736         (-[WebIconDatabase retainIconForURL:]): return if disabled
1737         (-[WebIconDatabase releaseIconForURL:]): ditto
1738         (-[WebIconDatabase delayDatabaseCleanup]): ditto
1739         (-[WebIconDatabase allowDatabaseCleanup]): ditto
1740         (-[WebIconDatabase _isEnabled]): new
1741         (-[WebIconDatabase _setIcon:forIconURL:]): assert if called when disabled, moved to own category implementation
1742         (-[WebIconDatabase _setHaveNoIconForIconURL:]): ditto
1743         (-[WebIconDatabase _setIconURL:forURL:]): ditto
1744         (-[WebIconDatabase _createFileDatabase]): tweak
1745         (-[WebIconDatabase _applicationWillTerminate:]): moved out of public code
1746         * Misc.subproj/WebIconDatabasePrivate.h:
1747         * Misc.subproj/WebIconLoader.m:
1748         * WebView.subproj/WebDataSource.m:
1749         (-[WebDataSource _updateIconDatabaseWithURL:]): assert if called when icon DB is disabled
1750         (-[WebDataSource _loadIcon]): don't load icon if icon DB is disabled
1751
1752 2004-11-22  David Hyatt  <hyatt@apple.com>
1753
1754         Make sure the WebCore cache grows at 512mb and at 1024mb exactly.
1755         
1756         Reviewed by mjs
1757
1758         * WebCoreSupport.subproj/WebBridge.m:
1759         (-[WebBridge getObjectCacheSize]):
1760
1761 2004-11-22  Richard Williamson   <rjw@apple.com>
1762
1763         Fixed <rdar://problem/3891737> WebPreferences do not work if they are set before set on the WebView
1764
1765         John found this problem and suggested the fix.
1766
1767         Reviewed by John Louch.
1768
1769         * WebView.subproj/WebView.m:
1770         (-[WebView setPreferences:]):
1771
1772 2004-11-22  Ken Kocienda  <kocienda@apple.com>
1773
1774         Reviewed by Harrison
1775
1776         * WebCoreSupport.subproj/WebBridge.m:
1777         (-[WebBridge canPaste]): Call WebView _canPaste.
1778         * WebView.subproj/WebView.m:
1779         (-[WebView _canPaste]): Try to forward to document view's implementation. Only WebHTMLView
1780         answers right now. Returns NO otherwise.
1781         * WebView.subproj/WebViewInternal.h: Add _canPaste method to WebView.
1782
1783 2004-11-22  Maciej Stachowiak  <mjs@apple.com>
1784
1785         Back  out the window closing fix, it seems to be causing crashes.
1786
1787         * WebView.subproj/WebFrame.m:
1788         (-[WebFrame _detachFromParent]):
1789
1790 2004-11-20  Maciej Stachowiak  <mjs@apple.com>
1791  
1792         Reviewed by John.
1793  
1794         <rdar://problem/3710101> _web_userVisibleString makes URL autocomplete roughly 2x slower
1795          
1796         * Misc.subproj/WebNSURLExtras.h:
1797         * Misc.subproj/WebNSURLExtras.m:
1798         (-[NSString _web_isUserVisibleURL]): New SPI to check if a URL
1799         string is already in user-visible form (i.e. converting it to an
1800         NSURL and then back via _web_userVisibleString would not change
1801         anything).
1802  
1803 2004-11-19  Maciej Stachowiak  <mjs@apple.com>
1804
1805         Reviewed by John.
1806
1807         <rdar://problem/3190977> closing window with many tabs in it can be quite slow
1808         
1809         * WebView.subproj/WebFrame.m:
1810         (-[WebFrame _detachFromParent]): autorelease bridge instead of releasing it,
1811         to make window and tab closing more responsive - this way the deallocation happens
1812         after the windoow or tab appears to close.
1813
1814 === Safari-172 ===
1815
1816 2004-11-19  Chris Blumenberg  <cblu@apple.com>
1817
1818         Fixed: <rdar://problem/3880387> REGRESSION: www.shockplay.com site gives "Unexpected server response"
1819
1820         Reviewed by mjs.
1821
1822         * Plugins.subproj/WebBaseNetscapePluginView.m:
1823         (-[NSData _web_locationAfterFirstBlankLine]): support both formats ("\r\n\n" and "\r\n\r\n") for separating header data from body data because Shockwave still sends the prior format
1824
1825 2004-11-19  Ken Kocienda  <kocienda@apple.com>
1826
1827         Reviewed by Harrison
1828
1829         Fix for this bug:
1830
1831         <rdar://problem/3655241> setTypingStyle: does not set the real typing style, and typingStyle does not return it
1832
1833         * WebCoreSupport.subproj/WebBridge.m:
1834         (-[WebBridge respondToChangedContents]): No longer call through to WebKit to set the typing style. The call
1835         was part of the misguided use of the setTypingStyle: and typingStyle as a cache of what was stored on
1836         the WebCore side.
1837         (-[WebBridge respondToChangedSelection]): Ditto.
1838         * WebView.subproj/WebView.m:
1839         (-[WebViewPrivate dealloc]): Object no longer has typingStyle ivar.
1840         (-[WebView setTypingStyle:]): Call over the bridge to set typing style.
1841         (-[WebView typingStyle]): Call over the bridge to retrieve typing style.
1842         * WebView.subproj/WebViewInternal.h: Object no longer has typingStyle ivar.
1843
1844 2004-11-18  John Sullivan  <sullivan@apple.com>
1845
1846         Reviewed by Darin.
1847         
1848         - fixed <rdar://problem/3886042> should save history file as binary XML so serialization, 
1849         parsing, reading and writing is faster
1850
1851         * History.subproj/WebHistory.m:
1852         (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]):
1853         convert dictionary to binary data before saving
1854
1855 2004-11-18  Chris Blumenberg  <cblu@apple.com>
1856
1857         * WebView.subproj/WebHTMLRepresentation.m:
1858         (-[WebHTMLRepresentation currentForm]): removed stray ";"
1859
1860 2004-11-18  Chris Blumenberg  <cblu@apple.com>
1861
1862         Fixed development build failure.
1863
1864         * Misc.subproj/WebIconDatabase.m:
1865         (+[WebIconDatabase sharedIconDatabase]): call LOG not Log
1866
1867 2004-11-18  Chris Blumenberg  <cblu@apple.com>
1868
1869         <rdar://problem/3885708> save memory in icon DB by not using NSSets when holding 1 object
1870         
1871         Reviewed by sullivan.
1872
1873         * Misc.subproj/WebIconDatabase.m:
1874         (+[WebIconDatabase sharedIconDatabase]): added timing code
1875         (-[WebIconDatabase _clearDictionaries]): new
1876         (-[WebIconDatabase _loadIconDictionaries]): call _clearDictionaries in 2 places before we bail, use _web_setObjectUsingSetIfNecessary:forKey: when adding site URLs to the iconURLToURLs dictionary
1877         (-[WebIconDatabase _updateFileDatabase]): fixed comment
1878         (-[WebIconDatabase _setIconURL:forURL:]): use _web_setObjectUsingSetIfNecessary:forKey: when adding site URLs to the iconURLToURLs dictionary
1879         (-[WebIconDatabase _releaseIconForIconURLString:]): handle NSString objects retured from iconURLToURLs
1880         (-[NSMutableDictionary _web_setObjectUsingSetIfNecessary:forKey:]): new, puts a set on the dictionary when there are 2 or more object for s key
1881
1882 2004-11-17  Richard Williamson   <rjw@apple.com>
1883
1884         Fixed <rdar://problem/3885073> REGRESSION: Tab images at top of news.com.com replicated and squished
1885
1886         Correctly account for scaled image size and clipping.
1887
1888         Reviewed by Maciej.
1889
1890         * WebCoreSupport.subproj/WebImageData.h:
1891         * WebCoreSupport.subproj/WebImageData.m:
1892         * WebCoreSupport.subproj/WebImageRenderer.m:
1893         (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
1894
1895 2004-11-17  Maciej Stachowiak  <mjs@apple.com>
1896
1897         Reviewed by Richard.
1898
1899         <rdar://problem/3885076> Don't make IDN calls for all-ascii URLs to save about 3 pages
1900         at Safari startup.
1901         
1902         * Misc.subproj/WebNSURLExtras.m:
1903         (mapHostNames): If encoding and not decoding, then bail early if the URL is all ascii.
1904         (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Remove earlier special-case
1905         check for localhost, no longer needed.
1906
1907 2004-11-17  Richard Williamson   <rjw@apple.com>
1908
1909         Fixed <rdar://problem/3863601> Legacy font cache code in [WebTextRendererFactory createSharedFactory] may be unnecesary
1910
1911         and added call to SPI for
1912
1913         <rdar://problem/3884448> WebKit should turn on CG local font cache
1914
1915         currently disabled until a Tiger build shows up with the SPI.
1916
1917         Reviewed by David Harrison.
1918
1919         * WebCoreSupport.subproj/WebTextRendererFactory.m:
1920         (+[WebTextRendererFactory createSharedFactory]):
1921
1922 2004-11-17  Richard Williamson   <rjw@apple.com>
1923
1924         Fixed <rdar://problem/3882212> REGRESSION: Images clipped instead of scaled
1925         Fixed <rdar://problem/3884088> Crash terminating image load
1926
1927         Also added code to turn off color correction for images created
1928         via CGImageSources.  This code is currently disabled because CG  
1929         can't change the color space of images loaded progressively.
1930         Further, according to Dave Hayward, CG will no longer attempt
1931         to color correct images that don't have embedded profiles as of
1932         Tiger 8A306.
1933
1934         Reviewed by Chris.
1935
1936         * WebCoreSupport.subproj/WebImageData.m:
1937         (-[WebImageData _commonTermination]):
1938         (-[WebImageData dealloc]):
1939         (-[WebImageData _invalidateImageProperties]):
1940         (-[WebImageData imageAtIndex:]):
1941         (-[WebImageData incrementalLoadWithBytes:length:complete:]):
1942         (-[WebImageData propertiesAtIndex:]):
1943
1944 2004-11-16  Chris Blumenberg  <cblu@apple.com>
1945
1946         Fixed: <rdar://problem/3882034> REGRESSION: Context menu incorrect for PDF content
1947
1948         Reviewed by darin.
1949
1950         * WebView.subproj/WebPDFView.m:
1951         (-[WebPDFView hitTest:]): return self if the current event is a context menu event
1952         (-[WebPDFView menuForEvent:]): use the PDFView subview
1953
1954 2004-11-15  Chris Blumenberg  <cblu@apple.com>
1955
1956         Fixed: <rdar://problem/3880410> save 5 dirty pages by soft-linking against PDFKit framework
1957
1958         Reviewed by john.
1959
1960         * WebKit.pbproj/project.pbxproj:
1961         * WebView.subproj/WebPDFRepresentation.m:
1962         (+[WebPDFRepresentation PDFDocumentClass]): new
1963         (-[WebPDFRepresentation finishedLoadingWithDataSource:]): use PDFDocumentClass
1964         * WebView.subproj/WebPDFView.h:
1965         * WebView.subproj/WebPDFView.m:
1966         (+[WebPDFView PDFKitBundle]): new
1967         (+[WebPDFView PDFViewClass]): new
1968         (-[WebPDFView initWithFrame:]): create a PDFView subview
1969         (-[WebPDFView dealloc]): release the PDFView subview
1970         (-[WebPDFView PDFSubview]): new
1971
1972 2004-11-15  Chris Blumenberg  <cblu@apple.com>
1973
1974         Fixed: <rdar://problem/3879891> WebKit should link against PDFKit instead of Quartz
1975
1976         Reviewed by darin.
1977
1978         * WebKit.pbproj/project.pbxproj: link against PDFKit if it is present instead of Quartz.framework
1979
1980 2004-11-15  Richard Williamson   <rjw@apple.com>
1981
1982         Fixed missing retain of image property data.
1983
1984         Reviewed by John.
1985
1986         * WebCoreSupport.subproj/WebImageData.h:
1987         * WebCoreSupport.subproj/WebImageData.m:
1988         (-[WebImageData dealloc]):
1989         (-[WebImageData _invalidateImages]):
1990         (-[WebImageData imageAtIndex:]):
1991         (-[WebImageData propertiesAtIndex:]):
1992         (-[WebImageData _frameDuration]):
1993
1994 2004-11-15  Richard Williamson   <rjw@apple.com>
1995
1996         Cache image properties and frame durations.
1997         Create NSImage and TIFF representations from CGImage, lazily, as needed for
1998         dragging and element info dictionary.
1999
2000         Reviewed by John.
2001
2002         * WebCoreSupport.subproj/WebImageData.h:
2003         * WebCoreSupport.subproj/WebImageData.m:
2004         (-[WebImageData dealloc]):
2005         (-[WebImageData size]):
2006         (-[WebImageData propertiesAtIndex:]):
2007         (-[WebImageData _frameDurationAt:]):
2008         (-[WebImageData _frameDuration]):
2009         * WebCoreSupport.subproj/WebImageRenderer.h:
2010         * WebCoreSupport.subproj/WebImageRenderer.m:
2011         (-[WebImageRenderer dealloc]):
2012         (-[WebImageRenderer TIFFRepresentation]):
2013         (-[WebImageRenderer image]):
2014
2015 2004-11-14  Maciej Stachowiak  <mjs@apple.com>
2016
2017         Reviewed by John.
2018
2019         <rdar://problem/3879226> WebKit needlessly uses extra memory to store icon refcounts as NSNumbers       
2020
2021         * Misc.subproj/WebIconDatabase.m:
2022         (-[WebIconDatabase init]):
2023         (-[WebIconDatabase _setIconURL:forURL:]):
2024         (-[WebIconDatabase _retainIconForIconURLString:]):
2025         (-[WebIconDatabase _releaseIconForIconURLString:]):
2026         (-[WebIconDatabase _retainFutureIconForURL:]):
2027         (-[WebIconDatabase _releaseFutureIconForURL:]):
2028         * Misc.subproj/WebIconDatabasePrivate.h:
2029
2030 2004-11-15  John Sullivan  <sullivan@apple.com>
2031
2032         Reviewed by Ken.
2033         
2034         - fixed <rdar://problem/3879513> leak in [WebArchive _propertyListRepresentation] copying HTML to pasteboard
2035
2036         * WebView.subproj/WebArchive.m:
2037         (-[WebArchive _propertyListRepresentation]):
2038         the array holding the subresources was not released after use, oops!
2039
2040 2004-11-12  Chris Blumenberg  <cblu@apple.com>
2041
2042         Fixed: <rdar://problem/3874577> Opening restricted (parental) content in new window/tab reveals Safari's "Resources" folder
2043         
2044         Reviewed by john.
2045
2046         * WebView.subproj/WebDefaultContextMenuDelegate.m:
2047         (-[WebDefaultUIDelegate openFrameInNewWindow:]): use the unreachable URL if there is one
2048
2049 === Safari-171 ===
2050
2051 2004-11-11  Richard Williamson   <rjw@apple.com>
2052
2053         Report actual size (not partial size) but use partial size
2054         when drawing.
2055
2056         Reviewed by Maciej.
2057
2058         * WebCoreSupport.subproj/WebImageData.h:
2059         * WebCoreSupport.subproj/WebImageData.m:
2060         (-[WebImageData size]):
2061
2062 2004-11-11  Darin Adler  <darin@apple.com>
2063
2064         Reviewed by John.
2065
2066         - added _wasFirstResponderAtMouseDownTime method to bridge so we can fix
2067           <rdar://problem/3846152> REGRESSION (125-166): can't drag text out of <input type=text> fields
2068           with a subsequent change to WebCore.
2069
2070         * WebCoreSupport.subproj/WebBridge.m:
2071         (wasFirstResponderAtMouseDownTime:): Added. Calls _wasFirstResponderAtMouseDownTime
2072         on the WebHTMLView.
2073         (_getPreSmartSet): Move global inside the function, add (void) for cleanliness.
2074         (_getPostSmartSet): Ditto.
2075
2076         * WebView.subproj/WebHTMLView.m:
2077         (-[WebHTMLViewPrivate dealloc]): Release firstResponderAtMouseDownTime.
2078         (-[WebHTMLView _setMouseDownEvent:]): Early exit if event is not changing.
2079         Set firstResponderAtMouseDownTime to the first responder.
2080         (-[WebHTMLView mouseDown:]): Release firstResponderAtMouseDownTime after handling
2081         the mouseDown event.
2082         (-[WebHTMLView _wasFirstResponderAtMouseDownTime:]): Added. Uses the
2083         firstResponderAtMouseDownTime field.
2084         * WebView.subproj/WebHTMLViewInternal.h: Added firstResponderAtMouseDownTime field
2085         and _wasFirstResponderAtMouseDownTime method.
2086
2087         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
2088
2089 2004-11-11  Richard Williamson   <rjw@apple.com>
2090
2091         Reviewed by Chris.
2092
2093         Work-around to minimize impact of 3876764.  Cache frame durations
2094         after first call.  So we'll still leak 1K for each animated
2095         image, but that's better than 1K each time the frame is drawn!
2096         * WebCoreSupport.subproj/WebImageData.h:
2097         * WebCoreSupport.subproj/WebImageData.m:
2098         (-[WebImageData _frameDuration]):
2099
2100         Simplified animation cleanup code.  Fixed leak due to 
2101         incorrect key passed to CFDictionaryRemoveValue.
2102         
2103         (+[WebImageData stopAnimationsInView:]):
2104         (-[WebImageData addAnimatingRenderer:inView:]):
2105         (-[WebImageData removeAnimatingRenderer:]):
2106         (-[WebImageData _stopAnimation]):
2107
2108 2004-11-11  Darin Adler  <darin@apple.com>
2109
2110         Reviewed by Maciej.
2111
2112         - fixed <rdar://problem/3605906> Flash scrolled off the top and bottom cause CPU spin when combined with something dirty on the visible part of the page
2113
2114         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
2115         Work around AppKit bug by using rectangles from getRectsBeingDrawn:count: instead of
2116         using the passed-in rectangle.
2117
2118 2004-11-11  Richard Williamson   <rjw@apple.com>
2119
2120         Work-arounds to make new ImageIO code work correctly.  Still
2121         disabled for now.  Requires at least Tiger 300.  Testing does
2122         show a 3% improvement in PLT tests!  That's huge!
2123
2124         Reviewed by John.
2125
2126         * WebCoreSupport.subproj/WebImageData.m:
2127         (-[WebImageData imageAtIndex:]):
2128         (-[WebImageData incrementalLoadWithBytes:length:complete:]):
2129         (-[WebImageData isNull]):
2130
2131 2004-11-10  Chris Blumenberg  <cblu@apple.com>
2132
2133         Fixed: <rdar://problem/3396872> ICONS: icon DB inconsistencies can cause slowness during startup, idle and quit
2134
2135         Reviewed by john.
2136
2137         * Misc.subproj/WebFileDatabase.m:
2138         (-[WebFileDatabase objectForKey:]): added logging code
2139         * Misc.subproj/WebIconDatabase.m:
2140         (-[WebIconDatabase init]): use alloc, init rather than autorelease, retain
2141         (-[WebIconDatabase _loadIconDictionaries]): use 1 object for mapping icon URLs to site URLs and vice versa rather than 3. This avoids inconsistencies and is faster.
2142         (-[WebIconDatabase _updateFileDatabase]): write 1 object out
2143
2144 2004-11-09  David Hyatt  <hyatt@apple.com>
2145
2146         Fix for 3873234, Safari UI is unresponsive when parsing multiple HTML docs and 3873233, Safari hangs when
2147         loading large local files.
2148         
2149         Reviewed by mjs
2150
2151         * WebCoreSupport.subproj/WebBridge.m:
2152         (-[WebBridge tokenizerProcessedData]):
2153         * WebView.subproj/WebDataSource.m:
2154         (-[WebDataSource _receivedMainResourceError:complete:]):
2155         (-[WebDataSource isLoading]):
2156
2157 2004-11-09  Richard Williamson   <rjw@apple.com>
2158
2159         Fixed <rdar://problem/3870964> 8A300: Safari not recognizing a PDF link (it displays raw data)
2160
2161         Add "text/pdf" as an acceptable PDF MIME type.
2162
2163         Reviewed by Chris.
2164
2165         * WebView.subproj/WebDataSource.m:
2166         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
2167         * WebView.subproj/WebFrameView.m:
2168         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
2169
2170 2004-11-08  Chris Blumenberg  <cblu@apple.com>
2171
2172         Fixed: <rdar://problem/3783904> Return key behavior is confusingly different between popup menus and autofill menus
2173
2174         Reviewed by john.
2175
2176         * WebCoreSupport.subproj/WebBridge.m:
2177         (-[WebBridge control:textView:shouldHandleEvent:]): new
2178         * WebView.subproj/WebFormDelegate.h:
2179         * WebView.subproj/WebFormDelegate.m:
2180         (-[WebFormDelegate control:textView:shouldHandleEvent:inFrame:]): new
2181
2182 2004-11-05  Chris Blumenberg  <cblu@apple.com>
2183
2184         Fixed: <rdar://problem/3854218> Safari is sometimes really slow because of increased null events to plug-ins
2185
2186         * Plugins.subproj/WebBaseNetscapePluginView.m: reverted null event interval to 0.02
2187
2188 2004-11-05  Chris Blumenberg  <cblu@apple.com>
2189
2190         Fixed: <rdar://problem/3838413> REGRESSION (Mail): "Smart" word paste adds spaces before/after special characters
2191
2192         Reviewed by rjw.
2193
2194         * WebCoreSupport.subproj/WebBridge.m:
2195         (_getPreSmartSet): copied from AppKit
2196         (_getPostSmartSet): ditto
2197         (-[WebBridge isCharacterSmartReplaceExempt:isPreviousCharacter:]): new
2198
2199 2004-11-05  Richard Williamson   <rjw@apple.com>
2200
2201         Fixed <rdar://problem/3810702> _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector: ASSERTS when reentered from Xcode's man page viewer
2202
2203         Reviewed by Maciej (a long time ago).
2204
2205         * WebView.subproj/WebFrame.m:
2206         (-[WebFrame _loadDataSource:withLoadType:formState:]):
2207
2208         Fixed <rdar://problem/3845307> WebKit needs to export _HIWebViewRegisterClass so HIWebViews can work in Carbon nib files
2209
2210         As suggested in the bug, the fix is to actually call 
2211         HIWebViewRegisterClass in WebKitInitForCarbon, rather than
2212         exporting the symbol.
2213
2214         Reviewed by Chris.
2215
2216         * Carbon.subproj/CarbonUtils.m:
2217         (WebInitForCarbon):
2218         * Carbon.subproj/HIWebView.m:
2219         * WebKit.pbproj/project.pbxproj:
2220
2221 === Safari-170 ===
2222
2223 2004-11-05  Darin Adler  <darin@apple.com>
2224
2225         Reviewed by Chris.
2226
2227         - fixed <rdar://problem/3857151> Assertion failure in "trackingRectOwner" while moving mouse over Slashdot.org page
2228
2229         * WebView.subproj/WebHTMLView.m:
2230         (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Changed to no longer call
2231         addTrackingRect to do the work for consistency with the new method below. Not too much copied and pasted code.
2232         (-[WebHTMLView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Added an override
2233         for this new method in Tiger. No harm in implementing it on Panther, although it won't be called.
2234         (-[WebHTMLView _removeTrackingRects:count:]): Ditto.
2235
2236 2004-11-04  David Hyatt  <hyatt@apple.com>
2237
2238         Make sure the dominant line direction is properly set for RTL runs so that spaces will reverse.
2239
2240         Change xHeight to measure the ascent of the x glyph, since the xHeight metrics appear to be
2241         totally bogus in both CG and AppKit.
2242         
2243         Reviewed by darin
2244
2245         * WebCoreSupport.subproj/WebTextRenderer.m:
2246         (-[WebTextRenderer xHeight]):
2247         (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
2248         (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
2249         (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
2250         (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
2251         (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
2252
2253 2004-11-02  Maciej Stachowiak  <mjs@apple.com>
2254
2255         Reviewed by Dave Hyatt (when I originally coded it).
2256
2257         Redid WebKit part of fix for:
2258
2259         <rdar://problem/3759187> REGRESSION (Mail): implement firstRectForCharacterRange:
2260        
2261         * WebView.subproj/WebHTMLView.m:
2262         (-[WebHTMLView firstRectForCharacterRange:]): Call the appropriate new bridge method,
2263         and translate to screen coordinates.
2264
2265 2004-11-02  John Sullivan  <sullivan@apple.com>
2266
2267         Reviewed by Hyatt.
2268         
2269         - [NSFont menuFontOfSize:], called from WebStringTruncator, was taking > 9% of the time creating a 
2270         very large bookmarks menu, so I cached this one NSFont object.
2271
2272         * Misc.subproj/WebStringTruncator.m:
2273         (defaultMenuFont):
2274         new function, caches the font used when no font is specified
2275         (+[WebStringTruncator centerTruncateString:toWidth:]):
2276         call new function
2277
2278 2004-11-02  Ken Kocienda  <kocienda@apple.com>
2279
2280         Reviewed by Hyatt
2281
2282         WebCore now implements a command to insert a block in response to typing a return key, and
2283         some names were improved in the course of this work.
2284
2285         * WebView.subproj/WebHTMLView.m:
2286         (-[WebHTMLView insertNewline:]): Now calls insertLineBreak on bridge object.
2287         (-[WebHTMLView insertLineBreak:]): New method.
2288         (-[WebHTMLView insertParagraphSeparator:]): Now implemented.
2289         * WebView.subproj/WebView.m: 
2290
2291 === Safari-169 ===
2292
2293 2004-10-29  Chris Blumenberg  <cblu@apple.com>
2294
2295         * WebKit.exp: added _WebPlugInModeKey, forgot to add it earlier
2296
2297 2004-10-29  Darin Adler  <darin@apple.com>
2298
2299         - fixed <rdar://problem/3855573> Remove reference to "WebScriptMethods" from WebScriptObject.h comments
2300
2301         * Plugins.subproj/WebScriptObject.h: Removed unneeded #ifdef protection for multiple includes (since
2302         this is an Objective-C header and we use #import for those). Fixed comments as requested in the bug
2303         report to match the contents of the file.
2304
2305 2004-10-27  Ken Kocienda  <kocienda@apple.com>
2306
2307         Reviewed by Chris
2308
2309         Added new SPI for Mail so it can get the behavior it needs when the user hits
2310         the return key with the selection in quoted content.
2311
2312         * WebView.subproj/WebView.m
2313         * WebView.subproj/WebViewPrivate.h
2314
2315 2004-10-26  Chris Blumenberg  <cblu@apple.com>
2316
2317         Fixed exception that Darin encountered in Mail.
2318
2319         Reviewed by darin.
2320
2321         * Plugins.subproj/WebPluginController.m:
2322         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): if the plug-in returns a nil view, return nil
2323
2324 2004-10-25  Chris Blumenberg  <cblu@apple.com>
2325
2326         Darin made an internal notification have the Web prefix.
2327
2328         Reviewed by me.
2329
2330         * Plugins.subproj/WebBaseNetscapePluginView.m:
2331         (-[WebBaseNetscapePluginView addWindowObservers]):
2332         (-[WebBaseNetscapePluginView removeWindowObservers]):
2333         (ConsoleConnectionChangeNotifyProc):
2334
2335 2004-10-25  John Sullivan  <sullivan@apple.com>
2336
2337         Reviewed by Chris.
2338         
2339         - Cleanup from fix for <rdar://problem/3851676> bookmarks should not hold onto a WebHistoryItem object;
2340           eliminated notificationsSuppressed mechanism, which was used only by WebBookmark
2341
2342         * History.subproj/WebHistoryItem.m:
2343         removed notificationsSuppressed ivar from private data object
2344         (-[WebHistoryItem setAlternateTitle:]):
2345         remove notificationsSuppressed guard
2346         (-[WebHistoryItem setURLString:]):
2347         ditto
2348         (-[WebHistoryItem setOriginalURLString:]):
2349         ditto
2350         (-[WebHistoryItem setTitle:]):
2351         ditto
2352         (-[WebHistoryItem _setLastVisitedTimeInterval:]):
2353         ditto
2354         (-[WebHistoryItem setNotificationsSuppressed:]):
2355         removed this method
2356         (-[WebHistoryItem notificationsSuppressed]):
2357         ditto
2358         
2359         * History.subproj/WebHistoryItemPrivate.h:
2360         removed notificationsSuppressed and setNotificationsSuppressed
2361
2362 2004-10-22  Chris Blumenberg  <cblu@apple.com>
2363
2364         Fixed: <rdar://problem/3851491> installedPlugins being called for a page without plugins
2365
2366         Reviewed by mjs.
2367
2368         * WebView.subproj/WebFrameView.m:
2369         (+[WebFrameView _canShowMIMETypeAsHTML:]): call _viewTypesAllowImageTypeOmission instead of using ivar since the ivar is nil until _viewTypesAllowImageTypeOmission is called, this was causing [WebView canShowMIMEType:] to check plug-ins 
2370
2371 === Safari-168 ===
2372
2373 2004-10-22  Ken Kocienda  <kocienda@apple.com>
2374
2375         Reviewed by me
2376
2377         * WebKit.pbproj/project.pbxproj: Add GCC_ENABLE_OBJC_GC and GCC_FAST_OBJC_DISPATCH flags.
2378
2379 2004-10-21  Darin Adler  <darin@apple.com>
2380
2381         Reviewed by John.
2382
2383         - fixed <rdar://problem/3847994> REGRESSION: reproducible exception in WebImageRenderer releasePatternColor; afterwards get crash or no more browsing
2384
2385         * WebCoreSupport.subproj/WebImageRenderer.m:
2386         (-[WebInternalImage createRendererIfNeeded]): Replaced retainOrCopyIfNeeded with this.
2387         This returns nil if a copied renderer isn't needed, and returns a new renderer if a copy is.
2388         The old version was sometimes returning a WebInternalImage and other times a WebImageRenderer.
2389         (-[WebImageRenderer retainOrCopyIfNeeded]): Returns the result of createRendererIfNeeded
2390         or retains self and returns self.
2391
2392 2004-10-20  Darin Adler  <darin@apple.com>
2393
2394         Reviewed by Dave.
2395
2396         - fixed <rdar://problem/3470715> Pattern cache can get huge with use of css background-image in Safari
2397
2398         * WebCoreSupport.subproj/WebImageRenderer.h: Change WebImageRenderer to be a subclass of NSObject
2399         rather than NSImage and contain a pointer to a WebInternalImage.
2400         * WebCoreSupport.subproj/WebImageRenderer.m:
2401         (-[WebInternalImage releasePatternColor]): Added. Releases patternColor.
2402         (-[WebImageRenderer initWithMIMEType:]): Added. Makes WebInternalImage and then self.
2403         (-[WebImageRenderer initWithData:MIMEType:]): Ditto.
2404         (-[WebImageRenderer initWithContentsOfFile:]): Ditto.
2405         (-[WebImageRenderer dealloc]): Added. Calls releasePatternColor and then releases WebInternalImage.
2406         (-[WebImageRenderer image]): Added. Returns pointer to image.
2407         (-[WebImageRenderer MIMEType]): Added. Calls through to image.
2408         (-[WebImageRenderer TIFFRepresentation]): Ditto.
2409         (-[WebImageRenderer frameCount]): Ditto.
2410         (-[WebImageRenderer setOriginalData:]): Added. Sets image data pointer.
2411         (+[WebImageRenderer stopAnimationsInView:]): Added. Calls through to image.
2412         (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Ditto.
2413         (-[WebImageRenderer size]): Ditto.
2414         (-[WebImageRenderer resize:]): Ditto.
2415         (-[WebImageRenderer drawImageInRect:fromRect:]): Ditto.
2416         (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]): Ditto.
2417         (-[WebImageRenderer stopAnimation]): Ditto.
2418         (-[WebImageRenderer tileInRect:fromPoint:context:]): Ditto.
2419         (-[WebImageRenderer isNull]): Ditto.
2420         (-[WebImageRenderer retainOrCopyIfNeeded]): Ditto.
2421         (-[WebImageRenderer increaseUseCount]): Ditto.
2422         (-[WebImageRenderer decreaseUseCount]): Ditto.
2423         (-[WebImageRenderer flushRasterCache]): Ditto.
2424         (-[WebImageRenderer imageRef]): Ditto.
2425         (-[WebImageRenderer copyWithZone:]): Ditto.
2426
2427         * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]):
2428         Update for slight changes to WebImageRenderer API.
2429         * WebCoreSupport.subproj/WebImageRendererFactory.m:
2430         (-[WebImageRendererFactory imageRendererWithMIMEType:]): Ditto.
2431         (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): Ditto.
2432         (-[WebImageRendererFactory imageRendererWithSize:]): Ditto.
2433         (-[WebImageRendererFactory imageRendererWithName:]): Ditto.
2434         * WebView.subproj/WebImageView.m: (-[WebImageView image]): Ditto.
2435
2436 2004-10-20  Chris Blumenberg  <cblu@apple.com>
2437         
2438         Fixed: <rdar://problem/3846943> REGRESSION: JNLP files are rendered instead of downloaded
2439
2440         Reviewed by john.
2441
2442         * Plugins.subproj/WebBasePluginPackage.h:
2443         * Plugins.subproj/WebBasePluginPackage.m:
2444         (-[WebBasePluginPackage isJavaPlugIn]): new
2445         * Plugins.subproj/WebPluginDatabase.m:
2446         (-[WebPluginDatabase refresh]): don't register the Java plug-in for a document view since Java file should be downloaded when not embedded.
2447
2448 2004-10-20  Chris Blumenberg  <cblu@apple.com>
2449
2450         Fixed:
2451         <rdar://problem/3842030> WebKit needs to pass the mode (NP_FULL, NP_EMBED, etc) when calling plugInViewWithArguments
2452         <rdar://problem/3792852> Safari is loading the new QuickTime Cocoa plugin on Panther
2453
2454         Reviewed by darin.
2455
2456         * Plugins.subproj/WebPluginDocumentView.m:
2457         (-[WebPluginDocumentView setDataSource:]): pass "full" as the mode
2458         * Plugins.subproj/WebPluginPackage.m:
2459         (-[WebPluginPackage initWithPath:]): load plug-in with the "webplugin" extension
2460         * WebCoreSupport.subproj/WebBridge.m:
2461         (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): pass "embed" as the mode
2462         * WebKit.pbproj/project.pbxproj:
2463
2464 2004-10-19  Vicki Murley <vicki@apple.com>
2465
2466         - bump WebKit version to 167.1, so that we can do a quick dot submission for <rdar://problem/3843951> 
2467
2468         * WebKit.pbproj/project.pbxproj:
2469
2470 2004-10-19  Darin Adler  <darin@apple.com>
2471
2472         Change suggested by Maciej during code review.
2473
2474         * WebCoreSupport.subproj/WebTextRenderer.m: Changed rounding hack table to be const so it can be in shared instead
2475         of private memory, and doesn't require an initialization function.
2476         (+[WebTextRenderer initialize]): Removed initialization.
2477
2478 2004-10-19  Darin Adler  <darin@apple.com>
2479
2480         Reviewed by Maciej.
2481
2482         - fixed <rdar://problem/3838934> Safari stops loading pages after rangeOfCharacterFromSet nil argument exception
2483         - fixed <rdar://problem/3843951> REGRESSION (166-167): Safari crashes in widthForNextCharacter (belkin.com, at startup for others)
2484         - fixed <rdar://problem/3841049> REGRESSION (109-110): control characters render as square boxes
2485
2486         * WebCoreSupport.subproj/WebTextRenderer.m:
2487         (isSpace): Merged in isAlternateSpace, never used.
2488         (setupRoundingHackCharacterTable): Fixed size of table, was 1 entry too short. Got rid of unneeded call to bzero,
2489         since globals start out zeroed automatically.
2490         (isRoundingHackCharacter): Fixed backwards logic causing the crash in widthForNextCharacter.
2491         Also removed explicit compare with 1; check for non-zero is just fine.
2492         (fontContainsString): Change code so we'll just skip the font if the covered character set returns nil rather than
2493         throwing an exception like the old version did. This should make bug 3838934 go away, although perhaps covering up
2494         the underlying problem.
2495         (-[WebTextRenderer _convertCharacters:length:toGlyphs:]): Removed unused skipControlCharacters: parameter and also
2496         the unnecessary code to copy the buffer to change newline characters and non-break spaces to spaces.
2497         (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Removed unused local.
2498         (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): Added code to set up special cases for control characters,
2499         \n and non-break spaces.
2500         (-[WebTextRenderer _createATSUTextLayoutForRun:]): Added comment about the cases this code does not handle that
2501         are handled by the CG case.
2502         (widthForNextCharacter): Call isSpace instead of checking specifically for the space character here. The old code
2503         would not handle cases with '\n' coming across from WebCore properly.
2504
2505 2004-10-18  Chris Blumenberg  <cblu@apple.com>
2506
2507         Fixed: <rdar://problem/3840916> GC: -[WebNetscapePluginPackage initWithPath:] leaks an NSURL
2508
2509         Reviewed by kevin.
2510
2511         * Plugins.subproj/WebNetscapePluginPackage.m:
2512         (-[WebNetscapePluginPackage initWithPath:]): use executablePath on NSBundle instead of CFBundleCopyExecutableURL
2513
2514 2004-10-18  Chris Blumenberg  <cblu@apple.com>
2515
2516         * DOM.subproj/DOMPrivate.h: change to copied header that was never committed
2517
2518 2004-10-18  John Sullivan  <sullivan@apple.com>
2519
2520         Reviewed by Ken.
2521         
2522         - fixed <rdar://problem/3810183> Make WebHTMLView respect return value of webView:doCommandBySelector:
2523
2524         * WebView.subproj/WebHTMLView.m:
2525         (-[WebHTMLView doCommandBySelector:]):
2526         only do default action if delegate returns NO; this works with Mail as of Tiger 8A275.
2527
2528 === Safari-167 ===
2529
2530 2004-10-14  Ken Kocienda  <kocienda@apple.com>
2531
2532         Reviewed by John
2533
2534         Final fix for these bugs:
2535         
2536         <rdar://problem/3806306> HTML editing puts spaces at start of line
2537         <rdar://problem/3814252> HTML editing groups space with word causing wrapping
2538
2539         This change sets some new CSS properties that have been added to WebCore to 
2540         enable whitespace-handling and line-breaking features that make WebView work
2541         more like a text editor.
2542
2543         * WebView.subproj/WebHTMLRepresentation.m:
2544         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Turn on special editing
2545         CSS properties when loading an HTML document into a WebView that is editable.
2546         * WebView.subproj/WebView.m:
2547         (-[WebView setEditable:]): Add and remove special editing CSS properties in current
2548         document being displayed.
2549
2550 2004-10-14  Richard Williamson   <rjw@apple.com>
2551
2552         Fixed <rdar://problem/3823026> making isRoundingHackCharacter use -O3 and an 8-bit lookup-table will speed "XBS" test up by 3% (actually < 1%)
2553
2554         Careful testing shows a small performance gain on very large text files.  
2555         I saw large variations in timings, but taking the lowest PLT timing 
2556         with and without this change showed a 0.9% gain.  Note the cvs-base showed
2557         no improvement.  The improvement was for the large page attached to the
2558         bug.
2559
2560         Reviewed by Ken.
2561
2562         * WebCoreSupport.subproj/WebTextRenderer.m:
2563         (setupRoundingHackCharacterTable):
2564         (isRoundingHackCharacter):
2565         (+[WebTextRenderer initialize]):
2566
2567 2004-10-14  Ken Kocienda  <kocienda@apple.com>
2568
2569         Reviewed by me
2570
2571         Fix build breakage. These three functions need to return the values from their
2572         calls to WebCGColorSpaceCreateXXX.
2573
2574         * WebCoreSupport.subproj/WebGraphicsBridge.m:
2575         (-[WebGraphicsBridge createRGBColorSpace])
2576         (-[WebGraphicsBridge createGrayColorSpace])
2577         (-[WebGraphicsBridge createCMYKColorSpace])
2578
2579 2004-10-13  Richard Williamson   <rjw@apple.com>
2580
2581         Addressed concerns in <rdar://problem/3803117> RESP: High complexity in icu uidna_IDNToASCII called by [NSString(WebNSURLExtras) _web_mapHostNameWithRange:encode:makeString:]
2582
2583         In practice I saw NO improvement in performance.  Although,
2584         special-case tests could possibly show improvement.  Anyway,
2585         the changes don't hurt performance.
2586
2587         Reviewed by Maciej.
2588
2589         * Misc.subproj/WebNSURLExtras.m:
2590         (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
2591
2592 2004-10-13  Maciej Stachowiak  <mjs@apple.com>
2593
2594         Reviewed by Ken.
2595
2596         <rdar://problem/3824626> Change to do colormatching for DeviceRGB colorspace causes ~11% Safari slowdown
2597         
2598         - I fixed this by turning off all colormatching for WebKit
2599         content. We might turn it back on later. For now, it's possible to
2600         turn it on temporarily by defining COLORMATCH_EVERYTHING.
2601         
2602         * WebCoreSupport.subproj/WebGraphicsBridge.m:
2603         (-[WebGraphicsBridge setFocusRingStyle:radius:color:]):
2604         (-[WebGraphicsBridge additionalPatternPhase]):
2605         (-[WebGraphicsBridge createRGBColorSpace]):
2606         (-[WebGraphicsBridge createGrayColorSpace]):
2607         (-[WebGraphicsBridge createCMYKColorSpace]):
2608         * WebCoreSupport.subproj/WebImageData.m:
2609         * WebCoreSupport.subproj/WebImageRenderer.h:
2610         * WebCoreSupport.subproj/WebImageRenderer.m:
2611         (-[WebImageRenderer _adjustSizeToPixelDimensions]):
2612         (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
2613         (-[WebImageRenderer _adjustColorSpace]):
2614         (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
2615         (-[WebImageRenderer tileInRect:fromPoint:context:]):
2616         (_createImageRef):
2617         (WebCGColorSpaceCreateRGB):
2618         (WebCGColorSpaceCreateGray):
2619         (WebCGColorSpaceCreateCMYK):
2620         * WebKitPrefix.h:
2621
2622 2004-10-13  Richard Williamson   <rjw@apple.com>
2623
2624         Don't fill background with transparency unless debug flag
2625         is enabled.
2626
2627         Reviewed by Hyatt.
2628
2629         * WebView.subproj/WebHTMLView.m:
2630         (-[WebHTMLView drawRect:]):
2631
2632 2004-10-12  Richard Williamson   <rjw@apple.com>
2633
2634         Fixed <rdar://problem/3829705> Need to remove filling w/ transparency when not drawing backgroundy.
2635
2636         Reviewed by Ken.
2637
2638         * WebView.subproj/WebHTMLView.m:
2639         (-[WebHTMLView _transparentBackground]):
2640         (-[WebHTMLView _setTransparentBackground:]):
2641         (-[WebHTMLView drawRect:]):
2642         * WebView.subproj/WebHTMLViewInternal.h:
2643         * WebView.subproj/WebHTMLViewPrivate.h:
2644
2645 2004-10-11  Chris Blumenberg  <cblu@apple.com>
2646
2647         Fixed: <rdar://problem/3802039> 8A259: Can't use Grab services to grab selection from screen
2648
2649         Reviewed by john.
2650
2651         * WebView.subproj/WebHTMLView.m:
2652         (+[WebHTMLView initialize]): register service "return types" which are types that can be inserted into a WebView
2653         (-[WebHTMLView writeSelectionToPasteboard:types:]): service protocol method, be sure to only write specified types
2654         (-[WebHTMLView readSelectionFromPasteboard:]): new, service protocol method, insert types
2655         (-[WebHTMLView validRequestorForSendType:returnType:]): moved, handle return types
2656
2657 2004-10-11  Darin Adler  <darin@apple.com>
2658
2659         Reviewed by John.
2660
2661         - fixed <rdar://problem/3834130> nil-object-in-dictionary exception seen in -[WebView _elementAtWindowPoint:]
2662
2663         * WebView.subproj/WebView.m: (-[WebView _elementAtWindowPoint:]): Added a check for nil frame.
2664
2665 2004-10-11  Darin Adler  <darin@apple.com>
2666
2667         Reviewed by John.
2668
2669         - fixed <rdar://problem/3834166> <input type=file> sends onchange even when the same file is chosen twice
2670
2671         * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton chooseFilename:]):
2672         Do nothing if filename is the same as before.
2673
2674 2004-10-11  Ken Kocienda  <kocienda@apple.com>
2675
2676         Reviewed by Darin
2677
2678         * WebView.subproj/WebHTMLView.m:
2679         (-[WebTextCompleteController doCompletion]): bridge call to get caret rect at a node
2680         now takes an affinity: caretRectAtNode:offset:affinity:.
2681
2682 2004-10-10  Ken Kocienda  <kocienda@apple.com>
2683
2684         Reviewed by Chris
2685
2686         Fix for this bug:
2687         
2688         <rdar://problem/3814236> REGRESSION (Mail): Can't set the color of text in Mail compose window using drag/drag from color panel
2689
2690         * WebView.subproj/WebHTMLView.m:
2691         (+[WebHTMLView _insertablePasteboardTypes]): Add NSColorPboardType to list.
2692         (-[WebHTMLView _isNSColorDrag:]): New helper. Determines if drag is an NSColor drag.
2693         (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Add a case for NSColor drags,
2694         else do what we did before.
2695         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Add a case for NSColor drags, which creates
2696         a CSS style containing color info and calls the bridge to apply the style. Otherwise, do what we did before.
2697
2698 2004-10-11  Darin Adler  <darin@apple.com>
2699
2700         Reviewed by Ken.
2701
2702         - fixed <rdar://problem/3833848> REGRESSION (133-134): each keydown event is getting sent multiple times
2703
2704         * WebView.subproj/WebHTMLView.m: (-[WebHTMLView performKeyEquivalent:]):
2705         Don't send an event through WebCore if it has already been through once.
2706
2707 2004-10-10  John Sullivan  <sullivan@apple.com>
2708
2709         Reviewed by Ken.
2710         
2711         - fixed <rdar://problem/3777253> Crash in redirect mechanism trying to display error page for bad scheme
2712
2713         * WebView.subproj/WebMainResourceClient.m:
2714         (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
2715         add retain/autorelease to the request returned from call to super. In this case, the return value
2716         was being dealloc'ed before being returned.
2717
2718 2004-10-09  Chris Blumenberg  <cblu@apple.com>
2719
2720         Fixed: 
2721         <rdar://problem/3625352> up and down arrow and page up/down keys don't work to scroll overflow:auto/scroll/overlay areas
2722         <rdar://problem/3397658> scroll wheel does not work to scroll overflow:auto/scroll/overlay areas (RSS)
2723
2724         Reviewed by hyatt.
2725
2726         * Plugins.subproj/WebBaseNetscapePluginStream.m:
2727         (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): fixed typo in comment
2728         * Plugins.subproj/WebNetscapePluginStream.m:
2729         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): ditto
2730         * WebView.subproj/WebFramePrivate.h:
2731         * WebView.subproj/WebFrameView.m:
2732         (-[WebFrameView _bridge]): new
2733         (-[WebFrameView scrollToBeginningOfDocument:]): call the bridge to scroll, if that fails, scroll the document view
2734         (-[WebFrameView scrollToEndOfDocument:]): ditto
2735         (-[WebFrameView _pageVertically:]): ditto
2736         (-[WebFrameView _pageHorizontally:]): ditto
2737         (-[WebFrameView _scrollLineVertically:]): ditto
2738         (-[WebFrameView _scrollLineHorizontally:]): ditto
2739         * WebView.subproj/WebHTMLView.m:
2740         (-[WebHTMLView scrollWheel:]): call the bridge to scroll, if that fails, pass to next responder
2741
2742 === Safari-166 ===
2743
2744 2004-10-05  Chris Blumenberg  <cblu@apple.com>
2745
2746         Fixed: <rdar://problem/3827002> assertion failure in WebBaseNetscapePluginStream on abc.go.com
2747
2748         Reviewed by rjw.
2749
2750         * Plugins.subproj/WebBaseNetscapePluginStream.m:
2751         (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): avoid assertion failure in dealloc by temporarily setting isTerminated to YES in case we are released in this method
2752         * Plugins.subproj/WebNetscapePluginStream.m:
2753         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): ditto
2754
2755 2004-10-05  John Sullivan  <sullivan@apple.com>
2756
2757         * WebCoreSupport.subproj/WebBridge.m:
2758         (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]):
2759         initialize "arguments" var to nil to satisfy compiler on deployment build.
2760
2761 2004-10-05  Richard Williamson   <rjw@apple.com>
2762
2763         Fixed <rdar://problem/3825442> first click lost for Dashboard
2764         Allow dashboard to force acceptsFirstMouse:
2765
2766         Reviewed by Chris.
2767
2768         * WebView.subproj/WebHTMLView.m:
2769         (-[WebHTMLView acceptsFirstMouse:]):
2770         * WebView.subproj/WebView.m:
2771         (-[WebView _dashboardBehavior:]):
2772         * WebView.subproj/WebViewInternal.h:
2773         * WebView.subproj/WebViewPrivate.h:
2774
2775         * WebCoreSupport.subproj/WebImageRenderer.h:
2776         Comment change only
2777
2778 2004-10-05  Chris Blumenberg  <cblu@apple.com>
2779
2780         Fixed: <rdar://problem/3760920> Need to record plugin view instances
2781         
2782         Reviewed by rjw.
2783
2784         * Plugins.subproj/WebPluginController.h:
2785         * Plugins.subproj/WebPluginController.m:
2786         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): new, creates plug-in view and adds it to global list
2787         (+[WebPluginController isPlugInView:]): new, checks if the plug-in view is in the global list
2788         (-[WebPluginController destroyAllPlugins]): remove the plug-in from the global list 
2789         * Plugins.subproj/WebPluginDocumentView.m:
2790         (-[WebPluginDocumentView setDataSource:]): call [WebPluginController plugInViewWithArguments:fromPluginPackage:]
2791         * WebCoreSupport.subproj/WebBridge.m:
2792         (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): ditto
2793         * WebView.subproj/WebFrame.m:
2794         (-[WebFrame _reloadForPluginChanges]): call [WebPluginController isPlugInView:]
2795         * WebView.subproj/WebHTMLView.m:
2796         (-[WebHTMLView addSubview:]): ditto
2797
2798 2004-10-05  David Hyatt  <hyatt@apple.com>
2799
2800         Fix to make selection more like NSTextView.  All gap painting is now done by WebCore, so WebKit no longer
2801         needs to try to fill gaps around text.
2802         
2803         Reviewed by kocienda
2804
2805         * WebCoreSupport.subproj/WebTextRenderer.m:
2806         (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
2807         (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
2808
2809 2004-10-05  Darin Adler  <darin@apple.com>
2810
2811         Reviewed by John.
2812
2813         - fixed <rdar://problem/3577255> custom file icon shows up upside down in <input type=file>
2814
2815         * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton setFilename:]): Added a call to
2816         setFlipped that fixes the problem, even though I don't know why.
2817
2818 2004-10-04  Darin Adler  <darin@apple.com>
2819
2820         Reviewed by Maciej.
2821
2822         - fixed <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
2823
2824         * WebView.subproj/WebHTMLView.m:
2825         (-[WebHTMLView _selectionStartFontAttributesAsRTF]): Changed to call new bridge method
2826         named fontAttributesForSelectionStart, deleted the method this used to use, and renamed
2827         this to have the word "start" in it.
2828         (-[WebHTMLView copyFont:]): Updated for name change.
2829
2830         * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
2831
2832 2004-10-04  Chris Blumenberg  <cblu@apple.com>
2833
2834         * WebView.subproj/WebFrameInternal.h: removed constant declarations that I committed by mistake
2835
2836 2004-10-04  Chris Blumenberg  <cblu@apple.com>
2837
2838         Fixed: <rdar://problem/3798948> NPP_URLNotify is not called if plug-in calls NPN_*URLNotfy
2839         Fixed a number of FIXME's related to notifying plug-ins of loaded pages.
2840
2841         Reviewed by rjw.
2842
2843         * Plugins.subproj/WebBaseNetscapePluginStream.h: 
2844                 - replaced URL ivar with requestURL and responseURL ivars since we need to pass both to plug-ins
2845                 - added sendNotification boolean. Relying on notifyData not being NULL was not information to know whether to call NPP_URLNotify or not.
2846                 - added isTerminated boolean because determining whether or not stream.ndata is NULL is not enough to know if the stream has been cancelled.
2847         * Plugins.subproj/WebBaseNetscapePluginStream.m:
2848         (+[WebBaseNetscapePluginStream reasonForError:]): new, factored out from receivedError:
2849         (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): new
2850         (-[WebBaseNetscapePluginStream dealloc]): release new ivars
2851         (-[WebBaseNetscapePluginStream finalize]): added assert
2852         (-[WebBaseNetscapePluginStream setRequestURL:]): new
2853         (-[WebBaseNetscapePluginStream setResponseURL:]): new
2854         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed, use responseURL as it basically did before
2855         (-[WebBaseNetscapePluginStream startStreamWithResponse:]): call renamed method
2856         (-[WebBaseNetscapePluginStream destroyStream]): 
2857                 - do nothing if terminated
2858                 - call NPP_StreamAsFile and NPP_DestroyStream if stream.ndata is not NULL
2859                 - call NPP_URLNotify if sendNotification is YES regardless of value of notifyData
2860         (-[WebBaseNetscapePluginStream receivedError:]): call reasonForError
2861         (-[WebBaseNetscapePluginStream deliverData]): use renamed ivar
2862         * Plugins.subproj/WebBaseNetscapePluginView.h:
2863                 - added observingFrameLoadNotification boolean
2864                 - renamed dictionary ivar to pendingFrameLoads which has WebFrame keys and WebPluginRequest values
2865         * Plugins.subproj/WebBaseNetscapePluginView.m:
2866         (-[WebBaseNetscapePluginView addFrameLoadObserver]): new
2867         (-[WebBaseNetscapePluginView removeFrameLoadObserver]): new
2868         (-[WebBaseNetscapePluginView stop]): call removeFrameLoadObserver
2869         (-[WebBaseNetscapePluginView initWithFrame:]): use renamed pendingFrameLoads ivar
2870         (-[WebBaseNetscapePluginView dealloc]): ditto
2871         (-[WebBaseNetscapePluginView requestWithURLCString:]): set referrer on the request just as IE does
2872         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): 
2873                 - call NPP_URLNotify depending of value of sendNotification
2874                 - call new init method on WebBaseNetscapePluginStream rather then setting variables individually
2875         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): new, calls NPP_URLNotify at the right time with the right value
2876         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]): new, delegate method called from WebFrame
2877         (-[WebBaseNetscapePluginView loadPluginRequest:]): call addFrameLoadObserver
2878         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): take new sendNotification parameter and pass it
2879         (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): pass YES for sendNotification
2880         (-[WebBaseNetscapePluginView getURL:target:]): pass NO for sendNotification
2881         (-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]): take new sendNotification parameter and pass it
2882         (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): pass YES for sendNotification
2883         (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): pass NO for sendNotification
2884         (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:]): take new sendNotification parameter
2885         (-[WebPluginRequest sendNotification]): new
2886         * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
2887         * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
2888         (-[WebNetscapePluginEmbeddedView didStart]): set referrer on the request just as IE does
2889         * Plugins.subproj/WebNetscapePluginRepresentation.m:
2890         (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): set the request URL on the stream
2891         * Plugins.subproj/WebNetscapePluginStream.h:
2892         * Plugins.subproj/WebNetscapePluginStream.m:
2893         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): take new sendNotification parameter and pass it
2894         (-[WebNetscapePluginStream dealloc]): use renamed ivar
2895         (-[WebNetscapePluginStream start]): ditto
2896         * WebView.subproj/WebFrame.m:
2897         (-[WebFrame _setState:]): removed notification posting code. This was only used by WebBaseNetscapePluginView and it was the wrong notification to send.
2898         (-[WebFrame _checkLoadCompleteForThisFrame]): call internal load delegate to tell it that the load has finished
2899         (-[WebFrame _loadItem:withLoadType:]): ditto
2900         (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): ditto
2901         (-[WebFrame _setInternalLoadDelegate:]): new
2902         (-[WebFrame _internalLoadDelegate]): new
2903         * WebView.subproj/WebFrameInternal.h:
2904         * WebView.subproj/WebFramePrivate.h:
2905
2906 2004-10-04  Chris Blumenberg  <cblu@apple.com>
2907
2908         Fixed: <rdar://problem/3758113> REGRESSION: Macromedia ColdFusion page doesn't show main content
2909
2910         After bumping up our plug-in version, Flash now sends 2 CRLF's between the headers and body of their POST request. Our code was not prepared for this.
2911
2912         Reviewed by darin.
2913
2914         * Plugins.subproj/WebBaseNetscapePluginView.m:
2915         (-[NSData _web_locationAfterFirstBlankLine]): looks for 2 CRLF's, not for 2 LF's
2916
2917 2004-10-04  Darin Adler  <darin@apple.com>
2918
2919         Reviewed by Ken.
2920
2921         - fixed a potential storage leak when we turn on CGImageRef image rendering
2922
2923         * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer dealloc]): Fix potential storage leak
2924         by adding [super dealloc], but leak was not real yet because the code is commented out.
2925
2926         - make paste style work with color as part of fix to <rdar://problem/3814237> REGRESSION (Mail):
2927           Copy/paste style does not set color in Mail compose window
2928
2929         * WebView.subproj/WebHTMLView.m:
2930         (-[WebHTMLView _selectionFontAttributes]): Change structure so it's easy to add more attributes.
2931         For now I haven't added any yet.
2932         (-[WebHTMLView _colorAsString:]): Moved this earlier in the file.
2933         (-[WebHTMLView _shadowAsString:]): Ditto.
2934         (-[WebHTMLView _styleFromFontAttributes:]): Add background color, foreground color, and text shadow.
2935
2936 2004-09-30  Richard Williamson   <rjw@apple.com>
2937
2938         Fixed <rdar://problem/3821215> NPN hasMethod and hasProperty functions should take NPObjects, not NPClass
2939
2940         Also changed dashboard regions dictionary to use "control"
2941         for scroller region label, instead of "scroller, per
2942         request from ouch. 
2943                 
2944         Reviewed by Chris.
2945
2946         * Plugins.subproj/npruntime.h:
2947         * WebView.subproj/WebView.m:
2948         (-[WebView _addScrollerDashboardRegions:from:]):
2949
2950 2004-09-30  Chris Blumenberg  <cblu@apple.com>
2951
2952         Fixed: <rdar://problem/3498680> switching back and forth between tabs stops calling anything in a plug-in
2953
2954         Reviewed by darin.
2955
2956         * Plugins.subproj/WebBaseNetscapePluginView.m:
2957         (-[WebBaseNetscapePluginView sendEvent:]): call setWindowIfNecessary because the window may have changed
2958         (-[WebBaseNetscapePluginView updateAndSetWindow]): new
2959         (-[WebBaseNetscapePluginView setWindowIfNecessary]): was setWindow, this method now just sets the window
2960         (-[WebBaseNetscapePluginView start]): call updateAndSetWindow
2961         (-[WebBaseNetscapePluginView viewDidMoveToWindow]): ditto
2962         (-[WebBaseNetscapePluginView viewHasMoved:]): ditto
2963
2964 2004-09-30  Chris Blumenberg  <cblu@apple.com>
2965
2966         Fixed: <rdar://problem/3498668> switching out of tab doesn't send loseFocusEvent to plug-in
2967
2968         Reviewed by rjw.
2969
2970         * Plugins.subproj/WebBaseNetscapePluginView.h:
2971         * Plugins.subproj/WebBaseNetscapePluginView.m:
2972         (-[WebBaseNetscapePluginView setHasFocus:]): new, sends events to plug-in
2973         (-[WebBaseNetscapePluginView becomeFirstResponder]): call setHasFocus
2974         (-[WebBaseNetscapePluginView resignFirstResponder]): ditto 
2975         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): ditto
2976
2977 2004-09-30  Chris Blumenberg  <cblu@apple.com>
2978
2979         Fixed:
2980         Assertion failure when loading standalone netscape plug-in content.
2981         Document loads of WebKit plug-in content should be cancelled since the plug-in does its own loading.
2982
2983         Reviewed by john.
2984
2985         * Misc.subproj/WebKitErrors.m: removed deprecated method
2986         * Misc.subproj/WebKitErrorsPrivate.h:
2987         * Plugins.subproj/WebNetscapePluginDocumentView.m:
2988         (-[WebNetscapePluginDocumentView setDataSource:]): fixed the assertion statement
2989         * Plugins.subproj/WebPluginDocumentView.h:
2990         * Plugins.subproj/WebPluginDocumentView.m:
2991         (-[WebPluginDocumentView dealloc]): remove retained plug-in
2992         (-[WebPluginDocumentView setDataSource:]): retain the plug-in, cancel the laod
2993
2994 2004-09-29  Chris Blumenberg  <cblu@apple.com>
2995         
2996         Fixed:
2997         <rdar://problem/3763832> Safari-155: Non-Embeded movies fail to open in Cocoa QT plug-in
2998         <rdar://problem/3820517> "*** -[WebPluginPackage NPP_New]: selector not recognized [self = 0x5552c10]"
2999
3000         Reviewed by rjw.
3001
3002         * History.subproj/WebHistoryItem.m:
3003         * Misc.subproj/WebNSViewExtras.h:
3004         * Misc.subproj/WebNSViewExtras.m:
3005         (-[NSView _web_firstResponderCausesFocusDisplay]):
3006         (-[NSView _webView]):
3007         (-[NSView _frame]):
3008         (-[NSView _bridge]):
3009         (-[NSView _dataSource]):
3010         * Plugins.subproj/WebBasePluginPackage.h:
3011         * Plugins.subproj/WebBasePluginPackage.m:
3012         (-[WebBasePluginPackage hash]):
3013         (-[WebBasePluginPackage isQuickTimePlugIn]):
3014         * Plugins.subproj/WebNetscapePluginDocumentView.m:
3015         (-[WebNetscapePluginDocumentView setDataSource:]):
3016         * Plugins.subproj/WebNetscapePluginRepresentation.m:
3017         * Plugins.subproj/WebPluginController.h:
3018         * Plugins.subproj/WebPluginController.m:
3019         (-[WebPluginController initWithDocumentView:]):
3020         (-[WebPluginController addPlugin:]):
3021         (-[WebPluginController destroyAllPlugins]):
3022         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
3023         (-[WebPluginController webPlugInContainerShowStatus:]):
3024         (-[WebPluginController webPlugInContainerSelectionColor]):
3025         (-[WebPluginController webFrame]):
3026         * Plugins.subproj/WebPluginDatabase.h:
3027         * Plugins.subproj/WebPluginDatabase.m:
3028         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
3029         (-[WebPluginDatabase refresh]):
3030         (WebPluginDocumentView::while):
3031         * Plugins.subproj/WebPluginDocumentView.h: Added.
3032         * Plugins.subproj/WebPluginDocumentView.m: Added.
3033         (-[WebPluginDocumentView initWithFrame:]):
3034         (-[WebPluginDocumentView dealloc]):
3035         (-[WebPluginDocumentView drawRect:]):
3036         (-[WebPluginDocumentView setDataSource:]):
3037         (-[WebPluginDocumentView setNeedsLayout:]):
3038         (-[WebPluginDocumentView layout]):
3039         (-[WebPluginDocumentView currentWindow]):
3040         (-[WebPluginDocumentView viewWillMoveToWindow:]):
3041         (-[WebPluginDocumentView viewDidMoveToWindow]):
3042         (-[WebPluginDocumentView viewWillMoveToHostWindow:]):
3043         (-[WebPluginDocumentView viewDidMoveToHostWindow]):
3044         (-[WebPluginDocumentView receivedData:withDataSource:]):
3045         (-[WebPluginDocumentView receivedError:withDataSource:]):
3046         (-[WebPluginDocumentView finishedLoadingWithDataSource:]):
3047         (-[WebPluginDocumentView canProvideDocumentSource]):
3048         (-[WebPluginDocumentView documentSource]):
3049         (-[WebPluginDocumentView title]):
3050         * Plugins.subproj/npapi.m:
3051         (NPN_ReleaseVariantValue):
3052         (NPN_GetStringIdentifier):
3053         (NPN_GetStringIdentifiers):
3054         (NPN_GetIntIdentifier):
3055         (NPN_IdentifierIsString):
3056         (NPN_UTF8FromIdentifier):
3057         (NPN_IntFromIdentifier):
3058         (NPN_CreateObject):
3059         (NPN_RetainObject):
3060         (NPN_ReleaseObject):
3061         (NPN_Invoke):
3062         (NPN_InvokeDefault):
3063         (NPN_Evaluate):
3064         (NPN_GetProperty):
3065         (NPN_SetProperty):
3066         (NPN_RemoveProperty):
3067         (NPN_HasProperty):
3068         (NPN_HasMethod):
3069         (NPN_SetException):
3070         (NPN_Call):
3071         * WebCoreSupport.subproj/WebBridge.m:
3072         (-[WebBridge frameRequiredForMIMEType:URL:]):
3073         * WebCoreSupport.subproj/WebViewFactory.m:
3074         * WebKit.exp:
3075         * WebKit.pbproj/project.pbxproj:
3076         * WebView.subproj/WebDebugDOMNode.m:
3077         * WebView.subproj/WebDocumentInternal.h:
3078         * WebView.subproj/WebHTMLView.m:
3079         (-[WebHTMLView initWithFrame:]):
3080         * WebView.subproj/WebHTMLViewPrivate.h:
3081         * WebView.subproj/WebImageRepresentation.h:
3082         * WebView.subproj/WebRenderNode.m:
3083         * WebView.subproj/WebView.m:
3084
3085 2004-09-29  Richard Williamson   <rjw@apple.com>
3086
3087         Fixed <rdar://problem/3779998> bringing window to front or sending to back does not send focus/blur events to JavaScript window object
3088
3089         The fix has two parts, 1) make onblur and onfocus work for windows, 
3090         and 2), allow the dashboard to override WebKit's special key/non-key
3091         behaviors.
3092
3093         Reviewed by Maciej.
3094
3095         * Plugins.subproj/WebBaseNetscapePluginView.m:
3096         (-[WebBaseNetscapePluginView restartNullEvents]):
3097         * WebView.subproj/WebHTMLView.m:
3098         (-[WebHTMLView addMouseMovedObserver]):
3099         (-[WebHTMLView removeMouseMovedObserver]):
3100         * WebView.subproj/WebView.m:
3101         (-[WebView _dashboardBehavior:]):
3102         * WebView.subproj/WebViewInternal.h:
3103         * WebView.subproj/WebViewPrivate.h:
3104
3105 2004-09-29  Maciej Stachowiak  <mjs@apple.com>
3106
3107         Reviewed by John.
3108
3109         - consolidated OS version checks into prefix header
3110
3111         * Misc.subproj/WebFileDatabase.m:
3112         (-[WebFileDatabase _createLRUList:]):
3113         (+[WebFileDatabase _syncLoop:]):
3114         * Misc.subproj/WebKitErrors.m:
3115         (registerErrors):
3116         * Misc.subproj/WebNSObjectExtras.h:
3117         (WebNSRetainCFRelease):
3118         * Misc.subproj/WebNSPasteboardExtras.m:
3119         (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
3120         * Misc.subproj/WebUnicode.m:
3121         (_unicodeDirection):
3122         * WebCoreSupport.subproj/WebImageData.h:
3123         * WebCoreSupport.subproj/WebImageRenderer.h:
3124         * WebCoreSupport.subproj/WebKeyGenerator.h:
3125         * WebCoreSupport.subproj/WebNewKeyGeneration.c:
3126         * WebKitPrefix.h:
3127         * WebView.subproj/WebDataSource.m:
3128         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
3129         (-[WebDataSource isLoading]):
3130         * WebView.subproj/WebFrameView.m:
3131         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
3132         * WebView.subproj/WebHTMLView.m:
3133         * WebView.subproj/WebPDFRepresentation.h:
3134         * WebView.subproj/WebPDFRepresentation.m:
3135         * WebView.subproj/WebPDFView.h:
3136         * WebView.subproj/WebPDFView.m:
3137
3138 2004-09-29  Ken Kocienda  <kocienda@apple.com>
3139
3140         Reviewed by Hyatt
3141
3142         Fix for this bug:
3143         
3144         <rdar://problem/3818296> REGRESSION (Mail): centerSelectionInVisibleArea does not work correctly
3145
3146         * WebView.subproj/WebHTMLView.m:
3147         (-[WebHTMLView centerSelectionInVisibleArea:]): Now calls new centerSelectionInVisibleArea
3148         bridge function instead of ensureCaretVisible. Now handles caret selections and range
3149         selections correctly.
3150
3151 2004-09-28  Chris Blumenberg  <cblu@apple.com>
3152
3153         Added timing code so that Doug can time RTF conversion. 
3154
3155         * WebView.subproj/WebHTMLView.m:
3156         (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]):
3157         (-[WebHTMLView _attributeStringFromDOMRange:]):
3158
3159 2004-09-28  Richard Williamson   <rjw@apple.com>
3160
3161         <rdar://problem/3817421> add getter for dashboard regions (debugging)
3162         
3163         <rdar://problem/3817417> NSScrollView need autoregions for dashboard
3164         Also KWQScrollBars
3165
3166         Reviewed by Hyatt.
3167
3168         * WebCoreSupport.subproj/WebBridge.m:
3169         (-[WebBridge dashboardRegionsChanged:]):
3170         * WebView.subproj/WebView.m:
3171         (-[WebView _setInitiatedDrag:]):
3172         (-[WebView _addScrollerDashboardRegions:from:]):
3173         (-[WebView _addScrollerDashboardRegions:]):
3174         (-[WebView _dashboardRegions]):
3175         * WebView.subproj/WebViewPrivate.h:
3176
3177 2004-09-27  John Sullivan  <sullivan@apple.com>
3178
3179         - fixed <rdar://problem/3814705> 8A266: Safari authentication dialog "remember password" text should match Mail
3180
3181         * Panels.subproj/English.lproj/WebAuthenticationPanel.nib:
3182         changed "Remember this password" to "Remember this password in my keychain";
3183         this will need to go through CCC for this week's build.
3184
3185 2004-09-27  Chris Blumenberg  <cblu@apple.com>
3186
3187         Fixed: <rdar://problem/3594754> change null event interval from 20 ms to 10 ms to match speed on Windows
3188
3189         Reviewed by John.
3190
3191         * Plugins.subproj/WebBaseNetscapePluginView.m:
3192
3193 2004-09-27  Chris Blumenberg  <cblu@apple.com>
3194
3195         Fixed: <rdar://problem/3502138> text files don't remember scroll position when going back or reloading
3196
3197         Reviewed by john.
3198
3199         * WebView.subproj/WebTextView.m:
3200         (-[WebTextView layout]): implemented, call sizeToFit, without this scrollPoint: won't work
3201
3202 2004-09-27  John Sullivan  <sullivan@apple.com>
3203
3204         Reviewed by Ken.
3205
3206         - WebKit part of fix for <rdar://problem/3734466> ER: Support standard editing keystrokes 
3207         like Cmd-B while editing rich text
3208
3209         * WebView.subproj/WebHTMLView.m:
3210         (-[WebHTMLView _toggleBold]):
3211         new method, toggles font-weight from "bold" to "normal"
3212         (-[WebHTMLView _toggleItalic]):
3213         new method, toggles font-style from "italic" to "normal"
3214         (-[WebHTMLView _handleStyleKeyEquivalent:]):
3215         new method, if the new preference is set and we're in an editable state, check for standard
3216         key equivalents for toggling styles (just command-B and command-I for now).
3217         (-[WebHTMLView performKeyEquivalent:]):
3218         Moved in file, now calls _handleStyleKeyEquivalent:
3219         
3220         * WebView.subproj/WebPreferenceKeysPrivate.h:
3221         new preference key WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
3222         * WebView.subproj/WebPreferences.m:
3223         (+[WebPreferences initialize]):
3224         initial value of WebKitRespectStandardStyleKeyEquivalentsPreferenceKey is NO (maybe we'll
3225         change our minds about this, but this is more guaranteed to be backward-compatible)
3226         (-[WebPreferences respectStandardStyleKeyEquivalents]):
3227         read WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
3228         (-[WebPreferences setRespectStandardStyleKeyEquivalents:]):
3229         write WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
3230         
3231         * WebView.subproj/WebPreferencesPrivate.h:
3232         declare getter and setter
3233         
3234         * English.lproj/StringsNotToBeLocalized.txt:
3235         updated for these and other recent changes
3236
3237 2004-09-27  Chris Blumenberg  <cblu@apple.com>
3238
3239         Fixed: <rdar://problem/3806649> assertion failure after control-click of webcam
3240
3241         Reviewed by john.
3242
3243         * WebView.subproj/WebDefaultContextMenuDelegate.m:
3244         (-[WebDefaultUIDelegate contextMenuItemsForElement:]): don't provide "Copy Image" if the image is not fully loaded
3245
3246 2004-09-27  Chris Blumenberg  <cblu@apple.com>
3247
3248         Fixed: <rdar://problem/3814810> REGRESSION (125-164): Exception adding nil to dictionary in dragging code
3249
3250         Reviewed by john.
3251
3252         * WebView.subproj/WebHTMLView.m:
3253         (-[WebHTMLView _setMouseDownEvent:]): new
3254         (-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent
3255         (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
3256         (-[WebHTMLView mouseDown:]): ditto
3257         (-[WebHTMLView _delegateDragSourceActionMask]): removed temp fix, assert that the mouse event is not nil
3258
3259 2004-09-27  Darin Adler  <darin@apple.com>
3260
3261         * WebKit.pbproj/project.pbxproj: Added WebDashboardRegion.h as a private header.
3262
3263 2004-09-24  Chris Blumenberg  <cblu@apple.com>
3264
3265         Reviewed by rjw.
3266
3267         * WebView.subproj/WebHTMLView.m:
3268         (-[WebHTMLView _selectedArchive]): added timing code for copying markup
3269
3270 === Safari-165 ===
3271
3272 2004-09-24  Chris Blumenberg  <cblu@apple.com>
3273
3274         Temp fix for: <rdar://problem/3814810> REGRESSION (125-164): Exception adding nil to dictionary in dragging code
3275
3276         Reviewed by john.
3277
3278         * WebView.subproj/WebHTMLView.m:
3279         (-[WebHTMLView _delegateDragSourceActionMask]): return none if the mouse down event is nil
3280
3281 2004-09-24  Ken Kocienda  <kocienda@apple.com>
3282
3283         Reviewed by John
3284
3285         Fix for this bug:
3286         
3287         <rdar://problem/3813917> REGRESSION (125-163): The font panel will change the font of any web page
3288         
3289         We were doing a laughably bad job at preventing edits in documents that were not editable.
3290         This change fixes the specific case of the bug mentioned above, and makes an attempt to
3291         fix similar bugs by checking for whether the view is in editing mode before making edits.
3292
3293         * WebView.subproj/WebHTMLView.m:
3294         (-[WebHTMLView _canEdit]): Renamed from _canType. Used in many more places in the code now.
3295         (-[WebHTMLView _isMoveDrag]): Change around code to make the meaning more clear. This one
3296         was actually performing a correct check before.
3297         (-[WebHTMLView keyDown:]): Renamed _canType to _canEdit.
3298         (-[WebHTMLView paste:]): Don't beep if can't paste. This matches AppKit. Any paste-related beeps
3299         will come from failure to handle key equivalent. Menu validation will kick in to dim menu.
3300         (-[WebHTMLView _applyStyleToSelection:]): Bail if !_canEdit.
3301         (-[WebHTMLView pasteAsPlainText:]): Ditto.
3302         (-[WebHTMLView _alignSelectionUsingCSSValue:]): Ditto.
3303         (-[WebHTMLView insertNewline:]): Ditto.
3304         (-[WebHTMLView insertParagraphSeparator:]): Ditto.
3305         (-[WebHTMLView _changeWordCaseWithSelector:]): Ditto.
3306         (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Ditto.
3307         (-[WebHTMLView complete:]): Ditto.
3308         (-[WebHTMLView _changeSpellingToWord:]): Ditto. Some code rearranging to eliminate bridge local variable.
3309         (-[WebHTMLView ignoreSpelling:]): Ditto.
3310         (-[WebHTMLView yank:]): Bail if !_canEdit.
3311         (-[WebHTMLView yankAndSelect:]): Ditto.
3312         (-[WebHTMLView deleteToMark:]): Ditto.
3313         (-[WebHTMLView swapWithMark:]): Ditto.
3314         (-[WebHTMLView transpose:]): Ditto.
3315         (-[WebHTMLView _updateFontPanel]): Ditto. Some code rearranging to eliminate bridge local variable.
3316         (-[WebHTMLView setMarkedText:selectedRange:]): Bail if !_canEdit.
3317         (-[WebHTMLView _insertText:selectInsertedText:]): Ditto. Some code rearranging to eliminate bridge local variable.
3318         * WebView.subproj/WebHTMLViewPrivate.h: Renamed _canType to _canEdit.
3319
3320 2004-09-24  Ken Kocienda  <kocienda@apple.com>
3321
3322         Reviewed by me
3323
3324         * WebCoreSupport.subproj/WebDashboardRegion.h: Check in file copied from WebCore.
3325
3326 2004-09-23  Maciej Stachowiak  <mjs@apple.com>
3327
3328         Reviewed by Darin.
3329
3330         <rdar://problem/3685235> REGRESSION (Mail): links are not properly editable
3331         
3332         * WebView.subproj/WebDefaultUIDelegate.m: By default, don't allow
3333         link dragging if the element under the mouse pointer is
3334         editable. This way, you can drag-select starting inside a link.
3335
3336 2004-09-23  John Sullivan  <sullivan@apple.com>
3337
3338         Reviewed by Chris.
3339         
3340         - WebKit part of fix for <rdar://problem/3415264> 
3341         Default encoding should initially be set to current system encoding
3342
3343         * WebView.subproj/WebPreferences.m:
3344         (-[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]):
3345         new SPI that sets the initial value of the default text encoding to
3346         be the system encoding, with a special-case conversion of MacRoman->Latin1.
3347         This is not done automatically for WebKit clients for fear of breaking them.
3348         
3349         * WebView.subproj/WebPreferencesPrivate.h:
3350         declare new SPI
3351
3352 2004-09-23  Darin Adler  <darin@apple.com>
3353
3354         Reviewed by Ken.
3355
3356         - fixed <rdar://problem/3811584> REGRESSION (85-125): iframe.document undefined in function called from button onclick; works from img onclick
3357
3358         The fix is to not let "defers callbacks" have any effect on loading "about:blank".
3359         I also had to fix one bug in WebCore that could then be reproduced by going to "about:blank"
3360         while using a button.
3361
3362         * WebView.subproj/WebMainResourceClient.m:
3363         (-[WebMainResourceClient connection:didReceiveResponse:]): Loosen asserts to allow this callback
3364         for the specific case of "about:blank" even if the defers callbacks flag is true.
3365         (-[WebMainResourceClient connectionDidFinishLoading:]): Ditto.
3366         (-[WebMainResourceClient loadWithRequestNow:]): Added NSURLRequest return value. Loosened asserts
3367         as above. Changed code to return a new request if we get a new request back that is not empty
3368         when the defers callbacks flag is true.
3369         (-[WebMainResourceClient loadWithRequest:]): If the defers callbacks flag is set, but the
3370         URL is one that gives us an empty document, then do the work right away, don't defer it.
3371
3372 2004-09-23  Darin Adler  <darin@apple.com>
3373
3374         - fixed B&I builds by checking in generated file
3375
3376         * WebCoreSupport.subproj/WebDashboardRegion.h: Added.
3377
3378 2004-09-22  Richard Williamson   <rjw@apple.com>
3379
3380         Pass dashboard regions to UI delegate.
3381
3382         Reviewed by Hyatt.
3383
3384         * WebCoreSupport.subproj/WebBridge.m:
3385         (-[WebBridge dashboardRegionsChanged:]):
3386         * WebView.subproj/WebUIDelegatePrivate.h:
3387         * copy-webcore-files-to-webkit:
3388
3389 2004-09-22  Chris Blumenberg  <cblu@apple.com>
3390
3391         Fixed build that I just broke.
3392
3393         * WebView.subproj/WebHTMLView.m:
3394         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
3395
3396 2004-09-22  Chris Blumenberg  <cblu@apple.com>
3397
3398         <rdar://problem/3812091> REGRESSION (Mail): double-clicked word is not smart inserted on drag
3399
3400         Reviewed by john.
3401
3402         * WebView.subproj/WebHTMLView.m:
3403         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): pass value for smartMove
3404
3405 2004-09-22  Chris Blumenberg  <cblu@apple.com>
3406
3407         Fixed:
3408         <rdar://problem/3667301> Frequent crashes in Mail when viewing HTML messages (CFURLGetByteRangeForComponent)
3409         <rdar://problem/3810354> WebResourceLoadDelegate can't refuse requests by returning nil; code asserts/crashes instead
3410
3411         Reviewed by rjw.
3412
3413         * WebCoreSupport.subproj/WebSubresourceClient.m:
3414         (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): removed broken code that handled loadWithRequest returning NO
3415         * WebView.subproj/WebBaseResourceHandleDelegate.m:
3416         (-[WebBaseResourceHandleDelegate loadWithRequest:]): if nil is returned from the client for willSendRequest, report the cancelled error and return
3417
3418 2004-09-22  Ken Kocienda  <kocienda@apple.com>
3419
3420         Reviewed by Darin
3421
3422         * WebView.subproj/WebFrameView.m:
3423         (-[WebFrameView _webcore_effectiveFirstResponder]): New function to yield the correct responder
3424         to check for firstResponder-ness before calling makeFirstResonder. This helps to prevent 
3425         unwanted firstResponder switching.
3426         * WebView.subproj/WebView.m:
3427         (-[WebView _webcore_effectiveFirstResponder]): Ditto.
3428
3429 2004-09-21  Chris Blumenberg  <cblu@apple.com
3430
3431         Fixed:
3432         <rdar://problem/3735071> REGRESSION (Mail): WebCore Editing must do smart paste
3433         <rdar://problem/3799163> REGRESSION (Mail): Deleting a word doesn't delete whitespace
3434
3435         Reviewed by darin.
3436
3437         * WebView.subproj/WebDataSource.m:
3438         (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for smartReplace
3439         * WebView.subproj/WebHTMLView.m:
3440         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard
3441         (-[WebHTMLView _changeSpellingFromMenu:]): pass NO for smartReplace
3442         (-[WebHTMLView pasteboardTypesForSelection]): include WebSmartPastePboardType when _canSmartCopyOrDelete return YES
3443         (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): ditto
3444         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard
3445         (-[WebHTMLView delete:]): call _deleteSelection
3446         (-[WebHTMLView cut:]): don't call delegate twice, call _deleteRange to delete
3447         (-[WebHTMLView pasteAsPlainText:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard
3448         (-[WebHTMLView _changeWordCaseWithSelector:]): pass NO for smartReplace
3449         (-[WebHTMLView deleteBackward:]): call _deleteSelection when there is a selected range
3450         (-[WebHTMLView _changeSpellingToWord:]): pass NO for smartReplace
3451         (-[WebHTMLView deleteToMark:]): pass NO for smartDeleteOK
3452         (-[WebHTMLView transpose:]): pass NO for smartReplace
3453         (-[WebHTMLView _shouldDeleteRange:]): moved
3454         (-[WebHTMLView _deleteRange:preflight:killRing:prepend:smartDeleteOK:]): moved, handle smartDelete
3455         (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): moved
3456         (-[WebHTMLView _deleteSelection]): new
3457         (-[WebHTMLView _canSmartReplaceWithPasteboard]): new
3458         (-[WebHTMLView _canSmartCopyOrDelete]): new
3459         (-[WebHTMLView setMarkedText:selectedRange:]): pass NO for smartReplace
3460         (-[WebHTMLView _discardMarkedText]): call _deleteSelection
3461         (-[WebTextCompleteController _insertMatch:]): pass NO for smartReplace
3462         (-[WebTextCompleteController endRevertingChange:moveLeft:]): pass NO for smartReplace
3463         * WebView.subproj/WebHTMLViewInternal.h:
3464         * WebView.subproj/WebView.m:
3465         (-[WebView _commonInitializationWithFrameName:groupName:]): set smartInsertDeleteEnabled to YES
3466         (-[WebView replaceSelectionWithNode:]): pass NO for smartReplace
3467         (-[WebView replaceSelectionWithText:]): pass NO for smartReplace
3468         (-[WebView replaceSelectionWithMarkupString:]): pass NO for smartReplace
3469         (-[WebView deleteSelection]): call _deleteSelection on WebHTMLView
3470
3471 2004-09-21  John Sullivan  <sullivan@apple.com>
3472
3473         Reviewed by Darin.
3474
3475         - WebKit part of fix for <rdar://problem/3618274> REGRESSION (125-135): 
3476         Option-tab doesn't always work as expected
3477
3478         * WebCoreSupport.subproj/WebBridge.m:
3479         (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
3480         Don't set WebCoreKeyboardAccessFull when setting WebCoreKeyboardAccessTabsToLinks
3481         after all; these need to be tested independently to get the option-tab behavior
3482         correct.
3483
3484 2004-09-21  John Sullivan  <sullivan@apple.com>
3485
3486         * WebView.subproj/WebHTMLView.m:
3487         (-[WebHTMLView doCommandBySelector:]):
3488         Commented out part of previous change; it breaks Mail editing until Mail
3489         fixes bug 3810158.
3490
3491 2004-09-21  John Sullivan  <sullivan@apple.com>
3492
3493         Reviewed by Ken.
3494
3495         * WebView.subproj/WebHTMLView.m:
3496         (-[WebHTMLView doCommandBySelector:]):
3497         Fix build failure from previous checkin, d'oh! Didn't set up webview variable.
3498
3499 2004-09-21  John Sullivan  <sullivan@apple.com>
3500
3501         Reviewed by Ken.
3502         
3503         - fixed <rdar://problem/3809477> WebHTMLView needs to pass doCommandBySelector through delegate
3504
3505         * WebView.subproj/WebHTMLView.m:
3506         (-[WebHTMLView doCommandBySelector:]):
3507         Call through to editing delegate. If editing delegate returns YES, don't call super.
3508