12006-02-09  Tim Omernick  <timo@apple.com>
2
3        Reviewed by Darin Adler.
4
5        <rdar://problem/4198378> Crash on a CFRelease when visiting http://www.akella.com/
6
7        * Plugins/WebBaseNetscapePluginView.m:
8        (-[WebBaseNetscapePluginView requestWithURLCString:]):
9	The true source of this crash is that the URL string is sometimes not NULL-terminated, which is the
10	Real Player plugin's fault.  That has been filed as 4439591.
11	However, we can be more bulletproof here by switching the URL string encoding from Windows Latin 1
12	to ISO Latin 1, so that any NULL-terminated string can be represented.  (As Darin and I found out
13	last night, Windows Latin 1 has "holes" in certain character ranges and	thus cannot encode arbitrary
14	C strings).
15
162006-02-09  Maciej Stachowiak  <mjs@apple.com>
17
18        Rubber stamped by Anders. 
19        
20        - Moved all the default delegate classes to their own directory.
21
22        * DefaultDelegates: Added.
23        * DefaultDelegates/WebDefaultContextMenuDelegate.h: Added.
24        * DefaultDelegates/WebDefaultContextMenuDelegate.m: Added.
25        * DefaultDelegates/WebDefaultEditingDelegate.h: Added.
26        * DefaultDelegates/WebDefaultEditingDelegate.m: Added.
27        * DefaultDelegates/WebDefaultFrameLoadDelegate.h: Added.
28        * DefaultDelegates/WebDefaultFrameLoadDelegate.m: Added.
29        * DefaultDelegates/WebDefaultPolicyDelegate.h: Added.
30        * DefaultDelegates/WebDefaultPolicyDelegate.m: Added.
31        * DefaultDelegates/WebDefaultResourceLoadDelegate.h: Added.
32        * DefaultDelegates/WebDefaultResourceLoadDelegate.m: Added.
33        * DefaultDelegates/WebDefaultScriptDebugDelegate.h: Added.
34        * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Added.
35        * DefaultDelegates/WebDefaultUIDelegate.h: Added.
36        * DefaultDelegates/WebDefaultUIDelegate.m: Added.
37        * WebKit.xcodeproj/project.pbxproj:
38        * WebView/WebDefaultContextMenuDelegate.h: Removed.
39        * WebView/WebDefaultContextMenuDelegate.m: Removed.
40        * WebView/WebDefaultEditingDelegate.h: Removed.
41        * WebView/WebDefaultEditingDelegate.m: Removed.
42        * WebView/WebDefaultFrameLoadDelegate.h: Removed.
43        * WebView/WebDefaultFrameLoadDelegate.m: Removed.
44        * WebView/WebDefaultPolicyDelegate.h: Removed.
45        * WebView/WebDefaultPolicyDelegate.m: Removed.
46        * WebView/WebDefaultResourceLoadDelegate.h: Removed.
47        * WebView/WebDefaultResourceLoadDelegate.m: Removed.
48        * WebView/WebDefaultScriptDebugDelegate.h: Removed.
49        * WebView/WebDefaultScriptDebugDelegate.m: Removed.
50        * WebView/WebDefaultUIDelegate.h: Removed.
51        * WebView/WebDefaultUIDelegate.m: Removed.
52
532006-02-08  Justin Garcia  <justin.garcia@apple.com>
54
55        Original patch by Graham Dennis, reviewed by me:
56        
57        <http://bugs.webkit.org/show_bug.cgi?id=3982>
58        webViewDidBeginEditing, webViewDidEndEditing notification methods not called on delegate
59        
60        Changes made by me, reviewed by thatcher:
61        
62        Made _setWindowHasFocus: and _setDisplaysWithFocusAttributes: into private SPI to allow
63        for the testing of window.onFocus, window.onBlur, caret and focus halo painting, and 
64        the focusing of content editable regions that happens as side effect of setting a selection,
65        but only if the window has focus (7128).
66
67        * WebCoreSupport/WebFrameBridge.m:
68        (-[WebFrameBridge didBeginEditing]):
69        (-[WebFrameBridge didEndEditing]):
70        * WebView/WebHTMLView.m:
71        (-[WebHTMLView updateFocusState]):
72        (-[WebHTMLView _setWindowHasFocus:]):
73        (-[WebHTMLView _setDisplaysWithFocusAttributes:]):
74        * WebView/WebHTMLViewPrivate.h:
75
762006-02-08  David Kilzer  <ddkilzer@kilzer.net>
77
78        Reviewed by Darin.
79
80        - Fix http://bugs.webkit.org/show_bug.cgi?id=3527
81        Allow Safari to open postscript files in browser windows as well
82
83        * WebView/WebPDFRepresentation.m:
84        (+[WebPDFRepresentation postScriptMIMETypes]): Added.
85        (+[WebPDFRepresentation supportedMIMETypes]): Include PostScript MIME types.
86        (-[WebPDFRepresentation convertPostScriptDataSourceToPDF:]): Added.
87        (-[WebPDFRepresentation finishedLoadingWithDataSource:]):
88        Handle PostScript conversion using new convertPostScriptDataSourceToPDF method.
89
902006-02-07  Alexey Proskuryakov  <ap@nypop.com>
91
92        Reviewed by Timothy.
93
94        Convert JavaScript objects to appropriate AppleScript types, instead of only strings
95        http://bugs.webkit.org/show_bug.cgi?id=7012
96
97        Tests: fast/AppleScript/*
98
99        * WebView/WebView.m:
100        (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Added.
101        * WebView/WebViewPrivate.h:
102
1032006-02-06  Maciej Stachowiak  <mjs@apple.com>
104
105        Reviewed by Eric.
106
107        - fixed "remove frame, renderer and completed flag from ChildFrame, make Frame track these"
108        http://bugs.webkit.org/show_bug.cgi?id=7125
109        
110        - fixed "onload event never called for iframe element with emtpy or about:blank src"
111        http://bugs.webkit.org/show_bug.cgi?id=3609
112
113        * WebCoreSupport/WebFrameBridge.h:
114        * WebCoreSupport/WebFrameBridge.m:
115        (-[WebFrameBridge initWithPage:webView:renderer:frameName:view:]): Pass along renderer.
116        (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]): Pass along renderer.
117        * WebCoreSupport/WebPageBridge.m:
118        (-[WebPageBridge initWithMainFrameName:webView:frameView:]): Pass null for renderer.
119        * WebView/WebView.m:
120        * WebView/WebViewPrivate.h:
121
1222006-02-06  John Sullivan  <sullivan@apple.com>
123
124        Reviewed by Maciej Stachowiak.
125
126        * WebView/WebPDFView.m:
127        (-[WebPDFView menuForEvent:]):
128        Removed use of WKExecutableLinkedInTigerOrEarlier() by modifying backward-compatibility
129        hack involving PDF view context menus. Now we only bother to make sure that the PDFKit-
130        supplied context menu items are present in Safari, for the benefit of the open source
131        folks using tip of tree WebKit but older released Safari; it's possible that some other
132        existing WebKit apps won't show all the PDF view context menu items.
133
1342006-02-06  Maciej Stachowiak  <mjs@apple.com>
135
136        Remove remaining .subproj references to fix release build.
137
138        * WebKit.xcodeproj/project.pbxproj:
139
1402006-02-06  Maciej Stachowiak  <mjs@apple.com>
141
142        Rubber stamped by Hyatt.
143        
144        - renamed subproject directories to not end with .subproj
145
146        * Carbon: renamed from Carbon.subproj
147        * DOM: renamed from DOM.subproj
148        * History: renamed from History.subproj
149        * Misc: renamed from Misc.subproj
150        * Panels: renamed from Panels.subproj
151        * Plugins: renamed from Plugins.subproj
152        * WebCoreSupport: renamed from WebCoreSupport.subproj
153        * WebInspector: renamed from WebInspector.subproj
154        * WebView: renamed from WebView.subproj
155        
1562006-02-06  Maciej Stachowiak  <mjs@apple.com>
157
158        Ooops, I made a last-minute change to my last patch that broke the build - fixed.
159
160        * WebView.subproj/WebFrame.m:
161        (-[WebFrame _closeOldDataSources]):
162        (-[WebFrame _detachFromParent]):
163        (-[WebFrame _transitionToCommitted:]):
164        (-[WebFrame _checkLoadCompleteForThisFrame]):
165        (-[WebFrame _handledOnloadEvents]):
166        (-[WebFrame _loadItem:withLoadType:]):
167        (-[WebFrame _goToItem:withLoadType:]):
168        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
169        (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
170        (-[WebFrame _clientRedirectCancelled:]):
171        * WebView.subproj/WebFramePrivate.h:
172
1732006-02-05  Maciej Stachowiak  <mjs@apple.com>
174
175        Reviewed by Darin.
176        
177        - shuffle things around so that WebFrame no longer has a WebView backpointer, the backpointer is
178        at the bridge level.
179        http://bugs.webkit.org/show_bug.cgi?id=7093
180
181        * WebCoreSupport.subproj/WebFrameBridge.h:
182        * WebCoreSupport.subproj/WebFrameBridge.m:
183        (-[WebFrameBridge initWithPage:webView:frameName:view:]):
184        (-[WebFrameBridge page]):
185        (-[WebFrameBridge mainFrame]):
186        (-[WebFrameBridge webView]):
187        (-[WebFrameBridge createWindowWithURL:frameName:]):
188        (-[WebFrameBridge showWindow]):
189        (-[WebFrameBridge areToolbarsVisible]):
190        (-[WebFrameBridge setToolbarsVisible:]):
191        (-[WebFrameBridge isStatusbarVisible]):
192        (-[WebFrameBridge setStatusbarVisible:]):
193        (-[WebFrameBridge setWindowFrame:]):
194        (-[WebFrameBridge windowFrame]):
195        (-[WebFrameBridge setWindowContentRect:]):
196        (-[WebFrameBridge windowContentRect]):
197        (-[WebFrameBridge setWindowIsResizable:]):
198        (-[WebFrameBridge windowIsResizable]):
199        (-[WebFrameBridge firstResponder]):
200        (-[WebFrameBridge makeFirstResponder:]):
201        (-[WebFrameBridge closeWindowSoon]):
202        (-[WebFrameBridge runJavaScriptAlertPanelWithMessage:]):
203        (-[WebFrameBridge runJavaScriptConfirmPanelWithMessage:]):
204        (-[WebFrameBridge canRunBeforeUnloadConfirmPanel]):
205        (-[WebFrameBridge runBeforeUnloadConfirmPanelWithMessage:]):
206        (-[WebFrameBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
207        (-[WebFrameBridge addMessageToConsole:]):
208        (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
209        (-[WebFrameBridge setStatusText:]):
210        (-[WebFrameBridge startLoadingResource:withURL:customHeaders:]):
211        (-[WebFrameBridge startLoadingResource:withURL:customHeaders:postData:]):
212        (-[WebFrameBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
213        (-[WebFrameBridge focusWindow]):
214        (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
215        (-[WebFrameBridge userAgentForURL:]):
216        (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
217        (-[WebFrameBridge previousKeyViewOutsideWebFrameViews]):
218        (-[WebFrameBridge defersLoading]):
219        (-[WebFrameBridge setDefersLoading:]):
220        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
221        (-[WebFrameBridge _preferences]):
222        (-[WebFrameBridge selectWordBeforeMenuEvent]):
223        (-[WebFrameBridge historyLength]):
224        (-[WebFrameBridge canGoBackOrForward:]):
225        (-[WebFrameBridge goBackOrForward:]):
226        (-[WebFrameBridge print]):
227        (-[WebFrameBridge pollForAppletInView:]):
228        (-[WebFrameBridge respondToChangedContents]):
229        (-[WebFrameBridge respondToChangedSelection]):
230        (-[WebFrameBridge undoManager]):
231        (-[WebFrameBridge issueCutCommand]):
232        (-[WebFrameBridge issueCopyCommand]):
233        (-[WebFrameBridge issuePasteCommand]):
234        (-[WebFrameBridge issuePasteAndMatchStyleCommand]):
235        (-[WebFrameBridge canPaste]):
236        (-[WebFrameBridge overrideMediaType]):
237        (-[WebFrameBridge isEditable]):
238        (-[WebFrameBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
239        (-[WebFrameBridge shouldBeginEditing:]):
240        (-[WebFrameBridge shouldEndEditing:]):
241        (-[WebFrameBridge windowObjectCleared]):
242        (-[WebFrameBridge spellCheckerDocumentTag]):
243        (-[WebFrameBridge isContinuousSpellCheckingEnabled]):
244        (-[WebFrameBridge didFirstLayout]):
245        (-[WebFrameBridge dashboardRegionsChanged:]):
246        (-[WebFrameBridge createModalDialogWithURL:]):
247        (-[WebFrameBridge canRunModal]):
248        (-[WebFrameBridge runModal]):
249        * WebCoreSupport.subproj/WebPageBridge.h:
250        * WebCoreSupport.subproj/WebPageBridge.m:
251        (-[WebPageBridge initWithMainFrameName:webView:frameView:]):
252        (-[WebPageBridge webView]):
253        * WebView.subproj/WebDataSource.m:
254        (-[WebDataSource _fileWrapperForURL:]):
255        (-[WebDataSource _webView]):
256        (-[WebDataSource _setLoading:]):
257        (-[WebDataSource _startLoading:]):
258        (-[WebDataSource _setTitle:]):
259        (-[WebDataSource _setRequest:]):
260        (-[WebDataSource _updateIconDatabaseWithURL:]):
261        (-[WebDataSource _defersCallbacksChanged]):
262        (-[WebDataSource _setWebFrame:]):
263        * WebView.subproj/WebDataSourcePrivate.h:
264        * WebView.subproj/WebFrame.m:
265        (-[WebFrame _traverseNextFrameStayWithin::]):
266        (-[WebFrame _detachFromParent]):
267        (-[WebFrame _setDataSource:]):
268        (-[WebFrame _loadDataSource:withLoadType:formState:]):
269        (-[WebFrame _initWithWebFrameView:webView:bridge:]):
270        (-[WebFrame dealloc]):
271        (-[WebFrame finalize]):
272        (-[WebFrame webView]):
273        * WebView.subproj/WebFrameView.m:
274        (-[WebFrameView _webView]):
275        (-[WebFrameView _goBack]):
276        (-[WebFrameView _goForward]):
277        * WebView.subproj/WebFrameViewInternal.h:
278        * WebView.subproj/WebView.m:
279        (-[WebView _createFrameNamed:inParent:allowsScrolling:]):
280        (-[WebView _commonInitializationWithFrameName:groupName:]):
281
2822006-02-04  Darin Adler  <darin@apple.com>
283
284        Reviewed by Maciej.
285
286        * Misc.subproj/WebCoreStatistics.h:
287        * Misc.subproj/WebCoreStatistics.m:
288        (+[WebCoreStatistics javaScriptRootObjectTypeCounts]):
289        javaScriptRootObjecTypeCounts -> javaScriptRootObjectTypeCounts
290
2912006-02-04  Maciej Stachowiak  <mjs@apple.com>
292
293        Reviewed by Hyatt.
294
295        - change JavaScript collector statistics calls to use HashCountedSet instead
296        of CFSet; other misc cleanup
297        http://bugs.webkit.org/show_bug.cgi?id=7072
298
299        * Misc.subproj/WebCoreStatistics.h:
300        * Misc.subproj/WebCoreStatistics.m:
301        (+[WebCoreStatistics javaScriptProtectedObjectsCount]): new
302        (+[WebCoreStatistics javaScriptRootObjecTypeCounts]): new
303        (+[WebCoreStatistics javaScriptRootObjectClasses]): deprecated
304        (+[WebCoreStatistics javaScriptReferencedObjectsCount]): deprecated
305        (+[WebCoreStatistics javaScriptNoGCAllowedObjectsCount]): Just return 0. Deprecated.
306
3072006-02-03  Maciej Stachowiak  <mjs@apple.com>
308
309        Reviewed by Darin.
310        
311        - change spellchecker preflighting to happen via class methods instead of
312        object methods.
313
314        * WebView.subproj/WebView.m:
315        (-[WebView setContinuousSpellCheckingEnabled:]):
316        (+[WebView _preflightSpellCheckerNow:]):
317        (+[WebView _preflightSpellChecker]):
318
3192006-02-03  Timothy Hatcher  <timothy@apple.com>
320
321        Reviewed by Justin.
322
323        Renamed configuration names to Debug, Release and Production.
324
325        * WebKit.xcodeproj/project.pbxproj:
326
3272006-02-02  David Hyatt  <hyatt@apple.com>
328
329	Fix for bug 6957, rewrite image rendering in C++ and move it to
330        WebCore.  Animation now stops lazily and just uses the CachedObject
331        notification system to push updates so that rects no longer need to
332        be cached (or sets of animating renderers in specific views).
333
334        Reviewed by darin
335
336        * Misc.subproj/WebNSPasteboardExtras.h:
337        * Misc.subproj/WebNSPasteboardExtras.m:
338        (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
339        (-[NSPasteboard _web_declareAndWriteDragImage:element:URL:title:archive:source:]):
340        * Misc.subproj/WebNSViewExtras.h:
341        * Misc.subproj/WebNSViewExtras.m:
342        (-[NSView _web_dragImage:element:rect:event:pasteboard:source:offset:]):
343        * WebCoreSupport.subproj/WebImageData.m:
344        (-[WebImageData init]):
345        * WebCoreSupport.subproj/WebImageRendererFactory.m:
346        (+[WebImageRendererFactory shouldUseThreadedDecoding]):
347        (+[WebImageRendererFactory setShouldUseThreadedDecoding:]):
348        (-[WebImageRendererFactory setPatternPhaseForContext:inUserSpace:]):
349        (-[WebImageRendererFactory imageDataForName:]):
350        * WebView.subproj/WebHTMLView.m:
351        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
352        (-[NSArray elementAtPoint:]):
353        * WebView.subproj/WebImageView.m:
354        (-[WebImageView writeImageToPasteboard:types:]):
355        (-[WebImageView elementAtPoint:]):
356        (-[WebImageView mouseDragged:]):
357        * WebView.subproj/WebView.m:
358        (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
359
3602006-01-31  John Sullivan  <sullivan@apple.com>
361
362        Reviewed by Tim Omernick.
363        
364        - fixed <rdar://problem/4267144> REGRESSION (10.4.2): Safari pages auto-scroll too easily 
365        during drag over content [5853]
366        
367        There were two issues here:
368        (1) dragging over a non-editable webview (such as a typical Safari page) should not have
369        auto-scrolled at all; the fact that it did was an uninentional side effect of making
370        auto-scroll work for editable webviews a la Blot.
371        (2) the speed & hot area of the auto-scroll changed between 10.4.1 and 10.4.2.
372        
373        I have a fix for (1), which is the much more important issue. I'll modify the bugzilla bug
374        to be about the remaining issue.
375
376        * WebView.subproj/WebView.m:
377        (-[WebView _autoscrollForDraggingInfo:timeDelta:]):
378        do nothing if not editable
379        (-[WebView _shouldAutoscrollForDraggingInfo:]):
380        return NO if not editable
381
3822006-01-31  John Sullivan  <sullivan@apple.com>
383
384        Reviewed by Tim Omernick.
385        
386        Support for programmatic scrolling one line at a time for PDFs. (We already had support for
387        programmatic scrolling one page at a time, and to top/end.)
388
389        * WebView.subproj/WebPDFView.m:
390        (-[WebPDFView _fakeKeyEventWithFunctionKey:]):
391        generalized comment
392        (-[WebPDFView scrollLineDown:]):
393        pass a faked arrow-down key event
394        (-[WebPDFView scrollLineUp:]):
395        pass a faked arrow-up key event
396
3972006-01-31  Darin Adler  <darin@apple.com>
398
399        Reviewed by Hyatt.
400
401        * WebCoreSupport.subproj/WebFrameBridge.m:
402        (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
403        Updated for name change.
404
4052006-01-30  Timothy Hatcher  <timothy@apple.com>
406
407        Reviewed by Tim O.
408
409        Add -Wno-deprecated-declarations to the compile flags for WebNetscapePluginPackage.m.
410        <rdar://problem/4427068> LMGetCurApRefNum, CloseConnection and GetDiskFragment now deprecated.
411        When we workaround these we can remove this compile flag.
412
413        * WebKit.xcodeproj/project.pbxproj:
414
4152006-01-30  Timothy Hatcher  <timothy@apple.com>
416
417        Reviewed by Justin.
418
419        Remove the only use of -[NSFont glyphPacking]. This method was deprecated in Tiger
420        and always returns NSNativeShortGlyphPacking.
421
422        * WebCoreSupport.subproj/WebTextRenderer.m:
423        (-[WebTextRenderer initWithFont:]):
424
4252006-01-28  David Hyatt  <hyatt@apple.com>
426
427        Clean up RenderImage, eliminating unneeded members and methods.
428	
429        Reviewed by darin
430
431        * WebCoreSupport.subproj/WebImageRenderer.h:
432        * WebCoreSupport.subproj/WebImageRenderer.m:
433        (-[WebImageRenderer copyWithZone:]):
434        (-[WebImageRenderer size]):
435        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
436
4372006-01-26  Tim Omernick  <timo@apple.com>
438
439        Reviewed by John Sullivan.
440
441	<rdar://problem/4422365>
442
443        * WebView.subproj/WebHTMLView.m:
444        (-[NSArray addSuperviewObservers]):
445        In addition to registering for frame/bounds change notifications, call -_frameOrBoundsChanged.
446        It will check the current size/scroll against the previous layout's size/scroll.  We need to
447        do this here to catch the case where the WebView is laid out at one size, removed from its
448        window, resized, and inserted into another window.  Our frame/bounds changed notifications
449        will not be sent in that situation, since we only watch for changes while in the view hierarchy.
450
451	I have verified that this does not cause unnecessary layouts while running the PLT.
452
4532006-01-25  Vicki Murley  <vicki@apple.com>
454
455        Reviewed by Beth Dakin.
456
457	- fix <rdar://problem/4351664> REGRESSION (420+): extra URL in b/f list - navigating back to 
458	previous page fails at apple.com/retail/)
459 
460        * WebView.subproj/WebFrame.m:
461        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): grab the 
462	redirect flag of the current load before calling _loadURL, which clears this flag, 
463        (-[WebFrame _transitionToCommitted:]): remove misleading comment
464        * History.subproj/WebHistoryItem.m:
465        (-[WebHistoryItem setURL:]): release resources in the page cache when setting
466        the URL on a WebHistoryItem
467
4682006-01-25  Timothy Hatcher  <timothy@apple.com>
469
470        Move off of -[NSFont widthOfString:] since it is now deprecated.
471        Use the NSStringDrawing -[NSString sizeWithAttributes:] API.
472
473        * WebCoreSupport.subproj/WebFileButton.m:
474        (-[WebFileChooserButton bestVisualFrameSizeForCharacterCount:]):
475
4762006-01-23  Darin Adler  <darin@apple.com>
477
478        - fixed some small localizable strings issues
479
480        * WebInspector.subproj/WebInspector.m:
481        (-[DOMNode _nodeTypeName]): Changed so we don't have two localizable strings that
482        are both "Document". I'm not sure we want to localize the DOM inspector UI at all,
483        but this fixes things for now.
484        (-[DOMNode _displayName]): Ditto.
485
486        * English.lproj/Localizable.strings: Updated.
487        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
488
4892006-01-23  Justin Garcia  <justin.garcia@apple.com>
490
491        Reviewed by thatcher
492        
493        Turned on -O2 for B&I build.
494
495        * WebKit.xcodeproj/project.pbxproj:
496
4972006-01-22  Timothy Hatcher  <timothy@apple.com>
498
499        Reviewed by Anders Carlsson.
500        
501        Makes the Inspector's Style pane take !important into account
502        when marking overloaded properties.
503
504        * WebInspector.subproj/webInspector/inspector.js:
505
5062006-01-21  Timothy Hatcher  <timothy@apple.com>
507
508        Reviewed by Anders Carlsson.
509
510        Make sure shorthand properties get striked-out if
511        all the properties they expand into are overloaded.
512
513        * WebInspector.subproj/webInspector/inspector.js:
514
5152006-01-21  Timothy Hatcher  <timothy@apple.com>
516
517        Reviewed by Darin.
518
519        Adds computed style to the Web Inspector.
520        Adds a "mapped style" link to the mapped attributes.
521
522        * WebInspector.subproj/webInspector/inspector.css:
523        * WebInspector.subproj/webInspector/inspector.html:
524        * WebInspector.subproj/webInspector/inspector.js:
525
5262006-01-20  Timothy Hatcher  <timothy@apple.com>
527
528        Reviewed by John, some parts by Darin.
529
530        Removes the old WebDebugDOMNode code, superseded by the ObjC DOM and the Web Inspector.
531        Since Safari 2.0 still relies on these classes for the Debug menu's "Show DOM Tree", we remove
532        that menu item to prevent a crash.
533
534        * WebKit.exp: adds WebInspector, removes WebDebugDOMNode
535        * WebKit.xcodeproj/project.pbxproj: added the REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM define so the new WebView code doesn't build in the Default config
536        * WebView.subproj/WebDebugDOMNode.h: Removed.
537        * WebView.subproj/WebDebugDOMNode.m: Removed.
538        * WebView.subproj/WebView.m:
539        (+[WebView initialize]): check if we are in Safari and IncludeDebugMenu is true then observe for NSApplicationDidFinishLaunchingNotification and call _finishedLaunching
540        (+[WebView _finishedLaunching]): observe for NSMenuDidAddItemNotification now that the main menu is loaded and wait for the Debug menu to be added
541        (+[WebView _removeDOMTreeMenuItem:]): when the debug menu is added remove the "Show DOM Tree" item
542
5432006-01-20  Timothy Hatcher  <timothy@apple.com>
544
545        Reviewed by Hyatt.
546
547        Corrects the cascade order for mapped attributes.
548        Shows "inline stylesheet" rather than "null" for rules in <style> tags.
549
550        * WebInspector.subproj/webInspector/inspector.js:
551
5522006-01-19  Timothy Hatcher  <timothy@apple.com>
553
554        Reviewed by Eric.
555
556        Adds inline style reporting and mapped attribute support to the Inspector Style pane.
557        Cleans up the node attributes area with a more natural attr = "value" look.
558        Slight optimization to only update visible scrollbars during a window resize.
559
560        * WebInspector.subproj/webInspector/inspector.css:
561        * WebInspector.subproj/webInspector/inspector.js:
562
5632006-01-19  Timothy Hatcher  <timothy@apple.com>
564
565        Reviewed by Darin.
566        
567        http://bugs.webkit.org/show_bug.cgi?id=6631
568        Inspector window has inappropriate maximum height
569
570        * WebInspector.subproj/WebInspector.m:
571        (-[WebInspector window]): removes the maximum size constraint
572
5732006-01-19  John Sullivan  <sullivan@apple.com>
574
575        Reviewed by Tim Omernick.
576
577        * WebKit.xcodeproj/project.pbxproj:
578        made WebNSUserDefaultsExtras.h private (SPI) so its one method can be called from
579        Safari, so Safari can stop calling the similar method in Foundation.
580
5812006-01-19  John Sullivan  <sullivan@apple.com>
582
583        Reviewed by Tim Omernick.
584        
585        Made _webKit_guessedMIMEType SPI so Safari can use it in order to stop using
586        the similar SPI method in Foundation. This involved splitting it out of the file
587        it was in, to avoid creating any other new SPI here. Poor svn diff got mighty
588        confused in the process.
589
590        * Misc.subproj/WebNSDataExtras.h:
591        removed _webkit_guessedMIMEType from here
592        * Misc.subproj/WebNSDataExtrasPrivate.h: 
593        Added. Contains only _webkit_guessedMIMEType. This file is private (SPI), whereas
594        WebNSDataExtras.h is project-internal. I could have renamed WebNSDateExtras.h to
595        WebNSDateExtrasInternal.h also, but I minimized the gratuitous change level here
596        by not doing that.
597        
598        * Misc.subproj/WebNSDataExtras.m:
599        Despite the great confusion of svn diff, all I actually did here was move 
600        _webkit_guessedMIMEType and its helper _webkit_guessedMIMETypeForXML into a new
601        category. No lines of code were harmed while creating this patch.
602
603        * WebKit.xcodeproj/project.pbxproj:
604        updated for new file
605
606        * WebView.subproj/WebView.m:
607        Added #import for new file since WebView uses _webkit_guessedMIMEType
608
6092006-01-19  John Sullivan  <sullivan@apple.com>
610
611        Reviewed by Tim Omernick.
612
613        * Misc.subproj/WebNSURLExtras.h:
614        added declaration of _webkit_rangeOfURLScheme so Safari can call it as a step
615        towards weaning Safari from Foundation SPI.
616
6172006-01-17  Justin Garcia  <justin.garcia@apple.com>
618
619        Reviewed by eric
620        
621        Deployment builds now use -O2
622
623        * WebKit.xcodeproj/project.pbxproj:
624
6252006-01-17  Beth Dakin  <bdakin@apple.com>
626
627        Reviewed by Darin.
628
629        Fix for <rdar://problem/4112029> With Quartz scaling on, Safari incorrectly 
630        handles mouseover effects
631
632        The location of an event in the window should be converted to the superview 
633        of the contentView to do accurate hitTesting.
634
635        * WebView.subproj/WebHTMLView.m:
636        (-[WebHTMLView _updateMouseoverWithEvent:]): Convert the point to the
637        contentView's superview from nil. 
638
6392006-01-16  Timothy Hatcher  <timothy@apple.com>
640
641        Rubber stamped by Maciej.
642
643        Check for a new "WebKitDeveloperExtras" default when
644        including the "Inspect Element" context menu item.
645        We should retire the other one eventually.
646
647        * WebView.subproj/WebView.m:
648        (-[WebView _menuForElement:defaultItems:]):
649
6502006-01-17  Anders Carlsson  <andersca@mac.com>
651
652        Reviewed by Timothy Hatcher.
653
654        - http://bugs.webkit.org/show_bug.cgi?id=6594
655        Web Inspector: finish node attributes
656        
657        * WebInspector.subproj/webInspector/inspector.css:
658        * WebInspector.subproj/webInspector/inspector.html:
659        * WebInspector.subproj/webInspector/inspector.js:
660        Add initial support for element attributes.
661
6622006-01-16  John Sullivan  <sullivan@apple.com>
663
664        Reviewed by Vicki Murley.
665        
666        - fixed <rdar://problem/4409288> REGRESSION (TOT): When no selection is present on page, 
667        Jump to Selection doesn't beep
668
669        * WebView.subproj/WebHTMLView.m:
670        (-[WebHTMLView _hasInsertionPoint]):
671        new helper method
672        (-[NSArray validateUserInterfaceItem:]):
673        Don't validate this menu item (or a couple of others) if the selection is a caret and
674        the page isn't editable. In that state, there is no visible selection so this menu item
675        doesn't make sense. I suspect this was broken by some editing-related change that makes
676        selectionState return WebSelectionStateCaret here where it used to return WebSelectionStateNone.
677
6782006-01-16  Tim Omernick  <timo@apple.com>
679
680        Reviewed by John Sullivan.
681
682	WebKit part of <rdar://problem/4211707> NPAPI ref count behavior differs with Mozilla
683
684        * Plugins.subproj/WebBaseNetscapePluginView.m:
685        (-[WebBaseNetscapePluginView getVariable:value:]):
686	The returned window script object is expected to be retained, as described here:
687	<http://www.mozilla.org/projects/plugins/npruntime.html#browseraccess>
688
6892006-01-16  Anders Carlsson  <andersca@mac.com>
690
691        Reviewed by Darin.
692
693        * WebInspector.subproj/webInspector/inspector.js:
694        Use defined NodeType values instead of integers.
695
6962006-01-15  Timothy Hatcher  <timothy@apple.com>
697
698        Reviewed by Darin.
699 
700        New DOM Inspector that lives in WebKit and is accessible from any WebView.
701        Accessible from a contextual menu when the WebKitEnableInspectElementContextMenuItem default is
702        true or you have a development build. Browsing the tree, serialized HTML and CSS rules work.
703 
704        To always enable enter the following in the Terminal (change the bundle id to affect other WebKit apps):
705        defaults write com.apple.Safari WebKitEnableInspectElementContextMenuItem -bool true
706 
707        http://bugs.webkit.org/show_bug.cgi?id=6571
708
709        * English.lproj/Localizable.strings:
710        * English.lproj/StringsNotToBeLocalized.txt: reorder of the entries
711        * Misc.subproj/WebKitNSStringExtras.h:
712        * Misc.subproj/WebKitNSStringExtras.m:
713        (-[NSString _webkit_stringByCollapsingWhitespaceCharacters]): collapses consecutive whitespace into a single space
714        * WebCoreSupport.subproj/WebFrameBridge.m:
715        (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): cleanup
716        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): call the new UI delegate method
717        * WebInspector.subproj: Added.
718        * WebInspector.subproj/WebInspector.h: Added.
719        * WebInspector.subproj/WebInspector.m: Added.
720        (+[WebInspector sharedWebInspector]):
721        (-[WebInspector init]):
722        (-[WebInspector initWithWebFrame:]):
723        (-[WebInspector dealloc]):
724        (-[WebInspector window]):
725        (-[WebInspector windowDidLoad]):
726        (-[WebInspector windowWillClose:]):
727        (-[WebInspector showWindow:]):
728        (-[WebInspector setWebFrame:]):
729        (-[WebInspector webFrame]):
730        (-[WebInspector setRootDOMNode:]):
731        (-[WebInspector rootDOMNode]):
732        (-[WebInspector setFocusedDOMNode:]):
733        (-[WebInspector focusedDOMNode]):
734        (-[WebInspector setSearchQuery:]):
735        (-[WebInspector searchQuery]):
736        (-[WebInspector searchResults]):
737        (-[WebInspector showOptionsMenu]):
738        (-[WebInspector selectNewRoot:]):
739        (-[WebInspector resizeTopArea:]):
740        (-[WebInspector treeViewScrollTo:]):
741        (-[WebInspector treeViewOffsetTop]):
742        (-[WebInspector treeViewScrollHeight]):
743        (-[WebInspector traverseTreeBackward]):
744        (-[WebInspector traverseTreeForward]):
745        (-[WebInspector _toggleIgnoreWhitespace:]):
746        (-[WebInspector _highlightNode:]):
747        (-[WebInspector _nodeHighlightExpired:]):
748        (-[WebInspector _focusRootNode:]):
749        (-[WebInspector _revealAndSelectNodeInTree:]):
750        (-[WebInspector _showSearchResults:]):
751        (-[WebInspector _refreshSearch]):
752        (-[WebInspector _update]):
753        (-[WebInspector _updateRoot]):
754        (-[WebInspector _updateTreeScrollbar]):
755        (+[WebInspector isSelectorExcludedFromWebScript:]):
756        (+[WebInspector webScriptNameForSelector:]):
757        (+[WebInspector isKeyExcludedFromWebScript:]):
758        (-[WebInspector handleEvent:]):
759        (-[WebInspector webView:didFinishLoadForFrame:]):
760        (-[WebInspector webView:plugInViewWithArguments:]):
761        (-[WebInspector outlineView:numberOfChildrenOfItem:]):
762        (-[WebInspector outlineView:isItemExpandable:]):
763        (-[WebInspector outlineView:child:ofItem:]):
764        (-[WebInspector outlineView:objectValueForTableColumn:byItem:]):
765        (-[WebInspector outlineView:willDisplayOutlineCell:forTableColumn:item:]):
766        (-[WebInspector outlineViewItemDidCollapse:]):
767        (-[WebInspector outlineViewSelectionDidChange:]):
768        (-[WebInspectorPrivate dealloc]):
769        (-[DOMHTMLElement _addClassName:]): Helper method for the Inspector to append style classes
770        (-[DOMHTMLElement _removeClassName:]): Helper method for the Inspector to remove style classes
771        (-[DOMNode _contentPreview]):
772        (-[DOMNode _isAncestorOfNode:]):
773        (-[DOMNode _isDescendantOfNode:]):
774        (-[DOMNode _isWhitespace]):
775        (-[DOMNode _lengthOfChildNodesIgnoringWhitespace]):
776        (-[DOMNode _childNodeAtIndexIgnoringWhitespace:]):
777        (-[DOMNode _nextSiblingSkippingWhitespace]):
778        (-[DOMNode _previousSiblingSkippingWhitespace]):
779        (-[DOMNode _firstChildSkippingWhitespace]):
780        (-[DOMNode _lastChildSkippingWhitespace]):
781        (-[DOMNode _firstAncestorCommonWithNode:]):
782        (-[DOMNode _traverseNextNodeStayingWithin:]):
783        (-[DOMNode _traverseNextNodeSkippingWhitespaceStayingWithin:]):
784        (-[DOMNode _traversePreviousNode]):
785        (-[DOMNode _traversePreviousNodeSkippingWhitespace]):
786        (-[DOMNode _nodeTypeName]):
787        (-[DOMNode _shortDisplayName]):
788        (-[DOMNode _displayName]):
789        * WebInspector.subproj/WebInspectorInternal.h: Added.
790        * WebInspector.subproj/WebInspectorOutlineView.h: Added.
791        * WebInspector.subproj/WebInspectorOutlineView.m: Added.
792        (-[WebInspectorOutlineView isOpaque]):
793        (-[WebInspectorOutlineView _highlightColorForCell:]):
794        (-[WebInspectorOutlineView _highlightRow:clipRect:]):
795        (-[WebInspectorOutlineView drawBackgroundInClipRect:]):
796        * WebInspector.subproj/WebInspectorPanel.h: Added.
797        * WebInspector.subproj/WebInspectorPanel.m: Added.
798        (-[WebInspectorPanel canBecomeKeyWindow]):
799        (-[WebInspectorPanel canBecomeMainWindow]):
800        (-[WebInspectorPanel moveWindow:]):
801        (-[WebInspectorPanel resizeWindow:]):
802        (-[WebInspectorPanel sendEvent:]):
803        * WebInspector.subproj/WebNodeHighlight.h: Added.
804        * WebInspector.subproj/WebNodeHighlight.m: Added.
805        (-[WebNodeHighlight initWithBounds:andRects:forView:]):
806        (-[WebNodeHighlight dealloc]):
807        (-[WebNodeHighlight fractionComplete]):
808        (-[WebNodeHighlight expire]):
809        (-[WebNodeHighlight redraw:]):
810        * WebInspector.subproj/WebNodeHighlightView.h: Added.
811        * WebInspector.subproj/WebNodeHighlightView.m: Added.
812        (-[WebNodeHighlightView roundedRect:withRadius:]):
813        (-[WebNodeHighlightView initWithHighlight:andRects:forView:]):
814        (-[WebNodeHighlightView dealloc]):
815        (-[WebNodeHighlightView isOpaque]):
816        (-[WebNodeHighlightView drawRect:]):
817        * WebInspector.subproj/webInspector: Added.
818        * WebInspector.subproj/webInspector/Images: Added.
819        * WebInspector.subproj/webInspector/Images/close.png: Added.
820        * WebInspector.subproj/webInspector/Images/closePressed.png: Added.
821        * WebInspector.subproj/webInspector/Images/downTriangle.png: Added.
822        * WebInspector.subproj/webInspector/Images/menu.png: Added.
823        * WebInspector.subproj/webInspector/Images/menuPressed.png: Added.
824        * WebInspector.subproj/webInspector/Images/popupFill.png: Added.
825        * WebInspector.subproj/webInspector/Images/popupFillPressed.png: Added.
826        * WebInspector.subproj/webInspector/Images/popupLeft.png: Added.
827        * WebInspector.subproj/webInspector/Images/popupLeftPressed.png: Added.
828        * WebInspector.subproj/webInspector/Images/popupRight.png: Added.
829        * WebInspector.subproj/webInspector/Images/popupRightPressed.png: Added.
830        * WebInspector.subproj/webInspector/Images/rightTriangle.png: Added.
831        * WebInspector.subproj/webInspector/Images/scrollThumbBottom.png: Added.
832        * WebInspector.subproj/webInspector/Images/scrollThumbMiddle.png: Added.
833        * WebInspector.subproj/webInspector/Images/scrollThumbTop.png: Added.
834        * WebInspector.subproj/webInspector/Images/scrollTrackBottom.png: Added.
835        * WebInspector.subproj/webInspector/Images/scrollTrackMiddle.png: Added.
836        * WebInspector.subproj/webInspector/Images/scrollTrackTop.png: Added.
837        * WebInspector.subproj/webInspector/Images/squareButtonRight.png: Added.
838        * WebInspector.subproj/webInspector/Images/squareButtonRightPressed.png: Added.
839        * WebInspector.subproj/webInspector/Images/upTriangle.png: Added.
840        * WebInspector.subproj/webInspector/inspector.css: Added.
841        * WebInspector.subproj/webInspector/inspector.html: Added.
842        * WebInspector.subproj/webInspector/inspector.js: Added.
843        * WebKit.xcodeproj/project.pbxproj: Adds Web Inspector files
844        * WebView.subproj/WebUIDelegatePrivate.h: new UI delegate method to supply a replacement view for plugins
845        * WebView.subproj/WebView.m:
846        (-[WebView _menuForElement:defaultItems:]): Add a new context menu item for inspecting
847        (-[WebView _inspectElement:]): Context menu item target for inspecting
848
8492006-01-14  Alexey Proskuryakov  <ap@nypop.com>
850
851        Reviewed by Darin.
852
853        - Fix http://bugs.webkit.org/show_bug.cgi?id=6531
854        document.cookie="killmenothing" doesn't set the cookie
855
856        * WebCoreSupport.subproj/WebCookieAdapter.m: (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
857        Append an '=' to the cookie string if it has none, so that 
858        +[NSHTTPCookie cookiesWithResponseHeaderFields:forURL:] can parse it.
859
8602006-01-14  Maciej Stachowiak  <mjs@apple.com>
861
862        Reviewed by Eric.
863
864        - added bridging infrastructure for Page class
865        
866        * WebCoreSupport.subproj/WebPageBridge.h: Added.
867        * WebCoreSupport.subproj/WebPageBridge.m: Added.
868        (-[WebPageBridge initWithMainFrameName:view:]): New class, somewhat obvious.
869        * WebKit.xcodeproj/project.pbxproj:
870        * WebView.subproj/WebView.m:
871        (-[WebViewPrivate dealloc]): Don't use _mainFrameBrige, use _pageBridge
872        (-[WebView _close]): ditto
873        (-[WebView _commonInitializationWithFrameName:groupName:]): ditto
874        (-[WebView mainFrame]): ditto
875
8762006-01-12  Maciej Stachowiak  <mjs@apple.com>
877
878        Rubber stamped by Eric.
879
880        - rename WebBridge to WebFrameBridge
881        
882        - also removed all tabs from WebFrameBridge.m
883
884        * DOM.subproj/WebDOMOperations.m:
885        (-[DOMNode _bridge]):
886        (-[DOMNode webArchive]):
887        (-[DOMRange _bridge]):
888        (-[DOMRange webArchive]):
889        * DOM.subproj/WebDOMOperationsPrivate.h:
890        * English.lproj/StringsNotToBeLocalized.txt:
891        * Misc.subproj/WebCoreStatistics.m:
892        * Misc.subproj/WebNSViewExtras.h:
893        * Misc.subproj/WebNSViewExtras.m:
894        (-[NSView _bridge]):
895        * Plugins.subproj/WebBaseNetscapePluginView.m:
896        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
897        * Plugins.subproj/WebNetscapePluginStream.m:
898        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
899        * Plugins.subproj/WebPluginContainerCheck.m:
900        (-[WebPluginContainerCheck _isForbiddenFileLoad]):
901        * Plugins.subproj/WebPluginController.h:
902        * Plugins.subproj/WebPluginController.m:
903        (-[WebPluginController bridge]):
904        * WebCoreSupport.subproj/WebBridge.h: Removed.
905        * WebCoreSupport.subproj/WebBridge.m: Removed.
906        * WebCoreSupport.subproj/WebFileButton.h:
907        * WebCoreSupport.subproj/WebFileButton.m:
908        (-[WebFileChooserButton initWithBridge:delegate:]):
909        * WebCoreSupport.subproj/WebFrameBridge.h: Added.
910        * WebCoreSupport.subproj/WebFrameBridge.m: Added.
911        (-[WebFrameBridge mainFrame]):
912        (-[WebFrameBridge createWindowWithURL:frameName:]):
913        (-[WebFrameBridge canTargetLoadInFrame:]):
914        (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
915        (formDelegate):
916        (-[WebFrameBridge createModalDialogWithURL:]):
917        * WebCoreSupport.subproj/WebSubresourceLoader.m:
918        * WebCoreSupport.subproj/WebTextRendererFactory.m:
919        * WebCoreSupport.subproj/WebViewFactory.m:
920        (-[WebViewFactory bridgeForView:]):
921        * WebKit.xcodeproj/project.pbxproj:
922        * WebView.subproj/WebDataSource.m:
923        (-[WebDataSource _bridge]):
924        (-[WebDataSource _receivedMainResourceError:complete:]):
925        (-[WebDataSource _stringWithData:]):
926        * WebView.subproj/WebDataSourcePrivate.h:
927        * WebView.subproj/WebDebugDOMNode.m:
928        * WebView.subproj/WebDefaultContextMenuDelegate.m:
929        * WebView.subproj/WebFrame.m:
930        (-[WebFrame _traverseNextFrameStayWithin::]):
931        (Frame):
932        (-[WebFrame _detachFromParent]):
933        (-[WebFrame _bridge]):
934        (-[WebFrame _initWithWebFrameView:webView:bridge:]):
935        * WebView.subproj/WebFrameInternal.h:
936        * WebView.subproj/WebFramePrivate.h:
937        * WebView.subproj/WebFrameView.m:
938        (-[WebFrameView webCoreBridge]):
939        (-[WebFrameView _bridge]):
940        * WebView.subproj/WebHTMLRepresentation.m:
941        (+[WebHTMLRepresentation supportedMIMETypes]):
942        (-[WebHTMLRepresentation _bridge]):
943        (-[WebHTMLRepresentation documentSource]):
944        * WebView.subproj/WebHTMLRepresentationPrivate.h:
945        * WebView.subproj/WebHTMLView.m:
946        (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
947        (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]):
948        (-[WebHTMLView updateFocusState]):
949        (-[NSArray validateUserInterfaceItem:]):
950        (-[NSArray attributedString]):
951        (-[NSArray selectedAttributedString]):
952        (-[NSArray concludeDragForDraggingInfo:actionMask:]):
953        (-[NSArray keyDown:]):
954        (-[NSArray _alterCurrentSelection:direction:granularity:]):
955        (-[NSArray _alterCurrentSelection:verticalDistance:]):
956        (-[NSArray _expandSelectionToGranularity:]):
957        (-[NSArray cut:]):
958        (-[NSArray _applyStyleToSelection:withUndoAction:]):
959        (-[NSArray _applyParagraphStyleToSelection:withUndoAction:]):
960        (-[NSArray pasteAsPlainText:]):
961        (-[NSArray insertNewline:]):
962        (-[NSArray insertLineBreak:]):
963        (-[NSArray insertParagraphSeparator:]):
964        (-[NSArray _changeWordCaseWithSelector:]):
965        (-[NSArray startSpeaking:]):
966        (-[NSArray selectToMark:]):
967        (-[NSArray swapWithMark:]):
968        (-[NSArray transpose:]):
969        (-[WebHTMLView characterIndexForPoint:]):
970        (-[WebHTMLView firstRectForCharacterRange:]):
971        (-[WebHTMLView selectedRange]):
972        (-[WebHTMLView attributedSubstringFromRange:]):
973        (-[WebHTMLView _selectMarkedText]):
974        (-[WebHTMLView _selectRangeInMarkedText:]):
975        (-[WebHTMLView setMarkedText:selectedRange:]):
976        (-[WebHTMLView _selectionIsInsideMarkedText]):
977        (-[WebTextCompleteController _insertMatch:]):
978        (-[WebTextCompleteController doCompletion]):
979        (-[WebTextCompleteController endRevertingChange:moveLeft:]):
980        * WebView.subproj/WebHTMLViewPrivate.h:
981        * WebView.subproj/WebImageView.m:
982        * WebView.subproj/WebMainResourceLoader.m:
983        * WebView.subproj/WebRenderNode.m:
984        * WebView.subproj/WebResource.m:
985        (-[WebResource _stringValue]):
986        * WebView.subproj/WebScriptDebugDelegate.m:
987        * WebView.subproj/WebTextView.m:
988        * WebView.subproj/WebView.m:
989        (-[WebView _createFrameNamed:inParent:allowsScrolling:]):
990        (-[WebView _commonInitializationWithFrameName:groupName:]):
991        (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
992        (-[WebView moveDragCaretToPoint:]):
993        (-[WebView shouldClose]):
994        (-[WebView editableDOMRangeForPoint:]):
995        (-[WebView setEditable:]):
996        (-[WebView deleteSelection]):
997        (-[WebView _bridgeForSelectedOrMainFrame]):
998        (-[WebView _bridgeAtPoint:]):
999
10002006-01-13  Darin Adler  <darin@apple.com>
1001
1002        - Replaced tabs with spaces in source files that had less than 10 lines with tabs.
1003        - Set allow-tabs Subversion property in source files that have more than 10 lines with tabs.
1004
10052006-01-12  John Sullivan  <sullivan@apple.com>
1006
1007        Reviewed by Tim O.
1008        
1009        - fixed <rdar://problem/4406994> REGRESSION (TOT): zooming window at cnn.com 
1010        makes window fill width of screen
1011
1012        * WebView.subproj/WebFrameView.m:
1013        (-[WebFrameView _largestChildWithScrollBars]):
1014        now skips zero-area frames, used by some evil ads
1015
10162006-01-10  John Sullivan  <sullivan@apple.com>
1017
1018        Reviewed by Tim H.
1019        
1020        - fixed <rdar://problem/4265966> PDFs continue to show a (secondary) selection 
1021        when the focus moves elsewhere
1022
1023        * WebView.subproj/WebPDFView.h:
1024        added trackedFirstResponder ivar
1025        
1026        * WebView.subproj/WebPDFView.m:
1027        (-[WebPDFView dealloc]):
1028        assert that trackedFirstResponder is nil, as it was released/cleared in viewWillMoveToWindow:
1029        (-[WebPDFView _trackFirstResponder]):
1030        If the tracked first responder was the PDFView's documentView, and the current first responder isn't,
1031        deselect all. This is equivalent to overriding resignFirstResponder in the PDFView's 
1032        documentView and deselecting all there, as other web document view classes do. Also, keep track of
1033        the new first responder for next time.
1034        (-[WebPDFView viewWillMoveToWindow:]):
1035        stop observing NSWindowDidUpdateNotification on the old window
1036        (-[WebPDFView viewDidMoveToWindow]):
1037        start observing NSWindowDidUpdateNotification on the new window, with _trackFirstResponder
1038        as the callback. Ideally we'd use a notification that tells us that the first responder is
1039        changing, but there is no such notification, so we have to use this very frequent one instead.
1040        The archaic 2573089 tracks the desire to have a responder-changed notification.
1041        (-[WebPDFView becomeFirstResponder]):
1042        removed comment about this bug that's now obsolete
1043
10442006-01-11  Darin Adler  <darin@apple.com>
1045
1046        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
1047
10482006-01-09  Darin Adler  <darin@apple.com>
1049
1050        * Makefile.am: Removed.
1051
10522006-01-09  John Sullivan  <sullivan@apple.com>
1053
1054        Reviewed by Beth Dakin.
1055                
1056        - fixed <rdar://problem/4302263> CrashTracer: 504 crashes in Safari at 
1057        com.apple.AppKit: NSTargetForSendAction + 1060
1058        
1059        The problem was that back/forward/stop/reload context menu items had nil targets,
1060        and thus were relying on AppKit to start from the context menu target (the clicked-upon 
1061        view) and use the responder chain to find the WebView to act as the target. In Tiger, 
1062        context menus don't retain their implicit target (the clicked-upon view again), and
1063        there was a race condition where the WebHTMLView could be dealloc'ed while the menu item
1064        was being processed, eventually crashing in AppKit. The fix is to explicitly set the
1065        target of these four menu items to the WebView, since the WebView is not dealloc'ed
1066        in the loading process.
1067        
1068        This might be fixed in a future version of AppKit by making the context menu retain its
1069        implicit target until it is dismissed, but with this change it will be fixed regardless
1070        of potential AppKit changes.
1071
1072        * WebView.subproj/WebDefaultContextMenuDelegate.m:
1073        (-[WebDefaultUIDelegate menuItemWithTag:target:]):
1074        Added target: parameter and removed code that set the target for some menu items; now the
1075        caller is responsible for supplying the target.
1076        (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
1077        Supply target (or nil) in calls to menuItemWithTag:target:. This matches existing behavior
1078        except for Back/Forward/Stop/Reload, which used to supply no target but now supply the
1079        WebView as the target.
1080        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
1081        Supply target (or nil) in calls to menuItemWithTag:target:
1082
10832006-01-09  Geoffrey Garen  <ggaren@apple.com>
1084
1085        Reviewed by Darin.
1086        
1087        - Second cut at fixing <rdar://problem/4268278> Submitting a form 
1088        in onUnload event handler causes crash in 
1089        -[WebDataSource(WebPrivate) _commitIfReady:].)
1090
1091        - Fixes http://bugs.webkit.org/show_bug.cgi?id=6331
1092        REGRESSION: form events don't fire after back/forward navigation, 
1093        due to inconsistent load state
1094        
1095        * WebView.subproj/WebDataSource.m:
1096        (-[WebDataSource _stopLoading]): 
1097        (1) If there are no resource loaders to signal the WebView that we've
1098        been canceled, manufacture the signal. Otherwise, the cancel gets 
1099        ignored and nobody cleans up after the load. (We signal the WebView but
1100        not the WebFrame because we don't want the WebFrame to tear down the 
1101        data source.  Unlike most canceled data sources, this one has valid data 
1102        because it's in the back/forward cache.)
1103        (2) Update _private->stopping before returning because if the 
1104        data source is in the back/forward cache it can be reused, so it 
1105        needs to be in a consistent state. (We never encountered this 
1106        situation before because we would always crash first.)
1107        (-[WebDataSource _commitLoadWithData:]): Move _commitIfReady call 
1108        inside retain block because the commit may cause an unload event 
1109        to fire, which may start a new load, deallocating the current 
1110        data source. (This is the same reason the rest of the function is 
1111        in the retain block.)
1112        * WebView.subproj/WebFrame.m:
1113        (-[WebFrame _transitionToCommitted:]): If the unload handler 
1114        started a new load, return early to avoid stomping it.
1115        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): 
1116        Undo previous incorrect fix.
1117        (-[WebFrame stopLoading]): Remove misleading comment. Setting 
1118        provisionalDataSource to nil is not optional but required for 
1119        internal consistency.
1120
11212006-01-09  Alexey Proskuryakov  <ap@nypop.com>
1122
1123        Reviewed by Maciej.
1124
1125        Affects many layout tests (when running with primary Russian language).
1126
1127        - Fix http://bugs.webkit.org/show_bug.cgi?id=4759
1128        'ex' length unit calculation (Some layout tests fail if the system primary language is Russian)
1129
1130        * WebCoreSupport.subproj/WebTextRenderer.m:
1131        (-[WebTextRenderer xHeight]): Use glyphForCharacter() instead of -[NSFont glyphWithName:].
1132
11332006-01-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1134
1135        Reviewed by Darin, landed by ap.
1136        
1137        Test: fast/text/atsui-small-caps-punctuation-size.html
1138        
1139        - fix http://bugs.webkit.org/show_bug.cgi?id=6397
1140          ATSUI small caps use small punctuation
1141          
1142        * WebCoreSupport.subproj/WebTextRenderer.m:
1143        (createATSULayoutParameters): Changed the characters for which size must
1144        not change from !u_isbase() to the M* categories.
1145
11462006-01-06  John Sullivan  <sullivan@apple.com>
1147
1148        Reviewed by Vicki Murley (full credit) and Tim Omernick (half credit).
1149        
1150        - fixed <rdar://problem/4401102> REGRESSION (420+): When displaying a PDF, tabbing around stops working after reaching page
1151
1152        * WebView.subproj/WebPDFView.m:
1153        (-[WebPDFView setNextKeyView:]):
1154        Use [PDFSubview documentView] rather than PDFSubview here, since that's the view that we now hand off first-responderhood to.
1155
11562006-01-05  Tim Omernick  <timo@apple.com>
1157
1158        Reviewed by Geoff.
1159
1160	<rdar://problem/4400804> Client-side redirect to a non-HTTP URL confuses Safari
1161
1162        * WebView.subproj/WebFrame.m:
1163        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
1164	If we were waiting for a quick redirect, but the policy delegate decided to ignore it, then we 
1165	need to report that the client redirect was cancelled.
1166	
11672006-01-05  John Sullivan  <sullivan@apple.com>
1168
1169        * WebView.subproj/WebPDFView.m:
1170        (-[WebPDFView _fakeKeyEventWithFunctionKey:]):
1171        Just added a FIXME comment about how to clean up this minor hack in the future.
1172
11732006-01-05  John Sullivan  <sullivan@apple.com>
1174
1175        Reviewed by Tim O.
1176        
1177        - fixed these bugs:
1178        <rdar://problem/3021785> page up/down don't work on frameset pages unless you click        
1179        <rdar://problem/3021788> Page Up/Down moves an unscrollable frame if you click on it first
1180        
1181        and the WebKit part of this (need new Safari too for complete fix):
1182        <rdar://problem/4378905> Page up/down don't work in PDFs when address field is focused
1183        
1184        I moved some logic down from Safari that dealt with finding the largest scrollable child frame in a frameset,
1185        and added support for standard scrolling-related selectors to WebPDFView. The latter was needed for 4378905;
1186        the former was needed due to side effects of the Safari part of the change. As long as I was doing the former,
1187        I also used that logic to fix 3021785 and 3021788.
1188        
1189        * WebView.subproj/WebFrameViewPrivate.h:
1190        new currently-private methods _hasScrollBars and _largestChildWithScrollBars
1191
1192        * WebView.subproj/WebFrameView.m:
1193        (-[WebFrameView scrollToBeginningOfDocument:]):
1194        if we don't have scroll bars, operate on our largest child with scroll bars instead
1195        (-[WebFrameView scrollToEndOfDocument:]):
1196        ditto
1197        (-[WebFrameView _pageVertically:]):
1198        ditto
1199        (-[WebFrameView _pageHorizontally:]):
1200        ditto
1201        (-[WebFrameView _scrollLineVertically:]):
1202        ditto
1203        (-[WebFrameView _scrollLineHorizontally:]):
1204        ditto
1205        (-[WebFrameView keyDown:]):
1206        where we were bailing out if ![self allowsScrolling], also check for whether there's a
1207        child with scroll bars, and don't bail out if so
1208        (-[WebFrameView _area]):
1209        new helper method used to implement _largestChildWithScrollBars (code moved from Safari)
1210        (-[WebFrameView _hasScrollBars]):
1211        new method, just returns YES if either scroll bar is showing (code moved from Safari)
1212        (-[WebFrameView _largestChildWithScrollBars]):
1213        new method, returns the child with the largest area that is showing at least one scroll bar
1214        (code moved from Safari and tweaked a little)
1215        
1216        * WebView.subproj/WebPDFView.m:
1217        (-[WebPDFView _fakeKeyEventWithFunctionKey:]):
1218        new method, hackaround for the fact that PDFView handles key downs from standard scrolling keys
1219        but does not implement the standard responder selectors
1220        (-[WebPDFView scrollPageDown:]):
1221        use _fakeKeyEventWithFunctionKey: to get the PDFView to scroll appropriately
1222        (-[WebPDFView scrollPageUp:]):
1223        ditto
1224        (-[WebPDFView scrollToBeginningOfDocument:]):
1225        ditto
1226        (-[WebPDFView scrollToEndOfDocument:]):
1227        ditto
1228        
1229        * WebView.subproj/WebView.m:
1230        add scrollToBeginningOfDocument and scrollToEndOfDocument to the list of responder operations
1231        that we hand off appropriately to the responder chain. These two aren't defined in any header
1232        but are generated by Home and End keys and used by the text system.
1233
12342006-01-05  Geoffrey Garen  <ggaren@apple.com>
1235
1236        Reviewed by Darin.
1237
1238        - Fixed http://bugs.webkit.org/show_bug.cgi?id=6361
1239        Add plugin support to DumpRenderTree
1240
1241        * WebKit.exp: export WebPluginDatabase class, which DumpRenderTree
1242        needs to add plugins to the runtime.
1243
12442006-01-03  Maciej Stachowiak  <mjs@apple.com>
1245
1246        Reviewed by Darin.
1247
1248	- move frame management and finding code from WebKit to WebCore
1249	http://bugs.webkit.org/show_bug.cgi?id=6368
1250
1251        * Plugins.subproj/WebBaseNetscapePluginView.m:
1252        (-[WebBaseNetscapePluginView loadPluginRequest:]): Set frame name straight on the bridge,
1253	instead of having it bubble through the view and frame.
1254        * WebCoreSupport.subproj/WebBridge.m:
1255        (-[WebBridge initWithFrameName:view:]): don't pass name to frame, we own it now; set it
1256	on ourselves directly
1257	(-[WebBridge findFrameNamed:]): removed
1258        (-[WebBridge createWindowWithURL:frameName:]): set name on bridge, not webview
1259        (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
1260        (-[WebBridge runModal]): remove excess braces
1261        * WebKit.xcodeproj/project.pbxproj:
1262        * WebView.subproj/WebControllerSets.h: Removed.
1263        * WebView.subproj/WebControllerSets.m: Removed.
1264        * WebView.subproj/WebFrame.m:
1265        (-[WebFramePrivate name]): removed
1266        (-[WebFramePrivate setName:]): removed
1267        (-[WebFramePrivate dealloc]): don't release name, we no longer have one
1268        (-[WebFrame _appendChild:]): removed
1269        (-[WebFrame _removeChild:]): removed
1270        (-[WebFrame _createItem:]): removed stray space
1271        (-[WebFrame _immediateChildFrameNamed:]): Just call the bridge
1272        (-[WebFrame _setName:]): removed
1273        (-[WebFrame _detachFromParent]): remove bridge from parent note self
1274        (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
1275        (-[WebFrame _addChild:]): Call appendChild: on bridge, not self
1276        (-[WebFrame _nextFrameWithWrap:]): just call bridge (and moved helpers there)
1277        (-[WebFrame _previousFrameWithWrap:]): just call bridge (and moved helpers there)
1278        (-[WebFrame _initWithWebFrameView:webView:bridge:]): don't take a name any more
1279        (-[WebFrame _setFrameNamespace:]): just call bridge
1280        (-[WebFrame _frameNamespace]): just call bridge
1281        (-[WebFrame _hasSelection]): remove excess braces
1282        (-[WebFrame _clearSelection]): ditto
1283        (-[WebFrame initWithName:webFrameView:webView:]): no more name
1284        (-[WebFrame name]): just call bridge
1285        (-[WebFrame findFrameNamed:]): just call bridge (and moved helpers there)
1286        (-[WebFrame parentFrame]): fixed for new style
1287        * WebView.subproj/WebFrameInternal.h:
1288        * WebView.subproj/WebFramePrivate.h:
1289        * WebView.subproj/WebView.m:
1290        * WebView.subproj/WebViewPrivate.h:
1291
12922006-01-03  Darin Adler  <darin@apple.com>
1293
1294        Reviewed by Beth.
1295
1296	This is a fix for <rdar://problem/3710994> HiDPI: Link underlines are 
1297	still one pixel high even if the UI resolution is > 100%
1298
1299	This fix refactors -drawLineForCharacters to make its organization
1300	more logical. It changes behavior when printing to the screen by
1301	rounding the parameters of the line (x- and y-values, width, and 
1302	thickness) to integer boundaries in device space. Previously,
1303	this part of the routine just hardcoded a 1 pixel line.
1304
1305        * WebCoreSupport.subproj/WebTextRenderer.m:
1306        (drawHorizontalLine): This just takes care of drawing the line once everything
1307	has been calculated in -drawLineForCharacters
1308        (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
1309	Now takes device space into account. Calls drawHorizontalLine
1310
13112006-01-03  Maciej Stachowiak  <mjs@apple.com>
1312
1313        Reviewed by Vicki.
1314
1315        - moved frame traversal code across from bridge, also dropped the children
1316	array
1317
1318        * WebCoreSupport.subproj/WebBridge.h:
1319        * WebCoreSupport.subproj/WebBridge.m:
1320        (-[WebBridge dealloc]): Don't release children array, that was moved
1321	down to WebCore.
1322        (-[WebBridge saveDocumentState:]):
1323	- many methods moved to WebCore.
1324        * WebView.subproj/WebFrame.m:
1325        (Frame): New convenience method to get a WebFrame * from a method that
1326	returns WebCoreBridge *.
1327        (-[WebFrame _firstChildFrame]): use Frame()
1328        (-[WebFrame _lastChildFrame]): ditto
1329        (-[WebFrame _previousSiblingFrame]): ditto
1330        (-[WebFrame _nextSiblingFrame]): ditto
1331        (-[WebFrame _traverseNextFrameStayWithin:]): ditto
1332
13332006-01-03  Anders Carlsson  <andersca@mac.com>
1334
1335        Reviewed by Darin.
1336
1337        - Fix http://bugs.webkit.org/show_bug.cgi?id=6357
1338        REGRESSION: iframe and target is broken
1339        
1340        * WebView.subproj/WebFrame.m:
1341        (-[WebFrame _descendantFrameNamed:sourceFrame:]):
1342        Return the correct frame.
1343
13442006-01-02  Maciej Stachowiak  <mjs@apple.com>
1345
1346        Reviewed by Eric.
1347
1348	    - moved frame traversal logic from WebFrame to WebBridge
1349	    http://bugs.webkit.org/show_bug.cgi?id=6341
1350
1351	    To do this, I had to invert the ownership so that WebBridge now
1352	    owns WebFrame instead of vice versa. As a result, WebView now owns
1353	    a WebBridge pointer and does not have a direct WebFrame pointer.
1354
1355        * WebCoreSupport.subproj/WebBridge.h:
1356        * WebCoreSupport.subproj/WebBridge.m:
1357        (-[WebBridge initWithFrameName:view:]): The initializer is now responsible for creating
1358	the frame, so pass it what it needs to do that.
1359        (-[WebBridge dealloc]): The bridge now owns the frame, so release it.
1360        (-[WebBridge close]): ditto
1361        (-[WebBridge firstChild]): Moved from WebFrame
1362        (-[WebBridge lastChild]): ditto
1363        (-[WebBridge childCount]): ditto
1364        (-[WebBridge previousSibling]): ditto
1365        (-[WebBridge nextSibling]): ditto
1366        (-[WebBridge isDescendantOfFrame:]): ditto
1367        (-[WebBridge traverseNextFrameStayWithin:]): ditto
1368        (-[WebBridge appendChild:]): ditto
1369        (-[WebBridge removeChild:]): ditto
1370        * WebView.subproj/WebFrame.m:
1371        (-[WebFrame _removeChild::]): Call WebBridge version
1372        (-[WebFramePrivate dealloc]): ditto
1373        (-[WebFrame _firstChildFrame]): ditto
1374        (-[WebFrame _lastChildFrame]): ditto
1375        (-[WebFrame _childFrameCount]): ditto
1376        (-[WebFrame _previousSiblingFrame]): ditto
1377        (-[WebFrame _nextSiblingFrame]): ditto
1378        (-[WebFrame _traverseNextFrameStayWithin:]): ditto
1379        (-[WebFrame _appendChild:]): ditto
1380        (-[WebFrame _removeChild:]): ditto
1381        (-[WebFrame _isDescendantOfFrame:]): ditto,
1382        (-[WebFrame _detachFromParent]): reorder a bit to avoid losing our bridge
1383	pointer before the bridge is due to release us, and don't release the
1384	bridge any more since it now owns us
1385        (-[WebFrame _initWithName:webFrameView:webView:bridge:]): new initializer,
1386	we no longer create the bridge, instead it is passed in
1387        (-[WebFrame initWithName:webFrameView:webView:]): Call the new designated
1388	initializer, but this method is no longer viable and should be deprecated.
1389        * WebView.subproj/WebFrameInternal.h:
1390        
1391	* WebView.subproj/WebView.m: WebView was changed to hold onto
1392	the WebBridge for the main frame instead of the WebFrame.
1393	
1394        (-[WebViewPrivate dealloc]): update for the fact that we hold
1395	a bridge now, not a frame.
1396        (-[WebView _close]): ditto
1397        (-[WebView _createFrameNamed:inParent:allowsScrolling:]): Create
1398	a bridge, not a frame.
1399        (-[WebView _commonInitializationWithFrameName:groupName:]): ditto.
1400        (-[WebView setDefersCallbacks:]): get mainFrame via method
1401        (-[WebView mainFrame]): Update to get the main frame properly
1402
14032005-12-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1404
1405        Reviewed by Darin, landed by ap.
1406        
1407        Test: fast/text/justified-text-rect.html
1408        
1409        - WebKit part of fix for
1410          http://bugs.webkit.org/show_bug.cgi?id=5461
1411          Text width measured incorrectly when text-align: justify
1412
1413        * WebCoreSupport.subproj/WebTextRenderer.m:
1414        (-[WebTextRenderer selectionRectForRun:style:geometry:]): Added.
1415        (CG_drawHighlight): Use new function CG_selectionRect.
1416        (CG_selectionRect): New function to compute the selection rect.
1417        Eliminated rounding hackery that was required for keeping the highlight
1418        rect within the selection rect computed by
1419        InlineTextBox::selectionRect, since the latter uses this function now.
1420        The new selection rect is wider and matches AppKit more closely,
1421        although the right hand side is roundf()ed instead of cielf()ed for
1422        optimal caret positioning.
1423        (ATSU_drawHighlight): Use new function ATSU_selectionRect.
1424        (ATSU_selectionRect): New function to compute the selection rect.
1425        Much like CG_selectionRect.
1426
14272005-12-29  Geoffrey Garen  <ggaren@apple.com>
1428
1429        Reviewed by Eric.
1430
1431        Manual testcase added:
1432        WebCore/manual-tests/onunload-form-submit-crash.html
1433
1434        - Fixed <rdar://problem/4268278> Submitting a form in onUnload event 
1435        handler causes crash in -[WebDataSource(WebPrivate) _commitIfReady:] 
1436
1437        The problem is that the form submission in the unload event kicks off 
1438        a new load in the midst of the load that caused the unload event to 
1439        fire in the first place, so the two loads stomp each other.
1440
1441        The solution is to cancel the first load and let the unload handler's 
1442        load win. (Firefox does the same.)
1443
1444        * WebView.subproj/WebFrame.m:
1445        (-[WebFrame _transitionToCommitted:]): Moved call to -closeURL up
1446        the call stack to _continueLoadRequest. (See below.) This has the 
1447        side-effect of always firing the unload event, even if the new 
1448        datasource never becomes committed, which seems like a good thing. 
1449
1450        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
1451        Call -closeURL here, instead of in _transitionToCommitted,  so that the
1452        unload handler can fire before we initialize any part of the load.
1453        
1454        Check provisionalDataSource for nil to discover if the unload event
1455        kicked off its own load.
1456
1457        Cleared up some coments.
1458
1459        (-[WebFrame _detachFromParent]):
1460        It turns out that if you close the window instead of just navigating
1461        to a new page, you get an alternate assertion failure/crash because
1462        the load kicked off by the unload event handler generates resource
1463        loader callbacks after the associated WebFrame/WebView has disappeared.
1464
1465        The nifty solution here is just to reverse the order of calls to
1466        -stopLoading and -closeURL, thus guaranteeing that -stopLoading has the
1467        last word when you close a window.
1468
14692005-12-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1470
1471        Reviewed by Eric, committed by Maciej.
1472        
1473        - fix for http://bugs.webkit.org/show_bug.cgi?id=6288
1474          HEAD build broken 12/29/2005
1475
1476        * WebCoreSupport.subproj/WebTextRenderer.m:
1477        (overrideLayoutOperation): Use previous character from the buffer
1478        instead of ch which may be uninitialized on the first iteration.
1479
14802005-12-29  Maciej Stachowiak  <mjs@apple.com>
1481
1482        Reviewed by Eric.
1483
1484        - finished frame traversal cleanup
1485        http://bugs.webkit.org/show_bug.cgi?id=6293
1486
1487        * WebCoreSupport.subproj/WebBridge.m:
1488        (-[WebBridge childFrames]): Removed (this was unused)
1489        * WebView.subproj/WebFrame.m:
1490        (-[WebFrame _removeChild::]): Moved to FrameTraversal category.
1491        (-[WebFrame _childFrameCount]): New frame traversal method to avoid
1492	getting the count from the array directly.
1493        (-[WebFrame _appendChild:]): Factored out the parts of addChild: that
1494	seem directly relevant to adding a child.
1495        (-[WebFrame _removeChild:]): Moved to FrameTraversal category.
1496        (-[WebFrame _detachChildren]): Don't deallocate children array because
1497	there's no particular need to.
1498        (-[WebFrame _setDataSource:]): make the assert use _childFrameCount
1499        (-[WebFrame _opened]):
1500        (-[WebFrame _checkLoadComplete]): Instead of checking all frames starting
1501	from the main frame, check this frame and all ancestors. If a resource
1502	for a frame completes, that con only possibly finish loading for that
1503	frame and its ancestors, not any other frame in the tree.
1504	(-[WebFrame _recursiveCheckLoadComplete]): Removed, no longer needed.
1505        (-[WebFrame _childFramesMatchItem:]): Get child frame count in the new 
1506	approved way.
1507        (-[WebFrame _internalChildFrames]): removed
1508	(-[WebFrame _addChild:]): Use _appendChild: for most of the work.
1509        (-[WebFrame _generateFrameName]): Get child frame count in the new 
1510	approved way.
1511        (-[WebFrame _stopLoadingSubframes]): Use new frame traversal mechanisms,
1512	upon further consideration there's no need to copy part of the frame tree here.
1513        (-[WebFrame findFrameNamed:]): Remove extra braces.
1514        (-[WebFrame childFrames]): Make a new array using the frame traversal methods.
1515        * WebView.subproj/WebFramePrivate.h: Remove some methods.
1516        * WebView.subproj/WebMainResourceLoader.m:
1517        (-[WebMainResourceLoader didReceiveResponse:]): Do _checkLoadComplete on the current
1518	frame not the main frame (before there was no difference and now the new version is
1519	what is desired).
1520        * WebView.subproj/WebView.m:
1521        (-[WebView _finishedLoadingResourceFromDataSource:]): Remove stray space
1522        (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]): Remove stray spaces
1523	and update FIXME comment.
1524        (-[WebView _receivedError:fromDataSource:]): Remove stray space
1525
15262005-12-29  Maciej Stachowiak  <mjs@apple.com>
1527
1528        Reviewed by Darin.
1529
1530	- abstract frame traversal in WebFrame more
1531	http://bugs.webkit.org/show_bug.cgi?id=6283
1532	
1533	Rewrote most of the frame traversal code in WebFrame to use DOM-style 
1534	first/last/next/previous methods, to abstract access better in preparation 
1535	for moving it down. 
1536
1537	As an added bonus, many formerly recursive methods are now iterative.
1538
1539        * WebKit.xcodeproj/project.pbxproj: Use gnu99 dialect of C, so that
1540	variables can be declared in for loop initializers.
1541
1542	- added new frame traversal methods, to avoid dealing with the children array
1543	directly:
1544	
1545        * WebView.subproj/WebFrame.m:
1546        (-[WebFrame _firstChildFrame]): New method.
1547        (-[WebFrame _lastChildFrame]): New method.
1548        (-[WebFrame _previousSiblingFrame]): New method.
1549        (-[WebFrame _nextSiblingFrame]): New method.
1550        (-[WebFrame _traverseNextFrameStayWithin:]): Like traverseNextNode() in the DOM;
1551	uses some of the previous.
1552
1553	- apply the new methods
1554	
1555        (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Rewrite loop
1556	to use new traversal methods.
1557        (-[WebFrame _immediateChildFrameNamed:]): ditto, also added FIXME
1558        (-[WebFrame _setName:]): Improved comment, removed gratuitous brace
1559        (-[WebFrame _isDescendantOfFrame:]): Rewrote to chase parent pointers instead
1560	of looking in child arrays (duh)
1561        (-[WebFrame _detachChildren]): Rewrite loop to use new traversal methods,
1562	still walk backwards for now.
1563        (-[WebFrame _closeOldDataSources]): Rewrite using new traversal methods.
1564        (-[WebFrame _childFramesMatchItem:]): ditto
1565        (-[WebFrame _defersCallbacksChanged]): ditto
1566        (-[WebFrame _viewWillMoveToHostWindow:]): ditto
1567        (-[WebFrame _viewDidMoveToHostWindow]): ditto
1568        (-[WebFrame _addChild:]): don't use childFrames method
1569        (-[WebFrame _removeChild:]): Clear out the sibling pointers after unlinking from the list, 
1570	not obvious if anything needs this but it seems like the right thing to do.
1571        (-[WebFrame _generateFrameName]): don't bother to nil-check children array, since
1572	calling count on nil still gives 0.
1573        (-[WebFrame _saveDocumentAndScrollState]): Rewrite to use frame traversal methods
1574        (-[WebFrame _deepLastChildFrame]): renamed from _lastChildFrame, rewrite to use child
1575	traversal methods.
1576        (-[WebFrame _nextFrameWithWrap:]): Use new frame traversal stuff (mostly just
1577	a thin wrapper on _traverseNextFrameStayWithin: 
1578        (-[WebFrame _previousFrameWithWrap:]): Use new traversal functions
1579        (-[WebFrame _numPendingOrLoadingRequests:]): Rewrite loop with new tracrsal functions
1580        (-[WebFrame _reloadForPluginChanges]): ditto
1581        (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): ditto
1582        (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): ditto
1583        (-[WebFrame _documentViews]): ditto
1584        (-[WebFrame _updateDrawsBackground]): ditto
1585        (-[WebFrame _unmarkAllMisspellings]): ditto
1586        (-[WebFrame _atMostOneFrameHasSelection]): ditto
1587        (-[WebFrame _findFrameWithSelection]): ditto
1588        (-[WebFrame _stopLoadingSubframes]): ditto
1589        (-[WebFrame _subframeIsLoading]): ditto
1590        (-[WebFrame _descendantFrameNamed:sourceFrame:]): ditto
1591
15922005-12-29  Darin Adler  <darin@apple.com>
1593
1594        * WebView.subproj/WebFrameView.m: (-[WebFrameViewPrivate dealloc]):
1595        Removed unused "draggingTypes" instance variable.
1596
15972005-12-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1598
1599        Reviewed by darin 
1600        
1601        Test: fast/text/atsui-spacing-features.html
1602
1603        - WebKit part of fix for
1604          http://bugs.webkit.org/show_bug.cgi?id=3922
1605          Variable word/letter spacing and full justification not supported for
1606          ATSUI-rendered text
1607
1608        * WebCoreSupport.subproj/WebTextRenderer.m:
1609        (overrideLayoutOperation): Add letter- and word-spacing and padding for
1610        justification.
1611        (createATSULayoutParameters): Compute padding per space.
1612
16132005-12-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1614
1615        Reviewed by Maciej, landed by Darin.
1616
1617        - fix http://bugs.webkit.org/show_bug.cgi?id=4844
1618        Render "simple" Hebrew using the CG codepath
1619
1620        * WebCoreSupport.subproj/WebTextRenderer.m: (shouldUseATSU): Exclude Hebrew letters and maqaf.
1621
16222005-12-25  Maciej Stachowiak  <mjs@apple.com>
1623
1624        Reviewed by Geoff
1625
1626        - Remove WebFrame's parent frame pointer, instead rely on WebCore's parent concept
1627        http://bugs.webkit.org/show_bug.cgi?id=6241
1628
1629        * WebCoreSupport.subproj/WebBridge.h:
1630        * WebCoreSupport.subproj/WebBridge.m:
1631        (-[WebBridge canTargetLoadInFrame:]): Use bridge parent method instead of needlessly
1632	asking for parent via WebFrame
1633        (-[WebBridge frameDetached]): Don't call _removeChild on the parent frame any more
1634	because WebFame's _detachFromParent takes care of that now.
1635        * WebView.subproj/WebFrame.m:
1636        (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Fix stray spaces
1637        (-[WebFrame _detachChildren]): Don't remove children as we loop any more, they
1638	can remove themselves.
1639        (-[WebFrame _detachFromParent]): Remove self from parent; don't nil out bridge
1640	until we are done with it.
1641        (-[WebFrame _transitionToCommitted:]): Remove some extra braces.
1642        (-[WebFrame _goToItem:withLoadType:]): Use parentFrame method in assert instead of parent
1643	field directly.
1644        (-[WebFrame _addChild:]): Don't poke at parent frame pointer in _private
1645	since it is not there any more.
1646        (-[WebFrame _removeChild:]): Remove extra braces and don't clear parent pointer
1647	explicitly any more.
1648        (-[WebFrame _addFramePathToString:]): Get parentFrame from method, not field.
1649        (-[WebFrame _loadDataSource:withLoadType:formState:]): Remove extra braces.
1650        (-[WebFrame _nextFrameWithWrap:]): Get parent in the proper way and clean up the
1651	coding style.
1652        (-[WebFrame _previousFrameWithWrap:]): Ditto.
1653        (-[WebFrame parentFrame]): Get parent from the bridge.
1654
16552005-12-25  Maciej Stachowiak  <mjs@apple.com>
1656
1657        Reviewed by Hyatt.
1658
1659	- fixed REGRESSION: world leak of WebDataSource
1660	http://bugs.webkit.org/show_bug.cgi?id=6242
1661
1662        * WebView.subproj/WebDataSource.m:
1663        (-[WebDataSource _stopLoading]): don't retain self until after
1664	the possible early return.
1665
16662005-12-24  Maciej Stachowiak  <mjs@apple.com>
1667
1668        Reviewed by Geoff.
1669
1670	- rearrange some code in WebDataSource so that more of the frame traversal logic
1671	is in WebFrame, in preparation for moving it down to WebBridge.
1672	http://bugs.webkit.org/show_bug.cgi?id=6239
1673
1674        * WebView.subproj/WebDataSource.m:
1675        (-[WebDataSource _archiveWithMarkupString:nodes:]): Assert that the
1676	data source is committed, doesn't make sense to archive otherwise.
1677        (-[WebDataSource _subframeArchivesWithCurrentState:]): New helper method.
1678        (-[WebDataSource _archiveWithCurrentState:]): Assert that the data source
1679	is committed. Use the helper.
1680        (-[WebDataSource _setWebView:]): Comment that we won't tell subframes that
1681	defers callback changed.
1682        (-[WebDataSource _startLoading]): Remove stray space.
1683        (-[WebDataSource _stopLoading]): Only handle local _stopLoading business.
1684	Cound on WebFrame to tell subframes to stop loading. Fold in _stopLoadingInternal
1685	and remove _recursiveStopLoading.
1686        (-[WebDataSource _startLoading:]): Clean up an assert slightly.
1687        (-[WebDataSource _setTitle:]): Remove stray spaces.
1688        (-[WebDataSource _defersCallbacksChanged]): Don't call subframes. WebFrame
1689	can do that.
1690        (-[WebDataSource isLoading]): Move checking of subframes down to WebFrame.
1691        (-[WebDataSource webArchive]): Return nil if the data source is not yet
1692	committed. It makes no sense to archive a provisional data source since it
1693	has no data yet.
1694        (-[WebDataSource addSubresource:]): Replace an assert with an early return,
1695	ASSERT is not an appropriate way to flag problems with the argument of a public
1696	method.
1697        * WebView.subproj/WebDataSourcePrivate.h:
1698        * WebView.subproj/WebFrame.m:
1699        (-[WebFrame _setLoadType:]): Remove stray space.
1700        (-[WebFrame _checkLoadCompleteForThisFrame]): Stop loading subframes
1701	manually and add a FIXME about confusingness of stopping loading here.
1702        (-[WebFrame _defersCallbacksChanged]): Tell our subframes.
1703        (-[WebFrame _addChild:]): Remove stray space.
1704        (-[WebFrame _stopLoadingSubframes]): New helper method.
1705        (-[WebFrame _subframeIsLoading]): New helper method, code moved
1706	from WebDataSource.
1707        (-[WebFrame stopLoading]): Tell subframes to stop loading.
1708        (-[WebFrame reload]): Remove extra braces.
1709        * WebView.subproj/WebFrameInternal.h:
1710
17112005-12-23  Maciej Stachowiak  <mjs@apple.com>
1712
1713        Reviewed by John.
1714
1715	- move more frame tree traversal code from WebView to WebFrame
1716
1717        * WebView.subproj/WebFrame.m:
1718        (-[WebFrame _atMostOneFrameHasSelection]): Moved this debug
1719	method from WebView, renamed it and changed it to return a boolean
1720	so it is appropriate for use in assertions instead of giving its own
1721	errors.
1722        (-[WebFrame _accumulateFramesWithSelection:]): Helper for the above.
1723        (-[WebFrame _findFrameWithSelection]):  Moved from WebView and renamed from
1724	_findSelectedFrame, also removed the skipping variant.
1725        (-[WebFrame _clearSelectionInOtherFrames]): Moved from WebView and
1726	changed how the logic works. Instead of clearing selection in any frame
1727	but the focus frame, it clears selection in all but this one.
1728        * WebView.subproj/WebFrameInternal.h:
1729        * WebView.subproj/WebHTMLView.m:
1730        (-[WebHTMLView becomeFirstResponder]): Call _clearSelectionInOtherFrames
1731        * WebView.subproj/WebPDFView.m:
1732        (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Stop getting WebFrame
1733	in needlessly roundabout way.
1734        (-[WebPDFView becomeFirstResponder]): Call _clearSelectionInOtherFrames
1735        * WebView.subproj/WebTextView.m:
1736        (-[WebTextView _webFrame]): New helper method.
1737        (-[WebTextView _elementAtWindowPoint:]): Use it.
1738        (-[WebTextView becomeFirstResponder]): Call _clearSelectionInOtherFrames
1739        (-[WebTextView resignFirstResponder]): Fix style issue
1740        (-[WebTextView clickedOnLink:atIndex:]): Use new helkper
1741        * WebView.subproj/WebView.m:
1742        (-[WebView selectedFrame]): Call to WebFrame as appropriate
1743        (-[WebView _selectedOrMainFrame]): Fix style issue
1744        * WebView.subproj/WebViewInternal.h:
1745
17462005-12-22  Maciej Stachowiak  <mjs@apple.com>
1747
1748        Reviewed by Eric.
1749
1750	- move a few more methods from WebView to WebFrame.	
1751
1752        * WebView.subproj/WebFrame.m:
1753        (-[WebFrame _hasSelection]): Renamed from _frameIsSelected: and moved from
1754	WebView.
1755        (-[WebFrame _clearSelection]): Renamed from _deselectFrame: and moved from 
1756	WebView.
1757        * WebView.subproj/WebFrameInternal.h:
1758        * WebView.subproj/WebView.m:
1759        (-[WebView searchFor:direction:caseSensitive:wrap:]): Update for renames.
1760        (-[WebView _findSelectedFrameStartingFromFrame:skippingFrame:]): Ditto.
1761        (-[WebView _debugCollectSelectedFramesIntoArray:startingFromFrame:]): Ditto.
1762        (-[WebView _selectedFrameDidChange]):
1763
17642005-12-21  Timothy Hatcher  <timothy@apple.com>
1765
1766        * WebKit.xcodeproj/project.pbxproj:
1767          Set tab width to 8, indent width to 4 and uses tabs to false per file.
1768
17692005-12-20  Alexey Proskuryakov  <ap@nypop.com>
1770
1771        Reviewed by justin
1772        
1773        <http://bugs.webkit.org/show_bug.cgi?id=4682>
1774        -[WebHTMLView firstRectForCharacterRange:] is using _selectedRange instead of the given range if no marked text
1775
1776        * WebView.subproj/WebHTMLView.m:
1777        (-[WebHTMLView firstRectForCharacterRange:]): 
1778        Handle some large unsigned values the way NSTextView does.
1779        Actually use the range passed in instead of _selectedRange,
1780        use of _selectedRange was a workaround that is no longer necessary.
1781
17822005-12-20  John Sullivan  <sullivan@apple.com>
1783
1784        Reviewed by Darin Adler.
1785        
1786        - fixed http://bugs.webkit.org/show_bug.cgi?id=6146
1787          (REGRESSION: Bold font used for Google search result pages is too thick)
1788          
1789        This is a problem with a particular font that was installed by Microsoft Office X. Though the
1790        font and/or lower levels of font-handling code in the system are buggy, this bad symptom will
1791        occur for users of Safari and other WebKit clients who happen to have one of these bad fonts.
1792        This adds a workaround to avoid the problem.
1793
1794        * WebCoreSupport.subproj/WebTextRendererFactory.m:
1795        (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
1796        When we're going to synthesize bold or italic, yet the font we looked up was apparently a
1797        match for the traits, try to look up a font that without the to-be-synthesized traits.
1798        This way, instead of applying synthetic bold over Arial Bold, we'll apply synthetic
1799        bold over Arial Regular, which is uglier than just using Arial Bold, but far less ugly
1800        than using Arial Bold with synthetic bold too.
1801
1802 2005-12-16  Justin Garcia  <justin.garcia@apple.com>
1803 
1804         <rdar://problem/4103393> Frequent Safari crash on lexisnexus.com (khtml::Selection::xPosForVerticalArrowNavigation)
1805         <rdar://problem/4330451> CrashTracer: [REGRESSION] 2235 crashes in Safari at com.apple.WebCore: khtml::Selection::xPosForVerticalArrowNavigation const  436
1806         
1807         Reviewed by darin
1808         
1809         WebCore will crash when a selection that starts or ends in a node 
1810         that has been removed from the document is modify()d.  This can occur:
1811         (1) in non-editable regions (4103393 and 4330451), (2) in editable 
1812         regions (4383146) as the result of arbitrary DOM operations, and (3) in 
1813         Mail (4099739) as the result of an editing operation that sets a 
1814         bad ending selection.
1815         
1816         Crashes of type (1) can occur when the user uses the arrow keys 
1817         to interact with a web app, or when the user tries to use 
1818         command-shift-arrow to switch tabs (this is a depricated
1819         combo that will work if no one else responds to it). The easiest 
1820         way to fix these crashes is to disallow editing'ish selection changes 
1821         like moveDown:, selectWord:, pageDown:, etc, when the selection 
1822         is in a non-editable region.
1823         
1824         Crashes of type (2) will require a more complicated fix (but occur 
1825         much less often than type (1)).  Crashes of type (3) must be 
1826         fixed by tracking down the editing operation that sets bad selections.
1827         
1828         Added a layout-test:
1829         * editing/selection/selection-actions.html
1830 
1831         * WebView.subproj/WebHTMLView.m:
1832         (-[WebHTMLView _canAlterCurrentSelection]):
1833         (-[WebHTMLView _alterCurrentSelection:direction:granularity:]):
1834         (-[WebHTMLView _alterCurrentSelection:verticalDistance:]):
1835         (-[WebHTMLView _expandSelectionToGranularity:]):
1836         * WebView.subproj/WebHTMLViewPrivate.h:
1837
18382005-12-20  Justin Garcia  <justin.garcia@apple.com>
1839
1840        Reviewed by mitz
1841        
1842        Fixed more uninitialized variable warnings, and 
1843        removed an extra semicolon.
1844
1845        * WebCoreSupport.subproj/WebTextRenderer.m:
1846        (overrideLayoutOperation):
1847        (createATSULayoutParameters):
1848
18492005-12-20  Maciej Stachowiak  <mjs@apple.com>
1850
1851        Reviewed by Darin.
1852
1853	- push more of frame lookup and management from WebView to
1854	WebFrame, this is in preparation for shifting this to WebCore
1855	http://bugs.webkit.org/show_bug.cgi?id=6163
1856	
1857        * WebCoreSupport.subproj/WebBridge.m:
1858        (-[WebBridge closeWindowSoon]): Adjust for change to WebFrameNamespaces
1859        (-[WebBridge runModal]): ditto
1860        * WebView.subproj/WebControllerSets.h:
1861        * WebView.subproj/WebControllerSets.m:
1862        (+[WebFrameNamespaces addFrame:toNamespace:]): This now operates in terms
1863	of WebFrames (expected to be the main frame) not WebViews.
1864        (+[WebFrameNamespaces framesInNamespace:]): Ditto.
1865        * WebView.subproj/WebFrame.m:
1866        (-[WebFrame _setFrameNamespace:]): Set self, not WebView.
1867        (-[WebFrame _shouldAllowAccessFrom:]): Moved this code above use
1868	to avoid prototyping the method.
1869        (-[WebFrame _descendantFrameNamed:sourceFrame:]): Ditto.
1870        (-[WebFrame _frameInAnyWindowNamed:sourceFrame:]): Copied logic
1871	over from WebView.
1872        (-[WebFrame findFrameNamed:]): Do it all here, don't call WebView.
1873        * WebView.subproj/WebFramePrivate.h:
1874        * WebView.subproj/WebView.m:
1875        * WebView.subproj/WebViewPrivate.h:
1876
18772005-12-20  Geoffrey Garen  <ggaren@apple.com>
1878
1879        Reviewed by adele.
1880
1881        Fixed build failure due to missing 'b's in my last checkin.
1882
1883        * WebCoreSupport.subproj/WebBridge.m:
1884        (-[WebBridge isStatusbarVisible]): changed 'B' to 'b'
1885        (-[WebBridge setStatusbarVisible:]): ditto
1886
18872005-12-20  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1888
1889        Reviewed by Darin, committed by Adele.
1890
1891        - fix deployment builds broken by the ATSUI multiple renderers patch
1892        http://bugs.webkit.org/show_bug.cgi?id=6153
1893
1894        * WebCoreSupport.subproj/WebTextRenderer.m:
1895        (createATSULayoutParameters): Assign initial values, which will never be used,
1896        to substituteRenderer and firstSmallCap, to avoid uninitialized variable warnings.
1897
18982005-12-20  Geoffrey Garen  <ggaren@apple.com>
1899
1900        Reviewed by John.
1901
1902        Part of fix for <rdar://problem/4310363> JavaScript window.open: Height
1903        is 1 pixel short, and related bugs. See WebCore ChageLog.
1904
1905        * WebCoreSupport.subproj/WebBridge.m:
1906        (-[WebBridge webView]): Added method.
1907
19082005-12-20  Eric Seidel  <eseidel@apple.com>
1909
1910        Reviewed by mjs.
1911
1912        Development-only build fix.
1913
1914        * WebView.subproj/WebFrame.m:
1915        (-[WebFramePrivate dealloc]): fixed typo
1916
19172005-12-20  Maciej Stachowiak  <mjs@apple.com>
1918
1919        Not reviewed.
1920
1921	- revert accidental commit of this file.
1922
19232005-12-19  Maciej Stachowiak  <mjs@apple.com>
1924
1925        Reviewed by Eric.
1926
1927	- Move handling of frame namespaces down to WebFrame.
1928	- Put some internal class declarations in the implementation file.
1929
1930        * WebView.subproj/WebControllerSets.m:
1931        (+[WebFrameNamespaces addWebView:toFrameNamespace:]):
1932        (+[WebFrameNamespaces webViewsInFrameNamespace:]):
1933        * WebView.subproj/WebFrame.m:
1934        (-[WebFramePrivate dealloc]):
1935        (-[WebFrame _setFrameNamespace:]):
1936        (-[WebFrame _frameNamespace]):
1937        * WebView.subproj/WebFrameInternal.h:
1938        * WebView.subproj/WebFramePrivate.h:
1939        * WebView.subproj/WebView.m:
1940        (-[WebView _close]):
1941        (-[WebView _findFrameNamed:sourceFrame:]):
1942        (-[WebView setGroupName:]):
1943        (-[WebView groupName]):
1944        * WebView.subproj/WebViewInternal.h:
1945
19462005-12-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1947
1948        Reviewed by Darin, committed by Adele.
1949        
1950        Test: fast/text/atsui-multiple-renderers.html
1951
1952        - fix http://bugs.webkit.org/show_bug.cgi?id=6139
1953          ATSUI code path should implement small caps, synthetic bold and oblique and correct metrics for fallback fonts
1954
1955        * WebCoreSupport.subproj/WebTextRenderer.m:
1956        (overrideLayoutOperation): Fetch renderer info from the renderers array;
1957        add synthetic bold offset; render only synthetic bold in the synthetic bold pass.
1958        (drawGlyphs): Replaced 14 with new SYNTHETIC_OBLIQUE_ANGLE define.
1959        (initializeATSUStyle): Apply a skewing transform for synthetic oblique.
1960        (createATSUTextLayout): Merged into createATSUTextLayout.
1961        (createATSULayoutParameters): Merged in createATSUTextLayout; allocate
1962        and fill a renderers array and a character buffer for small caps and mirroring;
1963        (applyMirroringToRun): Merged into createATSULayoutParameters.
1964        (ATSU_drawHighlight): Deleted mirroring code.
1965        (ATSU_draw): Deleted mirroring code; added second pass for synthetic bold.
1966        (ATSU_pointToOffset): Deleted mirroring code.
1967
19682005-12-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1969
1970        Reviewed by Darin, committed by Adele.
1971        
1972        Test: fast/text/atsui-kerning-and-ligatures.html
1973
1974        - fix http://bugs.webkit.org/show_bug.cgi?id=6137
1975          Disable kerning and some ligatures in the ATSUI code path
1976
1977        * WebCoreSupport.subproj/WebTextRenderer.m:
1978        (initializeATSUStyle): Disable kerning; disable ligatures unless the font
1979        does not contain 'a', in which case it is assumed to never be rendered
1980        by the CG code path.
1981
19822005-12-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1983
1984        Reviewed by Darin, committed by Adele.
1985        
1986        Test: fast/text/should-use-atsui.html
1987
1988        - fix for http://bugs.webkit.org/show_bug.cgi?id=6132
1989          Incorrect selection highlighting for ATSUI text when selected range is "CG-safe"
1990
1991        * WebCoreSupport.subproj/WebTextRenderer.m:
1992        (shouldUseATSU): Always start scanning from 0 since drawing and
1993        highlighting also measure everything up to run->from.
1994
19952005-12-17  Maciej Stachowiak  <mjs@apple.com>
1996
1997        Rubber stamped by Eric.
1998
1999	- remove some unused SPI headers.
2000
2001        * DOM.subproj/WebDOMDocument.h: Removed.
2002        * DOM.subproj/WebDOMElement.h: Removed.
2003        * DOM.subproj/WebDOMNode.h: Removed.
2004        * WebKit.xcodeproj/project.pbxproj:
2005
20062005-12-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2007
2008        Reviewed and landed by Darin.
2009
2010        - fix http://bugs.webkit.org/show_bug.cgi?id=5479
2011          Can't select text with RTL override rendered by ATSUI
2012
2013        * WebCoreSupport.subproj/WebTextRenderer.m:
2014        (overrideLayoutOperation): Update since the layout only includes from -> to now.
2015        (-[WebTextRenderer pointToOffset:style:position:includePartialGlyphs:]): Remove
2016        reversed parameter.
2017        (CG_floatWidthForRun): Add code to handle RTL case.
2018        (addDirectionalOverride): Put the override around the entire run.
2019        (ATSU_drawHighlight): Rearrange and reuse ATSU_floatWidthForRun for more of the work.
2020        Also round.
2021        (ATSU_pointToOffset): Remove reversed parameter and run swapping.
2022        (CG_pointToOffset): Remove reversed parameter, using rtl flag in style instead.
2023
20242005-12-16  Evan Gross  <evan@rainmakerinc.com>
2025
2026        Reviewed and landed by Darin.
2027
2028        - fix http://bugs.webkit.org/show_bug.cgi?id=4680
2029          WebHTMLView (WebNSTextInputSupport) - attributedSubstringFromRange "not yet implemented"
2030
2031        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView attributedSubstringFromRange:]):
2032        Implement by calling the same RTF conversion used when copying to the pasteboard.
2033
20342005-12-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2035
2036        Reviewed and landed by Darin.
2037
2038        - fix http://bugs.webkit.org/show_bug.cgi?id=6090
2039          REGRESSION: Assertion failure when choosing Copy from a WebImageView's contextual menu
2040
2041        * WebView.subproj/WebImageView.m:
2042        (-[WebImageView elementAtPoint:]): Use WebCoreElementImageRendererKey
2043        for the image renderer and WebElementImageKey for the image.
2044
20452005-12-15  Maciej Stachowiak  <mjs@apple.com>
2046
2047        Reviewed by Darin.
2048
2049	- remove _frameForView: method from WebView and replace with a direct pointer on the WebFrameView in the WebFrame
2050
2051        * Misc.subproj/WebNSViewExtras.m:
2052        * WebView.subproj/WebFrame.m:
2053        (-[WebFrame _detachFromParent]):
2054        (-[WebFrame _loadDataSource:withLoadType:formState:]):
2055        (-[WebFrame initWithName:webFrameView:webView:]):
2056        * WebView.subproj/WebFrameView.m:
2057        (-[WebFrameView _setWebFrame:]):
2058        (-[WebFrameView webFrame]):
2059        * WebView.subproj/WebFrameViewInternal.h:
2060        * WebView.subproj/WebView.m:
2061        * WebView.subproj/WebViewPrivate.h:
2062
20632005-12-13  Maciej Stachowiak  <mjs@apple.com>
2064
2065        Reviewed by Darin.
2066
2067	- remove the dead _frameForDataSource: method (WebDataSource now knows its WebFrame)
2068	http://bugs.webkit.org/show_bug.cgi?id=6072
2069	
2070        * WebView.subproj/WebView.m:
2071        * WebView.subproj/WebViewPrivate.h:
2072
2073=== Safari-521~5 ===
2074
20752005-12-12  Timothy Hatcher  <timothy@apple.com>
2076
2077        Reviewed by nobody, simple build fix.
2078
2079        Fixes a couple ambiguous selector build errors when building with GCC 3.3.
2080
2081        * Misc.subproj/WebIconDatabase.m:
2082        (-[WebIconDatabase releaseIconForURL:]):
2083        * WebView.subproj/WebHTMLView.m:
2084        (-[NSView _web_layoutIfNeededRecursive:testDirtyRect:]):
2085        (-[NSArray elementAtPoint:]):
2086
20872005-12-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2088
2089        Reviewed and checked in by John Sullivan.
2090        
2091        Fix for: http://bugs.webkit.org/show_bug.cgi?id=6053
2092        WebIconDatabase returns the Accessibility Verifier app icon instead of
2093        a generic document icon
2094        
2095        * Misc.subproj/WebIconDatabase.m:
2096        (-[WebIconDatabase _iconForFileURL:withSize:]):
2097        use file type iconForFileType:NSFileTypeForHFSTypeCode(kGenericDocumentIcon) instead of '????'
2098        to get the generic document icon.
2099
21002005-12-12  John Sullivan  <sullivan@apple.com>
2101
2102        Reviewed by Tim Omernick.
2103        
2104        - Made protocol <WebDocumentSelection> include protocol <WebDocumentText>, for clarity.
2105        This required moving some methods from WebTextView, which conformed to <WebDocumentText>,
2106        up into superclass WebSearchableTextView, which conformed to <WebDocumentSelection>.
2107
2108        * Misc.subproj/WebSearchableTextView.m:
2109        (-[NSString supportsTextEncoding]):
2110        moved this method (unchanged) from subclass WebTextView
2111        (-[NSString string]):
2112        ditto
2113        (-[NSString attributedString]):
2114        ditto
2115        (-[NSString selectedString]):
2116        ditto
2117        (-[NSString selectedAttributedString]):
2118        ditto
2119        (-[NSString selectAll]):
2120        ditto
2121        (-[NSString deselectAll]):
2122        ditto
2123        
2124        * WebView.subproj/WebDocumentPrivate.h:
2125        made <WebDocumentSelection> incorporate <WebDocumentText> rather than just <NSObject>
2126        * WebView.subproj/WebHTMLView.h:
2127        removed <WebDocumentText> from protocol list since it's covered by <WebDocumentSelection>
2128        * WebView.subproj/WebPDFView.h:
2129        ditto
2130        * WebView.subproj/WebTextView.h:
2131        ditto
2132        * WebView.subproj/WebTextView.m:
2133        removed the methods that were moved into WebSearchableTextView.m
2134
21352005-12-10  Darin Adler  <darin@apple.com>
2136
2137        Reviewed by John Sullivan.
2138
2139        - fix http://bugs.webkit.org/show_bug.cgi?id=6032
2140          REGRESSION: Uncaught exception when image is dragged out of webpage
2141
2142        * WebView.subproj/WebHTMLView.m:
2143        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2144        Pass the image renderer, not the NSImage.
2145        (-[WebHTMLView elementAtPoint:]): Add an NSImage to the dictionary, which now comes from
2146        WebCore with only an image renderer.
2147        * WebView.subproj/WebView.m: (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
2148        Pass the image renderer, not the NSImage.
2149
21502005-12-10  Darin Adler  <darin@apple.com>
2151
2152        Was getting build failures related to "count" methods.
2153        Made Tim's build fix Leopard-only.
2154
2155        * WebView.subproj/WebPreferencesPrivate.h: Go back to <PDFKit/PDFKit.h> on Tiger.
2156
21572005-12-09  John Sullivan  <sullivan@apple.com>
2158
2159        Reviewed by Adele Peterson.
2160        
2161        - fixed <rdar://problem/4373905> Cannot paste in Tiger Mail using TOT WebKit
2162
2163        * WebView.subproj/WebView.m:
2164        (-[WebView _frameForCurrentSelection]):
2165        I removed this method many moons ago when restructuring the code involving frames and selection.
2166        Too bad Mail was still using it (d'oh!). In Leopard Mail has updated to use newer SPI (which should
2167        become API), but to continue to work with Mail on Tiger we need this method to be around. Now it's
2168        just a cover for the method _selectedOrMainFrame, to which it was renamed so very long ago.
2169
21702005-12-09  Tim Omernick  <timo@apple.com>
2171
2172        Reviewed by John Sullivan.
2173
2174        * Carbon.subproj/HIWebView.m:
2175        (UpdateCommandStatus):
2176	Don't call -performSelector:withObject: on a method that returns a BOOL; this is not guaranteed to work on all architectures.
2177	-performSelector:withObject:'s return value should only be checked if the method returns an object.
2178
21792005-12-09  Timothy Hatcher  <timothy@apple.com>
2180
2181        Reviewed by nobody, build fix.
2182
2183        Using <PDFKit/PDFKit.h> was causing build failures for the Mail team.
2184        The comment about getting an ambiguous signature conflict anywhere the
2185        method "count" is used seems to no longer be an issue.
2186
2187        * WebView.subproj/WebPreferencesPrivate.h: Use <Quartz/Quartz.h>
2188
21892005-12-08  John Sullivan  <sullivan@apple.com>
2190
2191        Reviewed by Tim Hatcher.
2192        
2193        Some cleanup of how selection rects are associated with NSViews.
2194
2195        * WebView.subproj/WebDocumentPrivate.h:
2196        Added a -selectionView method to <WebDocumentSelection>, and clarified that the
2197        selectionRect is in the coordinate system of this view.
2198
2199        * Misc.subproj/WebSearchableTextView.m:
2200        (-[WebSearchableTextView selectionView]):
2201        new method, returns self
2202        
2203        * WebView.subproj/WebHTMLView.m:
2204        (-[WebHTMLView selectionView]):
2205        new method, returns self
2206        
2207        * WebView.subproj/WebPDFView.m:
2208        (-[WebPDFView selectionRect]):
2209        translate result into coordinate system of [PDFSubview documentView]
2210        (-[WebPDFView selectionView]):
2211        new method, returns [PDFSubview documentView]
2212
22132005-12-08  John Sullivan  <sullivan@apple.com>
2214
2215        Reviewed by Tim Omernick and Dave Hyatt.
2216        
2217        - fixed these semi-legendary bugs:
2218        <rdar://problem/4032405> Inline PDF doesn't get keyboard focus like web pages do, so can't scroll with keys without clicking
2219        <rdar://problem/4265684> PDFs use secondary selection when displaying found text (4748)
2220
2221        * WebView.subproj/WebPDFView.m:
2222        (-[WebPDFView becomeFirstResponder]):
2223        Discovered that there is indeed PDFKit API for accessing the view that becomes focused; now
2224        passes the focus down to that view.
2225
22262005-12-08  John Sullivan  <sullivan@apple.com>
2227
2228        Reviewed by Tim Omernick.
2229        
2230        - Added WebKit mechanism to help correctly pass the first responder into the PDF view hierarchy,
2231        in order to start addressing keyboard focus and selection highlight issues. Unfortunately this 
2232        doesn't actually have any user effect yet due to problems that must be fixed in PDFKit.
2233
2234        * WebView.subproj/WebPDFView.m:
2235        (-[WebPDFView acceptsFirstResponder]):
2236        Overridden to returns YES. Needed so NSClipView knows it's OK to pass focus down to this level.
2237        (-[WebPDFView becomeFirstResponder]):
2238        With setNextKeyView:, splices the PDF view into the focus-passing mechanism in much the same
2239        way as NSScrollView and NSClipView.
2240        (-[WebPDFView setNextKeyView:]):
2241        With becomeFirstResponder:, splices the PDF view into the focus-passing mechanism in much the same
2242        way as NSScrollView and NSClipView.
2243        (-[WebPDFView resignFirstResponder]):
2244        Removed this method because the WebPDFView itself is never first responder except transiently.
2245
22462005-12-08  Maciej Stachowiak  <mjs@apple.com>
2247
2248        Reviewed by John.
2249
2250	- some small changes towards frame tree refactoring
2251
2252	Renamed WebViewSets to WebFrameNamespaces, and put the method for
2253	performing a selector on all extant WebViews to WebView itself,
2254	with a separate set tracking live WebViews. This should allow
2255	moving the storage of this info down to WebCore more easily.
2256
2257        * WebCoreSupport.subproj/WebBridge.m:
2258        (-[WebBridge closeWindowSoon]):
2259        (-[WebBridge runModal]):
2260        * WebCoreSupport.subproj/WebViewFactory.m:
2261        (-[WebViewFactory refreshPlugins:]):
2262        * WebView.subproj/WebControllerSets.h:
2263        * WebView.subproj/WebControllerSets.m:
2264        (+[WebFrameNamespaces addWebView:toFrameNamespace:]):
2265        (webView::if):
2266        (+[WebFrameNamespaces webViewsInFrameNamespace:]):
2267        * WebView.subproj/WebView.m:
2268        (+[WebView _makeAllWebViewsPerformSelector:]):
2269        (-[WebView _removeFromAllWebViewsSet]):
2270        (-[WebView _addToAllWebViewsSet]):
2271        (-[WebView _close]):
2272        (-[WebView _findFrameNamed:sourceFrame:]):
2273        (-[WebView _commonInitializationWithFrameName:groupName:]):
2274        (-[WebView setGroupName:]):
2275        * WebView.subproj/WebViewInternal.h:
2276
22772005-12-08  Darin Adler  <darin@apple.com>
2278
2279        Reviewed by Eric.
2280
2281        - fixed http://bugs.webkit.org/show_bug.cgi?id=5689
2282          add support for CSS "custom cursors" (cursor images)
2283
2284        * WebCoreSupport.subproj/WebImageRenderer.h: Remove declaration of TIFFRepresentation and
2285        image methods since both are required by the WebCoreImageRenderer protocol now and we don't
2286        have to re-declare them.
2287
2288        * Misc.subproj/WebNSPasteboardExtras.m: Add an import of the WebCoreImageRenderer.h file
2289        since we need to use methods inherited from that protocol.
2290        * Misc.subproj/WebNSViewExtras.m: Ditto.
2291        * WebCoreSupport.subproj/WebImageRenderer.m: Ditto. (Use and implement.)
2292
22932005-12-07  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2294
2295        Reviewed by Maciej, landed by Darin.
2296
2297        - fix http://bugs.webkit.org/show_bug.cgi?id=5878
2298          REGRESSION (WebTextRenderer.m r1.201): pointToOffset always takes the CG code path
2299
2300        * WebCoreSupport.subproj/WebTextRenderer.m:
2301        (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]):
2302        Added the missing "return".
2303
23042005-12-07  John Sullivan  <sullivan@apple.com>
2305
2306        Reviewed by Tim Omernick.
2307        
2308        - <rdar://problem/4331488> TOT Assertion failure in -[WebHTMLView nextValidKeyView] 
2309        @ home.netscape.com
2310
2311        * WebView.subproj/WebHTMLView.m:
2312        (-[NSArray nextValidKeyView]):
2313        Removed assert that I added a while back. In this case at least, the assertion is
2314        overzealous, and I can't recreate the tortured chain of logic that led me to adding
2315        this assertion in the first place.
2316
23172005-12-06  David Harrison  <harrison@apple.com>
2318
2319	Reviewed by Darin.
2320
2321	- fix <rdar://problem/4365308> Glendale Regression: Floating dictionary doesn't work well in Safari text areas/fields
2322	
2323	Add use of NSAccessibilityHitTest to the list of exceptions.
2324
2325	* WebView.subproj/WebHTMLView.m:
2326	(-[WebHTMLView hitTest:]): check for NSFlagsChanged event. 
2327
23282005-12-05  John Sullivan  <sullivan@apple.com>
2329
2330        Reviewed by Darin Adler.
2331
2332        * WebView.subproj/WebHTMLView.m:
2333        (-[NSArray validateUserInterfaceItem:]):
2334        one more tweak: moved jumpToSelection: to be validated the same way as
2335        centerSelectionInVisibleArea:, since it now calls the same code. Might not
2336        make a difference in any real code, but you never know.
2337
23382005-12-05  John Sullivan  <sullivan@apple.com>
2339
2340        Reviewed by Darin Adler.
2341
2342        * WebView.subproj/WebHTMLView.m:
2343        (-[NSArray validateUserInterfaceItem:]):
2344        removed double handling of centerSelectionInVisibleArea
2345
23462005-12-05  John Sullivan  <sullivan@apple.com>
2347
2348        Reviewed by Tim Omernick.
2349        
2350        - WebKit part of fix for 
2351        <rdar://problem/4365690> Find > Jump to Selection does nothing on plain-text documents (inc. source HTML)        
2352
2353        * WebView.subproj/WebHTMLView.m:
2354        (-[WebHTMLView jumpToSelection:]):
2355        Reimplement jumpToSelection: to call centerSelectionInVisibleArea:, and added a comment explaining why
2356        jumpToSelection: exists at all. Note that centerSelectionInVisibleArea: was already implemented here; it
2357        was added as part of HTML editing implementation without us realizing that it was the API replacement
2358        for jumpToSelection:.
2359        (-[WebHTMLView validateUserInterfaceItem:]):
2360        validate centerSelectionInVisibleArea: the same way we validate jumpToSelection: (we should have done
2361        this when centerSelectionInVisibleArea: was implemented)
2362        
2363        * WebView.subproj/WebPDFView.m:
2364        (-[WebPDFView centerSelectionInVisibleArea:]):
2365        new method, same code that jumpToSelection: used to have
2366        (-[WebPDFView jumpToSelection:]):
2367        now calls centerSelectionInVisibleArea:, and there's now a comment about why it exists at all.
2368        (-[WebPDFView validateUserInterfaceItem:]):
2369        validate centerSelectionInVisibleArea: the same way we validate jumpToSelection:
2370
23712005-12-04  Tim Omernick  <timo@apple.com>
2372
2373        Reviewed by Dave Harrison, John Sullivan.
2374
2375	<rdar://problem/4364847> REGRESSION: QuickTime movies open without controller or don't open at all (5928)
2376
2377	I changed WebFrameView on 2005-11-29 so that it avoids creating duplicate WebPluginDocumentViews.
2378	Unfortunately, this change caused a regression due to the fact that it subtly changed when plugins are
2379	initialized.  Certain plugins (e.g. QuickTime) expect to be initialized after the WebPluginDocumentView
2380	has been "committed" (inserted into the view hierarchy).
2381
2382	My fix is to ensure that the plugin is initialized where we previously would have created that second
2383	WebPluginDocumentView -- that is, the plugin is created after the WebPluginDocumentView has been committed.
2384	
2385        * Plugins.subproj/WebPluginDocumentView.m:
2386        (-[WebPluginDocumentView setDataSource:]):
2387	Don't initialize the plugin if the WebPluginDocumentView has not been inserted into the view hierarchy.
2388	We assume here that a later call to -setDataSource: will pass this conditional, once the WebDocumentView
2389	has been committed.
2390	
23912005-12-02  Justin Garcia <justin.garcia@apple.com>
2392
2393        <rdar://problem/4345030>
2394        Denver REGRESSION (10.4.2-10.4.3): Two identical warnings on "Back" from Amazon's package tracker
2395        
2396        Before checking the navigation policy for a request, the request is compared
2397        against the last checked request.  If the two are the same, no check is done.
2398        In the bug, the two requests are identical except for the boolean on
2399        NSURLRequests that tells Foundation to support multipart loads for that request.
2400        One request was the one that was used to start servicing "Back" operation, and
2401        the second was being used to start loading the page (it needed to be reloaded 
2402        because it was the result of a form submission). Set the boolean on all 
2403        NSURLRequests, not just one's that are about to be used to start a load.   
2404
2405        Reviewed by harrison
2406
2407        * WebView.subproj/WebDataSource.m:
2408        (-[WebDataSource _startLoading:]):
2409        (-[WebDataSource initWithRequest:]):
2410        * WebView.subproj/WebDataSourcePrivate.h:
2411
24122005-12-01  Darin Adler <darin@apple.com>
2413
2414        Reviewed by Vicki.
2415	
2416	- fix <rdar://problem/4349721> Regression: Hovering over menu item doesn't highlight menu item or 
2417	mousing up on menu item in applet does not open URL in new window at smartmoney.com
2418
2419	Since Java depends on doing a hit test inside it's mouse moved handling, let hit testing on Java 
2420	applets go through the standard NSView code path. Since this should only happen for Java, add a global
2421	so that we can Use our own WebHTMLView hit testing when calling from _updateMouseoverWithEvent.
2422
2423        * WebView.subproj/WebHTMLView.m:
2424        (-[WebHTMLView _hitViewForEvent:]): rename forceRealHitTest to forceNSViewHitTest
2425        (-[WebHTMLView _updateMouseoverWithEvent:]): set global variable  to force a WebHTMLView-style hit test from here
2426        (-[WebHTMLView hitTest:]): perform the appropriate hit test based on global variables 
2427
24282005-11-29  Andrew Wellington  <proton@wiretapped.net>
2429
2430        Reviewed by darin.  Committed by eseidel.
2431
2432        Fix for: http://bugs.webkit.org/show_bug.cgi?id=4726
2433        Drop of multiple non-image file URLs only yields one item
2434
2435        * WebView.subproj/WebHTMLView.m:
2436        (-[WebHTMLView _documentFragmentWithPaths:]):
2437
24382005-11-29  Tim Omernick  <timo@apple.com>
2439
2440        Reviewed by John Sullivan, Eric Seidel
2441
2442	<rdar://problem/4340787> Safari & Dashcode create 2 instances of the QC plug-in
2443	
2444        * WebView.subproj/WebFrameView.m:
2445        (-[WebFrameView _makeDocumentViewForDataSource:]):
2446	Instead of creating a new WebDocumentView, use the WebDataSource's representation if it is a WebDocumentView
2447	of the appropriate class.  Right now, this can only happen when the loading document is a standalone WebKit
2448	plugin, because WebPluginDocumentView is both the WebDocumentView and the WebDocumentRepresentation for that
2449	kind of page load.
2450	
2451	I have verified that this does not affect other kinds of page loads; in all other cases, the representation
2452	class is distinct from the document view class.
2453
2454	I talked with Chris Blumenberg about this change (he knows this code), and he agreed that this is the right
2455	approach.
2456
24572005-11-28  Alexey Proskuryakov  <ap@nypop.com>
2458
2459        Reviewed by Darin. Committed by Maciej.
2460
2461	- fixed "Word completion doesn't work at end of word (unless last word)"
2462	(http://bugs.webkit.org/show_bug.cgi?id=4062)
2463
2464        * WebView.subproj/WebHTMLView.m:
2465        (-[WebTextCompleteController doCompletion]):
2466
24672005-11-28  John Sullivan  <sullivan@apple.com>
2468
2469        Reviewed by Tim Omernick.
2470        
2471        Probable fix for <rdar://problem/4356060> crash in -[WebHistoryItem _mergeAutoCompleteHints:]
2472
2473        * History.subproj/WebHistory.m:
2474        (-[WebHistoryPrivate addItem:]):
2475        retain/release oldEntry until we're done with it, since removing it from dictionary might
2476        cause it to be dealloc'ed otherwise.
2477        
2478        * History.subproj/WebHistoryItem.m:
2479        (-[WebHistoryItem _mergeAutoCompleteHints:]):
2480        added an assert
2481
24822005-11-26  Alexey Proskuryakov  <ap@nypop.com>
2483
2484        Reviewed by mjs.  Committed by eseidel.
2485
2486        Fix for http://bugs.webkit.org/show_bug.cgi?id=5230
2487        "characterIndexForPoint: not yet implemented"
2488
2489        * WebView.subproj/WebHTMLView.m:
2490        (-[WebHTMLView characterIndexForPoint:]):
2491        (-[WebHTMLView firstRectForCharacterRange:]):
2492
24932005-11-22  Darin Adler  <darin@apple.com>
2494
2495        * WebView.subproj/WebView.h: Fixed incorrect comment in public header.
2496
24972005-11-18  Vicki Murley  <vicki@apple.com>
2498
2499	Changes by Tim H, reviewed by Vicki.
2500
2501	- call shouldClose on the bridge for the main frame
2502
2503        * WebView.subproj/WebView.m:
2504        (-[WebView shouldClose]):
2505
25062005-11-18  Vicki Murley  <vicki@apple.com>
2507
2508        Changes by Darin, reviewed by Beth and Vicki.
2509
2510        - fix <rdar://problem/3939265> support "before unload" event and onbeforeunload handler (supported by both IE and Mozilla)
2511
2512        * WebCoreSupport.subproj/WebBridge.m:
2513        (-[WebBridge canRunBeforeUnloadConfirmPanel]):
2514        (-[WebBridge runBeforeUnloadConfirmPanelWithMessage:]):
2515        * WebView.subproj/WebFrame.m:
2516        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
2517        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
2518        * WebView.subproj/WebUIDelegatePrivate.h:
2519        * WebView.subproj/WebView.m:
2520        (-[WebView shouldClose]):
2521        * WebView.subproj/WebViewPrivate.h:
2522
25232005-11-10  Maciej Stachowiak  <mjs@apple.com>
2524
2525        Build fix, not reviewed.
2526
2527        * Plugins.subproj/WebBaseNetscapePluginViewInternal.h: Added.
2528
25292005-11-10  Tim Omernick  <timo@apple.com>
2530
2531        Reviewed by Geoff.
2532
2533	<rdar://problem/4237941> Dashboard needs a way to stop Netscape plug-ins from getting null events
2534
2535        * Plugins.subproj/WebBaseNetscapePluginViewInternal.h: Added.
2536	Added WebInternal category, with -stopNullEvents and -restartNullEvents.  These methods already exist on WebBaseNetscapePluginView.
2537	I am just exposing them	to callers elsewhere within WebKit.
2538
2539        * WebKit.xcodeproj/project.pbxproj:
2540	Added WebBaseNetscapePluginViewInternal.h.
2541
2542        * WebView.subproj/WebFrame.m:
2543        (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
2544	Walks down the web frame hierarchy and calls -_pauseNullEventsForAllNetscapePlugins on each WebHTMLView.
2545        (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
2546	Same as above, but calls -_resumeNullEventsForAllNetscapePlugins.
2547	
2548        * WebView.subproj/WebFramePrivate.h:
2549	Declared -_recursive_pauseNullEventsForAllNetscapePlugins and -_recursive_pauseNullEventsForAllNetscapePlugins.
2550	
2551        * WebView.subproj/WebHTMLView.m:
2552        (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
2553	Checks subviews for WebBaseNetscapePluginViews, and calls -stopNullEvents on them.
2554        (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
2555	Same as above, but calls -restartNullEvents.
2556
2557        * WebView.subproj/WebHTMLViewInternal.h:
2558	Declared -_pauseNullEventsForAllNetscapePlugins and -_resumeNullEventsForAllNetscapePlugins.
2559
25602005-11-07  Geoffrey Garen  <ggaren@apple.com>
2561
2562        Darin reviewed this a while back.
2563
2564        - Fixed <rdar://problem/4161660> window.close followed by window.print
2565        in onload handler crashes Safari in KJS::ScopeChain::bottom
2566        (redmccombstoyota.com)
2567        
2568        Added a call to stopLoading inside closeWindowSoon to prevent load
2569        events from firing after a window has torn down.
2570        
2571        Manual test case: WebCore/manual-tests/window-close-during-parsing.html
2572
2573        * WebCoreSupport.subproj/WebBridge.m:
2574        (-[WebBridge closeWindowSoon]):
2575
25762005-11-03  Timothy Hatcher  <timothy@apple.com>
2577
2578        Reviewed by Darin and Vicki.
2579
2580        * WebKit.xcodeproj/project.pbxproj:
2581          Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
2582          $(NEXT_ROOT) in a few spots to make build-root work.
2583
25842005-11-01  Tim Omernick  <timo@apple.com>
2585
2586        Reviewed by John Sullivan.
2587
2588	<rdar://problem/4318632>
2589
2590	I've added a new notification, WebPluginWillPresentNativeUserInterfaceNotification.  Plugins are expected to post this
2591	notification before presenting "native UI", such as dialog boxes.  A Dashboard client can observe this notification to
2592	hide the Dashboard layer when plugins present external UI.
2593	
2594        * English.lproj/StringsNotToBeLocalized.txt:
2595	Added "WebPluginWillPresentNativeUserInterface".
2596
2597        * Plugins.subproj/WebPluginsPrivate.h: Added.
2598        * Plugins.subproj/WebPluginsPrivate.m: Added.
2599	Declare WebPluginWillPresentNativeUserInterfaceNotification.
2600
2601        * WebKit.xcodeproj/project.pbxproj:
2602	Added WebPluginsPrivate.[hm]
2603
2604	* WebKit.exp:
2605	Added _WebPluginWillPresentNativeUserInterfaceNotification.
2606
26072005-11-01  John Sullivan  <sullivan@apple.com>
2608
2609        Reviewed by Darin Adler.
2610        
2611        fixed deployment build by hiding local variables used only in ASSERTs on builds for
2612        which ASSERT_DISABLED is true.
2613
2614        * History.subproj/WebHistory.m:
2615        (-[WebHistoryPrivate removeItemForURLString:]):
2616        (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]):
2617
26182005-11-01  John Sullivan  <sullivan@apple.com>
2619
2620        Reviewed by Tim Omernick.
2621        
2622        - fixed <rdar://problem/4324104> Assertion failure (foundDate) in WebHistory
2623        
2624        WebFrame was updating the last visited date on a WebHistoryItem behind WebHistory's
2625        back, causing WebHistory's caches of items by date to get out of sync with reality.
2626        Changed to set the date through WebHistory rather than directly.
2627
2628        * History.subproj/WebHistory.m:
2629        (-[WebHistoryPrivate _removeItemFromDateCaches:]):
2630        New method, extracted from removeItemForURLString.
2631        (-[WebHistoryPrivate removeItemForURLString:]):
2632        Now calls extracted method. Cleaned up white space a little.
2633        (-[WebHistoryPrivate _addItemToDateCaches:]):
2634        New method, extracted from addItem:
2635        (-[WebHistoryPrivate addItem:]):
2636        Now calls extracted method. Cleaned up white space a little.
2637        (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]):
2638        New method, removes item from date caches, changes date, then adds item back to
2639        date caches and sends notification.
2640        (-[WebHistory setLastVisitedTimeInterval:forItem:]):
2641        New method, cover for WebHistoryPrivate version.
2642        
2643        * History.subproj/WebHistoryItem.m:
2644        (-[WebHistoryItem _setLastVisitedTimeInterval:]):
2645        Don't send notification here; send from new WebHistory method instead.
2646        
2647        * History.subproj/WebHistoryItemPrivate.h:
2648        Added comment about avoiding incorrect use of _setLastVisitedTimeInterval:
2649        * History.subproj/WebHistoryPrivate.h:
2650        Added declarations for WebHistory and WebHistoryPrivate versions of 
2651        setLastVisitedTimeInterval:forItem:
2652        
2653        * WebView.subproj/WebFrame.m:
2654        (-[WebFrame _transitionToCommitted:]):
2655        change history item's date via new WebHistory method rather than directly
2656
26572005-10-25  Timothy Hatcher  <timothy@apple.com>
2658
2659        Reviewed by Darin.
2660
2661        Remove the use of a stamp file in the Frameworks symlink build phase.
2662        This lets us pass the build verification.
2663
2664        * WebKit.xcodeproj/project.pbxproj:
2665
26662005-10-24  Darin Adler  <darin@apple.com>
2667
2668        Reviewed by Geoff.
2669
2670        - change internal methods in WebTextRenderer to be functions in case this
2671          has any effect on speed (also makes things a bit clearer, in my opinion)
2672
2673        * WebCoreSupport.subproj/WebTextRenderer.h: Made all fields public, which is
2674        OK since this is really a private class. Made setAlwaysUseATSU: class method
2675        public too for the same reason.
2676
2677        * WebCoreSupport.subproj/WebTextRenderer.m: Change all methods to functions.
2678        (destroy): Function name for method free.
2679        (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): Removed code to first subtract
2680        lineSpacing - descent, then later add it back.
2681        (getSmallCapsRenderer): Function name for method smallCapsRenderer.
2682        (findSubstituteFont): Function name for method substituteFontForString:families:.
2683        (findSubstituteRenderer): Function name for method substituteRendererForCharacters:length:families:.
2684        (updateGlyphMapEntry): Function name for method updateGlyphEntryForCharacter:glyphID:substituteRenderer:.
2685        (extendGlyphMap): Function name for method extendCharacterToGlyphMapToInclude:.
2686        (extendWidthMap): Function name for method extendGlyphToWidthMapToInclude:.
2687        (getTextBounds): Function name for method trapezoidForRun:style:atPoint:.
2688
26892005-10-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2690
2691        Reviewed by Darin.  Committed by David Harrison.
2692
2693        http://bugs.webkit.org/show_bug.cgi?id=5415
2694        "Left border of selection highlight leaves behind a trail"
2695        
2696        * manual-tests/drag_select_highlighting.html: Added.
2697        (this test case was added to WebCore)
2698   
2699        * WebCoreSupport.subproj/WebTextRenderer.m:
2700        (overrideLayoutOperation):
2701        (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]):
2702        (-[WebTextRenderer ATSU_drawHighlightForRun:style:geometry:]):
2703        (advanceWidthIterator):
2704
2705
27062005-10-23  Tim Omernick  <tomernick@apple.com>
2707
2708        Reviewed by Dave Hyatt.
2709
2710	<http://bugs.webkit.org/show_bug.cgi?id=5365>
2711
2712	Send -webPlugInStop (or -pluginStop) and -webPluginDestroy (or -pluginDestroy)
2713	to complying plugins right when they're removed from the WebHTMLView, and also
2714	release them from the plugin controller's arrays.
2715	
2716	I think this patch makes WebKit behave more like plugins expect it to, which is
2717	the way it already behaves with Netscape plugins.
2718	
2719	I expect complying plugins to stop making noise when receiving the stop
2720	message, but QuickTime doesn't. If it's lucky, then it will be deallocated
2721	because of the release and will stop then. However, JS, for one, can retain the
2722	plugin (e.g. if you execute <javascript:document.getElementById('obj').width;>
2723	before clicking Remove OBJECT), in which case it will just keep playing.
2724	
2725        * Plugins.subproj/WebPluginController.h:
2726        * Plugins.subproj/WebPluginController.m:
2727        (-[WebPluginController destroyPlugin:]):
2728	Stop and destroy the plugin.
2729        * WebView.subproj/WebHTMLView.m:
2730        (-[NSArray willRemoveSubview:]):
2731	Destroy plugins when they are removed from the HTML view.
2732	
27332005-10-23  Geoffrey Garen  <ggaren@apple.com>
2734
2735        Reviewed by Maciej.
2736
2737        For better abstraction, made the tokenizer -- instead of the 
2738        data source -- responsible for calling [WebFrame _checkLoadComplete]
2739        when the tokenizer stops.
2740
2741        * WebView.subproj/WebDataSource.m:
2742        (-[WebDataSource _stopLoadingInternal]):
2743
27442005-10-21  Geoffrey Garen  <ggaren@apple.com>
2745
2746        Reviewed by darin.
2747        
2748        WebKit side of the fix for <rdar://problem/4184719> window.print() followed by 
2749        window.close() causes world leak
2750        
2751        No test case added because I have another reviewed patch that will include a test
2752        for this bug as well as many others.
2753
2754        Under some conditions, [WebDataSource stopLoading] did not set [WebDataSource isLoading]
2755        to false, so the didFInishLoad delegates never fired.
2756        
2757        The reason isLoading didn't become false was that the tokenizer was still running.
2758        The fix here is to move the call to [WebCoreBridge stopLoading] above the early return
2759        inside [WebDataSource stopLoading] -- since the tokenizer may still be running even if the
2760        loader is finished loading -- and then to call [WebFrame _checkLoadComplete] to 
2761        give the frame a chance to fire its delegates.
2762        
2763        * WebView.subproj/WebDataSource.m:
2764        (-[WebDataSource _stopLoadingInternal]):
2765
27662005-10-21  Beth Dakin  <bdakin@apple.com>
2767
2768        Reviewed by Darin??
2769
2770	Fix for <rdar://problem/3853672> Malformed HTML using crashes Safari in NSFireTimer
2771
2772	The webFrame was being deleted prematurely by a call to stop(), so we changed it
2773	so that the calls to _receivedMainResourceError and _mainReceivedError happen 
2774	before the stop(), and we retain the bridge.
2775
2776        * WebView.subproj/WebDataSource.m:
2777        (-[WebDataSource _receivedMainResourceError:complete:]):
2778
27792005-10-21  Geoffrey Garen  <ggaren@apple.com>
2780
2781        Patch by TimO, Reviewed by hyatt, tested and landed by me.
2782
2783        Found what appears to be a misguided optimization that actually causes a measurable performance problem.
2784        A fixed-size buffer was allocated on the stack to pass into CFURLGetBytes(), presumably to avoid malloc()
2785        for URLs less than 2048 bytes.  There was also a fallback which malloc()'ed a buffer in case the fixed-size
2786        buffer was too small to hold the URL's bytes.  This malloc()'ed buffer was then wrapped in an NSData using
2787        +dataWithBytesNoCopy:length:, avoiding a memory copy (yay!)
2788
2789        The problem with this approach is two-fold:
2790    
2791        1. Regardless of how the buffer was allocated and filled, it is immediately wrapped in an NSData using
2792        +dataWithBytes:length:, which copies the input bytes.  This is pretty much unavoidable; we need to get
2793        the data into a malloc()'ed buffer to return it to the caller, unless the caller provides its own storage
2794        (which would be super inconvenient).
2795    
2796        2. The size of the fixed buffer was large enough that it fit most (if not all) URLs involved in our Page
2797        Load Test.  This means the unintentionally-inefficient case was by far the most *common* case!
2798        
2799        My fix is to malloc() the buffer from the start, and then use +[NSData dataWithBytes:length:freeWhenDone:]
2800        to wrap the buffer in an NSData.  This avoids a memory copy for the normal case where a URL is less than
2801        2048 bytes, and keeps the efficient behavior for the uncommon long URL case.
2802
2803        * Misc.subproj/WebNSURLExtras.m:
2804        (-[NSURL _web_originalData]):
2805
28062005-10-21  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2807
2808        Reviewed and landed by Darin.
2809
2810        - fixed a couple regressions caused by my last check-in
2811          http://bugs.webkit.org/show_bug.cgi?id=5437
2812          http://bugs.webkit.org/show_bug.cgi?id=5443
2813
2814        * WebCoreSupport.subproj/WebTextRenderer.m:
2815        (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]): Compute background width
2816        correctly, by subtracting position after run from position before run.
2817        (addDirectionalOverride): Make the range include only the characters between the
2818        directional override characters, not the directional override characters themselves.
2819        (initializeWidthIterator): Correctly compute "widthToStart" based on the offset to
2820        the beginning of the run, not to the end of the run!
2821
28222005-10-19  Darin Adler  <darin@apple.com>
2823
2824        Reviewed by Maciej.
2825
2826        - optimizations for a total of about 1% speed-up on PLT
2827
2828        * WebCoreSupport.subproj/WebTextRenderer.h: Updated to use bool instead of BOOL,
2829        since BOOL is a signed char (which is not so efficient, at least on PPC).
2830        * WebCoreSupport.subproj/WebTextRenderer.m:
2831        (isSpace): Changed BOOL to bool and UniChar to UChar32. This actually fixes a
2832        potential bug when the passed-in character is a non-BMP character (> FFFF).
2833        (isRoundingHackCharacter): Ditto.
2834        (widthForGlyph): Merged getUncachedWidth, widthFromMap, and widthForGlyph into
2835        one function. Marked it inline. Changed to include syntheticBoldOffset in the
2836        cached widths to save an add in the cached case. Instead of the special constant
2837        UNINITIALIZED_GLYPH_WIDTH, just check for a width >= 0. This allows us to use
2838        a negative number or NAN for the uninitialized width value -- I chose NAN.
2839        (overrideLayoutOperation): Use bool instead of Boolean in one place.
2840        (-[WebTextRenderer initWithFont:]): Use lroundf instead of ROUND_TO_INT.
2841        (-[WebTextRenderer floatWidthForRun:style:]): Put the code to choose the ATSU
2842        vs. CG code path back in here, because there are no callers inside the class
2843        that need to call both.
2844        (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
2845        Use bool instead of BOOL.
2846        (+[WebTextRenderer setAlwaysUseATSU:]): Ditto.
2847        (fontContainsString): Ditto.
2848        (-[WebTextRenderer computeWidthForSpace]): Ditto. Also use roundf instead of
2849        using ROUND_TO_INT.
2850        (-[WebTextRenderer setUpFont]): Use bool instead of BOOL.
2851        (drawGlyphs): Ditto.
2852        (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]): Restructure the
2853        code so it can use the new advanceWidthIterator function instead of the old
2854        widthForNextCharacter function.
2855        (-[WebTextRenderer CG_drawRun:style:geometry:]): Use malloc instead of calloc
2856        since we don't need initialization. Call CG_floatWidthForRun instead of
2857        floatWidthForRun -- no need to re-check whether to use the CG or ATSU code path.
2858        Removed code to handle a renderer of 0 since we no longer generate that in
2859        the renderers array in advanceWidthIterator.
2860        (CG_floatWidthForRun): Changed to call the new advanceWidthIterator instead of
2861        the old widthForNextCharacter.
2862        (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Use malloc instead of
2863        calloc and explicitly initialize the one field that needs it. Fixed a potential
2864        storage leak by adding a call to WKClearGlyphVector. Initialize the renderers
2865        to self instead of to 0.
2866        (-[WebTextRenderer extendGlyphToWidthMapToInclude:]): Initialize the widths to
2867        NAN instead of UNINITIALIZED_GLYPH_WIDTH.
2868        (addDirectionalOverride): Fixed bug where the first and last character in the buffer
2869        could be uninitialized and where characters before and after the direction override
2870        could be incorrect.
2871        (-[WebTextRenderer ATSU_drawRun:style:geometry:]): Use bool instead of BOOL.
2872        (-[WebTextRenderer ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
2873        Ditto.
2874        (advanceWidthIteratorOneCharacter): Added new helper function for CG_pointToOffset.
2875        (-[WebTextRenderer CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
2876        Reimplemented to use advanceWidthIteratorOneCharacter instead of widthForNextCharacter.
2877        Also call CG_floatWidthForRun instead of floatWidthForRun since we don't need to
2878        reconsider whether to use CG or ATSU.
2879        (glyphForCharacter): Removed the map parameter and changed the renderer parameter to
2880        be an in-out one. Removed uneeded special case for when map is 0 and always get the
2881        renderer from the map. Also call extendCharacterToGlyphMapToInclude in here instead of
2882        making that the caller's responsibility.
2883        (initializeWidthIterator): Renamed to make the name shorter (removed "Character").
2884        Streamlned common cases like "no padding" and removed some unneeded casts. Changed to
2885        use advanceWidthIterator to compute width fo the first part of the run.
2886        (normalizeVoicingMarks): Factored this out into a separate function, since it's not part
2887        of the common case.
2888        (advanceWidthIterator): Changed widthForNextCharacter to this, eliminating per-character
2889        function overhead for iterating past a few characters. Merged the handling of surrogate
2890        pairs and of voicing marks so that we typically only have to do one "if" to rule out both.
2891        Merged the mirroring for RTL and uppercasing for small caps into a single boolean so that
2892        we only need one "if" to rule out both. Call the new glyphForCharacter. Check for the
2893        character '\t' first since that's cheaper than looking at tabWidth. Check tabWidth for 0
2894        first so that we don't have to convert it to floating point when not using it. Changed
2895        the special case for spaces to first check width, so that we don't bother with the rest
2896        of the code for glyphs not the same width as spaces. Fixed substitution code to call
2897        CG_floatWidthForRun -- no need to reconsider whether to use CG or ATSU. Also changed to
2898        properly get width from the result of that function. Merged the handling of letter spacing,
2899        padding, and word spacing into a single boolean so that we typically only have to do one
2900        "if" to rule out all three. Check for letterSpacing of 0 first so that we don't have to
2901        convert it to floating point when not using it. Same for padding and wordSpacing.
2902        Move the work from ceilCurrentWidth in line into this function. Assume that either we have
2903        all three pointers (widths, renderers, glyphs), or none of the three, to cut down on branches.
2904        (fillStyleWithAttributes): Use bool instead of BOOL.
2905        (shouldUseATSU): Ditto.
2906
2907        * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthWithFont:]): Update since
2908        the floatWidthForRun method no longer takes a widths parameter.
2909        * Misc.subproj/WebStringTruncator.m: (stringWidth): Ditto.
2910
29112005-10-19  Tim Omernick  <tomernick@apple.com>
2912
2913        Reviewed by eseidel & darin.
2914
2915	Changed some of the run measurement methods to C functions
2916        to avoid overhead associated with objc_msgSend().
2917		
2918        * WebCoreSupport.subproj/WebTextRenderer.m:
2919        (-[WebTextRenderer floatWidthForRun:style:widths:]):
2920	Updated to call new run measurement functions instead
2921        of calling ObjC methods.
2922        (-[WebTextRenderer CG_drawRun:style:geometry:]): ditto
2923        (floatWidthForRun): ditto
2924        (CG_floatWidthForRun): ditto
2925        (ATSU_floatWidthForRun): ditto
2926        (widthForNextCharacter): ditto
2927
29282005-10-14  Vicki Murley  <vicki@apple.com>
2929
2930	Changes by Mitz Pettel, reviewed by Maciej.
2931
2932	Fix http://bugs.webkit.org/show_bug.cgi?id=5029 (Assertion failure in -[NSPasteboard(WebExtras) 
2933	_web_writeImage:URL:title:archive:types:] when trying to drag an image from a site with no favicon)
2934
2935        * Misc.subproj/WebNSPasteboardExtras.m:
2936        (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): Prefer the main resource if it is an image
2937
29382005-10-12  Vicki Murley  <vicki@apple.com>
2939
2940        Reviewed by Darin.
2941
2942	- fix <rdar://problem/4043643> iframe swallows events for overlapping elements (3449)
2943
2944        * WebView.subproj/WebHTMLView.m:
2945        (-[WebHTMLView hitTest:]): 
2946        (-[WebHTMLView _updateMouseoverWithEvent:]): eliminate _hitViewForEvent hackery and self
2947	dependency from this function
2948
29492005-10-12  Timothy Hatcher  <timothy@apple.com>
2950
2951        Reviewed by Darin.
2952        
2953        Define WebNSInt and WebNSUInt to wrap around NSInt on Leopard and still build on Tiger
2954        Once building on Tiger isn't needed we will drop WebNSInt and use NSInt
2955
2956        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
2957        (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]):
2958        * WebView.subproj/WebFrame.m:
2959        (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
2960        * WebView.subproj/WebLoader.m:
2961        (-[NSURLProtocol didReceiveData:lengthReceived:]):
2962        * WebView.subproj/WebResourceLoadDelegate.h:
2963        * WebView.subproj/WebUIDelegate.h:
2964        * WebView.subproj/WebView.h:
2965        * WebView.subproj/WebView.m:
2966        (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
2967        (-[WebView spellCheckerDocumentTag]):
2968        * WebView.subproj/WebViewInternal.h:
2969        * WebView.subproj/WebViewPrivate.h:
2970
29712005-10-12  Darin Adler  <darin@apple.com>
2972
2973        * WebView.subproj/WebPolicyDelegate.h: Fix a comment.
2974
29752005-10-11  Timothy Hatcher  <timothy@apple.com>
2976
2977        Reviewed by Darin.
2978        
2979        Test for 10.4 because of <rdar://problem/4243463>
2980
2981        * WebView.subproj/WebHTMLView.m:
2982        (-[WebHTMLView conversationIdentifier]):
2983
29842005-10-11  Adele Peterson  <adele@apple.com>
2985
2986        Rolling out fix for http://bugs.webkit.org/show_bug.cgi?id=5195
2987        since it caused:
2988
2989        REGRESSION text areas draw focus ring around each glyph, no caret in text fields
2990        http://bugs.webkit.org/show_bug.cgi?id=5335
2991
2992        * WebView.subproj/WebHTMLView.m:
2993        (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]):
2994        (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
2995        (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
2996
29972005-10-09  Darin Adler  <darin@apple.com>
2998
2999        Reviewed by Maciej.
3000
3001        - fixed http://bugs.webkit.org/show_bug.cgi?id=5195
3002          Would like API to flush rendering of pending DOM changes
3003
3004        This was actually a Tiger regression. When AppKit added a new code path for rendering
3005        NSView, our special hack for doing layout when we draw didn't work any more. So we
3006        were able to fix this without adding any API.
3007
3008        * WebView.subproj/WebHTMLView.m:
3009        (-[WebHTMLView _recursiveDisplayRectIgnoringOpacity:inContext:topView:]): Added.
3010        Does the same thing that other _recursiveDisplay methods do.
3011
30122005-10-08  Alexey Proskuryakov  <ap@nypop.com>
3013
3014        Reviewed by Maciej.
3015
3016        - fixed http://bugs.webkit.org/show_bug.cgi?id=5187
3017          UTF-8 in long text files breaks at some point
3018
3019        * WebView.subproj/WebTextRepresentation.m:
3020        (-[WebTextRepresentation finishedLoadingWithDataSource:]):
3021        Call flushReceivedData on the WebTextView so it can decode any final bytes.
3022
3023        * WebView.subproj/WebTextView.h: Added WebCoreTextDecoder field and flushReceivedData method.
3024        * WebView.subproj/WebTextView.m:
3025        (-[WebTextView dealloc]): Release WebCoreTextDecoder.
3026        (-[WebTextView appendReceivedData:fromDataSource:]): Create a WebCoreTextDecoder to decode
3027        the text; use the textEncodingName from the data source. Use it to decode instead of the
3028        data source's stringWithData.
3029        (-[WebTextView flushReceivedData]): Call flush on the decoder and append any last bytes to
3030        the text view.
3031
30322005-10-07  John Sullivan  <sullivan@apple.com>
3033
3034        Reviewed by Tim Omernick.
3035        
3036        WebKit support for allowing clients to know which frame originated a particular JavaScript alert/dialog.
3037
3038        * WebView.subproj/WebUIDelegatePrivate.h:
3039        New optional delegate methods for the three JavaScript alert/dialogs. These are just like the existing
3040        ones in WebUIDelegate.h except that each adds a parameter specifying the frame that the JavaScript was
3041        running in. Eventually we'll deprecate the old three methods in favor of these in the public API.
3042        
3043        * WebCoreSupport.subproj/WebBridge.m:
3044        (-[WebBridge runJavaScriptAlertPanelWithMessage:]):
3045        Call version of the delegate method that has the frame parameter if the delegate supports it.
3046        (-[WebBridge runJavaScriptConfirmPanelWithMessage:]):
3047        ditto
3048        (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
3049        ditto
3050        
3051        * WebView.subproj/WebDefaultUIDelegate.m:
3052        (-[WebDefaultUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]):
3053        Now implements the new version of the delegate method that includes the frame parameter. (Still
3054        doesn't do anything though.)
3055        (-[WebDefaultUIDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:]):
3056        Now implements the new version of the delegate method that includes the frame parameter. (Still
3057        doesn't do anything though.)
3058        (-[WebDefaultUIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:]):
3059        Now implements the new version of the delegate method that includes the frame parameter. Doesn't
3060        actually use the frame parameter here yet though.
3061        
30622005-10-06  Darin Adler  <darin@apple.com>
3063
3064        - fixed compiling on Deployment
3065
3066        * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:]):
3067        Put initialFont inside !LOG_DISABLED.
3068
30692005-10-06  Darin Adler  <darin@apple.com>
3070
3071        Reviewed by Eric.
3072
3073        - tweaked formatting
3074
3075        * WebCoreSupport.subproj/WebTextRenderer.m: Changed function names to remove underscores;
3076        fixed formatting to match our coding guidelines, other related tweaks.
3077
30782005-10-06  Darin Adler  <darin@apple.com>
3079
3080        Reviewed by Eric.
3081
3082        - fixed regression in drawing of text in non-flipped contexts from my last check-in
3083
3084        * WebCoreSupport.subproj/WebTextRenderer.m:
3085        (drawGlyphs): Only flip the matrix if the NSGraphicsContext is flipped.
3086        (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): Use -[NSGraphicsContext isFlipped]
3087        instead of [[NSView focusView] isFlipped].
3088
30892005-10-06  Darin Adler  <darin@apple.com>
3090
3091        Reviewed by Hyatt.
3092
3093        - fixed <rdar://problem/3217793> Monaco bold comes out as Helvetica bold, very bad if you choose Monaco as your fixed-width font
3094        - fixed <rdar://problem/3256269> CSS1: bold/italic font styles not programmatically created if font doesn't include them (3231)
3095          also <http://bugs.webkit.org/show_bug.cgi?id=3231>
3096
3097        * WebCoreSupport.subproj/WebTextRenderer.h: Removed public declarations of private structures that are not
3098        used in the header. Removed the separate 16-bit character map; the difference in code size is only a few
3099        bytes per page and there's no measurable performance difference by always using the 32-bit character version.
3100        Removed substitute font width maps altogether, since we now use the width map in the substitute font's renderer.
3101        Also removed a few more now-unused fields and methods. Changed initWithFont to take WebCoreFont. Changed
3102        the setAlwaysUseATSU: method to remove the underscore prefix.
3103
3104        * WebCoreSupport.subproj/WebTextRenderer.m:
3105        (getUncachedWidth): Get font from WebCoreFont directly instead of taking a parameter, since we now use only
3106        one NSFont per WebTextRenderer.
3107        (widthFromMap): Removed NSFont parameter for same reason as above; simplified.
3108        (widthForGlyph): Ditto.
3109        (overrideLayoutOperation): Updated for change to WebCoreFont.
3110        (-[WebTextRenderer initWithFont:]): Changed to use WebCoreFont. Removed code to deal with substitute font maps.
3111        Changed lineGap computation to use floats instead of doubles. Added code to compute a synthetic bold offset.
3112        Currently this is the font size divided by 24 and then rounded up to an integer.
3113        (-[WebTextRenderer dealloc]): Updated for change to WebCoreFont and other related changes.
3114        (-[WebTextRenderer finalize]): Ditto.
3115        (-[WebTextRenderer xHeight]): Ditto.
3116        (-[WebTextRenderer drawRun:style:geometry:]): Remove small caps case here; no longer needed. Also updated as above.
3117        (-[WebTextRenderer floatWidthForRun:style:widths:]): Ditto.
3118        (-[WebTextRenderer drawHighlightForRun:style:geometry:]): Ditto.
3119        (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]): Ditto.
3120        (+[WebTextRenderer setAlwaysUseATSU:]): Renamed to remove underscore prefix.
3121        (-[WebTextRenderer smallCapsRenderer]): Ditto. Changed to create a renderer for the smaller sized font.
3122        (-[WebTextRenderer _substituteFontForString:families:]): Reorganized this to be more readable and to call
3123        the new rendererForAlternateFont method.
3124        (-[WebTextRenderer rendererForAlternateFont:]): Added. Used to select an alternate font taking into account
3125        bold and italic synthesis.
3126        (-[WebTextRenderer substituteRendererForCharacters:length:families:]): Renamed to remove underscore prefix.
3127        Updated to use rendererForAlternateFont.
3128        (-[WebTextRenderer _computeWidthForSpace]): Updated for name changes and to remove unnecessary parameters.
3129        (-[WebTextRenderer setUpFont]): Renamed to remove underscore prefix. Added code to get printer or screen
3130        font as specified by WebCoreFont so calers don't need to do this.
3131        (drawGlyphs): Renamed to remove underscore prefix. Added code for synthetic oblique (14 degree slant), and
3132        synthetic bold (add offset and draw text a second time).
3133        (-[WebTextRenderer _CG_drawRun:style:geometry:]): Keep an array of substitute renderers instead of fonts.
3134        Changed around the loop to reverse the run to be a single loop instead of 3.
3135        (-[WebTextRenderer floatWidthForRun:style:widths:substituteRenderers:glyphs:startPosition:numGlyphs:]):
3136        Renamed to remove the underscore prefix.
3137        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:substituteRenderers:glyphs:startPosition:numGlyphs:]):
3138        Changed to use subsitute renderers rather than fonts.
3139        (-[WebTextRenderer updateGlyphEntryForCharacter:glyphID:substituteRenderer:]): Renamed to remove underscore
3140        prefix and changed to use a substitute renderer rather than a substitute NSFont.
3141        (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Updated to work with all characters, both ones
3142        that fit into 16-bit and ones that don't.
3143        (-[WebTextRenderer _extendGlyphToWidthMapToInclude:]): Removed NSFont parameter and simplified. This fixes
3144        a bug where numberOfGlyphs was accidentally used from the main font instead of "subFont".
3145        (glyphForCharacter): Changed to use subsitute renderers instead of substitute fonts.
3146        (widthForNextCharacter): Ditto. Also removed small caps code no longer needed here and replaced it with
3147        simpler small caps code that no longer assumes glyphs match.
3148        (shouldUseATSU): Changed the code to check ranges in order to slightly reduce the number of cases and
3149        to create earlier exit for lower character codes.
3150
3151        * WebCoreSupport.subproj/WebTextRendererFactory.h: Added caches for synthesized font and oblique
3152        variants so we can still use the NSFont as the dictionary key. Removed coalesceTextDrawing methods.
3153        Changed methods to use WebCoreFont as the parameters and results instead of NSFont.
3154        * WebCoreSupport.subproj/WebTextRendererFactory.m:
3155        (-[WebTextRendererFactory clearCaches]): Clear all 8 caches.
3156        (-[WebTextRendererFactory isFontFixedPitch:]): Changed code slightly so there's only one call to
3157        the CFDictionarySetValue function.
3158        (-[WebTextRendererFactory init]): Create all 8 caches.
3159        (-[WebTextRendererFactory dealloc]): Release all 8 caches.
3160        (-[WebTextRendererFactory rendererWithFont:]): Select the appropriate cache based on 3 booleans:
3161        synthetic bold, synthetic oblique, and printer. Use WebCoreFont instead of NSFont.
3162        (-[WebTextRendererFactory fontWithFamilies:traits:size:]): Set the synthetic bold and oblique flags
3163        when returning a WebCoreFont based on requested traits that are not present in the NSFont.
3164        (acceptableChoice): Ignore the synthesizable traits when deciding if a chosen font is acceptable.
3165        (betterChoice): Rather than assuming that every font has all the desired traits, implement a rule
3166        that says a font with an unwanted trait loses out over a font that does not have an unwanted trait.
3167        This lets us chose a bold font over a non-bold font that could use synthesized bold but treat both
3168        as candidates.
3169
3170        * WebCoreSupport.subproj/WebGlyphBuffer.h: Removed.
3171        * WebCoreSupport.subproj/WebGlyphBuffer.m: Removed.
3172        * WebKit.xcodeproj/project.pbxproj: Removed WebGlyphBuffer source files.
3173
3174        * Misc.subproj/WebKitNSStringExtras.m:
3175        (-[NSString _web_drawAtPoint:font:textColor:]): Update to use WebCoreFont.
3176        (-[NSString _web_widthWithFont:]): Ditto.
3177        * Misc.subproj/WebStringTruncator.m:
3178        (truncateString): Ditto.
3179        (+[WebStringTruncator widthOfString:font:]): Ditto.
3180
3181        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): Removed text drawing coalesce method calls.
3182        * WebView.subproj/WebTextView.m: (-[WebTextView setFixedWidthFont]): Updated to use cachedFontFromFamily
3183        method, which we still have, rather than fontWithFamilies method which we don't (since it now uses WebCoreFont).
3184        * WebView.subproj/WebView.m: (+[WebView _setAlwaysUseATSU:]): Updated for name change to underlying method.
3185
31862005-10-05  Maciej Stachowiak  <mjs@apple.com>
3187
3188        Reviewed by Eric.
3189
3190	<rdar://problem/4158439> Safari appears to hang when sending synchronous XMLHttpRequest that gets no server response
3191
3192	No testcase - not testable w/o network.
3193	
3194        * WebCoreSupport.subproj/WebBridge.m:
3195        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Set a timeout of 10.
3196
31972005-10-04  Beth Dakin  <bdakin@apple.com>
3198
3199        Reviewed by Darin
3200
3201	Fix for <rdar://problem/4285538> TOT fix for Denver Regression: Drawing glitch in the transparent dialog's cancel/ok 
3202	button in the widget manager. 
3203
3204        * WebCoreSupport.subproj/WebImageData.m: Calls WKSetPatternPhaseInUserSpace() which is a new function that lies in 
3205						WebKitSystemInterface that and takes care of pattern-setting. Prevents 
3206						regression that occurred with image tiling in transparency layers. 
3207        (-[WebImageData tileInRect:fromPoint:context:]):
3208
32092005-10-03  Tim Omernick  <tomernick@apple.com>
3210
3211        Reviewed by John Sullivan.
3212
3213	<rdar://problem/4281095> Denver regression: Seed: Safari HTML 4.01 <object ...> tag problem
3214
3215        * WebCoreSupport.subproj/WebBridge.m:
3216        (-[WebBridge determineObjectFromMIMEType:URL:]):
3217	If no view class is registered to handle the MIME type, check to see if there is a plugin registered which can handle it.
3218	This check is required because the Java plugin does not register an NSView class, so that Java files are downloaded when
3219	not embedded.
3220
3221	Prior to this fix, -determineObjectFromMIMEType:URL: would always return ObjectElementNone for Java applets (MIME type
3222	"application/x-java-applet"), which would cause Java applets embedded in <OBJECT> elements to not be loaded.
3223
3224	This broke on 05-03-2005, when we changed how we handle fallback content for <OBJECT> elements so that we could pass the
3225	Acid2 test.
3226
32272005-09-28  Justin Garcia  <justin.garcia@apple.com>
3228
3229        Reviewed by geoff
3230        
3231        Fixed <rdar://problem/4276596> multipart/x-mixed-replace: saved inline images appear only partially loaded
3232        Fixed <rdar://problem/4265439> progress bar should look complete even if there is some more multipart content being loaded
3233
3234        * WebCoreSupport.subproj/WebSubresourceLoader.h:
3235        * WebCoreSupport.subproj/WebSubresourceLoader.m:
3236        (-[WebSubresourceLoader didReceiveResponse:]):
3237        Now calls signalFinish and saveResource.
3238        
3239        (-[WebSubresourceLoader signalFinish]): 
3240        Added.  Does the part of didFinishLoading that signals to the WebDataSource and load delegates that the load is finished.
3241        
3242        (-[WebSubresourceLoader didFinishLoading]):
3243        * WebView.subproj/WebLoader.h:
3244        * WebView.subproj/WebLoader.m:
3245        (-[NSURLProtocol signalFinish]):
3246        Similar to above
3247        
3248        (-[NSURLProtocol didFinishLoading]):
3249
32502005-09-28  Adele Peterson  <adele@apple.com>
3251
3252        Reviewed by John.
3253
3254        Moved _downloadWithLoadingConnection and _downloadWithRequestfrom WebDownload.h to WebDownloadInternal.h
3255
3256        * Misc.subproj/WebDownload.h:
3257        * Misc.subproj/WebDownloadInternal.h: Added.
3258        * WebKit.xcodeproj/project.pbxproj: Added WebDownloadInternal.h
3259        * WebView.subproj/WebMainResourceLoader.m: Added import of WebDownloadInternal.h
3260        * WebView.subproj/WebView.m: ditto.
3261
32622005-09-27  Adele Peterson  <adele@apple.com>
3263
3264        Reviewed by Maciej.
3265
3266        Changed ints to size_t where appropriate.
3267
3268        * Misc.subproj/WebCoreStatistics.h:
3269        * Misc.subproj/WebCoreStatistics.m:
3270        (+[WebCoreStatistics javaScriptObjectsCount]):
3271        (+[WebCoreStatistics javaScriptInterpretersCount]):
3272        (+[WebCoreStatistics javaScriptNoGCAllowedObjectsCount]):
3273        (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
3274        * WebView.subproj/WebPreferences.m:
3275        (-[WebPreferences _pageCacheSize]):
3276        (-[WebPreferences _objectCacheSize]):
3277        * WebView.subproj/WebPreferencesPrivate.h:
3278
32792005-09-26  John Sullivan  <sullivan@apple.com>
3280
3281        Reviewed by Tim Omernick.
3282
3283        - fixed <rdar://problem/4118126> Drag-and-drop text with text containing a colon causes a crash
3284        
3285        There were two problems here. One is that dragging and dropping text within the same WebTextView
3286        should have done nothing rather than try to navigate. The other is that navigating while processing
3287        the end of the drag would dealloc the drag-initiating WebTextView, leading to a crash. Fixing the
3288        former doesn't fix all cases of the latter, since dropping onto (e.g.) Safari's location field
3289        could cause a navigation during the drag. So these two issues needed to be fixed separately.
3290
3291        * WebView.subproj/WebTextView.m:
3292        (-[WebTextView dragSelectionWithEvent:offset:slideBack:]):
3293        Before drag, retain self, and tell WebView that the drag is self-initiated. After drag, do the
3294        opposite. This is the same approach as WebImageView, but it can all be contained in one method
3295        here due to NSTextView's dragging API, which wraps up some of the drag-machinery guts.
3296
32972005-09-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3298
3299        Reviewed and landed by Darin.
3300
3301        - fixed http://bugs.webkit.org/show_bug.cgi?id=5100
3302          -[WebTextRenderer _ATSU_drawRun:...] does not check view flippedness
3303
3304        * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
3305        Set up a the CGContext with a matrix that flips the text if the view is not flipped.
3306
33072005-09-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3308
3309        Reviewed, tweaked a tiny bit, and landed by Darin.
3310
3311        - fixed http://bugs.webkit.org/show_bug.cgi?id=4940
3312          CG and ATSUI give different width to the same text
3313
3314        * WebCoreSupport.subproj/WebTextRenderer.m:
3315        (overrideLayoutOperation): Added. ATSU callback to do the rounding.
3316        (-[WebTextRenderer _trapezoidForRun:style:atPoint:]): Use the new createATSULayoutParameters
3317        function instead of calling _createATSUTextLayoutForRun.
3318        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Use createATSULayoutParameters,
3319        and also compute the width in a way that works for any direction combination.
3320        (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): Use createATSULayoutParameters.
3321        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
3322        Use createATSULayoutParameters. Also put in code that seems to work around an ATSU bug.
3323        (createATSULayoutParameters): Added.
3324        (disposeATSULayoutParameters): Added.
3325
33262005-09-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3327
3328        Reviewed by Dave.
3329        Landed by Darin.
3330
3331        - fixed http://bugs.webkit.org/show_bug.cgi?id=4862
3332          Incorrect layout of bidi overrides
3333
3334        * WebCoreSupport.subproj/WebTextRenderer.m:
3335        (addDirectionalOverride): Renamed, and made it work in both directions.
3336        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Updated to call addDirectionalOverride.
3337        (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): More of the same.
3338        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]): Ditto.
3339
33402005-09-24  Alexey Proskuryakov  <ap@nypop.com>
3341
3342        Tweaked, reviewed, and landed by Darin.
3343
3344        - fixed http://bugs.webkit.org/show_bug.cgi?id=4394
3345          Mouse clicks ignored in inline input areas
3346
3347        * WebView.subproj/WebHTMLView.m:
3348        (-[NSArray mouseDown:]): Removed misleading comment and added code to send mouse event to input manager.
3349        (-[NSArray mouseDragged:]): Added code to send mouse event to input manager.
3350        (-[NSArray mouseUp:]): Ditto.
3351        (-[WebHTMLView _discardMarkedText]): Umnmark text before calling markedTextAbandoned: to match behavior
3352        of NSTextView (not sure why we did things in the opposite order before).
3353        (-[WebHTMLView _updateSelectionForInputManager]): Ditto.
3354
3355        - unrelated tweak
3356
3357        * WebView.subproj/WebView.m:
3358        (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
3359        Fix typecast that used ... for no good reason.
3360
33612005-09-23  Duncan Wilcox  <duncan@mclink.it>
3362
3363        Reviewed and landed by Darin.
3364
3365        - name changes to prepare for fixing bugzilla bug 4582
3366
3367        * WebView.subproj/WebHTMLView.m: Changed names to match WebCore changes.
3368
33692005-09-20  John Sullivan  <sullivan@apple.com>
3370
3371        Reviewed by Tim Omernick.
3372
3373        - fixed <rdar://problem/3228554> We should enforce one selection per WebView instead of per window
3374        
3375        Note that this checkin does not mean that we will always maintain a selection in a WebView when
3376        the focus is elsewhere. Instead it means that there should never be more than one frame containing
3377        a selection in a WebView, and that it's possible to maintain a selection in a WebView when the focus 
3378        is elsewhere.
3379
3380        * WebView.subproj/WebView.m:
3381        (-[WebView searchFor:direction:caseSensitive:wrap:]):
3382        removed unnecessary and somewhat confusing comment
3383        (-[WebView selectedFrame]):
3384        now calls the extracted method -_focusedFrame
3385        (-[WebView _focusedFrame]):
3386        new method, extracted from -selectedFrame; returns frame containing first responder, if any
3387        (-[WebView _findSelectedFrameStartingFromFrame:skippingFrame:]):
3388        added skippingFrame parameter, which is never returned
3389        (-[WebView _findSelectedFrameSkippingFrame:]):
3390        new method, starts from main frame and passes a frame to skip
3391        (-[WebView _findSelectedFrame]):
3392        now calls _findSelectedFrameSkippingFrame:nil
3393        (-[WebView _selectedFrameDidChange]):
3394        new method, called by WebDocumentText protocol implementors; calls -deselectAll on frame that
3395        formerly displayed a selection, if any
3396
3397        * WebView.subproj/WebViewInternal.h:
3398        added category WebDocumentSelectionExtras, with the one method _selectedFrameDidChange
3399
3400        * WebView.subproj/WebHTMLView.m:
3401        (-[WebHTMLView becomeFirstResponder]):
3402        call -[WebView _selectedFrameDidChange]
3403
3404        * WebView.subproj/WebPDFView.m:
3405        (-[WebPDFView becomeFirstResponder]):
3406        call -[WebView _selectedFrameDidChange]
3407        (-[WebPDFView resignFirstResponder]):
3408        deselect all unless webview says not to; note that this doesn't work in all cases due to:
3409        <rdar://problem/4265966> PDFs continue to show a (secondary) selection when the focus moves elsewhere        
3410
3411        * WebView.subproj/WebTextView.m:
3412        (-[WebTextView becomeFirstResponder]):
3413        call -[WebView _selectedFrameDidChange]
3414        (-[WebTextView resignFirstResponder]):
3415        deselect all unless webview says not to
3416
34172005-09-20  Eric Seidel  <eseidel@apple.com>
3418
3419        Reviewed by mjs.
3420
3421	Moved MIME type support from a hard coded list
3422        (in two places) to single lists in the corresponding
3423        *Representation classes.  Also moved the list of types
3424        supported by WebCore (WebHTMLRepresentation) into WebCore.
3425        http://bugs.webkit.org/show_bug.cgi?id=5037
3426
3427        * WebView.subproj/WebDataSource.m:
3428        (addTypesFromClass): new inline function
3429        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
3430        * WebView.subproj/WebFrameView.m:
3431        (addTypesFromClass): new inline function
3432        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
3433        * WebView.subproj/WebHTMLRepresentation.h:
3434        * WebView.subproj/WebHTMLRepresentation.m:
3435        (+[WebHTMLRepresentation supportedMIMETypes]):
3436        * WebView.subproj/WebHTMLView.m:
3437        (+[WebHTMLView supportedMIMETypes]):
3438        * WebView.subproj/WebHTMLViewPrivate.h:
3439        * WebView.subproj/WebImageRepresentation.h:
3440        * WebView.subproj/WebImageRepresentation.m:
3441        (+[WebImageRepresentation supportedMIMETypes]):
3442        * WebView.subproj/WebImageView.h:
3443        * WebView.subproj/WebImageView.m:
3444        (+[WebImageView supportedMIMETypes]):
3445        * WebView.subproj/WebPDFRepresentation.h:
3446        * WebView.subproj/WebPDFRepresentation.m:
3447        (+[WebPDFRepresentation supportedMIMETypes]):
3448        * WebView.subproj/WebPDFView.h:
3449        * WebView.subproj/WebPDFView.m:
3450        (+[WebPDFView supportedMIMETypes]):
3451        * WebView.subproj/WebTextRepresentation.h:
3452        * WebView.subproj/WebTextRepresentation.m:
3453        (+[WebTextRepresentation supportedMIMETypes]):
3454        * WebView.subproj/WebTextView.h:
3455        * WebView.subproj/WebTextView.m:
3456        (+[WebTextView supportedMIMETypes]):
3457        * WebView.subproj/WebView.m:
3458        (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
3459        (+[WebView MIMETypesShownAsHTML]): updated to match style
3460        (+[WebView setMIMETypesShownAsHTML:]): ditto
3461
34622005-09-16  John Sullivan  <sullivan@apple.com>
3463
3464        * WebView.subproj/WebImageView.m:
3465        (-[WebImageView copy:]):
3466        fixed build-breaking silly error in previous checkin
3467
34682005-09-16  John Sullivan  <sullivan@apple.com>
3469
3470        Reviewed by Tim Omernick
3471        
3472        - fixed <rdar://problem/4256557> CrashTracer: 238 crashes in Safari at 
3473        com.apple.AppKit: -[NSPasteboard setData:forType:] + 188
3474
3475        * WebView.subproj/WebImageView.m:
3476        (-[WebImageView copy:]):
3477        declare types to pasteboard before starting to set their data
3478        (-[WebImageView writeSelectionToPasteboard:types:]):
3479        ditto
3480
34812005-09-16  Adele Peterson  <adele@apple.com>
3482
3483        Rolling out the fix for http://bugs.webkit.org/show_bug.cgi?id=4924
3484            QPainter should use CGContext as much as possible rather than NSGraphicsContext 
3485        since it caused a performance regression.
3486
34872005-09-16  Adele Peterson  <adele@apple.com>
3488
3489        Change by Darin, reviewed by me and Maciej.
3490
3491        Fixes http://bugs.webkit.org/show_bug.cgi?id=4547
3492        use int instead of long for 32-bit (to prepare for LP64 compiling)
3493
3494        * Plugins.subproj/npapi.m: changed types to match those defined in npapi.h
3495        (NPN_MemAlloc):
3496        (NPN_MemFlush):
3497        (NPN_PostURLNotify):
3498        (NPN_PostURL):
3499        (NPN_Write):
3500
35012005-09-14  Justin Garcia  <justin.garcia@apple.com>
3502
3503        Reviewed by john
3504
3505        Fixes <rdar://problem/4237479> REGRESSION (Cambridge-Denver): old QuickTime movie continues to play sound after reload
3506        We were adding the movie to the document twice after the changes were added to handle fallback content.
3507        There are some errors for which we should not render fall back content
3508
3509        * Misc.subproj/WebKitErrorsPrivate.h:
3510        Introduced WebKitErrorPlugInWillHandleLoad to represent the cancel we do
3511        to prevent loading plugin content twice
3512        
3513        * Plugins.subproj/WebPluginDocumentView.m:
3514        (-[WebPluginDocumentView dataSourceUpdated:]): Ditto
3515        
3516        * WebView.subproj/WebDataSource.m:
3517        (-[WebDataSource _receivedMainResourceError:complete:]):
3518        Don't handleFallbackContent on WebKitErrorPlugInWillHandleLoad or on a user cancel
3519
35202005-09-14  Timothy Hatcher  <thatcher@apple.com>
3521
3522        Reviewed by Eric.
3523        
3524        * WebKit.xcodeproj/project.pbxproj:
3525        made WebDashboardRegion.h a private header
3526
35272005-09-14  Darin Adler  <darin@apple.com>
3528
3529        Reviewed by Maciej.
3530
3531        - fixed http://bugs.webkit.org/show_bug.cgi?id=4924
3532          QPainter should use CGContext as much as possible rather than NSGraphicsContext
3533
3534        * WebCoreSupport.subproj/WebImageRendererFactory.m: Remove setCGCompositeOperationFromString
3535        method, no longer needed.
3536
35372005-09-13  Tim Omernick  <tomernick@apple.com>
3538
3539        Reviewed by Justin Garcia, Darin Adler.
3540
3541	- <rdar://problem/3163393> Safari does not support Windowless mode in Flash
3542
3543        * Plugins.subproj/WebBaseNetscapePluginView.h:
3544	Added 'isTransparent' instance variable.
3545
3546        * Plugins.subproj/WebBaseNetscapePluginView.m:	
3547        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
3548	When updating a plugin in "windowless" (transparent) mode, clip drawing to the dirty
3549	region of the opaque ancestor.  This means that a partially-transparent plugin, which
3550	by definition does not clear its port on redraw, will not overdraw the valid parts
3551	of its port.
3552        (-[WebBaseNetscapePluginView sendEvent:]):
3553	Disabled the "green debug background" for transparent plugins -- since they are not
3554	expected to cover their entire port every redraw, this debug code makes no sense.
3555        (-[WebBaseNetscapePluginView setVariable:value:]):
3556	Implemented -setVariable:value:, which is called from NPN_SetValue() (previously
3557	unimplemented).
3558	Right now we only handle NPPVpluginTransparentBool; if we choose to handle the other
3559	plugin variables, then we may do so here.
3560        * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
3561	Added SPI for -[WebBaseNetscapePluginView setVariable:value].
3562        * Plugins.subproj/npapi.m:
3563        (NPN_SetValue):
3564	Implemented this function so that plugins may set state (such as window mode).
3565	
35662005-09-11  Mark Rowe  <opendarwin.org@bdash.net.nz>
3567
3568        Reviewed, tweaked, and landed by Darin.
3569
3570        - fixed http://bugs.webkit.org/show_bug.cgi?id=4286
3571          .Mac prefpane crashes when Safari using CVS WebKit is running
3572
3573        * WebView.subproj/WebView.m: (-[WebView initWithFrame:frameName:groupName:]):
3574        If ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH, and WEBKIT_UNSET_DYLD_FRAMEWORK_PATH
3575        is set in the environment, then unset DYLD_FRAMEWORK_PATH.
3576
3577        * WebKit.xcodeproj/project.pbxproj: Set ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH
3578        in configurations other than Default -- we don't want that code in production
3579        builds, but we want it in builds we do ourselves and nightly builds.
3580
35812005-09-10  Ingmar J Stein  <IngmarStein@gmail.com>
3582
3583        Reviewed and landed by Darin.
3584
3585        * WebCoreSupport.subproj/WebImageRenderer.m:
3586        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
3587        Removed unused local variable.
3588
35892005-09-09  Tim Omernick  <tomernick@apple.com>
3590
3591        Reviewed by John Sullivan.
3592
3593        * History.subproj/WebBackForwardList.m:
3594        (-[WebBackForwardList removeItem:]):
3595	SPI to remove a given WebHistoryItem.
3596
3597        * History.subproj/WebBackForwardListPrivate.h: Added.
3598
3599        * WebKit.xcodeproj/project.pbxproj:
3600	Added WebBackForwardListPrivate.h as a private header.
3601
36022005-09-09  John Sullivan  <sullivan@apple.com>
3603
3604        Reviewed by Tim Omernick.
3605        
3606        fixed http://bugs.webkit.org/show_bug.cgi?id=4070:
3607        Find in plain text won't find only occurrence if it overlaps selection
3608
3609        * Misc.subproj/WebSearchableTextView.m:
3610        (-[NSString findString:selectedRange:options:wrap:]):
3611        in the wrap case, extend the search range far enough that text overlapping the
3612        selection (including the exact-match case) will be considered.
3613
36142005-09-08  Justin Garcia  <justin.garcia@apple.com>
3615
3616        Reviewed by darin
3617        
3618        WebKit portion of multipart/x-mixed-replace support
3619
3620        * WebCoreSupport.subproj/WebSubresourceLoader.m:
3621        (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
3622        Subresource case: Check for Foundation level multipart support
3623        (-[WebSubresourceLoader didReceiveResponse:]): 
3624        Send previously received data in a multipart section to the coreLoader
3625        (-[WebSubresourceLoader didReceiveData:lengthReceived:]): 
3626        Don't send data to the coreLoader until it has been completely received
3627        * WebView.subproj/WebDataSource.m:
3628        (-[WebDataSource _startLoading:]): 
3629        Main resource case: check for Foundation level multipart support 
3630        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
3631        Some server apps send data right after declaring content multipart/x-mixed-replace, and expect it to be treated as html
3632        (-[WebDataSource _commitIfReady:]):
3633        Don't ask the WebFrame to close its old WebDataSource when loading a multipart section, because we're going to reuse it
3634        (-[WebDataSource _receivedData:]):
3635        For non text/html multipart sections, we commit the data all at once, at the end
3636        (-[WebDataSource _doesProgressiveLoadWithMIMEType:]):
3637        Added heuristic for when to commit the load incrementally
3638        (-[WebDataSource _commitLoadWithData:]):
3639        Moved from _receivedData into its own function
3640        (-[WebDataSource _revertToProvisionalState]):
3641        (-[WebDataSource _setupForReplaceByMIMEType:]):
3642        Commits the data received for the previous multipart section if it wasn't loaded progresively, clears out the WebFrame and WebDatasource for the next multipart section
3643        * WebView.subproj/WebDataSourcePrivate.h:
3644        * WebView.subproj/WebFrame.m:
3645        (-[WebFrame _transitionToCommitted:]): 
3646        The very first multipart section is treated as a normal load, so that the back/forward list and history are updated.
3647        All later sections have a new load type, WebFrameLoadTypeReplace, and are treated like reloads
3648        (-[WebFrame _checkLoadCompleteForThisFrame]): Ditto
3649        (-[WebFrame _itemForRestoringDocState]): Ditto
3650        (-[WebFrame _setupForReplace]):
3651        Clears out the WebFrame for the next multipart section
3652        * WebView.subproj/WebFrameInternal.h:
3653        * WebView.subproj/WebFramePrivate.h:
3654        * WebView.subproj/WebFrameView.m:
3655        (+[WebFrameView _viewTypesAllowImageTypeOmission:]): See above
3656        * WebView.subproj/WebLoader.h:
3657        * WebView.subproj/WebLoader.m:
3658        (-[NSURLProtocol clearResourceData]):
3659        (-[NSURLProtocol setSupportsMultipartContent:]):
3660        * WebView.subproj/WebMainResourceLoader.m: Straightforward
3661        (-[WebMainResourceLoader didReceiveResponse:]):
3662
36632005-09-06  Geoffrey Garen  <ggaren@apple.com>
3664
3665        - fixed build bustage from last checkin.
3666        
3667        Reviewed by haytt.
3668
3669        * History.subproj/WebBackForwardList.m:
3670        (-[WebBackForwardList pageCacheSize]): updated debug printf since we no
3671        longer have a variable called 'multiplier'
3672
36732005-09-06  David Hyatt  <hyatt@apple.com>
3674
3675	Reduce the # of cached pages for a back/forward list.  The old cache would cache the
3676	following per tab:
3677	> 1gb memory = 16 pages per tab/window
3678	> 512mb memory = 8 pages per tab/window
3679	<= 512mb memory = 4 pages per tab/window
3680
3681	This consumes far too much memory and is way too aggressive.  The new cache sizes are
3682	as follows:
3683	>= 1gb memory = 3 pages per tab/window
3684	>= 512mb memory = 2 pages per tab/window
3685	< 512mb memory = 1 page per tab/window
3686
3687        Reviewed by john
3688
3689        * History.subproj/WebBackForwardList.m:
3690        (-[WebBackForwardList pageCacheSize]):
3691        * WebView.subproj/WebPreferences.m:
3692        (+[WebPreferences initialize]):
3693
36942005-09-05  Darin Adler  <darin@apple.com>
3695
3696        Reviewed by John Sullivan.
3697
3698        - fixed http://bugs.webkit.org/show_bug.cgi?id=4846
3699          REGRESSION: Carbon WebKit applications don't work at all
3700
3701        * Carbon.subproj/HIWebView.m: Remove lots of unneeded declarations of private stuff.
3702        (Draw): Call WKNSWindowOverrideCGContext and WKNSWindowRestoreCGContext rather
3703        than calling a non-existent setCGContext: method on the context.
3704
37052005-09-05  John Sullivan  <sullivan@apple.com>
3706
3707        Reviewed by Dave Hyatt.
3708        
3709        - change related to <rdar://problem/4211999> Safari quits when click-drag-hold an image 
3710        that is set to automatically change.
3711
3712        * WebView.subproj/WebHTMLView.m:
3713        (-[NSArray namesOfPromisedFilesDroppedAtDestination:]):
3714        handle nil wrapper with ERROR and early return rather than ASSERT, since we now know
3715        of a way to reproduce this (written up as 4244861)
3716
37172005-09-05  Darin Adler  <darin@apple.com>
3718
3719        Reviewed by John Sullivan.
3720
3721        - fixed http://bugs.webkit.org/show_bug.cgi?id=4357
3722          crash related to animated GIFs, reproducible in non-Safari WebKit application
3723
3724        * WebCoreSupport.subproj/WebImageData.m:
3725        (removeAnimatingRendererFromView): Added.
3726        (removeFromDictionary): Added.
3727        (-[WebImageData removeAnimatingRenderer:]): Rewrote using CF functions rather than
3728        NS functions so that we never retain the views, since this can be called from
3729        a view's dealloc method.
3730        (setNeedsDisplayInAnimationRect): Added.
3731        (-[WebImageData _nextFrame:]): Rewrote as above, even though in this case it can't
3732        be called from the dealloc method.
3733
37342005-08-26  David Hyatt  <hyatt@apple.com>
3735
3736	Add support for a new scaling and tiling function so that border images from CSS3
3737	can be implemented.
3738	
3739        Reviewed by darin
3740
3741        * WebCoreSupport.subproj/WebImageData.h:
3742        * WebCoreSupport.subproj/WebImageData.m:
3743        (-[WebImageData scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]):
3744        * WebCoreSupport.subproj/WebImageRenderer.m:
3745        (-[WebImageRenderer scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]):
3746        (-[WebImageRenderer setAnimationRect:]):
3747        * WebView.subproj/WebHTMLView.m:
3748        (-[WebHTMLView updateFocusState]):
3749
37502005-08-26  Adele Peterson  <adele@apple.com>
3751
3752        Reviewed by Beth.
3753
3754        * WebKit.xcodeproj/project.pbxproj: Changed WebKit.Framework to WebKit.framework in UMBRELLA_FRAMEWORK.
3755
37562005-08-25  David Harrison  <harrison@apple.com>
3757
3758        Reviewed by Maciej.
3759
3760        <rdar://problem/4227734> Denver Regression: WebCore selection bug on lines starting with tab (clownfish)
3761
3762        The text is in a DIV styled with "white-space:pre", and uses newline characters as linebreaks.
3763        WebKit's text renderer is erroneously considering the width of the lines leading up to the tab
3764        character when calculating the width of the tab.
3765        Easily fixed by having widthForNextCharacter ignore the widthToStart when working with tabWidth.
3766        Any prior text that fits in the same line is already factored into the xpos, which is paid attention to.
3767
3768        * WebCoreSupport.subproj/WebTextRenderer.m:
3769        (widthForNextCharacter):
3770        Ignore the widthToStart when working with tabWidth.
3771
37722005-08-23  John Sullivan  <sullivan@apple.com>
3773
3774        Reviewed by Beth Dakin.
3775        
3776        - fixed <rdar://problem/4229167> 14 leaks of WebFileButton and associated objects, 
3777        seen after running webkit layout tests
3778
3779        * WebCoreSupport.subproj/WebBridge.m:
3780        (-[WebBridge fileButtonWithDelegate:]):
3781        this method was returning a retained object; I added an autorelease
3782
37832005-08-23  Darin Adler  <darin@apple.com>
3784
3785        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
3786
37872005-08-23  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3788
3789        Reviewed and landed by Darin.
3790
3791        - fixed http://bugs.webkit.org/show_bug.cgi?id=4604
3792          LEAK -[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:] leaks an ATSUTextLayout
3793          <rdar://problem/4228787> ATSUTextLayout leak in _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs: (4604)
3794
3795        * WebCoreSupport.subproj/WebTextRenderer.m:
3796        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
3797        Added missing call to ATSUDisposeTextLayout.
3798
37992005-08-22  Geoffrey Garen  <ggaren@apple.com>
3800
3801        - fixed <rdar://problem/4227011> Debugger SPI should be removed from WebView.h API
3802        
3803        Reviewed by mjs and adele.
3804
3805        Cut and pasted debugging SPI from WebView to WebView(WebPendingPublic)
3806        
3807        * WebView.subproj/WebView.h:
3808        * WebView.subproj/WebView.m:
3809        (-[WebView setScriptDebugDelegate:]):
3810        (-[WebView scriptDebugDelegate]):
3811        * WebView.subproj/WebViewPrivate.h:
3812
38132005-08-20  John Sullivan  <sullivan@apple.com>
3814
3815        Reviewed by Darin Adler.
3816        
3817        - WebKit part of fix for 
3818        <rdar://problem/3977607> ER: Safari should check framework versions at launch
3819
3820        * WebView.subproj/WebViewPrivate.h:
3821        * WebView.subproj/WebView.m:
3822        (+[WebView _minimumRequiredSafariBuildNumber]):
3823        new method, returns the minimum build number of Safari that this WebKit is
3824        willing to work with. (The Safari version has to be new enough to check
3825        for this value in order for this to have any effect.)
3826
38272005-08-19  Justin Garcia  <justin.garcia@apple.com>
3828
3829        Reviewed by rjw
3830        
3831        The boolean justOpenedForTargetedLink is never used to determine a course of action.  
3832        It was added long ago for findOrCreateFramedNamed, which has since been removed.
3833
3834        * WebView.subproj/WebDataSource.m:
3835        * WebView.subproj/WebDataSourcePrivate.h:
3836        * WebView.subproj/WebFrame.m:
3837        (-[WebFrame _loadDataSource:withLoadType:formState:]):
3838        * WebView.subproj/WebFramePrivate.h:
3839
38402005-08-19  Darin Adler  <darin@apple.com>
3841
3842        Reviewed by John.
3843
3844        * English.lproj/Localizable.strings: Updated to include a new localizable string
3845        that was added a long while back. Apprently no one has run into the code using
3846        this string, because if they had, they'd have seen an assert.
3847        * English.lproj/StringsNotToBeLocalized.txt: Updated for various recent changes.
3848
38492005-08-17  Maciej Stachowiak  <mjs@apple.com>
3850
3851        Reviewed by Darin.
3852
3853	- fix mysterious CGImageSource error message and possibly crash on layout tests.
3854
3855        * WebView.subproj/WebMainResourceLoader.m:
3856        (-[WebMainResourceLoader receivedError:]): Retain the data source since it may
3857	prematurely self-destruct otherwise.
3858        (-[WebMainResourceLoader cancelWithError:]): ditto
3859
38602005-08-17  Justin Garcia  <justin.garcia@apple.com>
3861
3862        Reviewed by rjw
3863        
3864        Addresses <rdar://problem/4192534> new frame load delegate SPI needed for Dashboard
3865            Added handledOnloadEvents delegate method (private for now)
3866
3867        * WebCoreSupport.subproj/WebBridge.m:
3868        (-[WebBridge handledOnloadEvents]):
3869        * WebView.subproj/WebDefaultFrameLoadDelegate.m:
3870        (-[WebDefaultFrameLoadDelegate webView:didHandleOnloadEventsForFrame:]):
3871        * WebView.subproj/WebFrame.m:
3872        (-[WebFrame _handledOnloadEvents]):
3873        * WebView.subproj/WebFramePrivate.h:
3874        * WebView.subproj/WebViewPrivate.h:
3875
38762005-08-17  John Sullivan  <sullivan@apple.com>
3877
3878        Reviewed by Geoff Garen.
3879        
3880        - fixed <rdar://problem/4219817> Particular icon database + bookmarks + history crashes Safari on launch
3881
3882        * Misc.subproj/WebIconDatabase.m:
3883        (-[WebIconDatabase releaseIconForURL:]):
3884        Move line that might remove last reference to iconURL to the end of the block.
3885
38862005-08-16  Darin Adler  <darin@apple.com>
3887
3888        Reviewed by Trey.
3889
3890	- improved fix for <rdar://problem/4211631>, tiled images tiled incorrectly when printing or 
3891	  drawing offscreen
3892
3893        * WebCoreSupport.subproj/WebImageData.m: (-[WebImageData tileInRect:fromPoint:context:]):
3894        Fix pattern phase origin to use the image tile origin, which is clearly right, rather than
3895        the image rectangle, which isn't right, but often is the same.
3896
38972005-08-16  Adele Peterson  <adele@apple.com>
3898
3899        Reviewed by John.
3900
3901        - fixed <rdar://problem/4210320> URL tooltips should display a URL for elements that submit forms
3902
3903        When the setShowsURLsInToolTips preference is set, we will display a tooltip containing 
3904        the form's url when you mouse over a submit button.
3905
3906        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _updateMouseoverWithEvent:]):
3907
39082005-08-16  Darin Adler  <darin@apple.com>
3909
3910        Reviewed by Beth Dakin.
3911
3912        - removed Panther-only code that was not being compiled and was
3913          simply "bit-rotting"
3914
3915        * Misc.subproj/WebFileDatabase.m:
3916        (-[WebFileDatabase _createLRUList:]):
3917        (+[WebFileDatabase _syncLoop:]):
3918        * Misc.subproj/WebKitErrors.m:
3919        (registerErrors):
3920        * Misc.subproj/WebNSObjectExtras.h:
3921        (WebCFAutorelease):
3922        * Misc.subproj/WebNSPasteboardExtras.m:
3923        (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
3924        * WebCoreSupport.subproj/WebImageData.h:
3925        * WebCoreSupport.subproj/WebImageDecodeItem.h:
3926        * WebCoreSupport.subproj/WebImageDecodeItem.m:
3927        * WebCoreSupport.subproj/WebImageDecoder.h:
3928        * WebCoreSupport.subproj/WebImageDecoder.m:
3929        (decoderThread):
3930        (startDecoderThread):
3931        * WebCoreSupport.subproj/WebKeyGeneration.cpp: Removed.
3932        * WebCoreSupport.subproj/WebKeyGeneration.h: Removed.
3933        * WebCoreSupport.subproj/WebKeyGenerator.h:
3934        * WebCoreSupport.subproj/WebTextRenderer.m:
3935        (getUncachedWidth):
3936        (_drawGlyphs):
3937        * WebCoreSupport.subproj/WebViewFactory.m:
3938        (-[WebViewFactory getBytes:fromTextMarker:length:]):
3939        * WebKit.xcodeproj/project.pbxproj:
3940        * WebKitPrefix.h:
3941        * WebView.subproj/WebDataSource.m:
3942        (-[WebDataSource _setPrimaryLoadComplete:]):
3943        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
3944        (-[WebDataSource isLoading]):
3945        * WebView.subproj/WebDefaultContextMenuDelegate.m:
3946        (localizedMenuTitleFromAppKit):
3947        (-[WebDefaultUIDelegate menuItemWithTag:]):
3948        (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
3949        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
3950        * WebView.subproj/WebFormDataStream.m:
3951        (formCanRead):
3952        (webSetHTTPBody):
3953        * WebView.subproj/WebFrameView.m:
3954        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
3955        * WebView.subproj/WebHTMLView.m:
3956        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]):
3957        (-[WebHTMLView resourceForData:preferredFilename:]):
3958        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
3959        (-[WebHTMLView validateUserInterfaceItem:]):
3960        (-[WebHTMLView _attributeStringFromDOMRange:]):
3961        (-[WebHTMLView toggleBaseWritingDirection:]):
3962        (-[WebHTMLView changeBaseWritingDirection:]):
3963        * WebView.subproj/WebPDFRepresentation.h:
3964        * WebView.subproj/WebPDFRepresentation.m:
3965        * WebView.subproj/WebPDFView.h:
3966        * WebView.subproj/WebPDFView.m:
3967        * WebView.subproj/WebPreferences.m:
3968        (+[WebPreferences _systemCFStringEncoding]):
3969        * WebView.subproj/WebView.m:
3970        (-[WebView _commonInitializationWithFrameName:groupName:]):
3971
39722005-08-16  Darin Adler  <darin@apple.com>
3973
3974        Reviewed by Beth Dakin.
3975
3976        - removed some unnecessary code
3977
3978        * WebCoreSupport.subproj/WebGraphicsBridge.h: Removed pattern-phase related field and methods.
3979        * WebCoreSupport.subproj/WebGraphicsBridge.m: Ditto.
3980
3981        * WebCoreSupport.subproj/WebImageData.m: Tweaked formatting and removed some unused code
3982        inside #if and comments.
3983
3984        * WebCoreSupport.subproj/WebImageRenderer.h: Removed USE_CGIMAGEREF (which is always true now).
3985        * WebCoreSupport.subproj/WebImageRenderer.m: Removed old non-CGImageRef code.
3986
3987        * WebCoreSupport.subproj/WebImageRendererFactory.m:
3988        (-[WebImageRendererFactory imageRendererWithMIMEType:]): Removed non-USE_CGIMAGEREF code.
3989        (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): Ditto.
3990        (-[WebImageRendererFactory imageRendererWithSize:]): Ditto.
3991        (-[WebImageRendererFactory imageRendererWithName:]): Ditto.
3992
39932005-08-15  Darin Adler  <darin@apple.com>
3994	
3995        Reviewed by Beth.
3996
3997	This is a fix for <rdar://problem/4211631> tiled images tiled incorrectly when printing or 
3998	drawing offscreen.
3999
4000	Cayenne found there was a problem when they were trying to take screen shots of widgets, and
4001	it was ultimately a problem with the way we tile images. Darin was able to fix the problem
4002	by replacing some confusing hacked code with CG calls.
4003
4004        * WebCoreSupport.subproj/WebImageData.m:
4005        (-[WebImageData tileInRect:fromPoint:context:]):
4006        * WebCoreSupport.subproj/WebImageRenderer.m:
4007        (-[WebInternalImage tileInRect:fromPoint:context:]):
4008        * WebCoreSupport.subproj/WebTextRenderer.m:
4009        (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
4010
40112005-08-14  Maciej Stachowiak  <mjs@apple.com>
4012
4013        Reviewed by Darin.
4014
4015	- 1% speedup on HTML load speed iBench by avoiding icon database thrash
4016	http://bugs.webkit.org/show_bug.cgi?id=4423
4017	
4018        * Misc.subproj/WebIconDatabase.m:
4019        (-[WebIconDatabase _setIconURL:forURL:]): Be more aggressive about returning early, because
4020	updating the database does some expensive data structure copies.
4021	
4022
40232005-08-14  Duncan Wilcox  <duncan@mclink.it>
4024
4025        Reviewed and landed by Darin.
4026
4027        WebKit part of fix for <http://bugs.webkit.org/show_bug.cgi?id=4011>:
4028        "Editing delegate selection methods not called when using mouse"
4029
4030        Clicking on editable content would move the cursor or alter the selection without
4031        calling the appropriate editing delegate method
4032        (webView:shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:). The
4033        core of the patch is in the KHTMLPart::handleMousePressEvent* methods, the rest
4034        is glue needed to drill through all the layers.
4035
4036        * WebCoreSupport.subproj/WebBridge.m:
4037        (-[WebBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
4038        Bridge glue.
4039
4040        * WebView.subproj/WebView.m:
4041        (-[WebView(WebViewEditingExtras) _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
4042        Final step in glue, calling editing delegate.
4043
4044        * WebView.subproj/WebViewInternal.h:
4045        Added _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting: private method to WebViewEditingExtras
4046        category.
4047
40482005-08-11  Beth Dakin  <bdakin@apple.com>
4049
4050        Reviewed by Vicki
4051
4052	This is a fix for <rdar://problem/4141161> REGRESSION (Tiger): WebKit does not display in composited Carbon windows.
4053	I basically did what Troy suggests in his bug comments, and everything seems to work fine!
4054
4055        * Carbon.subproj/HIViewAdapter.m:
4056        (-[HIViewAdapter setNeedsDisplayInRect:]):
4057
40582005-08-10  Adele Peterson  <adele@apple.com>
4059
4060        Bumping version to 420+
4061
4062        * Info.plist:
4063
40642005-08-08  Darin Adler  <darin@apple.com>
4065
4066        Reviewed by John Sullivan.
4067
4068        - fixed <rdar://problem/3996324> REGRESSION (1.2-2.0): scroll bars sometimes not updated properly (with >40 duplicate reports!)
4069          also http://bugs.webkit.org/show_bug.cgi?id=3416
4070
4071        * WebView.subproj/WebHTMLView.m:
4072        (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
4073        Propagate dirty rects after doing a layout, since a layout can create new dirty rects.
4074
40752005-08-05  Adele Peterson  <adele@apple.com>
4076
4077        Reviewed by Darin.
4078
4079        * WebKit.xcodeproj/project.pbxproj: Unchecked 'statics are thread safe' option.
4080
40812005-08-04  Justin Garcia  <justin.garcia@apple.com>
4082
4083        Reviewed by darin
4084        
4085        Fix for:
4086        <rdar://problem/3167884> Shockwave: 3D sprites rendered in OpenGL draw over the browser (3447)
4087        also as <http://bugs.webkit.org/show_bug.cgi?id=3447>
4088        
4089        The WindowRef created by -[NSWindow windowRef] has a QuickDraw GrafPort that covers 
4090        the entire window frame (or structure region in Carbon parlance) rather then just the window content.
4091        
4092        We filed this as an NSWindow bug <rdar://problem/4201099>
4093
4094        To work around, we modify the CGrafPort to only cover the content area before we let the plug-in draw.
4095
4096        * Plugins.subproj/WebBaseNetscapePluginView.m:
4097        (-[WebBaseNetscapePluginView fixWindowPort]):
4098        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
4099
41002005-08-03  John Sullivan  <sullivan@apple.com>
4101
4102        Reviewed by Geoff Garen.
4103        
4104        - fixed <rdar://problem/3918675> Remove code to replace authentication dialog 
4105        with a subclass when out of localization freeze
4106
4107        * Panels.subproj/WebAuthenticationPanel.h:
4108        moved declaration of NonBlockingPanel here so it can be accessed by the nib
4109        * Panels.subproj/WebAuthenticationPanel.m:
4110        (-[WebAuthenticationPanel replacePanelWithSubclassHack]):
4111        removed this method
4112        (-[WebAuthenticationPanel loadNib]):
4113        stop calling the removed method
4114
4115        * Panels.subproj/English.lproj/WebAuthenticationPanel.nib/classes.nib:
4116        * Panels.subproj/English.lproj/WebAuthenticationPanel.nib/info.nib:
4117        * Panels.subproj/English.lproj/WebAuthenticationPanel.nib/objects.nib:
4118        the panel in the nib now has custom class NonBlockingPanel
4119
41202005-08-03  Beth Dakin  <bdakin@apple.com>
4121
4122        Reviewed by cblu
4123
4124	Removing calls to WKCreateUncorrectedRGBColorSpace and
4125        WKCreateUncorrectedGrayColorSpace in WebKit to patch up
4126	TOT...Eric removed them from WebCore last night.
4127
4128        * WebCoreSupport.subproj/WebImageData.m:
4129        * WebCoreSupport.subproj/WebImageRenderer.m:
4130        (WebCGColorSpaceCreateRGB):
4131        (WebCGColorSpaceCreateGray):
4132
41332005-08-02  John Sullivan  <sullivan@apple.com>
4134
4135        Reviewed by Darin Adler.
4136        
4137        Preemptively moved some WebMenuItemTag values from SPI to API, in anticipation of
4138        approval from macosx-api-reviewers. Retitled one of them in response to API reviewers feedback:
4139        WebMenuItemSearchInGoogle -> WebMenuItemSearchWeb
4140        
4141        Note that as a side effect of this change, the actual numbers used for these WebMenuItemTags has
4142        changed from what it was in Tiger. This causes "Search in Spotlight", "Search in Google", and
4143        "Look Up in Dictionary" to not appear in Tiger Safari if running on tip of tree WebKit.
4144
4145        * WebView.subproj/WebUIDelegatePrivate.h:
4146        removed WebMenuItemTagSearchInSpotlight, WebMenuItemTagSearchInGoogle, and WebMenuItemTagLookUpInDictionary
4147
4148        * WebView.subproj/WebUIDelegate.h:
4149        added WebMenuItemTagSearchInSpotlight, WebMenuItemTagSearchWeb, and WebMenuItemTagLookUpInDictionary
4150
4151        * WebView.subproj/WebDefaultContextMenuDelegate.m:
4152        (-[WebDefaultUIDelegate menuItemWithTag:]):
4153        updated for rename
4154        (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
4155        ditto
4156        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
4157        ditto
4158        
41592005-08-01  Geoffrey Garen  <ggaren@apple.com>
4160
4161        -fixed <rdar://problem/3572585> window.open fails if name param = 
4162        the name of a window just closed in same function
4163
4164        Reviewed by darin.
4165
4166        Test cases added:
4167
4168        * manual-tests/open-after-close.html: Added.
4169        * manual-tests/resources/open-after-close-popup.html: Added.
4170
4171        * WebCoreSupport.subproj/WebBridge.m:
4172        (-[WebBridge closeWindowSoon]): We now remove a WebView from 
4173        WebViewSets when the WebView is *scheduled* to close.
4174
41752005-08-01  John Sullivan  <sullivan@apple.com>
4176
4177        * PublicHeaderChangesFromTiger.txt:
4178        added a comment about isTextField -> _isTextField
4179
41802005-08-01  John Sullivan  <sullivan@apple.com>
4181
4182        Patch by Trey Matteson <trey@usa.net>
4183        Reviewed by me.
4184
4185        Fixed http://bugs.webkit.org/show_bug.cgi?id=4255
4186          underlines still print too thick
4187
4188        The real problem here is that we have code that scales a 0 width line to always
4189        be width=1.0 in device space.  I'm leaving that in for the screen, but when printing
4190        a width of 0.5 looks good.
4191
4192        * WebCoreSupport.subproj/WebTextRenderer.m:
4193        (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
4194
41952005-08-01  Eric Seidel  <eseidel@apple.com>
4196
4197        Reviewed by darin.
4198
4199        * WebCoreSupport.subproj/WebGraphicsBridge.m:
4200        removed create*ColorSpace methods, now using CG API directly.
4201        http://bugs.webkit.org/show_bug.cgi?id=4211
4202
42032005-07-31  John Sullivan  <sullivan@apple.com>
4204
4205        Patch by Trey Matteson <trey@usa.net>
4206        Reviewed by me.
4207
4208        Fixed http://bugs.webkit.org/show_bug.cgi?id=4014
4209          PDF files by default load with a poor choice of sizing
4210
4211        For now the various PDF viewing settings are sticky, stored in 2 new defaults.  Since
4212        there are a number of ways these settings are changed, I made a proxy for the PDFView
4213        through which all view changing messages are sent.  The proxy adds the behavior of
4214        updating the defaults upon any change.
4215
4216        * Misc.subproj/WebNSDictionaryExtras.h:
4217        * Misc.subproj/WebNSDictionaryExtras.m:
4218        (-[NSMutableDictionary _webkit_setFloat:forKey:]):  New support method.
4219        * WebView.subproj/WebPDFView.h:
4220        * WebView.subproj/WebPDFView.m:
4221        (-[WebPDFView initWithFrame:]):  Create proxy for PDFView.
4222        (-[WebPDFView dealloc]):  Free proxy.
4223        (-[WebPDFView _menuItemsFromPDFKitForEvent:]):  For relevant context menu items, set the
4224            target to the proxy instead of the PDFView.
4225        (-[WebPDFView _readPDFDefaults]):  Init PDFView with settings from defaults.
4226        (-[WebPDFView layout]):  Call _readPDFDefaults, once.  This turned out to be the best hook.
4227        (-[WebPDFView _makeTextSmaller:]):  Change PDFView via proxy
4228        (-[WebPDFView _makeTextLarger:]):  Ditto
4229        (-[WebPDFView _makeTextStandardSize:]):  Ditto
4230        (-[PDFPrefUpdatingProxy initWithView:]):  trivial
4231        (-[PDFPrefUpdatingProxy forwardInvocation:]):  Forward the msg, then update defaults
4232        (-[PDFPrefUpdatingProxy methodSignatureForSelector:]):  Simple forwarding support.
4233        * WebView.subproj/WebPreferenceKeysPrivate.h:
4234        * WebView.subproj/WebPreferences.m:
4235        (+[WebPreferences initialize]):  Set initial values for new PDF viewing defaults.
4236        (-[WebPreferences _integerValueForKey:]):  Nuke stray comment.
4237        (-[WebPreferences _floatValueForKey:]):  New simple support method.
4238        (-[WebPreferences _setFloatValue:forKey:]):  Ditto.
4239        (-[WebPreferences PDFScaleFactor]):  4 accessors for new defaults 
4240        (-[WebPreferences setPDFScaleFactor:]):
4241        (-[WebPreferences PDFDisplayMode]):
4242        (-[WebPreferences setPDFDisplayMode:]):
4243        * WebView.subproj/WebPreferencesPrivate.h:
4244
42452005-08-01  Justin Garcia  <justin.garcia@apple.com>
4246
4247        Patch by Trey Matteson <trey@usa.net>
4248
4249        Reviewed by Maciej.
4250
4251        Fixed <http://bugs.webkit.org/show_bug.cgi?id=4226>
4252          link underlines print too thickly
4253
4254        Reinstate the fix made by sullivan on 1/11/05.  There was a merge
4255        error with an mjs fix on 1/13/05.
4256
4257        * WebCoreSupport.subproj/WebTextRenderer.m:
4258        (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
4259
42602005-07-30  Maciej Stachowiak  <mjs@apple.com>
4261
4262        Build fixes for previous change (missing includes)
4263
4264        * WebView.subproj/WebFrame.m:
4265        * WebView.subproj/WebScriptDebugDelegate.m:
4266
42672005-07-29  Maciej Stachowiak  <mjs@apple.com>
4268
4269        Changes by Michael Kahl, reviewed by me.
4270
4271	- fixed <rdar://problem/4164112> MASTER: JavaScript debugging support
4272	
4273        * WebCoreSupport.subproj/WebBridge.m:
4274        (-[WebBridge windowObjectCleared]):
4275        * WebCoreSupport.subproj/WebSubresourceLoader.m:
4276        * WebKit.xcodeproj/project.pbxproj:
4277        * WebView.subproj/WebDefaultScriptDebugDelegate.h: Added.
4278        * WebView.subproj/WebDefaultScriptDebugDelegate.m: Added.
4279        (+[WebDefaultScriptDebugDelegate sharedScriptDebugDelegate]):
4280        (-[WebDefaultScriptDebugDelegate webView:didParseSource:fromURL:sourceId:forWebFrame:]):
4281        (-[WebDefaultScriptDebugDelegate webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
4282        (-[WebDefaultScriptDebugDelegate webView:willExecuteStatement:sourceId:line:forWebFrame:]):
4283        (-[WebDefaultScriptDebugDelegate webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
4284        * WebView.subproj/WebFrame.m:
4285        (-[WebFramePrivate dealloc]):
4286        (-[WebFrame _attachScriptDebugger]):
4287        * WebView.subproj/WebFramePrivate.h:
4288        * WebView.subproj/WebScriptDebugDelegate.h: Added.
4289        * WebView.subproj/WebScriptDebugDelegate.m: Added.
4290        (-[WebScriptDebugger initWithWebFrame:]):
4291        (-[WebScriptDebugger dealloc]):
4292        (-[WebScriptDebugger globalObject]):
4293        (-[WebScriptDebugger newWrapperForFrame:]):
4294        (-[WebScriptDebugger parsedSource:fromURL:sourceId:]):
4295        (-[WebScriptDebugger enteredFrame:sourceId:line:]):
4296        (-[WebScriptDebugger hitStatement:sourceId:line:]):
4297        (-[WebScriptDebugger leavingFrame:sourceId:line:]):
4298        (-[WebScriptCallFrame _initWithFrame:]):
4299        (-[WebScriptCallFrame dealloc]):
4300        (-[WebScriptCallFrame setUserInfo:]):
4301        (-[WebScriptCallFrame userInfo]):
4302        (-[WebScriptCallFrame caller]):
4303        (-[WebScriptCallFrame scopeChain]):
4304        (-[WebScriptCallFrame functionName]):
4305        (-[WebScriptCallFrame exception]):
4306        (-[WebScriptCallFrame evaluateWebScript:]):
4307        * WebView.subproj/WebScriptDebugDelegatePrivate.h: Added.
4308        * WebView.subproj/WebView.h:
4309        * WebView.subproj/WebView.m:
4310        (-[WebViewPrivate dealloc]):
4311        (-[WebView _scriptDebugDelegateForwarder]):
4312        (-[WebView setScriptDebugDelegate:]):
4313        (-[WebView scriptDebugDelegate]):
4314        * WebView.subproj/WebViewInternal.h:
4315        * WebView.subproj/WebViewPrivate.h:
4316
43172005-07-26  Maciej Stachowiak  <mjs@apple.com>
4318
4319        Reviewed by Dave Hyatt.
4320
4321	- fixed http://bugs.webkit.org/show_bug.cgi?id=4153
4322	
4323        * WebView.subproj/WebFrame.m:
4324        (-[WebFrame _purgePageCache]): Find the oldest candidate for
4325	purging that is not a snapback item.
4326
43272005-07-29  David Harrison  <harrison@apple.com>
4328
4329        Reviewed by Dave Hyatt (rendering) and Maciej (editing and performance improvements).
4330
4331        Test cases added: Existing tab-related basic editing tests were updated.  More complex tests are coming soon.
4332
4333        <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
4334        
4335        Basic strategy is to put tabs into spans with white-space:pre style, and
4336        render them with tabs stops every 8th space, where the space width and
4337        the left margin are those of the enclosing block.
4338
4339        * WebCoreSupport.subproj/WebTextRenderer.m:
4340        (isSpace):
4341        (isRoundingHackCharacter):
4342        (getUncachedWidth):
4343        (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
4344        (-[WebTextRenderer _computeWidthForSpace]):
4345        (_drawGlyphs):
4346        (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
4347        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
4348        (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
4349        (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
4350        (glyphForCharacter):
4351        (initializeCharacterWidthIterator):
4352        (ceilCurrentWidth):
4353        (widthForNextCharacter):
4354
43552005-07-29  John Sullivan  <sullivan@apple.com>
4356
4357        Reviewed by Dave Hyatt.
4358        
4359        - WebKit part of <rdar://problem/4187404> Redo form SPI so that it doesn't rely on NSViews
4360        
4361        Much of 4187404 was addressed in earlier checkins. This checkin completes the task.
4362
4363        * WebView.subproj/WebHTMLRepresentation.h:
4364        * WebView.subproj/WebHTMLRepresentation.m:
4365        removed viewForElement:, which was the only remaining NSView-related SPI that Safari autofill was
4366        still using. I added viewForElement a week ago as a transitional measure, so removing it won't
4367        affect any other clients.
4368
43692005-07-29  John Sullivan  <sullivan@apple.com>
4370
4371        Reviewed by Chris Blumenberg.
4372
4373        * WebView.subproj/WebFrameView.m:
4374        (-[WebFrameView _firstResponderIsFormControl]):
4375        renamed from _firstResponderIsControl for clarity. Explicitly rejects WebHTMLView, since
4376        it's now a control.
4377        (-[WebFrameView keyDown:]):
4378        updated for renamed method.
4379
43802005-07-28  John Sullivan  <sullivan@apple.com>
4381
4382        Reviewed by Beth Dakin.
4383        
4384        - removed method -[WebHTMLRepresentation elementForView:], which was SPI used only for
4385        Safari autofill. Tip of tree Safari no longer includes any calls to this method. Also, 
4386        Tiger Safari never gets around to actually calling it due to the other recent form-SPI-related
4387        changes, so removing this method doesn't break Tiger Safari running on tip of tree WebKit
4388        (though autofill continues to not work in that configuration).
4389
4390        * WebView.subproj/WebHTMLRepresentation.h:
4391        * WebView.subproj/WebHTMLRepresentation.m:
4392        (-[WebHTMLRepresentation elementForView:]): removed
4393        
43942005-07-27  John Sullivan  <sullivan@apple.com>
4395
4396	Patch by Trey Matteson <trey@usa.net>
4397        Reviewed by me.
4398
4399        Fixed http://bugs.webkit.org/show_bug.cgi?id=4169
4400          scaling PDF view up leaves later HTML view scaled too
4401
4402        An additional step of separating scaling of HTML and PDF.  If we do a zoom and there
4403        are no docViews that track the common scaling factor, then don't change it.  Thus in
4404        the common PDF case where it is the only doc view, scaling the PDF does not affect
4405        HTML pages loaded in the same window.
4406
4407        * WebView.subproj/WebView.m:
4408        (-[WebView canMakeTextSmaller]):  Pass 0 for new scaling factor, since we just querying.
4409        (-[WebView canMakeTextLarger]):  Ditto.
4410        (-[WebView makeTextSmaller:]):  Pass new scaling factor.
4411        (-[WebView makeTextLarger:]):  Ditto.
4412        (-[WebView canMakeTextStandardSize]):  Pass 0 for new scaling factor.
4413        (-[WebView makeTextStandardSize:]):  Pass new scaling factor.
4414        (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
4415          The meat of the change is that this Swiss Army Knife also takes a new scaling
4416          factor, which it will set as the common scaling factor if it finds any doc views that
4417          are able to be scaled which track the common scaling factor.
4418
44192005-07-27  John Sullivan  <sullivan@apple.com>
4420
4421	Patch by Trey Matteson <trey@usa.net>
4422        Reviewed by me.
4423
4424        Fixed http://bugs.webkit.org/show_bug.cgi?id=4015
4425          PDF views should remember viewing mode, scroll position across back/forward
4426          Note this doesn't work within frames because of a PDFKit bug - see 4164
4427        Fixed http://bugs.webkit.org/show_bug.cgi?id=4091
4428          PDF views should keep a separate scaling factor from shared text scaling factor
4429
4430        Basic idea #1 is that we now have a general mechanism for a WebDocView to save/restore some UI
4431        state to the WebHistoryItem.
4432        Basic idea #2 is that _WebDocumentTextSizing is expanded to allow for the case of a WebDocView
4433        keeping its own notion of a scaling factor.  WebPDFView's -_tracksCommonSizeFactor has justification.
4434
4435        * History.subproj/WebHistoryItem.m:
4436        (-[WebHistoryItem setViewState:]):  New methods to hold PList of arbitrary WebView state
4437        (-[WebHistoryItem viewState]):
4438        * History.subproj/WebHistoryItemPrivate.h:
4439        * WebKit.xcodeproj/project.pbxproj:  Add Quartz to framework path so we can import PDFKit files
4440        * WebView.subproj/WebDocumentInternal.h:  New methods added to _WebDocumentTextSizing.
4441          Also the _ prefix is sufficient instead of _web_WebDocumentTextSizing.
4442          Added _WebDocumentViewState protocol.
4443        * WebView.subproj/WebFrame.m:
4444        (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):  Rename of save/restore methods.
4445        (-[WebFrame _detachFromParent]):  Ditto
4446        (-[WebFrame _transitionToCommitted:]):  Ditto
4447        (-[WebFrame _checkLoadCompleteForThisFrame]):  Ditto
4448        (-[WebFrame _loadItem:withLoadType:]):  Ditto
4449        (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):  Ditto
4450        (-[WebFrame _saveViewStateToItem:]):  Call doc view to retrieve view state.
4451        (-[WebFrame _restoreViewState]):  Call doc view to set view state.
4452        (-[WebFrame _scrollToTop]):  Nuked dead code.
4453        (-[WebFrame _textSizeMultiplierChanged]):  This work now appears in WebView.
4454        (-[WebFrame _saveDocumentAndScrollState]):  Same rename, one code cleanup.
4455        (-[WebFrame _accumulateDocumentViews:]): Add our docview to the array, call kids.
4456        (-[WebFrame _documentViews]):  New helper to return all docviews.
4457        (-[WebFrame _didFirstLayout]):  Same name change.
4458        * WebView.subproj/WebFrameInternal.h:
4459        * WebView.subproj/WebFramePrivate.h:
4460        * WebView.subproj/WebHTMLView.m:  Removed redundant category decl.
4461        (-[WebHTMLView _makeTextSmaller:]):  Implement new protocol.
4462        (-[WebHTMLView _makeTextLarger:]):
4463        (-[WebHTMLView _makeTextStandardSize:]):
4464        (-[WebHTMLView _tracksCommonSizeFactor]):
4465        * WebView.subproj/WebPDFRepresentation.m:  Tweak #imports.
4466        * WebView.subproj/WebPDFView.h:
4467        * WebView.subproj/WebPDFView.m:
4468        (-[WebPDFView _menuItemsFromPDFKitForEvent:]):  No longer intercept context menu text sizing items.
4469        (-[WebPDFView setDataSource:]):  No longer track the WebView's scaling factor.
4470        (-[WebPDFView scrollPoint]):  Dig through PDFKit view tree to get real scroll position
4471        (-[WebPDFView setScrollPoint:]):  Ditto
4472        (-[WebPDFView viewState]):  Return bundle of viewing params
4473        (-[WebPDFView setViewState:]):  Restore bundle of viewing params
4474        (-[WebPDFView _makeTextSmaller:]):  Implement new text sizing protocol
4475        (-[WebPDFView _makeTextLarger:]):
4476        (-[WebPDFView _makeTextStandardSize:]):
4477        (-[WebPDFView _tracksCommonSizeFactor]):
4478        (-[WebPDFView _canMakeTextSmaller]):
4479        (-[WebPDFView _canMakeTextLarger]):
4480        (-[WebPDFView _canMakeTextStandardSize]):
4481        * WebView.subproj/WebTextView.m:
4482        (-[WebTextView _makeTextSmaller:]):  Implement new text sizing protocol
4483        (-[WebTextView _makeTextLarger:]):
4484        (-[WebTextView _makeTextStandardSize:]):
4485        (-[WebTextView _tracksCommonSizeFactor]):
4486        * WebView.subproj/WebView.m:
4487        (-[WebView setTextSizeMultiplier:]):  Calling docViews is now more complicates than just posting
4488           a notification to the frame.
4489        (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:]):  Workhorse
4490           that sends the text sizing method to the right doc views.
4491        (-[WebView canMakeTextSmaller]):  Call workhorse.
4492        (-[WebView canMakeTextLarger]):  Ditto
4493        (-[WebView makeTextSmaller:]):  Ditto
4494        (-[WebView makeTextLarger:]):  Ditto
4495        (-[WebView canMakeTextStandardSize]):  Ditto
4496        (-[WebView makeTextStandardSize:]):  Ditto
4497
44982005-07-26  Justin Garcia  <justin.garcia@apple.com>
4499
4500        Patch by Trey Matteson <trey@usa.net>
4501
4502        Reviewed by John Sullivan.
4503        
4504        Fixed <http://bugs.webkit.org/show_bug.cgi?id=4072>
4505        Pressing back in browser misses out a page
4506        
4507        * WebView.subproj/WebFrame.m:
4508        (-[WebFrame _transitionToCommitted:]):  When reloading the same page or refreshing the
4509        page, update the URL in the b/f item with the URL that we wind up at.  Due to cookies,
4510        it might be different than the result we just got when we loaded the same page.
4511
45122005-07-26  David Hyatt  <hyatt@apple.com>
4513
4514	Make WebHTMLView inherit from NSControl instead of NSView.
4515	This change is necessary because the theme renderer for
4516	WebCore that draws controls with the Aqua appearance does so
4517	using NSCells.  NSCells must be hosted within a control view
4518	in order to paint properly.
4519
4520	The method updateCell must be overridden because it wants to
4521	repaint the whole control when the windows resigns/becomes
4522	key, and this would result in behavior that we don't want
4523	(the repainting of the whole view).  We already have hooks
4524	in WebHTMLView for the window resigning/becoming key so
4525	we will do our proper control updating there instead (in a
4526	future patch).
4527
4528        Reviewed by john
4529
4530        * WebView.subproj/WebHTMLView.h:
4531        * WebView.subproj/WebHTMLView.m:
4532        (-[WebHTMLView updateCell:]):
4533        
45342005-07-26  John Sullivan  <sullivan@apple.com>
4535
4536        Reviewed by Chris Blumenberg.
4537        
4538        - more work to wean form-related SPI from NSView. All that's left (but this is a big "all")
4539        is viewForElement: and elementForView:        
4540
4541        * WebCoreSupport.subproj/WebBridge.m:
4542        (-[WebBridge textField:doCommandBySelector:]):
4543        changed signature to pass along DOMElement* rather than NSView*
4544        
4545        * WebView.subproj/WebFormDelegate.h:
4546        * WebView.subproj/WebFormDelegate.m:
4547        (-[WebFormDelegate textField:doCommandBySelector:inFrame:]):
4548        ditto
4549
45502005-07-25  John Sullivan  <sullivan@apple.com>
4551
4552        Reviewed by Darin Adler.
4553        
4554        - big hunk of weaning form-related SPI from NSView; autofill continues to
4555        work (but only on tip of tree Safari)
4556        
4557        * WebCoreSupport.subproj/WebBridge.m:
4558        (-[WebBridge textFieldDidBeginEditing:]):
4559        changed name from controlTextXXX:, now takes a DOMHTMLInputElement*
4560        (-[WebBridge textFieldDidEndEditing:]):
4561        ditto
4562        (-[WebBridge textDidChangeInTextField:]):
4563        ditto
4564        (-[WebBridge textDidChangeInTextArea:]):
4565        changed name from textDidChange:, now takes a DOMHTMLTextAreaElement*
4566        (-[WebBridge control:textShouldBeginEditing:]):
4567        removed this method as it wasn't being used by autofill, and did nothing in WebKit
4568        (-[WebBridge control:textShouldEndEditing:]):
4569        ditto
4570        (-[WebBridge textField:shouldHandleEvent:]):
4571        changed name from control:textView:shouldHandleEvent:, now takes a DOMHTMLInputElement*.
4572        The textView parameter wasn't being used, so I eliminated it.
4573        
4574        * WebView.subproj/WebFormDelegate.h:
4575        * WebView.subproj/WebFormDelegate.m:
4576        (-[WebFormDelegate textFieldDidBeginEditing:inFrame:]):
4577        (-[WebFormDelegate textFieldDidEndEditing:inFrame:]):
4578        (-[WebFormDelegate control:textShouldBeginEditing:inFrame:]):
4579        (-[WebFormDelegate control:textShouldEndEditing:inFrame:]):
4580        (-[WebFormDelegate textDidChangeInTextField:inFrame:]):
4581        (-[WebFormDelegate textDidChangeInTextArea:inFrame:]):
4582        (-[WebFormDelegate textField:shouldHandleEvent:inFrame:]):
4583        These all changed in the same way as the WebBridge methods
4584        
4585
45862005-07-25  Vicki Murley <vicki@apple.com>
4587
4588        Reviewed by Darin.
4589 
4590	- fixed <rdar://problem/3470523> Safari's user agent should be changed to say Intel rather 
4591	than PPC on Intel machines
4592
4593        * WebView.subproj/WebView.m: add conditional #defines for "PPC" and "Intel"
4594        (-[WebView userAgentForURL:]): use this variable when constructing the user agent string
4595
45962005-07-24  Justin Garcia  <justin.garcia@apple.com>
4597
4598        Reviewed by mjs
4599        
4600        - Fixes <rdar://problem/4120535> deleteToEndOfLine: does not delete thew newline when at the end of a line
4601            Fix to match NSTextView.  Delete the next character if deleteToEndOfLine fails
4602
4603        * WebView.subproj/WebHTMLView.m:
4604        (-[WebHTMLView deleteToEndOfLine:]):
4605
46062005-07-24  Justin Garcia  <justin.garcia@apple.com>
4607
4608        Patch by Trey Matteson <trey@apple.com>
4609
4610        Reviewed by john
4611        
4612        Fixes <http://bugs.webkit.org/show_bug.cgi?id=3953> back-forward items have wrong titles after sub-frame navigations
4613
4614        This was caused by a mistaken data structure, where WebDataSource tried to keep a list of
4615        b/f items it was responsible for.  The problem arose in the case of frames, where a subframe
4616        was loaded with new content.  When this happens a fresh tree of b/f items is created,
4617        but the reference in the DataSource still pointed to the old item.
4618
4619        Since the WebFrame does a lot of work to track the current b/f item, the easiest thing is to
4620        get rid of the DataSource's reference, and have it ask the WebFrame to set the title on the
4621        right b/f item.
4622
4623        * WebView.subproj/WebDataSource.m:
4624        (-[WebDataSourcePrivate dealloc]):
4625        (-[WebDataSource _setTitle:]):
4626        * WebView.subproj/WebDataSourcePrivate.h:
4627        * WebView.subproj/WebFrame.m:
4628        (-[WebFrame _createItem:]):
4629        (-[WebFrame _transitionToCommitted:]):
4630        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
4631        (-[WebFrame _setTitle:]):
4632        * WebView.subproj/WebFramePrivate.h:
4633
46342005-07-24  Justin Garcia  <justin.garcia@apple.com>
4635
4636        Reviewed by kevin
4637        
4638        Fixed make clean problem
4639
4640        * Makefile.am:
4641
46422005-07-23  Justin Garcia  <justin.garcia@apple.com>
4643
4644        Patch by <opendarwin.org@mitzpettel.com>
4645
4646        Reviewed by darin and hyatt
4647        
4648        Fixes <http://bugs.webkit.org/show_bug.cgi?id=3862>
4649        The fix for <http://bugs.webkit.org/show_bug.cgi?id=3545> enclosed each run of visually ordered
4650        hebrew with LRO and PDF control characters, but adjusted the run's to and from to include those characters,
4651        so that they would be rendered if the font includes a glyph for bidi control characters.
4652        
4653        Also adding a manual test
4654
4655        * WebCoreSupport.subproj/WebTextRenderer.m:
4656        (reverseCharactersInRun):
4657
46582005-07-22  John Sullivan  <sullivan@apple.com>
4659
4660        Reviewed by Justin Garcia.
4661        
4662        Mail (running on tip of tree WebKit) was running into an assertion I recently added.
4663        The assertion is actually correct, catching an old bug in this code.
4664
4665        * WebView.subproj/WebView.m:
4666        (-[WebView selectedFrame]):
4667        if the first responder is a WebFrameView, then we've found the WebFrameView we're 
4668        looking for, and we shouldn't look at its superviews.
4669
46702005-07-22  John Sullivan  <sullivan@apple.com>
4671
4672        Reviewed by Chris Blumenberg.
4673
4674        - some changes in the direction of weaning all the form-related SPI from NSView
4675
4676        * PublicHeaderChangesFromTiger.txt:
4677        noted that the WebCore change to add -[DOMHTMLInputElement isTextField] to
4678        DOMExtensions.h is a public header change.
4679
4680        * WebView.subproj/WebHTMLRepresentation.h:
4681        * WebView.subproj/WebHTMLRepresentation.m:
4682        (-[WebHTMLRepresentation viewForElement:]):
4683        added viewForElement: as a stopgap measure. This allowed me to convert controlsInForm:
4684        to return DOMElements rather than NSViews, while keeping autocomplete working in
4685        Safari tip of tree. When I finish the SPI conversion I'll delete this method. Note that
4686        from this point on, autocomplete will not work in Tiger Safari with tip of tree WebKit
4687        (it will always fail to find anything to autocomplete)
4688
46892005-07-21  Adele Peterson  <adele@apple.com>
4690
4691        Reviewed by Darin.
4692
4693        Changing temporary #ifndef to #if
4694
4695        * WebCoreSupport.subproj/WebImageData.m:
4696        (-[WebImageData _checkSolidColor:]):
4697
46982005-07-21  Adele Peterson  <adele@apple.com>
4699
4700        Reviewed by Chris Blumenberg.
4701
4702        - fixed <rdar://problem/4132797> don't register thin PPC WebKit plug-ins
4703        Merged fix for:
4704        <rdar://problem/4127100> [WebKit] 8B1016: After installing Acrobat Reader, can no longer see pdf's in Safari
4705
4706        * Plugins.subproj/WebBasePluginPackage.h: Added isNativeLibraryData method.
4707        * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage isNativeLibraryData:]): Added isNativeLibraryData method.
4708        * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]):
4709          calls isNativeLibraryData to determine whether or not to register the plug-in.
4710        * Plugins.subproj/WebPluginPackage.m: (-[WebPluginPackage initWithPath:]): ditto.
4711        * WebCoreSupport.subproj/WebImageData.m: (-[WebImageData _checkSolidColor:]): added comment for #ifdef.
4712
47132005-07-21  Geoffrey Garen  <ggaren@apple.com>
4714
4715        * WebKit.pbproj/project.pbxproj: Removed.
4716
47172005-07-21  Geoffrey Garen  <ggaren@apple.com>
4718
4719        * WebKit.xcodeproj/.cvsignore: Added.
4720
47212005-07-21  Geoffrey Garen  <ggaren@apple.com>
4722
4723        * WebKit.xcodeproj/project.pbxproj: Added.
4724
47252005-07-21  Geoffrey Garen  <ggaren@apple.com>
4726
4727        * Makefile.am:
4728
47292005-07-20  John Sullivan  <sullivan@apple.com>
4730
4731        Reviewed by Vicki Murley.
4732
4733        - removed some form-related methods that weren't being used anywhere, in preparation
4734        for weaning WebKit's WebFormDelegate protocol from NSView.
4735
4736        * WebCoreSupport.subproj/WebBridge.m:
4737        * WebView.subproj/WebFormDelegate.h:
4738        * WebView.subproj/WebFormDelegate.m:
4739        removed these methods:
4740        -control:didFailToFormatString:errorDescription:
4741        -control:didFailToValidatePartialString:errorDescription:
4742        -control:isValidObject:
4743
47442005-07-20  Adele Peterson  <adele@apple.com>
4745
4746          Merged fix for:
4747          <rdar://problem/4125127> [WebKit] horizontal rulers don't render on Safari on web.apple.com
4748
4749          * WebCoreSupport.subproj/WebImageData.m:
4750          (-[WebImageData _checkSolidColor:]):
4751
47522005-07-20  Adele Peterson  <adele@apple.com>
4753
4754        Merged fix for :
4755        <rdar://problem/4118278> mail divide by zero navigating messages
4756  
4757        * WebCoreSupport.subproj/WebTextRenderer.m:
4758        (-[WebTextRenderer _extendGlyphToWidthMapToInclude:font:]):
4759
47602005-07-20  John Sullivan  <sullivan@apple.com>
4761
4762        Reviewed by Adele Peterson.
4763        
4764        - added -[WebView selectedFrame] to SPI (pending public API), needed for 4180958
4765
4766        * WebView.subproj/WebView.m:
4767        (-[WebView selectedFrame]):
4768        new method, extracted from _selectedOrMainFrame
4769        (-[WebView _selectedOrMainFrame]):
4770        now calls extracted method
4771        
4772        * WebView.subproj/WebViewPrivate.h:
4773        add -selectedFrame to PendingPublic category
4774
47752005-07-19  John Sullivan  <sullivan@apple.com>
4776
4777        Reviewed by Darin Adler.
4778        
4779        - cleaned up code related to dealing with the "selected frame"; fixes radar bugs 4118830 and 4118820
4780
4781        * WebView.subproj/WebTextView.m:
4782        (-[WebTextView resignFirstResponder]):
4783        call deselectAll here instead of replicating its guts, just for clarity
4784        
4785        * WebView.subproj/WebViewInternal.h:
4786        eliminated category WebInternal; all of these methods were used only inside WebView.m, so I moved
4787        them into the existing category WebFileInternal that was declared and implemented in WebView.m
4788        
4789        * WebView.subproj/WebView.m:
4790        (-[WebView searchFor:direction:caseSensitive:wrap:]):
4791        updated for name changes. Also, uses new _deselectFrame: to clear the selection if the found
4792        text is in a different frame.
4793        (-[WebView pasteboardTypesForSelection]):
4794        (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
4795        (-[WebView setSelectedDOMRange:affinity:]):
4796        (-[WebView selectedDOMRange]):
4797        (-[WebView selectionAffinity]):
4798        (-[WebView setTypingStyle:]):
4799        (-[WebView typingStyle]):
4800        (-[WebView styleDeclarationWithText:]):        
4801        (-[WebView replaceSelectionWithNode:]):
4802        (-[WebView replaceSelectionWithText:]):
4803        (-[WebView replaceSelectionWithMarkupString:]):
4804        (-[WebView replaceSelectionWithArchive:]):
4805        (-[WebView deleteSelection]):
4806        (-[WebView applyStyle:]):
4807        updated for name changes only
4808        
4809        (-[WebView _frameIsSelected:]):
4810        new method, returns YES if given frame has a non-zero-length selection
4811        (-[WebView _deselectFrame:]):
4812        new method, clears selection from given frame
4813        (-[WebView _findSelectedFrameStartingFromFrame:]):
4814        new method, recursive helper used by _findSelectedFrame
4815        (-[WebView _findSelectedFrame]):
4816        new method, finds first frame that returns YES for _frameIsSelected, or nil
4817        (-[WebView _debugCollectSelectedFramesIntoArray:startingFromFrame:]):
4818        new method, recursive helper used by _debugCheckForMultipleSelectedFrames
4819        (-[WebView _debugCheckForMultipleSelectedFrames]):
4820        new method for debugging, fires an assertion if there's more than one selected frame.
4821        (-[WebView _selectedOrMainFrame]):
4822        renamed from _frameForCurrentSelection, which was a misleading name since the returned
4823        frame does not necessarily have a selection (or even focus). Now checks for a selected
4824        but non-focused frame if the first responder is not in any frame. Also, moved in file
4825        from WebInternal category to WebFileInternal category.
4826        (-[WebView _bridgeForSelectedOrMainFrame]):
4827        renamed from _bridgeForCurrentSelection, which was a misleading name for the same
4828        reasons as _frameForCurrentSelection. Also, moved in file from WebInternal category to
4829        WebFileInternal category.
4830        (-[WebView _isLoading]):
4831        (-[WebView _frameViewAtWindowPoint:]):
4832        (-[WebView _bridgeAtPoint:]):
4833        just moved in file from WebInternal category to WebFileInternal category
4834
48352005-07-19  Darin Adler  <darin@apple.com>
4836
4837        Reviewed by Geoff Garen.
4838
4839        - improve handling of plug-ins when the WebView or a superview is hidden with -[NSView setHidden]
4840
4841        * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
4842        Add "hidden" to the list of reasons to clip out all plug-in drawing.
4843
48442005-07-18  John Sullivan  <sullivan@apple.com>
4845        
4846        Written by Trey Matteson  <trey@usa.net>
4847        Reviewed by John Sullivan.
4848
4849        Fixed http://bugs.webkit.org/show_bug.cgi?id=4049
4850          scroll position not restored when going back/forward at ebay
4851        Fixed http://bugs.webkit.org/show_bug.cgi?id=4061
4852          When going back/forward to some pages, they redraw at top before restoring scroll position
4853
4854        The short story is that attempting to restore the scroll position
4855        at the time when the first layout finishes addresses both of these
4856        issues.  An explanation of the underlying race condition is in
4857        a large comment near -_restoreScrollPosition.
4858
4859        * WebCoreSupport.subproj/WebBridge.m:
4860        (-[WebBridge didFirstLayout]):  Pass through to WebFrame.
4861        * WebView.subproj/WebFrame.m:
4862        (-[WebFrame _transitionToCommitted:]):  Get rid of attempt to
4863          restoreScrollPosition that never did anything because the
4864          docView was always 0x0 size at that point.
4865        (-[WebFrame _opened]):  Get rid of redundant call to restoreScrollPosition.
4866          The imminent call to layoutCompleted makes the same call.
4867        (-[WebFrame _didFirstLayout]):  Restore the scroll position on
4868          first layout, if we're doing a b/f nav.
4869        * WebView.subproj/WebFrameInternal.h:
4870
48712005-07-18  John Sullivan  <sullivan@apple.com>
4872
4873        Reviewed by Darin Adler.
4874
4875        - fixed these bugs:
4876        <rdar://problem/4158121> context menu in PDF view should contain the selection-based items like Copy
4877        <rdar://problem/4184691> WebPDFView should conform to the WebDocumentElement protocol
4878        <rdar://problem/4184663> "Search in Spotlight" is present but dimmed in context menu for plain-text documents
4879
4880        * WebView.subproj/WebDefaultContextMenuDelegate.m:
4881        (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
4882        added ASSERT and comments
4883
4884        * WebView.subproj/WebHTMLView.m:
4885        (-[WebHTMLView _searchWithGoogleFromMenu:]):
4886        removed this method (now handled by WebView)
4887        (-[WebHTMLView _searchWithSpotlightFromMenu:]):
4888        ditto
4889        (-[WebHTMLView validateUserInterfaceItem:]):
4890        removed validation for removed items. The validation wasn't necessary anyway, since we only put these items
4891        in the menu in the case where they should be enabled.
4892
4893        * WebView.subproj/WebPDFView.h:
4894        now conforms to WebDocumentElement protocol (which lets [WebView elementAtPoint:] work better)
4895        * WebView.subproj/WebPDFView.m:
4896        (-[WebPDFView copy:]):
4897        added, hands off to PDFView, needed to enable Copy in context menu
4898        (-[WebPDFView _pointIsInSelection:]):
4899        new method, checks whether given point is in the selected bounds
4900        (-[WebPDFView elementAtPoint:]):
4901        add WebElementIsSelectedKey to returned element
4902        (-[WebPDFView menuForEvent:]):
4903        use actual point instead of dummy placeholder, now that we have code that pays attention to the point
4904
4905        * WebView.subproj/WebView.m:
4906        (-[WebView _searchWithGoogleFromMenu:]):
4907        moved here from WebHTMLView so it will work for any documentView that conforms to WebDocumentText.
4908        Rewrote slightly to be non-WebHTMLView-specific. (This menu item was always enabled in Safari because
4909        Safari replaces its action, but it would not have been always enabled in other WebKit clients, though
4910        it should have been.)
4911        (-[WebView _searchWithSpotlightFromMenu:]):
4912        moved here from WebHTMLView so it will work for any documentView that conforms to WebDocumentText.
4913        Rewrote slightly to be non-WebHTMLView-specific.
4914
49152005-07-18  John Sullivan  <sullivan@apple.com>
4916
4917        Reviewed by Richard Williamson.
4918        
4919        - fixed <rdar://problem/4184366> WebPDFView should conform to the WebDocumentSelection protocol
4920
4921        * Misc.subproj/WebNSAttributedStringExtras.h: Added.
4922        * Misc.subproj/WebNSAttributedStringExtras.m: Added.
4923        (-[NSAttributedString _web_attributedStringByStrippingAttachmentCharacters]):
4924        New category on NSAttributedString, initially contains this one method that had been in WebHTMLView.
4925        
4926        * WebView.subproj/WebHTMLView.m:
4927        (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
4928        now uses _web_attributedStringByStrippingAttachmentCharacters
4929        
4930        * WebView.subproj/WebPDFView.h:
4931        now conforms to WebDocumentSelection protocol
4932        * WebView.subproj/WebPDFView.m:
4933        (-[WebPDFView selectionRect]):
4934        new, implementation of WebDocumentSelection protocol method
4935        (-[WebPDFView pasteboardTypesForSelection]):
4936        ditto
4937        (-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]):
4938        ditto
4939
4940        * WebKit.pbproj/project.pbxproj:
4941        updated for new files
4942
49432005-07-18  John Sullivan  <sullivan@apple.com>
4944
4945        Reviewed by Chris Blumenberg.
4946        
4947        - some refactoring cleanup in the selection/searching code
4948
4949        * Misc.subproj/WebSearchableTextView.h:
4950        moved WebDocumentSelection protocol conformation to this class, was in subclass WebTextView
4951        * Misc.subproj/WebSearchableTextView.m:
4952        (-[WebSearchableTextView selectionRect]):
4953        new method (moved here from Safari) to return a single rect encompassing all selected text
4954        (-[WebSearchableTextView pasteboardTypesForSelection]):
4955        moved here from WebTextView
4956        (-[WebSearchableTextView writeSelectionWithPasteboardTypes:toPasteboard:]):
4957        ditto
4958        
4959        * WebView.subproj/WebDocumentInternal.h:
4960        moved WebDocumentSelection protocol out of here
4961        
4962        * WebView.subproj/WebDocumentPrivate.h:
4963        moved WebDocumentSelection protocol into here, added selectionRect method
4964        
4965        * WebView.subproj/WebHTMLView.m:
4966        (-[WebHTMLView selectionRect]):
4967        new method, calls existing bridge method formerly called by _selectionRect
4968        (-[WebHTMLView _selectionRect]):
4969        now calls [self selectionRect]. We can't just delete _selectionRect because it's used by Mail.
4970        
4971        * WebView.subproj/WebHTMLViewPrivate.h:
4972        removed _selectionRect since it's in WebDocumentSelection now
4973        
4974        * WebView.subproj/WebTextView.h:
4975        removed WebDocumentSelection from protocol list since it's in superclass now
4976        
4977        * WebView.subproj/WebTextView.m:
4978        removed old WebDocumentSelection methods because they are in superclass now
4979
49802005-07-15  Adele Peterson  <adele@apple.com>
4981
4982        Written by Trey Matteson  <trey@usa.net>
4983        Reviewed by John Sullivan.
4984
4985        Fixed http://bugs.webkit.org/show_bug.cgi?id=3910 - REGRESSION: Replying "Cancel" to the form repost nag leaves wrong b/f cursor
4986
4987        * WebView.subproj/WebFrame.m:
4988        (-[WebFrame _resetBackForwardList]):  new helper method
4989        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
4990          If the delegate bailed on the navigation, tell the main frame
4991          to reset the b/f cursor back to where it was before we started.
4992
49932005-07-15  John Sullivan  <sullivan@apple.com>
4994
4995        Written by Trey Matteson
4996        Reviewed by me.
4997
4998        Fix for http://bugs.webkit.org/show_bug.cgi?id=4013
4999                text find doesn't wrap in PDF files
5000
5001        This just works once WebPDFView implements the WebDocumentText protocol, which is
5002        mostly just a matter of forwarding the methods to PDFKit appropriately.
5003
5004        * WebView.subproj/WebPDFView.h:
5005        * WebView.subproj/WebPDFView.m:
5006        (-[WebPDFView supportsTextEncoding]):
5007        (-[WebPDFView string]):
5008        (-[WebPDFView attributedString]):
5009        (-[WebPDFView selectedString]):
5010        (-[WebPDFView selectedAttributedString]):
5011        (-[WebPDFView selectAll]):
5012        (-[WebPDFView deselectAll]):
5013
50142005-07-15  John Sullivan  <sullivan@apple.com>
5015
5016        Reviewed by Kevin Decker.
5017        
5018        - fixed <rdar://problem/4181884> Searching for text that overlaps selection works 
5019        differently in PDFView than in HTMLView
5020
5021        * WebView.subproj/WebPDFView.m:
5022        (PDFSelectionsAreEqual):
5023        new function, stand-in for nonexistent -[PDFSelection isEqual:] since calling isEqual:
5024        on two identical PDFSelections returns NO
5025        (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
5026        Make search algorithm match that in WebCore: initially search inside selection, then check for the case
5027        where the found text exactly matches the previous selection, and search from past the selection if so.
5028        The implementation is slightly more complicated than it should be due to PDFKit API limitations (about
5029        which I added FIXMEs and filed bugs)
5030
50312005-07-15  John Sullivan  <sullivan@apple.com>
5032
5033        Reviewed by Maciej Stachowiak.
5034        
5035        - fixed these bugs:
5036        <rdar://problem/4181875> Searching for text that overlaps selection works differently in WebTextView than in HTMLView
5037        <rdar://problem/3393678> Find not finding text in plain (non-HTML) if all text is selected
5038
5039        * Misc.subproj/WebSearchableTextView.m:
5040        (-[NSString findString:selectedRange:options:wrap:]):
5041        Make search algorithm match that in WebCore: initially search inside selection, then check for the case
5042        where the found text exactly matches the previous selection, and search from past the selection if so.
5043
50442005-07-14  John Sullivan  <sullivan@apple.com>
5045
5046        Reviewed by Dave Hyatt.
5047
5048        - WebKit part of fix for: 
5049        <rdar://problem/4181227> webpages incorrectly use standard instead of secondary highlighting in certain cases
5050
5051        * WebCoreSupport.subproj/WebBridge.m:
5052        (-[WebBridge formControlIsResigningFirstResponder:]):
5053        Implementation of new method defined in WebCore, passes call along to WebHTMLView
5054        
5055        * WebView.subproj/WebHTMLViewInternal.h:
5056        declare _formControlIsResigningFirstResponder: so bridge can call it
5057
5058        * WebView.subproj/WebHTMLView.m:
5059        (-[WebHTMLView updateFocusState]):
5060        just moved in file so it could be called from a different category
5061        (-[WebHTMLView _formControlIsResigningFirstResponder:]):
5062        new method, updates focus state
5063
50642005-07-14  John Sullivan  <sullivan@apple.com>
5065
5066	added missing #import to fix build
5067	* WebView.subproj/WebPDFView.m
5068
50692005-07-14  Kevin Decker  <kdecker@apple.com>
5070
5071        Reviewed by cblu
5072
5073	Fixed: <rdar://problem/4122282> clicking a link in an PDF file opens the link with NSWorkspace without the usual security checks or WebView delegate control
5074
5075        * WebView.subproj/WebFrame.m:
5076        (-[WebFrame _safeLoadURL:]): added
5077        * WebView.subproj/WebFrameInternal.h:
5078        * WebView.subproj/WebPDFView.m:
5079        (-[WebPDFView initWithFrame:]):
5080        (-[WebPDFView PDFViewWillClickOnLink:withURL:]): prevents evilness with a call to _safeLoadURL
5081        * WebView.subproj/WebTextView.m:
5082        (-[WebTextView clickedOnLink:atIndex:]): factored calling out to the bridge, and instead call _safeLoadURL
5083
50842005-07-14  Vicki Murley  <vicki@apple.com>
5085
5086        Reviewed by Kocienda.
5087
5088	- WebKit part of fix for  <rdar://problem/4172380> [GENENTECH] window.opener 
5089	not available when child opened via target="_new"
5090
5091	Add a setOpener function to the WebCore bridge, and call this function when opening
5092	new windows through Web Kit.
5093
5094        * WebView.subproj/WebFrame.m:
5095        (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
5096
50972005-07-13  Justin Garcia  <justin.garcia@apple.com>
5098
5099        Reviewed by John
5100        
5101        Rolling in changes necessary to build with newer versions of gcc 4.0
5102
5103        * History.subproj/WebHistoryItem.m:
5104        (-[WebHistoryItem copyWithZone:]):
5105        * Misc.subproj/WebNSPasteboardExtras.m:
5106        (-[NSPasteboard _web_writeImage:URL:title:archive:types:]):
5107        * Misc.subproj/WebNSURLExtras.m:
5108        (-[NSURL _web_URLWithLowercasedScheme]):
5109        (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
5110        * WebCoreSupport.subproj/WebBridge.m:
5111        (-[WebBridge MIMETypeForPath:]):
5112        * WebCoreSupport.subproj/WebImageRendererFactory.m:
5113        (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]):
5114        * WebCoreSupport.subproj/WebTextRenderer.m:
5115        (-[WebTextRenderer initWithFont:usingPrinterFont:]):
5116        * WebView.subproj/WebFrame.m:
5117        (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
5118        * WebView.subproj/WebHTMLView.m:
5119        (-[WebHTMLView _styleFromFontAttributes:]):
5120        * WebView.subproj/WebView.m:
5121        (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
5122        (-[WebView mainFrameTitle]):
5123
51242005-07-13  John Sullivan  <sullivan@apple.com>
5125
5126        Reviewed by Maciej Stachowiak.
5127
5128        - cleaned up Find-related experimental code that I checked in a while back
5129
5130        * WebView.subproj/WebHTMLView.m:
5131        (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
5132        remove variant of this method that had findInSelection flag; this method is now
5133        the same as it was on Tiger.
5134        
5135        * WebView.subproj/WebView.m:
5136        (-[WebView searchFor:direction:caseSensitive:wrap:]):
5137        ditto
5138
51392005-07-12  Geoffrey Garen  <ggaren@apple.com>
5140
5141        -rolled in patch by opendarwin.org@mitzpettel.com 
5142        for http://bugs.webkit.org/show_bug.cgi?id=3435
5143        Parentheses are backwards in Hebrew text (no bidi mirroring?)
5144        
5145        Reviewed by mjs.
5146
5147        Layout test added to WebCore.
5148
5149        * WebCoreSupport.subproj/WebTextRenderer.h:
5150        * WebCoreSupport.subproj/WebTextRenderer.m:
5151        (-[WebTextRenderer _initializeATSUStyle]):
5152        (applyMirroringToRun):
5153        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
5154        (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
5155        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
5156
51572005-07-12  Ken Kocienda  <kocienda@apple.com>
5158
5159        Reviewed by Chris Blumenberg
5160
5161        * WebCoreSupport.subproj/WebBridge.m: Removed some glue that allowed one
5162        of two unicode (TEC or ICU ) to be chosen at runtime. I just added this
5163        dual support yesterday, and while Maciej and I agreed that it was good
5164        to land in the tree in case we run into problems in the near future, we
5165        also agreed that cutting over to using ICU full time right now is
5166        probably the best way to find bugs.
5167
51682005-07-11  Ken Kocienda  <kocienda@apple.com>
5169
5170        Reviewed by Richard
5171
5172        * WebCoreSupport.subproj/WebBridge.m:
5173        (+[WebBridge setTextConversionMethod:]): New method to support switching text conversion method.
5174        (+[WebBridge textConversionMethod]): Returns current text conversion method.
5175
51762005-07-11  Kevin Decker  <kdecker@apple.com>
5177
5178        Reviewed by cblu and mjs.
5179
5180	Fixed: <rdar://problem/4099552> REGRESSION: Safari 1.3 Netscape API NPN_PostURL[Notify] no longer allows manual headers
5181	
5182	Most plugins (flash) send 2 CRFL's between the header and body of their POST requests, while the adboe plugin sends two LF's. This caused us to send custom headers as part of the actual POST data itself, and correspondently, would skew Content-Length.
5183
5184        * Plugins.subproj/WebBaseNetscapePluginView.m:
5185        (-[NSData _web_locationAfterFirstBlankLine]): Look for two LF's as well
5186
51872005-07-09  Maciej Stachowiak  <mjs@apple.com>
5188
5189        - back out my revent page cache changes, turns out they cause a
5190	major performance regression on PLT
5191
5192        * WebView.subproj/WebFrame.m:
5193        (-[WebFrame _purgePageCache]):
5194
51952005-07-09  Maciej Stachowiak  <mjs@apple.com>
5196
5197        Reviewed by hyatt.
5198
5199	Replace int with unsigned, to avoid going into a huge loop when
5200	back list count is 0.
5201
5202        * WebView.subproj/WebFrame.m:
5203        (-[WebFrame _purgePageCache]):
5204
52052005-07-09  Maciej Stachowiak  <mjs@apple.com>
5206
5207        - fixed broken Development build
5208
5209        * WebView.subproj/WebFrame.m:
5210        (-[WebFrame _purgePageCache]):
5211
52122005-07-09  Maciej Stachowiak  <mjs@apple.com>
5213
5214        Reviewed by hyatt.
5215
5216	- fix page cache purging logic; this gets rid of a bug where the
5217	page cache would grow without bound if the oldest page cache item
5218	was the snapback item, and changed the rule a bit so page cache
5219	items farther back than the max size get purged, even if fewer
5220	than the max size are in current use.
5221
5222        * WebView.subproj/WebFrame.m:
5223        (-[WebFrame _purgePageCache]):
5224
52252005-07-08  Geoffrey Garen  <ggaren@apple.com>
5226
5227        Rolled in patch by opendarwin.org@mitzpettel.com
5228
5229        -fixes http://bugs.webkit.org/show_bug.cgi?id=3818
5230        Fallback font doesn't have requested weight in ATSUI-rendered text
5231
5232        (See WebCore Changelog for layout test)
5233
5234        Reviewed by mjs.
5235
5236        * WebCoreSupport.subproj/WebTextRenderer.m:
5237        (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
5238
52392005-07-05  Adele Peterson  <adele@apple.com>
5240
5241       Rolling out changes for <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
5242       since it caused a 2% performance regression.
5243
5244        * WebCoreSupport.subproj/WebTextRenderer.m:
5245        (isSpace):
5246        (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
5247        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
5248        (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
5249        (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
5250        (initializeCharacterWidthIterator):
5251        (widthForNextCharacter):
5252
52532005-07-05  John Sullivan  <sullivan@apple.com>
5254
5255        Reviewed by Chris Blumenberg.
5256        
5257        - fixed <rdar://problem/4158230> Zoom In/Zoom Out in PDF context menu don't update window's notion of text size
5258
5259        * WebView.subproj/WebPDFView.m:
5260        (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
5261        Redirect Actual Size, Zoom In, and Zoom Out context menu items so that they behave exactly like Make Text Standard Size,
5262        Make Text Larger, and Make Text Smaller.
5263
52642005-07-01  John Sullivan  <sullivan@apple.com>
5265
5266        Reviewed by Darin Adler.
5267        
5268        - fixed http://bugs.webkit.org/show_bug.cgi?id=3711: Displayed PDF have limited options in contextual menu
5269        
5270        This was a problem with using Tiger's version of Safari with tip of tree WebKit.
5271
5272        * WebView.subproj/WebPDFView.m:
5273        (-[WebPDFView _anyPDFTagsFoundInMenu:]):
5274        new method, returns YES if the menu contains any items with any of the new PDF-related tags.
5275        (-[WebPDFView menuForEvent:]):
5276        If the executable was linked on Tiger or older (but it will never be older, since this code is
5277        new to Tiger), force all of the PDF-related items into the menu if none of them were there 
5278        after processing by the delegate.
5279
52802005-06-30  Darin Adler  <darin@apple.com>
5281
5282        Reviewed by John Sullivan.
5283
5284        - fixed <http://bugs.webkit.org/show_bug.cgi?id=3774>
5285          do renaming so that loaders are called "loader", not "client" or "delegate"
5286
5287        * Misc.subproj/WebIconLoader.h:
5288        * Plugins.subproj/WebNetscapePluginStream.h:
5289        * Plugins.subproj/WebNetscapePluginStream.m:
5290        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
5291        (-[WebNetscapePluginStream start]):
5292        (-[WebNetscapePlugInStreamLoader didFinishLoading]):
5293        (-[WebNetscapePlugInStreamLoader didFailWithError:]):
5294        (-[WebNetscapePlugInStreamLoader cancelWithError:]):
5295        * WebCoreSupport.subproj/WebBridge.m:
5296        (-[WebBridge startLoadingResource:withURL:customHeaders:]):
5297        (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]):
5298        (-[WebBridge canRunModalNow]):
5299        * WebCoreSupport.subproj/WebSubresourceClient.h: Removed.
5300        * WebCoreSupport.subproj/WebSubresourceClient.m: Removed.
5301        * WebCoreSupport.subproj/WebSubresourceLoader.h:
5302        * WebCoreSupport.subproj/WebSubresourceLoader.m:
5303        (-[WebSubresourceLoader initWithLoader:dataSource:]):
5304        (-[WebSubresourceLoader dealloc]):
5305        (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
5306        (+[WebSubresourceLoader startLoadingResource:withURL:customHeaders:referrer:forDataSource:]):
5307        (+[WebSubresourceLoader startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]):
5308        (-[WebSubresourceLoader didReceiveResponse:]):
5309        (-[WebSubresourceLoader didReceiveData:lengthReceived:]):
5310        (-[WebSubresourceLoader didFinishLoading]):
5311        (-[WebSubresourceLoader didFailWithError:]):
5312        (-[WebSubresourceLoader cancel]):
5313        * WebKit.pbproj/project.pbxproj:
5314        * WebView.subproj/WebBaseResourceHandleDelegate.h: Removed.
5315        * WebView.subproj/WebBaseResourceHandleDelegate.m: Removed.
5316        * WebView.subproj/WebDataSource.m:
5317        (-[WebDataSourcePrivate dealloc]):
5318        (-[WebDataSource _setLoading:]):
5319        (-[WebDataSource _updateLoading]):
5320        (-[WebDataSource _setPrimaryLoadComplete:]):
5321        (-[WebDataSource _startLoading:]):
5322        (-[WebDataSource _addSubresourceLoader:]):
5323        (-[WebDataSource _removeSubresourceLoader:]):
5324        (-[WebDataSource _addPlugInStreamLoader:]):
5325        (-[WebDataSource _removePlugInStreamLoader:]):
5326        (-[WebDataSource _stopLoadingInternal]):
5327        (-[WebDataSource _defersCallbacksChanged]):
5328        (-[WebDataSource _stopLoadingWithError:]):
5329        (-[WebDataSource data]):
5330        (-[WebDataSource isLoading]):
5331        * WebView.subproj/WebDataSourcePrivate.h:
5332        * WebView.subproj/WebLoader.h:
5333        * WebView.subproj/WebLoader.m:
5334        * WebView.subproj/WebMainResourceClient.h: Removed.
5335        * WebView.subproj/WebMainResourceClient.m: Removed.
5336        * WebView.subproj/WebMainResourceLoader.h:
5337        * WebView.subproj/WebMainResourceLoader.m:
5338        (-[WebMainResourceLoader didReceiveResponse:]):
5339
53402005-06-29  David Harrison  <harrison@apple.com>
5341
5342        Reviewed by Dave Hyatt (rendering) and Maciej (editing).
5343
5344        Test cases added:  Coming soon.  Will include with next round of changes for this bug.
5345
5346        This is the first checkin for...
5347        
5348        <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
5349        
5350        Basic strategy is to put tabs into spans with white-space:pre style, and
5351        render them with tabs stops every 8th space, where the space width and
5352        the left margin are those of the enclosing block.
5353        
5354        What's left is to switch to implement white-space:pre-wrap so
5355        that we can coalesce consecutive tabs while maintaining proper
5356        line breaking.  That will keep the markup smaller.
5357
5358        * WebCoreSupport.subproj/WebTextRenderer.m:
5359        (isSpace):
5360        (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
5361        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
5362        (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
5363        (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
5364        (initializeCharacterWidthIterator):
5365        (widthForNextCharacter):
5366
53672005-06-29  John Sullivan  <sullivan@apple.com>
5368
5369        Reviewed by Kevin.
5370        
5371        - deleted some never-used stub code
5372
5373        * WebView.subproj/WebView.m:
5374        * WebView.subproj/WebViewInternal.h:
5375        * WebView.subproj/WebViewPrivate.h:
5376
53772005-06-27  Justin Garcia  <justin.garcia@apple.com>
5378
5379        Patch by Anders Carlsson <andersca@mac.com>
5380
5381        Reviewed by Darin.
5382
5383        - Fixes <http://bugs.webkit.org/show_bug.cgi?id=3489>
5384        WebView's setSelectedDOMRange doesn't not implement clearing the selection as described in the WebView documentation:
5385        <http://developer.apple.com/documentation/Cocoa/Reference/WebKit/ObjC_classic/Classes/WebView.html>
5386	
5387        * WebView.subproj/WebView.m:
5388        (-[WebView setSelectedDOMRange:affinity:]):
5389        If range is nil, call deselectText.
5390
53912005-06-24  Justin Garcia  <justin.garcia@apple.com>
5392
5393        Patch contributed by Duncan Wilcox <duncan@mclink.it>
5394
5395        Reviewed by Darin
5396
5397        - Fixed <http://bugs.webkit.org/show_bug.cgi?id=3535>
5398            Spelling suggestions in the context menu don't call the should* delegate methods
5399
5400        * WebView.subproj/WebHTMLView.m:
5401        (-[WebHTMLView _changeSpellingFromMenu:]):
5402        give delegate's webView:shouldInsertText:replacingDOMRange:givenAction: a chance
5403        to prevent replacing of selected text
5404
54052005-06-22  John Sullivan  <sullivan@apple.com>
5406
5407        Reviewed by Chris Blumenberg.
5408        
5409        - fixed <rdar://problem/3764645> please add a way to allow WebKit clients to override the WebPDFView context menu
5410
5411        * PublicHeaderChangesFromTiger.txt: Added.
5412        New file to keep track of changes made to public headers that haven't been through API review yet.
5413        Initially lists the WebMenuItem enum tags added to WebUIDelegate.h as part of this change.
5414        
5415        * WebView.subproj/WebDefaultContextMenuDelegate.m:
5416        (-[WebDefaultUIDelegate appendDefaultItems:toArray:]):
5417        new method, handles initial separator
5418        (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
5419        now has defaultMenuItems: parameter. Any menu items in this array are appended at the end of
5420        the standard set.
5421        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
5422        ditto
5423        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
5424        This had a defaultMenuItems parameter before but it was always nil. Now it passes the defaultMenuItems
5425        parameter on to the two methods that construct lists (one for editing, the other for viewing). Also
5426        tweaked variable name and type for clarity.
5427        
5428        * WebView.subproj/WebHTMLView.m:
5429        (-[WebHTMLView menuForEvent:]):
5430        passes nil for new defaultItems parameter of _menuForElement:
5431        
5432        * WebView.subproj/WebImageView.m:
5433        (-[WebImageView menuForEvent:]):
5434        ditto
5435        
5436        * WebView.subproj/WebTextView.m:
5437        (-[WebTextView menuForEvent:]):
5438        ditto
5439
5440        * WebView.subproj/WebPDFView.m:
5441        (-[WebPDFView elementAtPoint:]):
5442        new method to create the element dictionary needed for _menuForElement:defaultItems:. Only supplies the
5443        webFrame at this point.
5444        (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
5445        new method to return copies of the menu items that PDFKit would include in the context menu, with
5446        WebKit tags applied
5447        (-[WebPDFView menuForEvent:]):
5448        now calls standard WebKit context menu mechanism, so clients' delegates can modify the context menu as
5449        desired. The initial set of items are the ones WebKit was already displaying for PDF context menus.
5450        
5451        * WebView.subproj/WebUIDelegate.h:
5452        added enum values for the menu items in the PDF context menu
5453        
5454        * WebView.subproj/WebViewPrivate.h:
5455        * WebView.subproj/WebView.m:
5456        (-[WebView _menuForElement:defaultItems:]):
5457        Added the defaultItems: parameter to this method, which is then passed along to WebDefaultUIDelegate.
5458        All callers pass nil except for WebPDFView, at least for now.
5459
54602005-06-22  Darin Adler  <darin@apple.com>
5461
5462        Change by Mitz Pettel.
5463        Reviewed by me.
5464
5465        - fixed <http://bugs.webkit.org/show_bug.cgi?id=3618>
5466          RTL runs drawn by CG not reversed properly
5467
5468        * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _CG_drawRun:style:geometry:]):
5469        Fix off-by-one mistake in order-swapping loops.
5470
54712005-06-22  Darin Adler  <darin@apple.com>
5472
5473        Change by Michael Gaiman.
5474        Reviewed by me.
5475
5476        - fixed <http://bugs.webkit.org/show_bug.cgi?id=3436>
5477          Missing implementation of -[NSData(WebNSDateExtras) _webkit_parseRFC822HeaderFields]
5478
5479        * Misc.subproj/WebNSDataExtras.h: Fixed name of category say NSData, not NSDate.
5480        * Misc.subproj/WebNSDataExtras.m: (-[NSData _webkit_parseRFC822HeaderFields]): Fixed method name.
5481
54822005-06-21  John Sullivan  <sullivan@apple.com>
5483
5484        Reviewed by Vicki Murley
5485        
5486        - fixed assertion failure Vicki ran into
5487
5488        * Misc.subproj/WebIconDatabase.m:
5489        (-[WebIconDatabase _forgetIconForIconURLString:]):
5490        Handle the case where there are no associated page URLs for the icon URL
5491
54922005-06-20  John Sullivan  <sullivan@apple.com>
5493
5494        Reviewed by Chris Blumenberg.
5495        
5496        - fixed <rdar://problem/4155182> icon database retain counts can be incorrect after removing all icons
5497        
5498        Replaced the concept of "future retain count per page URL" with a simpler concept of "retain count per
5499        page URL", which is maintained even after the icon is actually loaded (unlike the future retain count).
5500        The total retain count for an icon is now the sum of the retain counts per page URL along with any retain
5501        count not associated with a page URL -- this is still needed for some internal housekeeping purposes.
5502
5503        * Misc.subproj/WebIconDatabasePrivate.h:
5504        renamed iconURLToURLs -> iconURLToPageURLs for clarity
5505        renamed URLToIconURL -> pageURLToIconURL for clarity
5506        renamed futureURLToRetainCount -> pageURLToRetainCount (there's no more "future" aspect)
5507        renamed iconURLToRetainCount -> iconURLToExtraRetainCount (it now maintains only some of the retain count)
5508        
5509        * Misc.subproj/WebIconDatabase.m:
5510        (+[WebIconDatabase sharedIconDatabase]):
5511        updated for name changes only
5512        (-[WebIconDatabase init]):
5513        ditto
5514        (-[WebIconDatabase iconForURL:withSize:cache:]):
5515        ditto
5516        (-[WebIconDatabase iconURLForURL:]):
5517        ditto
5518        (-[WebIconDatabase retainIconForURL:]):
5519        just bump the retain count in pageURLToRetainCount, instead of behaving differently based on whether 
5520        an icon had been loaded for this URL; this let me delete the internal method _retainFutureIconForURL:
5521        (-[WebIconDatabase releaseIconForURL:]):
5522        decrement the retain count in pageURLToRetainCount, then handle the case where the retain count for 
5523        this page has gone to zero. I deleted the internal method _releaseFutureIconForURL: formerly called here.
5524        (-[WebIconDatabase removeAllIcons]):
5525        remove all the code that dealt with retain counts; this operation no longer affects retain counts
5526        (-[WebIconDatabase _setIconURL:forURL:]):
5527        remove the code that consolidated multiple retain counts for different page URLs into a single retain 
5528        count; the multiple retain counts are now maintained even after the icon is loaded
5529        (-[WebIconDatabase _clearDictionaries]):
5530        updated for name changes only
5531        (-[WebIconDatabase _loadIconDictionaries]):
5532        ditto
5533        (-[WebIconDatabase _updateFileDatabase]):
5534        ditto
5535        (-[WebIconDatabase _totalRetainCountForIconURLString:]):
5536        new method, sums the retain counts associated with specific page URLs and the extra retain count
5537        not associated with specific page URLs
5538        (-[WebIconDatabase _retainIconForIconURLString:]):
5539        updated for name changes
5540        (-[WebIconDatabase _forgetIconForIconURLString:]):
5541        no longer affects retain counts at all; this is up to callers
5542        (-[WebIconDatabase _releaseIconForIconURLString:]):
5543        this now distinguishes the case where the retain count not associated with any page URLs hits 
5544        zero from the case where the total retain count hits zero, and handles both
5545
55462005-06-20  John Sullivan  <sullivan@apple.com>
5547
5548        Reviewed by Chris Blumenberg.
5549        
5550        - added support for emptying the icon database
5551
5552        * Misc.subproj/WebIconDatabase.h: just fixed a typo
5553        * Misc.subproj/WebIconDatabasePrivate.h:
5554        added WebPendingPublic category with method removeAllIcons, and
5555        declared WebIconDatabaseDidRemoveAllIconsNotification string.
5556        
5557        * Misc.subproj/WebIconDatabase.m:
5558        (-[WebIconDatabase removeAllIcons]):
5559        new method, removes all known icons from memory and disk. There's one loose end,
5560        covered by radar bug 4155182, where it's possible for the icon database's retain
5561        counts to get off after this operation. I plan to fix this next.
5562        (-[WebIconDatabase _setIconURL:forURL:]):
5563        just fixed some extra whitespace
5564        (-[WebIconDatabase _forgetIconForIconURLString:]):
5565        new method, extracted from _releaseIconForIconURLString
5566        (-[WebIconDatabase _releaseIconForIconURLString:]):
5567        now calls extracted method
5568
5569        * WebKit.exp:
5570        added _WebIconDatabaseDidRemoveAllIconsNotification
5571
55722005-06-19  Darin Adler  <darin@apple.com>
5573
5574	Changes by Mitz Pettel
5575        Reviewed by me.
5576        
5577        - fixed <http://bugs.webkit.org/show_bug.cgi?id=3466>
5578          ATSUI text doesn't render at coordinates greater than 32K
5579
5580        * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
5581        Translate the matrix of the CGContext instead of passing the appropriate coordinates to ATSU.
5582
55832005-06-17  Richard Williamson   <rjw@apple.com>
5584
5585	Changes by Mitz Pettel
5586        Reviewed by Richard Williamson.
5587
5588	Fixed http://bugs.webkit.org/show_bug.cgi?id=3545
5589
5590        * WebCoreSupport.subproj/WebTextRenderer.m:
5591        (reverseCharactersInRun):
5592        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
5593
55942005-06-17  John Sullivan  <sullivan@apple.com>
5595
5596        Reviewed by Chris.
5597
5598        - fixed <rdar://problem/4151001> Reloading javascript-spawned window with no URL erases its contents
5599
5600        * WebView.subproj/WebFrame.m:
5601        (-[WebFrame reload]):
5602        do nothing if URL is zero-length
5603
56042005-06-14  John Sullivan  <sullivan@apple.com>
5605
5606        Changes by Devin Lane.
5607        Reviewed by me.
5608
5609        - fixed <rdar://problem/3766909> PDF viewing could use a zoom control other than the one in the context menu
5610
5611        * WebView.subproj/WebPDFView.h:
5612        now implements protocol _web_WebDocumentTextSizing
5613        * WebView.subproj/WebPDFView.m:
5614        (-[WebPDFView _updateScalingToReflectTextSize]):
5615        new method, sets the PDF scaling from the text size multiplier
5616        (-[WebPDFView setDataSource:]):
5617        call _updateScalingToReflectTextSize
5618        (-[WebPDFView _web_textSizeMultiplierChanged]):
5619        implementation of protocol _web_WebDocumentTextSizing, calls _updateScalingToReflectTextSize
5620
56212005-06-14  John Sullivan  <sullivan@apple.com>
5622
5623        Reviewed by Dave Harrison.
5624
5625        * WebView.subproj/WebHTMLView.m:
5626        (-[WebHTMLView _delayedEndPrintMode:]):
5627        After discussing this with Dave, I made this method both more debugger-friendly with asserts for
5628        the cases we don't think could ever happen, and more paranoid by handling these cases in deployment
5629        builds.
5630
56312005-06-14  Darin Adler  <darin@apple.com>
5632
5633        - fixed build for Xcode 2.1
5634
5635        * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT to search for the
5636        WebKitSystemInterface.h file. We could re-jigger this again later, but for now this is consistent
5637        with both the .a file's location and where build-webkit puts the file.
5638
56392005-06-13  John Sullivan  <sullivan@apple.com>
5640
5641        Reviewed by Dave Harrison and Maciej.
5642
5643        * WebView.subproj/WebHTMLView.m:
5644        (-[WebHTMLView _endPrintMode]):
5645        new method, extracted from identical code in beginDocument and endDocument. This method must be called
5646        once to counterbalance the code called from knowsPageRange that turns on "printing mode".
5647        (-[WebHTMLView _delayedEndPrintMode:]):
5648        new method, called from "perform after delay". Checks whether the same print operation is still underway
5649        and, if so, delays further. Otherwise calls _endPrintMode directly.
5650        (-[WebHTMLView knowsPageRange:]):
5651        after turning on "printing mode", queue up a delayed call to _delayedEndPrintMode:. If there's an early
5652        error in the print mechanism such that beginDocument is never called, this will cleanly end "printing
5653        mode" and make the webview usable again.
5654        (-[WebHTMLView beginDocument]):
5655        cancel any delayed call to _delayedEndPrintMode:. If we get this far along in printing, then we don't need
5656        the failsafe call to _delayedEndPrintMode: that was set up in knowsPageRange:. Also, call extracted method.
5657        (-[WebHTMLView endDocument]):
5658        call extracted method
5659
56602005-06-13  Maciej Stachowiak  <mjs@apple.com>
5661
5662        Reviewed by Chris Blumenberg and Adele.
5663
5664	- better fix for <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
5665	http://bugs.webkit.org/show_bug.cgi?id=3445
5666
5667	With this change and the matching WebKit change we'll still stop loading the moment you click
5668	a download link, but the unload event and detaching of event handlers will not happen early any more.
5669	
5670        * WebView.subproj/WebDataSource.m:
5671        (-[WebDataSource _stopLoadingInternal]): call stopLoading on bridge instead of closeURL.
5672        * WebView.subproj/WebFrame.m:
5673        (-[WebFrame _transitionToCommitted:]): Revert previous attempt at fix.
5674        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): ditto
5675        (-[WebFrame stopLoading]): ditto
5676
56772005-06-13  Chris Petersen  <cpetersen@apple.com>
5678
5679        Changes by Darin.
5680        Reviewed by me.
5681
5682        - fixed problems building deployment due to recent init change
5683
5684        * WebView.subproj/WebArchive.m: (-[WebArchive initWithCoder:]):
5685        Put the [super init] call and check for nil outside the exception handler.
5686        * WebView.subproj/WebResource.m: (-[WebResource initWithCoder:]): Ditto.
5687
56882005-06-12  Darin Adler  <darin@apple.com>
5689
5690        Reviewed by Maciej.
5691
5692        - fixed <rdar://problem/4141569> REGRESSION (412+): printing fails on any page with images, and for standalone images
5693          also <http://bugs.webkit.org/show_bug.cgi?id=3318>
5694
5695        * WebCoreSupport.subproj/WebImageData.m: Got rid of use of tabs instead of spaces throughout the file.
5696        (-[WebImageData _checkSolidColor:]): Wrap use of NSGraphicsContext with an autorelease pool.
5697        (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]): Ditto.
5698        (-[WebImageData tileInRect:fromPoint:context:]): Ditto.
5699        (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]): Ditto.
5700
57012005-06-12  Darin Adler  <darin@apple.com>
5702
5703        Changes by Nick Zitzmann.
5704        Reviewed by me.
5705
5706        - fixed init methods that don't handle return values from the init methods they call
5707
5708        * WebView.subproj/WebArchive.m:
5709        (-[WebArchive init]): Use value returned by init, check it for nil too.
5710        (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Ditto.
5711        (-[WebArchive _initWithPropertyList:]): Ditto.
5712        (-[WebArchive initWithCoder:]): Ditto.
5713        * WebView.subproj/WebClipView.m:
5714        (-[WebClipView initWithFrame:]): Ditto.
5715        * WebView.subproj/WebDebugDOMNode.m:
5716        (-[WebDebugDOMNode initWithName:value:source:children:]): Ditto.
5717        * WebView.subproj/WebFrame.m:
5718        (-[WebFormState initWithForm:values:sourceFrame:]): Ditto.
5719        (-[WebFrame initWithName:webFrameView:webView:]): Ditto.
5720        * WebView.subproj/WebFrameView.m:
5721        (-[WebFrameView initWithFrame:]): Ditto.
5722        * WebView.subproj/WebHTMLRepresentation.m:
5723        (-[WebHTMLRepresentation init]): Ditto.
5724        * WebView.subproj/WebHTMLView.m:
5725        (-[WebHTMLView initWithFrame:]): Ditto.
5726        (-[WebTextCompleteController initWithHTMLView:]): Ditto.
5727        * WebView.subproj/WebImageView.m:
5728        (-[WebImageView initWithFrame:]): Ditto.
5729        * WebView.subproj/WebPreferences.m:
5730        (-[WebPreferences initWithIdentifier:]): Ditto.
5731        * WebView.subproj/WebRenderNode.m:
5732        (-[WebRenderNode initWithName:position:rect:view:children:]): Ditto.
5733        * WebView.subproj/WebResource.m:
5734        (-[WebResource init]): Ditto.
5735        (-[WebResource initWithCoder:]): Ditto.
5736        * WebView.subproj/WebView.m:
5737        (-[WebViewPrivate init]): Call super init.
5738        (-[_WebSafeForwarder initWithTarget:defaultTarget:templateClass:]): Use value returned by init, check it for nil too.
5739        (-[WebView initWithFrame:]): Ditto.
5740
57412005-06-12  Maciej Stachowiak  <mjs@apple.com>
5742
5743        Reviewed by Chris Blumenberg.
5744
5745	- fixed <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
5746	http://bugs.webkit.org/show_bug.cgi?id=3445
5747	
5748        * WebView.subproj/WebFrame.m:
5749        (-[WebFrame _transitionToCommitted:]): Stop loading the non-provisional data
5750	source before swapping in the provisional.
5751        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Stop only
5752	the provisional load here, we would not want to stop loading if this navigation
5753	later turns into a download or is cancelled before being committed.
5754        (-[WebFrame stopLoading]): Factored a bit.
5755        (-[WebFrame _cancelProvisionalLoad]): New method to stop only provisional load,
5756	and cancel any pending policy deicions.
5757        (-[WebFrame _stopNonProvisionalLoadOnly]): New mthod that stops only the main
5758	load.
5759
57602005-06-10  John Sullivan  <sullivan@apple.com>
5761
5762        reviewed by Dave Harrison (first & second drafts) and Darin Adler (third draft)
5763
5764        - WebKit part of fix for 
5765        <rdar://problem/4145214> REGRESSION (412+): Can't drag URLs from the location bar
5766
5767        * Misc.subproj/WebNSPasteboardExtras.m:
5768        (+[NSPasteboard initialize]):
5769        Reinstate variation of old code that uses CreatePasteboardFlavorTypeName to set up our new pasteboard types.
5770        The newfangled way didn't work.
5771
57722005-06-07  Darin Adler  <darin@apple.com>
5773
5774        Change by Mark Rowe <opendarwin.org@bdash.net.nz>.
5775        Reviewed by me.
5776
5777        - fixed the WebKit half of build failure with spaces in the path
5778          http://bugs.webkit.org/show_bug.cgi?id=3291
5779
5780        * WebKit.pbproj/project.pbxproj: Quote DERIVED_FILE_DIR when it is substituted
5781        into FRAMEWORK_SEARCH_PATHS, and SYMROOT when into HEADER_SEARCH_PATHS.
5782
57832005-06-06  Darin Adler  <darin@apple.com>
5784
5785        * Info.plist: Bumped version to 412+. For some reason it was set to 312.1!
5786
57872005-06-05  Darin Adler  <darin@apple.com>
5788
5789        Reviewed by Hyatt.
5790
5791        - fixed build that I broke with the license change (some includes of WebException were still around)
5792
5793        * WebKit.pbproj/project.pbxproj: Removed references to WebException.h/m.
5794        * WebView.subproj/WebDataSource.m: Removed include of WebException.h.
5795        * WebView.subproj/WebHTMLView.m: Ditto.
5796        * WebView.subproj/WebView.m: Ditto.
5797
5798        - fixed build under gcc 4.0 (some code moved here from Foundation had warnings)
5799
5800        * Misc.subproj/WebNSDataExtras.m:
5801        (-[NSString _web_capitalizeRFC822HeaderFieldName]): Use char instead of UInt8.
5802        (-[NSData _webkit_guessedMIMEType]):  Use char instead of UInt8, and take out now-
5803        unneeded type casts.
5804
58052005-06-05  Darin Adler  <darin@apple.com>
5806
5807        - added appropriate license headers to most files and updated copyright to reflect publication dates
5808
5809        * LICENSE: Added.
5810        * <lots of files>: Added license header.
5811
5812        * WebKit.pbproj/project.pbxproj: Removed references to NP_objc.h.
5813
5814        * API-Issues.rtf: Removed.
5815        * Misc.subproj/WebException.h: Removed.
5816        * Misc.subproj/WebException.m: Removed.
5817        * Plugins.subproj/NP_objc.h: Removed.
5818
58192005-06-01  Darin Adler  <darin@apple.com>
5820
5821        Reviewed by John Sullivan.
5822
5823        - WebKit part of fix for <rdar://problem/3166090> add IE JavaScript extension window.showModalDialog
5824
5825        * WebCoreSupport.subproj/WebBridge.m:
5826        (-[WebBridge createModalDialogWithURL:]): Added. Calls the UI delegate, falling back to the generic
5827        "create WebView" method.
5828        (-[WebBridge canRunModal]): Added. Checks the UI delegate to see if it implements runModal.
5829        (-[WebBridge canRunModalNow]): Added. Checks the "inConnectionCallback" field so we can prevent
5830        deadlock since we can't do any I/O while inside a connection callback until this aspect of NSURLConnection
5831        is changed.
5832        (-[WebBridge runModal]): Added. Sets "defersCallbacks" on all other web views in the group, then
5833        calls runModal on the UI delegate.
5834
5835        * WebView.subproj/WebBaseResourceHandleDelegate.h: Added inConnectionCallback class method.
5836        * WebView.subproj/WebBaseResourceHandleDelegate.m:
5837        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): Bump count and then
5838        decrement count so we can tell if we are in a callback.
5839        (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): Ditto.
5840        (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): Ditto.
5841        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): Ditto.
5842        (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): Ditto.
5843        (-[WebBaseResourceHandleDelegate connection:willStopBufferingData:]): Ditto.
5844        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): Ditto.
5845        (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): Ditto.
5846        (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): Ditto.
5847        (+[WebBaseResourceHandleDelegate inConnectionCallback]): Added. Return YES if count is not 0.
5848
5849        * WebView.subproj/WebMainResourceClient.m:
5850        (-[WebMainResourceClient receivedError:]): Changed to use the method without the connection: parameter
5851        in the base class, since we no longer are overriding the connection: version.
5852        (-[WebMainResourceClient willSendRequest:redirectResponse:]): Change to override the version without
5853        the connection prefix/parameter; now only the base class overrides the actual connection delegate methods.
5854        (-[WebMainResourceClient continueAfterContentPolicy:response:]): Ditto.
5855        (-[WebMainResourceClient didReceiveResponse:]): Ditto.
5856        (-[WebMainResourceClient didReceiveData:lengthReceived:]): Ditto.
5857        (-[WebMainResourceClient didFinishLoading]): Ditto.
5858        (-[WebMainResourceClient didFailWithError:]): Ditto.
5859        (-[WebMainResourceClient loadWithRequestNow:]): Call the method without the connection parameter.
5860
5861        * WebView.subproj/WebUIDelegatePrivate.h: Added new SPI here that WebBrowser implements.
5862
58632005-05-26  Darin Adler  <darin@apple.com>
5864
5865        Reviewed by John.
5866
5867        - fix build failure from when I removed WebCoreUnicode
5868
5869        * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of WebUnicode.h that I missed.
5870        (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Switch from our own macros
5871        to the ICU macros for surrogate pairs.
5872        (widthForNextCharacter): Ditto.
5873
58742005-05-26  David Harrison  <harrison@apple.com>
5875
5876        <rdar://problem/4120518> Mail: control-T in an empty message crashes mail
5877
5878        * WebCoreSupport.subproj/WebBridge.m:
5879        (-[WebBridge issueTransposeCommand]):
5880        New, to support transpose in JS.
5881
58822005-05-26  Darin Adler  <darin@apple.com>
5883
5884        Reviewed by Richard and Dave Harrison.
5885
5886        - eliminate WebCoreUnicode and use ICU directly instead
5887
5888        * Misc.subproj/WebKitNSStringExtras.m: (canUseFastRenderer): Use u_charDirection directly.
5889        * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of <WebCore/WebCoreUnicode.h>.
5890        * WebView.subproj/WebHTMLView.m: (+[WebHTMLView initialize]): Removed call to WebKitInitializeUnicode.
5891
5892        * Misc.subproj/WebUnicode.h: Removed.
5893        * Misc.subproj/WebUnicode.m: Removed.
5894        * Misc.subproj/WebUnicodeTables.m: Removed.
5895
5896        * WebKit.pbproj/project.pbxproj: Removed files.
5897
58982005-05-24  Richard Williamson   <rjw@apple.com>
5899
5900	Fixed <rdar://problem/4097289> -[WebView elementAtPoint:] failing when WebView is nested and offset
5901
5902	Code to determine the correct frame under the window point was
5903	converting the point incorrectly.
5904
5905        Reviewed by Chris.
5906
5907        * WebView.subproj/WebView.m:
5908        (-[WebView _frameViewAtWindowPoint:]):
5909
59102005-05-23  John Sullivan  <sullivan@apple.com>
5911
5912        Reviewed by Kevin.
5913        
5914        - WebKit part of <rdar://problem/4125783> WebKit needs a way to control whether textareas are resizable
5915
5916        * WebView.subproj/WebPreferencesPrivate.h:
5917        added private-for-now getter and setter for new preference
5918        * WebView.subproj/WebPreferenceKeysPrivate.h:
5919        added private preference key controlling whether textareas are resizable
5920        * WebView.subproj/WebPreferences.m:
5921        (+[WebPreferences initialize]):
5922        initial value of new preference is NO, so other clients' behavior doesn't change
5923        (-[WebPreferences textAreasAreResizable]):
5924        new getter
5925        (-[WebPreferences setTextAreasAreResizable:]):
5926        new setter
5927        
5928        * WebView.subproj/WebView.m:
5929        (-[WebView _updateWebCoreSettingsFromPreferences:]):
5930        update this new setting in WebCore
5931
5932        * English.lproj/StringsNotToBeLocalized.txt:
5933        updated for these changes
5934
59352005-05-23  Chris Blumenberg  <cblu@apple.com>
5936
5937	Changed type for identifier parameter in WebResourceLoadDelegate-related calls to id from NSString.
5938
5939        Reviewed by kevin.
5940
5941        * WebCoreSupport.subproj/WebBridge.m:
5942        (-[WebBridge objectLoadedFromCacheWithURL:response:data:]):
5943        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
5944        * WebView.subproj/WebFrame.m:
5945        (-[WebFrame _opened]):
5946        (-[WebFrame _requestFromDelegateForRequest:identifier:error:]):
5947        (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
5948        (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]):
5949        * WebView.subproj/WebFrameInternal.h:
5950
59512005-05-20  Chris Blumenberg  <cblu@apple.com>
5952
5953	Fixed: <rdar://problem/4098786> sync. XMLHttpRequest works w/o AllowNetworkAccess key because load delegate is not consulted
5954
5955	Synchronous loads did not cause the willSendRequest method on the resource load delegate to be called. This is the method that Dashboard uses to enforce AllowNetworkAccess and this must be called to avoid exploits.
5956
5957        Reviewed by sullivan.
5958
5959        * WebCoreSupport.subproj/WebBridge.m:
5960        (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then 
5961	[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] so synthetic resource load delegate 
5962	methods are called and the data is saved as a WebResource for resources in the WebCore cache.
5963
5964        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:],
5965	respect its result, do the load and then call [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] 
5966	for synchronous loads
5967
5968        * WebView.subproj/WebFrame.m:
5969        (-[WebFrame _opened]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then 
5970	[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:] so synthetic resource load delegate methods are called 
5971	for subresrources in the page cache
5972        
5973	(-[WebFrame _requestFromDelegateForRequest:identifier:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
5974	This method calls identifierForInitialRequest and willSendRequest.
5975
5976        (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
5977	This method calls the remaining resource load delegate messages.
5978
5979        (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]): new, saves the resource and calls
5980	[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]
5981
5982        * WebView.subproj/WebFrameInternal.h:
5983
59842005-05-17  Chris Blumenberg  <cblu@apple.com>
5985	
5986	Fixed: <rdar://problem/4119282> clicking a link in an RTF file opens the link with NSWorkspace without the usual security checks or WebView delegate control
5987
5988        Reviewed by mjs.
5989
5990        * WebCoreSupport.subproj/WebBridge.m:
5991        (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): pass the passed referrer to canLoadURL::: not [self referrer]
5992        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto
5993        * WebView.subproj/WebTextView.m:
5994        (-[WebTextView clickedOnLink:atIndex:]): call the loadURL bridge method so that security checks are made, command/option clicks work, policy delegate is consulted etc.
5995
59962005-05-17  Chris Blumenberg  <cblu@apple.com>
5997
5998	Fixed: <rdar://problem/4120255> web archives on remote servers can be viewed directly (with major security issues); should download instead
5999
6000        Reviewed by mjs.
6001
6002        * WebView.subproj/WebBaseResourceHandleDelegate.h:
6003        * WebView.subproj/WebMainResourceClient.m:
6004        (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the WebKit client has chosen to "use" a remote web archive, stop the load with an error
6005
60062005-05-16  Darin Adler  <darin@apple.com>
6007
6008        - attempt to get things building under "Saffron" development tools
6009
6010        * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.
6011
60122005-05-13  John Sullivan  <sullivan@apple.com>
6013
6014        Reviewed by Kevin.
6015        
6016        - fixed <rdar://problem/4093306> Safari crashes if Esc key is held down during series 
6017        of authentication sheets
6018
6019        * Panels.subproj/WebAuthenticationPanel.m:
6020        (-[WebAuthenticationPanel cancel:]):
6021        retain and autorelease self. This is a workaround for an AppKit key-handling issue, which I wrote up as:
6022        <rdar://problem/4118422> Key-down events can be sent to a closed window if a key is kept pressed down
6023
60242005-05-12  John Sullivan  <sullivan@apple.com>
6025
6026        Reviewed by Kevin.
6027
6028        - rolled in changes from experimental-ui-branch to support resizable textareas
6029        and find-as-you-type and confirming unsubmitted form changes. The files/functions 
6030        modified are listed just below. After that are the ChangeLog comments from the branch.
6031
6032        * WebCoreSupport.subproj/WebBridge.m:
6033        (-[WebBridge textDidChange:]):
6034        * WebView.subproj/WebFormDelegate.h:
6035        * WebView.subproj/WebFormDelegate.m:
6036        (-[WebFormDelegate textDidChange:inFrame:]):
6037        * WebView.subproj/WebHTMLView.m:
6038        (-[WebHTMLView maintainsInactiveSelection]):
6039        (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
6040        (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
6041        * WebView.subproj/WebView.m:
6042        (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
6043        (-[WebView searchFor:direction:caseSensitive:wrap:]):
6044        (-[WebView makeTextStandardSize:]):
6045        (-[WebView maintainsInactiveSelection]):
6046        * WebView.subproj/WebViewPrivate.h:
6047        
6048        2005-04-18  John Sullivan  <sullivan@apple.com>
6049
6050                WebKit support for notifying a form delegate when a
6051                textarea's contents have changed (as opposed to a 
6052                textfield, which was already handled).
6053
6054                Reviewed by Maciej.
6055
6056                * WebView.subproj/WebFormDelegate.h:
6057                * WebView.subproj/WebFormDelegate.m:
6058                (-[WebFormDelegate textDidChange:inFrame:]):
6059                new form delegate method
6060
6061                * WebCoreSupport.subproj/WebBridge.m:
6062                (-[WebBridge textDidChange:]):
6063                new method, calls through to form delegate
6064                
6065        2005-04-11  John Sullivan  <sullivan@apple.com>
6066
6067                Fixed inability to wrap around in Find in Page 
6068
6069                * WebView.subproj/WebView.m:
6070                (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
6071                changed wrapFlag from NO to YES on two lines (copy/paste error)
6072
6073        2005-04-07  John Sullivan  <sullivan@apple.com>
6074
6075                WebKit support for find-as-you-type. Needed an additional parameter on
6076                a method from WebDocumentSearching protocol. Since that's a public protocol, 
6077                I couldn't just add the parameter. For now I hacked it with an undeclared
6078                internal method that's discovered via respondsToSelector. Probably the right
6079                long-term approach is to deprecate the WebDocumentSearching protocol and introduce
6080                a replacement that has a more flexible set of parameters for possible future
6081                expansion.
6082
6083                Reviewed by Dave Hyatt.
6084
6085                * WebView.subproj/WebHTMLView.m:
6086                (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
6087                now calls new one-more-parameter version passing NO for new parameter to match old behavior
6088                (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
6089                new method, adds findInSelection parameter and passes it through to bridge
6090                 
6091                * WebView.subproj/WebView.m:
6092                (-[WebView searchFor:direction:caseSensitive:wrap:]):
6093                now calls new one-more-parameter version passing NO for new parameter to match old behavior
6094                (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
6095                new method, adds findInSelection parameter and passes it through
6096
6097        2005-04-07  John Sullivan  <sullivan@apple.com>
6098
6099                WebKit support to allow clients to control whether the selection is still
6100                drawn when the first responder is elsewhere. Formerly this was hardwired
6101                to be true only when -[WebView isEditable] was true.
6102
6103                Reviewed by Darin.
6104
6105                * WebView.subproj/WebHTMLView.m:
6106                (-[WebHTMLView maintainsInactiveSelection]):
6107                check [WebView maintainsInactiveSelection] rather than just [WebView isEditable]
6108                
6109                * WebView.subproj/WebViewPrivate.h:
6110                * WebView.subproj/WebView.m:
6111                (-[WebView maintainsInactiveSelection]):
6112                new method for clients to override, returns -[self isEditable]
6113        
6114
61152005-05-10  John Sullivan  <sullivan@apple.com>
6116
6117        Reviewed by Kevin.
6118        
6119        - WebKit support for <rdar://problem/3795701> Menu item/keyboard shortcut to 
6120        restore text zoom to normal
6121
6122        * WebView.subproj/WebView.m:
6123        (-[WebView validateUserInterfaceItem:]):
6124        validate makeTextStandardSize by calling canMakeTextStandardSize
6125        (-[WebView canMakeTextStandardSize]):
6126        new method, returns YES unless text size multiplier is currently 1
6127        (-[WebView makeTextStandardSize:]):
6128        new method, sets text size multiplier to 1
6129        
6130        * WebView.subproj/WebViewPrivate.h:
6131        add makeTextStandardSize: and canMakeTextStandardSize to pending public category
6132
61332005-05-10  John Sullivan  <sullivan@apple.com>
6134
6135        Reviewed by Chris.
6136        
6137        - fixed <rdar://problem/4067981> Mail places RTF flavor before RTFD flavor when dragging 
6138        mixed image/text content.
6139
6140        * WebView.subproj/WebHTMLView.m:
6141        (+[WebHTMLView _selectionPasteboardTypes]):
6142        put RTFD type before RTF type in array of types to declare
6143
61442005-05-09  Chris Blumenberg  <cblu@apple.com>
6145
6146	Turned assertion into error message to prevent crash when encountering this bug:
6147	<rdar://problem/4067625> connection:willCacheResponse: is called inside of [NSURLConnection initWithRequest:delegate:]
6148	
6149        * WebView.subproj/WebBaseResourceHandleDelegate.h:
6150        * WebView.subproj/WebBaseResourceHandleDelegate.m:
6151        (-[WebBaseResourceHandleDelegate loadWithRequest:]): set flag to track when we're initializing the connection
6152        (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): log error
6153
61542005-05-09  Darin Adler  <darin@apple.com>
6155
6156        * Makefile.am: Don't set up PBXIntermediatesDirectory explicitly;
6157        Not needed to make builds work, spews undesirable error messages too.
6158
61592005-05-06  Darin Adler  <darin@apple.com>
6160
6161        Reviewed by Maciej.
6162
6163        - make building multiple trees with make work better
6164
6165        * Makefile.am: Set up Xcode build directory before invoking xcodebuild.
6166
61672005-05-04  Darin Adler  <darin@apple.com>
6168
6169        Reviewed by Dave Hyatt.
6170
6171        - fixed layout tests
6172
6173        * WebKit.pbproj/project.pbxproj: Set deployment target to 10.3 in the build styles.
6174        When built without a build style (by Apple B&I) we want to get the target from the
6175        environment. But when built with a build style (by Safari engineers and others), we want
6176        to use 10.3. Because our deployment target was not set, we ran into this bug:
6177
6178            <rdar://problem/4108717> CTFontGetGlyphWithName doesn't work with some strings
6179
6180        * Makefile.am: Took out extra parameters that make command-line building different from
6181        Xcode building. Now that this is fixed, you should not get a full rebuild if you switch
6182        from command line to Xcode or back.
6183
61842005-05-04  Chris Blumenberg  <cblu@apple.com>
6185
6186	Fixed: 
6187	<rdar://problem/4078417> REGRESSION (125-412): MLB gameday page doesn't update (Flash)
6188	<rdar://problem/4072280> XMLHttpRequest calls onReadyStateChange callback with bogus status value
6189        
6190	Reviewed by john.
6191
6192	Our WebKit-level caching of subresources "dumbed-down" information held in NSURLResponse. This caused some loads to lack response headers and thus disabling cache directives. Status codes were also not retained and this caused XMLHttpRequest to fail frequently. The fix is to have WebResource retain the NSURLResponse and to use the NSURLResponse when we decide to load from WebResources.
6193
6194        * WebCoreSupport.subproj/WebBridge.m:
6195        (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call new [WebResource _initWithData:URL:response:]
6196        * WebView.subproj/WebBaseResourceHandleDelegate.m:
6197        (-[WebBaseResourceHandleDelegate _canUseResourceWithResponse:]): new, checks response cache directives
6198        (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceWithResponse:
6199        (-[WebBaseResourceHandleDelegate saveResource]): call new [WebResource _initWithData:URL:response:]
6200        * WebView.subproj/WebResource.m:
6201        (-[WebResourcePrivate dealloc]):
6202        (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call renamed _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:
6203        (-[WebResource initWithCoder:]): decode the NSURLReponse
6204        (-[WebResource encodeWithCoder:]): encode the NSURLReponse
6205        (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): take the NSURLReponse
6206        (-[WebResource _initWithData:URL:response:]): new
6207        (-[WebResource _initWithPropertyList:]): decode the NSURLReponse
6208        (-[WebResource _propertyListRepresentation]): encode the NSURLReponse
6209        (-[WebResource _response]): return ivar if we have one
6210        * WebView.subproj/WebResourcePrivate.h:
6211
62122005-05-03  David Hyatt  <hyatt@apple.com>
6213
6214	Fix object element support so that fallback content works.  With this change Safari passes the Acid2 test.
6215	
6216        Reviewed by Maciej
6217
6218        * WebCoreSupport.subproj/WebBridge.m:
6219        (-[WebBridge determineObjectFromMIMEType:URL:]):
6220        * WebView.subproj/WebDataSource.m:
6221        (-[WebDataSource _receivedMainResourceError:complete:]):
6222        * WebView.subproj/WebMainResourceClient.m:
6223        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
6224
62252005-05-03  Darin Adler  <darin@apple.com>
6226
6227        * WebView.subproj/WebUIDelegate.h: Fixed incorrect comment.
6228
62292005-05-01  Darin Adler  <darin@apple.com>
6230
6231        - move to Xcode native targets and stop checking in generated files
6232
6233        * WebKit.pbproj/project.pbxproj: Updated to use native targets and generate all the generated
6234        files, so we don't have to check them in any more.
6235        * Info.plist: Added. Native targets use a separate file for this.
6236
6237        * Plugins.subproj/npapi.m: Fixed import statement to get npapi.h from <WebKit/> rather than current directory.
6238
6239        * Makefile.am: Removed timestamp cleaning rules since we don't use it any more.
6240
6241        * .cvsignore: Removed various timestamp files.
6242
6243        * DOM.subproj/DOM-compat.h: Removed.
6244        * DOM.subproj/DOM.h: Removed.
6245        * DOM.subproj/DOMCSS.h: Removed.
6246        * DOM.subproj/DOMCore.h: Removed.
6247        * DOM.subproj/DOMEvents.h: Removed.
6248        * DOM.subproj/DOMExtensions.h: Removed.
6249        * DOM.subproj/DOMHTML.h: Removed.
6250        * DOM.subproj/DOMPrivate.h: Removed.
6251        * DOM.subproj/DOMRange.h: Removed.
6252        * DOM.subproj/DOMStylesheets.h: Removed.
6253        * DOM.subproj/DOMTraversal.h: Removed.
6254        * DOM.subproj/DOMViews.h: Removed.
6255        * Plugins.subproj/WebScriptObject.h: Removed.
6256        * Plugins.subproj/npapi.h: Removed.
6257        * Plugins.subproj/npruntime.h: Removed.
6258        * copy-webcore-files-to-webkit: Removed.
6259        * embed-frameworks.sh: Removed.
6260        * force-clean-timestamp: Removed.
6261
62622005-04-28  Darin Adler  <darin@apple.com>
6263
6264        Reviewed by Maciej.
6265
6266        - fixed problems preventing us from compiling with gcc 4.0
6267
6268        * WebKit.pbproj/project.pbxproj: Removed -fobjc-exceptions because I can't figure out an easy
6269        way to pass it only when compiling Objective-C/C++. Removed -Wmissing-prototypes from
6270        WARNING_CPLUSPLUSFLAGS since it's now a C-only warning.
6271
6272        * History.subproj/WebHistoryItem.m: (-[WebHistoryItem pageCache]): Changed return type
6273        to match the declaration.
6274        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
6275        Fixed a BOOL that should have been a Boolean.
6276        * WebCoreSupport.subproj/WebTextRenderer.m: Removed redundant copy of ROUND_TO_INT, also in
6277        a WebCore header.
6278        (-[WebTextRenderer _computeWidthForSpace]): Had to add cast because of difference in type of
6279        ROUND_TO_INT vs. CEIL_TO_INT.
6280        (pathFromFont): Added a cast to convert UInt8 * to char *.
6281        * WebView.subproj/WebFrameView.m:
6282        (-[WebFrameView _setDocumentView:]): Fixed parameter type to match the declaration.
6283        (-[WebFrameView documentView]): Fixed return type to match the declaration.
6284        * WebView.subproj/WebHTMLView.m:
6285        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
6286        Initialized a variable to quiet an incorrect gcc 4.0 uninitialized variable warning.
6287        (-[WebHTMLView deleteToMark:]): Switched from @try style to NS_DURING style of exception handler
6288        because we can't pass -fobjc-exceptions just to Objective-C at the moment (see above).
6289        (-[WebHTMLView selectToMark:]): Ditto.
6290        (-[WebHTMLView swapWithMark:]): Ditto.
6291
62922005-04-27  John Sullivan  <sullivan@apple.com>
6293
6294        Reviewed by Dave Harrison.
6295        
6296        - fixed <rdar://problem/3547489> pop-up window blocking preference and 
6297        menu item can easily get out of sync.
6298
6299        * WebView.subproj/WebPreferences.m:
6300        (-[WebPreferences _setStringValue:forKey:]):
6301        save local value before setting value in NSUserDefaults, so clients reacting to NSUserDefaults
6302        change notification but calling back on WebPreferences API will see the updated value.
6303        (-[WebPreferences _setIntegerValue:forKey:]):
6304        ditto
6305        (-[WebPreferences _setBoolValue:forKey:]):
6306        ditto
6307
63082005-04-26  Richard Williamson   <rjw@apple.com>
6309
6310	Fixed <rdar://problem/4098713> Scripting API is incompatible with Mozilla
6311
6312        Reviewed by Chris.
6313
6314        * Plugins.subproj/npfunctions.h:
6315        * Plugins.subproj/npruntime.h:
6316
63172005-04-26  Darin Adler  <darin@apple.com>
6318
6319        Reviewed by John.
6320
6321        - fixed <rdar://problem/3655817> please add support for mouse wheel events and the onmousewheel handler
6322
6323        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView scrollWheel:]): Call sendScrollWheelEvent: method
6324        instead of the old scrollOverflowWithScrollWheelEvent: (just a name change).
6325
63262005-04-18  Darin Adler  <darin@apple.com>
6327
6328        Reviewed by Hyatt.
6329
6330        - fixed <rdar://problem/4092614> REGRESSION (Tiger): progressively loaded background images "scroll around" instead of just appearing
6331
6332        * WebCoreSupport.subproj/WebImageData.m:
6333        (-[WebImageData _imageSourceOptions]): Moved a global inside this function, since it's only used here.
6334        (-[WebImageData _cacheImages:allImages:]): Fixed a sizeof that was getting the size of the wrong thing.
6335        (-[WebImageData _isSizeAvailable]): Used calloc in a more consistent way.
6336        (drawPattern): Removed an unneeded cast.
6337        (-[WebImageData tileInRect:fromPoint:context:]): Here's the actual bug fix. Don't use the image size
6338        when deciding whether the image needs to be tiled as a pattern nor when creating the pattern: in both
6339        cases, use the tile size. The old way was wrong, and the new way works perfectly. Also removed uneeded
6340        error message when the image is not yet loaded enough to create a CGImageRef for it -- it's fine to
6341        draw nothing in that case.
6342
63432005-04-14  John Sullivan  <sullivan@apple.com>
6344
6345        Reviewed by Chris.
6346
6347        * WebView.subproj/WebBaseResourceHandleDelegate.m:
6348        (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]):
6349        Beefed up assertion that's been bugging me and Chris to include
6350        the two troublemaking values.
6351
63522005-04-05  David Hyatt  <hyatt@apple.com>
6353
6354	Fix for 4077106, wheel scroll amount smaller in Tiger.  All along wheeling should have been 4x the default
6355	line height of 10 (just as arrow keys did).  Scroll arrows should have done this too for scroll views (they did
6356	already for overflow sections).  This patch puts the override into the scrollview itself, and removes the
6357	multipliers in the private frame methods.
6358	
6359        Reviewed by darin
6360
6361        * WebView.subproj/WebFrameView.m:
6362        (-[WebFrameView _verticalKeyboardScrollDistance]):
6363        (-[WebFrameView initWithFrame:]):
6364        (-[WebFrameView _horizontalKeyboardScrollDistance]):
6365
6366=== WebKit-312.1 ===
6367
63682005-03-31  Chris Blumenberg  <cblu@apple.com>
6369
6370	Fixed: <rdar://problem/4070729> REGRESSION (125-311, Panther-only?): Safari crashes while reloading "My eBay" page
6371
6372        Reviewed by rjw.
6373
6374        * WebView.subproj/WebBaseResourceHandleDelegate.m:
6375        (-[WebBaseResourceHandleDelegate resourceData]): retain and autorelease resourceData since releaseResources (which releases resourceData) may be called before the caller of this method has an opporuntity to retain the returned data
6376
6377=== Safari-412 ===
6378
6379=== Safari-411 ===
6380
63812005-03-23  Richard Williamson   <rjw@apple.com>
6382
6383	Use Patti Yeh's hack to determine the appropriate rectangle
6384	to place the "associated word" window.  
6385	If there is no marked text firstRectForCharacterRange: will
6386	use the selected range to determine the returned rectangle,
6387	ignoring the input range.  This is the fix from
6388	4029491 that I previously backed out.
6389
6390        Reviewed by Vicki.
6391
6392        * WebView.subproj/WebHTMLView.m:
6393        (-[WebHTMLView firstRectForCharacterRange:]):
6394
63952005-03-23  Richard Williamson   <rjw@apple.com>
6396
6397	Fixed <rdar://problem/4062490> REGRESSION (WebKit-408): no subresources reported in Activity window after going back at hrweb.apple.com
6398
6399	Stop collecting subresource responses after the document
6400	had loaded, not after it has been opened.
6401
6402        Reviewed by Chris.
6403
6404        * WebView.subproj/WebFrame.m:
6405        (-[WebFrame _setState:]):
6406        (-[WebFrame _opened]):
6407
64082005-03-21  Maciej Stachowiak  <mjs@apple.com>
6409
6410        Reviewed by Darin.
6411
6412	<rdar://problem/4051145> The QuickTime Cocoa plug-in needs an SPI that it can call to check for URL policy
6413
6414        * Plugins.subproj/WebPluginContainerCheck.h: Added.
6415        * Plugins.subproj/WebPluginContainerCheck.m: Added this new helper class to encapsulate
6416	an async plugin navigation check.
6417        (+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:]): Convenience allocator that gives autoreleased value.
6418        (-[WebPluginContainerCheck initWithRequest:target:resultObject:selector:controller:]): Initializer.
6419        (-[WebPluginContainerCheck finalize]): Just assert that we're done, it would
6420	be bad to deallocate this object while request is still outstanding.
6421        (-[WebPluginContainerCheck dealloc]): Ditto.
6422        (-[WebPluginContainerCheck _continueWithPolicy:]): Method to continue after async
6423	policy check.
6424        (-[WebPluginContainerCheck _isDisallowedFileLoad]): Do "file: URL from remote content"
6425	check.
6426        (-[WebPluginContainerCheck _actionInformationWithURL:]): Helper to make action
6427	dictionary.
6428        (-[WebPluginContainerCheck _askPolicyDelegate]): Call policy delegate to let
6429	the app decide if this load is allowed.
6430        (-[WebPluginContainerCheck start]): Start the check.
6431        (-[WebPluginContainerCheck cancel]): Cancel a check in progress.
6432        * Plugins.subproj/WebPluginController.h:
6433        * Plugins.subproj/WebPluginController.m:
6434        (-[WebPluginController initWithDocumentView:]): Initialize new _checksInProgress field.
6435        (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Implement
6436	this new SPI method.
6437        (-[WebPluginController _cancelOutstandingChecks]): New helper to make sure to cancel
6438	all outstanding requests when destroying all plugins.
6439        (-[WebPluginController destroyAllPlugins]): Call above helper.
6440        (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Implement this new plug-in SPI method.
6441        (-[WebPluginController bridge]): New helper method.
6442        (-[WebPluginController webView]): New helper method.
6443        * WebView.subproj/WebPolicyDelegatePrivate.h: Add new navigation
6444	type WebNavigationTypePlugInRequest.
6445        * WebKit.pbproj/project.pbxproj: Add new files.
6446        * WebView.subproj/WebDefaultPolicyDelegate.m:
6447        (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Don't open externally on a plug-in request.
6448
64492005-03-23  Richard Williamson   <rjw@apple.com>
6450
6451	Fixed <rdar://problem/4053515> REGRESSION (Mail): Kotoeri input method reconversion does not work in WebViews
6452
6453	We now use actual document NSRanges to represent both marked text
6454	ranges and selection ranges.
6455
6456        Reviewed by Ken Kocienda.
6457
6458        * WebView.subproj/WebHTMLView.m:
6459        (-[WebHTMLView validAttributesForMarkedText]):
6460        (-[WebHTMLView firstRectForCharacterRange:]):
6461        (-[WebHTMLView selectedRange]):
6462        (-[WebHTMLView markedRange]):
6463        (-[WebHTMLView _selectMarkedText]):
6464        (-[WebHTMLView setMarkedText:selectedRange:]):
6465
6466=== Safari-410 ===
6467
64682005-03-22  Darin Adler  <darin@apple.com>
6469
6470        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
6471
6472=== Safari-409 ===
6473
64742005-03-20  Maciej Stachowiak  <mjs@apple.com>
6475
6476        Reviewed by Darin.
6477
6478	<rdar://problem/4060020> Add stub version of security SPI for QuickTime plug-in so QuickTime team has something to compile and link against
6479        
6480	* Plugins.subproj/WebPluginContainerPrivate.h: Added.
6481        * Plugins.subproj/WebPluginController.m:
6482        (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]):
6483        (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
6484        * WebKit.pbproj/project.pbxproj:
6485
64862005-03-19  David Harrison  <harrison@apple.com>
6487
6488        Reviewed by Maciej.
6489        
6490        <rdar://problem/4059479> Misspelling underline does underline the whole word, could go farther to the right
6491
6492        * WebCoreSupport.subproj/WebTextRenderer.m:
6493        (-[WebTextRenderer misspellingLinePatternGapWidth]):
6494        (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
6495        Consider that the last pixel in the underline dot pattern is transparent.
6496
64972005-03-19  Darin Adler  <darin@apple.com>
6498
6499        Reviewed by Maciej (a while back).
6500
6501        - fixed <rdar://problem/4059323> local-file security check is allowing plug-in streams, but must not
6502
6503        * Plugins.subproj/WebNetscapePluginStream.m:
6504        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
6505        Roll out change I made on 3-13. That change is needed for subresource, but not for plug-in streams.
6506        For plug-in streams it's too risky, and leaves a serious security hole open.
6507
65082005-03-19  Darin Adler  <darin@apple.com>
6509
6510        Reviewed by Ken and John.
6511
6512        - fixed <rdar://problem/4059123> REGRESSION (402-403): deleteWordForward: and deleteWordBackward: start deleting single characters after the first delete
6513
6514        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
6515        Fixed backwards logic in here and added missing check. Set action to one of the two typing actions only
6516        if isTypingAction is YES.
6517
65182005-03-19  David Harrison  <harrison@apple.com>
6519
6520        Reviewed by me (written by Patti Yeh).
6521        
6522        <rdar://problem/4029491> <TCIM> CangJie: the candidate window appears at the top left hand corner during typing in Mail and iChat
6523
6524        * WebView.subproj/WebHTMLView.m:
6525        (-[WebHTMLView firstRectForCharacterRange:]):
6526        Use selected range if there is no marked range.
6527
6528=== Safari-408 ===
6529
65302005-03-18  David Harrison  <harrison@apple.com>
6531
6532        Reviewed by Darin.
6533
6534        <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch
6535
6536        * WebView.subproj/WebFrameView.m:
6537        (-[WebFrameView webCoreBridge]):
6538        New to conform to WebCoreBridgeHolder protocol.
6539
65402005-03-18  Richard Williamson   <rjw@apple.com>
6541	
6542	Fixed <rdar://problem/4057004> Data from XMLHTTPRequest is never dealloced
6543
6544	WebDataSource keeps an array of all the NSURLResponses associated
6545	with the load for a page.  This is used to playback delegate messages
6546	when loading from the page cache.  However, after the document
6547	has completed it's initial load, we continue to keep track of responses. 
6548	So, this has the consequence of keeping all the responses for a page
6549	around for the life of the page.  NSURLResponses are now very
6550	heavy.  They indirectly reference the resource data (via the
6551	download assessment dictionary).  This fix will keep
6552	references to responses around for those resources loaded during initial
6553	page load, but not after that point.
6554
6555        Reviewed by Ken.
6556
6557        * WebView.subproj/WebDataSource.m:
6558        (-[WebDataSource _addResponse:]):
6559        (-[WebDataSource _stopRecordingResponses]):
6560        * WebView.subproj/WebDataSourcePrivate.h:
6561        * WebView.subproj/WebFrame.m:
6562        (-[WebFrame _opened]):
6563
65642005-03-18  Ken Kocienda  <kocienda@apple.com>
6565
6566        Reviewed by Darin
6567
6568        Fix for this bug:
6569        
6570        <rdar://problem/4053729> Copy/paste of page with frames into Blot or Mail does nothing and loses insertion point
6571
6572        * WebView.subproj/WebHTMLView.m:
6573        (-[WebHTMLView _selectedArchive]): Wrap frameset documents in an iframe, so they can be pasted into 
6574        existing documents which will have a body or frameset of their own.
6575
6576=== Safari-407 ===
6577
65782005-03-17  Richard Williamson   <rjw@apple.com>
6579
6580	Fixed <rdar://problem/4055562> REGRESSION (Tiger): Safari doesn't draw progressively-loaded JPEGs (www.theregister.co.uk, www.titantalk.com)
6581
6582	Anothe side effect of lazy loading of image meta data.  We now
6583	don't cache image size until size meta data is actually available.
6584
6585        Reviewed by Darin.
6586
6587        * WebCoreSupport.subproj/WebImageData.m:
6588        (-[WebImageData size]):
6589
65902005-03-16  David Harrison  <harrison@apple.com>
6591
6592        Reviewed by Maciej.
6593        
6594        <rdar://problem/4048506> Deleting from beginning of editable div deletes other document elements
6595        
6596        Also changed WebCore.
6597
6598        * WebView.subproj/WebHTMLView.m:
6599        (-[WebHTMLView _shouldDeleteRange:]):
6600        Added call to new bridge method canDeleteRange.
6601
66022005-03-16  Ken Kocienda  <kocienda@apple.com>
6603
6604        Reviewed by Darin
6605
6606        Fix for this bug:
6607        
6608        <rdar://problem/4042935> undo doesn't work properly during inline input
6609
6610        * WebView.subproj/WebHTMLView.m:
6611        (-[WebHTMLView setMarkedText:selectedRange:]): Call new -[WebCoreBridge replaceMarkedTextWithText:] instead of 
6612        -[WebCoreBridge replaceSelectionWithText:selectReplacement:smartReplace:]. The former call was just added in 
6613        order to provide a better mapping of international text input onto the typing command/undo design.
6614
66152005-03-15  Richard Williamson   <rjw@apple.com>
6616
6617	Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance
6618
6619	If client mutates request use new Foundation SPI to address remove applewebdata properties	from request.
6620
6621        Reviewed by Ken Kocienda.
6622
6623        * WebView.subproj/WebBaseResourceHandleDelegate.m:
6624        (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
6625        * WebView.subproj/WebDataProtocol.h:
6626        * WebView.subproj/WebDataProtocol.m:
6627        (+[NSURLRequest _webDataRequestPropertyKey]):
6628
66292005-03-15  Ken Kocienda  <kocienda@apple.com>
6630
6631        Reviewed by Vicki
6632
6633        Fox for this bug:
6634        
6635        <rdar://problem/4052642> Each delete keystroke is in its own undo group; not included in undo group with other typing
6636
6637        Calling -[WebCore setSelectedDOMRange:range affinity:] had the result of "closing" any active set of typing
6638        keystrokes grouped together in a single undo operation. My change on 27 Jan to route delete keystrokes 
6639        through _deleteRange:killRing:... made this feature regress. Previous to that change, the backwards delete
6640        key went through separate code that is no longer in the tree that did not set the selection in the way
6641        it is done now.
6642        
6643        The solution is to add an extra argument to the set-selection call. The WebCoreBridge now offers this method:
6644        -[WebCore setSelectedDOMRange:range affinity:closeTyping:]. Now, callers must indicate whether setting the 
6645        selection will act to close typing or not. The code changes below all add this new argument with the
6646        appropriate value for closeTyping.
6647
6648        * WebView.subproj/WebHTMLView.m:
6649        (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Passes NO for closeTyping when
6650        deletionAction is deleteKeyAction or forwardDeleteKeyAction; YES when deleteSelectionAction.
6651        (-[WebHTMLView _expandSelectionToGranularity:]): Passes YES for closeTyping.
6652        (-[WebHTMLView selectToMark:]): Passes YES for closeTyping.
6653        (-[WebHTMLView swapWithMark:]): Passes YES for closeTyping.
6654        (-[WebHTMLView transpose:]): Passes YES for closeTyping.
6655        (-[WebHTMLView _selectMarkedText]): Passes NO for closeTyping.
6656        (-[WebHTMLView _selectRangeInMarkedText:]): Passes NO for closeTyping.
6657        * WebView.subproj/WebView.m:
6658        (-[WebView setSelectedDOMRange:affinity:]): Passes YES for closeTyping.
6659
66602005-03-14  Richard Williamson   <rjw@apple.com>
6661
6662	Fix <rdar://problem/4051389> 8A413: gifs animating too fast
6663
6664        Reviewed by Maciej.
6665
6666	Match Mozilla's policy for minimum frame duration, which is somewhat odd:
6667
6668	<= 0.01 sec use .1 sec, otherwise use specified duration.
6669
6670        * WebCoreSupport.subproj/WebImageData.m:
6671        (-[WebImageData _frameDurationAt:]):
6672
66732005-03-14  Darin Adler  <darin@apple.com>
6674
6675        Reviewed by Harrison.
6676
6677        - fixed <rdar://problem/4049776> Seed: Mail: Disable spellcheck leaves red artifacts
6678
6679        * WebView.subproj/WebFrameInternal.h: Added _unmarkAllMisspellings.
6680        * WebView.subproj/WebFrame.m: (-[WebFrame _unmarkAllMisspellings]): Added.
6681        Calls unmarkAllMisspellings on the bridge and self and all subframes.
6682
6683        * WebView.subproj/WebView.m: (-[WebView setContinuousSpellCheckingEnabled:]):
6684        Call _unmarkAllMisspellings on the main frame when turning continuous spell checking off.
6685
66862005-03-14  Richard Williamson   <rjw@apple.com>
6687
6688	Fixed <rdar://problem/4027928> Tiger_8A394:Acrobat crashes while tried to remove the subscription errors by clicking on "Would you like to remove the subscription" from Tracker details view pane
6689
6690	The Acrobat application triggers loads of new documents in it's policy delegate.  This
6691	ultimately causes the WebHTMLView to be released before their event handlers have
6692	returned.  To bullet proof against this case we retain/release self before passing
6693	the event on for further handling.
6694	
6695        Reviewed by Maciej.
6696
6697        * WebView.subproj/WebHTMLView.m:
6698        (-[WebHTMLView _updateMouseoverWithEvent:]):
6699        (-[WebHTMLView scrollWheel:]):
6700        (-[WebHTMLView mouseDown:]):
6701        (-[WebHTMLView mouseDragged:]):
6702        (-[WebHTMLView mouseUp:]):
6703        (-[WebHTMLView keyDown:]):
6704        (-[WebHTMLView keyUp:]):
6705        (-[WebHTMLView performKeyEquivalent:]):
6706
67072005-03-14  Vicki Murley  <vicki@apple.com>
6708
6709	- roll out the fix for 4040321, since it is still pending CCC review.
6710
6711    2005-03-10  Richard Williamson   <rjw@apple.com>
6712
6713        Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance 
6714
6715        Reviewed by Darin.
6716
6717        If a delegate returns a mutated applewebdata: request in it's willSendRequest:
6718        method, we don't load using the WebDataRequest.  Instead we do a normal load.
6719        Unfortunately, if the request they return is mutated *copy* of the applewebdata: 
6720        request it will hold the applewebdata: special properties.  These properties 
6721        will be encoded into the cache.   They should not be.  So, to fix, we sanitize the
6722        request, by removing the special properties from the request.
6723
6724        Note that we had to dig into the private guts of NSURLRequest because there is
6725        no public mechanism to remove properties from a request, see 4046775.
6726
6727        * WebView.subproj/WebBaseResourceHandleDelegate.m:
6728        (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
6729        * WebView.subproj/WebDataProtocol.h:
6730        * WebView.subproj/WebDataProtocol.m:
6731        (-[NSURLRequest _webDataRequestExternalRequest]):
6732        (-[NSURLRequest _webDataRequestSanitize]):
6733
6734=== Safari-406 ===
6735
67362005-03-13  Darin Adler  <darin@apple.com>
6737
6738        Reviewed by Ken and Maciej.
6739
6740        - fixed <rdar://problem/4049040> REGRESSION (403-405): security check prevents user stylesheet from loading (Dictionary.app doesn't work at all!)
6741
6742        * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
6743        Allow plug-in subresource streams to load with any URL, ignoring the "canLoadURL" method's restriction (only
6744        file URLs can load other file URLs), which now applies only to main resources, like web pages in frames or
6745        object tags and plug-in main resources.
6746
6747        * WebCoreSupport.subproj/WebBridge.m:
6748        (-[WebBridge startLoadingResource:withURL:customHeaders:]): Allow subresources to load with any URL, as above.
6749        This allows things like images, stylesheets, and JavaScript to be loaded without the "canLoadURL" method's
6750        restriction.
6751        (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
6752        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto.
6753
67542005-03-10  Richard Williamson   <rjw@apple.com>
6755
6756	Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance 
6757
6758        Reviewed by Darin.
6759
6760	If a delegate returns a mutated applewebdata: request in it's willSendRequest:
6761	method, we don't load using the WebDataRequest.  Instead we do a normal load.
6762	Unfortunately, if the request they return is mutated *copy* of the applewebdata: 
6763	request it will hold the applewebdata: special properties.  These properties 
6764	will be encoded into the cache.   They should not be.  So, to fix, we sanitize the
6765	request, by removing the special properties from the request.
6766
6767	Note that we had to dig into the private guts of NSURLRequest because there is
6768	no public mechanism to remove properties from a request, see 4046775.
6769
6770        * WebView.subproj/WebBaseResourceHandleDelegate.m:
6771        (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
6772        * WebView.subproj/WebDataProtocol.h:
6773        * WebView.subproj/WebDataProtocol.m:
6774        (-[NSURLRequest _webDataRequestExternalRequest]):
6775        (-[NSURLRequest _webDataRequestSanitize]):
6776
6777=== Safari-405 ===
6778
67792005-03-10  Maciej Stachowiak  <mjs@apple.com>
6780
6781        Reviewed by Vicki.
6782
6783	<rdar://problem/4046510> REGRESSION (TOT): All Flash and Shockwave plugin-based web content missing
6784        
6785	* Plugins.subproj/WebNetscapePluginStream.m:
6786        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
6787
67882005-03-10  John Sullivan  <sullivan@apple.com>
6789
6790        Reviewed by Vicki.
6791        
6792        - fixed <rdar://problem/4045843> Going back/forward to error page 
6793        hits assertion in -[WebDataSource(WebPrivate) _setData:]
6794
6795        * WebView.subproj/WebDataSource.m:
6796        (-[WebDataSource _setData:]):
6797        Removed bogus assertion
6798
67992005-03-09  Deborah Goldsmith  <goldsmit@apple.com>
6800
6801        Reviewed by Darin.
6802
6803        - fixed <rdar://problem/3997044> default encoding for non-Latin incorrect
6804
6805	* WebKit/WebView.subproj/WebPreferences.m: (+[WebPreferences _systemCFStringEncoding]):
6806        Call __CFStringGetUserDefaultEncoding to get region, and TECGetWebTextEncodings to get
6807        the first encoding to determine the default encoding.
6808
68092005-03-09  Darin Adler  <darin@apple.com>
6810
6811        Reviewed by Richard.
6812
6813        - fixed <rdar://problem/4034175> REGRESSION (Mail): Can't use any font with style Light/Condensed/Semibold/Extrabold, etc
6814
6815        * WebView.subproj/WebHTMLView.m:
6816        (-[WebHTMLView _styleFromFontAttributes:]): Use a constant instead of hard-coded weight for clarity.
6817        (-[WebHTMLView _originalFontA]): Ditto.
6818        (-[WebHTMLView _originalFontB]): Ditto.
6819        (-[WebHTMLView _addToStyle:fontA:fontB:]): Add code to detect the case where the family name is not good enough
6820        to specify the font precisely. In that case, use the Postscript font name instead. Also change variable names
6821        so it's easier to understand the method.
6822
68232005-03-06  Maciej Stachowiak  <mjs@apple.com>
6824
6825        Reviewed by Darin.
6826
6827	<rdar://problem/4005575> Arbitrary file disclosure vulnerability due to ability to load local html from remote content
6828        
6829	* Plugins.subproj/WebBaseNetscapePluginView.m:
6830        (-[WebBaseNetscapePluginView requestWithURLCString:]):
6831        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
6832        (-[WebNetscapePluginEmbeddedView didStart]):
6833        * Plugins.subproj/WebNetscapePluginStream.m:
6834        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
6835        * WebCoreSupport.subproj/WebBridge.m:
6836        (-[WebBridge createWindowWithURL:frameName:]):
6837        (-[WebBridge startLoadingResource:withURL:customHeaders:]):
6838        (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]):
6839        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
6840        (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
6841        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
6842        (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
6843        (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
6844        * WebView.subproj/WebFrame.m:
6845        (-[WebFrame _loadURL:referrer:intoChild:]):
6846        * WebView.subproj/WebFramePrivate.h:
6847
68482005-03-09  Richard Williamson   <rjw@apple.com>
6849	
6850	Fixed <rdar://problem/4032938> Safari: text layout for MS P Gothic font is corrupted
6851
6852	The AppKit and ATS reports that MS P Gothic is fixed pitch.  It is
6853	not!  This is another case of "fixed pitch" being wrong.  I've
6854	coalesced all the special cases into our isFontFixedPitch:, and
6855	used a dictionary to improve speed.  No performance regression.
6856
6857        Reviewed by Maciej.
6858
6859        * WebCoreSupport.subproj/WebTextRenderer.m:
6860        (-[WebTextRenderer _computeWidthForSpace]):
6861        * WebCoreSupport.subproj/WebTextRendererFactory.m:
6862        (-[WebTextRendererFactory clearCaches]):
6863        (-[WebTextRendererFactory isFontFixedPitch:]):
6864
68652005-03-09  Darin Adler  <darin@apple.com>
6866
6867        Reviewed by Maciej.
6868
6869        <rdar://problem/4040388> REGRESSION (172-173): nonrepro crash in -[NSString(WebNSURLExtras) _web_isUserVisibleURL]
6870
6871        * Misc.subproj/WebNSURLExtras.m:
6872        (-[NSString _web_isUserVisibleURL]): Fixed some pointer expressions that didn't include the index in the expression.
6873        (readIDNScriptWhiteListFile): Removed NSLog statements in here since we decided they aren't useful and they will
6874        write some messages on Tiger.
6875
68762005-03-09  Darin Adler  <darin@apple.com>
6877
6878        * DOM.subproj/DOMPrivate.h: Checked in file copied from WebCore.
6879
68802005-03-08  Richard Williamson   <rjw@apple.com>
6881
6882        Fixed <rdar://problem/4036949> many JPEG images fail to incremental-load due to change in ImageIO JPEG header parsing (to be fixed in WebKit)
6883	Fixed <rdar://problem/4042570> Need to check image properties for presence of width/height properties
6884
6885	ImageIO-55 changed how image properties are created.  They
6886	are now created incrementally.  So we need "re-get" the image
6887	properties if the properties we care about (width/height) aren't
6888	in the property dictionary.
6889
6890        Reviewed by John.
6891
6892        * WebCoreSupport.subproj/WebImageData.h:
6893        * WebCoreSupport.subproj/WebImageData.m:
6894        (-[WebImageData init]):
6895        (-[WebImageData fileProperties]):
6896        (-[WebImageData propertiesAtIndex:]):
6897        (-[WebImageData _isSizeAvailable]):
6898        (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
6899        (-[WebImageData size]):
6900
69012005-03-08  John Sullivan  <sullivan@apple.com>
6902
6903        A couple of tweaks to the previous patch, from Darin's review.
6904
6905        * Misc.subproj/WebNSPasteboardExtras.m:
6906        (_writableTypesForImageWithoutArchive):
6907        remove unnecessary _web prefix
6908        (_writableTypesForImageWithArchive):
6909        ditto
6910        (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
6911        use mutableCopy rather than initWithArray:, and adjust for name changes
6912
69132005-03-08  John Sullivan  <sullivan@apple.com>
6914
6915        Reviewed by Ken.
6916        
6917        - fixed <rdar://problem/4031826> REGRESSION (Mail): standalone images from 
6918        Safari can't be pasted into Mail (WebKit part of fix)
6919        
6920        We were always declaring webarchive-related pasteboard types, even in the standalone
6921        image cases where we had no webarchive. Unfortunately, the WebView pasteboard-related
6922        API doesn't prevent this kind of thing from happening, because the code that
6923        declares the types isn't guaranteed to be anywhere near the code that writes
6924        the pasteboard data.
6925        
6926        After this fix, I discovered that pasting standalone images into Mail still doesn't
6927        work right, but the remaining issues seem to be entirely in Mail. I wrote up 4041671
6928        to cover these.
6929
6930        * Misc.subproj/WebNSPasteboardExtras.h:
6931        (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
6932        Added boolean parameter; clients must specify whether or not there's an
6933        archive involved, because the array of types is different if there is.
6934
6935        * Misc.subproj/WebNSPasteboardExtras.m:
6936        (_web_writableTypesForImageWithoutArchive):
6937        new static function, constructs (once) and returns the array of types
6938        for images that don't have archives
6939        (_web_writableTypesForImageWithArchive):
6940        new static function, constructs (once) and returns the array of types
6941        for images that do have archives
6942        (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
6943        added boolean parameter, now calls one of the two new static functions
6944        
6945        (-[NSPasteboard _web_writeImage:URL:title:archive:types:]):
6946        added asserts that we aren't declaring the archive types if we don't have archive data
6947        
6948        (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
6949        updated to pass parameter to _web_writableTypesForImageIncludingArchive:
6950        
6951        * WebView.subproj/WebDefaultContextMenuDelegate.m:
6952        (-[WebDefaultUIDelegate copyImageToClipboard:]):
6953        updated to pass parameter to _web_writableTypesForImageIncludingArchive:
6954
6955        * WebView.subproj/WebImageView.m:
6956        (-[WebImageView copy:]):
6957        updated to pass parameter to _web_writableTypesForImageIncludingArchive:
6958
6959        * WebView.subproj/WebView.m:
6960        (-[WebView pasteboardTypesForElement:]):
6961        updated to pass parameter to _web_writableTypesForImageIncludingArchive:
6962
69632005-03-07  Richard Williamson   <rjw@apple.com>
6964
6965	More bullet proofing for <rdar://problem/4038304> CrashTracer: ....9 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 840
6966
6967	Protect against removal of Times and Times New Roman from
6968	system.  If these fonts are removed attempt to get system font
6969	instead of FATAL_ALWAYS.
6970
6971        Reviewed by John.
6972
6973        * WebCoreSupport.subproj/WebTextRenderer.m:
6974        (-[WebTextRenderer initWithFont:usingPrinterFont:]):
6975
6976=== Safari-403 ===
6977
69782005-03-06  Darin Adler  <darin@apple.com>
6979
6980        - fixed obvious mistake in IDN script code (luckily it hasn't been in a submission yet!)
6981
6982        * Misc.subproj/WebNSURLExtras.m: (readIDNScriptWhiteListFile): Use "index" to index into the array,
6983        not "script", which is the script number, not the 32-bit-word index.
6984
69852005-03-05  Kevin Decker  <kdecker@apple.com>
6986
6987        Reviewed by Darin.
6988
6989	Fixed: <rdar://problem/4038529> Infinite progress bar loading webcams and other sites that use multipart/x-mixed-replace
6990
6991	The previous patch I landed prevented us from loading multipart/x-mixed-replace but did not always update the progress bar accordingly.  
6992        This stops websites from having seemingly infinite progress in the browser UI.  
6993
6994        * WebCoreSupport.subproj/WebSubresourceClient.m:
6995        (-[WebSubresourceClient didReceiveResponse:]): If this is "multipart/x-mixed-replace", remove the WebBaseResourceHandleDelegate client from 
6996        the datasource's subresource array, otherwise -[WebDataSource isLoading] incorrectly returns YES.   Also it's possible at this point in
6997         time we're done loading now (loaded everything else except for the multipart/x-mixed-replace content) so go ahead and check to see if 
6998         in fact we're complete. 
6999        * WebView.subproj/WebMainResourceClient.m:
7000        (-[WebMainResourceClient connection:didReceiveResponse:]): ditto
7001
70022005-03-05  Richard Williamson   <rjw@apple.com>
7003
7004	Fixed panther build problem.  Shouldn't include
7005	changes for 3968753 on panther.
7006
7007        Reviewed by John.
7008
7009        * WebView.subproj/WebView.m:
7010        (-[WebView _commonInitializationWithFrameName:groupName:]):
7011
70122005-03-05  Darin Adler  <darin@apple.com>
7013
7014        Reviewed by John.
7015
7016        - fixed <rdar://problem/4034603> REGRESSION (185-188): RadarWeb can't send enclosures anymore
7017
7018        * WebView.subproj/WebFormDataStream.m:
7019        (closeCurrentStream): Release currentData when closing the stream.
7020        (advanceCurrentStream): Set up and retain currentData when the current stream is reading that data, so the
7021        data won't be released while in use.
7022        (formCreate): Initialize currentData to NULL.
7023
7024        - fixed <rdar://problem/4037562> Tiger8A402: Help Viewer crashed when viewing help for iChat (infinite recursion in WebView)
7025
7026        * WebView.subproj/WebView.m: (-[WebView _responderValidateUserInterfaceItem:]):
7027        Check for the case where we ourselves are the responder. This avoids an infinite loop.
7028        The actual code to perform operations avoids this with a global variable, but this lighter weight
7029        solution is sufficient here because validate operations don't call through to the next responder.
7030
70312005-03-04  Richard Williamson   <rjw@apple.com>
7032
7033	Fixed <rdar://problem/3968753> REGRESSION: Poor performance with differing multiple animated GIFs (was fast in Panther)
7034
7035	Disable coalesced updates (in CG).  This restores the
7036	panther behavior.
7037
7038        Reviewed by David Harrison.
7039
7040        * WebView.subproj/WebView.m:
7041        (-[WebView _commonInitializationWithFrameName:groupName:]):
7042
70432005-03-04  Adele Amchan  <adele@apple.com>
7044
7045        Reviewed by Darin.
7046
7047        * English.lproj/StringsNotToBeLocalized.txt: added new strings "text/x-vcf" and "text/x-csv" to the list
7048
70492005-03-04  Adele Amchan  <adele@apple.com>
7050
7051        Reviewed by Chris.
7052
7053        Fix for <rdar://problem/4032982> Sun iPlanet app: not able to import AddressBook CSV format addresses properly
7054        Fix for <rdar://problem/4032985> Sun iPlanet app: not able to import vCard format addresses properly
7055
7056        * WebView.subproj/WebTextView.m:
7057        (+[WebTextView unsupportedTextMIMETypes]): added "text/x-csv" and "text/x-vcf" to the list of MIME types that our text view doesn't handle
7058
70592005-03-04  Darin Adler  <darin@apple.com>
7060
7061        Reviewed by John.
7062
7063        - fixed <rdar://problem/4036817> REGRESSION: ctrl-y broken when a line + carriage return cut
7064
7065        * WebView.subproj/WebHTMLView.m:
7066        (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Merged _handleKillRing behavior
7067        into this function, since there's now a more-complicated way the startNewKillRingSequence boolean needs to
7068        be handled. Set the startNewKillRingSequence boolean after the entire process so changing the selection before
7069        and during the editing dosn't clear it. Also change "isTypingAction" parameter to "deletionAction" so we can
7070        handle forward delete with this method.
7071        (-[WebHTMLView _deleteSelection]): Pass deleteSelectionAction for action rather than NO for isTypingAction,
7072        which is the way to say the same thing using the new parameter.
7073        (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Refactor to use the _deleteRange
7074        method above. Also calls _shouldDeleteRange: for the pre-existing selection case; not doing that before was
7075        a bug.
7076        (-[WebHTMLView deleteToMark:]): Pass deleteSelectionAction for action rather than NO for isTypingAction,
7077        which is the way to say the same thing using the new parameter.
7078
70792005-03-04  Darin Adler  <darin@apple.com>
7080
7081        Reviewed by John.
7082
7083        - fixed <rdar://problem/4020413> REGRESSION (Mail): can't use fonts with names that start with "#" in Mail (Korean fonts)
7084
7085        * WebView.subproj/WebHTMLView.m:
7086        (-[WebHTMLView _styleFromFontAttributes:]): Quote font name when calling setFontFamily.
7087        (-[WebHTMLView _addToStyle:fontA:fontB:]): Ditto.
7088
70892005-03-04  Darin Adler  <darin@apple.com>
7090
7091        Reviewed by John.
7092
7093        - fixed <rdar://problem/3965666> IDN spoofing vulnerability caused by Unicode characters that look like ASCII characters
7094
7095        * Misc.subproj/WebNSURLExtras.m:
7096        (readIDNScriptWhiteListFile): Added. Reads file and parses script names.
7097        (readIDNScriptWhiteList): Added. Calls readIDNScriptWhiteList on each of the white list locations in succession.
7098        (allCharactersInIDNScriptWhiteList): Renamed from containsPossibleLatinLookalikes and changed sense.
7099        Now calls readIDNScriptWhiteList first time, and then uses the read-in list to check the scripts.
7100        (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call allCharactersInIDNScriptWhiteList instead of
7101        containsPossibleLatinLookalikes.
7102        * Resources/IDNScriptWhiteList.txt: Added.
7103        * WebKit.pbproj/project.pbxproj: Added IDNScriptWhiteList.txt file.
7104
7105        * Misc.subproj/WebKitLocalizableStrings.m: Removed. This is simply unused.
7106        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
7107
71082005-03-04  Darin Adler  <darin@apple.com>
7109
7110        Reviewed by John.
7111
7112        - fixed <rdar://problem/3937667> REGRESSION (Mail): Zooming a window from titlebar button doesn't paint newly-exposed portions of window
7113
7114        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
7115        Re-set-up the visRect if the bounds changes due to layout.
7116
7117=== Safari-402 ===
7118
71192005-03-03  Jens Alfke  <jens@apple.com>
7120
7121        Reviewed by rjw.
7122
7123	<rdar://problem/3991818> REGRESSION: Images scale while loading
7124	The code could crop an image when not all the scanlines were available yet, and it could crop when only a sub-rect of the image was to be drawn; but if it had to do both at once, it got the coordinates wrong. Fixed that.
7125
7126        * WebCoreSupport.subproj/WebImageData.m:
7127        (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
7128
71292005-03-01  David Hyatt  <hyatt@apple.com>
7130
7131	Fix for 3841186, scrollbar shows up disabled when it should not appear at all.  Make sure updateScrollers
7132	is never allowed to be re-entrant from any call point by moving the guard inside the function itself.
7133	
7134        Reviewed by John Sullivan
7135
7136        * WebView.subproj/WebDynamicScrollBarsView.m:
7137        (-[WebDynamicScrollBarsView updateScrollers]):
7138        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
7139
71402005-03-02  Chris Blumenberg  <cblu@apple.com>
7141
7142	Fixed: <rdar://problem/4029010> Expose method to retrieve drag image for WebView's selection
7143
7144        Reviewed by sullivan.
7145
7146        * WebView.subproj/WebHTMLView.m:
7147        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call _selectionDraggingImage
7148        (-[WebHTMLView _selectionDraggingImage]): new SPI for Mail, factored from previous method
7149        (-[WebHTMLView _selectionDraggingRect]): new SPI for Mail
7150        * WebView.subproj/WebHTMLViewPrivate.h:
7151
71522005-03-02  John Sullivan  <sullivan@apple.com>
7153
7154        Reviewed by Adele.
7155        
7156        - fixed <rdar://problem/4023337> Safari stops loading any page (-[NSCFDictionary setObject:forKey:]: 
7157        attempt to insert nil key)
7158        
7159        It is very likely that the exception being hit is caused by the same problem as WebFoundation
7160        bug 4018486. This change makes the code robust against this kind of problem regardless.
7161
7162        * WebView.subproj/WebBaseResourceHandleDelegate.m:
7163        (-[WebBaseResourceHandleDelegate saveResource]):
7164        Don't call addSubresource if newly-created resource is nil (but do assert on debug builds).
7165        Also assert that originalURL and MIMEType are not nil.
7166        
7167        * WebView.subproj/WebDataSource.m:
7168        (-[WebDataSource addSubresource:]):
7169        Don't add nil subresource to dictionary, but do assert on debug builds.
7170
7171=== Safari-401 ===
7172
71732005-03-01  John Sullivan  <sullivan@apple.com>
7174
7175        Reviewed by Darin.
7176        
7177        - fixed <rdar://problem/3987482> Format>Style>Italic is not enabled when a 
7178        compose window is empty (works in Blot)
7179
7180        * WebView.subproj/WebHTMLView.m:
7181        (-[WebHTMLView becomeFirstResponder]):
7182        call _updateFontPanel here so NSFontManager knows the right font for the menu
7183        items and the font panel
7184
71852005-03-01  David Harrison  <harrison@apple.com>
7186
7187        Reviewed by Chris.
7188        
7189        <rdar://problem/3915560> Mail would like an SPI to enable "smart" text paste/drop
7190
7191        * WebView.subproj/WebHTMLView.m:
7192        (-[WebHTMLView _smartDeleteRangeForProposedRange:]):
7193        (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]):
7194        New.
7195
71962005-02-28  John Sullivan  <sullivan@apple.com>
7197
7198        Reviewed by Ken.
7199        
7200        - WebKit part of fix for <rdar://problem/4023490> REGRESSION (125-185): Tabbing through links 
7201        on frameset page gets stuck at end (tivofaq.com)
7202        
7203        This tab-to-links stuff has been in shaky condition ever since AppKit futzed with
7204        tabbing behavior in Tiger to add support for including the toolbar in the key loop.
7205        I made some changes months ago to compensate for that, but some cases, such as this
7206        one, still weren't fixed.
7207
7208        * WebCoreSupport.subproj/WebBridge.m:
7209        (-[WebBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
7210        new bottleneck method, extracted from nextKeyViewOutsideWebFrameViews; handles
7211        nextKeyView or nextValidKeyView depending on parameter.
7212        (-[WebBridge nextKeyViewOutsideWebFrameViews]):
7213        now calls extracted method
7214        (-[WebBridge nextValidKeyViewOutsideWebFrameViews]):
7215        new method, calls new bottleneck method
7216        
7217        * WebView.subproj/WebHTMLView.m:
7218        (-[WebHTMLView nextValidKeyView]):
7219        when we're stuck at the end of a nextKeyView chain inside a nexted frame, use
7220        nextValidKeyViewOutsideWebFrameViews. Make sure we don't end up looking inside
7221        the web frame views while doing this.
7222
72232005-02-25  Darin Adler  <darin@apple.com>
7224
7225        Reviewed by John.
7226
7227        - fixed <rdar://problem/4025088> window onblur and onfocus don't fire when text field has focus
7228
7229        * WebView.subproj/WebHTMLView.m:
7230        (-[WebHTMLView updateFocusState]): Renamed from updateFocusDisplay. Added call to setWindowHasFocus: method.
7231        (-[WebHTMLView viewDidMoveToWindow]): Call method by new name.
7232        (-[WebHTMLView windowDidBecomeKey:]): Ditto.
7233        (-[WebHTMLView windowDidResignKey:]): Ditto.
7234        (-[WebHTMLView becomeFirstResponder]): Ditto.
7235        (-[WebHTMLView resignFirstResponder]): Ditto.
7236
7237=== Safari-400 ===
7238
72392005-02-25  Richard Williamson   <rjw@apple.com>
7240
7241	Fixed <rdar://problem/4000962> 8A375: Help Viewer displays voiced sound and semi-voiced characters strangely (characters don't seem to be composed)
7242
7243	Added special case for voiced marks.
7244
7245        Reviewed by John.
7246
7247        * WebCoreSupport.subproj/WebTextRenderer.m:
7248        (widthForNextCharacter):
7249
72502005-02-25  Darin Adler  <darin@apple.com>
7251
7252        Reviewed by John.
7253
7254        - fixed <rdar://problem/4019823> Seed: Control-Y doesn't work
7255
7256        * WebView.subproj/WebHTMLView.m:
7257        (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Call _handleKillRing
7258        after setting the selection, since it uses the selection to get the text.
7259        (-[WebHTMLView _insertText:selectInsertedText:]): Check for empty string to avoid an assertion
7260        on the other side of the bridge when you yank the empty string.
7261
72622005-02-24  Richard Williamson   <rjw@apple.com>
7263
7264	Fixed <rdar://problem/3382926> Bidi neutrals at RTL/LTR boundaries not handled correctly.
7265
7266	If directionality is specified use that as initial directionality,
7267	rather than neutral directionality.	
7268
7269        Reviewed by Hyatt.
7270
7271        * WebCoreSupport.subproj/WebTextRenderer.m:
7272        (widthForNextCharacter):
7273
72742005-02-24  Adele Amchan  <adele@apple.com>
7275
7276        Reviewed by Chris.
7277       
7278        Fix for <rdar://problem/4023393> Safari crashed in khtml::RenderObject::repaintAfterLayoutIfNeeded(QRect const&, QRect const&)
7279
7280        We were crashing after hitting PageDown when viewing a pdf because 
7281        WebKit was calling over to WebCore to scroll overflow areas.
7282        Since this only needs to be done if we're dealing with a WebHTMLView, 
7283        I added a wrapper function to check the documentView before calling
7284        over to WebCore.
7285
7286        * WebView.subproj/WebFrameView.m:
7287        (-[WebFrameView _scrollOverflowInDirection:granularity:]): added wrapper function that checks if documentView is a WebHTMLView 
7288        (-[WebFrameView scrollToBeginningOfDocument:]): uses new wrapper function now
7289        (-[WebFrameView scrollToEndOfDocument:]): uses new wrapper function now
7290        (-[WebFrameView _pageVertically:]): uses new wrapper function now
7291        (-[WebFrameView _pageHorizontally:]): uses new wrapper function now
7292        (-[WebFrameView _scrollLineVertically:]): uses new wrapper function now
7293        (-[WebFrameView _scrollLineHorizontally:]): uses new wrapper function now
7294
72952005-02-24  Richard Williamson   <rjw@apple.com>
7296
7297	Fixed <rdar://problem/3985889> REGRESSION (125-180): setting <img> src to GIF that already animated does not animate; just shows final frame
7298	
7299        Reviewed by Hyatt.
7300
7301        * WebCoreSupport.subproj/WebImageData.h:
7302        * WebCoreSupport.subproj/WebImageData.m:
7303        (-[WebImageData resetAnimation]):
7304        * WebCoreSupport.subproj/WebImageRenderer.m:
7305        (-[WebImageRenderer resetAnimation]):
7306        (-[WebInternalImage resetAnimation]):
7307        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
7308
73092005-02-24  Kevin Decker  <kdecker@apple.com>
7310
7311        Reviewed by John.
7312
7313	Fixed <rdar://problem/3962401> Don't load multipart/x-mixed-replace content to prevent memory leak
7314
7315	Since we're not going to fix <rdar://problem/3087535> for Tiger, we should not load multipart/x-mixed-replace content.  Pages with such content contain what is essentially an infinite load and therefore may leak.
7316
7317        * WebView.subproj/WebMainResourceClient.m: 
7318        (-[WebMainResourceClient connection:didReceiveResponse:]):  Disabled loading of multipart/x-mixed-replace content until we fully implement server side push. 
7319    	 * WebCoreSupport.subproj/WebSubresourceClient.m: 
7320        (-[WebSubresourceClient didReceiveResponse:]): Ditto. Same exact thing for sub resources. 
7321
7322
73232005-02-23  John Sullivan  <sullivan@apple.com>
7324
7325        Reviewed by Ken.
7326        
7327        - fixed <rdar://problem/4021370> REGRESSION (Tiger): WebKit part of fix for 
7328        shift-tab on tivofaq doing the wrong thing
7329
7330        * WebView.subproj/WebFrameView.m:
7331        (-[WebFrameView becomeFirstResponder]):
7332        If our previousValidKeyView is nil or self (same as nil modulo AppKit oddness),
7333        look out of the box and get the previousValidKeyView of our webview.
7334
73352005-02-23  Darin Adler  <darin@apple.com>
7336
7337        Reviewed by Hyatt.
7338
7339        - fixed <rdar://problem/4010196> REGRESSION (125-186+): 8-character timestamps in gmail wrap to 2 lines (width:8ex; font-size:80%)
7340
7341        * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer xHeight]): Return the maximum
7342        of the "x" height and width. Comment in the code explains why in more detail.
7343
73442005-02-22  Richard Williamson   <rjw@apple.com>
7345
7346	Fixed <rdar://problem/3937203> when a div adds a scrollbar (overflow:auto) we do not get regions
7347
7348	Compare regions after automatice scroll regions have been
7349	added.
7350
7351        Reviewed by Maciej.
7352
7353        * WebCoreSupport.subproj/WebBridge.h:
7354        * WebCoreSupport.subproj/WebBridge.m:
7355        (-[WebBridge dealloc]):
7356        (-[WebBridge _compareDashboardRegions:]):
7357        (-[WebBridge dashboardRegionsChanged:]):
7358
73592005-02-22  Richard Williamson   <rjw@apple.com>
7360
7361	Fixed <rdar://problem/4012463> Dashboard widgets don't work with authenticating proxies
7362
7363	Added new SPI for dashboard that just calls default delegate
7364	behavior.
7365
7366        Reviewed by Maciej.
7367
7368        * WebView.subproj/WebView.m:
7369        (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]):
7370        * WebView.subproj/WebViewPrivate.h:
7371
73722005-02-22  Chris Blumenberg  <cblu@apple.com>
7373
7374        Reviewed by mjs.
7375
7376        * WebCoreSupport.subproj/WebBridge.m:
7377        (-[WebBridge issuePasteAndMatchStyleCommand]): support for new "PasteAndMatchStyle" exec command
7378
7379=== Safari-188 ===
7380
73812005-02-21  David Harrison  <harrison@apple.com>
7382
7383        Reviewed by Darin.
7384
7385        <rdar://problem/3943090> REGRESSION (Mail): Spelling underline incompletely erased following certain steps
7386
7387        * WebCoreSupport.subproj/WebTextRenderer.m:
7388        (-[WebTextRenderer misspellingLineThickness]):
7389        (-[WebTextRenderer misspellingLinePatternWidth]):
7390        Replaced #defines with these methods, so others can get the same info.
7391        
7392        (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
7393        Keep underline within originally specified bounds.
7394        
7395
73962005-02-21  Darin Adler  <darin@apple.com>
7397
7398        Reviewed by John.
7399
7400        - fixed <rdar://problem/4016358> don't ever display IDN URLs with characters from "possible Latin look-alike" scripts
7401
7402        * Misc.subproj/WebNSURLExtras.m:
7403        (containsPossibleLatinLookalikes): Added.
7404        (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call containsPossibleLatinLookalikes, and if true,
7405        don't decode the host name.
7406
74072005-02-19  Kevin Decker  <kdecker@apple.com>
7408
7409        Reviewed by Chris.
7410
7411	Fixed <rdar://problem/4010765> Flash player can be used to arbitrarily open popup windows without user permission
7412	
7413	Our window.open() policy is to refuse the <script>window.open(...)</script> case and allow the inline the <a href="javascript:window.open('foo')> case.  Clever advertisers at some point realized that by executing their Javascript through the Flash plugin, Safari would always treat their code as the inline case, and thus, they were able to work around our popup blocker. 
7414
7415        * Plugins.subproj/WebBaseNetscapePluginView.h: Addded currentEventIsUserGesture boolean ivar. 
7416        * Plugins.subproj/WebBaseNetscapePluginView.m:
7417        (-[WebBaseNetscapePluginView sendEvent:]): If at any point the user clicks or presses a key from within a plugin, set the currentEventIsUserGesture flag to true. This is important to differentiate legitimate window.open() calls originating from plugins;  we still want to allow those. 
7418        (-[WebBaseNetscapePluginView initWithFrame:]): In our asynchronous load, pass along currentEventIsUserGesture to the PluginRequest. 
7419        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Inform WebCore if this was a user originated gesture when calling executeScript(). 
7420        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
7421        (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]):
7422        (-[WebPluginRequest isCurrentEventUserGesture]): Added. 
7423
74242005-02-18  Chris Blumenberg  <cblu@apple.com>
7425
7426	Fixed: <rdar://problem/3945271> REGRESSION (Mail): pasted plain text should pick up typing style instead of being unstyled
7427
7428        Reviewed by kocienda.
7429
7430        * WebView.subproj/WebDataSource.m:
7431        (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for matchStyle to replaceSelection
7432        * WebView.subproj/WebHTMLView.m:
7433        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]): return new chosePlainText parameter
7434        (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass chosePlainText for matchStyle to replaceSelection
7435        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
7436
74372005-02-17  Richard Williamson   <rjw@apple.com>
7438
7439	Removed code that should not have been checked in from
7440	last patch.
7441
7442        * WebCoreSupport.subproj/WebTextRendererFactory.m:
7443        (-[WebTextRendererFactory isFontFixedPitch:]):
7444
74452005-02-17  Richard Williamson   <rjw@apple.com>
7446
7447        Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
7448
7449	Fixed w/o introducing a performance regression.
7450
7451        Reviewed by Vicki (and earlier by Dave Harrison).
7452
7453        * WebCoreSupport.subproj/WebTextRenderer.m:
7454        (-[WebTextRenderer _computeWidthForSpace]):
7455        (widthForNextCharacter):
7456        * WebCoreSupport.subproj/WebTextRendererFactory.h:
7457        * WebCoreSupport.subproj/WebTextRendererFactory.m:
7458        (-[NSFont _web_isFakeFixedPitch]):
7459        (-[WebTextRendererFactory isFontFixedPitch:]):
7460        (-[WebTextRendererFactory fontWithFamily:traits:size:]):
7461
74622005-02-17  Richard Williamson   <rjw@apple.com>
7463
7464	Fixed <rdar://problem/3959304> PDF in img tag is not rendered correctly anymore
7465
7466	We were incorrectly adding image position when flipping coordinates.
7467
7468        Reviewed by David Harrison.
7469
7470        * WebCoreSupport.subproj/WebImageData.m:
7471        (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):
7472
74732005-02-17  Richard Williamson   <rjw@apple.com>
7474
7475	Fixed <rdar://problem/4007262> Seed: Flight tracker scrolling moves to the left
7476
7477	Added SPI for dashboard to disable wheel scrolling of the WebClipView.
7478
7479        Reviewed by Ken.
7480
7481        * ChangeLog:
7482        * WebView.subproj/WebClipView.m:
7483        (-[WebClipView _focusRingVisibleRect]):
7484        (-[WebClipView scrollWheel:]):
7485        * WebView.subproj/WebView.m:
7486        (-[WebViewPrivate init]):
7487        (-[WebView drawRect:]):
7488        (-[WebView _dashboardBehavior:]):
7489        * WebView.subproj/WebViewInternal.h:
7490        * WebView.subproj/WebViewPrivate.h:
7491
7492=== Safari-187 ===
7493
74942005-02-17  Vicki Murley <vicki@apple.com>
7495
7496	- roll out this change, since it causes a 1.5% performance regression
7497
7498    2005-02-15  Richard Williamson   <rjw@apple.com>
7499        
7500        Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
7501        
7502        Lie about Osaka-Mono.  Treat it as fixed pitch, even though,
7503        strictly speaking it isn't.  (Similar to what we do with
7504        Courier New.)
7505
7506        Reviewed by David Harrison.
7507
7508        * WebCoreSupport.subproj/WebTextRenderer.m:
7509        (-[WebTextRenderer _computeWidthForSpace]):
7510        * WebCoreSupport.subproj/WebTextRendererFactory.h:
7511        * WebCoreSupport.subproj/WebTextRendererFactory.m:
7512        (-[NSFont _web_isFakeFixedPitch]): 
7513        (-[WebTextRendererFactory isFontFixedPitch:]):
7514        (-[WebTextRendererFactory fontWithFamily:traits:size:]):
7515
75162005-02-17  John Sullivan  <sullivan@apple.com>
7517
7518        Reviewed by Ken.
7519        
7520        - fixed <rdar://problem/3997185> The Web view on .Mac Prefs caused System Prefs 
7521        to lockup (resolved by re-boot only)
7522
7523        * WebCoreSupport.subproj/WebBridge.m:
7524        (-[WebBridge nextKeyViewOutsideWebFrameViews]):
7525        Don't allow recursion here; assert on debug build, return nil on deployment. I
7526        couldn't get my machine into a state to repro this problem (and neither could the
7527        originator), but it's obvious from the stack crawl that this method was recursing
7528        when it shouldn't have.
7529
75302005-02-16  John Sullivan  <sullivan@apple.com>
7531
7532        Written by Darin, reviewed by me.
7533        
7534        - WebKit part of fix for <rdar://problem/4007384> 
7535        FILTER: Bookmark of RSS with Japanese search word & multiple RSS pages loses filter
7536
7537        * DOM.subproj/DOMPrivate.h:
7538        updated this file, which is a copy of the WebCore version
7539
75402005-02-16  Richard Williamson   <rjw@apple.com>
7541
7542	Fixed <rdar://problem/3966973> Tiger 8A357: Binary Compatiblity: frequent Webstractor.app crashes [WebImageData _nextFrame]
7543
7544	Webstractor.app was playing tricks to create thumbnails of
7545	pages.  This caused the 'focusView' to be incorrect during
7546	animated GIF frame rendering.
7547
7548        Reviewed by Chris.
7549
7550        * WebCoreSupport.subproj/WebImageRenderer.m:
7551        (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
7552
75532005-02-16  Vicki Murley  <vicki@apple.com>
7554
7555        Reviewed by me, code change by Darin.
7556
7557        - fixed the build on Panther
7558
7559        * WebView.subproj/WebFormDataStream.m: (webSetHTTPBody):
7560        Added a Panther-specific code path that just loads all the data into one big
7561        NSData object. This means that bug 3686434 won't be fixed on SUPanWheat; we'll
7562        still load the file into memory before sending it to the server on Panther.
7563
75642005-02-15  Richard Williamson   <rjw@apple.com>
7565
7566	Fixed <rdar://problem/3998368> Tiger8A376: WebTextRenderer assertion failure in Safari while browsing news.bbc.co.uk
7567
7568	Removed use of FATAL_ALWAYS from getUncachedWidth().  It's unclear
7569	why we would trigger the FATAL_ALWAYS.  In the past we've seen
7570	the message triggered because of corrupt fonts.  Anyway, in this
7571	particular case, we will now return 0 for the character width,
7572	rather than exiting.
7573
7574        Reviewed by David Harrison.
7575
7576        * WebCoreSupport.subproj/WebTextRenderer.m:
7577        (getUncachedWidth):
7578
75792005-02-15  Richard Williamson   <rjw@apple.com>
7580
7581	Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
7582
7583	Lie about Osaka-Mono.  Treat it as fixed pitch, even though,
7584	strictly speaking it isn't.  (Similar to what we do with
7585	Courier New.)
7586
7587        Reviewed by David Harrison.
7588
7589        * WebCoreSupport.subproj/WebTextRenderer.m:
7590        (-[WebTextRenderer _computeWidthForSpace]):
7591        * WebCoreSupport.subproj/WebTextRendererFactory.h:
7592        * WebCoreSupport.subproj/WebTextRendererFactory.m:
7593        (-[NSFont _web_isFakeFixedPitch]):
7594        (-[WebTextRendererFactory isFontFixedPitch:]):
7595        (-[WebTextRendererFactory fontWithFamily:traits:size:]):
7596
75972005-02-14  Darin Adler  <darin@apple.com>
7598
7599        Reviewed by John.
7600
7601        - fixed <rdar://problem/3686434> Safari uses too much RAM on file upload, leading to malloc errors and crashes (HP printers)
7602
7603        * WebView.subproj/WebFormDataStream.h: Added webSetHTTPBody, which creates and connects an appropriate
7604        stream to an NSMutableURLRequest.
7605        * WebView.subproj/WebFormDataStream.m: Added implementation here.
7606
7607        * WebCoreSupport.subproj/WebBridge.m:
7608        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
7609        Use webSetHTTPBody.
7610        * WebCoreSupport.subproj/WebSubresourceClient.m:
7611        (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]):
7612        Use webSetHTTPBody.
7613        * WebView.subproj/WebFrame.m:
7614        (-[WebFrame _loadItem:withLoadType:]): Use webSetHTTPBody.
7615        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
7616
7617        * English.lproj/StringsNotToBeLocalized.txt: Updated for this change and other recent changes.
7618
76192005-02-11  Richard Williamson   <rjw@apple.com>
7620
7621	Fixed <rdar://problem/4002505> 8A378: Endlessly animating gif's on http://www.entropy.ch
7622	
7623	If animated images had no loop count property we were incorrectly
7624	looping forver.  Note, that in the course of fixing this bug
7625	I found that ImageIO is incorrectly NOT reporting the loop count
7626	for a whole class of animated GIFs.
7627
7628        Reviewed by Ken Kocienda.
7629
7630        * WebCoreSupport.subproj/WebImageData.m:
7631        (-[WebImageData _repetitionCount]):
7632
7633=== Safari-186 ===
7634
76352005-02-11  Vicki Murley  <vicki@apple.com>
7636
7637        Reviewed by Darin.
7638
7639	- fix deployment build on Panther
7640 
7641        * WebView.subproj/WebHTMLView.m:
7642        (-[WebHTMLView changeBaseWritingDirection:]): ifdef out NSWritingDirectionNatural
7643        (-[WebHTMLView toggleBaseWritingDirection:]): fix a spacing issue
7644
76452005-02-10  David Harrison  <harrison@apple.com>
7646
7647        Reviewed by Richard.
7648
7649        <rdar://problem/3991652> REGRESSION (Mail): Deleting entire line in reply deletes extra blank line and moves insertion point
7650        
7651        * WebView.subproj/WebHTMLView.m:
7652        (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]):
7653        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
7654        (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
7655        (-[WebHTMLView selectToMark:]):
7656        (-[WebHTMLView swapWithMark:]):
7657        (-[WebHTMLView transpose:]):
7658        (-[WebHTMLView _selectMarkedText]):
7659        (-[WebHTMLView _selectRangeInMarkedText:]):
7660        Adopt new default affinity of NSSelectionAffinityDownstream as of <rdar://problem/3937447>.
7661        
76622005-02-10  Darin Adler  <darin@apple.com>
7663
7664        Reviewed by Harrison.
7665
7666        - fixed <rdar://problem/4002084> Setting ResourceLoadDelegate to nil can cause a crash
7667
7668        * WebView.subproj/WebView.m: (-[WebView _cacheResourceLoadDelegateImplementations]):
7669        Set booleans to either YES or NO, rather than setting them only in the YES case.
7670
76712005-02-10  Darin Adler  <darin@apple.com>
7672
7673        Reviewed by Harrison.
7674
7675        - fixed <rdar://problem/3991225> Format->Style->Underline menu item does not get checked when selected text is underlined
7676
7677        * WebView.subproj/WebHTMLView.m:
7678        (-[WebHTMLView validateUserInterfaceItem:]): Added tons of additional cases in here for all the
7679        "action" style methods in this class that don't always want to be valid. For the ones where state
7680        makes sense, added the state-checking code too for the menu item case.
7681        (-[WebHTMLView ignoreSpelling:]): Removed unnecessary "editable text only" check since this command
7682        would work fine on a non-editable selection.
7683        (-[WebHTMLView swapWithMark:]): Ditto.
7684        (-[WebHTMLView changeBaseWritingDirection:]): Added. Like toggle, but based on the sender's tag.
7685
76862005-02-08  Darin Adler  <darin@apple.com>
7687
7688        "Reviewed" by Richard (he told me the file was obsolete).
7689
7690        - got rid of an obsolete file
7691
7692        * Plugins.subproj/npsap.h: Removed.
7693        * copy-webcore-files-to-webkit: Removed npsap.h.
7694
76952005-02-09  Richard Williamson   <rjw@apple.com>
7696
7697	Fixed <rdar://problem/4000073> non-screen font error on www.worldofwarcraft.com
7698
7699        Reviewed by John Sullivan.
7700
7701        * WebCoreSupport.subproj/WebTextRenderer.m:
7702        (-[WebTextRenderer _smallCapsFont]):
7703
7704=== Safari-185 ===
7705
77062005-02-07  Chris Blumenberg  <cblu@apple.com>
7707
7708	Fixed: <rdar://problem/3993354> Safari claims to put RTFD on the pasteboard, but doesn't, in some cases
7709
7710        Reviewed by john.
7711
7712        * WebView.subproj/WebHTMLView.m:
7713        (-[WebHTMLView _stripAttachmentCharactersFromAttributedString:]): moved
7714        (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]): take cachedAttributedString parameter in case the attributed string was gotten already
7715        (-[WebHTMLView _writeSelectionToPasteboard:]): omit RTFD from the types list when there are no attachments
7716
77172005-02-07  David Harrison  <harrison@apple.com>
7718
7719        Reviewed by Ken.
7720
7721        <rdar://problem/3990693> REGRESSION (8A373): ctrl-k now deletes just one character instead of line
7722        
7723        * WebView.subproj/WebHTMLView.m:
7724        (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
7725        Set the selection so that deleteKeyPressedWithSmartDelete knows what to delete.
7726
77272005-02-06  Darin Adler  <darin@apple.com>
7728
7729        Reviewed by Maciej.
7730
7731        - fixed <rdar://problem/3963166> PDFView SPI print method is being deprecated, moving to PDFDocument; please update WebKit
7732
7733        * WebView.subproj/WebPDFView.m: (-[WebPDFView printOperationWithPrintInfo:]): Target the document instead of the view.
7734
7735        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes and also moved one translation to be a file-specific
7736        item rather than a file-independent one.
7737
77382005-02-05  Chris Blumenberg  <cblu@apple.com>
7739
7740	Fixed: <rdar://problem/3991974> REGRESSION: www.jabra.com world location screen does not work
7741
7742        Reviewed by hyatt.
7743
7744        * WebCoreSupport.subproj/WebBridge.m:
7745        (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): use the baseURL from the bridge rather than from the response
7746
77472005-02-04  Chris Blumenberg  <cblu@apple.com>
7748
7749	Fixed: <rdar://problem/3802781> rtf->html pasteboard conversion using xhtml
7750
7751        Reviewed by kocienda.
7752
7753        * WebView.subproj/WebHTMLView.m:
7754        (+[WebHTMLView _excludedElementsForAttributedStringConversion]): new
7755        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): call _excludedElementsForAttributedStringConversion
7756
77572005-02-04  Chris Blumenberg  <cblu@apple.com>
7758
7759	Fixed: <rdar://problem/3832973> copy text from PowerPoint, paste into Blot (or presumably Mail) and get a single missing image icon
7760
7761        Reviewed by john.
7762
7763        * WebView.subproj/WebHTMLView.m:
7764        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): prefer RTF and RTFD over images just as NSTextView does
7765
77662005-02-03  Chris Blumenberg  <cblu@apple.com>
7767
7768	Fixed: <rdar://problem/3555137> REGRESSION (125-173): Flash animation can erase parts of chrome (bookmarks bar & tab bar)
7769
7770	convertRect:toView: returns incorrect results inside of viewWillMoveToWindow: with a nil window. Workaround this by catching this case.
7771
7772        Reviewed by darin.
7773
7774        * Plugins.subproj/WebBaseNetscapePluginView.m:
7775        (-[WebBaseNetscapePluginView superviewsHaveSuperviews]): new
7776        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): clip out the plug-in view when superviewsHaveSuperviews returns NO
7777
77782005-02-03  Chris Blumenberg  <cblu@apple.com>
7779
7780	Fixed: <rdar://problem/3893513> Sun iPlanet app: when saving to a file it brings up a window with the thing to be saved instead
7781
7782        Reviewed by adele.
7783
7784        * WebView.subproj/WebTextView.m:
7785        (+[WebTextView unsupportedTextMIMETypes]): added "text/ldif" to the list of MIME types that our text view doesn't handle
7786
7787=== Safari-183 ===
7788
77892005-02-03  Chris Blumenberg  <cblu@apple.com>
7790
7791        * English.lproj/StringsNotToBeLocalized.txt: updated
7792
77932005-02-03  Chris Blumenberg  <cblu@apple.com>
7794
7795	Fixed: <rdar://problem/3989611> Evite style "add vCalendar to calendar" do not work
7796
7797        Reviewed by adele.
7798
7799        * WebView.subproj/WebTextView.m:
7800        (+[WebTextView unsupportedTextMIMETypes]): added "text/x-vcalendar" to the list of MIME types our text view doesn't handle
7801
78022005-02-03  Vicki Murley  <vicki@apple.com>
7803
7804        Reviewed by Darin.
7805
7806	- fix deployment build breakage on Panther
7807 
7808        * WebView.subproj/WebHTMLView.m:
7809        (-[WebHTMLView toggleBaseWritingDirection:]):
7810
78112005-02-02  John Sullivan  <sullivan@apple.com>
7812
7813        Reviewed by Chris.
7814        
7815        - WebKit part of fix for <rdar://problem/3980651> REGRESSION (125-180): Huge number of pages printed from certain page, 
7816        iFrame involved
7817        
7818        This also fixes the problems with printing from GMail, yay!
7819
7820        * WebView.subproj/WebHTMLView.m:
7821        (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
7822        Don't adjust margins for header/footer here, because this is called for each subframe.
7823        (-[WebHTMLView knowsPageRange:]):
7824        Do adjust margins for header/footer here (analogous to WebTextView and WebImageView).
7825        Also, round the page height to an integer here (noticed in passing).
7826
78272005-02-02  Chris Blumenberg  <cblu@apple.com>
7828
7829	Fixed: <rdar://problem/3986546> Cut, delete, and paste menu items are active when a image is opened in window
7830
7831        Reviewed by john.
7832
7833        * WebView.subproj/WebView.m:
7834        (-[WebView _responderValidateUserInterfaceItem:]): new, has the responder validate the item 
7835        (-[WebView validateUserInterfaceItem:]): call VALIDATE for each repsonder selector using FOR_EACH_RESPONDER_SELECTOR macro
7836        (-[WebView _performResponderOperation:with:]): call factored out method _responderForResponderOperations
7837        (-[WebView _responderForResponderOperations]): new, code from _performResponderOperation:with:
7838
78392005-02-02  Chris Blumenberg  <cblu@apple.com>
7840
7841	Fixed: <rdar://problem/3983628> control-click on WebView is not selecting the word under the cursor (Mail, non-editable WebView)
7842
7843        Reviewed by rjw.
7844
7845        * WebCoreSupport.subproj/WebBridge.m:
7846        (-[WebBridge selectWordBeforeMenuEvent]): new
7847        * WebView.subproj/WebView.m:
7848        (-[WebView _selectWordBeforeMenuEvent]): new SPI
7849        (-[WebView _setSelectWordBeforeMenuEvent:]): new SPI
7850        * WebView.subproj/WebViewInternal.h:
7851        * WebView.subproj/WebViewPrivate.h:
7852
78532005-02-02  Chris Blumenberg  <cblu@apple.com>
7854
7855	Fixed: <rdar://problem/3986013> Assertion failure going back after page load error (no apparent problem in nondebug build)
7856
7857        Reviewed by rjw.
7858
7859        * WebView.subproj/WebDataSource.m:
7860        (-[WebDataSource _setPrimaryLoadComplete:]): don't set the data source data when the main client is nil
7861
78622005-02-02  Ken Kocienda  <kocienda@apple.com>
7863
7864        Reviewed by Darin
7865
7866        Fix for this bug:
7867        
7868        <rdar://problem/3823109> WebKit should support -toggleBaseWritingDirection: (bidi editing support)
7869
7870        * WebView.subproj/WebHTMLView.m:
7871        (-[WebHTMLView _applyParagraphStyleToSelection:withUndoAction:]): New function that calls through to
7872        new feature that allows callers to force all properties in a style to be applied as block styles.
7873        (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]): Removed FIXME comment for something that has been fixed.
7874        (-[WebHTMLView toggleBaseWritingDirection:]): Implemented.
7875
78762005-02-01  Richard Williamson   <rjw@apple.com>
7877
7878	Fixed <rdar://problem/3977727> WebKit should use new SPI to support faster GIF rendering
7879
7880	Note:  This REQUIRES build >= 3A362 when building on Tiger.
7881
7882        Reviewed by John.
7883
7884        * WebCoreSupport.subproj/WebImageData.m:
7885        (-[WebImageData _imageSourceOptions]):
7886
7887=== Safari-182 ===
7888
78892005-02-01  Richard Williamson   <rjw@apple.com>
7890
7891	Added new SPI for <rdar://problem/3967063> need spi on WebView to turn of lcd text for Dashboard
7892
7893        Reviewed by Chris.
7894
7895        * WebCoreSupport.subproj/WebTextRenderer.m:
7896        (_drawGlyphs):
7897        * WebView.subproj/WebView.m:
7898        (-[WebView drawRect:]):
7899        (-[WebView _dashboardBehavior:]):
7900        (+[WebView _setShouldUseFontSmoothing:]):
7901        (+[WebView _shouldUseFontSmoothing]):
7902        * WebView.subproj/WebViewInternal.h:
7903        * WebView.subproj/WebViewPrivate.h:
7904
79052005-01-31  Chris Blumenberg  <cblu@apple.com>
7906
7907	Fixed: <rdar://problem/3949806> REGRESSION: Source window fails to refresh correctly on reload
7908
7909	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.
7910
7911        Reviewed by darin.
7912
7913        * WebView.subproj/WebDataSource.m:
7914        (-[WebDataSource _setData:]): moved within file
7915        (-[WebDataSource _setPrimaryLoadComplete:]): call _setData: with the data from the main client before letting go of the main client
7916        * WebView.subproj/WebDataSourcePrivate.h:
7917        * WebView.subproj/WebMainResourceClient.m:
7918        (-[WebMainResourceClient releaseResources]): removed call to _setData: since the data source may need the data before releaseResources is called
7919
79202005-01-31  Chris Blumenberg  <cblu@apple.com>
7921
7922	Fixed: <rdar://problem/3946285> Seed: Safari crashed by selecting all at internet-moebel.com
7923
7924        Reviewed by john.
7925
7926        * WebView.subproj/WebHTMLView.m:
7927        (-[WebHTMLView _hitViewForEvent:]): new, factored hit test hack to this method
7928        (-[WebHTMLView _updateMouseoverWithEvent:): call _hitViewForEvent:
7929        (-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent: and _isSelectionEvent: on the hit HTMLView or else when it's asked to drag it will assert
7930        (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
7931
79322005-01-31  David Harrison  <harrison@apple.com>
7933
7934        Reviewed by Darin.
7935
7936        <rdar://problem/3961239> AX Setting AXFocused on AXScrollArea of AXWebArea will cause keyboard selection change
7937
7938        * WebView.subproj/WebHTMLView.m:
7939        (-[WebHTMLView maintainsInactiveSelection]):
7940        Keep the selection when the new first respomder is our own scrollview, in both editable and non-editaqble content.
7941
79422005-01-31  Jens Alfke  <jens@apple.com>
7943
7944        Reviewed by John.
7945
7946	- Fixed <rdar://problem/3903199> REGRESSION: Large background patterns slide around while loading
7947
7948        * WebCoreSupport.subproj/WebImageData.m:
7949        (drawPattern):
7950        (-[WebImageData tileInRect:fromPoint:context:]):
7951
79522005-01-30  Darin Adler  <darin@apple.com>
7953
7954        Reviewed by John.
7955
7956        - fixed <rdar://problem/3965265> Safari displays HTML as source when default encoding is Hebrew (due to direction overrides added by encoding converter)
7957
7958        * WebView.subproj/WebPreferencesPrivate.h: Added _systemCFStringEncoding, and changed
7959        _setInitialDefaultTextEncodingToSystemEncoding to be a class method.
7960        * WebView.subproj/WebPreferences.m:
7961        (+[WebPreferences _systemCFStringEncoding]): Added. New SPI to be used by Safari. Broken out of
7962        _setInitialDefaultTextEncodingToSystemEncoding, but also added cases for MacArabic and MacHebrew.
7963        (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Refactor to use _systemCFStringEncoding.
7964
79652005-01-28  Jens Alfke  <jens@apple.com>
7966
7967        Reviewed by Richard.
7968
7969	<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)
7970
7971	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.)
7972
7973        * WebCoreSupport.subproj/WebImageData.h:
7974        * WebCoreSupport.subproj/WebImageData.m:
7975        (-[WebImageData _invalidateImages]):
7976        (-[WebImageData _checkSolidColor:]):
7977        (-[WebImageData _cacheImages:allImages:]):
7978        (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]):
7979        (-[WebImageData tileInRect:fromPoint:context:]):
7980
79812005-01-28  David Harrison  <harrison@apple.com>
7982
7983        Reviewed by Darin.
7984
7985        <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch
7986
7987        Use AppKit SPI _accessibilityParentForSubview to return KWQAccObject parent of AppKit AX object.
7988        
7989        * WebView.subproj/WebHTMLView.m:
7990        (-[WebHTMLView _accessibilityParentForSubview:]):
7991        New.
7992
79932005-01-28  Chris Blumenberg  <cblu@apple.com>
7994
7995	WebKit side of: <rdar://problem/3951283> can view pages from the back/forward cache that should be disallowed by Parental Controls
7996
7997        Reviewed by john.
7998
7999        * WebView.subproj/WebDefaultPolicyDelegate.m:
8000        (-[WebDefaultPolicyDelegate webView:shouldGoToHistoryItem:]): new private delegate method
8001        * WebView.subproj/WebFrame.m:
8002        (-[WebFrame _goToItem:withLoadType:]): call new delegate method
8003        * WebView.subproj/WebPolicyDelegatePrivate.h:
8004
80052005-01-26  Maciej Stachowiak  <mjs@apple.com>
8006
8007        Reviewed by Darin, Hyatt and Ken.
8008
8009	<rdar://problem/3790449> REGRESSION (Mail): underline behavior is flaky because of how CSS handles text-decoration
8010
8011        * WebView.subproj/WebHTMLView.m:
8012        (-[WebHTMLView _styleFromFontAttributes:]): Use new -khtml-text-decorations-in-effect
8013	property
8014        (-[WebHTMLView _styleForAttributeChange:]): likewise
8015        (-[WebHTMLView underline:]): likewise
8016
80172005-01-27  Ken Kocienda  <kocienda@apple.com>
8018
8019        Reviewed by Maciej
8020
8021        * WebView.subproj/WebHTMLView.m:
8022        (-[WebHTMLView _handleKillRing:prepend:]): New helper function. Code factored out from 
8023         _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:.
8024        (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]): No longer takes 
8025        unused preflight argument. Now takes new isTypingAction argument. Uses isTypingAction to
8026        determine which flavor of delete command to call.
8027        (-[WebHTMLView _deleteSelection]): No longer passes unused preflight argument. Now passes new isTypingAction argument.
8028        (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Rearranged code to call
8029        correct flavor of delete command, based on whether typing should be preserved. Some other cleanups.
8030        (-[WebHTMLView deleteForward:]): Add _isEditable check.
8031        (-[WebHTMLView deleteBackward:]): Now calls _deleteWithDirection instead of having unique behavior different 
8032        from forward delete.
8033        (-[WebHTMLView deleteWordForward:]): Add new isTypingAction flag to _deleteWithDirection call.
8034        (-[WebHTMLView deleteWordBackward:]): Ditto.
8035        (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
8036        (-[WebHTMLView deleteToEndOfLine:]): Ditto.
8037        (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
8038        (-[WebHTMLView deleteToEndOfParagraph:]): Ditto.
8039        (-[WebHTMLView deleteToMark:]): Ditto.
8040
8041=== Safari-181 ===
8042
80432005-01-27  Chris Blumenberg  <cblu@apple.com>
8044
8045	Fixed: <rdar://problem/3973272> REGRESSION: Safari uses QT plugin to display PNG images
8046
8047        Reviewed by john.
8048
8049        * Plugins.subproj/WebBasePluginPackage.m: use renamed QT bundle ID
8050
80512005-01-26  Darin Adler  <darin@apple.com>
8052
8053        Reviewed by John.
8054
8055        - fixed <rdar://problem/3829517> WebView still draws white when setDrawsBackground set to NO and no content loaded yet
8056
8057        * WebView.subproj/WebFrameView.m: (-[WebFrameView drawRect:]): Check drawsBackground, and don't
8058        draw the white "no document" background if it's NO. This fixes things for frames with no document.
8059        * WebView.subproj/WebImageView.m: (-[WebImageView drawRect:]): Same as above. This fixes things
8060        for frames with just an image.
8061        * WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the
8062        document view if it implements it. This fixes things for frames with plain text.
8063
80642005-01-25  John Sullivan  <sullivan@apple.com>
8065
8066        Reviewed by Chris.
8067        
8068        - WebKit part of fix for: <rdar://problem/3970670> Text context menu 
8069          in WebKit needs "Look Up in Dictionary" item
8070
8071        * WebView.subproj/WebDefaultContextMenuDelegate.m:
8072        (localizedMenuTitleFromAppKit):
8073        return English string in the case where AppKit bundle is found but doesn't
8074        contain the expected string. This case will be hit by people testing with
8075        an older AppKit.
8076        (-[WebDefaultUIDelegate menuItemWithTag:]):
8077        create Look Up in Dictionary item
8078        (-[WebDefaultUIDelegate contextMenuItemsForElement:]):
8079        add Look Up in Dictionary item and separator
8080        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
8081        ditto
8082
8083        * WebView.subproj/WebHTMLView.m:
8084        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
8085        new method, handles bringing up the Dictionary window. Includes FIXMEs
8086        for a couple of the known loose ends.
8087        (-[WebHTMLView validateUserInterfaceItem:]):
8088        handle Look Up in Dictionary item like the other new items
8089        
8090        * WebView.subproj/WebUIDelegatePrivate.h:
8091        added SPI constant for Look Up in Dictionary menu item
8092
80932005-01-24  Maciej Stachowiak  <mjs@apple.com>
8094
8095        Fixed Panther build (missing ifdef)
8096
8097        * WebView.subproj/WebDefaultContextMenuDelegate.m:
8098
80992005-01-24  John Sullivan  <sullivan@apple.com>
8100
8101        Reviewed by Darin.
8102        
8103        - WebKit part of fix for <rdar://problem/3960231> Text context menu in WebKit needs Spotlight and Google items
8104        
8105        * WebView.subproj/WebDefaultContextMenuDelegate.m:
8106        (localizedMenuTitleFromAppKit):
8107        new function, gets localized string from AppKit so we can avoid adding localized
8108        strings to WebKit at this late date in Tiger. Returns the non-localized English
8109        string if we can't find the localized string in AppKit.
8110        (-[WebDefaultUIDelegate menuItemWithTag:]):
8111        handle the two new menu items by tag name
8112        (-[WebDefaultUIDelegate contextMenuItemsForElement:]):
8113        add menu items for Search in Google and Search in Spotlight to selected-text menu item
8114        for the noneditable case
8115        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
8116        add menu items for Search in Google and Search in Spotlight to selected-text menu item
8117        for the editable case
8118
8119        * WebView.subproj/WebHTMLView.m:
8120        (-[WebHTMLView _searchWithGoogleFromMenu:]):
8121        implement this menu item action method, using same method name and implementation as NSTextView
8122        (-[WebHTMLView _searchWithSpotlightFromMenu:]):
8123        implement this menu item action method, using same basic implementation as NSTextView
8124        (-[WebHTMLView validateUserInterfaceItem:]):
8125        validate new menu items
8126        
8127        * WebView.subproj/WebUIDelegatePrivate.h:
8128        define new tags for new menu items
8129
8130        * English.lproj/StringsNotToBeLocalized.txt:
8131        updated for these changes
8132
81332005-01-24  Darin Adler  <darin@apple.com>
8134
8135        * WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]):
8136        Do the same check as for view types, so the representation types are consistent.
8137
81382005-01-24  Darin Adler  <darin@apple.com>
8139
8140        Reviewed by John.
8141
8142        - fixed <rdar://problem/3791158> REGRESSION (Mail): copyFont: and pasteFont: copy and paste only the NSFont, not other attributes
8143
8144        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): Added the last
8145        few loose ends here: strikethrough and underline.
8146
8147        - fixed <rdar://problem/3967393> add a user default that lets you turn off WebKit PDF support
8148
8149        * WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
8150        Leave the PDF-handling classes out of the dictionary if the secret default is set.
8151
8152        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
8153
81542005-01-20  Darin Adler  <darin@apple.com>
8155
8156        Reviewed by Kristin Forster.
8157
8158        - fixed <rdar://problem/3964972> update _initWithCGSEvent:eventRef: call in mouse moved workaround (breaks cursors in Carbon WebKit applications)
8159
8160        * Carbon.subproj/HIWebView.m: (MouseMoved): Instead of munging the event record's window number directly
8161        before calling _initWithCGSEvent, on Tiger we call _eventRelativeToWindow on the event after creating it.
8162        Also added a check so that with Macromedia Contribute's workaround in place we don't do anything at all
8163        to the event. Tested with both Contribute and CarbonWeb.
8164
8165        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
8166
81672005-01-20  Richard Williamson   <rjw@apple.com>
8168
8169	Fixed <rdar://problem/3815672> REGRESSION (Mail): Japanese text cannot be made bold
8170
8171	The AppKit's font substitution API doesn't match font traits! 
8172	It only find fonts that contain the appropriate glyphs.  This
8173	patch attempts to find the best variation within a family.
8174
8175        Reviewed by Maciej.
8176
8177        * WebCoreSupport.subproj/WebTextRenderer.m:
8178        (-[WebTextRenderer _substituteFontForString:families:]):
8179
8180=== Safari-180 ===
8181
81822005-01-20  Ken Kocienda  <kocienda@apple.com>
8183
8184        Reviewed by John
8185
8186        Fix for this bug:
8187        
8188        <rdar://problem/3786659> REGRESSION (Mail): editable WebViews don't work with "size up" and "size down" NSFontManager changes
8189
8190        * WebView.subproj/WebHTMLView.m:
8191        (-[WebHTMLView _addToStyle:fontA:fontB:]): This is the WebKit side of the fix. Replaced unimplemented code blocks
8192        with FIXME's in them for make bigger and make smaller with real working code.
8193
81942005-01-19  David Hyatt  <hyatt@apple.com>
8195
8196	Fix for 3513067, spaces being lost when RTL text is rendered.  Make sure not to allow hangers or spaces
8197	in the margin.
8198	
8199        Reviewed by john
8200	
8201        * WebCoreSupport.subproj/WebTextRenderer.m:
8202        (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
8203
82042005-01-19  Darin Adler <darin@apple.com>
8205
8206        Reviewed by vicki
8207
8208	- fixed <rdar://problem/3962559> stopAnimationsInView leaks after cvs-base
8209 
8210        * WebCoreSupport.subproj/WebImageData.m: (+[WebImageData stopAnimationsInView:]): add a release
8211
82122005-01-19  Chris Blumenberg  <cblu@apple.com>
8213
8214	Fixed: <rdar://problem/3961809> plug-in code attempts to load empty URL
8215
8216        Reviewed by john.
8217
8218        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
8219        (-[WebNetscapePluginEmbeddedView didStart]): don't start load if URL is empty
8220
82212005-01-17  Darin Adler  <darin@apple.com>
8222
8223        * DOM.subproj/DOMPrivate.h: Check in generated file.
8224
82252005-01-17  Darin Adler  <darin@apple.com>
8226
8227        Reviewed by John and Richard.
8228
8229        - fixed <rdar://problem/3907453> printing a multi-page PDF document from Safari doesn't produce correct output
8230
8231        * WebView.subproj/WebFrameViewPrivate.h: Added.
8232        * WebView.subproj/WebFrameView.m:
8233        (-[WebFrameView canPrintHeadersAndFooters]): Added. Returnes NO for documents that can't print headers or footers,
8234        and delegates to the document view to answer the question. Defaults to NO, since only a view that actively does
8235        the work is compatible with our header and footer code.
8236        (-[WebFrameView printOperationWithPrintInfo:]): Added. Returns an NSPrintOperation set up for printing. The reason
8237        we return this rather than an NSView is that in the PDFView case, the print info is changed around before creating
8238        the NSPrintOperation, and also the PDFKit SPI works this way.
8239
8240        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView canPrintHeadersAndFooters]): Added. Returns YES.
8241        * WebView.subproj/WebImageView.m: (-[WebImageView canPrintHeadersAndFooters]): Ditto.
8242        * WebView.subproj/WebTextView.m: (-[WebTextView canPrintHeadersAndFooters]): Ditto.
8243
8244        * WebView.subproj/WebPDFView.m:
8245        (-[WebPDFView canPrintHeadersAndFooters]): Added. Returns NO.
8246        (-[WebPDFView printOperationWithPrintInfo:]): Added. Calls getPrintOperationForPrintInfo: autoRotate:YES on the PDFView.
8247
8248        * WebKit.pbproj/project.pbxproj: Added WebFrameViewPrivate.h as a new private header.
8249
82502005-01-13  Chris Blumenberg  <cblu@apple.com>
8251
8252	Fixed: <rdar://problem/3932107> Safari does not load QT Cocoa plug-in if the WebPluginMIMETypes key is not in the info.plist
8253
8254	Fixing this bug required that we allow WebKit plug-ins (as well as Netscape plug-ins) support BP_CreatePluginMIMETypesPreferences
8255	which allows plug-ins create an auxiliary MIME types file.
8256
8257        Reviewed by adele.
8258
8259        * Plugins.subproj/WebBasePluginPackage.h:
8260        * Plugins.subproj/WebBasePluginPackage.m:
8261        (+[WebBasePluginPackage preferredLocalizationName]): moved from WebNetscapePluginPackage
8262        (-[WebBasePluginPackage pListForPath:createFile:]): ditto
8263        (-[WebBasePluginPackage getPluginInfoFromPLists]): ditto
8264        (-[WebBasePluginPackage isLoaded]): return isLoaded ivar
8265        (-[WebBasePluginPackage load]): if loaded, get BP_CreatePluginMIMETypesPreferences symbol
8266        * Plugins.subproj/WebNetscapePluginPackage.h:
8267        * Plugins.subproj/WebNetscapePluginPackage.m:
8268        (-[WebNetscapePluginPackage load]): call super when done so BP_CreatePluginMIMETypesPreferences can be initialized
8269        * Plugins.subproj/WebPluginPackage.m:
8270        (-[WebPluginPackage initWithPath:]): call getPluginInfoFromPLists
8271        (-[WebPluginPackage load]): call super when done so BP_CreatePluginMIMETypesPreferences can be initialized
8272
82732005-01-13  Richard Williamson   <rjw@apple.com>
8274
8275	Fixed <rdar://problem/3952809> WebJavaPlugIn.h comments need method name corrected (webPlugInCallJava)
8276
8277        Reviewed by Maciej.
8278
8279        * Plugins.subproj/WebJavaPlugIn.h:
8280
8281=== Safari-179 ===
8282
82832005-01-13  Vicki Murley <vicki@apple.com>
8284
8285        Reviewed by Adele.
8286
8287        - fix <rdar://problem/3946836> Safari about box lists 2004 instead of 2005
8288
8289        * WebKit.pbproj/project.pbxproj: bump "2004" to "2005"
8290
82912005-01-13  Richard Williamson   <rjw@apple.com>
8292
8293	Fixed <rdar://problem/3951911> REGRESSION: Animated GIF images with loop counts no longer update
8294
8295	Draw last image after animation loop terminates.  (We
8296	were drawing the image at index+1, which doesn't exist!)
8297
8298        Reviewed by Darin.
8299
8300        * WebCoreSupport.subproj/WebImageData.m:
8301        (-[WebImageData _nextFrame:]):
8302
83032005-01-13  Richard Williamson   <rjw@apple.com>
8304
8305	Fixed <rdar://problem/3952084> REGRESSION: Links at projectseven.com now draw and update incorrectly during hover
8306
8307	Turn off use of new CGContextStrokeLineSegments API.  We should
8308	turn back on when 3952944 is fixed.
8309
8310        Reviewed by Darin.
8311
8312        * WebCoreSupport.subproj/WebTextRenderer.m:
8313        (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
8314
83152005-01-13  Chris Blumenberg  <cblu@apple.com>
8316
8317	Fixed: <rdar://problem/3937663> repro assertion failure and crash dragging image that has PDF source
8318
8319        Reviewed by adele.
8320
8321        * Misc.subproj/WebNSViewExtras.m:
8322        (-[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
8323        * WebCoreSupport.subproj/WebImageRendererFactory.m:
8324        (-[WebImageRendererFactory supportedMIMETypes]): removed code that omits PDF and PostScript from the list since this omission is only needed in WebImageView
8325        * WebView.subproj/WebImageView.m:
8326        (+[WebImageView supportedImageMIMETypes]): added code that omits PDF and PostScript since we don't want WebImageView to render these types
8327
83282005-01-10  Maciej Stachowiak  <mjs@apple.com>
8329
8330        Reviewed by Darin.
8331
8332	<rdar://problem/3758033> REGRESSION (Mail): Support attributes in marked text (International input)
8333        
8334	* WebCoreSupport.subproj/WebTextRenderer.m:
8335        (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): Changed to support
8336	underline thickness. Also added a bit of a hack here to move thickness 2 underlines down by
8337	.5 pixels, since the rendering engine can't give a fractional pixel offset.
8338        * WebView.subproj/WebHTMLView.m:
8339        (-[WebHTMLView validAttributesForMarkedText]): Support underline, underline color and marked
8340	clause attributes. Others that NSText supports are unimplemented for now.
8341        (-[WebHTMLView firstRectForCharacterRange:]): Remove needless logging.
8342        (-[WebHTMLView unmarkText]): Updated for new WebCore SPI.
8343        (-[WebHTMLView _extractAttributes:ranges:fromAttributedString:]): New method to pull the attributes
8344	and ranges out of an attributed string.
8345        (-[WebHTMLView setMarkedText:selectedRange:]): Extract attributes and pass to WebCore.
8346        (-[WebHTMLView insertText:]): Add comment noting that we don't really handle attributed strings
8347	here.
8348
83492005-01-12  Darin Adler  <darin@apple.com>
8350
8351        Reviewed by Ken.
8352
8353        - fixed <rdar://problem/3848257> WebView will draw more than AppKit asks it to, so views behind won't redraw enough (transparent WebView)
8354
8355        * WebView.subproj/WebHTMLView.m:
8356        (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): As recommended by Troy Stephens, do the
8357        layouts here in this call, since it's before propagating the dirty rects to our ancestors.
8358        This fixes the bug, but we only do it if the WebView is not opaque, because otherwise we can
8359        optimize by only doing layouts you really need, and doing them later on is safe because we
8360        know we don't need to draw any of the views behind us.
8361        (-[WebHTMLView _layoutIfNeeded]): Added. Factored out from the method below.
8362        (-[WebHTMLView _web_layoutIfNeededRecursive]): Added. Like the other "layout if needed" call,
8363        but unconditional.
8364        (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]): Factored out the guts into the
8365        _layoutIfNeeded method above. Otherwise unchanged.
8366        (-[NSView _web_layoutIfNeededRecursive]): Added.
8367
8368        * WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground:NO
8369        on the scroll view when changing the frame to no longer be in "draws background" mode. This
8370        is needed because the frame manages the "draws background" mode of the scroll view. It won't
8371        have any effect if you call setDrawsBackground:NO before starting to use a WebView, but without
8372        it calling setDrawsBackground:NO later won't have an immediate effect (easily visible in Safari).
8373        This was hidden before because the HTML view was filling with transparent color, which blew away
8374        the fill that was done by NSScrollView.
8375
8376        - fixed <rdar://problem/3921129> reproducible crash at www.funnychristmas.com in CFSet manipulation in WebImageData
8377
8378        * WebCoreSupport.subproj/WebImageData.m:
8379        (-[WebImageData _imageSourceOptions]): Changed types so we don't need a cast.
8380        (+[WebImageData stopAnimationsInView:]): Instead of building a set of sets, by putting in the sets with addObject,
8381        build a single set using unionSet, and then iterate the objects instead of having to iterate the sets and then the
8382        objects in each set. The old code ended up sharing the sets with the live code, when the whole idea was to gather
8383        all the renderers because the process of stopping modifies the active sets.
8384
83852005-01-12  Richard Williamson   <rjw@apple.com>
8386
8387	Fixed <rdar://problem/3926825> Safari ignores GIF loop count
8388
8389	Get loop count from file properties, not image properties.
8390
8391        Reviewed by Ken Kocienda.
8392
8393        * WebCoreSupport.subproj/WebImageData.h:
8394        * WebCoreSupport.subproj/WebImageData.m:
8395        (-[WebImageData _commonTermination]):
8396        (-[WebImageData fileProperties]):
8397        (-[WebImageData _floatProperty:type:at:]):
8398        (-[WebImageData _floatFileProperty:type:]):
8399        (-[WebImageData _repetitionCount]):
8400
84012005-01-11  Chris Blumenberg  <cblu@apple.com>
8402
8403	Fixed: <rdar://problem/3934749> assertion failure in WebBaseNetscapePluginView loading movie
8404
8405        Reviewed by john.
8406
8407        * Plugins.subproj/WebBaseNetscapePluginView.m:
8408        (-[WebBaseNetscapePluginView start]): call canStart before asserting about the webView
8409
84102005-01-11  John Sullivan  <sullivan@apple.com>
8411
8412        Reviewed by Darin.
8413        
8414        - fixed <rdar://problem/3446838> REGRESSION (Mail): text decorations don't print 
8415        (e.g. <strike>, underline)
8416
8417        * WebCoreSupport.subproj/WebTextRenderer.m:
8418        (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
8419        This bottleneck routine for drawing a line was setting the linewidth to 0 when
8420        the graphics context was not drawing to the screen. Thus, no lines. Now links
8421        are underlined when printing from Safari (as well as Mail).
8422
84232005-01-11  Richard Williamson   <rjw@apple.com>
8424
8425	Fixed 3949145.  CG has a much faster API for drawing lines.
8426	Switched over to that new API (CGContextStrokeLineSegments).
8427
8428        Reviewed by John Sullivan.
8429
8430        * WebCoreSupport.subproj/WebTextRenderer.m:
8431        (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
8432
84332005-01-10  Chris Blumenberg  <cblu@apple.com>
8434
8435	Fixed: <rdar://problem/3948862> REGRESSION: missing images when RTFD is pasted into editable WebView
8436
8437	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.
8438
8439        Reviewed by john.
8440
8441        * WebView.subproj/WebHTMLView.m:
8442        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): don't deal with subresources since that's now done by the following method
8443        (-[WebHTMLView resourceForData:preferredFilename:]): new handler method called by AppKit
8444
8445=== Safari-178 ===
8446
84472005-01-06  David Harrison  <harrison@apple.com>
8448
8449        Reviewed by Dave Hyatt
8450
8451        <rdar://problem/3588548> AX: tabbing does not work correctly with the screen reader and a focused link; need AXFocusedUIElement to work.
8452
8453        * WebView.subproj/WebHTMLView.m:
8454        (-[WebHTMLView accessibilityFocusedUIElement]):
8455        Implement this so that AppKit can use it from NSAccessibilityHandleFocusChanged.
8456
84572005-01-05  Chris Blumenberg  <cblu@apple.com>
8458
8459	Fixed: <rdar://problem/3936865> REGRESSION: canvas.drawImage no longer scales properly
8460
8461        Reviewed by john.
8462
8463        * WebCoreSupport.subproj/WebImageData.m: use the height of the inRect instead of the fromRect when setting the origin of the context
8464
84652005-01-04  Chris Blumenberg  <cblu@apple.com>
8466
8467	Fixed: <rdar://problem/3928329> WebKit should pass nil for "language" to checkSpellingOfString:
8468
8469        Reviewed by kocienda.
8470
8471        * WebView.subproj/WebHTMLView.m:
8472        (-[WebHTMLView _isSelectionMisspelled]): pass nil not @"" for language
8473
84742004-12-21  Maciej Stachowiak  <mjs@apple.com>
8475
8476        Reviewed by Darin.
8477
8478	<rdar://problem/3888931> frame naming allows malicious site to bring up a window when you click on a link in another
8479
8480        Implement a security check on name frame visbility. This is the
8481	same rule as mozilla. You can only target frames by name if you
8482	are in the same window, have the same domain as the frame or an
8483	ancestor, or if it's a top level window have the same domain as
8484	the opener.
8485	
8486        * WebView.subproj/WebFrame.m:
8487        (-[WebFrame _shouldAllowAccessFrom:]):
8488        (-[WebFrame _descendantFrameNamed:sourceFrame:]):
8489        (-[WebFrame findFrameNamed:]):
8490        * WebView.subproj/WebFramePrivate.h:
8491        * WebView.subproj/WebView.m:
8492        (-[WebView _findFrameInThisWindowNamed:sourceFrame:]):
8493        (-[WebView _findFrameNamed:sourceFrame:]):
8494        * WebView.subproj/WebViewPrivate.h:
8495
8496=== Safari-177 ===
8497
8498=== Safari-176 ===
8499
85002004-12-20  Richard Williamson   <rjw@apple.com>
8501
8502	Add call to new API.  ImageIO deprecated some older (although
8503	quite new!) API.   This caused us to fail to build on 337 or later.
8504
8505	Developers wanting to build on older versions of Tiger must define
8506	USE_DEPRECATED_IMAGESOURCE_API in WebImageData.m.
8507
8508        Reviewed by Vicki.
8509
8510        * WebCoreSupport.subproj/WebImageData.m:
8511        (-[WebImageData propertiesAtIndex:]):
8512
85132004-12-20  Richard Williamson   <rjw@apple.com>
8514
8515	Don't call Tiger SPI on Panther.
8516
8517        Reviewed by Vicki.
8518
8519        * WebCoreSupport.subproj/WebTextRendererFactory.m:
8520        (+[WebTextRendererFactory createSharedFactory]):
8521
85222004-12-20  Richard Williamson   <rjw@apple.com>
8523
8524	Fixed <rdar://problem/3884448> WebKit should turn on CG local font cache
8525
8526	Enable mutli-tier font caching.  We should see a performance boost with this
8527	change.
8528
8529        Reviewed by Chris.
8530
8531        * WebCoreSupport.subproj/WebTextRendererFactory.m:
8532        (+[WebTextRendererFactory createSharedFactory]):
8533
85342004-12-20  Richard Williamson   <rjw@apple.com>
8535
8536	Fix image decoding to separately decode image meta data from actual image bits.  I
8537	incorrectly consolidated decode of meta data and image bits resulting in a huge
8538	performance regression.
8539
8540	Double size of WebCore cache on lower end machines.  On the PLT run on machines with
8541	256MB of memory, too many images were being evicted, causing a re-decode on the PLT.
8542	Upping the lower limit of the cache size ensure that no images are evicted (this
8543	goes hand-in-hand with the change to the minimum object size from 32K to 40K).
8544
8545        Reviewed by Ken.
8546
8547        * WebCoreSupport.subproj/WebImageData.h:
8548        * WebCoreSupport.subproj/WebImageData.m:
8549        (+[WebImageData initialize]):
8550        (-[WebImageData _commonTermination]):
8551        (-[WebImageData _invalidateImages]):
8552        (-[WebImageData _invalidateImageProperties]):
8553        (-[WebImageData imageAtIndex:]):
8554        (-[WebImageData propertiesAtIndex:]):
8555        (-[WebImageData _cacheImages:allImages:]):
8556        (-[WebImageData decodeData:isComplete:callback:]):
8557        (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
8558        * WebView.subproj/WebPreferences.m:
8559        (+[WebPreferences initialize]):
8560
85612004-12-20  Richard Williamson   <rjw@apple.com>
8562
8563	Fixed build problem caused by change to ImageIO API.
8564
8565        Reviewed by Adele.
8566
8567        * WebCoreSupport.subproj/WebImageData.m:
8568
85692004-12-19  Darin Adler  <darin@apple.com>
8570
8571        Reviewed by Kevin.
8572
8573        - some garbage collection fixes
8574
8575        * Misc.subproj/WebNSObjectExtras.h: (WebCFAutorelease): Replaced the old WebNSRetainCFRelease with this
8576        much-easier-to-understand function cribbed from what David Harrison did in WebCore.
8577
8578        * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use CFRelease here to
8579        get rid of an unnecessary use of WebNSRetainCFRelease.
8580        * Misc.subproj/WebNSURLExtras.m:
8581        (+[NSURL _web_URLWithData:relativeToURL:]): Use WebCFAutorelease instead of WebNSRetainCFRelease and autorelease.
8582        (-[NSURL _web_URLWithLowercasedScheme]): Ditto.
8583        (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Use WebCFAutorelease here; the old code would not
8584        work correctly under GC.
8585        * Plugins.subproj/WebNetscapePluginPackage.m: (+[WebNetscapePluginPackage preferredLocalizationName]):
8586        Use WebCFAutorelease here; the old code would not work correctly under GC.
8587
85882004-12-18  Chris Blumenberg  <cblu@apple.com>
8589
8590	Fixed: <rdar://problem/3766915> PDF content needs search to work
8591
8592        Reviewed by kevin, john.
8593
8594        * WebView.subproj/WebPDFView.m:
8595	(-[WebPDFView searchFor:direction:caseSensitive:wrap:]): implemented
8596        (-[WebPDFView takeFindStringFromSelection:]): new
8597        (-[WebPDFView jumpToSelection:]): new
8598        (-[WebPDFView validateUserInterfaceItem:]): new
8599
86002004-12-17  Richard Williamson   <rjw@apple.com>
8601
8602	Make image decoding as lazy as possible for non threaded case; in some cases
8603	can avoid unnecessary decoding work.
8604
8605        Reviewed by Chris.
8606
8607        * WebCoreSupport.subproj/WebImageData.h:
8608        * WebCoreSupport.subproj/WebImageData.m:
8609        (-[WebImageData imageAtIndex:]):
8610        (-[WebImageData propertiesAtIndex:]):
8611        (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
8612
86132004-12-16  John Sullivan  <sullivan@apple.com>
8614
8615        Reviewed by Chris.
8616        
8617        One of the assertions from my previous checkin fired, so
8618        I made this code more robust.
8619
8620        * WebCoreSupport.subproj/WebBridge.m:
8621        (-[WebBridge _preferences]):
8622        new helper method, returns global preferences if webView is nil,
8623        otherwise returns webView's preferences
8624        (-[WebBridge getObjectCacheSize]):
8625        use new helper method, remove now-unnecessary assert
8626        (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
8627        ditto
8628
86292004-12-16  John Sullivan  <sullivan@apple.com>
8630
8631        Reviewed by Darin.
8632        
8633        - fixed <rdar://problem/3913523> Mail needs SPI for adding tooltips to links
8634        - cleaned up some calls to +[WebPreferences standardPreferences] that should
8635          have been using -[WebView preferences]
8636          
8637        This adds a (currently SPI-only) new feature that shows the URL of the link
8638        under the mouse in a toolTip. I tested this in Safari, but we're adding this
8639        feature for Mail, and Safari won't use it (unless of course you know the
8640        magic defaults command)
8641
8642        * Plugins.subproj/WebBaseNetscapePluginView.m:
8643        (-[WebBaseNetscapePluginView start]):
8644        use -[WebView preferences] instead of +[WebPreferences standardPreferences]
8645        
8646        * WebCoreSupport.subproj/WebBridge.m:
8647        (-[WebBridge getObjectCacheSize]):
8648        ditto
8649        (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
8650        ditto
8651        
8652        * WebView.subproj/WebBaseResourceHandleDelegate.m:
8653        (-[WebBaseResourceHandleDelegate willCacheResponse:]):
8654        ditto
8655        
8656        * WebView.subproj/WebFrame.m:
8657        (-[WebFrame _transitionToCommitted:]):
8658        ditto
8659        (-[WebFrame _loadItem:withLoadType:]):
8660        ditto
8661        
8662        * WebView.subproj/WebHTMLViewInternal.h:
8663        private struct now keeps ivar for cached value of showsURLsInToolTips
8664        so it doesn't have look it up in preferences a zillion times
8665        
8666        * WebView.subproj/WebHTMLView.m:
8667        (-[WebHTMLView _updateMouseoverWithEvent:]):
8668        if private->showsURLsInToolTips is true, set the toolTip from the URL.
8669        Fall back to showing the title attribute in case some element has a title
8670        attribute but no URL.
8671        (-[WebHTMLView _mayStartDragAtEventLocation:]):
8672        use -[WebView preferences] instead of +[WebPreferences standardPreferences]
8673        (-[WebHTMLView _resetCachedWebPreferences:]):
8674        get a fresh value for private->showsURLsInToolTips
8675        (-[WebHTMLView initWithFrame:]):
8676        call _resetCachedWebPreferences the first time, and listen for WebPreferencesChanged notifications
8677        (-[WebHTMLView _handleStyleKeyEquivalent:]):
8678        use -[WebView preferences] instead of +[WebPreferences standardPreferences]
8679        
8680        * WebView.subproj/WebPreferenceKeysPrivate.h:
8681        added WebKitShowsURLsInToolTipsPreferenceKey
8682        
8683        * WebView.subproj/WebPreferences.m:
8684        (+[WebPreferences initialize]):
8685        initialize WebKitShowsURLsInToolTipsPreferenceKey to 0
8686        (-[WebPreferences showsURLsInToolTips]):
8687        return WebKitShowsURLsInToolTipsPreferenceKey value
8688        (-[WebPreferences setShowsURLsInToolTips:]):
8689        set WebKitShowsURLsInToolTipsPreferenceKey value
8690        
8691        * WebView.subproj/WebPreferencesPrivate.h:
8692        add declarations for showsURLsInToolTips and setter
8693        
8694        * WebView.subproj/WebTextView.m:
8695        (-[WebTextView _preferences]):
8696        new helper method that gets preferences from webView if there is a webView,
8697        otherwise gets global preferences
8698        (-[WebTextView setFixedWidthFont]):
8699        use new helper method rather than always using global preferences
8700        (-[WebTextView initWithFrame:]):
8701        observe WebPreferencesChangedNotification instead of unnecessarily general
8702        NSUserDefaultsChangedNotification
8703
87042004-12-14  John Sullivan  <sullivan@apple.com>
8705
8706        Reviewed by Ken.
8707        
8708        - rest of WebKit fix for <rdar://problem/3790011> undoable operations all say "Undo" 
8709        in the menu, no specific action names
8710        
8711        I only know of one loose end currently, which I wrote up as <rdar://problem/3920971> Edit menu 
8712        says "Undo Change Attributes" when it should say "Undo Set Color", from font panel
8713
8714        * WebView.subproj/WebHTMLView.m:
8715        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
8716        use WebUndoActionSetColor when dragging color swatch
8717        (-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
8718        new WebUndoAction parameter, passed across bridge
8719        (-[WebHTMLView _toggleBold]):
8720        use WebUndoActionSetFont
8721        (-[WebHTMLView _toggleItalic]):
8722        use WebUndoActionSetFont
8723        (-[WebHTMLView pasteFont:]):
8724        use WebUndoActionPasteFont
8725        (-[WebHTMLView changeFont:]):
8726        use WebUndoActionSetFont
8727        (-[WebHTMLView changeAttributes:]):
8728        use WebUndoActionChangeAttributes
8729        (-[WebHTMLView _undoActionFromColorPanelWithSelector:]):
8730        new method, returns WebUndoActionSetBackgroundColor or WebUndoActionSetColor
8731        (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
8732        now calls _undoActionFromColorPanelWithSelector
8733        (-[WebHTMLView changeColor:]):
8734        use WebUndoActionSetColor
8735        (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]):
8736        new WebUndoAction parameter, passed through
8737        (-[WebHTMLView alignCenter:]):
8738        use WebUndoActionCenter
8739        (-[WebHTMLView alignJustified:]):
8740        use WebUndoActionJustify
8741        (-[WebHTMLView alignLeft:]):
8742        use WebUndoActionAlignLeft
8743        (-[WebHTMLView alignRight:]):
8744        use WebUndoActionAlignRight
8745        (-[WebHTMLView subscript:]):
8746        use WebUndoActionAlignSubscript
8747        (-[WebHTMLView superscript:]):
8748        use WebUndoActionAlignSuperscript
8749        (-[WebHTMLView unscript:]):
8750        use WebUndoActionAlignUnscript
8751        (-[WebHTMLView underline:]):
8752        use WebUndoActionAlignUnderline
8753        
8754        * WebView.subproj/WebView.m:
8755        (-[WebView setTypingStyle:]):
8756        pass WebUndoActionUnspecified through as new parameter since we don't have any more specific info
8757        (-[WebView applyStyle:]):
8758        ditto
8759
87602004-12-14  Richard Williamson   <rjw@apple.com>
8761
8762	Helper method to get URL of plugin view.
8763
8764        Reviewed by Chris.
8765
8766        * Misc.subproj/WebNSViewExtras.m:
8767        (-[NSView _webViewURL]):
8768
87692004-12-14  Vicki Murley <vicki@apple.com>
8770
8771        Reviewed by rjw.
8772 
8773	<rdar://problem/3855573> Remove reference to "WebScriptMethods" from WebScriptObject.h comments
8774
8775        * Plugins.subproj/WebPlugin.h: changed instances of "WebScriptMethods" to "WebScripting" in this
8776	file as well, as requested in the bug report
8777
87782004-12-13  Maciej Stachowiak  <mjs@apple.com>
8779
8780        Reviewed by John.
8781
8782	<rdar://problem/3912488> Mail throws an exception after backspacing "away" inline input
8783        
8784	* WebView.subproj/WebHTMLView.m:
8785        (-[WebHTMLView setMarkedText:selectedRange:]): Don't try to set a selection if
8786	we end up with no marked text, since that case fails and is unnecessary.
8787
87882004-12-14  John Sullivan  <sullivan@apple.com>
8789
8790        Reviewed by Ken.
8791
8792        - WebKit part of plumbing of fix for <rdar://problem/3790011> undoable operations all say "Undo" in the menu, 
8793        no specific action names
8794
8795        * WebCoreSupport.subproj/WebBridge.m:
8796        (-[WebBridge nameForUndoAction:]):
8797        renamed from setUndoActionNamePlaceholder, replaced arbitrary integers with enum values, and
8798        handled new "unspecified" case as a fallback
8799
88002004-12-13  Richard Williamson   <rjw@apple.com>
8801
8802	Fixed <rdar://problem/3887767> LiveConnect doesn't propagate Java exceptions back to JavaScript (prevents security suite from running)
8803
8804        Reviewed by John.
8805
8806        * Plugins.subproj/WebJavaPlugIn.h:
8807
88082004-12-13  John Sullivan  <sullivan@apple.com>
8809
8810        Reviewed by Maciej.
8811        
8812        - fixed <rdar://problem/3744583> Safari can not quit when a webpage has a login sheet 
8813        that can't be cancelled.
8814        
8815        The proper fix for this would be to change the class of the NSPanel in the nib file.
8816        But since this would require a localization change, I did a run-time hack instead.
8817        I'll file a bug about fixing this when we're out of localization freeze.
8818
8819        * Panels.subproj/WebAuthenticationPanel.m:
8820        (-[WebAuthenticationPanel replacePanelWithSubclassHack]):
8821        new method, creates a new panel that is identical to the original one except that
8822        it's our subclass, and moves all the subviews of the original panel into the new one.
8823        (-[WebAuthenticationPanel loadNib]):
8824        call replacePanelWithSubclassHack
8825        (-[NonBlockingPanel _blocksActionWhenModal:]):
8826        only method of new NSPanel subclass; overrides this SPI to allow the user to quit
8827        when one of these panels/sheets is on-screen
8828
88292004-12-10  Richard Williamson   <rjw@apple.com>
8830
8831	Fixed <rdar://problem/3898708> REGRESSION (8A314-8A317): World Clock's short hand not displayed (ImageIO problem with PDF?)
8832	Fixed <rdar://problem/3914012> use CG directly for pdf images not ImageIO
8833
8834	Create a PDF document and draw that instead of using ImageIO to create a rasterized image.
8835
8836        Reviewed by Maciej.
8837
8838        * WebCoreSupport.subproj/WebImageData.h:
8839        * WebCoreSupport.subproj/WebImageData.m:
8840        (-[WebImageData setIsPDF:]):
8841        (-[WebImageData isPDF]):
8842        (-[WebImageData dealloc]):
8843        (-[WebImageData decodeData:isComplete:callback:]):
8844        (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
8845        (-[WebImageData size]):
8846        (-[WebImageData animate]):
8847        (-[WebImageData _createPDFWithData:]):
8848        (-[WebImageData _PDFDocumentRef]):
8849        (-[WebImageData _PDFDrawInContext:]):
8850        (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):
8851        * WebCoreSupport.subproj/WebImageRenderer.h:
8852        * WebCoreSupport.subproj/WebImageRenderer.m:
8853        (-[WebImageRenderer size]):
8854        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:callback:]):
8855        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
8856        (_createImageRef):
8857
88582004-12-10  John Sullivan  <sullivan@apple.com>
8859
8860        Reviewed by Ken.
8861        
8862        - fixed <rdar://problem/3855127> Error while printing w/o sheet, then window is left in a bad state, 
8863        if there's no default printer set
8864
8865        * WebView.subproj/WebHTMLView.m:
8866        (-[WebHTMLView beginDocument]):
8867        Our implementation of knowsPageRange puts the WebHTMLView into a special "printing mode". We must
8868        exit the "printing mode" to return to normal behavior. This is normally done in endDocument.
8869        However, it turns out that if there's an exception in [super beginDocument], then endDocument
8870        will not be called (lame-o AppKit API). So, we handle that case by catching the exception and
8871        exiting the "printing mode" in beginDocument when it occurs.
8872
88732004-12-09  Richard Williamson   <rjw@apple.com>
8874
8875	Fixed <rdar://problem/3905789> Burn Disc image vibrates rapidly
8876
8877	Restrict our support for animated images to GIF.  We used to
8878	use presence of more than one image in a resource to determine
8879	if an image should be animated.  This caused us to animate icns!
8880	If we ever support any other animated image formats we'll have
8881	to extend.
8882
8883        Reviewed by Hyatt.
8884
8885        * WebCoreSupport.subproj/WebImageData.h:
8886        * WebCoreSupport.subproj/WebImageData.m:
8887        (-[WebImageData shouldAnimate]):
8888        * WebCoreSupport.subproj/WebImageRenderer.m:
8889        (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
8890
88912004-12-09  Richard Williamson   <rjw@apple.com>
8892
8893	Make WebPluginDatabase.h private (Dashboard needs SPI).
8894
8895        * WebKit.pbproj/project.pbxproj:
8896
8897=== Safari-175 ===
8898
88992004-12-09  Chris Blumenberg  <cblu@apple.com>
8900
8901	Workaround for this exception being raised during download:
8902	[WebDownload connection:willStopBufferingData:]: selector not recognized
8903
8904        Reviewed by john.
8905
8906        * Misc.subproj/WebDownload.m:
8907        (-[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.
8908
89092004-12-08  Richard Williamson   <rjw@apple.com>
8910
8911	Fixed <rdar://problem/3911719> REGRESSION: Images no longer scale vertically
8912	Account for scaling correctly when taking into account progressively
8913 	loaded images.
8914
8915	Also added implementation of repetition count for animated GIF images.
8916	Also replaced strings with new constants from CFImageProperties.h
8917
8918	Also fixed possible problem with -(NSSize)size implementation,
8919	relevant to Panther only.
8920
8921        Reviewed by Chris.
8922
8923        * WebCoreSupport.subproj/WebImageData.m:
8924        (-[WebImageData _floatProperty:type:at:]):
8925        (-[WebImageData _frameDurationAt:]):
8926        (-[WebImageData _repetitionCount]):
8927        * WebCoreSupport.subproj/WebImageRenderer.m:
8928        (-[WebImageRenderer size]):
8929
89302004-12-08  Chris Blumenberg  <cblu@apple.com>
8931
8932	Removed NPN wrappers since these no longer need to be defined to make the QT plug-in work
8933	since 3828925 has been fixed.
8934
8935        Reviewed by john.
8936
8937        * Plugins.subproj/WebNetscapePluginPackage.m:
8938        (-[WebNetscapePluginPackage load]): use under-bar symbols since non-under-bar wrappers have been removed
8939        * Plugins.subproj/npapi.m: removed NPN wrappers
8940        * WebKit.exp: removed symbols
8941
89422004-12-08  Ken Kocienda  <kocienda@apple.com>
8943
8944        Reviewed by Darin
8945
8946        * WebView.subproj/WebHTMLView.m:
8947        (-[WebHTMLView drawRect:]): Work around for this bug:
8948        <rdar://problem/3908282> REGRESSION (Mail): No drag image dragging selected text in Blot and Mail
8949        The reason for the workaround is that this method is called explicitly from the code
8950        to generate a drag image, and at that time, getRectsBeingDrawn:count: will return a zero count.
8951        This code change uses the passed-in rect when the count is zero.
8952
89532004-12-07  Administrator  <cblu@apple.com>
8954
8955	Support for fix for:
8956	<rdar://problem/3734309> Safari doesn't open folders in title bar menu with non-Roman names using Cmd+click
8957
8958        Reviewed by john.
8959
8960        * Misc.subproj/WebNSURLExtras.h:
8961        * Misc.subproj/WebNSURLExtras.m:
8962        (+[NSURL _web_URLWithUserTypedString:relativeToURL:]): renamed to take relativeToURL parameter
8963        (+[NSURL _web_URLWithUserTypedString:]): call _web_URLWithUserTypedString:relativeToURL: with nil for URL
8964
89652004-12-07  Richard Williamson   <rjw@apple.com>
8966
8967	Fixed <rdar://problem/3905564> REGRESSION (Tiger); in History menu, pixel size appears but is wrong for standalone images in Safari.
8968
8969        Reviewed by Chris.
8970
8971        * WebCoreSupport.subproj/WebImageRenderer.m:
8972        (-[WebImageRenderer size]):
8973
89742004-12-07  Richard Williamson   <rjw@apple.com>
8975
8976	Support threaded image decoding on machines w/ >= 2 CPUs.
8977
8978        Reviewed by Maciej and Chris.
8979
8980        * Misc.subproj/WebKitSystemBits.h:
8981        * Misc.subproj/WebKitSystemBits.m:
8982        (WebSystemMainMemory):
8983        (WebNumberOfCPUs):
8984        * WebCoreSupport.subproj/WebImageData.h:
8985        * WebCoreSupport.subproj/WebImageData.m:
8986        (+[WebImageData initialize]):
8987        (-[WebImageData init]):
8988        (-[WebImageData _commonTermination]):
8989        (-[WebImageData dealloc]):
8990        (-[WebImageData _invalidateImages]):
8991        (-[WebImageData _imageSourceOptions]):
8992        (-[WebImageData imageAtIndex:]):
8993        (-[WebImageData propertiesAtIndex:]):
8994        (-[WebImageData _createImages]):
8995        (-[WebImageData decodeData:isComplete:callback:]):
8996        (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
8997        (drawPattern):
8998        (-[WebImageData tileInRect:fromPoint:context:]):
8999        (-[WebImageData isNull]):
9000        (-[WebImageData size]):
9001        (-[WebImageData _frameDurationAt:]):
9002        (-[WebImageData _frameDuration]):
9003        (+[WebImageData stopAnimationsInView:]):
9004        (-[WebImageData addAnimatingRenderer:inView:]):
9005        (-[WebImageData removeAnimatingRenderer:]):
9006        * WebCoreSupport.subproj/WebImageDecodeItem.h: Added.
9007        * WebCoreSupport.subproj/WebImageDecodeItem.m: Added.
9008        (+[WebImageDecodeItem decodeItemWithImage:data:isComplete:callback:]):
9009        (-[WebImageDecodeItem initWithImage:data:isComplete:callback:]):
9010        (-[WebImageDecodeItem finalize]):
9011        (-[WebImageDecodeItem dealloc]):
9012        * WebCoreSupport.subproj/WebImageDecoder.h: Added.
9013        * WebCoreSupport.subproj/WebImageDecoder.m: Added.
9014        (decoderNotifications):
9015        (+[WebImageDecoder initialize]):
9016        (+[WebImageDecoder notifyMainThread]):
9017        (+[WebImageDecoder sharedDecoder]):
9018        (+[WebImageDecoder performDecodeWithImage:data:isComplete:callback:]):
9019        (+[WebImageDecoder imageDecodesPending]):
9020        (+[WebImageDecoder decodeComplete:status:]):
9021        (-[WebImageDecoder init]):
9022        (-[WebImageDecoder dealloc]):
9023        (-[WebImageDecoder finalize]):
9024        (-[WebImageDecoder removeItem]):
9025        (-[WebImageDecoder addItem:]):
9026        (-[WebImageDecoder decodeItem:]):
9027        (decoderThread):
9028        (startDecoderThread):
9029        * WebCoreSupport.subproj/WebImageRenderer.m:
9030        (-[WebImageRenderer initWithData:MIMEType:]):
9031        (-[WebImageRenderer initWithContentsOfFile:]):
9032        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:callback:]):
9033        (-[WebInternalImage incrementalLoadWithBytes:length:complete:callback:]):
9034        * WebKit.pbproj/project.pbxproj:
9035        * WebView.subproj/WebImageRepresentation.m:
9036        (-[WebImageRepresentation receivedData:withDataSource:]):
9037        (-[WebImageRepresentation receivedError:withDataSource:]):
9038        (-[WebImageRepresentation finishedLoadingWithDataSource:]):
9039
90402004-12-07  Chris Blumenberg  <cblu@apple.com>
9041
9042	Fix for performance regression.
9043
9044        Reviewed by kevin.
9045
9046        * WebCoreSupport.subproj/WebBridge.m:
9047        (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): construct the WebResource without copying the data
9048
90492004-12-07  Chris Blumenberg  <cblu@apple.com>
9050
9051	Fixed: <rdar://problem/3909243> REGRESSION: large standalone images stop loading part way through
9052
9053        Reviewed by kevin.
9054
9055        * WebView.subproj/WebBaseResourceHandleDelegate.h:
9056        * WebView.subproj/WebMainResourceClient.m:
9057        (-[WebMainResourceClient addData:]): call super so it buffers the data
9058
90592004-12-06  Richard Williamson   <rjw@apple.com>
9060
9061	Use the AppKit's font rendering mode.  This fixes 3905347, but we still need to track down
9062	and resolve why metrics have changed for Courier.  This may be caused by changes in
9063	AppKit for 3902394.
9064
9065        Reviewed by John.
9066
9067        * WebCoreSupport.subproj/WebTextRenderer.m:
9068        (_AppkitGetCGRenderingMode):
9069        (getUncachedWidth):
9070        (_drawGlyphs):
9071
90722004-12-06  Chris Blumenberg  <cblu@apple.com>
9073
9074	Forgot to commit copied header.
9075
9076        * DOM.subproj/DOMPrivate.h:
9077
90782004-12-06  Chris Blumenberg  <cblu@apple.com>
9079
9080	Fixed: <rdar://problem/3907381> NSURLConnection and WebKit buffer 2 copies of incoming data
9081
9082        Reviewed by darin.
9083
9084        * WebView.subproj/WebBaseResourceHandleDelegate.h:
9085        * WebView.subproj/WebBaseResourceHandleDelegate.m:
9086        (+[WebBaseResourceHandleDelegate initialize]): cache check to see if Foundation supports access to its buffered data
9087        (-[WebBaseResourceHandleDelegate addData:]): don't buffer data if Foundation is buffering it for us
9088        (-[WebBaseResourceHandleDelegate saveResource]): when creating a WebResource, pass NO for copyData since we know it won't be mutated
9089        (-[WebBaseResourceHandleDelegate resourceData]): return the buffered data from the connection if it supports it
9090        (-[WebBaseResourceHandleDelegate willStopBufferingData:]): make a mutable copy of the data from NSURLConnection so we can continue buffering 
9091        (-[WebBaseResourceHandleDelegate willCacheResponse:]): removed optimization that used the cached response data to save the resource since that is obsolete by this change
9092        (-[WebBaseResourceHandleDelegate connection:willStopBufferingData:]): new callback from NSURLConnection, informs us that NSURLConnection has given up buffering
9093        * WebView.subproj/WebDataSource.m:
9094        (-[WebDataSource _receivedData:]): removed buffering code since that's done by NSURLConnection and the main client
9095        (-[WebDataSource _setData:]): removed unnecessary cast since the resourceData ivar is now an NSData instead of NSMutableData
9096        (-[WebDataSource data]): return resourceData ivar, else return the resourceData from the main client
9097        * WebView.subproj/WebDataSourcePrivate.h:
9098        * WebView.subproj/WebMainResourceClient.m:
9099        (-[WebMainResourceClient releaseResources]): store resourceData on the data source so it can continue to have data after the main client has gone away 
9100        (-[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
9101        (-[WebMainResourceClient connectionDidFinishLoading:]): ditto
9102        * WebView.subproj/WebResource.m:
9103        (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call following method with YES for copyData
9104        (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:copyData:]): new initializer, allows caller to choose whether or not the data is copied
9105        * WebView.subproj/WebResourcePrivate.h:
9106
91072004-12-06  Richard Williamson   <rjw@apple.com>
9108
9109	Fixed <rdar://problem/3903749> REGRESSION (8A321): WebKit gets incorrect glyph metrics due to change in how AppKit uses CGFont
9110
9111	Use CGFontRef direction when both getting font metrics and drawing
9112	glyphs, instead on depending on [NSFont set].
9113
9114        Reviewed by John.
9115
9116        * WebCoreSupport.subproj/WebTextRenderer.m:
9117        (getUncachedWidth):
9118        (_drawGlyphs):
9119
91202004-12-06  Ken Kocienda  <kocienda@apple.com>
9121
9122        Reviewed by Harrison
9123        
9124        Fix for this bug:
9125        
9126        <rdar://problem/3906930> Hitting return key in editable content inserts br elements instead of blocks
9127
9128        * WebView.subproj/WebHTMLView.m:
9129        (-[WebHTMLView insertNewline:]): One-line change to call insert-block rather than insert-br method 
9130        on bridge.
9131
91322004-12-04  Darin Adler  <darin@apple.com>
9133
9134        Reviewed by John.
9135
9136        - fixed <rdar://problem/3846079> assertion failure in WebHTMLView(WebPrivate) removeTrackingRect at boots.com
9137        - 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
9138        - fixed <rdar://problem/3861952> REGRESSION (165-166): selection is cleared when you start to scroll a frame
9139
9140        * WebView.subproj/WebHTMLViewInternal.h: Added handlingMouseDown flag.
9141        * WebView.subproj/WebHTMLView.m:
9142        (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Allow passing in a
9143        tracking number of 0, which means no existing tracking number.
9144        (-[WebHTMLView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Ditto.
9145        (-[WebHTMLView removeTrackingRect:]): Allow removing a tracking number of 0, which is a no-op.
9146        (-[WebHTMLView _removeTrackingRects:count:]): Ditto.
9147        (-[WebHTMLView acceptsFirstResponder]): Changed check to use handlingMouseDown flag instead of mouseDownEvent
9148        field since that field is set up too early in the mouse down event handling process.
9149        (-[WebHTMLView mouseDown:]): Added code to set handlingMouseDown flag.
9150
9151        - fixed part of <rdar://problem/3829808> Safari crashes when adding a DOM node that was removed from an XMLHTTP request result
9152
9153        * WebCoreSupport.subproj/WebBridge.m:
9154        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
9155        Changed code around so that it won't try to create a WebResource when the load fails.
9156
9157        - moved next/previous links into private structure with the rest of WebFrame fields
9158          (We have a rule against putting new fields into obejcts that are part of our public API.)
9159
9160        * WebView.subproj/WebFrame.h: Remove _nextSibling and _previousSibling.
9161        * WebView.subproj/WebFramePrivate.h: Added nextSibling and previousSibling fields to private class.
9162        * WebView.subproj/WebFrame.m: Got rid of some tabs in this file.
9163        (-[WebFrame _addChild:]): Changed code to use fields inside _private.
9164        (-[WebFrame _removeChild:]): Ditto.
9165        (-[WebFrame _nextFrameWithWrap:]): Ditto.
9166        (-[WebFrame _previousFrameWithWrap:]): Ditto.
9167
91682004-12-04  Chris Blumenberg  <cblu@apple.com>
9169
9170	New fixes for:
9171	<rdar://problem/3685766> WebDataSource is missing subresources when they use cached WebCore data
9172	<rdar://problem/3722434> REGRESSION?: Assertion failure trying to drag image in iframe (itapema.sc.gov.br)
9173	<rdar://problem/3903173> REGRESSION (172-TOT): assertion failure and crash in slotAllData logging into hotmail account
9174	<rdar://problem/3902749> REGRESSION (Tiger): missing image symbol does not appear
9175
9176        Reviewed by darin, rjw, kocienda.
9177
9178        * WebCoreSupport.subproj/WebBridge.m:
9179        (-[WebBridge objectLoadedFromCacheWithURL:response:data:]):
9180        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
9181        * WebCoreSupport.subproj/WebSubresourceClient.m:
9182        (-[WebSubresourceClient didFinishLoading]):
9183        * WebView.subproj/WebFrame.m:
9184        (-[WebFrame _opened]):
9185        (-[WebFrame _internalLoadDelegate]):
9186        (-[WebFrame _sendResourceLoadDelegateMessagesForURL:response:length:]):
9187        * WebView.subproj/WebFrameInternal.h:
9188
91892004-12-04  Darin Adler  <darin@apple.com>
9190
9191        Reviewed by Maciej.
9192
9193        - fixed remaining bit of <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
9194
9195        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): When translating from
9196        an attribute dictionary to a CSS declaration, treat missing values according to the defaults defined
9197        in <AppKit/NSAttributedString.h>. Before the code was treating them as "no change", which is incorrect.
9198
9199        * English.lproj/StringsNotToBeLocalized.txt: Add a string from the above change.
9200
9201=== Safari-173 ===
9202
92032004-12-03  Ken Kocienda  <kocienda@apple.com>
9204
9205        Reviewed by me
9206
9207        Roll out some recent changes by Chris that caused a performance regression.
9208        Fix is in hand, but it is a little risky this close to a submission. So,
9209        we have decided to roll back the change with the regression and roll in
9210        the new code after we submit.
9211
9212        * WebCoreSupport.subproj/WebBridge.m:
9213        (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
9214        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
9215        * WebCoreSupport.subproj/WebSubresourceClient.m:
9216        (-[WebSubresourceClient didFinishLoading]):
9217        * WebView.subproj/WebFrame.m:
9218        (-[WebFrame _opened]):
9219        (-[WebFrame _internalLoadDelegate]):
9220        * WebView.subproj/WebFrameInternal.h:
9221
92222004-12-02  Richard Williamson   <rjw@apple.com>
9223
9224	Fixed <rdar://problem/3841332> REGRESSION (125.9-167u): repro crash in -[KWQPageState invalidate] involving .Mac images
9225
9226	Ensure that the document is cleared when leaving a non-HTML page.  This ensures that
9227	the b/f cache won't incorrectly trash the previous state when restoring.
9228
9229        Reviewed by John.
9230
9231        * WebView.subproj/WebFrame.m:
9232        (-[WebFrame _setState:]):
9233
92342004-12-02  Ken Kocienda  <kocienda@apple.com>
9235
9236        Reviewed by Richard
9237
9238        <rdar://problem/3748323> Problem with -[WebView editableDOMRangeForPoint:] (-isFlipped not taken into account?)
9239        <rdar://problem/3852590> REGRESSION (Mail): Dropped content appears in wrong place if Mail message is scrolled down
9240
9241        When implementing drag and drop, moveDragCaretToPoint: and editableDOMRangeForPoint: are used in
9242        concert to track the mouse and determine a drop location, respectively. However, moveDragCaretToPoint:
9243        did a conversion of the passed-in point to the document view's coordinate space, whereas 
9244        editableDOMRangeForPoint: did not. Now it does.
9245        
9246        Note that I will need to coordinate with Grant to have him roll out some code in Mail that
9247        attempts to work around this problem (unsuccessfully), and actually manages to block the
9248        real fix (which needs to be in WebKit).
9249
9250        * WebView.subproj/WebView.m:
9251        (-[WebView editableDOMRangeForPoint:]): Convert the passed-in point to the document view's coordinate space.
9252
92532004-12-02  Richard Williamson   <rjw@apple.com>
9254
9255	Fixed <rdar://problem/3895810> FATAL ERROR: <WebTextRenderer: 0x9328a20> unable to initialize with font "Times-Roman 16.00 pt. S ....
9256
9257	We have a hack to replace Times with Times New Roman if we fail
9258        to setup Times.  If we then fail to setup Times New Roman we
9259        don't attempt to further fallback to the system font.  Added
9260        that additional fallback.
9261
9262        Reviewed by Ken.
9263
9264        * WebCoreSupport.subproj/WebTextRenderer.m:
9265        (+[WebTextRenderer webFallbackFontFamily]):
9266        (-[WebTextRenderer initWithFont:usingPrinterFont:]):
9267
92682004-12-02  Richard Williamson   <rjw@apple.com>
9269
9270	Fixed build problem on Tiger8A821.  Private macro and function
9271	we were using have been deprecated,
9272
9273        Reviewed by Vicki.
9274
9275        * WebCoreSupport.subproj/WebTextRenderer.m:
9276        (-[WebTextRenderer initWithFont:usingPrinterFont:]):
9277
92782004-12-01  Chris Blumenberg  <cblu@apple.com>
9279
9280	Fixed: <rdar://problem/3879870> Flash Player unable to stop data stream from continuing to download by returning -1 from NPP_Write
9281	Also improved and cleaned-up the plug-in stream termination code.
9282
9283        Reviewed by john.
9284
9285        * Plugins.subproj/WebBaseNetscapePluginStream.h:
9286        * Plugins.subproj/WebBaseNetscapePluginStream.m:
9287        (+[WebBaseNetscapePluginStream reasonForError:]): return NPRES_DONE for a nil error
9288        (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]): new, factored out from other methods
9289        (-[WebBaseNetscapePluginStream errorForReason:]): new
9290        (-[WebBaseNetscapePluginStream dealloc]): release MIME type
9291        (-[WebBaseNetscapePluginStream setMIMEType:]): new
9292        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): call setMIMEType so we can use it in _pluginCancelledConnectionError, call renamed methods
9293        (-[WebBaseNetscapePluginStream _destroyStream]): prepended underscore, replaced some early returns with asserts as the callers are now smarter
9294        (-[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
9295        (-[WebBaseNetscapePluginStream cancelLoadWithError:]): new, overridden by subclasses to cancel the actual NSURLConnection
9296        (-[WebBaseNetscapePluginStream destroyStreamWithError:]): new, calls _destroyStreamWithReason
9297        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): call renamed methods
9298        (-[WebBaseNetscapePluginStream _deliverData]): prepended underscore, call cancelLoadAndDestroyStreamWithError if NPP_Write returns a negative number
9299        * Plugins.subproj/WebBaseNetscapePluginView.m:
9300        (-[WebBaseNetscapePluginView destroyStream:reason:]): call cancelLoadAndDestroyStreamWithError
9301        * Plugins.subproj/WebNetscapePluginRepresentation.m:
9302        (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call destroyStreamWithError
9303        (-[WebNetscapePluginRepresentation cancelLoadWithError:]): new, override method, tell the data source to stop loading
9304        * Plugins.subproj/WebNetscapePluginStream.m:
9305        (-[WebNetscapePluginStream cancelLoadWithError:]): new, override method, tell the loader to stop
9306        (-[WebNetscapePluginStream stop]): call cancelLoadAndDestroyStreamWithError
9307        (-[WebNetscapePluginConnectionDelegate isDone]): new
9308        (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]): call cancelLoadAndDestroyStreamWithError
9309        (-[WebNetscapePluginConnectionDelegate didFailWithError:]): call destroyStreamWithError
9310
93112004-12-01  Kevin Decker  <kdecker@apple.com>
9312
9313        Reviewed by Harrison.
9314
9315	Fixed: <rdar://problem/3228878> potential performance problem in finding in large framesets
9316
9317	Got rid of O(N^2) conditions in _nextSibling and _previousSibling of where we were looking up self in the parent array of frames.
9318
9319        * WebView.subproj/WebFrame.h: Added two new pointers, one for the previous kid and one for the next kid
9320        * WebView.subproj/WebFrame.m: 
9321        (-[WebFrame _addChild:]): Updates the previous frame and the next frame after this child
9322        (-[WebFrame _removeChild:]): ditto
9323        (-[WebFrame _nextSibling]): just return the pointer now
9324        (-[WebFrame _previousSibling]): ditto
9325
93262004-11-30  Chris Blumenberg  <cblu@apple.com>
9327
9328	Fixed:
9329	<rdar://problem/3685766> WebDataSource is missing subresources when they use cached WebCore data
9330	<rdar://problem/3722434> REGRESSION?: Assertion failure trying to drag image in iframe (itapema.sc.gov.br)
9331
9332        Reviewed by darin.
9333
9334        * WebCoreSupport.subproj/WebBridge.m:
9335        (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): renamed to pass all data for the resource, moved delegate code to new method
9336        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call renamed method
9337        * WebCoreSupport.subproj/WebSubresourceClient.m:
9338        (-[WebSubresourceClient didFinishLoading]): call renamed method
9339        * WebView.subproj/WebFrame.m:
9340        (-[WebFrame _opened]): call _sendResourceLoadDelegateMessagesForURL:response:length:, not objectLoadedFromCacheWithURL:response:data:
9341        (-[WebFrame _internalLoadDelegate]):
9342        (-[WebFrame _sendResourceLoadDelegateMessagesForURL:response:length:]): moved from objectLoadedFromCacheWithURL:response:data:
9343        * WebView.subproj/WebFrameInternal.h:
9344
93452004-11-29  Darin Adler  <darin@apple.com>
9346
9347        Reviewed by John.
9348
9349        - worked around bug in Panther where NSScroller calls _destinationFloatValueForScroller: on superview
9350          without first checking if it's implemented
9351
9352        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _destinationFloatValueForScroller:]):
9353        Implemented. Calls floatValue on the scroller.
9354
9355        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
9356
93572004-11-23  Chris Blumenberg  <cblu@apple.com>
9358
9359	Fixed: <rdar://problem/3890944> disable icon database for Dashboard
9360
9361        Reviewed by kevin.
9362
9363        * Misc.subproj/WebIconDatabase.h:
9364        * Misc.subproj/WebIconDatabase.m:
9365        (-[WebIconDatabase init]): don't create dictionaries if disabled
9366        (-[WebIconDatabase iconForURL:withSize:cache:]): return default icon if disabled
9367        (-[WebIconDatabase iconURLForURL:]): return nil if disabled
9368        (-[WebIconDatabase retainIconForURL:]): return if disabled
9369        (-[WebIconDatabase releaseIconForURL:]): ditto
9370        (-[WebIconDatabase delayDatabaseCleanup]): ditto
9371        (-[WebIconDatabase allowDatabaseCleanup]): ditto
9372        (-[WebIconDatabase _isEnabled]): new
9373        (-[WebIconDatabase _setIcon:forIconURL:]): assert if called when disabled, moved to own category implementation
9374        (-[WebIconDatabase _setHaveNoIconForIconURL:]): ditto
9375        (-[WebIconDatabase _setIconURL:forURL:]): ditto
9376        (-[WebIconDatabase _createFileDatabase]): tweak
9377        (-[WebIconDatabase _applicationWillTerminate:]): moved out of public code
9378        * Misc.subproj/WebIconDatabasePrivate.h:
9379        * Misc.subproj/WebIconLoader.m:
9380        * WebView.subproj/WebDataSource.m:
9381        (-[WebDataSource _updateIconDatabaseWithURL:]): assert if called when icon DB is disabled
9382        (-[WebDataSource _loadIcon]): don't load icon if icon DB is disabled
9383
93842004-11-22  David Hyatt  <hyatt@apple.com>
9385
9386	Make sure the WebCore cache grows at 512mb and at 1024mb exactly.
9387	
9388        Reviewed by mjs
9389
9390        * WebCoreSupport.subproj/WebBridge.m:
9391        (-[WebBridge getObjectCacheSize]):
9392
93932004-11-22  Richard Williamson   <rjw@apple.com>
9394
9395	Fixed <rdar://problem/3891737> WebPreferences do not work if they are set before set on the WebView
9396
9397	John found this problem and suggested the fix.
9398
9399        Reviewed by John Louch.
9400
9401        * WebView.subproj/WebView.m:
9402        (-[WebView setPreferences:]):
9403
94042004-11-22  Ken Kocienda  <kocienda@apple.com>
9405
9406        Reviewed by Harrison
9407
9408        * WebCoreSupport.subproj/WebBridge.m:
9409        (-[WebBridge canPaste]): Call WebView _canPaste.
9410        * WebView.subproj/WebView.m:
9411        (-[WebView _canPaste]): Try to forward to document view's implementation. Only WebHTMLView
9412        answers right now. Returns NO otherwise.
9413        * WebView.subproj/WebViewInternal.h: Add _canPaste method to WebView.
9414
94152004-11-22  Maciej Stachowiak  <mjs@apple.com>
9416
9417	Back  out the window closing fix, it seems to be causing crashes.
9418
9419        * WebView.subproj/WebFrame.m:
9420        (-[WebFrame _detachFromParent]):
9421
94222004-11-20  Maciej Stachowiak  <mjs@apple.com>
9423 
9424        Reviewed by John.
9425 
9426 	<rdar://problem/3710101> _web_userVisibleString makes URL autocomplete roughly 2x slower
9427         
9428 	* Misc.subproj/WebNSURLExtras.h:
9429        * Misc.subproj/WebNSURLExtras.m:
9430        (-[NSString _web_isUserVisibleURL]): New SPI to check if a URL
9431 	string is already in user-visible form (i.e. converting it to an
9432 	NSURL and then back via _web_userVisibleString would not change
9433 	anything).
9434 
94352004-11-19  Maciej Stachowiak  <mjs@apple.com>
9436
9437        Reviewed by John.
9438
9439	<rdar://problem/3190977> closing window with many tabs in it can be quite slow
9440        
9441	* WebView.subproj/WebFrame.m:
9442        (-[WebFrame _detachFromParent]): autorelease bridge instead of releasing it,
9443	to make window and tab closing more responsive - this way the deallocation happens
9444	after the windoow or tab appears to close.
9445
9446=== Safari-172 ===
9447
94482004-11-19  Chris Blumenberg  <cblu@apple.com>
9449
9450	Fixed: <rdar://problem/3880387> REGRESSION: www.shockplay.com site gives "Unexpected server response"
9451
9452        Reviewed by mjs.
9453
9454        * Plugins.subproj/WebBaseNetscapePluginView.m:
9455        (-[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
9456
94572004-11-19  Ken Kocienda  <kocienda@apple.com>
9458
9459        Reviewed by Harrison
9460
9461        Fix for this bug:
9462
9463        <rdar://problem/3655241> setTypingStyle: does not set the real typing style, and typingStyle does not return it
9464
9465        * WebCoreSupport.subproj/WebBridge.m:
9466        (-[WebBridge respondToChangedContents]): No longer call through to WebKit to set the typing style. The call
9467        was part of the misguided use of the setTypingStyle: and typingStyle as a cache of what was stored on
9468        the WebCore side.
9469        (-[WebBridge respondToChangedSelection]): Ditto.
9470        * WebView.subproj/WebView.m:
9471        (-[WebViewPrivate dealloc]): Object no longer has typingStyle ivar.
9472        (-[WebView setTypingStyle:]): Call over the bridge to set typing style.
9473        (-[WebView typingStyle]): Call over the bridge to retrieve typing style.
9474        * WebView.subproj/WebViewInternal.h: Object no longer has typingStyle ivar.
9475
94762004-11-18  John Sullivan  <sullivan@apple.com>
9477
9478        Reviewed by Darin.
9479        
9480        - fixed <rdar://problem/3886042> should save history file as binary XML so serialization, 
9481        parsing, reading and writing is faster
9482
9483        * History.subproj/WebHistory.m:
9484        (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]):
9485        convert dictionary to binary data before saving
9486
94872004-11-18  Chris Blumenberg  <cblu@apple.com>
9488
9489        * WebView.subproj/WebHTMLRepresentation.m:
9490        (-[WebHTMLRepresentation currentForm]): removed stray ";"
9491
94922004-11-18  Chris Blumenberg  <cblu@apple.com>
9493
9494	Fixed development build failure.
9495
9496        * Misc.subproj/WebIconDatabase.m:
9497        (+[WebIconDatabase sharedIconDatabase]): call LOG not Log
9498
94992004-11-18  Chris Blumenberg  <cblu@apple.com>
9500
9501	<rdar://problem/3885708> save memory in icon DB by not using NSSets when holding 1 object
9502	
9503        Reviewed by sullivan.
9504
9505        * Misc.subproj/WebIconDatabase.m:
9506        (+[WebIconDatabase sharedIconDatabase]): added timing code
9507        (-[WebIconDatabase _clearDictionaries]): new
9508        (-[WebIconDatabase _loadIconDictionaries]): call _clearDictionaries in 2 places before we bail, use _web_setObjectUsingSetIfNecessary:forKey: when adding site URLs to the iconURLToURLs dictionary
9509        (-[WebIconDatabase _updateFileDatabase]): fixed comment
9510        (-[WebIconDatabase _setIconURL:forURL:]): use _web_setObjectUsingSetIfNecessary:forKey: when adding site URLs to the iconURLToURLs dictionary
9511        (-[WebIconDatabase _releaseIconForIconURLString:]): handle NSString objects retured from iconURLToURLs
9512        (-[NSMutableDictionary _web_setObjectUsingSetIfNecessary:forKey:]): new, puts a set on the dictionary when there are 2 or more object for s key
9513
95142004-11-17  Richard Williamson   <rjw@apple.com>
9515
9516	Fixed <rdar://problem/3885073> REGRESSION: Tab images at top of news.com.com replicated and squished
9517
9518	Correctly account for scaled image size and clipping.
9519
9520        Reviewed by Maciej.
9521
9522        * WebCoreSupport.subproj/WebImageData.h:
9523        * WebCoreSupport.subproj/WebImageData.m:
9524        * WebCoreSupport.subproj/WebImageRenderer.m:
9525        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
9526
95272004-11-17  Maciej Stachowiak  <mjs@apple.com>
9528
9529        Reviewed by Richard.
9530
9531	<rdar://problem/3885076> Don't make IDN calls for all-ascii URLs to save about 3 pages
9532	at Safari startup.
9533	
9534        * Misc.subproj/WebNSURLExtras.m:
9535        (mapHostNames): If encoding and not decoding, then bail early if the URL is all ascii.
9536        (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Remove earlier special-case
9537	check for localhost, no longer needed.
9538
95392004-11-17  Richard Williamson   <rjw@apple.com>
9540
9541	Fixed <rdar://problem/3863601> Legacy font cache code in [WebTextRendererFactory createSharedFactory] may be unnecesary
9542
9543	and added call to SPI for
9544
9545	<rdar://problem/3884448> WebKit should turn on CG local font cache
9546
9547	currently disabled until a Tiger build shows up with the SPI.
9548
9549        Reviewed by David Harrison.
9550
9551        * WebCoreSupport.subproj/WebTextRendererFactory.m:
9552        (+[WebTextRendererFactory createSharedFactory]):
9553
95542004-11-17  Richard Williamson   <rjw@apple.com>
9555
9556        Fixed <rdar://problem/3882212> REGRESSION: Images clipped instead of scaled
9557        Fixed <rdar://problem/3884088> Crash terminating image load
9558
9559        Also added code to turn off color correction for images created
9560        via CGImageSources.  This code is currently disabled because CG  
9561        can't change the color space of images loaded progressively.
9562        Further, according to Dave Hayward, CG will no longer attempt
9563        to color correct images that don't have embedded profiles as of
9564        Tiger 8A306.
9565
9566        Reviewed by Chris.
9567
9568        * WebCoreSupport.subproj/WebImageData.m:
9569        (-[WebImageData _commonTermination]):
9570        (-[WebImageData dealloc]):
9571        (-[WebImageData _invalidateImageProperties]):
9572        (-[WebImageData imageAtIndex:]):
9573        (-[WebImageData incrementalLoadWithBytes:length:complete:]):
9574        (-[WebImageData propertiesAtIndex:]):
9575
95762004-11-16  Chris Blumenberg  <cblu@apple.com>
9577
9578	Fixed: <rdar://problem/3882034> REGRESSION: Context menu incorrect for PDF content
9579
9580        Reviewed by darin.
9581
9582        * WebView.subproj/WebPDFView.m:
9583        (-[WebPDFView hitTest:]): return self if the current event is a context menu event
9584        (-[WebPDFView menuForEvent:]): use the PDFView subview
9585
95862004-11-15  Chris Blumenberg  <cblu@apple.com>
9587
9588	Fixed: <rdar://problem/3880410> save 5 dirty pages by soft-linking against PDFKit framework
9589
9590        Reviewed by john.
9591
9592        * WebKit.pbproj/project.pbxproj:
9593        * WebView.subproj/WebPDFRepresentation.m:
9594        (+[WebPDFRepresentation PDFDocumentClass]): new
9595        (-[WebPDFRepresentation finishedLoadingWithDataSource:]): use PDFDocumentClass
9596        * WebView.subproj/WebPDFView.h:
9597        * WebView.subproj/WebPDFView.m:
9598        (+[WebPDFView PDFKitBundle]): new
9599        (+[WebPDFView PDFViewClass]): new
9600        (-[WebPDFView initWithFrame:]): create a PDFView subview
9601        (-[WebPDFView dealloc]): release the PDFView subview
9602        (-[WebPDFView PDFSubview]): new
9603
96042004-11-15  Chris Blumenberg  <cblu@apple.com>
9605
9606	Fixed: <rdar://problem/3879891> WebKit should link against PDFKit instead of Quartz
9607
9608        Reviewed by darin.
9609
9610        * WebKit.pbproj/project.pbxproj: link against PDFKit if it is present instead of Quartz.framework
9611
96122004-11-15  Richard Williamson   <rjw@apple.com>
9613
9614	Fixed missing retain of image property data.
9615
9616        Reviewed by John.
9617
9618        * WebCoreSupport.subproj/WebImageData.h:
9619        * WebCoreSupport.subproj/WebImageData.m:
9620        (-[WebImageData dealloc]):
9621        (-[WebImageData _invalidateImages]):
9622        (-[WebImageData imageAtIndex:]):
9623        (-[WebImageData propertiesAtIndex:]):
9624        (-[WebImageData _frameDuration]):
9625
96262004-11-15  Richard Williamson   <rjw@apple.com>
9627
9628	Cache image properties and frame durations.
9629	Create NSImage and TIFF representations from CGImage, lazily, as needed for
9630	dragging and element info dictionary.
9631
9632        Reviewed by John.
9633
9634        * WebCoreSupport.subproj/WebImageData.h:
9635        * WebCoreSupport.subproj/WebImageData.m:
9636        (-[WebImageData dealloc]):
9637        (-[WebImageData size]):
9638        (-[WebImageData propertiesAtIndex:]):
9639        (-[WebImageData _frameDurationAt:]):
9640        (-[WebImageData _frameDuration]):
9641        * WebCoreSupport.subproj/WebImageRenderer.h:
9642        * WebCoreSupport.subproj/WebImageRenderer.m:
9643        (-[WebImageRenderer dealloc]):
9644        (-[WebImageRenderer TIFFRepresentation]):
9645        (-[WebImageRenderer image]):
9646
96472004-11-14  Maciej Stachowiak  <mjs@apple.com>
9648
9649        Reviewed by John.
9650
9651	<rdar://problem/3879226> WebKit needlessly uses extra memory to store icon refcounts as NSNumbers	
9652
9653	* Misc.subproj/WebIconDatabase.m:
9654        (-[WebIconDatabase init]):
9655        (-[WebIconDatabase _setIconURL:forURL:]):
9656        (-[WebIconDatabase _retainIconForIconURLString:]):
9657        (-[WebIconDatabase _releaseIconForIconURLString:]):
9658        (-[WebIconDatabase _retainFutureIconForURL:]):
9659        (-[WebIconDatabase _releaseFutureIconForURL:]):
9660        * Misc.subproj/WebIconDatabasePrivate.h:
9661
96622004-11-15  John Sullivan  <sullivan@apple.com>
9663
9664        Reviewed by Ken.
9665        
9666        - fixed <rdar://problem/3879513> leak in [WebArchive _propertyListRepresentation] copying HTML to pasteboard
9667
9668        * WebView.subproj/WebArchive.m:
9669        (-[WebArchive _propertyListRepresentation]):
9670        the array holding the subresources was not released after use, oops!
9671
96722004-11-12  Chris Blumenberg  <cblu@apple.com>
9673
9674	Fixed: <rdar://problem/3874577> Opening restricted (parental) content in new window/tab reveals Safari's "Resources" folder
9675	
9676        Reviewed by john.
9677
9678        * WebView.subproj/WebDefaultContextMenuDelegate.m:
9679        (-[WebDefaultUIDelegate openFrameInNewWindow:]): use the unreachable URL if there is one
9680
9681=== Safari-171 ===
9682
96832004-11-11  Richard Williamson   <rjw@apple.com>
9684
9685        Report actual size (not partial size) but use partial size
9686        when drawing.
9687
9688        Reviewed by Maciej.
9689
9690        * WebCoreSupport.subproj/WebImageData.h:
9691        * WebCoreSupport.subproj/WebImageData.m:
9692        (-[WebImageData size]):
9693
96942004-11-11  Darin Adler  <darin@apple.com>
9695
9696        Reviewed by John.
9697
9698        - added _wasFirstResponderAtMouseDownTime method to bridge so we can fix
9699          <rdar://problem/3846152> REGRESSION (125-166): can't drag text out of <input type=text> fields
9700          with a subsequent change to WebCore.
9701
9702        * WebCoreSupport.subproj/WebBridge.m:
9703        (wasFirstResponderAtMouseDownTime:): Added. Calls _wasFirstResponderAtMouseDownTime
9704        on the WebHTMLView.
9705        (_getPreSmartSet): Move global inside the function, add (void) for cleanliness.
9706        (_getPostSmartSet): Ditto.
9707
9708        * WebView.subproj/WebHTMLView.m:
9709        (-[WebHTMLViewPrivate dealloc]): Release firstResponderAtMouseDownTime.
9710        (-[WebHTMLView _setMouseDownEvent:]): Early exit if event is not changing.
9711        Set firstResponderAtMouseDownTime to the first responder.
9712        (-[WebHTMLView mouseDown:]): Release firstResponderAtMouseDownTime after handling
9713        the mouseDown event.
9714        (-[WebHTMLView _wasFirstResponderAtMouseDownTime:]): Added. Uses the
9715        firstResponderAtMouseDownTime field.
9716        * WebView.subproj/WebHTMLViewInternal.h: Added firstResponderAtMouseDownTime field
9717        and _wasFirstResponderAtMouseDownTime method.
9718
9719        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
9720
97212004-11-11  Richard Williamson   <rjw@apple.com>
9722
9723        Reviewed by Chris.
9724
9725	Work-around to minimize impact of 3876764.  Cache frame durations
9726	after first call.  So we'll still leak 1K for each animated
9727	image, but that's better than 1K each time the frame is drawn!
9728        * WebCoreSupport.subproj/WebImageData.h:
9729        * WebCoreSupport.subproj/WebImageData.m:
9730        (-[WebImageData _frameDuration]):
9731
9732	Simplified animation cleanup code.  Fixed leak due to 
9733	incorrect key passed to CFDictionaryRemoveValue.
9734	
9735        (+[WebImageData stopAnimationsInView:]):
9736        (-[WebImageData addAnimatingRenderer:inView:]):
9737        (-[WebImageData removeAnimatingRenderer:]):
9738        (-[WebImageData _stopAnimation]):
9739
97402004-11-11  Darin Adler  <darin@apple.com>
9741
9742        Reviewed by Maciej.
9743
9744        - 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
9745
9746        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
9747        Work around AppKit bug by using rectangles from getRectsBeingDrawn:count: instead of
9748        using the passed-in rectangle.
9749
97502004-11-11  Richard Williamson   <rjw@apple.com>
9751
9752        Work-arounds to make new ImageIO code work correctly.  Still
9753        disabled for now.  Requires at least Tiger 300.  Testing does
9754        show a 3% improvement in PLT tests!  That's huge!
9755
9756        Reviewed by John.
9757
9758        * WebCoreSupport.subproj/WebImageData.m:
9759        (-[WebImageData imageAtIndex:]):
9760        (-[WebImageData incrementalLoadWithBytes:length:complete:]):
9761        (-[WebImageData isNull]):
9762
97632004-11-10  Chris Blumenberg  <cblu@apple.com>
9764
9765	Fixed: <rdar://problem/3396872> ICONS: icon DB inconsistencies can cause slowness during startup, idle and quit
9766
9767        Reviewed by john.
9768
9769        * Misc.subproj/WebFileDatabase.m:
9770        (-[WebFileDatabase objectForKey:]): added logging code
9771        * Misc.subproj/WebIconDatabase.m:
9772        (-[WebIconDatabase init]): use alloc, init rather than autorelease, retain
9773        (-[WebIconDatabase _loadIconDictionaries]): use 1 object for mapping icon URLs to site URLs and vice versa rather than 3. This avoids inconsistencies and is faster.
9774        (-[WebIconDatabase _updateFileDatabase]): write 1 object out
9775
97762004-11-09  David Hyatt  <hyatt@apple.com>
9777
9778	Fix for 3873234, Safari UI is unresponsive when parsing multiple HTML docs and 3873233, Safari hangs when
9779	loading large local files.
9780	
9781        Reviewed by mjs
9782
9783        * WebCoreSupport.subproj/WebBridge.m:
9784        (-[WebBridge tokenizerProcessedData]):
9785        * WebView.subproj/WebDataSource.m:
9786        (-[WebDataSource _receivedMainResourceError:complete:]):
9787        (-[WebDataSource isLoading]):
9788
97892004-11-09  Richard Williamson   <rjw@apple.com>
9790
9791        Fixed <rdar://problem/3870964> 8A300: Safari not recognizing a PDF link (it displays raw data)
9792
9793	Add "text/pdf" as an acceptable PDF MIME type.
9794
9795        Reviewed by Chris.
9796
9797        * WebView.subproj/WebDataSource.m:
9798        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
9799        * WebView.subproj/WebFrameView.m:
9800        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
9801
98022004-11-08  Chris Blumenberg  <cblu@apple.com>
9803
9804	Fixed: <rdar://problem/3783904> Return key behavior is confusingly different between popup menus and autofill menus
9805
9806        Reviewed by john.
9807
9808        * WebCoreSupport.subproj/WebBridge.m:
9809        (-[WebBridge control:textView:shouldHandleEvent:]): new
9810        * WebView.subproj/WebFormDelegate.h:
9811        * WebView.subproj/WebFormDelegate.m:
9812        (-[WebFormDelegate control:textView:shouldHandleEvent:inFrame:]): new
9813
98142004-11-05  Chris Blumenberg  <cblu@apple.com>
9815
9816	Fixed: <rdar://problem/3854218> Safari is sometimes really slow because of increased null events to plug-ins
9817
9818        * Plugins.subproj/WebBaseNetscapePluginView.m: reverted null event interval to 0.02
9819
98202004-11-05  Chris Blumenberg  <cblu@apple.com>
9821
9822	Fixed: <rdar://problem/3838413> REGRESSION (Mail): "Smart" word paste adds spaces before/after special characters
9823
9824        Reviewed by rjw.
9825
9826        * WebCoreSupport.subproj/WebBridge.m:
9827        (_getPreSmartSet): copied from AppKit
9828        (_getPostSmartSet): ditto
9829        (-[WebBridge isCharacterSmartReplaceExempt:isPreviousCharacter:]): new
9830
98312004-11-05  Richard Williamson   <rjw@apple.com>
9832
9833        Fixed <rdar://problem/3810702> _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector: ASSERTS when reentered from Xcode's man page viewer
9834
9835        Reviewed by Maciej (a long time ago).
9836
9837        * WebView.subproj/WebFrame.m:
9838        (-[WebFrame _loadDataSource:withLoadType:formState:]):
9839
9840        Fixed <rdar://problem/3845307> WebKit needs to export _HIWebViewRegisterClass so HIWebViews can work in Carbon nib files
9841
9842        As suggested in the bug, the fix is to actually call 
9843        HIWebViewRegisterClass in WebKitInitForCarbon, rather than
9844        exporting the symbol.
9845
9846        Reviewed by Chris.
9847
9848        * Carbon.subproj/CarbonUtils.m:
9849        (WebInitForCarbon):
9850        * Carbon.subproj/HIWebView.m:
9851        * WebKit.pbproj/project.pbxproj:
9852
9853=== Safari-170 ===
9854
98552004-11-05  Darin Adler  <darin@apple.com>
9856
9857        Reviewed by Chris.
9858
9859        - fixed <rdar://problem/3857151> Assertion failure in "trackingRectOwner" while moving mouse over Slashdot.org page
9860
9861        * WebView.subproj/WebHTMLView.m:
9862        (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Changed to no longer call
9863        addTrackingRect to do the work for consistency with the new method below. Not too much copied and pasted code.
9864        (-[WebHTMLView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Added an override
9865        for this new method in Tiger. No harm in implementing it on Panther, although it won't be called.
9866        (-[WebHTMLView _removeTrackingRects:count:]): Ditto.
9867
98682004-11-04  David Hyatt  <hyatt@apple.com>
9869
9870	Make sure the dominant line direction is properly set for RTL runs so that spaces will reverse.
9871
9872	Change xHeight to measure the ascent of the x glyph, since the xHeight metrics appear to be
9873	totally bogus in both CG and AppKit.
9874	
9875        Reviewed by darin
9876
9877        * WebCoreSupport.subproj/WebTextRenderer.m:
9878        (-[WebTextRenderer xHeight]):
9879        (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
9880        (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
9881        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
9882        (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
9883        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
9884
98852004-11-02  Maciej Stachowiak  <mjs@apple.com>
9886
9887        Reviewed by Dave Hyatt (when I originally coded it).
9888
9889        Redid WebKit part of fix for:
9890
9891        <rdar://problem/3759187> REGRESSION (Mail): implement firstRectForCharacterRange:
9892       
9893        * WebView.subproj/WebHTMLView.m:
9894        (-[WebHTMLView firstRectForCharacterRange:]): Call the appropriate new bridge method,
9895        and translate to screen coordinates.
9896
98972004-11-02  John Sullivan  <sullivan@apple.com>
9898
9899        Reviewed by Hyatt.
9900        
9901        - [NSFont menuFontOfSize:], called from WebStringTruncator, was taking > 9% of the time creating a 
9902        very large bookmarks menu, so I cached this one NSFont object.
9903
9904        * Misc.subproj/WebStringTruncator.m:
9905        (defaultMenuFont):
9906        new function, caches the font used when no font is specified
9907        (+[WebStringTruncator centerTruncateString:toWidth:]):
9908        call new function
9909
99102004-11-02  Ken Kocienda  <kocienda@apple.com>
9911
9912        Reviewed by Hyatt
9913
9914        WebCore now implements a command to insert a block in response to typing a return key, and
9915        some names were improved in the course of this work.
9916
9917        * WebView.subproj/WebHTMLView.m:
9918        (-[WebHTMLView insertNewline:]): Now calls insertLineBreak on bridge object.
9919        (-[WebHTMLView insertLineBreak:]): New method.
9920        (-[WebHTMLView insertParagraphSeparator:]): Now implemented.
9921        * WebView.subproj/WebView.m: 
9922
9923=== Safari-169 ===
9924
99252004-10-29  Chris Blumenberg  <cblu@apple.com>
9926
9927        * WebKit.exp: added _WebPlugInModeKey, forgot to add it earlier
9928
99292004-10-29  Darin Adler  <darin@apple.com>
9930
9931        - fixed <rdar://problem/3855573> Remove reference to "WebScriptMethods" from WebScriptObject.h comments
9932
9933        * Plugins.subproj/WebScriptObject.h: Removed unneeded #ifdef protection for multiple includes (since
9934        this is an Objective-C header and we use #import for those). Fixed comments as requested in the bug
9935        report to match the contents of the file.
9936
99372004-10-27  Ken Kocienda  <kocienda@apple.com>
9938
9939        Reviewed by Chris
9940
9941        Added new SPI for Mail so it can get the behavior it needs when the user hits
9942        the return key with the selection in quoted content.
9943
9944        * WebView.subproj/WebView.m
9945        * WebView.subproj/WebViewPrivate.h
9946
99472004-10-26  Chris Blumenberg  <cblu@apple.com>
9948
9949	Fixed exception that Darin encountered in Mail.
9950
9951        Reviewed by darin.
9952
9953        * Plugins.subproj/WebPluginController.m:
9954        (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): if the plug-in returns a nil view, return nil
9955
99562004-10-25  Chris Blumenberg  <cblu@apple.com>
9957
9958	Darin made an internal notification have the Web prefix.
9959
9960        Reviewed by me.
9961
9962        * Plugins.subproj/WebBaseNetscapePluginView.m:
9963        (-[WebBaseNetscapePluginView addWindowObservers]):
9964        (-[WebBaseNetscapePluginView removeWindowObservers]):
9965        (ConsoleConnectionChangeNotifyProc):
9966
99672004-10-25  John Sullivan  <sullivan@apple.com>
9968
9969        Reviewed by Chris.
9970        
9971        - Cleanup from fix for <rdar://problem/3851676> bookmarks should not hold onto a WebHistoryItem object;
9972          eliminated notificationsSuppressed mechanism, which was used only by WebBookmark
9973
9974        * History.subproj/WebHistoryItem.m:
9975        removed notificationsSuppressed ivar from private data object
9976        (-[WebHistoryItem setAlternateTitle:]):
9977        remove notificationsSuppressed guard
9978        (-[WebHistoryItem setURLString:]):
9979        ditto
9980        (-[WebHistoryItem setOriginalURLString:]):
9981        ditto
9982        (-[WebHistoryItem setTitle:]):
9983        ditto
9984        (-[WebHistoryItem _setLastVisitedTimeInterval:]):
9985        ditto
9986        (-[WebHistoryItem setNotificationsSuppressed:]):
9987        removed this method
9988        (-[WebHistoryItem notificationsSuppressed]):
9989        ditto
9990        
9991        * History.subproj/WebHistoryItemPrivate.h:
9992        removed notificationsSuppressed and setNotificationsSuppressed
9993
99942004-10-22  Chris Blumenberg  <cblu@apple.com>
9995
9996	Fixed: <rdar://problem/3851491> installedPlugins being called for a page without plugins
9997
9998        Reviewed by mjs.
9999
10000        * WebView.subproj/WebFrameView.m:
10001        (+[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 
10002
10003=== Safari-168 ===
10004
100052004-10-22  Ken Kocienda  <kocienda@apple.com>
10006
10007        Reviewed by me
10008
10009        * WebKit.pbproj/project.pbxproj: Add GCC_ENABLE_OBJC_GC and GCC_FAST_OBJC_DISPATCH flags.
10010
100112004-10-21  Darin Adler  <darin@apple.com>
10012
10013        Reviewed by John.
10014
10015        - fixed <rdar://problem/3847994> REGRESSION: reproducible exception in WebImageRenderer releasePatternColor; afterwards get crash or no more browsing
10016
10017        * WebCoreSupport.subproj/WebImageRenderer.m:
10018        (-[WebInternalImage createRendererIfNeeded]): Replaced retainOrCopyIfNeeded with this.
10019        This returns nil if a copied renderer isn't needed, and returns a new renderer if a copy is.
10020        The old version was sometimes returning a WebInternalImage and other times a WebImageRenderer.
10021        (-[WebImageRenderer retainOrCopyIfNeeded]): Returns the result of createRendererIfNeeded
10022        or retains self and returns self.
10023
100242004-10-20  Darin Adler  <darin@apple.com>
10025
10026        Reviewed by Dave.
10027
10028        - fixed <rdar://problem/3470715> Pattern cache can get huge with use of css background-image in Safari
10029
10030        * WebCoreSupport.subproj/WebImageRenderer.h: Change WebImageRenderer to be a subclass of NSObject
10031        rather than NSImage and contain a pointer to a WebInternalImage.
10032        * WebCoreSupport.subproj/WebImageRenderer.m:
10033        (-[WebInternalImage releasePatternColor]): Added. Releases patternColor.
10034        (-[WebImageRenderer initWithMIMEType:]): Added. Makes WebInternalImage and then self.
10035        (-[WebImageRenderer initWithData:MIMEType:]): Ditto.
10036        (-[WebImageRenderer initWithContentsOfFile:]): Ditto.
10037        (-[WebImageRenderer dealloc]): Added. Calls releasePatternColor and then releases WebInternalImage.
10038        (-[WebImageRenderer image]): Added. Returns pointer to image.
10039        (-[WebImageRenderer MIMEType]): Added. Calls through to image.
10040        (-[WebImageRenderer TIFFRepresentation]): Ditto.
10041        (-[WebImageRenderer frameCount]): Ditto.
10042        (-[WebImageRenderer setOriginalData:]): Added. Sets image data pointer.
10043        (+[WebImageRenderer stopAnimationsInView:]): Added. Calls through to image.
10044        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Ditto.
10045        (-[WebImageRenderer size]): Ditto.
10046        (-[WebImageRenderer resize:]): Ditto.
10047        (-[WebImageRenderer drawImageInRect:fromRect:]): Ditto.
10048        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]): Ditto.
10049        (-[WebImageRenderer stopAnimation]): Ditto.
10050        (-[WebImageRenderer tileInRect:fromPoint:context:]): Ditto.
10051        (-[WebImageRenderer isNull]): Ditto.
10052        (-[WebImageRenderer retainOrCopyIfNeeded]): Ditto.
10053        (-[WebImageRenderer increaseUseCount]): Ditto.
10054        (-[WebImageRenderer decreaseUseCount]): Ditto.
10055        (-[WebImageRenderer flushRasterCache]): Ditto.
10056        (-[WebImageRenderer imageRef]): Ditto.
10057        (-[WebImageRenderer copyWithZone:]): Ditto.
10058
10059        * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]):
10060        Update for slight changes to WebImageRenderer API.
10061        * WebCoreSupport.subproj/WebImageRendererFactory.m:
10062        (-[WebImageRendererFactory imageRendererWithMIMEType:]): Ditto.
10063        (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): Ditto.
10064        (-[WebImageRendererFactory imageRendererWithSize:]): Ditto.
10065        (-[WebImageRendererFactory imageRendererWithName:]): Ditto.
10066        * WebView.subproj/WebImageView.m: (-[WebImageView image]): Ditto.
10067
100682004-10-20  Chris Blumenberg  <cblu@apple.com>
10069	
10070	Fixed: <rdar://problem/3846943> REGRESSION: JNLP files are rendered instead of downloaded
10071
10072        Reviewed by john.
10073
10074        * Plugins.subproj/WebBasePluginPackage.h:
10075        * Plugins.subproj/WebBasePluginPackage.m:
10076        (-[WebBasePluginPackage isJavaPlugIn]): new
10077        * Plugins.subproj/WebPluginDatabase.m:
10078        (-[WebPluginDatabase refresh]): don't register the Java plug-in for a document view since Java file should be downloaded when not embedded.
10079
100802004-10-20  Chris Blumenberg  <cblu@apple.com>
10081
10082	Fixed:
10083	<rdar://problem/3842030> WebKit needs to pass the mode (NP_FULL, NP_EMBED, etc) when calling plugInViewWithArguments
10084	<rdar://problem/3792852> Safari is loading the new QuickTime Cocoa plugin on Panther
10085
10086        Reviewed by darin.
10087
10088        * Plugins.subproj/WebPluginDocumentView.m:
10089        (-[WebPluginDocumentView setDataSource:]): pass "full" as the mode
10090        * Plugins.subproj/WebPluginPackage.m:
10091        (-[WebPluginPackage initWithPath:]): load plug-in with the "webplugin" extension
10092        * WebCoreSupport.subproj/WebBridge.m:
10093        (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): pass "embed" as the mode
10094        * WebKit.pbproj/project.pbxproj:
10095
100962004-10-19  Vicki Murley <vicki@apple.com>
10097
10098	- bump WebKit version to 167.1, so that we can do a quick dot submission for <rdar://problem/3843951> 
10099
10100        * WebKit.pbproj/project.pbxproj:
10101
101022004-10-19  Darin Adler  <darin@apple.com>
10103
10104        Change suggested by Maciej during code review.
10105
10106        * WebCoreSupport.subproj/WebTextRenderer.m: Changed rounding hack table to be const so it can be in shared instead
10107        of private memory, and doesn't require an initialization function.
10108        (+[WebTextRenderer initialize]): Removed initialization.
10109
101102004-10-19  Darin Adler  <darin@apple.com>
10111
10112        Reviewed by Maciej.
10113
10114        - fixed <rdar://problem/3838934> Safari stops loading pages after rangeOfCharacterFromSet nil argument exception
10115        - fixed <rdar://problem/3843951> REGRESSION (166-167): Safari crashes in widthForNextCharacter (belkin.com, at startup for others)
10116        - fixed <rdar://problem/3841049> REGRESSION (109-110): control characters render as square boxes
10117
10118        * WebCoreSupport.subproj/WebTextRenderer.m:
10119        (isSpace): Merged in isAlternateSpace, never used.
10120        (setupRoundingHackCharacterTable): Fixed size of table, was 1 entry too short. Got rid of unneeded call to bzero,
10121        since globals start out zeroed automatically.
10122        (isRoundingHackCharacter): Fixed backwards logic causing the crash in widthForNextCharacter.
10123        Also removed explicit compare with 1; check for non-zero is just fine.
10124        (fontContainsString): Change code so we'll just skip the font if the covered character set returns nil rather than
10125        throwing an exception like the old version did. This should make bug 3838934 go away, although perhaps covering up
10126        the underlying problem.
10127        (-[WebTextRenderer _convertCharacters:length:toGlyphs:]): Removed unused skipControlCharacters: parameter and also
10128        the unnecessary code to copy the buffer to change newline characters and non-break spaces to spaces.
10129        (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Removed unused local.
10130        (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): Added code to set up special cases for control characters,
10131        \n and non-break spaces.
10132        (-[WebTextRenderer _createATSUTextLayoutForRun:]): Added comment about the cases this code does not handle that
10133        are handled by the CG case.
10134        (widthForNextCharacter): Call isSpace instead of checking specifically for the space character here. The old code
10135        would not handle cases with '\n' coming across from WebCore properly.
10136
101372004-10-18  Chris Blumenberg  <cblu@apple.com>
10138
10139	Fixed: <rdar://problem/3840916> GC: -[WebNetscapePluginPackage initWithPath:] leaks an NSURL
10140
10141        Reviewed by kevin.
10142
10143        * Plugins.subproj/WebNetscapePluginPackage.m:
10144        (-[WebNetscapePluginPackage initWithPath:]): use executablePath on NSBundle instead of CFBundleCopyExecutableURL
10145
101462004-10-18  Chris Blumenberg  <cblu@apple.com>
10147
10148        * DOM.subproj/DOMPrivate.h: change to copied header that was never committed
10149
101502004-10-18  John Sullivan  <sullivan@apple.com>
10151
10152        Reviewed by Ken.
10153        
10154        - fixed <rdar://problem/3810183> Make WebHTMLView respect return value of webView:doCommandBySelector:
10155
10156        * WebView.subproj/WebHTMLView.m:
10157        (-[WebHTMLView doCommandBySelector:]):
10158        only do default action if delegate returns NO; this works with Mail as of Tiger 8A275.
10159
10160=== Safari-167 ===
10161
101622004-10-14  Ken Kocienda  <kocienda@apple.com>
10163
10164        Reviewed by John
10165
10166        Final fix for these bugs:
10167        
10168        <rdar://problem/3806306> HTML editing puts spaces at start of line
10169        <rdar://problem/3814252> HTML editing groups space with word causing wrapping
10170
10171        This change sets some new CSS properties that have been added to WebCore to 
10172        enable whitespace-handling and line-breaking features that make WebView work
10173        more like a text editor.
10174
10175        * WebView.subproj/WebHTMLRepresentation.m:
10176        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Turn on special editing
10177        CSS properties when loading an HTML document into a WebView that is editable.
10178        * WebView.subproj/WebView.m:
10179        (-[WebView setEditable:]): Add and remove special editing CSS properties in current
10180        document being displayed.
10181
101822004-10-14  Richard Williamson   <rjw@apple.com>
10183
10184        Fixed <rdar://problem/3823026> making isRoundingHackCharacter use -O3 and an 8-bit lookup-table will speed "XBS" test up by 3% (actually < 1%)
10185
10186        Careful testing shows a small performance gain on very large text files.  
10187        I saw large variations in timings, but taking the lowest PLT timing 
10188        with and without this change showed a 0.9% gain.  Note the cvs-base showed
10189        no improvement.  The improvement was for the large page attached to the
10190        bug.
10191
10192        Reviewed by Ken.
10193
10194        * WebCoreSupport.subproj/WebTextRenderer.m:
10195        (setupRoundingHackCharacterTable):
10196        (isRoundingHackCharacter):
10197        (+[WebTextRenderer initialize]):
10198
101992004-10-14  Ken Kocienda  <kocienda@apple.com>
10200
10201        Reviewed by me
10202
10203        Fix build breakage. These three functions need to return the values from their
10204        calls to WebCGColorSpaceCreateXXX.
10205
10206        * WebCoreSupport.subproj/WebGraphicsBridge.m:
10207        (-[WebGraphicsBridge createRGBColorSpace])
10208        (-[WebGraphicsBridge createGrayColorSpace])
10209        (-[WebGraphicsBridge createCMYKColorSpace])
10210
102112004-10-13  Richard Williamson   <rjw@apple.com>
10212
10213	Addressed concerns in <rdar://problem/3803117> RESP: High complexity in icu uidna_IDNToASCII called by [NSString(WebNSURLExtras) _web_mapHostNameWithRange:encode:makeString:]
10214
10215	In practice I saw NO improvement in performance.  Although,
10216	special-case tests could possibly show improvement.  Anyway,
10217	the changes don't hurt performance.
10218
10219        Reviewed by Maciej.
10220
10221        * Misc.subproj/WebNSURLExtras.m:
10222        (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
10223
102242004-10-13  Maciej Stachowiak  <mjs@apple.com>
10225
10226        Reviewed by Ken.
10227
10228	<rdar://problem/3824626> Change to do colormatching for DeviceRGB colorspace causes ~11% Safari slowdown
10229        
10230	- I fixed this by turning off all colormatching for WebKit
10231	content. We might turn it back on later. For now, it's possible to
10232	turn it on temporarily by defining COLORMATCH_EVERYTHING.
10233	
10234	* WebCoreSupport.subproj/WebGraphicsBridge.m:
10235        (-[WebGraphicsBridge setFocusRingStyle:radius:color:]):
10236        (-[WebGraphicsBridge additionalPatternPhase]):
10237        (-[WebGraphicsBridge createRGBColorSpace]):
10238        (-[WebGraphicsBridge createGrayColorSpace]):
10239        (-[WebGraphicsBridge createCMYKColorSpace]):
10240        * WebCoreSupport.subproj/WebImageData.m:
10241        * WebCoreSupport.subproj/WebImageRenderer.h:
10242        * WebCoreSupport.subproj/WebImageRenderer.m:
10243        (-[WebImageRenderer _adjustSizeToPixelDimensions]):
10244        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
10245        (-[WebImageRenderer _adjustColorSpace]):
10246        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
10247        (-[WebImageRenderer tileInRect:fromPoint:context:]):
10248        (_createImageRef):
10249        (WebCGColorSpaceCreateRGB):
10250        (WebCGColorSpaceCreateGray):
10251        (WebCGColorSpaceCreateCMYK):
10252        * WebKitPrefix.h:
10253
102542004-10-13  Richard Williamson   <rjw@apple.com>
10255
10256	Don't fill background with transparency unless debug flag
10257	is enabled.
10258
10259        Reviewed by Hyatt.
10260
10261        * WebView.subproj/WebHTMLView.m:
10262        (-[WebHTMLView drawRect:]):
10263
102642004-10-12  Richard Williamson   <rjw@apple.com>
10265
10266        Fixed <rdar://problem/3829705> Need to remove filling w/ transparency when not drawing backgroundy.
10267
10268        Reviewed by Ken.
10269
10270        * WebView.subproj/WebHTMLView.m:
10271        (-[WebHTMLView _transparentBackground]):
10272        (-[WebHTMLView _setTransparentBackground:]):
10273        (-[WebHTMLView drawRect:]):
10274        * WebView.subproj/WebHTMLViewInternal.h:
10275        * WebView.subproj/WebHTMLViewPrivate.h:
10276
102772004-10-11  Chris Blumenberg  <cblu@apple.com>
10278
10279	Fixed: <rdar://problem/3802039> 8A259: Can't use Grab services to grab selection from screen
10280
10281        Reviewed by john.
10282
10283        * WebView.subproj/WebHTMLView.m:
10284        (+[WebHTMLView initialize]): register service "return types" which are types that can be inserted into a WebView
10285        (-[WebHTMLView writeSelectionToPasteboard:types:]): service protocol method, be sure to only write specified types
10286        (-[WebHTMLView readSelectionFromPasteboard:]): new, service protocol method, insert types
10287        (-[WebHTMLView validRequestorForSendType:returnType:]): moved, handle return types
10288
102892004-10-11  Darin Adler  <darin@apple.com>
10290
10291        Reviewed by John.
10292
10293        - fixed <rdar://problem/3834130> nil-object-in-dictionary exception seen in -[WebView _elementAtWindowPoint:]
10294
10295        * WebView.subproj/WebView.m: (-[WebView _elementAtWindowPoint:]): Added a check for nil frame.
10296
102972004-10-11  Darin Adler  <darin@apple.com>
10298
10299        Reviewed by John.
10300
10301        - fixed <rdar://problem/3834166> <input type=file> sends onchange even when the same file is chosen twice
10302
10303        * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton chooseFilename:]):
10304        Do nothing if filename is the same as before.
10305
103062004-10-11  Ken Kocienda  <kocienda@apple.com>
10307
10308        Reviewed by Darin
10309
10310        * WebView.subproj/WebHTMLView.m:
10311        (-[WebTextCompleteController doCompletion]): bridge call to get caret rect at a node
10312        now takes an affinity: caretRectAtNode:offset:affinity:.
10313
103142004-10-10  Ken Kocienda  <kocienda@apple.com>
10315
10316        Reviewed by Chris
10317
10318        Fix for this bug:
10319        
10320        <rdar://problem/3814236> REGRESSION (Mail): Can't set the color of text in Mail compose window using drag/drag from color panel
10321
10322        * WebView.subproj/WebHTMLView.m:
10323        (+[WebHTMLView _insertablePasteboardTypes]): Add NSColorPboardType to list.
10324        (-[WebHTMLView _isNSColorDrag:]): New helper. Determines if drag is an NSColor drag.
10325        (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Add a case for NSColor drags,
10326        else do what we did before.
10327        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Add a case for NSColor drags, which creates
10328        a CSS style containing color info and calls the bridge to apply the style. Otherwise, do what we did before.
10329
103302004-10-11  Darin Adler  <darin@apple.com>
10331
10332        Reviewed by Ken.
10333
10334        - fixed <rdar://problem/3833848> REGRESSION (133-134): each keydown event is getting sent multiple times
10335
10336        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView performKeyEquivalent:]):
10337        Don't send an event through WebCore if it has already been through once.
10338
103392004-10-10  John Sullivan  <sullivan@apple.com>
10340
10341        Reviewed by Ken.
10342        
10343        - fixed <rdar://problem/3777253> Crash in redirect mechanism trying to display error page for bad scheme
10344
10345        * WebView.subproj/WebMainResourceClient.m:
10346        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
10347        add retain/autorelease to the request returned from call to super. In this case, the return value
10348        was being dealloc'ed before being returned.
10349
103502004-10-09  Chris Blumenberg  <cblu@apple.com>
10351
10352	Fixed: 
10353	<rdar://problem/3625352> up and down arrow and page up/down keys don't work to scroll overflow:auto/scroll/overlay areas
10354	<rdar://problem/3397658> scroll wheel does not work to scroll overflow:auto/scroll/overlay areas (RSS)
10355
10356        Reviewed by hyatt.
10357
10358        * Plugins.subproj/WebBaseNetscapePluginStream.m:
10359        (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): fixed typo in comment
10360        * Plugins.subproj/WebNetscapePluginStream.m:
10361        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): ditto
10362        * WebView.subproj/WebFramePrivate.h:
10363        * WebView.subproj/WebFrameView.m:
10364        (-[WebFrameView _bridge]): new
10365        (-[WebFrameView scrollToBeginningOfDocument:]): call the bridge to scroll, if that fails, scroll the document view
10366        (-[WebFrameView scrollToEndOfDocument:]): ditto
10367        (-[WebFrameView _pageVertically:]): ditto
10368        (-[WebFrameView _pageHorizontally:]): ditto
10369        (-[WebFrameView _scrollLineVertically:]): ditto
10370        (-[WebFrameView _scrollLineHorizontally:]): ditto
10371        * WebView.subproj/WebHTMLView.m:
10372        (-[WebHTMLView scrollWheel:]): call the bridge to scroll, if that fails, pass to next responder
10373
10374=== Safari-166 ===
10375
103762004-10-05  Chris Blumenberg  <cblu@apple.com>
10377
10378	Fixed: <rdar://problem/3827002> assertion failure in WebBaseNetscapePluginStream on abc.go.com
10379
10380        Reviewed by rjw.
10381
10382        * Plugins.subproj/WebBaseNetscapePluginStream.m:
10383        (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): avoid assertion failure in dealloc by temporarily setting isTerminated to YES in case we are released in this method
10384        * Plugins.subproj/WebNetscapePluginStream.m:
10385        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): ditto
10386
103872004-10-05  John Sullivan  <sullivan@apple.com>
10388
10389        * WebCoreSupport.subproj/WebBridge.m:
10390        (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]):
10391        initialize "arguments" var to nil to satisfy compiler on deployment build.
10392
103932004-10-05  Richard Williamson   <rjw@apple.com>
10394
10395        Fixed <rdar://problem/3825442> first click lost for Dashboard
10396	Allow dashboard to force acceptsFirstMouse:
10397
10398        Reviewed by Chris.
10399
10400        * WebView.subproj/WebHTMLView.m:
10401        (-[WebHTMLView acceptsFirstMouse:]):
10402        * WebView.subproj/WebView.m:
10403        (-[WebView _dashboardBehavior:]):
10404        * WebView.subproj/WebViewInternal.h:
10405        * WebView.subproj/WebViewPrivate.h:
10406
10407        * WebCoreSupport.subproj/WebImageRenderer.h:
10408        Comment change only
10409
104102004-10-05  Chris Blumenberg  <cblu@apple.com>
10411
10412	Fixed: <rdar://problem/3760920> Need to record plugin view instances
10413	
10414        Reviewed by rjw.
10415
10416        * Plugins.subproj/WebPluginController.h:
10417        * Plugins.subproj/WebPluginController.m:
10418        (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): new, creates plug-in view and adds it to global list
10419        (+[WebPluginController isPlugInView:]): new, checks if the plug-in view is in the global list
10420        (-[WebPluginController destroyAllPlugins]): remove the plug-in from the global list 
10421        * Plugins.subproj/WebPluginDocumentView.m:
10422        (-[WebPluginDocumentView setDataSource:]): call [WebPluginController plugInViewWithArguments:fromPluginPackage:]
10423        * WebCoreSupport.subproj/WebBridge.m:
10424        (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): ditto
10425        * WebView.subproj/WebFrame.m:
10426        (-[WebFrame _reloadForPluginChanges]): call [WebPluginController isPlugInView:]
10427        * WebView.subproj/WebHTMLView.m:
10428        (-[WebHTMLView addSubview:]): ditto
10429
104302004-10-05  David Hyatt  <hyatt@apple.com>
10431
10432	Fix to make selection more like NSTextView.  All gap painting is now done by WebCore, so WebKit no longer
10433	needs to try to fill gaps around text.
10434	
10435        Reviewed by kocienda
10436
10437        * WebCoreSupport.subproj/WebTextRenderer.m:
10438        (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
10439        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
10440
104412004-10-05  Darin Adler  <darin@apple.com>
10442
10443        Reviewed by John.
10444
10445        - fixed <rdar://problem/3577255> custom file icon shows up upside down in <input type=file>
10446
10447        * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton setFilename:]): Added a call to
10448        setFlipped that fixes the problem, even though I don't know why.
10449
104502004-10-04  Darin Adler  <darin@apple.com>
10451
10452        Reviewed by Maciej.
10453
10454        - fixed <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
10455
10456        * WebView.subproj/WebHTMLView.m:
10457        (-[WebHTMLView _selectionStartFontAttributesAsRTF]): Changed to call new bridge method
10458        named fontAttributesForSelectionStart, deleted the method this used to use, and renamed
10459        this to have the word "start" in it.
10460        (-[WebHTMLView copyFont:]): Updated for name change.
10461
10462        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
10463
104642004-10-04  Chris Blumenberg  <cblu@apple.com>
10465
10466        * WebView.subproj/WebFrameInternal.h: removed constant declarations that I committed by mistake
10467
104682004-10-04  Chris Blumenberg  <cblu@apple.com>
10469
10470	Fixed: <rdar://problem/3798948> NPP_URLNotify is not called if plug-in calls NPN_*URLNotfy
10471	Fixed a number of FIXME's related to notifying plug-ins of loaded pages.
10472
10473        Reviewed by rjw.
10474
10475        * Plugins.subproj/WebBaseNetscapePluginStream.h: 
10476		- replaced URL ivar with requestURL and responseURL ivars since we need to pass both to plug-ins
10477        	- added sendNotification boolean. Relying on notifyData not being NULL was not information to know whether to call NPP_URLNotify or not.
10478		- added isTerminated boolean because determining whether or not stream.ndata is NULL is not enough to know if the stream has been cancelled.
10479	* Plugins.subproj/WebBaseNetscapePluginStream.m:
10480        (+[WebBaseNetscapePluginStream reasonForError:]): new, factored out from receivedError:
10481        (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): new
10482        (-[WebBaseNetscapePluginStream dealloc]): release new ivars
10483        (-[WebBaseNetscapePluginStream finalize]): added assert
10484        (-[WebBaseNetscapePluginStream setRequestURL:]): new
10485        (-[WebBaseNetscapePluginStream setResponseURL:]): new
10486        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed, use responseURL as it basically did before
10487        (-[WebBaseNetscapePluginStream startStreamWithResponse:]): call renamed method
10488        (-[WebBaseNetscapePluginStream destroyStream]): 
10489		- do nothing if terminated
10490		- call NPP_StreamAsFile and NPP_DestroyStream if stream.ndata is not NULL
10491		- call NPP_URLNotify if sendNotification is YES regardless of value of notifyData
10492        (-[WebBaseNetscapePluginStream receivedError:]): call reasonForError
10493        (-[WebBaseNetscapePluginStream deliverData]): use renamed ivar
10494        * Plugins.subproj/WebBaseNetscapePluginView.h:
10495		- added observingFrameLoadNotification boolean
10496		- renamed dictionary ivar to pendingFrameLoads which has WebFrame keys and WebPluginRequest values
10497        * Plugins.subproj/WebBaseNetscapePluginView.m:
10498        (-[WebBaseNetscapePluginView addFrameLoadObserver]): new
10499        (-[WebBaseNetscapePluginView removeFrameLoadObserver]): new
10500        (-[WebBaseNetscapePluginView stop]): call removeFrameLoadObserver
10501        (-[WebBaseNetscapePluginView initWithFrame:]): use renamed pendingFrameLoads ivar
10502        (-[WebBaseNetscapePluginView dealloc]): ditto
10503        (-[WebBaseNetscapePluginView requestWithURLCString:]): set referrer on the request just as IE does
10504        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): 
10505		- call NPP_URLNotify depending of value of sendNotification
10506		- call new init method on WebBaseNetscapePluginStream rather then setting variables individually
10507        (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): new, calls NPP_URLNotify at the right time with the right value
10508        (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]): new, delegate method called from WebFrame
10509        (-[WebBaseNetscapePluginView loadPluginRequest:]): call addFrameLoadObserver
10510        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): take new sendNotification parameter and pass it
10511        (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): pass YES for sendNotification
10512        (-[WebBaseNetscapePluginView getURL:target:]): pass NO for sendNotification
10513        (-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]): take new sendNotification parameter and pass it
10514        (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): pass YES for sendNotification
10515        (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): pass NO for sendNotification
10516        (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:]): take new sendNotification parameter
10517        (-[WebPluginRequest sendNotification]): new
10518        * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
10519        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
10520        (-[WebNetscapePluginEmbeddedView didStart]): set referrer on the request just as IE does
10521        * Plugins.subproj/WebNetscapePluginRepresentation.m:
10522        (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): set the request URL on the stream
10523        * Plugins.subproj/WebNetscapePluginStream.h:
10524        * Plugins.subproj/WebNetscapePluginStream.m:
10525        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): take new sendNotification parameter and pass it
10526        (-[WebNetscapePluginStream dealloc]): use renamed ivar
10527        (-[WebNetscapePluginStream start]): ditto
10528        * WebView.subproj/WebFrame.m:
10529        (-[WebFrame _setState:]): removed notification posting code. This was only used by WebBaseNetscapePluginView and it was the wrong notification to send.
10530        (-[WebFrame _checkLoadCompleteForThisFrame]): call internal load delegate to tell it that the load has finished
10531        (-[WebFrame _loadItem:withLoadType:]): ditto
10532        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): ditto
10533        (-[WebFrame _setInternalLoadDelegate:]): new
10534        (-[WebFrame _internalLoadDelegate]): new
10535        * WebView.subproj/WebFrameInternal.h:
10536        * WebView.subproj/WebFramePrivate.h:
10537
105382004-10-04  Chris Blumenberg  <cblu@apple.com>
10539
10540	Fixed: <rdar://problem/3758113> REGRESSION: Macromedia ColdFusion page doesn't show main content
10541
10542	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.
10543
10544        Reviewed by darin.
10545
10546        * Plugins.subproj/WebBaseNetscapePluginView.m:
10547        (-[NSData _web_locationAfterFirstBlankLine]): looks for 2 CRLF's, not for 2 LF's
10548
105492004-10-04  Darin Adler  <darin@apple.com>
10550
10551        Reviewed by Ken.
10552
10553        - fixed a potential storage leak when we turn on CGImageRef image rendering
10554
10555        * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer dealloc]): Fix potential storage leak
10556        by adding [super dealloc], but leak was not real yet because the code is commented out.
10557
10558        - make paste style work with color as part of fix to <rdar://problem/3814237> REGRESSION (Mail):
10559          Copy/paste style does not set color in Mail compose window
10560
10561        * WebView.subproj/WebHTMLView.m:
10562        (-[WebHTMLView _selectionFontAttributes]): Change structure so it's easy to add more attributes.
10563        For now I haven't added any yet.
10564        (-[WebHTMLView _colorAsString:]): Moved this earlier in the file.
10565        (-[WebHTMLView _shadowAsString:]): Ditto.
10566        (-[WebHTMLView _styleFromFontAttributes:]): Add background color, foreground color, and text shadow.
10567
105682004-09-30  Richard Williamson   <rjw@apple.com>
10569
10570	Fixed <rdar://problem/3821215> NPN hasMethod and hasProperty functions should take NPObjects, not NPClass
10571
10572	Also changed dashboard regions dictionary to use "control"
10573	for scroller region label, instead of "scroller, per
10574	request from ouch. 
10575		
10576        Reviewed by Chris.
10577
10578        * Plugins.subproj/npruntime.h:
10579        * WebView.subproj/WebView.m:
10580        (-[WebView _addScrollerDashboardRegions:from:]):
10581
105822004-09-30  Chris Blumenberg  <cblu@apple.com>
10583
10584	Fixed: <rdar://problem/3498680> switching back and forth between tabs stops calling anything in a plug-in
10585
10586        Reviewed by darin.
10587
10588        * Plugins.subproj/WebBaseNetscapePluginView.m:
10589        (-[WebBaseNetscapePluginView sendEvent:]): call setWindowIfNecessary because the window may have changed
10590        (-[WebBaseNetscapePluginView updateAndSetWindow]): new
10591        (-[WebBaseNetscapePluginView setWindowIfNecessary]): was setWindow, this method now just sets the window
10592        (-[WebBaseNetscapePluginView start]): call updateAndSetWindow
10593        (-[WebBaseNetscapePluginView viewDidMoveToWindow]): ditto
10594        (-[WebBaseNetscapePluginView viewHasMoved:]): ditto
10595
105962004-09-30  Chris Blumenberg  <cblu@apple.com>
10597
10598	Fixed: <rdar://problem/3498668> switching out of tab doesn't send loseFocusEvent to plug-in
10599
10600        Reviewed by rjw.
10601
10602        * Plugins.subproj/WebBaseNetscapePluginView.h:
10603        * Plugins.subproj/WebBaseNetscapePluginView.m:
10604        (-[WebBaseNetscapePluginView setHasFocus:]): new, sends events to plug-in
10605        (-[WebBaseNetscapePluginView becomeFirstResponder]): call setHasFocus
10606        (-[WebBaseNetscapePluginView resignFirstResponder]): ditto 
10607        (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): ditto
10608
106092004-09-30  Chris Blumenberg  <cblu@apple.com>
10610
10611	Fixed:
10612	Assertion failure when loading standalone netscape plug-in content.
10613	Document loads of WebKit plug-in content should be cancelled since the plug-in does its own loading.
10614
10615        Reviewed by john.
10616
10617        * Misc.subproj/WebKitErrors.m: removed deprecated method
10618        * Misc.subproj/WebKitErrorsPrivate.h:
10619        * Plugins.subproj/WebNetscapePluginDocumentView.m:
10620        (-[WebNetscapePluginDocumentView setDataSource:]): fixed the assertion statement
10621        * Plugins.subproj/WebPluginDocumentView.h:
10622        * Plugins.subproj/WebPluginDocumentView.m:
10623        (-[WebPluginDocumentView dealloc]): remove retained plug-in
10624        (-[WebPluginDocumentView setDataSource:]): retain the plug-in, cancel the laod
10625
106262004-09-29  Chris Blumenberg  <cblu@apple.com>
10627	
10628	Fixed:
10629	<rdar://problem/3763832> Safari-155: Non-Embeded movies fail to open in Cocoa QT plug-in
10630	<rdar://problem/3820517> "*** -[WebPluginPackage NPP_New]: selector not recognized [self = 0x5552c10]"
10631
10632        Reviewed by rjw.
10633
10634        * History.subproj/WebHistoryItem.m:
10635        * Misc.subproj/WebNSViewExtras.h:
10636        * Misc.subproj/WebNSViewExtras.m:
10637        (-[NSView _web_firstResponderCausesFocusDisplay]):
10638        (-[NSView _webView]):
10639        (-[NSView _frame]):
10640        (-[NSView _bridge]):
10641        (-[NSView _dataSource]):
10642        * Plugins.subproj/WebBasePluginPackage.h:
10643        * Plugins.subproj/WebBasePluginPackage.m:
10644        (-[WebBasePluginPackage hash]):
10645        (-[WebBasePluginPackage isQuickTimePlugIn]):
10646        * Plugins.subproj/WebNetscapePluginDocumentView.m:
10647        (-[WebNetscapePluginDocumentView setDataSource:]):
10648        * Plugins.subproj/WebNetscapePluginRepresentation.m:
10649        * Plugins.subproj/WebPluginController.h:
10650        * Plugins.subproj/WebPluginController.m:
10651        (-[WebPluginController initWithDocumentView:]):
10652        (-[WebPluginController addPlugin:]):
10653        (-[WebPluginController destroyAllPlugins]):
10654        (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
10655        (-[WebPluginController webPlugInContainerShowStatus:]):
10656        (-[WebPluginController webPlugInContainerSelectionColor]):
10657        (-[WebPluginController webFrame]):
10658        * Plugins.subproj/WebPluginDatabase.h:
10659        * Plugins.subproj/WebPluginDatabase.m:
10660        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
10661        (-[WebPluginDatabase refresh]):
10662        (WebPluginDocumentView::while):
10663        * Plugins.subproj/WebPluginDocumentView.h: Added.
10664        * Plugins.subproj/WebPluginDocumentView.m: Added.
10665        (-[WebPluginDocumentView initWithFrame:]):
10666        (-[WebPluginDocumentView dealloc]):
10667        (-[WebPluginDocumentView drawRect:]):
10668        (-[WebPluginDocumentView setDataSource:]):
10669        (-[WebPluginDocumentView setNeedsLayout:]):
10670        (-[WebPluginDocumentView layout]):
10671        (-[WebPluginDocumentView currentWindow]):
10672        (-[WebPluginDocumentView viewWillMoveToWindow:]):
10673        (-[WebPluginDocumentView viewDidMoveToWindow]):
10674        (-[WebPluginDocumentView viewWillMoveToHostWindow:]):
10675        (-[WebPluginDocumentView viewDidMoveToHostWindow]):
10676        (-[WebPluginDocumentView receivedData:withDataSource:]):
10677        (-[WebPluginDocumentView receivedError:withDataSource:]):
10678        (-[WebPluginDocumentView finishedLoadingWithDataSource:]):
10679        (-[WebPluginDocumentView canProvideDocumentSource]):
10680        (-[WebPluginDocumentView documentSource]):
10681        (-[WebPluginDocumentView title]):
10682        * Plugins.subproj/npapi.m:
10683        (NPN_ReleaseVariantValue):
10684        (NPN_GetStringIdentifier):
10685        (NPN_GetStringIdentifiers):
10686        (NPN_GetIntIdentifier):
10687        (NPN_IdentifierIsString):
10688        (NPN_UTF8FromIdentifier):
10689        (NPN_IntFromIdentifier):
10690        (NPN_CreateObject):
10691        (NPN_RetainObject):
10692        (NPN_ReleaseObject):
10693        (NPN_Invoke):
10694        (NPN_InvokeDefault):
10695        (NPN_Evaluate):
10696        (NPN_GetProperty):
10697        (NPN_SetProperty):
10698        (NPN_RemoveProperty):
10699        (NPN_HasProperty):
10700        (NPN_HasMethod):
10701        (NPN_SetException):
10702        (NPN_Call):
10703        * WebCoreSupport.subproj/WebBridge.m:
10704        (-[WebBridge frameRequiredForMIMEType:URL:]):
10705        * WebCoreSupport.subproj/WebViewFactory.m:
10706        * WebKit.exp:
10707        * WebKit.pbproj/project.pbxproj:
10708        * WebView.subproj/WebDebugDOMNode.m:
10709        * WebView.subproj/WebDocumentInternal.h:
10710        * WebView.subproj/WebHTMLView.m:
10711        (-[WebHTMLView initWithFrame:]):
10712        * WebView.subproj/WebHTMLViewPrivate.h:
10713        * WebView.subproj/WebImageRepresentation.h:
10714        * WebView.subproj/WebRenderNode.m:
10715        * WebView.subproj/WebView.m:
10716
107172004-09-29  Richard Williamson   <rjw@apple.com>
10718
10719	Fixed <rdar://problem/3779998> bringing window to front or sending to back does not send focus/blur events to JavaScript window object
10720
10721	The fix has two parts, 1) make onblur and onfocus work for windows, 
10722        and 2), allow the dashboard to override WebKit's special key/non-key
10723        behaviors.
10724
10725        Reviewed by Maciej.
10726
10727        * Plugins.subproj/WebBaseNetscapePluginView.m:
10728        (-[WebBaseNetscapePluginView restartNullEvents]):
10729        * WebView.subproj/WebHTMLView.m:
10730        (-[WebHTMLView addMouseMovedObserver]):
10731        (-[WebHTMLView removeMouseMovedObserver]):
10732        * WebView.subproj/WebView.m:
10733        (-[WebView _dashboardBehavior:]):
10734        * WebView.subproj/WebViewInternal.h:
10735        * WebView.subproj/WebViewPrivate.h:
10736
107372004-09-29  Maciej Stachowiak  <mjs@apple.com>
10738
10739        Reviewed by John.
10740
10741	- consolidated OS version checks into prefix header
10742
10743        * Misc.subproj/WebFileDatabase.m:
10744        (-[WebFileDatabase _createLRUList:]):
10745        (+[WebFileDatabase _syncLoop:]):
10746        * Misc.subproj/WebKitErrors.m:
10747        (registerErrors):
10748        * Misc.subproj/WebNSObjectExtras.h:
10749        (WebNSRetainCFRelease):
10750        * Misc.subproj/WebNSPasteboardExtras.m:
10751        (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
10752        * Misc.subproj/WebUnicode.m:
10753        (_unicodeDirection):
10754        * WebCoreSupport.subproj/WebImageData.h:
10755        * WebCoreSupport.subproj/WebImageRenderer.h:
10756        * WebCoreSupport.subproj/WebKeyGenerator.h:
10757        * WebCoreSupport.subproj/WebNewKeyGeneration.c:
10758        * WebKitPrefix.h:
10759        * WebView.subproj/WebDataSource.m:
10760        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
10761        (-[WebDataSource isLoading]):
10762        * WebView.subproj/WebFrameView.m:
10763        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
10764        * WebView.subproj/WebHTMLView.m:
10765        * WebView.subproj/WebPDFRepresentation.h:
10766        * WebView.subproj/WebPDFRepresentation.m:
10767        * WebView.subproj/WebPDFView.h:
10768        * WebView.subproj/WebPDFView.m:
10769
107702004-09-29  Ken Kocienda  <kocienda@apple.com>
10771
10772        Reviewed by Hyatt
10773
10774        Fix for this bug:
10775        
10776        <rdar://problem/3818296> REGRESSION (Mail): centerSelectionInVisibleArea does not work correctly
10777
10778        * WebView.subproj/WebHTMLView.m:
10779        (-[WebHTMLView centerSelectionInVisibleArea:]): Now calls new centerSelectionInVisibleArea
10780        bridge function instead of ensureCaretVisible. Now handles caret selections and range
10781        selections correctly.
10782
107832004-09-28  Chris Blumenberg  <cblu@apple.com>
10784
10785	Added timing code so that Doug can time RTF conversion. 
10786
10787        * WebView.subproj/WebHTMLView.m:
10788        (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]):
10789        (-[WebHTMLView _attributeStringFromDOMRange:]):
10790
107912004-09-28  Richard Williamson   <rjw@apple.com>
10792
10793        <rdar://problem/3817421> add getter for dashboard regions (debugging)
10794        
10795        <rdar://problem/3817417> NSScrollView need autoregions for dashboard
10796	Also KWQScrollBars
10797
10798        Reviewed by Hyatt.
10799
10800        * WebCoreSupport.subproj/WebBridge.m:
10801        (-[WebBridge dashboardRegionsChanged:]):
10802        * WebView.subproj/WebView.m:
10803        (-[WebView _setInitiatedDrag:]):
10804        (-[WebView _addScrollerDashboardRegions:from:]):
10805        (-[WebView _addScrollerDashboardRegions:]):
10806        (-[WebView _dashboardRegions]):
10807        * WebView.subproj/WebViewPrivate.h:
10808
108092004-09-27  John Sullivan  <sullivan@apple.com>
10810
10811        - fixed <rdar://problem/3814705> 8A266: Safari authentication dialog "remember password" text should match Mail
10812
10813        * Panels.subproj/English.lproj/WebAuthenticationPanel.nib:
10814        changed "Remember this password" to "Remember this password in my keychain";
10815        this will need to go through CCC for this week's build.
10816
108172004-09-27  Chris Blumenberg  <cblu@apple.com>
10818
10819	Fixed: <rdar://problem/3594754> change null event interval from 20 ms to 10 ms to match speed on Windows
10820
10821        Reviewed by John.
10822
10823        * Plugins.subproj/WebBaseNetscapePluginView.m:
10824
108252004-09-27  Chris Blumenberg  <cblu@apple.com>
10826
10827	Fixed: <rdar://problem/3502138> text files don't remember scroll position when going back or reloading
10828
10829        Reviewed by john.
10830
10831        * WebView.subproj/WebTextView.m:
10832        (-[WebTextView layout]): implemented, call sizeToFit, without this scrollPoint: won't work
10833
108342004-09-27  John Sullivan  <sullivan@apple.com>
10835
10836        Reviewed by Ken.
10837
10838        - WebKit part of fix for <rdar://problem/3734466> ER: Support standard editing keystrokes 
10839        like Cmd-B while editing rich text
10840
10841        * WebView.subproj/WebHTMLView.m:
10842        (-[WebHTMLView _toggleBold]):
10843        new method, toggles font-weight from "bold" to "normal"
10844        (-[WebHTMLView _toggleItalic]):
10845        new method, toggles font-style from "italic" to "normal"
10846        (-[WebHTMLView _handleStyleKeyEquivalent:]):
10847        new method, if the new preference is set and we're in an editable state, check for standard
10848        key equivalents for toggling styles (just command-B and command-I for now).
10849        (-[WebHTMLView performKeyEquivalent:]):
10850        Moved in file, now calls _handleStyleKeyEquivalent:
10851        
10852        * WebView.subproj/WebPreferenceKeysPrivate.h:
10853        new preference key WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
10854        * WebView.subproj/WebPreferences.m:
10855        (+[WebPreferences initialize]):
10856        initial value of WebKitRespectStandardStyleKeyEquivalentsPreferenceKey is NO (maybe we'll
10857        change our minds about this, but this is more guaranteed to be backward-compatible)
10858        (-[WebPreferences respectStandardStyleKeyEquivalents]):
10859        read WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
10860        (-[WebPreferences setRespectStandardStyleKeyEquivalents:]):
10861        write WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
10862        
10863        * WebView.subproj/WebPreferencesPrivate.h:
10864        declare getter and setter
10865        
10866        * English.lproj/StringsNotToBeLocalized.txt:
10867        updated for these and other recent changes
10868
108692004-09-27  Chris Blumenberg  <cblu@apple.com>
10870
10871	Fixed: <rdar://problem/3806649> assertion failure after control-click of webcam
10872
10873        Reviewed by john.
10874
10875        * WebView.subproj/WebDefaultContextMenuDelegate.m:
10876        (-[WebDefaultUIDelegate contextMenuItemsForElement:]): don't provide "Copy Image" if the image is not fully loaded
10877
108782004-09-27  Chris Blumenberg  <cblu@apple.com>
10879
10880	Fixed: <rdar://problem/3814810> REGRESSION (125-164): Exception adding nil to dictionary in dragging code
10881
10882        Reviewed by john.
10883
10884        * WebView.subproj/WebHTMLView.m:
10885        (-[WebHTMLView _setMouseDownEvent:]): new
10886        (-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent
10887        (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
10888        (-[WebHTMLView mouseDown:]): ditto
10889        (-[WebHTMLView _delegateDragSourceActionMask]): removed temp fix, assert that the mouse event is not nil
10890
108912004-09-27  Darin Adler  <darin@apple.com>
10892
10893        * WebKit.pbproj/project.pbxproj: Added WebDashboardRegion.h as a private header.
10894
108952004-09-24  Chris Blumenberg  <cblu@apple.com>
10896
10897        Reviewed by rjw.
10898
10899        * WebView.subproj/WebHTMLView.m:
10900        (-[WebHTMLView _selectedArchive]): added timing code for copying markup
10901
10902=== Safari-165 ===
10903
109042004-09-24  Chris Blumenberg  <cblu@apple.com>
10905
10906	Temp fix for: <rdar://problem/3814810> REGRESSION (125-164): Exception adding nil to dictionary in dragging code
10907
10908        Reviewed by john.
10909
10910        * WebView.subproj/WebHTMLView.m:
10911        (-[WebHTMLView _delegateDragSourceActionMask]): return none if the mouse down event is nil
10912
109132004-09-24  Ken Kocienda  <kocienda@apple.com>
10914
10915        Reviewed by John
10916
10917        Fix for this bug:
10918        
10919        <rdar://problem/3813917> REGRESSION (125-163): The font panel will change the font of any web page
10920        
10921        We were doing a laughably bad job at preventing edits in documents that were not editable.
10922        This change fixes the specific case of the bug mentioned above, and makes an attempt to
10923        fix similar bugs by checking for whether the view is in editing mode before making edits.
10924
10925        * WebView.subproj/WebHTMLView.m:
10926        (-[WebHTMLView _canEdit]): Renamed from _canType. Used in many more places in the code now.
10927        (-[WebHTMLView _isMoveDrag]): Change around code to make the meaning more clear. This one
10928        was actually performing a correct check before.
10929        (-[WebHTMLView keyDown:]): Renamed _canType to _canEdit.
10930        (-[WebHTMLView paste:]): Don't beep if can't paste. This matches AppKit. Any paste-related beeps
10931        will come from failure to handle key equivalent. Menu validation will kick in to dim menu.
10932        (-[WebHTMLView _applyStyleToSelection:]): Bail if !_canEdit.
10933        (-[WebHTMLView pasteAsPlainText:]): Ditto.
10934        (-[WebHTMLView _alignSelectionUsingCSSValue:]): Ditto.
10935        (-[WebHTMLView insertNewline:]): Ditto.
10936        (-[WebHTMLView insertParagraphSeparator:]): Ditto.
10937        (-[WebHTMLView _changeWordCaseWithSelector:]): Ditto.
10938        (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Ditto.
10939        (-[WebHTMLView complete:]): Ditto.
10940        (-[WebHTMLView _changeSpellingToWord:]): Ditto. Some code rearranging to eliminate bridge local variable.
10941        (-[WebHTMLView ignoreSpelling:]): Ditto.
10942        (-[WebHTMLView yank:]): Bail if !_canEdit.
10943        (-[WebHTMLView yankAndSelect:]): Ditto.
10944        (-[WebHTMLView deleteToMark:]): Ditto.
10945        (-[WebHTMLView swapWithMark:]): Ditto.
10946        (-[WebHTMLView transpose:]): Ditto.
10947        (-[WebHTMLView _updateFontPanel]): Ditto. Some code rearranging to eliminate bridge local variable.
10948        (-[WebHTMLView setMarkedText:selectedRange:]): Bail if !_canEdit.
10949        (-[WebHTMLView _insertText:selectInsertedText:]): Ditto. Some code rearranging to eliminate bridge local variable.
10950        * WebView.subproj/WebHTMLViewPrivate.h: Renamed _canType to _canEdit.
10951
109522004-09-24  Ken Kocienda  <kocienda@apple.com>
10953
10954        Reviewed by me
10955
10956        * WebCoreSupport.subproj/WebDashboardRegion.h: Check in file copied from WebCore.
10957
109582004-09-23  Maciej Stachowiak  <mjs@apple.com>
10959
10960        Reviewed by Darin.
10961
10962	<rdar://problem/3685235> REGRESSION (Mail): links are not properly editable
10963        
10964        * WebView.subproj/WebDefaultUIDelegate.m: By default, don't allow
10965	link dragging if the element under the mouse pointer is
10966	editable. This way, you can drag-select starting inside a link.
10967
109682004-09-23  John Sullivan  <sullivan@apple.com>
10969
10970        Reviewed by Chris.
10971        
10972        - WebKit part of fix for <rdar://problem/3415264> 
10973        Default encoding should initially be set to current system encoding
10974
10975        * WebView.subproj/WebPreferences.m:
10976        (-[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]):
10977        new SPI that sets the initial value of the default text encoding to
10978        be the system encoding, with a special-case conversion of MacRoman->Latin1.
10979        This is not done automatically for WebKit clients for fear of breaking them.
10980        
10981        * WebView.subproj/WebPreferencesPrivate.h:
10982        declare new SPI
10983
109842004-09-23  Darin Adler  <darin@apple.com>
10985
10986        Reviewed by Ken.
10987
10988        - fixed <rdar://problem/3811584> REGRESSION (85-125): iframe.document undefined in function called from button onclick; works from img onclick
10989
10990        The fix is to not let "defers callbacks" have any effect on loading "about:blank".
10991        I also had to fix one bug in WebCore that could then be reproduced by going to "about:blank"
10992        while using a button.
10993
10994        * WebView.subproj/WebMainResourceClient.m:
10995        (-[WebMainResourceClient connection:didReceiveResponse:]): Loosen asserts to allow this callback
10996        for the specific case of "about:blank" even if the defers callbacks flag is true.
10997        (-[WebMainResourceClient connectionDidFinishLoading:]): Ditto.
10998        (-[WebMainResourceClient loadWithRequestNow:]): Added NSURLRequest return value. Loosened asserts
10999        as above. Changed code to return a new request if we get a new request back that is not empty
11000        when the defers callbacks flag is true.
11001        (-[WebMainResourceClient loadWithRequest:]): If the defers callbacks flag is set, but the
11002        URL is one that gives us an empty document, then do the work right away, don't defer it.
11003
110042004-09-23  Darin Adler  <darin@apple.com>
11005
11006        - fixed B&I builds by checking in generated file
11007
11008        * WebCoreSupport.subproj/WebDashboardRegion.h: Added.
11009
110102004-09-22  Richard Williamson   <rjw@apple.com>
11011
11012	Pass dashboard regions to UI delegate.
11013
11014        Reviewed by Hyatt.
11015
11016        * WebCoreSupport.subproj/WebBridge.m:
11017        (-[WebBridge dashboardRegionsChanged:]):
11018        * WebView.subproj/WebUIDelegatePrivate.h:
11019        * copy-webcore-files-to-webkit:
11020
110212004-09-22  Chris Blumenberg  <cblu@apple.com>
11022
11023	Fixed build that I just broke.
11024
11025        * WebView.subproj/WebHTMLView.m:
11026        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
11027
110282004-09-22  Chris Blumenberg  <cblu@apple.com>
11029
11030	<rdar://problem/3812091> REGRESSION (Mail): double-clicked word is not smart inserted on drag
11031
11032        Reviewed by john.
11033
11034        * WebView.subproj/WebHTMLView.m:
11035        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): pass value for smartMove
11036
110372004-09-22  Chris Blumenberg  <cblu@apple.com>
11038
11039	Fixed:
11040	<rdar://problem/3667301> Frequent crashes in Mail when viewing HTML messages (CFURLGetByteRangeForComponent)
11041	<rdar://problem/3810354> WebResourceLoadDelegate can't refuse requests by returning nil; code asserts/crashes instead
11042
11043        Reviewed by rjw.
11044
11045        * WebCoreSupport.subproj/WebSubresourceClient.m:
11046        (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): removed broken code that handled loadWithRequest returning NO
11047        * WebView.subproj/WebBaseResourceHandleDelegate.m:
11048        (-[WebBaseResourceHandleDelegate loadWithRequest:]): if nil is returned from the client for willSendRequest, report the cancelled error and return
11049
110502004-09-22  Ken Kocienda  <kocienda@apple.com>
11051
11052        Reviewed by Darin
11053
11054        * WebView.subproj/WebFrameView.m:
11055        (-[WebFrameView _webcore_effectiveFirstResponder]): New function to yield the correct responder
11056        to check for firstResponder-ness before calling makeFirstResonder. This helps to prevent 
11057        unwanted firstResponder switching.
11058        * WebView.subproj/WebView.m:
11059        (-[WebView _webcore_effectiveFirstResponder]): Ditto.
11060
110612004-09-21  Chris Blumenberg  <cblu@apple.com
11062
11063	Fixed:
11064	<rdar://problem/3735071> REGRESSION (Mail): WebCore Editing must do smart paste
11065	<rdar://problem/3799163> REGRESSION (Mail): Deleting a word doesn't delete whitespace
11066
11067        Reviewed by darin.
11068
11069        * WebView.subproj/WebDataSource.m:
11070        (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for smartReplace
11071        * WebView.subproj/WebHTMLView.m:
11072        (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard
11073        (-[WebHTMLView _changeSpellingFromMenu:]): pass NO for smartReplace
11074        (-[WebHTMLView pasteboardTypesForSelection]): include WebSmartPastePboardType when _canSmartCopyOrDelete return YES
11075        (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): ditto
11076        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard
11077        (-[WebHTMLView delete:]): call _deleteSelection
11078        (-[WebHTMLView cut:]): don't call delegate twice, call _deleteRange to delete
11079        (-[WebHTMLView pasteAsPlainText:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard
11080        (-[WebHTMLView _changeWordCaseWithSelector:]): pass NO for smartReplace
11081        (-[WebHTMLView deleteBackward:]): call _deleteSelection when there is a selected range
11082        (-[WebHTMLView _changeSpellingToWord:]): pass NO for smartReplace
11083        (-[WebHTMLView deleteToMark:]): pass NO for smartDeleteOK
11084        (-[WebHTMLView transpose:]): pass NO for smartReplace
11085        (-[WebHTMLView _shouldDeleteRange:]): moved
11086        (-[WebHTMLView _deleteRange:preflight:killRing:prepend:smartDeleteOK:]): moved, handle smartDelete
11087        (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): moved
11088        (-[WebHTMLView _deleteSelection]): new
11089	(-[WebHTMLView _canSmartReplaceWithPasteboard]): new
11090	(-[WebHTMLView _canSmartCopyOrDelete]): new
11091        (-[WebHTMLView setMarkedText:selectedRange:]): pass NO for smartReplace
11092        (-[WebHTMLView _discardMarkedText]): call _deleteSelection
11093        (-[WebTextCompleteController _insertMatch:]): pass NO for smartReplace
11094        (-[WebTextCompleteController endRevertingChange:moveLeft:]): pass NO for smartReplace
11095        * WebView.subproj/WebHTMLViewInternal.h:
11096        * WebView.subproj/WebView.m:
11097        (-[WebView _commonInitializationWithFrameName:groupName:]): set smartInsertDeleteEnabled to YES
11098        (-[WebView replaceSelectionWithNode:]): pass NO for smartReplace
11099        (-[WebView replaceSelectionWithText:]): pass NO for smartReplace
11100        (-[WebView replaceSelectionWithMarkupString:]): pass NO for smartReplace
11101        (-[WebView deleteSelection]): call _deleteSelection on WebHTMLView
11102
111032004-09-21  John Sullivan  <sullivan@apple.com>
11104
11105        Reviewed by Darin.
11106
11107        - WebKit part of fix for <rdar://problem/3618274> REGRESSION (125-135): 
11108        Option-tab doesn't always work as expected
11109
11110        * WebCoreSupport.subproj/WebBridge.m:
11111        (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
11112        Don't set WebCoreKeyboardAccessFull when setting WebCoreKeyboardAccessTabsToLinks
11113        after all; these need to be tested independently to get the option-tab behavior
11114        correct.
11115
111162004-09-21  John Sullivan  <sullivan@apple.com>
11117
11118        * WebView.subproj/WebHTMLView.m:
11119        (-[WebHTMLView doCommandBySelector:]):
11120        Commented out part of previous change; it breaks Mail editing until Mail
11121        fixes bug 3810158.
11122
111232004-09-21  John Sullivan  <sullivan@apple.com>
11124
11125        Reviewed by Ken.
11126
11127        * WebView.subproj/WebHTMLView.m:
11128        (-[WebHTMLView doCommandBySelector:]):
11129        Fix build failure from previous checkin, d'oh! Didn't set up webview variable.
11130
111312004-09-21  John Sullivan  <sullivan@apple.com>
11132
11133        Reviewed by Ken.
11134        
11135        - fixed <rdar://problem/3809477> WebHTMLView needs to pass doCommandBySelector through delegate
11136
11137        * WebView.subproj/WebHTMLView.m:
11138        (-[WebHTMLView doCommandBySelector:]):
11139        Call through to editing delegate. If editing delegate returns YES, don't call super.
11140
11141        * WebView.subproj/WebDefaultEditingDelegate.m:
11142        (-[WebDefaultEditingDelegate webView:doCommandBySelector:]):
11143        default implementation (which was never called) was returning YES, but it should
11144        return NO to signal that it didn't handle the selector.
11145        
111462004-09-21  Chris Blumenberg  <cblu@apple.com>
11147
11148	Fixed: <rdar://problem/3647229> Safari does not play inline Windows Media Content on some sites (miggy.net and ministryofsound.com)
11149
11150        Reviewed by john.
11151
11152        * Plugins.subproj/WebBaseNetscapePluginView.m:
11153        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
11154        (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:]): set the plug-in before calling setting the attributes, so we can avoid passing certain attributes to the WMP plug-in that cause it to crash
11155
111562004-09-20  Chris Blumenberg  <cblu@apple.com>
11157
11158	Fixed: <rdar://problem/3781290> REGRESSION (Mail): Crash in ReplaceSelectionCommandImpl attaching file to new message
11159
11160        Reviewed by kocienda.
11161
11162        * WebView.subproj/WebView.m:
11163        (-[WebView setEditable:]): call updateSelectionFromEmpty on the bridge if there is no selection
11164
111652004-09-20  Chris Blumenberg  <cblu@apple.com>
11166
11167	Changes to implement renamed bridge methods.
11168
11169        Reviewed by darin.
11170
11171        * ChangeLog:
11172        * DOM.subproj/WebDOMOperations.m:
11173        (-[DOMDocument URLWithAttributeString:]): call renamed bridge method
11174        * WebCoreSupport.subproj/WebBridge.m:
11175        (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): take 2 parameter arrays rather than 1 which will have to be parsed
11176        (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): ditto
11177
111782004-09-20  Darin Adler  <darin@apple.com>
11179
11180        Reviewed by Chris.
11181
11182        * WebView.subproj/WebFramePrivate.h: Added back.
11183        * WebView.subproj/WebFrameViewPrivate.h: Removed.
11184
111852004-09-20  Darin Adler  <darin@apple.com>
11186
11187        Reviewed by Ken.
11188
11189        - fixed <rdar://problem/3655360> REGRESSION (Mail): Ctrl-V emacs key binding, -pageDown: method, unimplemented (and pageUp, and selection-modifying versions)
11190        - fixed <rdar://problem/3792138> REGRESSION (Mail): Spell checker doesn't check current selected word
11191
11192        * WebView.subproj/WebFrameViewInternal.h: Moved WebFrameViewPrivate inside the WebFrameView.m file.
11193        Removed a bunch of methods that don't need to be seen in other files, and added _verticalPageScrollDistance.
11194        * WebView.subproj/WebFrameViewPrivate.h: Removed. Renamed to WebFrameViewInternal.h.
11195        * WebView.subproj/WebFrameView.m:
11196        (-[WebFrameView _verticalKeyboardScrollDistance]): Move in the file because of internal vs. private.
11197        (-[WebFrameView _shouldDrawBorder]): Ditto.
11198        (-[WebFrameView _tile]): Ditto.
11199        (-[WebFrameView _verticalPageScrollDistance]): Added. Separate method so it can be called
11200        by the code to implement pageDown:.
11201        (-[WebFrameView _drawBorder]): Move in the file because of internal vs. private.
11202        (-[WebFrameView _goBack]): Ditto.
11203        (-[WebFrameView _goForward]): Ditto.
11204        (-[WebFrameView _scrollVerticallyBy:]): Ditto.
11205        (-[WebFrameView _scrollHorizontallyBy:]): Ditto.
11206        (-[WebFrameView _horizontalKeyboardScrollDistance]): Ditto.
11207        (-[WebFrameView _horizontalPageScrollDistance]): Added. Separate method for consistency with
11208        vertical method above.
11209        (-[WebFrameView _pageVertically:]): Moved and changed to use _verticalPageScrollDistance.
11210        (-[WebFrameView _pageHorizontally:]): Moved and changed to use _horizontalPageScrollDistance.
11211        (-[WebFrameView _scrollLineVertically:]): Move in the file because of internal vs. private.
11212        (-[WebFrameView _scrollLineHorizontally:]): Ditto.
11213        (-[WebFrameView scrollPageUp:]): Ditto.
11214        (-[WebFrameView scrollPageDown:]): Ditto.
11215        (-[WebFrameView scrollLineUp:]): Ditto.
11216        (-[WebFrameView scrollLineDown:]): Ditto.
11217        (-[WebFrameView _firstResponderIsControl]): Ditto.
11218        (-[WebFrameView keyDown:]): Changed to eliminate _pageLeft, _lineLeft, _pageRight, and _lineRight.
11219
11220        * WebView.subproj/WebDataSource.m: Use WebFrameView.h instead of WebFrameViewPrivate.h.
11221
11222        * WebView.subproj/WebHTMLView.m:
11223        (-[WebHTMLView _alterCurrentSelection:verticalDistance:]): Added.
11224        (-[WebHTMLView moveToBeginningOfDocument:]): Use WebSelectToDocumentBoundary.
11225        (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto.
11226        (-[WebHTMLView moveToEndOfDocument:]): Ditto.
11227        (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto.
11228        (-[WebHTMLView moveParagraphBackwardAndModifySelection:]): Added.
11229        (-[WebHTMLView moveParagraphForwardAndModifySelection:]): Added.
11230        (-[WebHTMLView pageUp:]): Added.
11231        (-[WebHTMLView pageDown:]): Added.
11232        (-[WebHTMLView pageUpAndModifySelection:]): Added.
11233        (-[WebHTMLView pageDownAndModifySelection:]): Added.
11234        (-[WebHTMLView showGuessPanel:]): Changed to call advanceToNextMisspellingStartingJustBeforeSelection.
11235        This fixes the problem with spell checking.
11236
11237        * WebView.subproj/WebImageView.m:
11238        (-[WebImageView webView]): Changed to use _web_parentWebView.
11239        (-[WebImageView menuForEvent:]): Changed to use [self webView].
11240        (-[WebImageView mouseDown:]): Ditto.
11241        (-[WebImageView mouseDragged:]): Ditto.
11242        (-[WebImageView draggedImage:endedAt:operation:]): Ditto.
11243
11244        * WebView.subproj/WebTextView.m:
11245        (-[WebTextView _textSizeMultiplierFromWebView]): Changed to use _web_parentWebView.
11246        (-[WebTextView menuForEvent:]): Ditto.
11247        (-[WebTextView drawPageBorderWithSize:]): Ditto.
11248        (-[WebTextView knowsPageRange:]): Ditto.
11249
11250        * Plugins.subproj/WebPluginDatabase.m: Updated filename of WebFrameViewInternal.h.
11251        * WebCoreSupport.subproj/WebBridge.m: Ditto.
11252        * WebKit.pbproj/project.pbxproj: Ditto.
11253        * WebView.subproj/WebFrame.m: Ditto.
11254        * WebView.subproj/WebView.m: Ditto.
11255        * Misc.subproj/WebNSViewExtras.m: Ditto.
11256
112572004-09-20  Darin Adler  <darin@apple.com>
11258
11259        Reviewed by Ken.
11260
11261        - added helper method _web_parentWebView so fewer files need to get at WebFrame private methods
11262
11263        * Misc.subproj/WebNSViewExtras.h: Added _web_parentWebView.
11264        * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_parentWebView]): Added.
11265
11266=== Safari-164 ===
11267
112682004-09-17  Chris Blumenberg  <cblu@apple.com>
11269	
11270    	Fixed:
11271	<rdar://problem/3805757> don't unnecessarily put RTFD on the pasteboard
11272	<rdar://problem/3805756> strip attachments before generating RTF
11273
11274        Reviewed by john.
11275
11276        * WebView.subproj/WebHTMLView.m:
11277        (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): only put RTFD on the pasteboard if it has attachments, strip attachments when writing RTF
11278
112792004-09-16  Darin Adler  <darin@apple.com>
11280
11281        Reviewed by John.
11282
11283        - fixed <rdar://problem/3804648> 8A262: Safari crashed in -[WebView(WebPrivate) _editingDelegateForwarder] inside QuickTime Cocoa Plug-in during WebView deallocation
11284
11285        * WebView.subproj/WebView.m: (-[WebView _editingDelegateForwarder]):
11286        Check _private for nil before dereferencing it.
11287
112882004-09-16  Chris Blumenberg  <cblu@apple.com>
11289
11290	Fixed: <rdar://problem/3779150> REGRESSION: images not copied when copying HTML in Safari and pasting into TextEdit
11291
11292        Reviewed by john.
11293
11294        * WebView.subproj/WebHTMLView.m:
11295        (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): use RTFDFromRange:: for RTFD
11296        * WebView.subproj/WebHTMLViewPrivate.h:
11297
112982004-09-15  Darin Adler  <darin@apple.com>
11299
11300        Reviewed by John.
11301
11302        - fixed assertion I saw using the font panel
11303
11304        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _colorAsString:]):
11305        Convert color space before trying to get R, G, and B components.
11306
113072004-09-15  Chris Blumenberg  <cblu@apple.com>
11308
11309	Fixed: <rdar://problem/3802232> REGRESSION (Mail): WebCore Editing must do smart copy
11310	
11311        Reviewed by kocienda.
11312
11313        * WebView.subproj/WebHTMLView.m:
11314        (-[WebHTMLView _writeSelectionToPasteboard:]): call instance method not class method to get pasteboard types since the types depends on the current selection granularity
11315        (-[WebHTMLView pasteboardTypesForSelection]): if the selection granularity is "word" include the smart pasteboard type
11316        (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): put nil on the pasteboard for smart copy
11317
113182004-09-14  Darin Adler  <darin@apple.com>
11319
11320        Reviewed by Maciej.
11321
11322        - fixed <rdar://problem/3788894> REGRESSION (Mail): ctrl-t emacs key binding does not work (transpose)
11323        - fixed <rdar://problem/3798946> REGRESSION (Mail): Cursor does not disappear when typing
11324
11325        * WebView.subproj/WebHTMLView.m:
11326        (-[WebHTMLView keyDown:]): Hide cursor by calling setHiddenUntilMouseMoves:YES.
11327        (-[WebHTMLView transpose:]): Added.
11328
113292004-09-14  Richard Williamson   <rjw@apple.com>
11330
11331        1.  Add class parameter to object allocation function.  This is somewhat redundant, given that
11332        the allocation function is in the class function vector, but people wanted to use the same
11333        allocation function for different classes.
11334        
11335        2.  Renamed NPN_Class to NPN_Invoke to match the name in the function vector.
11336        
11337        3.  Add support for a default function on an object.  This is a feature that ActiveX supports,
11338        and will allow JavaScript code to be written that will look exactly the same for both ActiveX
11339        plugins and Netscape or WebKit plugins.  There are implementations included for the 'C' and
11340        'Objective-C' bindings.
11341        
11342        There bugs are covered by
11343        
11344        <rdar://problem/3776343> Support for default functions in the JavaScript bindings
11345        <rdar://problem/3779186> NPN_Call needs to be renamed to NPN_Invoke
11346        <rdar://problem/3674754> Need to implement latest npruntime.h
11347
11348        Reviewed by John.
11349
11350        * Plugins.subproj/WebNetscapePluginPackage.m:
11351        (-[WebNetscapePluginPackage load]):
11352        * Plugins.subproj/WebScriptObject.h:
11353        * Plugins.subproj/npfunctions.h:
11354        * Plugins.subproj/npruntime.h:
11355
113562004-09-13  Richard Williamson   <rjw@apple.com>
11357
11358        D'oh.  How many times can I screw up a simple fix!
11359
11360        * WebCoreSupport.subproj/WebTextRenderer.m:
11361        (-[WebTextRenderer initWithFont:usingPrinterFont:]):
11362
113632004-09-13  Richard Williamson   <rjw@apple.com>
11364
11365        Fixed snafu from 3782533 checkin.
11366        
11367        Reviewed by John.
11368
11369        * WebCoreSupport.subproj/WebTextRenderer.m:
11370        (-[WebTextRenderer initWithFont:usingPrinterFont:]):
11371
113722004-09-12  Chris Blumenberg  <cblu@apple.com>
11373
11374	Support for: <rdar://problem/3794790> drop rate or time remaining from download status when window is too small to fit it
11375
11376        Reviewed by john.
11377
11378        * Misc.subproj/WebStringTruncator.h:
11379        * Misc.subproj/WebStringTruncator.m:
11380        (+[WebStringTruncator widthOfString:font:]): new
11381
113822004-09-10  Richard Williamson   <rjw@apple.com>
11383
11384        Fixed <rdar://problem/3782533> CrashTracer: .1459 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 0x138
11385
11386        We were explicitly failing when we encountered deprecated fonts.
11387        (Those with unsupported glyph packings).
11388        Deprecated fonts should only appear on a system that have 
11389        stuff migrated from OS 9.  Ugh, thats probably why we've never seen
11390        the problem here.
11391        
11392        Reviewed by John.
11393
11394        * WebCoreSupport.subproj/WebTextRenderer.m:
11395        (-[WebTextRenderer initWithFont:usingPrinterFont:]):
11396
113972004-09-10  John Sullivan  <sullivan@apple.com>
11398
11399        Reviewed by Chris.
11400        
11401        - added _isFrameSet as a private method, so it can be used in WebBrowser.
11402        This is needed to merge the fix for 3123987 to SUPanNavy.
11403
11404        * WebView.subproj/WebFrame.m:
11405        (-[WebFrame _isFrameSet]):
11406        new method
11407        
11408        * WebView.subproj/WebFramePrivate.h:
11409        declare new method
11410
114112004-09-09  Chris Blumenberg  <cblu@apple.com>
11412
11413	Support for: <rdar://problem/3795485> debug menu item to enable RSS animation on first layout
11414
11415        Reviewed by rjw.
11416
11417        * WebCoreSupport.subproj/WebBridge.m:
11418        (-[WebBridge didFirstLayout]): new
11419        * WebView.subproj/WebDefaultFrameLoadDelegate.m:
11420        (-[WebDefaultFrameLoadDelegate webView:didFirstLayoutInFrame:]): new
11421        * WebView.subproj/WebViewPrivate.h:
11422
114232004-09-09  Richard Williamson   <rjw@apple.com>
11424
11425        Alternate implementation of image rendering.  Use CGImageRefs instead
11426        of NSImages.
11427        
11428        Mostly works, but currently disabled because of issues w/ CG.
11429        
11430        Reviewed by Chris.
11431
11432        * ChangeLog:
11433        * WebCoreSupport.subproj/WebImageData.h: Added.
11434        * WebCoreSupport.subproj/WebImageData.m: Added.
11435        (-[WebImageData _commonTermination]):
11436        (-[WebImageData dealloc]):
11437        (-[WebImageData finalize]):
11438        (-[WebImageData copyWithZone:]):
11439        (-[WebImageData numberOfImages]):
11440        (-[WebImageData currentFrame]):
11441        (-[WebImageData _invalidateImages]):
11442        (-[WebImageData imageAtIndex:]):
11443        (-[WebImageData incrementalLoadWithBytes:length:complete:]):
11444        (drawPattern):
11445        (-[WebImageData tileInRect:fromPoint:context:]):
11446        (-[WebImageData isNull]):
11447        (-[WebImageData size]):
11448        (-[WebImageData _frameDuration]):
11449        (-[WebImageData _repetitionCount]):
11450        (-[WebImageData isAnimationFinished]):
11451        (+[WebImageData stopAnimationsInView:]):
11452        (-[WebImageData addAnimatingRenderer:inView:]):
11453        (-[WebImageData removeAnimatingRenderer:]):
11454        (-[WebImageData _stopAnimation]):
11455        (-[WebImageData _nextFrame:]):
11456        (-[WebImageData animate]):
11457        * WebCoreSupport.subproj/WebImageRenderer.h:
11458        * WebCoreSupport.subproj/WebImageRenderer.m:
11459        (-[WebImageRenderer initWithMIMEType:]):
11460        (-[WebImageRenderer initWithData:MIMEType:]):
11461        (-[WebImageRenderer initWithContentsOfFile:]):
11462        (-[WebImageRenderer dealloc]):
11463        (-[WebImageRenderer copyWithZone:]):
11464        (-[WebImageRenderer retainOrCopyIfNeeded]):
11465        (-[WebImageRenderer resize:]):
11466        (-[WebImageRenderer size]):
11467        (-[WebImageRenderer MIMEType]):
11468        (-[WebImageRenderer frameCount]):
11469        (-[WebImageRenderer isNull]):
11470        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
11471        (-[WebImageRenderer drawImageInRect:fromRect:]):
11472        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
11473        (-[WebImageRenderer tileInRect:fromPoint:context:]):
11474        (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
11475        (+[WebImageRenderer stopAnimationsInView:]):
11476        (-[WebImageRenderer stopAnimation]):
11477        (-[WebImageRenderer targetAnimationRect]):
11478        (-[WebImageRenderer increaseUseCount]):
11479        (-[WebImageRenderer decreaseUseCount]):
11480        (-[WebImageRenderer flushRasterCache]):
11481        (-[WebImageRenderer imageRef]):
11482        (-[WebImageRenderer TIFFRepresentation]):
11483        (-[WebImageRenderer image]):
11484        * WebCoreSupport.subproj/WebImageRendererFactory.m:
11485        (-[WebImageRendererFactory imageRendererWithMIMEType:]):
11486        (-[WebImageRendererFactory imageRendererWithData:MIMEType:]):
11487        (-[WebImageRendererFactory imageRendererWithSize:]):
11488        (-[WebImageRendererFactory imageRendererWithName:]):
11489        * WebKit.pbproj/project.pbxproj:
11490        * WebView.subproj/WebImageView.m:
11491        (-[WebImageView image]):
11492
11493=== Safari-163 ===
11494
114952004-09-09  Maciej Stachowiak  <mjs@apple.com>
11496
11497        - rolled out last two changes, they seem to cause a performance regression
11498
11499        * WebView.subproj/WebHTMLView.m:
11500        (-[WebHTMLView firstRectForCharacterRange:]):
11501
115022004-09-09  Maciej Stachowiak  <mjs@apple.com>
11503
11504        - fixed build
11505
11506        * WebView.subproj/WebHTMLView.m:
11507        (-[WebHTMLView firstRectForCharacterRange:]):
11508
115092004-09-08  Maciej Stachowiak  <mjs@apple.com>
11510
11511        Reviewed by Dave.
11512
11513	WebKit part of fix for:
11514	
11515	<rdar://problem/3759187> REGRESSION (Mail): implement firstRectForCharacterRange:
11516
11517        * WebView.subproj/WebHTMLView.m:
11518        (-[WebHTMLView firstRectForCharacterRange:]): Call the appropriate new bridge method,
11519	and translate to screen coordinates.
11520
115212004-09-09  Darin Adler  <darin@apple.com>
11522
11523        Reviewed by Ken.
11524
11525        - fixed <rdar://problem/3790526> mark-related methods not implemented (needed for people with them in their key bindings files)
11526
11527        * WebKit.pbproj/project.pbxproj: Update MACOSX_DEPLOYMENT_TARGET to 10.3 and add -fobjc-exceptions
11528        so we can use new exceptions.
11529
11530        * WebView.subproj/WebHTMLView.m:
11531        (-[WebHTMLView setMark:]): Added.
11532        (unionDOMRanges): Added.
11533        (-[WebHTMLView deleteToMark:]): Added.
11534        (-[WebHTMLView selectToMark:]): Added.
11535        (-[WebHTMLView swapWithMark:]): Added.
11536        (-[WebHTMLView markedRange]): Updated for change to bridge method names.
11537        (-[WebHTMLView hasMarkedText]): Ditto.
11538        (-[WebHTMLView unmarkText]): Ditto.
11539        (-[WebHTMLView _selectMarkedText]): Ditto.
11540        (-[WebHTMLView _selectRangeInMarkedText:]): Ditto.
11541        (-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
11542        (-[WebHTMLView _insertText:selectInsertedText:]): Removed check for empty string. An empty string
11543        should not be filtered out here. We need to allow inserting an empty string.
11544        (-[WebHTMLView _selectionIsInsideMarkedText]): Updated for change to bridge method names.
11545        (-[WebHTMLView _updateSelectionForInputManager]): Ditto.
11546
11547        * WebView.subproj/WebView.m: (-[WebView searchFor:direction:caseSensitive:wrap:]):
11548        Changed to use selectionDOMRange instead of selectionStart.
11549
11550        * WebView.subproj/WebHTMLRepresentation.h: Removed unused setSelectionFrom method.
11551        * WebView.subproj/WebHTMLRepresentation.m: Ditto.
11552
115532004-09-08  John Sullivan  <sullivan@apple.com>
11554
11555        Reviewed by Darin.
11556        
11557        - fixed the localization aspect of: 
11558        <rdar://problem/3790011> undoable operations all say "Undo" in the menu, no specific action names
11559        
11560        We now have all the strings ready for localization; we just don't actually use them yet.
11561
11562        * English.lproj/Localizable.strings:
11563        updated for this change
11564        
11565        * WebCoreSupport.subproj/WebBridge.m:
11566        (-[WebBridge setUndoActionNamePlaceholder]):
11567        added this placeholder method whose purpose is to hold localizable strings for all the Undo
11568        action names that NSTextView uses. Later we will use some or all of these, but we can do
11569        that part after the localization freeze.
11570
115712004-09-08  Chris Blumenberg  <cblu@apple.com>
11572
11573	Fixed: <rdar://problem/3778785> REGRESSION (Mail): copying from MS word and pasting into editable region leaves internal clipboard data
11574
11575        Reviewed by kocienda.
11576
11577        * WebView.subproj/WebHTMLView.m:
11578        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): ignore Microsoft's header meta data
11579
115802004-09-08  Chris Blumenberg  <cblu@apple.com>
11581
11582	Fixed: <rdar://problem/3792893> WebBaseResourceHandleDelegate always returns cached data for subresource loads
11583
11584        Reviewed by rjw.
11585
11586        * WebView.subproj/WebBaseResourceHandleDelegate.m:
11587        (-[WebBaseResourceHandleDelegate _canUseResourceForRequest:]): new
11588        (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceForRequest:
11589
115902004-09-08  Chris Blumenberg  <cblu@apple.com>
11591
11592	Forgot to add this in previous check-in.	
11593
11594        * English.lproj/WebViewEditingContextMenu.nib: Added.
11595
115962004-09-08  Chris Blumenberg  <cblu@apple.com>
11597
11598	Fixed: <rdar://problem/3791240> WebKit uses the NSTextViewContextMenu nib from inside AppKit
11599
11600        Reviewed by john.
11601
11602        * English.lproj/StringsNotToBeLocalized.txt:
11603        * WebKit.pbproj/project.pbxproj:
11604        * WebView.subproj/WebDefaultContextMenuDelegate.m:
11605        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): use our copy of the nib
11606
116072004-09-07  Darin Adler  <darin@apple.com>
11608
11609        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
11610
116112004-09-07  Chris Blumenberg  <cblu@apple.com>
11612
11613	Fixed: <rdar://problem/3790143> exception raised when dragging a URL with 2-byte characters
11614
11615	(checked in with last check-in)
11616
116172004-09-07  Chris Blumenberg  <cblu@apple.com>
11618
11619	Fixed:
11620	<rdar://problem/3080103> Need to pass cmd-modified keys to plug-ins
11621	<rdar://problem/3751509> can't use safari edit menu to copy and paste with Vantage Learning's My Access
11622
11623        Reviewed by john.
11624
11625        * Plugins.subproj/WebBaseNetscapePluginView.m: fake up command-key events for cut, copy, paste and select all so these menu items work for plug-ins
11626        (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]):
11627        (-[WebBaseNetscapePluginView cut:]):
11628        (-[WebBaseNetscapePluginView copy:]):
11629        (-[WebBaseNetscapePluginView paste:]):
11630        (-[WebBaseNetscapePluginView selectAll:]):
11631
116322004-09-07  Darin Adler  <darin@apple.com>
11633
11634        - fixed deployment build
11635
11636        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:]):
11637        Initialize prepend variable.
11638
116392004-09-06  Darin Adler  <darin@apple.com>
11640
11641        Reviewed by John.
11642
11643        - fixed <rdar://problem/3696542> REGRESSION (Mail): Editable WebKit doesn't support underline yet (in the iChat profile window, at least)
11644        - fixed <rdar://problem/3780249> REGRESSION (Mail): copy style/paste style doesn't work in HTML editing in Mail
11645        - fixed <rdar://problem/3788857> REGRESSION (Mail): Home and End keys don't work in message composer
11646        - fixed <rdar://problem/3788884> REGRESSION (Mail): ctrl-d emacs key binding does not work (delete forward)
11647        - fixed <rdar://problem/3788890> REGRESSION (Mail): ctrl-k emacs key binding does not work (delete to end of paragraph)
11648        - fixed <rdar://problem/3788899> REGRESSION (Mail): ctrl-y emacs key binding does not work (yank)
11649        - fixed <rdar://problem/3788901> REGRESSION (Mail): ctrl-o emacs key binding does not work (insert newline in front of insertion point)
11650        - fixed <rdar://problem/3788908> REGRESSION (Mail): ctrl-left-arrow emacs key binding does not work (move to beginning of line)
11651        - fixed <rdar://problem/3788913> REGRESSION (Mail): ctrl-right-arrow emacs key binding does not work (move to end of line)
11652        - implemented a first cut at other attribute changes from Text Panel besides underline (bugs?)
11653        - dealt with a couple of FIXMEs in WebHTMLView.m
11654        - updated list of not-yet-implemented methods in WebHTMLView.m
11655        - fixed many deletion operations to call the correct editing delegate methods
11656
11657        * WebView.subproj/WebFrameViewPrivate.h: Remove _scrollToTopLeft and _scrollToBottomLeft.
11658        No one was calling them anyway, so they should really have been marked internal and not private.
11659        * WebView.subproj/WebFrameView.m:
11660        (-[WebFrameView scrollToBeginningOfDocument:]): Renamed _scrollToTopLeft to this, so the home key
11661        would start working with the key bindings machinery.
11662        (-[WebFrameView scrollToEndOfDocument:]): Same thing, for end key.
11663        (-[WebFrameView keyDown:]): Update for name changes, and also make sure we don't try to grab
11664        control-arrow keys here (probably not necessary, but good anyway).
11665
11666        * WebView.subproj/WebHTMLViewInternal.h: Added keyDownEvent field, and startNewKillRingSequence
11667        and nextResponderDisabledOnce flags.
11668        * WebView.subproj/WebHTMLView.m:
11669        Rearrange declarations at the top of the file so that external things are up with
11670        the #import directives and things inside this file are declared below.
11671        (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): Ditto.
11672        (-[WebHTMLView _calculatePrintHeight]): Moved up into the "internal to file" category.
11673        (-[WebHTMLView _updateTextSizeMultiplier]): Ditto.
11674        (-[WebHTMLView _selectedRange]): Added.
11675        (-[WebHTMLView _openLinkFromMenu:]): Left this method lying around even though I deleted the
11676        other APPKIT_CODE_FOR_REFERENCE in case this shows up in the context menu we are now sharing
11677        with the AppKit. Chris will look at this later, and he can delete it then.
11678        (+[WebHTMLView initialize]): Call _NSInitializeKillRing.
11679        (-[WebHTMLView _documentRange]): Added.
11680        (-[WebHTMLView string]): Call the bridge to get the plain text rather than making an attributed
11681        string and then getting the text from there.
11682        (-[WebHTMLView becomeFirstResponder]): Set startNewKillRingSequence flag, so that new deletions
11683        will create a new kill ring entry.
11684        (-[WebHTMLView moveToBeginningOfDocument:]): Use backward direction instead of left direction.
11685        (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto.
11686        (-[WebHTMLView moveToBeginningOfLine:]): Ditto.
11687        (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]): Ditto.
11688        (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary.
11689        (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto.
11690        (-[WebHTMLView moveToEndOfDocument:]): Use forward direction instead of right direction.
11691        (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto.
11692        (-[WebHTMLView moveToEndOfLine:]): Ditto.
11693        (-[WebHTMLView moveToEndOfLineAndModifySelection:]): Ditto.
11694        (-[WebHTMLView moveToEndOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary.
11695        (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto.
11696        (-[WebHTMLView _shouldDeleteRange:]): Added.
11697        (-[WebHTMLView _deleteRange:preflight:killRing:prepend:]): Added.
11698        (-[WebHTMLView delete:]): Changed to call new _deleteRange method.
11699        (-[WebHTMLView cut:]): Changed to preflight property and call new _deleteRange method.
11700        (-[WebHTMLView _selectionFontAttributes]): Added.
11701        (-[WebHTMLView _selectionFontAttributesAsRTF]): Added.
11702        (-[WebHTMLView _fontAttributesFromFontPasteboard]): Added.
11703        (-[WebHTMLView _emptyStyle]): Added.
11704        (-[WebHTMLView _styleFromFontAttributes:]): Added.
11705        (-[WebHTMLView _applyStyleToSelection:]): Added.
11706        (-[WebHTMLView copyFont:]): Implemented.
11707        (-[WebHTMLView pasteFont:]): Implemented.
11708        (-[WebHTMLView _originalFontA]): Added.
11709        (-[WebHTMLView _originalFontB]): Added.
11710        (-[WebHTMLView _addToStyle:fontA:fontB:]): Added. Has code from the method that figures out
11711        what the font manager is doing for changeFont:, now needed for changeAttribute: too.
11712        (-[WebHTMLView _styleFromFontManagerOperation]): Renamed and now calls shared methods.
11713        (-[WebHTMLView changeFont:]): Call shared method, still does the same thing.
11714        (-[WebHTMLView _colorAsString:]): Added. Has code from the method we were using with the
11715        color panel before.
11716        (-[WebHTMLView _shadowAsString:]): Added.
11717        (-[WebHTMLView _styleForAttributeChange:]): Added.
11718        (-[WebHTMLView changeAttributes:]): Implemented.
11719        (-[WebHTMLView _styleFromColorPanelWithSelector:]): Renamed and now calls shared methods.
11720        (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): Call method by new name.
11721        (-[WebHTMLView changeDocumentBackgroundColor:]): Call method by new name.
11722        (-[WebHTMLView changeColor:]): Changed around a bit; still doesn't work yet.
11723        (-[WebHTMLView _alignSelectionUsingCSSValue:]): Call shared methods.
11724        (-[WebHTMLView indent:]): Removed, since NSTextView doesn't implement this method. Added to list
11725        of methods to possibly implement later in the file.
11726        (-[WebHTMLView insertTab:]): Call insertText: to save code and so we get WebViewInsertActionTyped
11727        instead of WebViewInsertActionPasted.
11728        (-[WebHTMLView changeCaseOfLetter:]): Removed, since NSTextView doesn't implement this method.
11729        Added to list of methods to possibly implement later in the file.
11730        (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Added.
11731        (-[WebHTMLView deleteForward:]): Implemented. This makes Control-D work.
11732        (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Implemented by just calling
11733        deleteBackward for now; probably better than doing nothing.
11734        (-[WebHTMLView deleteWordForward:]): Changed to call new _delete method above. Fixes things
11735        so that we delete the selection if there is one, get the appropriate delegate calls, handle
11736        the kill ring properly, and don't do any selection if we can't delete.
11737        (-[WebHTMLView deleteWordBackward:]): Ditto.
11738        (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
11739        (-[WebHTMLView deleteToEndOfLine:]): Ditto.
11740        (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
11741        (-[WebHTMLView deleteToEndOfParagraph:]): Ditto. Added additional behavior needed since this
11742        is bound to Control-K, so it's not really just delete to end of paragraph.
11743        (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): Added. Calls insertNewline:.
11744        (-[WebHTMLView insertTabIgnoringFieldEditor:]): Added. Calls insertTab:.
11745        (-[WebHTMLView subscript:]): Added.
11746        (-[WebHTMLView superscript:]): Added.
11747        (-[WebHTMLView unscript:]): Added.
11748        (-[WebHTMLView underline:]): Added.
11749        (-[WebHTMLView yank:]): Added.
11750        (-[WebHTMLView yankAndSelect:]): Added. Calls _insertText.
11751        (-[WebHTMLView _arrowKeyDownEventSelectorIfPreprocessing:]): Added. Part of workaround for
11752        control-arrow key trouble.
11753        (-[WebHTMLView respondsToSelector:]): Added. More of workaround.
11754        (-[WebHTMLView nextResponder:]): Added. More of workaround.
11755        (-[WebHTMLView _selectionChanged]): Set startNewKillRingSequence flag, so that new deletions
11756        will create a new kill ring entry.
11757        (-[WebHTMLView _updateFontPanel]): Remove a bunch of code here that wasn't working very well
11758        because it walked a DOM range incorrectly, and instead use the new method that does all the
11759        right stuff on the other side of the bridge.
11760        (-[WebHTMLView _insertText:selectInsertedText:]): Added new helper method for use by both
11761        insertText and yankAndSelect, with most of the guts of insertText and one additional parameter.
11762        (-[WebHTMLView insertText:]): Call the new _insertText.
11763
11764        * WebView.subproj/WebView.m: Use macros to make the forwarding from WebView more terse.
11765        Updated the list to include a few methods it didn't before.
11766
117672004-09-06  John Sullivan  <sullivan@apple.com>
11768
11769        Reviewed by Darin.
11770        
11771        - put preference keys in a private header file so Safari can use them for Managed Preferences
11772
11773        * WebView.subproj/WebPreferenceKeysPrivate.h:
11774        new Private header file, includes the #defines for NSUserDefaults preference keys
11775        
11776        * WebView.subproj/WebPreferences.m:
11777        moved the preference key #defines out of here; now imports WebPreferenceKeysPrivate.h
11778
11779        * WebKit.pbproj/project.pbxproj:
11780        updated for new file
11781
117822004-09-03  Chris Blumenberg  <cblu@apple.com>
11783
11784	Fixed: <rdar://problem/3782543> CrashTracer: ...87 crashes at com.apple.WebKit: -[WebNetscapePluginPackage initWithPath:] + 0x18c
11785
11786        Reviewed by john.
11787
11788        * Plugins.subproj/WebNetscapePluginPackage.m:
11789        (-[WebNetscapePluginPackage initWithPath:]): make sure the file is at least 8 bytes long before calling memcmp
11790
117912004-09-03  Chris Blumenberg  <cblu@apple.com>
11792	
11793	Fixed:
11794	<rdar://problem/3788328> assertion failure when moving an image
11795	<rdar://problem/3783628> REGRESSION (Mail): when I try to reorder an image, the image is duplicated
11796
11797        * DOM.subproj/WebDOMOperations.m:
11798        (-[DOMDocument _createRangeWithNode:]): new, convenience
11799        (-[DOMDocument _documentRange]): use _ createRangeWithNode:
11800        * DOM.subproj/WebDOMOperationsPrivate.h:
11801        * WebView.subproj/WebHTMLView.m:
11802        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): set the selection to the image when starting the drag. This allows "move selection" to work and this matches NSText's behavior
11803
11804=== Safari-162 ===
11805
118062004-09-02  Richard Williamson   <rjw@apple.com>
11807
11808        Support for patterns in <canvas>.  
11809        (These changes attempt to create a CGImageRef from a WebImageRenderer that
11810        is used by the pattern drawing function.)
11811        
11812        Reviewed by Hyatt.
11813
11814        * WebCoreSupport.subproj/WebImageRenderer.h:
11815        * WebCoreSupport.subproj/WebImageRenderer.m:
11816        (-[WebImageRenderer dealloc]):
11817        (-[WebImageRenderer finalize]):
11818        (-[WebImageRenderer imageRef]):
11819        (_createImageRef):
11820        * WebView.subproj/WebPDFView.h:
11821        * WebView.subproj/WebPDFView.m:
11822
118232004-09-01  Chris Blumenberg  <cblu@apple.com>
11824
11825	Fixed deployment build failure.
11826
11827        * WebView.subproj/WebDefaultContextMenuDelegate.m:
11828        (-[WebDefaultUIDelegate menuItemWithTag:]):
11829
118302004-08-31  Chris Blumenberg  <cblu@apple.com>
11831
11832	Fixed: 
11833	<rdar://problem/3699498> Context menu for editable WebViews should provide items like Cut and Paste
11834	<rdar://problem/3781535> REGRESSION (Mail): no context menu after ctrl-clicking a misspelled word
11835
11836        Reviewed by kocienda.
11837
11838        * English.lproj/Localizable.strings:
11839        * WebView.subproj/WebDefaultContextMenuDelegate.m:
11840        (-[WebDefaultUIDelegate menuItemWithTag:]): updated to handle new menu items
11841        (-[WebDefaultUIDelegate contextMenuItemsForElement:]): renamed from webView:contextMenuItemsForElement:defaultMenuItems:
11842        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): new
11843        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): moved, now call contextMenuItemsForElement: or editingContextMenuItemsForElement:
11844        * WebView.subproj/WebDefaultUIDelegate.h:
11845        * WebView.subproj/WebHTMLView.m:
11846        (-[WebHTMLView _isSelectionMisspelled]): new
11847        (-[WebHTMLView _guessesForMisspelledSelection]): new
11848        (-[WebHTMLView _changeSpellingFromMenu:]): new
11849        (-[WebHTMLView _ignoreSpellingFromMenu:]): new
11850        (-[WebHTMLView _learnSpellingFromMenu:]): new
11851        * WebView.subproj/WebHTMLViewPrivate.h:
11852        * WebView.subproj/WebUIDelegate.h:
11853
118542004-08-31  Darin Adler  <darin@apple.com>
11855
11856        - fixed B&I build failure
11857
11858        * WebView.subproj/WebHTMLView.m: (-[WebTextCompleteController _buildUI]):
11859        Work around unwanted warning by adding a cast.
11860
118612004-08-27  Maciej Stachowiak  <mjs@apple.com>
11862
11863        Reviewed by John.
11864
11865	<rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website
11866        
11867	Because we will stop parsing when there is a pending redirection,
11868	avoid setting one if no navigation would actually take place
11869	because the number of steps is out of range.
11870
11871	* WebCoreSupport.subproj/WebBridge.m:
11872        (-[WebBridge canGoBackOrForward:]):
11873
118742004-08-30  Darin Adler  <darin@apple.com>
11875
11876        Reviewed by John.
11877
11878        - part of fix for <rdar://problem/3637519> REGRESSION (125-128): unrepro crash in QListBox::sizeForNumberOfLines at istweb.apple.com
11879
11880        * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory clearCaches]):
11881        Call [super clearCaches].
11882
118832004-08-30  Darin Adler  <darin@apple.com>
11884
11885        Reviewed by Chris.
11886
11887        - did work to prepare for uploading files incrementally when submitting forms
11888
11889        * History.subproj/WebHistoryItem.m:
11890        (-[WebHistoryItem _setFormInfoFromRequest:]): Use NSArray instead of NSData for form data.
11891        (-[WebHistoryItem formData]): Ditto.
11892        * History.subproj/WebHistoryItemPrivate.h: Ditto.
11893        * WebCoreSupport.subproj/WebBridge.m:
11894        (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
11895        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto.
11896        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
11897        * WebCoreSupport.subproj/WebSubresourceClient.h: Ditto.
11898        * WebCoreSupport.subproj/WebSubresourceClient.m:
11899        (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): Ditto.
11900        * WebView.subproj/WebFrame.m:
11901        (-[WebFrame _loadItem:withLoadType:]): Ditto.
11902        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
11903        * WebView.subproj/WebFramePrivate.h: Ditto.
11904
11905        * WebView.subproj/WebFormDataStream.h: Added.
11906        * WebView.subproj/WebFormDataStream.m:
11907        (-[WebFormDataStream initWithFormDataArray:]): Placeholder; not done yet.
11908        (-[WebFormDataStream formDataArray]): Ditto.
11909        * WebKit.pbproj/project.pbxproj: Added WebFormDataStream files.
11910
119112004-08-30  John Sullivan  <sullivan@apple.com>
11912
11913        Reviewed by Ken.
11914
11915        - WebKit part of fix for <rdar://problem/3607720> myFrame.print() prints the window 
11916        but should only print the frame
11917
11918        * WebView.subproj/WebUIDelegatePrivate.h:
11919        declare new delegate method that includes which frame to print
11920
11921        * WebView.subproj/WebDefaultUIDelegate.m:
11922        (-[WebDefaultUIDelegate webView:printFrameView:]):
11923        implement default (no-op) version of new delegate method
11924
11925        * WebCoreSupport.subproj/WebBridge.m:
11926        (-[WebBridge print]):
11927        call new delegate method if available, otherwise call old delegate method, for
11928        backward compatibility.
11929
119302004-08-27  Maciej Stachowiak  <mjs@apple.com>
11931
11932        Reviewed by John. 
11933        Checked in by Ken
11934        
11935        Ken comments: It looks like Maciej forgot to land this when he checked in the
11936        WebCore portion of this change.
11937
11938        <rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website
11939            
11940        Because we will stop parsing when there is a pending redirection,
11941        avoid setting one if no navigation would actually take place
11942        because the number of steps is out of range.
11943    
11944        * WebCoreSupport.subproj/WebBridge.m:
11945        (-[WebBridge canGoBackOrForward:]):
11946
119472004-08-27  Ken Kocienda  <kocienda@apple.com>
11948
11949        Reviewed by Chris
11950
11951        Fix for this bug:
11952        
11953        <rdar://problem/3756997> WebKit aggressive in making pasted text into a URL, even when it's not much like a URL
11954
11955        * WebView.subproj/WebHTMLView.m:
11956        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): Don't try so hard to coerce data
11957        on the pasteboard into a URL, and do not make an anchor with an href for any URLs that are 
11958        explicitly present on the pasteboard. Also, move URL pasteboard type check beneath the RTF
11959        checks.
11960
11961=== Safari-161 ===
11962
119632004-08-26  Chris Blumenberg  <cblu@apple.com>
11964
11965	Fixed build failure on Panther.
11966
11967        Reviewed by john.
11968
11969        * WebView.subproj/WebHTMLView.m:
11970        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): ifdef'd out call to AppKit SPI
11971        (-[WebHTMLView _attributeStringFromDOMRange:]): ditto
11972
119732004-08-26  Chris Blumenberg  <cblu@apple.com>
11974
11975	Tweak to last check-in.
11976
11977        * WebView.subproj/WebHTMLView.m:
11978        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]):
11979
119802004-08-26  Chris Blumenberg  <cblu@apple.com>
11981
11982	Fixed: 
11983	<rdar://problem/3546412> support for pasting and drag and dropping of RTF and RTFD to editable WebViews
11984	<rdar://problem/3745345> use AppKit for converting from DOM to RTF
11985
11986        Reviewed by rjw.
11987
11988        * DOM.subproj/WebDOMOperations.m:
11989        (-[DOMDocument _documentRange]): new
11990        * DOM.subproj/WebDOMOperationsPrivate.h:
11991        * WebView.subproj/WebHTMLView.m:
11992        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): call AppKit SPI to get a document fragment from an attributed string
11993        (-[WebHTMLView string]): added a FIXME
11994        (-[WebHTMLView _attributeStringFromDOMRange:]): new, calls AppKit SPI that creates an attributed string from a DOM Range
11995        (-[WebHTMLView attributedString]): call _attributeStringFromDOMRange:, fallback to old code if it returns nil
11996        (-[WebHTMLView selectedAttributedString]): ditto
11997
119982004-08-26  Chris Blumenberg  <cblu@apple.com>
11999
12000	Fixed: <rdar://problem/3774178> Plugin hooks for selected state aren't being called
12001
12002        Reviewed by darin.
12003
12004        * WebCoreSupport.subproj/WebBridge.m:
12005        (-[WebBridge setIsSelected:forView:]): don't forget colons in method names
12006
120072004-08-26  Chris Blumenberg  <cblu@apple.com>
12008
12009	Fixed: <rdar://problem/3768439> can't click in WebView in Carbon WebKit apps (GetEventPlatformEventRecord returns false)
12010
12011        Reviewed by rjw.
12012
12013        * Carbon.subproj/HIWebView.m:
12014        (Click): use WebGetEventPlatformEventRecord not GetEventPlatformEventRecord
12015        (MouseUp): ditto
12016        (MouseMoved): ditto
12017        (MouseDragged): ditto
12018        (MouseWheelMoved): ditto
12019        (WindowHandler): ditto
12020        (HIWebViewEventHandler): ditto
12021        (UpdateObserver): ditto
12022        (WebGetEventPlatformEventRecord): Call GetEventPlatformEventRecord, if that fails fallback to the current event. This is code Eric Schlegel to me to use. 
12023
120242004-08-24  Chris Blumenberg  <cblu@apple.com>
12025
12026	Fixed with help from Trey:
12027	<rdar://problem/3764856> REGRESSION !25-154): Safari accepts mouse clicks (follows links) when not key
12028
12029        Reviewed by rjw.
12030
12031        * WebView.subproj/WebHTMLView.m:
12032        (-[WebHTMLView _isSelectionEvent:]): brought back from CVS
12033        (-[WebHTMLView acceptsFirstMouse:]): only call eventMayStartDrag if _isSelectionEvent returns YES since we only want to allow selection dragging on the first mouse down
12034        (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
12035
120362004-08-24  Ken Kocienda  <kocienda@apple.com>
12037
12038        Reviewed by Hyatt
12039
12040        Improved the checks used to see if certain operations can be done based
12041        on the state of the selection and whether the selection is editable. I
12042        added some helpers and improved some others to assist in making these
12043        determinations.
12044        
12045        This helps to fix this bug:
12046        <rdar://problem/3764987> Crash after adding newline to quoted text
12047        
12048        Since some editing methods expect the the selection to be in a certain state 
12049        in order to work, these checks help obviate crashes like 3764987.
12050
12051        * WebView.subproj/WebHTMLView.m:
12052        (-[WebHTMLView _writeSelectionToPasteboard:]): _haveSelection name changed to _hasSelection.
12053        (-[WebHTMLView _canCopy]): Checks to see if state is appropriate to perform this operation.
12054        (-[WebHTMLView _canCut]): Ditto. Function added.
12055        (-[WebHTMLView _canDelete]): Ditto. Function refined.
12056        (-[WebHTMLView _canPaste]): Ditto. Function refined.
12057        (-[WebHTMLView _canType]): Ditto. Function added.
12058        (-[WebHTMLView _hasSelection]): Name changed from _haveSelection.
12059        (-[WebHTMLView _hasSelectionOrInsertionPoint]): Added.
12060        (-[WebHTMLView _isEditable]): Added.
12061        (-[WebHTMLView takeFindStringFromSelection:]): _haveSelection name changed to _hasSelection.
12062        (-[WebHTMLView validateUserInterfaceItem:]): Ditto
12063        (-[WebHTMLView validRequestorForSendType:returnType:]): Ditto
12064        (-[WebHTMLView keyDown:]):
12065        (-[WebHTMLView copy:]): Uses new _canCopy check.
12066        (-[WebHTMLView cut:]): Uses new _canCut check.
12067        (-[WebHTMLView delete:]): Now uses _canDelete check.
12068        (-[WebHTMLView paste:]): Now uses _canPaste check.
12069        (-[WebHTMLView _updateFontPanel]): _haveSelection name changed to _hasSelection.
12070        * WebView.subproj/WebHTMLViewPrivate.h:
12071        * WebView.subproj/WebView.m:
12072        (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): Use selectionState check to
12073        determine whether or not operation can be done.
12074
120752004-08-24  Richard Williamson   <rjw@apple.com>
12076
12077        Fixed <rdar://problem/3770469> Some PDFs open with line of previous page above PDF view
12078	
12079        Set height resize flags on WebPDFView.
12080		
12081        Reviewed by Chris.
12082
12083        * WebView.subproj/WebPDFView.m:
12084        (-[WebPDFView initWithFrame:]):
12085
120862004-08-24  David Hyatt  <hyatt@apple.com>
12087
12088	Add Atom and RSS MIME types to set of supported XML types.
12089	
12090        Reviewed by rjw
12091
12092        * WebView.subproj/WebDataSource.m:
12093        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
12094        * WebView.subproj/WebFrameView.m:
12095        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
12096
120972004-08-23  Maciej Stachowiak  <mjs@apple.com>
12098
12099        Reviewed by Kevin.
12100
12101	- remove annoying ERROR spew and replace with comment
12102	
12103        * WebView.subproj/WebHTMLView.m:
12104        (-[WebHTMLView validAttributesForMarkedText]):
12105
121062004-08-23  Maciej Stachowiak  <mjs@apple.com>
12107
12108        Reviewed by Richard.
12109
12110	- a bit of code cleanup
12111
12112        * WebView.subproj/WebDataSource.m:
12113        (-[WebDataSource _stringWithData:]): Call textEncodingName instead of
12114	copying it's code.
12115        (-[WebDataSource textEncodingName]): Tweak formatting.
12116
121172004-08-23  Chris Blumenberg  <cblu@apple.com>
12118
12119	Fixed build.
12120
12121        * WebKit.pbproj/project.pbxproj: make sure we're doing -f on a file, not a directory
12122
121232004-08-23  Chris Blumenberg  <cblu@apple.com>
12124
12125	Fixed: <rdar://problem/3674867> use new Security framework SPI's to reenable cert acquisition
12126
12127        Reviewed by john.
12128
12129        * WebCoreSupport.subproj/WebKeyGeneration.cpp:
12130        * WebCoreSupport.subproj/WebKeyGeneration.h:
12131        * WebCoreSupport.subproj/WebKeyGenerator.h:
12132        * WebCoreSupport.subproj/WebKeyGenerator.m:
12133        (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): re-enabled cert code, call Panther version on Panther, Tiger version on Tiger
12134        (-[WebKeyGenerator addCertificatesToKeychainFromData:]): ditto
12135        * WebCoreSupport.subproj/WebNewKeyGeneration.c: Added.
12136        (gnrAddContextAttribute):
12137        (gnrGetSubjPubKey):
12138        (gnrNullAlgParams):
12139        (gnrSign):
12140        (gnrFreeCssmData):
12141        (nssArraySize):
12142        (signedPublicKeyAndChallengeString):
12143        (addCertificateToKeychainFromData):
12144        (addCertificatesToKeychainFromData):
12145        * WebCoreSupport.subproj/WebNewKeyGeneration.h: Added.
12146        * WebKit.pbproj/project.pbxproj:
12147
121482004-08-20  David Hyatt  <hyatt@apple.com>
12149
12150	Fix the directionality of the unicode hyphen so that on Panther it now matches Tiger.
12151	
12152        Reviewed by darin
12153
12154        * Misc.subproj/WebUnicode.m:
12155        (_unicodeDirection):
12156
121572004-08-20  Richard Williamson   <rjw@apple.com>
12158
12159	    Implemented new JNI abstraction.  We no longer invoke Java methods
12160	    directly with JNI, rather we call into the plugin.  This allows the
12161	    plugin to dispatch the call to the appropriate VM thread.  This
12162	    change should (will?) fix a whole class of threading related problems with
12163	    the Java VM.
12164
12165        Reviewed by Hyatt.
12166
12167        * WebCoreSupport.subproj/WebBridge.m:
12168        (-[WebBridge getAppletInView:]):
12169
121702004-08-20  Trey Matteson  <trey@apple.com>
12171
12172	3655407 - Editing: -complete: method unimplemented (WebKit editing API)
12173
12174	This feature is mostly implemented.  The only loose ends I know of are:
12175
12176	3769654 - text insertions done via complete: should preserve case of full replacement string
12177	3769652 - positioning of complete: popup window wrong for right-to-left languages
12178
12179        Reviewed by John
12180
12181        * WebView.subproj/WebHTMLView.m:
12182        (-[WebHTMLViewPrivate dealloc]):  Free new object.
12183        (-[WebHTMLView menuForEvent:]):  Bail on completion session.
12184        (-[WebHTMLView windowDidResignKey:]):  Ditto.
12185        (-[WebHTMLView windowWillClose:]):  Ditto.
12186        (-[WebHTMLView mouseDown:]):  Ditto.
12187        (-[WebHTMLView resignFirstResponder]):  Ditto.
12188        (-[WebHTMLView keyDown:]):  Bail on completion session if WebCore takes the event.
12189	Give the CompleteController a crack at the key event.
12190        (-[WebHTMLView _expandSelectionToGranularity:]):  Adopt method rename
12191        (-[WebHTMLView complete:]):  Make CompleteController, tell it to do its thing.
12192        (-[WebHTMLView checkSpelling:]):  Add ERROR().
12193        (-[WebHTMLView showGuessPanel:]): Add ERROR().
12194        (-[WebHTMLView _changeSpellingToWord:]): Add ERROR().
12195        (-[WebHTMLView ignoreSpelling:]): Add ERROR().
12196
12197        (-[WebTextCompleteController initWithHTMLView:]):
12198        (-[WebTextCompleteController dealloc]):
12199        (-[WebTextCompleteController _insertMatch:]): Stick the new string into the doc.
12200        (-[WebTextCompleteController _buildUI]):  Make popup window.
12201        (-[WebTextCompleteController _placePopupWindow:]):  Position popup window.
12202        (-[WebTextCompleteController doCompletion]):  Lookup matches, display window.
12203        (-[WebTextCompleteController endRevertingChange:moveLeft:]):  Bail on complete: session.
12204        (-[WebTextCompleteController filterKeyDown:]):  Process keys while popup is up.
12205        (-[WebTextCompleteController _reflectSelection]):  Handle choice in popup.
12206        (-[WebTextCompleteController tableAction:]):  Handle double click in popup
12207        (-[WebTextCompleteController numberOfRowsInTableView:]):  Fill table with matches.
12208        (-[WebTextCompleteController tableView:objectValueForTableColumn:row:]):  Ditto.
12209        (-[WebTextCompleteController tableViewSelectionDidChange:]):  Handle selection change.
12210        * WebView.subproj/WebHTMLViewInternal.h:
12211
122122004-08-20  John Sullivan  <sullivan@apple.com>
12213
12214        * English.lproj/StringsNotToBeLocalized.txt:
12215        checked this in; the only difference is that
12216        the strings were out of order.
12217
122182004-08-19  Richard Williamson   <rjw@apple.com>
12219
12220        Continue to call old pollForAppletInView: in Tiger until
12221        we get an plugin that supports the new API.
12222		
12223        Reviewed by Chris.
12224
12225        * WebCoreSupport.subproj/WebBridge.m:
12226        (-[WebBridge getAppletInView:]):
12227        * WebKit.pbproj/project.pbxproj:
12228
12229=== Safari-158 ===
12230
122312004-08-19  Chris Blumenberg  <cblu@apple.com>
12232
12233	Fixed typo in comment.
12234
12235        * Misc.subproj/WebIconDatabase.m:
12236        (-[WebIconDatabase _updateFileDatabase]):
12237
122382004-08-19  Chris Blumenberg  <cblu@apple.com>
12239
12240	Fixed: <rdar://problem/3566336> CrashTracer: .2403 crashes at com.apple.WebKit: -[WebFileDatabase performSetObject:forKey:] + 0x94
12241
12242        Reviewed by trey.
12243
12244        * Misc.subproj/WebIconDatabase.m:
12245        (-[WebIconDatabase _updateFileDatabase]): pass WebFileDatabase copies of the mutable dictionaries or else they may be accessed on a separate thread as the main thread is modifying them
12246
122472004-08-18  Richard Williamson   <rjw@apple.com>
12248
12249        Replace horrible pollForAppletInView: with new
12250        webPlugInGetApplet.  The details of how the applet instance
12251        is provided now belong to the Java team.  Yeh.
12252		
12253        Reviewed by Chris.
12254
12255        * WebCoreSupport.subproj/WebBridge.m:
12256        (-[WebBridge getAppletInView:]):
12257
122582004-08-17  Richard Williamson   <rjw@apple.com>
12259
12260        Fixed <rdar://problem/3759093> Need PDF context menu: "Open in Preview" or other external app
12261
12262        Added support for "Open with ..." in PDF view.
12263		
12264        Reviewed by Chris and Trey.
12265
12266        * ChangeLog:
12267        * English.lproj/Localizable.strings:
12268        * English.lproj/StringsNotToBeLocalized.txt:
12269        * WebView.subproj/WebPDFView.h:
12270        * WebView.subproj/WebPDFView.m:
12271        (-[WebPDFView initWithFrame:]):
12272        (-[WebPDFView dealloc]):
12273        (applicationInfoForMIMEType):
12274        (-[WebPDFView path]):
12275        (-[WebPDFView menuForEvent:]):
12276        (-[WebPDFView setDataSource:]):
12277        (-[WebPDFView layout]):
12278        (-[WebPDFView viewDidMoveToHostWindow]):
12279        (-[WebPDFView openWithFinder:]):
12280
122812004-08-17  Richard Williamson   <rjw@apple.com>
12282
12283        JNI needs both the jmethodID and return type.  Changed API to 
12284        pass both.
12285		
12286        Reviewed by Chris.
12287
12288        * Plugins.subproj/WebJavaPlugIn.h:
12289
122902004-08-17  Trey Matteson  <trey@apple.com>
12291
12292	3764147 - failure of subframe to load leaves links in parent doc broken
12293
12294        Reviewed by Maciej.
12295
12296        * WebView.subproj/WebDataSource.m:
12297        (-[WebDataSource _receivedMainResourceError:complete:]):
12298	Need to call [bridge end] in the case of an error, so WC can clean up.
12299
12300=== Safari-157 ===
12301
123022004-08-15  Richard Williamson   <rjw@apple.com>
12303
12304        More changes to np headers.
12305        
12306        Reviewed by Darin.
12307
12308        * Plugins.subproj/WebNetscapePluginPackage.m:
12309        (-[WebNetscapePluginPackage load]):
12310        * Plugins.subproj/npapi.h:
12311        * Plugins.subproj/npfunctions.h:
12312        * Plugins.subproj/npruntime.h:
12313
123142004-08-13  Darin Adler  <darin@apple.com>
12315
12316        Reviewed by Chris.
12317
12318        - fixed <rdar://problem/3760924> Carbon path passed in NPP_StreamAsFile must be in local character set, not UTF-8
12319
12320        * Plugins.subproj/WebBaseNetscapePluginStream.m:
12321        (CarbonPathFromPOSIXPath): Added. New function that uses the path pieces from an FSSpec.
12322        This has many advantages; the big one that fixes the bug is that it gives the mangled names
12323        that work even for files that have names that can't otherwise be encoded in Carbon-style
12324        path names. I didn't write this from scratch: I started with the method in Foundation
12325        and just changed it to use FSSpec.
12326        (-[WebBaseNetscapePluginStream destroyStream]): Remove code that used NSString and just call
12327        CarbonPathFromPOSIXPath instead.
12328
12329        * Plugins.subproj/npapi.h: The Revision tag wanted to touch this file.
12330        I think we are going to have some trouble with this; I'd like to take that out.
12331
12332        * English.lproj/StringsNotToBeLocalized.txt: Updated.
12333
123342004-08-12  Trey Matteson  <trey@apple.com>
12335
12336        3761329 - query result links all dead in ingrammicro.com (sometimes)
12337        3761328 - links in some docs dead when doc is loaded from WebArchive
12338
12339        Nasty problem.  It turns out that these result pages are a parent frame with two child
12340        frames.  One of the child frames is a 1 or 2 byte text document.  When the text child
12341        is the last doc to complete, because we use a Text rep instead of an HTMLRep, it turns
12342        out we never send [bridge end] from WebKit.  That mistake results in checkCompleted not
12343        being called enough in the part, and we never realize the load is done.  WebCore does
12344        not allow redirects to happen until the entire load is complete,  and  the links on this
12345        results page are actually little pieces of JS that set location to a generated URL.  Since
12346        redirects are not allowed these links all silently fail to do anything, and the doc never
12347        achieves a completed state where they will work.
12348
12349        Solution is to make sure we always call [bridge end] from the DataSource instead of only
12350        the HTML rep doing it.
12351
12352        Reviewed by Richard and Darin.
12353
12354        * WebView.subproj/WebDataSource.m:
12355        (-[WebDataSource _finishedLoading]):  Call [bridge end] here for all kinds of docs.
12356        * WebView.subproj/WebHTMLRepresentation.m:
12357        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):  Don't call is just for HTMLReps.
12358
123592004-08-12  Richard Williamson   <rjw@apple.com>
12360
12361        Bring npruntime.h and friends closer to compliance with
12362        latest spec.
12363
12364        Reviewed by Maciej.
12365
12366        * Plugins.subproj/npapi.h:
12367        * Plugins.subproj/npfunctions.h:
12368        * Plugins.subproj/npruntime.h:
12369        (_NPString::):
12370        (_NPString::_NPVariant::):
12371        * copy-webcore-files-to-webkit:
12372
123732004-08-12  Chris Blumenberg  <cblu@apple.com>
12374
12375	Fixed: <rdar://problem/3761097> should be able to option-drag selection so HTML can be copied within a page
12376
12377        Reviewed by rjw.
12378
12379        * WebView.subproj/WebHTMLView.m:
12380        (-[WebHTMLView _isMoveDrag]): new, take into account the option key
12381        (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call _isMoveDrag
12382        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): call _isMoveDrag
12383
123842004-08-12  Richard Williamson   <rjw@apple.com>
12385
12386        Quick fix for 3760903.  The real fix is described in 3760920.  Needed
12387        by Java plugin guys so they can be unblocked for feature freeze.
12388		
12389        Reviewed by Chris.
12390
12391        * WebView.subproj/WebFrame.m:
12392        (-[WebFrame _reloadForPluginChanges]):
12393        * WebView.subproj/WebHTMLView.m:
12394        (-[WebHTMLView addSubview:]):
12395
123962004-08-12  Chris Blumenberg  <cblu@apple.com>
12397
12398	Fixed: <rdar://problem/3760898> error pages in subframes attempt to load appledata URLs when reloaded
12399
12400        Reviewed by darin.
12401
12402        * WebView.subproj/WebFrame.m:
12403        (-[WebFrame _createItem:]): when setting the original URL of the history item, use the unreachable URL
12404
12405=== Safari-156 ===
12406
124072004-08-11  Adele Amchan  <adele@apple.com>
12408
12409        Reviewed by me, bug fix by Darin.
12410
12411        - fixed <rdar://problem/3736477> Pages don't load if hard drive is named with non-ASCII Symbol
12412
12413        * Plugins.subproj/WebBaseNetscapePluginStream.m:
12414        (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]):
12415        Use UTF8String instead of cString to convert the MIME type to a C string. Safer, since it can't
12416        ever fail due to encoding problems even though this string should always be ASCII.
12417        (-[WebBaseNetscapePluginStream destroyStream]): Use stringWithUTF8String to convert the path name
12418        to an NSString, since stringWithCString is deprecated (doesn't really matter since the path is always
12419        all ASCII). Fix the bug by calling fileSystemRepresentation on the NSString to turn it into a C
12420        string form. Even though the POSIX path can't have any non-ASCII characters in it, the Carbon path
12421        can, so we need to use this instead of cString which can fail depending on characters and encoding.
12422
124232004-08-09  Maciej Stachowiak  <mjs@apple.com>
12424
12425        Reviewed by Trey.
12426
12427	WebKit part of:
12428
12429	- made basic marked text highlighting work to complete basic level of <rdar://problem/3704359> input method support not yet implemented for HTML editing
12430
12431        * WebView.subproj/WebHTMLView.m:
12432        (-[WebHTMLView markedRange]): Use new bridge calls instead of internal marked range storage.
12433        (-[WebHTMLView hasMarkedText]): Likewise.
12434        (-[WebHTMLView unmarkText]): Likewise.
12435        (-[WebHTMLView _selectMarkedText]): Likewise.
12436        (-[WebHTMLView _selectRangeInMarkedText:]): Likewise.
12437        (-[WebHTMLView _selectionIsInsideMarkedText]): Likewise.
12438        (-[WebHTMLView _updateSelectionForInputManager]): Likewise.
12439        (-[WebHTMLView setMarkedText:selectedRange:]): Use direct bridge call instead
12440	of private _selectMarkedDOMRange: method, which would now be trivial.
12441        * WebView.subproj/WebHTMLViewInternal.h: Remove unneeded
12442
124432004-08-10  Darin Adler  <darin@apple.com>
12444
12445        Reviewed by Ken.
12446
12447        - change name of WebMakeCollectable to WebNSRetainCFRelease so it fits into the
12448          "NS and CF retain counts are separate" mental model, rather than the "think about
12449          how garbage collection works" one
12450
12451        * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Rename.
12452        * Misc.subproj/WebNSObjectExtras.h: (WebNSRetainCFRelease): Ditto.
12453        * Misc.subproj/WebNSURLExtras.m:
12454        (+[NSURL _web_URLWithData:relativeToURL:]): Ditto.
12455        (-[NSURL _web_URLWithLowercasedScheme]): Ditto.
12456
124572004-08-09  Trey Matteson  <trey@apple.com>
12458
12459	3756599 - REGRESSION: hit assertion in KWQPageState invalidate
12460
12461	By inspection I found a flaw in the recently added logic, although
12462	I have no steps to repro.  My theoretical explanation is that we would
12463	get two errors and go through _receivedMainResourceError: twice, which
12464	would cause the pageState to be invalidated twice, which is the only
12465	way I can see to hit the assert.
12466
12467        Reviewed by Darin
12468
12469        * WebView.subproj/WebFrame.m:
12470        (-[WebFrame _receivedMainResourceError:]):  Clear the pageState out
12471	of the history item after it's been invalidated by WebCore.
12472
124732004-08-09  Richard Williamson   <rjw@apple.com>
12474
12475        Inspired by Trey we have a much better approach for conditionally
12476        linking Quart.framework.  Instead of multiple targets we use 
12477        `` to invoke some inline script to extend COMMON_LDFLAGS as
12478        necessary.  Thanks Trey!
12479        
12480        Reviewed by Trey.
12481
12482        * WebKit.pbproj/project.pbxproj:
12483
124842004-08-09  Trey Matteson  <trey@apple.com>
12485
12486	Hookup UI for "Continuous Spelling" menu item.
12487
12488        Reviewed by Richard.
12489
12490        * WebView.subproj/WebView.m:
12491        (-[WebView validateUserInterfaceItem:]):  Enable and check the
12492	menu item to reflect our state.
12493        (-[WebView toggleContinuousSpellChecking:]):  Change type to
12494	IBAction, just cosmetic.
12495        * WebView.subproj/WebViewPrivate.h:
12496
124972004-08-08  Trey Matteson  <trey@apple.com>
12498
12499	3745023 - Safari crashes trying to access anchor while downloading
12500
12501	I bet this is behind a few other crashers as well.  In this bug the start of the
12502	download leaves a KWQPageState hanging around, and when that is freed it damages
12503	the part and view.  If you're still using that page, you're dead.
12504
12505	The fix is to properly invalidate the PageState when we receive an error before
12506	reaching WebFrameCommitted state.  Normally this happens when a page is reheated
12507	from the PageState, but in this case we never manage to leave the page to begin
12508	with, although we've already created the PageState.
12509
12510	Other errors besides the synthetic one download generates would have caused similar
12511	crashing.  Another example would be clicking on a second link before the load
12512	caused by clicking on the first link reached committed state.
12513
12514        Reviewed by Richard
12515
12516        * WebView.subproj/WebDataSource.m:
12517        (-[WebDataSource _receivedMainResourceError:complete:]):  Let the frame do the
12518	main work (since it has access to the pageCache state).  Also renamed to make
12519	it clear that this is about an error for the main resource.
12520        * WebView.subproj/WebDataSourcePrivate.h:
12521        * WebView.subproj/WebFrame.m:
12522        (-[WebFrame _receivedMainResourceError:]):  Let WC know about the failure, as
12523	the DataSource used to, but now pass the pageCache state along too.
12524        * WebView.subproj/WebFramePrivate.h:
12525        * WebView.subproj/WebMainResourceClient.m:
12526        (-[WebMainResourceClient receivedError:]):  Call renamed method.
12527        (-[WebMainResourceClient cancelWithError:]):  Ditto.
12528
125292004-08-08  Vicki Murley  <vicki@apple.com>
12530
12531        Reviewed by vicki (changes by rjw)
12532 
12533	- make "weak" linking with Quartz work with buildit
12534
12535        * WebKit.pbproj/project.pbxproj: 
12536
125372004-08-06  Ken Kocienda  <kocienda@apple.com>
12538
12539        Reviewed by Maciej
12540
12541        Finish off spellchecking support to HTML editing. Includes work to
12542        enable continuous spellchecking.
12543
12544        * WebCoreSupport.subproj/WebBridge.m:
12545        (-[WebBridge isContinuousSpellCheckingEnabled]): Simple bridge method.
12546        * WebCoreSupport.subproj/WebTextRenderer.m:
12547        (-[WebTextRenderer drawLineForMisspelling:withWidth:]): New method to add
12548        AppKit-style misspelling underline.
12549
12550=== Safari-155 ===
12551
125522004-08-05  Darin Adler  <darin@apple.com>
12553
12554        * WebView.subproj/WebHTMLView.m: Added a list of methods that NSTextView implements that we don't.
12555        All inside #if 0.
12556
125572004-08-05  Chris Blumenberg  <cblu@apple.com>
12558
12559        Fixed unnecessary import of NSURLFileTypeMappings.
12560
12561        * WebView.subproj/WebMainResourceClient.m:
12562
125632004-08-05  Richard Williamson   <rjw@apple.com>
12564
12565        Make builds conditionally include -framework Quartz.
12566		
12567        Reviewed by Chris.
12568
12569        * WebKit.pbproj/project.pbxproj:
12570
125712004-08-04  Darin Adler  <darin@apple.com>
12572
12573        - fixed broken Deployment build
12574
12575        * Carbon.subproj/HIWebView.m: (Click):
12576        Remove code that checks err variable before setting it.
12577
125782004-08-03  Richard Williamson   <rjw@apple.com>
12579
12580        First cut at dirt simple PDF support.  This feature
12581        depends on Quartz.framework (parent of PDFKit), which only exists
12582        on Tiger.  So, we "weak" link against Quartz.
12583		
12584        We do very basic PDF rendering.  Coming up are support for
12585        "Find..." and linearized PDF (incremental).  Linearized PDF 
12586        support will require API changes in PDFKit.
12587		
12588        No UI is added to Safari, yet.
12589		
12590        Reviewed by John.
12591
12592        * WebKit.pbproj/project.pbxproj:
12593        * WebView.subproj/WebDataSource.m:
12594        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
12595        * WebView.subproj/WebFrameView.m:
12596        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
12597        * WebView.subproj/WebPDFRepresentation.h: Added.
12598        * WebView.subproj/WebPDFRepresentation.m: Added.
12599        (-[WebPDFRepresentation finishedLoadingWithDataSource:]):
12600        (-[WebPDFRepresentation canProvideDocumentSource]):
12601        (-[WebPDFRepresentation documentSource]):
12602        (-[WebPDFRepresentation title]):
12603        * WebView.subproj/WebPDFView.h: Added.
12604        * WebView.subproj/WebPDFView.m: Added.
12605        (-[WebPDFView initWithFrame:]):
12606        (-[WebPDFView setDataSource:]):
12607        (-[WebPDFView dataSourceUpdated:]):
12608        (-[WebPDFView setNeedsLayout:]):
12609        (-[WebPDFView layout]):
12610        (-[WebPDFView viewWillMoveToHostWindow:]):
12611        (-[WebPDFView viewDidMoveToHostWindow]):
12612
12613        Copied fix from Jaguar carbon/cocoa work.
12614		
12615        Reviewed by Darin (Jaguar version)
12616
12617        * Carbon.subproj/CarbonWindowAdapter.h:
12618        * Carbon.subproj/CarbonWindowAdapter.m:
12619        (-[CarbonWindowAdapter relinquishFocus]):
12620        * Carbon.subproj/HIWebView.m:
12621        (Click):
12622        (OwningWindowChanged):
12623        (WindowHandler):
12624
126252004-08-03  David Hyatt  <hyatt@apple.com>
12626
12627	Add the text/xsl MIME type as one that can be displayed.
12628	
12629        Reviewed by john
12630
12631        * WebView.subproj/WebDataSource.m:
12632        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
12633        * WebView.subproj/WebFrameView.m:
12634        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
12635
126362004-08-03  Maciej Stachowiak  <mjs@apple.com>
12637
12638        Reviewed by Ken.
12639
12640	- implemented enough of the NSTextInput protocol and added the
12641	proper calls to NSInputManager to allow input methods to
12642	work. However, the text is not marked yet.
12643
12644        * WebView.subproj/WebHTMLViewInternal.h: Added new fields to track
12645	marked range.
12646        * WebView.subproj/WebHTMLView.m:
12647        (-[WebHTMLView markedRange]): Implemented
12648        (-[WebHTMLView conversationIdentifier]): Implemented
12649        (-[WebHTMLView hasMarkedText]): Implemented
12650        (-[WebHTMLView unmarkText]): Implemented
12651        (-[WebHTMLView setMarkedText:selectedRange:]): Implemented - does
12652	not yet handle attributes in attributed strings
12653        (-[WebHTMLView insertText:]): Modified to handle replacing or abandoning
12654	the marked text when set.
12655        (-[WebHTMLView _selectMarkedText]): new helper method, self-explanatory
12656        (-[WebHTMLView _setMarkedDOMRange:]): hitto.
12657        (-[WebHTMLView _selectRangeInMarkedText:]): ditto
12658        (-[WebHTMLView _discardMarkedText]): ditto
12659        (-[WebHTMLView _selectionIsInsideMarkedText]): ditto
12660        (-[WebHTMLView _updateSelectionForInputManager]): ditto
12661
12662	- did a bit of refactoring while I was in here.
12663
12664        * WebView.subproj/WebHTMLView.m:
12665        (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): added this new
12666	helper method to simplify the common case of calling the shouldInsertText: delegate
12667        (-[WebHTMLView pasteAsPlainText:]): use it
12668        (-[WebHTMLView insertTab:]): ditto
12669        (-[WebHTMLView insertNewline:]): ditto
12670        (-[WebHTMLView _changeWordCaseWithSelector:]): ditto
12671        (-[WebHTMLView _changeSpellingToWord:]): ditto
12672        (-[WebHTMLView _selectionChanged]): ditto
12673
126742004-08-03  Chris Blumenberg  <cblu@apple.com>
12675
12676	Fixed: <rdar://problem/3572737> Images not resizing at www.bmx-test.com (spoof nofix)
12677
12678        Reviewed by darin.
12679
12680        * WebCoreSupport.subproj/WebImageRendererFactory.m:
12681        (-[WebImageRendererFactory supportedMIMETypes]): hard code image/pjpeg to the list of image mime types that we can handle
12682
126832004-08-03  Darin Adler  <darin@apple.com>
12684
12685        Reviewed by Ken.
12686
12687        - fixed <rdar://problem/3740937> ER: A way to turn a DOMRange into text (equivalent of -innerText)
12688
12689        * DOM.subproj/DOMPrivate.h: Added.
12690        * WebKit.pbproj/project.pbxproj: Added DOMPrivate.h.
12691        * copy-webcore-files-to-webkit: Added DOMPrivate.h.
12692
126932004-08-02  John Sullivan  <sullivan@apple.com>
12694
12695        Reviewed by Darin.
12696
12697        WebKit part of fix for <rdar://problem/3631868> NSToolbar adoption: 
12698        Tab key should cycle around toolbar and page content
12699
12700        * WebView.subproj/WebHTMLView.m:
12701        removed overrides of nextKeyView and previousKeyView
12702        (-[WebHTMLView nextValidKeyView]):
12703        call super only if we can't move the focus within the frame hierarchy
12704        (-[WebHTMLView previousValidKeyView]):
12705        ditto
12706        * WebView.subproj/WebHTMLViewInternal.h:
12707        removed nextKeyViewAccessShouldMoveFocus ivar
12708
127092004-08-02  Ken Kocienda  <kocienda@apple.com>
12710
12711        Reviewed by John
12712
12713        Update name of firstResponderIsSelfOrDescendantView, adding _web_ prefix to this SPI call.
12714        
12715        Do some work to make caret blinking in newly-created editable WebView's that are 
12716        similar in structure to Blot more "automatic".
12717
12718        * Misc.subproj/WebNSViewExtras.h: Change name of firstResponderIsSelfOrDescendantView. Add _web_ prefix.
12719        * Misc.subproj/WebNSViewExtras.m:
12720        (-[NSView _web_firstResponderIsSelfOrDescendantView]): Name change.
12721        (-[NSView _web_firstResponderCausesFocusDisplay]): Adds an additional check for whether the view's
12722        is first responder. This helps to make the focus setting in viewDidMoveToWindow work right.
12723        * WebView.subproj/WebHTMLView.m:
12724        (-[WebHTMLView updateFocusDisplay]): Use _web_firstResponderCausesFocusDisplay now instead of 
12725        firstResponderIsSelfOrDescendantView.
12726        (-[WebHTMLView viewDidMoveToWindow]): Schedule call to updateFocusDisplay for the next crank of the
12727        run loop. The reason is that placing the caret in the just-installed view requires the HTML/XML 
12728        document to be available on the WebCore side, but it is not at the time this code is running. 
12729        However, it will be there on the next crank of the run loop. Doing this helps to make a 
12730        blinking caret appear in a new, empty window "automatic".
12731        (-[WebHTMLView performKeyEquivalent:]):  _web_firstResponderIsSelfOrDescendantView name change.
12732        * WebView.subproj/WebView.m:
12733        (-[WebView _performResponderOperation:with:]): _web_firstResponderIsSelfOrDescendantView name change.
12734
127352004-07-29  Maciej Stachowiak  <mjs@apple.com>
12736
12737        Reviewed by John.
12738
12739	Added stubbed-out versions of all the NSTextInput protocol
12740	methods, and put comments in places where we will need to call the
12741	input manager to make input methods work 100%.
12742	
12743        * WebCoreSupport.subproj/WebBridge.m:
12744        (-[WebBridge respondToChangedSelection]):
12745        * WebView.subproj/WebHTMLView.m:
12746        (-[WebHTMLView mouseDown:]):
12747        (-[WebHTMLView mouseDragged:]):
12748        (-[WebHTMLView mouseUp:]):
12749        (-[WebHTMLView _interceptEditingKeyEvent:]):
12750        (-[WebHTMLView keyDown:]):
12751        (-[WebHTMLView _selectionChanged]):
12752        (-[WebHTMLView _delegateDragSourceActionMask]):
12753        (-[WebHTMLView validAttributesForMarkedText]):
12754        (-[WebHTMLView characterIndexForPoint:]):
12755        (-[WebHTMLView firstRectForCharacterRange:]):
12756        (-[WebHTMLView selectedRange]):
12757        (-[WebHTMLView markedRange]):
12758        (-[WebHTMLView attributedSubstringFromRange:]):
12759        (-[WebHTMLView conversationIdentifier]):
12760        (-[WebHTMLView hasMarkedText]):
12761        (-[WebHTMLView unmarkText]):
12762        (-[WebHTMLView setMarkedText:selectedRange:]):
12763        (-[WebHTMLView doCommandBySelector:]):
12764        (-[WebHTMLView insertText:]):
12765        * WebView.subproj/WebHTMLViewInternal.h:
12766        * WebView.subproj/WebView.m:
12767
12768=== Safari-154 ===
12769
127702004-07-29  Darin Adler  <darin@apple.com>
12771
12772        Reviewed by Ken.
12773
12774        - fill in some unimplemented methods
12775
12776        * WebView.subproj/WebHTMLView.m:
12777        (-[WebHTMLView moveToBeginningOfDocument:]): Implement, using new document granularity.
12778        (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto.
12779        (-[WebHTMLView moveToBeginningOfParagraph:]): Implement, even though the underlying WebCore
12780        code is not yet implemented.
12781        (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto.
12782        (-[WebHTMLView moveToEndOfDocument:]): More of the same.
12783        (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto.
12784        (-[WebHTMLView moveToEndOfParagraph:]): More of the same.
12785        (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto.
12786        (-[WebHTMLView pageDown:]): Added comment describing desired behavior.
12787        (-[WebHTMLView pageUp:]): Ditto.
12788        (-[WebHTMLView copyFont:]): Ditto.
12789        (-[WebHTMLView pasteFont:]): Ditto.
12790        (-[WebHTMLView changeAttributes:]): Ditto.
12791        (-[WebHTMLView indent:]): Ditto.
12792
127932004-07-28  Chris Blumenberg  <cblu@apple.com>
12794
12795	Fixed: <rdar://problem/3737864> Can not download image from web by using drag and drop
12796
12797        Reviewed by john.
12798
12799        * Misc.subproj/WebNSPasteboardExtras.m:
12800        (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): On Tiger, to use NSFilesPromisePboardType with other pasteboard types, set the file types of the promise on the pasteboard as a property list instead of mucking with the NSFilePromiseDragSource class
12801
128022004-07-28  Maciej Stachowiak  <mjs@apple.com>
12803
12804        Reviewed by John.
12805
12806	- avoid triggering an assertion when using dead keys (like option-e)
12807
12808        * WebView.subproj/WebHTMLView.m:
12809        (-[WebHTMLView insertText:]): Don't pass zero-length strings to
12810	WebCore. Dead-key input seems to insert empty strings as a side
12811	effect.
12812
128132004-07-28  Trey Matteson  <trey@apple.com>
12814
12815	Spellchecking, Part I.  Basic spellcheck is working.  Spelling panel is hooked up.
12816
12817	At this point, no special marking of misspellings, no grammar check, no context
12818	menu integration, no "check continually" mode.
12819
12820        Reviewed by Ken.
12821
12822        * WebCoreSupport.subproj/WebBridge.m:
12823        (-[WebBridge spellCheckerDocumentTag]):  Typical bridge glue.
12824        * WebView.subproj/WebHTMLView.m:
12825        (-[WebHTMLView validateUserInterfaceItem:]):  Validate various spelling actions.
12826        (-[WebHTMLView checkSpelling:]):  Call WC for real work, update panel.
12827        (-[WebHTMLView showGuessPanel:]):  Show panel, call WC for real work.
12828        (-[WebHTMLView _changeSpellingToWord:]):  Apply correction to our doc.
12829        (-[WebHTMLView changeSpelling:]):  Simple pass through to above method.
12830        (-[WebHTMLView ignoreSpelling:]):  Tell checker to ignore the word.
12831        * WebView.subproj/WebView.m:
12832        (-[WebView _close]):  Call AK's closeSpellDocumentWithTag: for proper cleanup.
12833
128342004-07-27  John Sullivan  <sullivan@apple.com>
12835
12836        Reviewed by Trey.
12837        
12838        WebKit part of fix for <rdar://problem/3622268> Reload failed pages when a 
12839        network problem is corrected, inc. using Network Diagnostics
12840
12841        * WebView.subproj/WebFrame.m:
12842        (-[WebFrame reload]):
12843        This method did not handle unreachableURLs at all. The reason Safari's Reload
12844        did work with unreachableURLs was that Safari does "reloadObeyingLocationField"
12845        which never actually calls -[WebFrame reload]. Fixed by creating a fresh
12846        request for the previously-unreachable URL.
12847
128482004-07-26  Richard Williamson   <rjw@apple.com>
12849
12850        Fixed 3739737.  When setting the focus to a NSView, set the focus
12851        carbon focus to kControlIndicatorPart.  kControlIndicatorPart is a
12852        placeholder value for use to indicate that Cocoa has the focus.  
12853	
12854        Reviewed by Ken.
12855
12856        * Carbon.subproj/CarbonWindowAdapter.m:
12857        (-[CarbonWindowAdapter makeFirstResponder:]):
12858        * Carbon.subproj/HIWebView.m:
12859        (Click):
12860        (SetFocusPart):
12861
128622004-07-26  Chris Blumenberg  <cblu@apple.com>
12863
12864	Fixed: <rdar://problem/3689734> dragging to an editable WebView does not scroll document
12865
12866        Reviewed by rjw.
12867
12868        * WebView.subproj/WebView.m:
12869        (-[WebView documentViewAtWindowPoint:]): new, factored from draggingDocumentViewAtWindowPoint:
12870        (-[WebView _draggingDocumentViewAtWindowPoint:]): call documentViewAtWindowPoint:
12871        (-[WebView _autoscrollForDraggingInfo:timeDelta:]): forward call to the document view
12872        (-[WebView _shouldAutoscrollForDraggingInfo:]): ditto
12873
12874=== Safari-153 ===
12875
128762004-07-23  Ken Kocienda  <kocienda@apple.com>
12877
12878        Reviewed by Trey
12879
12880        Fix for this bug:
12881        
12882        <rdar://problem/3738920> Caret blinks in inactive window
12883
12884        As part of the fix, I cleaned up the way we handle special drawing that needs
12885        to be done in the HTML view that is first responder in the key window (e.g the
12886        drawing of text selection highlight and caret blinking).
12887
12888        * WebView.subproj/WebHTMLView.m:
12889        (-[WebHTMLView updateFocusDisplay]): New method that centralizes the changes
12890        we need to make when the first responder-ness of the view or key-ness of the
12891        window changes.
12892        (-[WebHTMLView viewDidMoveToWindow]): Call new updateFocusDisplay helper.
12893        (-[WebHTMLView windowDidBecomeKey:]): Ditto.
12894        (-[WebHTMLView windowDidResignKey:]): Ditto.
12895        (-[WebHTMLView becomeFirstResponder]): Ditto.
12896        (-[WebHTMLView resignFirstResponder]): Ditto.
12897
128982004-07-22  Darin Adler  <darin@apple.com>
12899
12900        * Plugins.subproj/npruntime.h: Update with new version from newer JavaScriptCore.
12901
129022004-07-21  Ken Kocienda  <kocienda@apple.com>
12903
12904        Reviewed by Trey
12905
12906        * WebCoreSupport.subproj/WebBridge.m: Remove interceptEditingKeyEvent
12907        bridge call over. This method of handling editing key events is now
12908        obsolete.
12909        * WebView.subproj/WebHTMLView.m:
12910        (-[WebHTMLView performKeyEquivalent:]): Send key event over to the 
12911        DOM if this view is or contains the first responder. This now
12912        happens unconditionally.
12913        (-[WebHTMLView keyDown:]): Send key event to the DOM, then see if
12914        the web view wants to interpret it an an editing key event. This
12915        is the new place to intercept key events for editing.
12916
129172004-07-21  Ken Kocienda  <kocienda@apple.com>
12918
12919        Reviewed by John
12920
12921        Add implementations for these methods. Formerly, they logged an error.
12922
12923        * WebView.subproj/WebHTMLView.m:
12924        (-[WebHTMLView moveToBeginningOfLine:]):
12925        (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]):
12926        (-[WebHTMLView moveToEndOfLine:]):
12927        (-[WebHTMLView moveToEndOfLineAndModifySelection:]):
12928
129292004-07-21  Ken Kocienda  <kocienda@apple.com>
12930
12931        Reviewed by John
12932
12933        Added some more handlers for standard Cocoa key bindings. 
12934        These are "secrets" of NSText, meaning they are not public API, but we choose to mimic.
12935
12936        * WebView.subproj/WebHTMLView.m:
12937        (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]):
12938        (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]):
12939        (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]):
12940        (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]):
12941        (-[WebHTMLView moveToEndOfLineAndModifySelection:]):
12942        (-[WebHTMLView moveToEndOfParagraph:]):
12943        (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]):
12944        * WebView.subproj/WebView.h: Add these declarations to the comment in the header listing
12945        the responder-like methods we support.
12946        * WebView.subproj/WebView.m:
12947        (-[WebView moveToBeginningOfParagraphAndModifySelection:]):
12948        (-[WebView moveToEndOfParagraphAndModifySelection:]):
12949        (-[WebView moveToBeginningOfLineAndModifySelection:]):
12950        (-[WebView moveToEndOfLineAndModifySelection:]):
12951        (-[WebView moveToBeginningOfDocumentAndModifySelection:]):
12952        (-[WebView moveToEndOfDocumentAndModifySelection:]):
12953
129542004-07-20  Ken Kocienda  <kocienda@apple.com>
12955
12956        Reviewed by Richard
12957
12958        * Misc.subproj/WebNSEventExtras.h: Added helper that returns whether
12959        a key event has a binding in the key binding manager.
12960        * Misc.subproj/WebNSEventExtras.m: 
12961        (-[NSEvent _web_keyBindingManagerHasBinding]): New helper mentioned above.
12962        * Plugins.subproj/npruntime.h:
12963        * WebView.subproj/WebHTMLView.m:
12964        (-[WebHTMLView performKeyEquivalent:]): Add a check of whether the key event 
12965        has a binding in the key binding manager. This works around the fact that
12966        NSResponder's interpretKeyEvents does not return a value telling whether
12967        or not the key was handled. This now makes it possible for us to trap
12968        modified key events we know we can handle (like those command-key + arrow events 
12969        used for text navigation), while letting all others pass.
12970
129712004-07-20  Chris Blumenberg  <cblu@apple.com>
12972
12973	Fixed:
12974	<rdar://problem/3580589> REGRESSION (1.1-1.2): can't open a new window for an image that has not loaded
12975	<rdar://problem/3612691> Missing image icons (blue ?) lack context menu
12976
12977        Reviewed by john.
12978
12979        * WebView.subproj/WebDefaultContextMenuDelegate.m:
12980        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): if there is no image, but there is an image URL, provide image context menu items besides "Copy Image" 
12981        * WebView.subproj/WebHTMLView.m:
12982        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): don't drag an image with an actual image
12983        (-[WebHTMLView _mayStartDragAtEventLocation:]): ditto
12984
129852004-07-20  Maciej Stachowiak  <mjs@apple.com>
12986
12987        Reviewed by Chris.
12988
12989	<rdar://problem/3721690> REGRESSION (125.7-148u) clicking on links at macosx.apple.com/Builds does not load new page in frame
12990	
12991        * Plugins.subproj/npruntime.h:
12992        * WebCoreSupport.subproj/WebBridge.m:
12993        (-[WebBridge canTargetLoadInFrame:]): Don't apply the restrictions to frames
12994	that are in the same window (Mozilla does this too).
12995
129962004-07-20  Richard Williamson   <rjw@apple.com>
12997
12998		Fix for 3728558.  Fixed the key event handling in the carbon/cocoa
12999		integration code.  This does not fix the arrow keys not working on
13000		initial focus problem also mentioned in the bug.
13001		
13002		Bumped the version of the NP function structures.
13003		
13004        Reviewed by John.
13005
13006        * Carbon.subproj/CarbonUtils.m:
13007        (WebInitForCarbon):
13008        (PoolCleaner):
13009        * Carbon.subproj/HIWebView.m:
13010        (OwningWindowChanged):
13011        (WindowHandler):
13012        * Plugins.subproj/npapi.h:
13013
130142004-07-20  Trey Matteson  <trey@apple.com>
13015
13016	3733698	REGRESSION: sometimes dragging photos on homepage.mac.com leads to an assertion
13017
13018	Relax an assertion, as we ran into a valid case where it's not true.
13019
13020        Reviewed by Chris.
13021
13022        * WebView.subproj/WebHTMLView.m:
13023        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
13024	Removing this assert allows for the oddball case of a drag gesture that
13025	starts on one element, but then the element is no longer there when
13026	the drag is about to start.
13027
130282004-07-20  Ken Kocienda  <kocienda@apple.com>
13029
13030        Reviewed by Hyatt
13031
13032        Fix for this bug:
13033        
13034        <rdar://problem/3707505> HTMLCompose: blinking cursor in both an address text field and the message body
13035
13036        * WebView.subproj/WebHTMLView.m:
13037        (-[WebHTMLView setCaretVisible:]): New helper. Calls over bridge to do the work.
13038        (-[WebHTMLView windowDidBecomeKey:]): This function cannot just assume that self is first responder
13039        (and do things like adjusting text background color and restoring focus rings). 
13040        First-responder-ness needs to be checked first. Now it is.
13041        (-[WebHTMLView windowDidResignKey:]): Ditto.
13042        (-[WebHTMLView becomeFirstResponder]): Call new helper to make caret visible.
13043        (-[WebHTMLView resignFirstResponder]): Call new helper to make caret invisible.
13044
130452004-07-12  Richard Williamson   <rjw@apple.com>
13046
13047        Fixed 3721917.  The RealPlayer plugin doesn't support the new 
13048        NPPVpluginScriptableNPObject variable passed to NPP_GetValue and
13049        incorrectly returns NPERR_NO_ERROR.  We interpret this to the
13050        mean the variable has been set.  The variable has not been set 
13051        and will consequently be uninitialized.
13052
13053        * Plugins.subproj/WebBaseNetscapePluginView.m:
13054        (-[WebBaseNetscapePluginView pluginScriptableObject]):
13055
130562004-07-19  Ken Kocienda  <kocienda@apple.com>
13057
13058        Reviewed by Richard
13059
13060        Fix for this bug:
13061        
13062        <rdar://problem/3707504> HTMLCompose: key events are stolen by Web(HTML)View
13063
13064        * Misc.subproj/WebNSViewExtras.h:
13065        * Misc.subproj/WebNSViewExtras.m:
13066        (-[NSView firstResponderIsSelfOrDescendantView]): New helper to 
13067        (-[WebHTMLView performKeyEquivalent:]): Do not pass key events through to the editing
13068        key handler unless the WebHTMLView is first responder or contains the first responder.
13069        This prevents the "stealing" of key events mentioned in the bug.
13070        * WebView.subproj/WebView.m:
13071        (-[WebView _performResponderOperation:with:]): Uses the new firstResponderIsSelfOrDescendantView
13072        helper. The code I replaced used the same logic as the new helper.
13073
13074=== Safari-152 ===
13075
130762004-07-12  Maciej Stachowiak  <mjs@apple.com>
13077
13078        Reviewed by Kevin.
13079
13080	<rdar://problem/3673988>: (REGRESSION(141-144): connection assertion failure at http://traffic.511.org/sfgate)
13081	
13082        * WebView.subproj/WebBaseResourceHandleDelegate.m:
13083        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
13084	Don't check connection consistency if this load got cancelled
13085	while finishing, because in this case we have cleared the
13086	connection field already. This can happen when a redirect fires
13087	from an onload handler.
13088
130892004-07-12  Maciej Stachowiak  <mjs@apple.com>
13090
13091        Reviewed by John.
13092
13093	<rdar://problem/3632570>: (REGRESSION: SocialText.net wiki keeps asking for auth, even though pages load)
13094
13095        * Misc.subproj/WebIconLoader.m:
13096        (-[WebIconLoader didReceiveAuthenticationChallenge:]): Ignore the challenge - we don't
13097	want an auth panel for favicons.
13098        (-[WebIconLoader didCancelAuthenticationChallenge:]): Ignore cancel, since we are ignoring
13099	the challenge.
13100
131012004-07-09  Chris Blumenberg  <cblu@apple.com>
13102	
13103	Allowed my change for 3715785 to compile on Jaguar.
13104
13105        Reviewed by kocienda.
13106
13107        * WebCoreSupport.subproj/WebBridge.m:
13108        (-[WebBridge canTargetLoadInFrame:]): don't use the DOM API since it doesn't exist on Jaguar, instead call the new domain method on the bridge
13109
131102004-07-09  Ken Kocienda  <kocienda@apple.com>
13111
13112        Reviewed by John
13113
13114        * Plugins.subproj/npruntime.h: Updated license to lawyer-approved 
13115        joint Apple-Mozilla BSD-style license.
13116
131172004-07-08  Chris Blumenberg  <cblu@apple.com>
13118
13119	Fixed: <rdar://problem/3720728> REGRESSION (125.8-146): Crash moving mouse over plugin at manray-photo.com
13120	
13121        Reviewed by john.
13122
13123        * Plugins.subproj/WebBaseNetscapePluginView.m:
13124        (-[WebBaseNetscapePluginView pluginScriptableObject]): don't call NPP_GetValue unless the plug-in implements it
13125
131262004-07-08  Chris Blumenberg  <cblu@apple.com>
13127
13128	Fixed: <rdar://problem/3706296> VIP: ifilm.com crashing reproducibly with Safari
13129
13130        Reviewed by kocienda.
13131
13132        * Plugins.subproj/WebNetscapePluginPackage.m:
13133        (-[WebNetscapePluginPackage launchRealPlayer]): don't release a NULL appURL
13134
131352004-07-08  Chris Blumenberg  <cblu@apple.com>
13136
13137	Fixed: <rdar://problem/3650140> reproducible assertion failure going to plugin page with JavaScript disabled
13138
13139        Reviewed by john.
13140
13141        * Plugins.subproj/WebBaseNetscapePluginView.m:
13142        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): don't call NPP_NewStream and other stream methods if there is no JS result to deliver. This is what Mozilla does.
13143        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Return NPERR_GENERIC_ERROR if JS is disabled. This is what Mozilla does.
13144
13145=== Safari-151 ===
13146
131472004-07-07  Trey Matteson  <trey@apple.com>
13148
13149	3719051 - Safari doesn't update form inputs when a page was refreshed by javascript window.location
13150	... and at least 5 other cases in Radar
13151
13152	Very similar problem to the Harvard PIN bug.  We need to be sure
13153	to not carry any state over when we are processing a client
13154	redirect, which reuses the same WebHistoryItem.
13155
13156        Reviewed by John.
13157
13158        * WebView.subproj/WebFrame.m:
13159        (-[WebFrame _transitionToCommitted:]):  Comment
13160        (-[WebFrame _opened]):  Clear form and scroll state on client redirect.
13161
131622004-07-06  Chris Blumenberg  <cblu@apple.com>
13163
13164	Fixed: <rdar://problem/3715785> multiple frame injection vulnerability reported by Secunia, affects almost all browsers
13165	
13166        Reviewed by john, trey, kocienda.
13167
13168        * WebCoreSupport.subproj/WebBridge.m:
13169        (-[WebBridge canTargetLoadInFrame:]): new method, return YES if the requesting frame is local, the target frame is an entire window or if the domain of the parent of the targeted frame equals this domain
13170        (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): call canTargetLoadInFrame: to make sure we can load the request
13171        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto
13172
131732004-07-06  John Sullivan  <sullivan@apple.com>
13174
13175        Reviewed by Trey.
13176
13177        - fixed <rdar://problem/3717147> folder icon used for error page in back/forward 
13178        menu when iTunes is not installed
13179
13180        * WebView.subproj/WebFrame.m:
13181        (-[WebFrame _transitionToCommitted:]):
13182        When displaying the error page for an unreachable URL, leave the requested URL
13183        in the WebHistoryItem; don't clobber it with a bogus one that represents the
13184        error page. This not only avoids the wrong-icon problem, but should also help
13185        in cases where an unreachable URL becomes reachable later on.
13186
131872004-07-06  Trey Matteson  <trey@apple.com>
13188
13189	3716053 - www.theage.com.au has extra back/forward items due to ads
13190
13191	The real change was in WebKit.  Here was are just renaming a method and folding
13192	all the WebFrameLoadTypeOnLoadEvent uses to be WebFrameLoadTypeInternal, since there
13193	was never any difference anyway.
13194
13195        Reviewed by Richard
13196
13197        * WebCoreSupport.subproj/WebBridge.m:
13198        (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):  rename part of the method.
13199        * WebView.subproj/WebFrame.m:  Nuke WebFrameLoadTypeOnLoadEvent.
13200        (-[WebFrame _transitionToCommitted:]):
13201        (-[WebFrame _checkLoadCompleteForThisFrame]):
13202        (-[WebFrame _loadItem:withLoadType:]):
13203        (-[WebFrame _itemForRestoringDocState]):
13204        * WebView.subproj/WebFramePrivate.h:
13205
132062004-07-06  Ken Kocienda  <kocienda@apple.com>
13207
13208        Reviewed by Trey
13209        
13210        Only register the editing delegate for those notifications for which it implements the callbacks.
13211
13212        * WebView.subproj/WebView.m:
13213        (-[WebView registerForEditingDelegateNotification:selector:]):
13214        (-[WebView setEditingDelegate:]):
13215
132162004-07-06  Trey Matteson  <trey@apple.com>
13217
13218	3294652 - Failed drag of links doesn't slide back
13219
13220	The only reason for this is that because of some hacks, we lie to
13221	AK about the drag image offset, which means we slide back to
13222	slightly the wrong place.  But it's very minor, so we should
13223	just fix it.
13224
13225        Reviewed by Ken.
13226
13227        * WebView.subproj/WebHTMLView.m:
13228        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
13229	Ask for slideback.
13230
132312004-07-02  Darin Adler  <darin@apple.com>
13232
13233        Reviewed by Dave.
13234
13235        - fixed problem where tabsToLinks and privateBrowsingEnabled did not work with non-
13236          standard WebPreferences objects
13237
13238        * WebView.subproj/WebPreferences.m:
13239        (-[WebPreferences _valueForKey:]): New helper.
13240        (-[WebPreferences _stringValueForKey:]): Use _valueForKey.
13241        (-[WebPreferences _integerValueForKey:]): Use _valueForKey.
13242        (-[WebPreferences _boolValueForKey:]): Use _valueForKey.
13243        (-[WebPreferences tabsToLinks]): Use _boolValueForKey; this is the bug fix.
13244        (-[WebPreferences privateBrowsingEnabled]): Ditto.
13245        (+[WebPreferences _setIBCreatorID:]): Use copy instead of retain for keeping an NSString.
13246
132472004-07-01  Trey Matteson  <trey@apple.com>
13248
13249	3556159 - Crashes in -[WebFrame(WebPrivate) _transitionToCommitted:] at www.mastercardbusiness.com
13250
13251	We know from the line number of the crash that it is due to [self parentFrame]==nil.
13252
13253	Looking at the HTML and that of the related bugs, they do special stuff with onload
13254	handlers.  It is no longer repro, presumably because the includes JS files changed,
13255	as the bugs only included the top level HTML.  I suspect that the problem is that the
13256	WebFrameLoadTypeOnLoadEvent case was added, and in some weird sequence specific to
13257	MasterCard, they hit a case where we would be in WebFrameLoadTypeOnLoadEvent mode but
13258	not have a parent frame.
13259
13260	So we guard in the code against hitting a nil parentFrame, and log an error just in
13261	case this ever crops up again and we can learn more about it.
13262
13263        Reviewed by Richard.
13264
13265        * WebView.subproj/WebFrame.m:
13266        (-[WebFrame _transitionToCommitted:]):  Guard against nil parentFrame.
13267
132682004-07-01  John Sullivan  <sullivan@apple.com>
13269
13270        Reviewed by Trey.
13271        
13272        - fixed these bugs:
13273        <rdar://problem/3709110> REGRESSION (Tiger): Pressing Tab key to move focus 
13274        onto links skips every other link
13275        <rdar://problem/3692576> focus ring is in odd place after clicking RSS button 
13276        with "Tab to links" enabled
13277        
13278        WebHTMLView has some trickery by which we advance the focused link when nextKeyView
13279        or previousKeyView is called within nextValidKeyView or previousValidKeyView. This
13280        broke in Tiger because AppKit now (sometimes at least) calls nextKeyView more than
13281        once within nextValidKeyView. Fixed 3709110 by making sure we only advance the focus 
13282        once within a call to nextValidKeyView or previousValidKeyView.
13283        
13284        Also, this same trickery didn't work right with hidden views. Fixed 3692576 by checking
13285        whether the view is hidden and bypassing the focus-moving trickery in that case.
13286
13287        * WebView.subproj/WebHTMLViewInternal.h:
13288        renamed inNextValidKeyView -> nextKeyViewAccessShouldMoveFocus
13289        
13290        * WebView.subproj/WebHTMLView.m:
13291        (-[WebHTMLView nextKeyView]):
13292        now clears nextKeyViewAccessShouldMoveFocus
13293        (-[WebHTMLView previousKeyView]):
13294        ditto
13295        (-[WebHTMLView nextValidKeyView]):
13296        now doesn't set focus-moving trigger ivar if view is hidden or has hidden ancestor
13297        (-[WebHTMLView previousValidKeyView]):
13298        ditto
13299
133002004-06-30  Trey Matteson  <trey@apple.com>
13301
13302	Dragging within a web view should be allowed to start when the window isn't key.
13303
13304	A few months ago, Chris made this work, but it relied on the fact that all dragging
13305	was done in WebKit.  When WebCore got involved in dragging, it was broken.  Now we
13306	have a new scheme that gets it working again that properly involves WebCore.
13307
13308	The general idea is that when AK asks us whether to accept the first mouse and do
13309	"delayed window ordering", we must consult WC to see if we might start a drag.  In
13310	addition, instead of these drags in non-active windows being started as a special
13311	case in WK, they go through the normal WK-WC drag machinery.  Finally to work in
13312	frames we have to drill to the deepest hit view in acceptsFirstMouse, because previous
13313	hacks to hitTest make the top-most WebHTMLView field all events for its view tree
13314	(which leads to it fielding all acceptFirstMouse messages too).
13315
13316        Reviewed by John.
13317
13318        * WebCoreSupport.subproj/WebBridge.m:
13319        (-[WebBridge mayStartDragAtEventLocation:]):  Glue change for new arg type.
13320        * WebView.subproj/WebHTMLView.m:
13321        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
13322	firstMouseDownEvent ivar is no longer needed.
13323        (-[WebHTMLView _mayStartDragAtEventLocation:]):  Receives a location instead of a drag
13324	event, since we need to do this work when we have no drag event.  This means the
13325	check of the delay for text dragging is moved down to WebCore.
13326        (-[WebHTMLView acceptsFirstMouse:]):  Respond based on whether we might do a drag.
13327	This includes drilling to the deepest view the event hits, whereas we used to only
13328	respond considering the topmost WebHTMLView.
13329        (-[WebHTMLView shouldDelayWindowOrderingForEvent:]):  Ditto.
13330        (-[WebHTMLView mouseDown:]):  Get rid of special case where some activating
13331	mouseDown events weren't sent to WC.  We need to go through the whole pipeline
13332	now to get a drag started properly.
13333        (-[WebHTMLView mouseDragged:]):  Ditto, let WC start the drag.
13334        (-[WebHTMLView mouseUp:]):  firstMouseDownEvent ivar is no longer needed.
13335        * WebView.subproj/WebHTMLViewInternal.h:
13336        * WebView.subproj/WebHTMLViewPrivate.h:
13337
133382004-06-25  Trey Matteson  <trey@apple.com>
13339
13340	Added new utility method.
13341
13342        Reviewed by John.
13343
13344        * WebView.subproj/WebFrame.m:
13345        (-[WebFrame _isDescendantOfFrame:]):   New code.
13346        * WebView.subproj/WebFramePrivate.h:
13347
133482004-06-24  Richard Williamson   <rjw@apple.com>
13349
13350		Fixed <rdar://problem/3710313>: CGContext not zeroed when WebImageRenderer is copied
13351		The context ivar of WebImageRenderer wasn't being nil when the object was copied.
13352
13353        Reviewed by Darin.
13354
13355        * WebCoreSupport.subproj/WebImageRenderer.m:
13356        (-[WebImageRenderer copyWithZone:]):
13357        (-[WebImageRenderer dealloc]):
13358        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
13359
133602004-06-24  Trey Matteson  <trey@apple.com>
13361
13362	3672725 - Assertion failure in URLCompletion code with particular set of bookmarks
13363
13364	Problem was caused by a URL with unescaped unicodes getting into
13365	the Bookmarks file, presumably from import from IE.  We now test
13366	for this case and convert the data on the way in as if it were
13367	user-entered.
13368
13369        Reviewed by John and Darin.
13370
13371        * History.subproj/WebHistoryItem.m:
13372        (-[WebHistoryItem initFromDictionaryRepresentation:]):
13373
133742004-06-24  Trey Matteson  <trey@apple.com>
13375
13376	3704950	drag image in DB ConfigBar has horizontal graphics turd	WebCore JavaScript
13377
13378	When we generate a drag image (or a selection image too, for that matter) we
13379	translate the CTM using a CG call.  Later, WebImageRenderer adjusts the pattern
13380	phase based on the CTM of the focused view, which doesn't include our translate.
13381	So we must inform WebKit about the additional phase adjustment.
13382
13383        Reviewed by Richard
13384
13385        * WebCoreSupport.subproj/WebGraphicsBridge.h:
13386        * WebCoreSupport.subproj/WebGraphicsBridge.m:
13387        (-[WebGraphicsBridge setAdditionalPatternPhase:]):  New trivial setter.
13388        (-[WebGraphicsBridge additionalPatternPhase]):      ...and getter.
13389        * WebCoreSupport.subproj/WebImageRenderer.m:
13390        (-[WebImageRenderer tileInRect:fromPoint:context:]):  Take any additional phase
13391	adjustment into account when setting phase.
13392
133932004-06-24  Trey Matteson  <trey@apple.com>
13394
13395	3693420 - onbeforecut and onbeforepaste need real implementaion
13396
13397        Reviewed by Chris.
13398
13399        * WebView.subproj/WebHTMLView.m:
13400        (-[WebHTMLView validateUserInterfaceItem:]):  Check with WebCore
13401	to see if cut, copy, paste should be enabled.
13402
134032004-06-24  John Sullivan  <sullivan@apple.com>
13404
13405        Reviewed by Darin.
13406        
13407        - fixed <rdar://problem/3706792> 8A161: Choosing text encoding for 
13408        error page opens finder window!?
13409
13410        * WebView.subproj/WebFrame.m:
13411        (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
13412        take unreachableURL into account
13413
134142004-06-23  Richard Williamson   <rjw@apple.com>
13415
13416	Implemented changes for latest npruntime.h.
13417	Made npruntime.h public.
13418		
13419        Reviewed by Chris.
13420
13421        * Plugins.subproj/WebBaseNetscapePluginView.h:
13422        * Plugins.subproj/WebBaseNetscapePluginView.m:
13423        (-[WebBaseNetscapePluginView pluginScriptableObject]):
13424        (-[WebBaseNetscapePluginView forceRedraw]):
13425        (-[WebBaseNetscapePluginView getVariable:value:]):
13426        * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
13427        * Plugins.subproj/WebNetscapePluginPackage.m:
13428        (-[WebNetscapePluginPackage load]):
13429        * Plugins.subproj/npapi.h:
13430        * Plugins.subproj/npapi.m:
13431        (NPN_GetValue):
13432        * Plugins.subproj/npfunctions.h:
13433        * Plugins.subproj/npruntime.h:
13434        * WebKit.pbproj/project.pbxproj:
13435
134362004-06-21  Darin Adler  <darin@apple.com>
13437
13438        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
13439
134402004-06-21  Chris Blumenberg  <cblu@apple.com>
13441
13442	Made WebKitErrorDescriptionPlugInCancelledConnection have its own description string
13443	(Not for software update branch)
13444
13445        Reviewed by john.
13446
13447        * English.lproj/Localizable.strings:
13448        * Misc.subproj/WebKitErrors.m:
13449
134502004-06-21  Chris Blumenberg  <cblu@apple.com>
13451
13452	Made WebKitErrorDescriptionPlugInCancelledConnection properly reuse an already localized string to avoid loc changes.
13453
13454        Reviewed by john.
13455
13456        * ChangeLog:
13457        * Misc.subproj/WebKitErrors.m:
13458
134592004-06-21  Chris Blumenberg  <cblu@apple.com>
13460
13461	Fixed: <rdar://problem/3701269> change in error handling behavior from 10.3.3 to 10.3.4 breaks unreleased Adobe PDF plug-in
13462
13463        Reviewed by john.
13464
13465        * Misc.subproj/WebKitErrors.m:
13466        (registerErrors): register string for WebKitErrorPlugInCancelledConnection
13467        * Misc.subproj/WebKitErrorsPrivate.h:
13468        * Plugins.subproj/WebBaseNetscapePluginStream.h:
13469        * Plugins.subproj/WebBaseNetscapePluginStream.m:
13470        (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): use renamed WEB_REASON_PLUGIN_CANCELLED constant
13471        (-[WebBaseNetscapePluginStream destroyStream]): ditto
13472        * Plugins.subproj/WebNetscapePluginRepresentation.m:
13473        (-[WebNetscapePluginRepresentation cancelWithReason:]): if the reason is WEB_REASON_PLUGIN_CANCELLED, cancel the load with WebKitErrorPlugInCancelledConnection
13474        * Plugins.subproj/WebNetscapePluginStream.m:
13475        (-[WebNetscapePluginStream cancelWithReason:]): ditto
13476
13477=== Safari-146 ===
13478
134792004-06-17  Richard Williamson   <rjw@apple.com>
13480
13481		Changed private headers to be pubic for npapi.h and npfunctions.h.  That
13482		API was approved but never marked as public in the project file.  This change does
13483		not make npruntime.h public, which contains the not yet approved changes
13484		for script-ability of netscape plugins.  Unfortunately, that API will not
13485		be public for WWDC.
13486				
13487        Reviewed by Chris.
13488
13489        * WebKit.pbproj/project.pbxproj:
13490
134912004-06-17  Trey Matteson  <trey@apple.com>
13492
13493	3698514 - coordinates in ondragstart and ondrag events are wrong
13494
13495	This part fixes the ondrag coords.  I thought Cocoa passed us the mouse location
13496	in draggedImage:movedTo:, but no, it's the position of the dragged image.
13497	WebCore needs the mouse location, so to calc that we must save away the
13498	offset of the mouse relative to the image when we kick off the drag.
13499
13500        Reviewed by Maciej.
13501
13502        * Misc.subproj/WebNSViewExtras.h:
13503        * Misc.subproj/WebNSViewExtras.m:
13504        (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): Add the ability
13505	to return the offset of the cursor wrt to the drag image, since this routine
13506	generates its own drag image and positions it.
13507        * WebView.subproj/WebHTMLView.m:
13508        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
13509	Calc the offset of the cursor wrt to the drag image in the myriad of ways
13510	that we kick off the drag.	
13511        (-[WebHTMLView draggedImage:movedTo:]):  Adjust the location by the
13512	offset we save when we kicked off the drag.
13513        (-[WebHTMLView draggedImage:endedAt:operation:]):  Ditto.
13514        * WebView.subproj/WebHTMLViewInternal.h:
13515        * WebView.subproj/WebImageView.m:
13516        (-[WebImageView mouseDragged:]):  Pass nil for new arg, we don't care.
13517
135182004-06-16  David Hyatt  <hyatt@apple.com>
13519
13520	In order to support truncation in Emerson, enhance pointToOffset so that it needn't include partial
13521	character glyphs (the left half of a glyph).
13522	
13523        Reviewed by mjs
13524
13525        * WebCoreSupport.subproj/WebTextRenderer.m:
13526        (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]):
13527        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
13528        (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
13529
13530=== Safari-145 ===
13531
135322004-06-16  Darin Adler  <darin@apple.com>
13533
13534        - fixed <rdar://problem/3696081> REGRESSION: <WebKit/CarbonUtils.h> doesn't build any more
13535
13536        Reviewed by Trey.
13537
13538        * Carbon.subproj/CarbonUtils.h: Fixed include. Need to include <ApplicationServices/ApplicationServices.h>
13539        to get CGImageRef; can't include an individual header.
13540
135412004-06-15  Richard Williamson   <rjw@apple.com>
13542
13543	Fixed <rdar://problem/3695875>: Objective-C instances that are exported to JavaScript are too promiscuous
13544	
13545	Flip the policy for exposing Objective-C methods and properties.
13546	
13547	Reviewed by Trey.
13548	
13549	* Plugins.subproj/WebPluginPackage.m:
13550	(+[NSObject isSelectorExcludedFromWebScript:]):  Just return YES.
13551	(+[NSObject isKeyExcludedFromWebScript:]):  Just return YES.
13552
135532004-06-15  Trey Matteson  <trey@apple.com>
13554
13555	3639321 - Harvard PIN authentication ends up sending PIN as clear text with POST action
13556
13557	When going back/forward to an item, if we went there originally via a POST, 
13558	we ask the user about rePOSTing, and if they say yes, we resend the POST. 
13559	This rePOST case is triggered by the form data that we saved on the b/f item.
13560	In the case of this bug, the overall navigation was accomplished by a POST,
13561	then a redirect, causing a GET.  When a load of type redirect achieves the Committed
13562	stage, we replace the current URL in the b/f item with the new URL (instead of
13563	adding a new item to the b/f list).
13564
13565	The bug is that at the same time we should also update the form data in
13566	the b/f item to match that of the new request.  I think this will normally
13567	mean nil'ing it out, unless there's some way for the result of the redirect
13568	to be another POST.
13569 
13570	The security leak occurred because we did not clear the form data on the item,
13571	so when going back or forward to the page, we would go into the rePOSTing code,
13572	even though we eventually reached that page via a GET (caused by the redirect).
13573	So we would do a POST to the redirect URL containing the private data sent in
13574	the original POST.
13575
13576        Reviewed by mjs and rjw.
13577
13578        * History.subproj/WebHistoryItem.m:
13579        (-[WebHistoryItem _setFormInfoFromRequest:]):  New method, just wraps 3 old set methods.
13580        (-[WebHistoryItem formData]):  Diff being dumb, no change.
13581        (-[WebHistoryItem formContentType]):  Ditto
13582        (-[WebHistoryItem formReferrer]): Ditto
13583        * History.subproj/WebHistoryItemPrivate.h:
13584        * WebView.subproj/WebFrame.m:
13585        (-[WebFrame _createItem:]):  Call new WebHistoryItem method - no change in real behavior
13586        (-[WebFrame _transitionToCommitted:]):  Clear out the form data at the key time, to fix the bug.
13587
135882004-06-15  Chris Blumenberg  <cblu@apple.com>
13589
13590	Fixed: <rdar://problem/3695724> WebKit plug-ins should only have to implement plugInViewWithArguments:
13591
13592        Reviewed by rjw.
13593
13594        * ChangeLog:
13595        * Plugins.subproj/WebPluginViewFactory.h: mention that plugInViewWithArguments is required
13596        * WebView.subproj/WebFrame.m:
13597        (-[WebFrame _reloadForPluginChanges]): check for plugInViewWithArguments: not webPlugInInitialize
13598        * WebView.subproj/WebHTMLView.m:
13599        (-[WebHTMLView addSubview:]): ditto
13600
136012004-06-15  Trey Matteson  <trey@apple.com>
13602
13603	3695240 - pasting plain text with newlines in it turns them into spaces
13604
13605	Easy fix, we just need to consume the incoming data as text instead of markup.
13606
13607        Reviewed by John and Darin.
13608
13609        * WebView.subproj/WebHTMLView.m:
13610        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]):
13611
136122004-06-15  Darin Adler  <darin@apple.com>
13613
13614        - fixed crash introduced by my earlier change
13615
13616        * WebCoreSupport.subproj/WebImageRenderer.m:
13617        (-[WebImageContext dealloc]): Set _cgsContext to 0 before calling super as before.
13618        (-[WebImageContext finalize]): Ditto.
13619
136202004-06-14  Darin Adler  <darin@apple.com>
13621
13622        Reviewed by Maciej.
13623
13624        - fixed some things for GC that Patrick missed, or that happened after the branch
13625
13626        * Carbon.subproj/HIWebView.m:
13627        (HIWebViewConstructor): Use CFRetain instead of retain.
13628        (HIWebViewDestructor): Use CFRelease instead of release.
13629        * Misc.subproj/WebFileDatabase.m:
13630        (-[WebFileDatabase initWithPath:]): Use release instead of dealloc.
13631        * WebCoreSupport.subproj/WebImageRenderer.m:
13632        (-[WebImageContext finalize]): Had [super dealloc] here by mistake; change to [super finalize].
13633        * WebCoreSupport.subproj/WebTextRenderer.m:
13634        (-[WebTextRenderer finalize]): Added.
13635        * WebView.subproj/WebDebugDOMNode.m:
13636        (-[WebDebugDOMNode initWithWebFrameView:]): Use release instead of dealloc.
13637        * WebView.subproj/WebRenderNode.m:
13638        (-[WebRenderNode initWithWebFrameView:]): Use release instead of dealloc.
13639
136402004-06-15  Trey Matteson  <trey@apple.com>
13641
13642	Fix ASSERT/crash we get sometimes when dragging link images.  Turns
13643	out there was an uninitialized variable for the image size,
13644	so at random we would try to create huge images that could not
13645	be focused.
13646	
13647        Reviewed by Maciej and Darin.
13648
13649        * WebView.subproj/WebHTMLView.m:
13650        (-[WebHTMLView _dragImageForLinkElement:]):  Trivial fix to
13651	not use += with uninited variable.
13652
136532004-06-14  Darin Adler  <darin@apple.com>
13654
13655        Reviewed by me, code changes by Patrick Beard.
13656
13657        - fixed <rdar://problem/3671507>: (WebKit should adopt GC changes and compile with GC enabled)
13658
13659        * WebKit.pbproj/project.pbxproj: Added WebNSObjectExtras.h.
13660        * Misc.subproj/WebNSObjectExtras.h: Added. Includes WebMakeCollectable, a cover for
13661        CFMakeCollectable that returns type id, for less casting, and works on Panther as well
13662        as Tiger. Also declares finalize in NSObject so we can call super without warnings on Panther.
13663
13664        * Carbon.subproj/CarbonWindowAdapter.m: Fixed header and includes a bit.
13665        (-[CarbonWindowAdapter finalize]): Added.
13666        * History.subproj/WebBackForwardList.m:
13667        (-[WebBackForwardList dealloc]): Got count outside loop.
13668        (-[WebBackForwardList finalize]): Added.
13669        * History.subproj/WebHistoryItem.m:
13670        (-[WebHistoryItem finalize]): Added.
13671        * Misc.subproj/WebFileDatabase.m:
13672        (-[WebFileDatabase _createLRUList:]): Use release on Panther, drain on Tiger.
13673        (+[WebFileDatabase _syncLoop:]): Ditto.
13674        (-[WebFileDatabase dealloc]): Removed, since we never deallocate objects of this class, and
13675        the method was untested.
13676        * Misc.subproj/WebKitErrors.m: (registerErrors): Use release on Panther, drain on Tiger.
13677        * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use
13678        WebMakeCollectable. Also fixed indenting.
13679        * Misc.subproj/WebNSURLExtras.m:
13680        (+[NSURL _web_URLWithData:relativeToURL:]): Use WebMakeCollectable.
13681        (-[NSURL _web_URLWithLowercasedScheme]): Use WebMakeCollectable.
13682        (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Change code to use CFRelease
13683        to balance CFURLCreateStringByReplacingPercentEscapes CFString creation, not release.
13684        * Plugins.subproj/WebBaseNetscapePluginStream.m:
13685        (-[WebBaseNetscapePluginStream finalize]): Added.
13686        * Plugins.subproj/WebBaseNetscapePluginView.m:
13687        (-[WebBaseNetscapePluginView freeAttributeKeysAndValues]): Added. Shared code for dealloc and finalize.
13688        (-[WebBaseNetscapePluginView dealloc]): Call freeAttributeKeysAndValues.
13689        (-[WebBaseNetscapePluginView finalize]): Added.
13690        (-[WebBaseNetscapePluginView requestWithURLCString:]): Changed so that CFString objects are
13691        released with CFRelease, not release.
13692        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Fixed storage leak in
13693        error case. Made sure CFString object is released with CFRelease, not release.
13694        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
13695        Another CFString that needed to a CFRelease, not a release.
13696        (-[WebBaseNetscapePluginView status:]): Ditto.
13697        * Plugins.subproj/WebBasePluginPackage.m:
13698        (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Changed code to
13699        CFRelease a CFURLRef, instead of release.
13700        (-[WebBasePluginPackage finalize]): Added.
13701        * WebCoreSupport.subproj/WebBridge.m:
13702        (-[WebBridge fini]): Added. Shared code for dealloc and finalize.
13703        (-[WebBridge dealloc]): Call fini.
13704        (-[WebBridge finalize]): Added.
13705        * WebCoreSupport.subproj/WebGlyphBuffer.m:
13706        (-[WebGlyphBuffer finalize]): Added.
13707        * WebCoreSupport.subproj/WebImageRenderer.m:
13708        (-[WebImageContext initWithBounds:context:]): Use CGContextRetain to avoid cast.
13709        (-[WebImageContext dealloc]): Tweaked.
13710        (-[WebImageContext finalize]): Added.
13711        (-[WebImageRenderer finalize]): Added.
13712        (-[WebPDFDocument finalize]): Added.
13713        * WebView.subproj/WebDataProtocol.m:
13714        (+[NSURL _web_uniqueWebDataURL]): Changed so that CFString object is released with
13715        CFRelease, not release.
13716        * WebView.subproj/WebDataSource.m:
13717        (-[WebDataSourcePrivate dealloc]): Took non-release work out of here.
13718        (-[WebDataSource dealloc]): Moved it here.
13719        (-[WebDataSource finalize]): Added.
13720        (-[WebDataSource isLoading]): Use release on Panther, drain on Tiger.
13721        * WebView.subproj/WebFrame.m:
13722        (-[WebFramePrivate dealloc]): Took non-release work out of here.
13723        (-[WebFrame dealloc]): Moved it here.
13724        (-[WebFrame finalize]): Added.
13725        * WebView.subproj/WebFrameView.m:
13726        (-[WebFrameView finalize]): Added.
13727        * WebView.subproj/WebHTMLRepresentation.m:
13728        (-[WebHTMLRepresentation finalize]): Added.
13729        * WebView.subproj/WebHTMLView.m:
13730        (-[WebHTMLViewPrivate dealloc]): Moved non-release work out of here.
13731        (-[WebHTMLView dealloc]): Moved it here.
13732        (-[WebHTMLView finalize]): Added.
13733        * WebView.subproj/WebImageView.m:
13734        (-[WebImageView finalize]): Added.
13735        * WebView.subproj/WebMainResourceClient.m:
13736        (-[WebMainResourceClient finalize]): Added.
13737        * WebView.subproj/WebTextView.m:
13738        (-[WebTextView finalize]): Added.
13739        * WebView.subproj/WebView.m:
13740        (-[WebView finalize]): Added.
13741
137422004-06-14  Ken Kocienda  <kocienda@apple.com>
13743
13744        Reviewed by Darin
13745        
13746        Fix for this bug:
13747        
13748        <rdar://problem/3693202> WebView.h header unnecessarily lists NSResponder methods it overrides
13749
13750        * WebView.subproj/WebView.h: NSResponder overrides now gathered in a comment section.
13751
137522004-06-13  Trey Matteson  <trey@apple.com>
13753
13754	Support for DHTML cut/copy/paste.
13755
13756        Reviewed by Chris
13757
13758        * WebView.subproj/WebHTMLView.m:
13759        (-[WebHTMLView copy:]):  Give DHTML first crack at executing the command.
13760        (-[WebHTMLView cut:]):  Ditto
13761        (-[WebHTMLView paste:]):  Ditto
13762
137632004-06-14  Chris Blumenberg  <cblu@apple.com>
13764
13765	Fixed: <rdar://problem/3674456> make new drag & drop API compatible with DHTML dragging
13766
13767        Reviewed by trey.
13768
13769        * WebView.subproj/WebHTMLView.m:
13770        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): tweak
13771        * WebView.subproj/WebUIDelegate.h: removed old, added new methods
13772        * WebView.subproj/WebUIDelegatePrivate.h: moved new methods to public header
13773        * WebView.subproj/WebView.h: removed old, added new methods
13774        * WebView.subproj/WebView.m: moved methods around
13775        (-[WebView moveDragCaretToPoint:]): moved
13776        (-[WebView removeDragCaret]): moved
13777        (-[WebView _bridgeAtPoint:]): moved
13778        (-[WebView editableDOMRangeForPoint:]): moved
13779        * WebView.subproj/WebViewInternal.h: add new internal method
13780        * WebView.subproj/WebViewPrivate.h: moved new methods to public header
13781
137822004-06-14  Trey Matteson  <trey@apple.com>
13783
13784	Use a different hack, as recommended by Kristin, to force the drag
13785	manager to exit a modal event wait it is in.  The hack is required
13786	to update the drag image on the fly.  Instead of posting a CG
13787	event we post at the AppKit level.
13788
13789        Reviewed by Louch
13790
13791        * WebCoreSupport.subproj/WebGraphicsBridge.m:
13792        (-[WebGraphicsBridge setDraggingImage:at:]):
13793
137942004-06-14  Chris Blumenberg  <cblu@apple.com>
13795
13796	Fixed:
13797	<rdar://problem/3692668> REGRESSION: delay when images and links
13798	<rdar://problem/3692675> links should drag when dragging images that are links when drag source action is WebDragSourceActionLink
13799
13800        Reviewed by trey.
13801
13802        * WebView.subproj/WebHTMLView.m:
13803        (-[WebHTMLView _mayStartDragWithMouseDragged:]): cleaned up, only use selection delay for selections, allow links to be dragged when image dragging is disabled 
13804
138052004-06-12  Trey Matteson  <trey@apple.com>
13806
13807	Small rearrangement to support dynamic changing of the drag
13808	image during DHTML dragging.
13809
13810        Reviewed by John
13811
13812        * WebCoreSupport.subproj/WebBridge.m:  Bridge glue moved to WebGraphicsBridge.
13813        * WebCoreSupport.subproj/WebGraphicsBridge.m:
13814        (FlipImageSpec):  Code moved from WebHTMLView.m.
13815        (-[WebGraphicsBridge setDraggingImage:at:]):  Ditto.  Plus, we've added a gross
13816	event posting hack to force CG drag manager to update the display when we set
13817	the drag image.
13818        * WebView.subproj/WebHTMLView.m:  Code moved to WebGraphicsBridge.
13819        * WebView.subproj/WebHTMLViewPrivate.h:
13820
138212004-06-11  Chris Blumenberg  <cblu@apple.com>
13822
13823	Implemented the remainder of the drag & drop API.
13824
13825        Reviewed by trey.
13826
13827        * Misc.subproj/WebNSPasteboardExtras.h:
13828        * Misc.subproj/WebNSPasteboardExtras.m:
13829        (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): new
13830        * Misc.subproj/WebNSViewExtras.h:
13831        * Misc.subproj/WebNSViewExtras.m:
13832        (-[NSView _web_dragImage:rect:event:pasteboard:source:]): simplified, this method now just creates a drag image and starts the drag
13833        * WebCoreSupport.subproj/WebBridge.m:
13834        (-[WebBridge allowDHTMLDrag:UADrag:]): now calls _delegateDragSourceActionMask on WebHTMLView to interact with the delegate
13835        * WebView.subproj/WebDefaultUIDelegate.m:
13836        * WebView.subproj/WebHTMLView.m:
13837        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call new delegate method, cleaned-up a little
13838        (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call drag caret methods on WebView instead of WebBridge so WebView can make sure only 1 HTML view has a drag cursor
13839        (-[WebHTMLView draggingCancelledWithDraggingInfo:]): ditto
13840        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
13841        (-[WebHTMLView _delegateDragSourceActionMask]): new, gets drag source action mask from delegate
13842        * WebView.subproj/WebHTMLViewInternal.h:
13843        * WebView.subproj/WebImageView.h:
13844        * WebView.subproj/WebImageView.m:
13845        (-[WebImageView mouseDown:]): get the drag source action mask from the delegate
13846        (-[WebImageView mouseDragged:]): inform the delegate of the drag
13847        * WebView.subproj/WebView.m:
13848        (-[WebViewPrivate dealloc]): assert that dragCursorBridge is nil
13849        (-[WebView _close]): release dragCursorBridge
13850        (-[WebView _bridgeAtPoint:]): new
13851        (-[WebView editableDOMRangeForPoint:]): new API
13852        (-[WebView moveDragCaretToPoint:]): new API
13853        (-[WebView removeDragCaret]): new API
13854        (-[WebView _frameViewAtWindowPoint:]): moved so this can be called internally
13855        * WebView.subproj/WebViewInternal.h:
13856        * WebView.subproj/WebViewPrivate.h:
13857
138582004-07-10  Trey Matteson  <trey@apple.com>
13859
13860	Prep work for latest delegate API for dragging.  In addition, I also straightened out all
13861	the cases of DHTML setting a drag image or setting pasteboard data, and how that would
13862	override WebKit's default behavior (which follows how WinIE does things).
13863
13864        Reviewed by Chris.
13865
13866        * Misc.subproj/WebNSViewExtras.h:
13867        * Misc.subproj/WebNSViewExtras.m:
13868        (-[NSView _web_dragImage:archive:rect:URL:title:event:dragImage:dragLocation:writePasteboard:]):
13869	New args to allow WebCore override of dragImage and pasteboard data.
13870        * WebCoreSupport.subproj/WebBridge.m:
13871        (-[WebBridge allowDHTMLDrag:UADrag:]):  New method to return the drag action info to WC.
13872        (-[WebBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
13873	Pass along new args.
13874        * WebView.subproj/WebHTMLView.m:
13875        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
13876	Allow WebCore to override drag image and pasteboard data for any type of drag.
13877        (-[WebHTMLView mouseDragged:]):  Pass NO for new args.
13878        * WebView.subproj/WebHTMLViewPrivate.h:
13879        * WebView.subproj/WebImageView.m:
13880        (-[WebImageView mouseDragged:]):  Pass NO/nil for new args.
13881
13882=== Safari-144 ===
13883
138842004-06-10  Kevin Decker  <kdecker@apple.com>
13885
13886        Reviewed by John.
13887
13888        * WebView.subproj/WebResource.m:
13889        (-[WebResource description]):
13890            -added per request of cblu
13891        (-[WebResource _response]):
13892            -added this method to the header
13893        (-[WebResource _stringValue]):
13894            - gives the string value of the NSData representation
13895        * WebView.subproj/WebResourcePrivate.h:
13896
138972004-06-10  Darin Adler  <darin@apple.com>
13898
13899        Reviewed by Ken.
13900
13901        * WebCoreSupport.subproj/WebBridge.m: Removed undo-related methods.
13902        (-[WebBridge undoManager]): Added.
13903
13904        * WebKit.pbproj/.cvsignore: Updated for new Xcode files.
13905
139062004-06-09  Ken Kocienda  <kocienda@apple.com>
13907
13908        Reviewed by Darin
13909
13910        Fix for this bug:
13911        
13912        <rdar://problem/3672088>: "Editable WebViews should maintain a selection even when they're not firstResponder"
13913
13914        Add some code to determine whether a WebHTMLView should maintain an
13915        inactive selection when the view is not first responder. Traditionally,
13916        these views have not maintained such selections, clearing them when the
13917        view was not first responder. However, for appls embedding this view as
13918        an editing widget, it is desirable to act more like an NSTextView. For
13919        now, however, the view only acts in this way when the web view is set to
13920        be editable with -[WebView setEditable:YES]. This will maintain
13921        traditional behavior for WebKit clients dating back to before this
13922        change, and will likely be a decent switch for the long term, since
13923        clients to ste the web view to be editable probably want it to act like
13924        a "regular" Cocoa view in terms of its selection behavior.
13925
13926        * WebView.subproj/WebHTMLView.m:
13927        (-[WebHTMLView updateTextBackgroundColor]): Add code to tell whether the view is resigning first responder,
13928        and if it is, use the inactive text background color.
13929        (-[WebHTMLView maintainsInactiveSelection]): New helper which does checks to see if the new selection
13930        behavior should be used, or whether we should continue with traditional WebKit behavior.
13931        (-[WebHTMLView resignFirstResponder]): Call new maintainsInactiveSelection helper. If true,
13932        do not clear the selection.
13933        * WebView.subproj/WebHTMLViewInternal.h: Add resigningFirstResponder flag.
13934
139352004-06-09  Chris Blumenberg  <cblu@apple.com>
13936
13937	Implemented drag destination portion of the new drag & drop API.
13938
13939        Reviewed by trey.
13940
13941        * WebView.subproj/WebDefaultUIDelegate.m:
13942        (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]): new delegate implementation
13943        (-[WebDefaultUIDelegate webView:willPerformDragDestinationAction:forDraggingInfo:]): ditto
13944        * WebView.subproj/WebDocumentInternal.h:
13945        * WebView.subproj/WebHTMLView.m:
13946        (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): handle the action mask
13947        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
13948        * WebView.subproj/WebUIDelegate.h:
13949        * WebView.subproj/WebUIDelegatePrivate.h:
13950        * WebView.subproj/WebView.m:
13951        (-[WebView _dragOperationForDraggingInfo:]): call new delegate methods
13952        (-[WebView performDragOperation:]): ditto
13953        * WebView.subproj/WebViewInternal.h:
13954        * WebView.subproj/WebViewPrivate.h:
13955
139562004-06-09  Richard Williamson   <rjw@apple.com>
13957
13958        Implemented PDF rendering for the drawImage() function
13959        in Context2D.  This allows PDF files to be drawn in scaled
13960        or rotated context without rasterization artifacts.
13961        
13962        The PDF image is currently NOT cached.  Caching can/will be added
13963        as an optimization.  The hooks are already in place to flush
13964        the cache as necessary.
13965        
13966        Reviewed by John.
13967
13968        * WebCoreSupport.subproj/WebImageRenderer.h:
13969        * WebCoreSupport.subproj/WebImageRenderer.m:
13970        (-[WebImageRenderer dealloc]):
13971        (-[WebImageRenderer _needsRasterFlush]):
13972        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
13973        (-[WebImageRenderer _PDFDocumentRef]):
13974        (-[WebImageRenderer _PDFDraw]):
13975        (-[WebImageRenderer _PDFDrawFromRect:toRect:operation:alpha:flipped:]):
13976        (-[WebImageRenderer MIMEType]):
13977        (ReleasePDFDocumentData):
13978        (-[WebPDFDocument initWithData:]):
13979        (-[WebPDFDocument dealloc]):
13980        (-[WebPDFDocument documentRef]):
13981        (-[WebPDFDocument mediaBox]):
13982        (-[WebPDFDocument bounds]):
13983        (-[WebPDFDocument adjustCTM:]):
13984        (-[WebPDFDocument setCurrentPage:]):
13985        (-[WebPDFDocument currentPage]):
13986        (-[WebPDFDocument pageCount]):
13987
13988        Added back check for old plugin API.
13989        
13990        * WebView.subproj/WebFrame.m:
13991        (-[WebFrame _reloadForPluginChanges]):
13992        * WebView.subproj/WebHTMLView.m:
13993        (-[WebHTMLView addSubview:]):
13994        * WebCoreSupport.subproj/WebBridge.m:
13995        (-[WebBridge frameRequiredForMIMEType:URL:]):
13996
139972004-06-08  Trey Matteson  <trey@apple.com>
13998
13999	In DHTML dragging there is no notion of registering for types, so we'd
14000	like to just pass all types down to WebCore.  It turns out that the per-type
14001	registration doesn't matter as far as the underlying drag service is
14002	concerned, so Cocoa is already getting called for any type.  We just hack and
14003	override a private method to ensure we accept any type.
14004
14005        Reviewed by Chris.
14006
14007        * WebView.subproj/WebView.m:
14008        (-[WebView _hitTest:dragTypes:]):  We accept any drag type if it is within
14009	our view, without overriding a subview's decision.
14010
140112004-06-08  Trey Matteson  <trey@apple.com>
14012
14013	A DHTML drag source can now change the dragging image during the drag.  Currently
14014	it may only be set to a static image.
14015
14016        Reviewed by John
14017
14018        * WebCoreSupport.subproj/WebBridge.m:
14019        (-[WebBridge setDraggingImage:at:]):  Typical bridge glue.
14020        * WebView.subproj/WebHTMLView.m:
14021        (FlipImageSpec):  New utility, copied from AppKit.
14022        (-[WebHTMLView _setDraggingImage:at:]):  Mostly copied from AppKit.  Sets the drag
14023	image using CG API.
14024        * WebView.subproj/WebHTMLViewPrivate.h:
14025
140262004-06-08  Chris Blumenberg  <cblu@apple.com>
14027
14028	Fixed: <rdar://problem/3640423>: (REGRESSION: can't paste text copied from web page into Excel (due to HTML on the pasteboard?))
14029
14030        Reviewed by darin.
14031
14032        * WebView.subproj/WebHTMLView.m:
14033        (+[WebHTMLView _selectionPasteboardTypes]): don't include NSHTMLPboardType
14034        (-[WebHTMLView _selectedArchive]): removed markup string parameter
14035        (_selectionPasteboardTypes::if): don't put NSHTMLPboardType on the pasteboard
14036        * WebView.subproj/WebHTMLViewPrivate.h:
14037
140382004-06-07  Darin Adler  <darin@apple.com>
14039
14040        Reviewed by Chris.
14041
14042        - fixed <rdar://problem/3676761>: (REGRESSION: Text Bigger/Smaller commands are always disabled in TOT)
14043
14044        * WebView.subproj/WebHTMLView.m: Add @interface declaration for WebTextSizing category
14045        on WebHTMLView. This must have gotten lost somewhere along the way.
14046
140472004-06-05  Trey Matteson  <trey@apple.com>
14048
14049        WebKit no longer causes an endless stream of dragexit events to
14050        occur at the DHTML level when hovering over an element that is
14051        not accepting the drag.
14052
14053        Reviewed by Chris
14054
14055        * WebView.subproj/WebView.m:
14056        (-[WebView _dragOperationForDraggingInfo:]):  If the potential target refuses
14057        the item, don't turn around and immediately tell it to cancel the drag, which is
14058        what leads to the exit event happening at the DOM level.  If the target just
14059        refused the drag, it should not have anything it needs to cancel.
14060
140612004-06-03  Trey Matteson  <trey@apple.com>
14062
14063        DHTML dragging uses the Cocoa NSDragOperation on both the source and dest ends.
14064        Most of the real work is in WebCore.
14065
14066        Reviewed by rjw
14067
14068        * WebCoreSupport.subproj/WebBridge.m:
14069        (-[WebBridge startDraggingImage:at:operation:event:]):  Pass the drag op along.
14070        * WebView.subproj/WebHTMLView.m:
14071        (-[WebHTMLView _startDraggingImage:at:operation:event:]):  Remember drag op from WC.
14072        (-[WebHTMLView mouseDragged:]):  Pass None for the op (alternate code path that will
14073        be going away).
14074        (-[WebHTMLView draggingSourceOperationMaskForLocal:]):  Use the WC drag op.
14075        * WebView.subproj/WebHTMLViewInternal.h:
14076        * WebView.subproj/WebHTMLViewPrivate.h:
14077
14078=== Safari-143 ===
14079
140802004-06-04  Chris Blumenberg  <cblu@apple.com>
14081
14082        Fixed: <rdar://problem/3674921>: (can't drag an image from Desktop to Blot document)
14083
14084        Reviewed by mjs.
14085
14086        * WebView.subproj/WebDataSource.m:
14087        (-[WebDataSource _imageElementWithImageResource:]): factored out from _documentFragmentWithImageResource:
14088        (-[WebDataSource _documentFragmentWithImageResource:]): call _imageElementWithImageResource:
14089        * WebView.subproj/WebDataSourcePrivate.h:
14090        * WebView.subproj/WebHTMLView.m:
14091        (-[WebHTMLView _imageExistsAtPaths:]): new
14092        (-[WebHTMLView _documentFragmentWithPaths:]): new
14093        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): handle NSFilenamesPboardType
14094        (+[WebHTMLView _insertablePasteboardTypes]): include NSFilenamesPboardType
14095        (-[WebHTMLView _canProcessDragWithDraggingInfo:]): check for NSFilenamesPboardType and check that the files are images
14096
140972004-06-04  Richard Williamson   <rjw@apple.com>
14098
14099        Fixed crasher from last checkin.
14100        
14101        Reviewed by Ken.
14102
14103        * Plugins.subproj/WebPluginDatabase.m:
14104        (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
14105        (pluginLocations):
14106
141072004-06-03  Richard Williamson   <rjw@apple.com>
14108
14109        Add SPI to allow setting of plugin load path.
14110                Reviewed by Hyatt.
14111
14112        * Plugins.subproj/WebPluginDatabase.h:
14113        * Plugins.subproj/WebPluginDatabase.m:
14114        (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
14115        (pluginLocations):
14116
141172004-06-03  Darin Adler  <darin@apple.com>
14118
14119        Reviewed by Chris.
14120
14121        - fixed <rdar://problem/3677038>: (Need SPI to get URL of favicon for a site)
14122
14123        * Misc.subproj/WebIconDatabase.h: Add iconURLForURL: method.
14124        * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase iconURLForURL:]): Added.
14125
141262004-06-02  Ken Kocienda  <kocienda@apple.com>
14127
14128        Reviewed by John
14129
14130        Fix for these bugs:
14131        
14132        <rdar://problem/3675806>: "Make API name change for -webViewShouldBeginEditing:inDOMRange:"
14133        <rdar://problem/3675809>: "Make API name change for -webViewShouldEndEditing:inDOMRange:"
14134
14135        New names are -webView:shouldBeginEditingInDOMRange: and -webView:shouldEndEditingInDOMRange:, 
14136        respectively.
14137
14138        * WebView.subproj/WebDefaultEditingDelegate.m:
14139        (-[WebDefaultEditingDelegate webView:shouldBeginEditingInDOMRange:]):
14140        (-[WebDefaultEditingDelegate webView:shouldEndEditingInDOMRange:]):
14141        * WebView.subproj/WebEditingDelegate.h:
14142        * WebView.subproj/WebView.m:
14143        (-[WebView _shouldBeginEditingInDOMRange:]):
14144        (-[WebView _shouldEndEditingInDOMRange:]):
14145
141462004-06-02  Richard Williamson   <rjw@apple.com>
14147
14148        conformsToProtocol:@protocol(WebPlugin) becomes
14149        respondsToSelector:@selector(webPlugInInitialize) because
14150        protocol was changed to an informal protocol.
14151                Reviewed by Kevin.
14152
14153        * WebCoreSupport.subproj/WebBridge.m:
14154        (-[WebBridge frameRequiredForMIMEType:URL:]):
14155        * WebView.subproj/WebHTMLView.m:
14156        (-[WebHTMLView addSubview:]):
14157
141582004-06-01  Trey Matteson  <trey@apple.com>
14159
14160        First cut at source side of DHTML dragging.  Most of the work is in WebCore.
14161
14162        Reviewed by hyatt.
14163
14164        * WebCoreSupport.subproj/WebBridge.m:
14165        (-[WebBridge startDraggingImage:at:event:]):  Added image and loc args for
14166        when WC tells WK to start a drag.
14167        * WebView.subproj/WebHTMLView.m:
14168        (-[WebHTMLView _startDraggingImage:at:event:]):  New image and loc args coming
14169        from WebCore.  Hysteresis is moved to WC.
14170        (-[WebHTMLView mouseDragged:]):  Call new _startDragging method.
14171        (-[WebHTMLView draggedImage:movedTo:]):  Pass event to WC.
14172        (-[WebHTMLView draggedImage:endedAt:operation:]):  Pass event to WC.
14173        (-[WebHTMLView mouseUp:]):  Reset firstMouseDownEvent.  Fixes bug where
14174        we would occasionally short-circuit WC event handling due to aliasing
14175        problem with this event.
14176        * WebView.subproj/WebHTMLViewPrivate.h:
14177
141782004-06-02  Darin Adler  <darin@apple.com>
14179
14180        Reviewed by John.
14181
14182        - fixed problem with timing of delegate callbacks in the back/forward cache case
14183
14184        * WebView.subproj/WebFrame.m:
14185        (-[WebFrame _transitionToCommitted:]): Move code to indicate page is done loading in the
14186        back/forward cache case from here ...
14187        (-[WebFrame _opened]): ... to here.
14188
141892004-06-01  Richard Williamson   <rjw@apple.com>
14190
14191        Fixed deployment build warning.
14192
14193        * WebCoreSupport.subproj/WebImageRenderer.m:
14194        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
14195
141962004-06-01  Richard Williamson   <rjw@apple.com>
14197
14198        Added support for drawImage and drawImageFromRect to <CANVAS>
14199        Added support for composite attribute to <CANVAS>
14200
14201        Reviewed by Trey.
14202
14203        * WebCoreSupport.subproj/WebImageRenderer.h:
14204        * WebCoreSupport.subproj/WebImageRenderer.m:
14205        (-[WebImageContext initWithBounds:context:]):
14206        (-[WebImageContext dealloc]):
14207        (-[WebImageContext saveGraphicsState]):
14208        (-[WebImageContext restoreGraphicsState]):
14209        (-[WebImageContext isDrawingToScreen]):
14210        (-[WebImageContext focusStack]):
14211        (-[WebImageContext setFocusStack:]):
14212        (-[WebImageContext bounds]):
14213        (-[WebImageContext isFlipped]):
14214        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
14215        (-[WebImageRenderer dealloc]):
14216        (-[WebImageRenderer _beginRedirectContext:]):
14217        (-[WebImageRenderer _endRedirectContext:]):
14218        (-[WebImageRenderer _needsRasterFlush]):
14219        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
14220        (-[WebImageRenderer drawImageInRect:fromRect:]):
14221        (-[WebImageRenderer flushRasterCache]):
14222        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
14223        (-[WebImageRenderer tileInRect:fromPoint:context:]):
14224        * WebCoreSupport.subproj/WebImageRendererFactory.m:
14225        (-[WebImageRendererFactory imageRendererWithMIMEType:]):
14226        (-[WebImageRendererFactory imageRendererWithName:]):
14227        (-[WebImageRendererFactory CGCompositeOperationInContext:]):
14228        (-[WebImageRendererFactory setCGCompositeOperation:inContext:]):
14229        (-[WebImageRendererFactory setCGCompositeOperationFromString:inContext:]):
14230
142312004-06-01  John Sullivan  <sullivan@apple.com>
14232
14233        Reviewed by Trey.
14234        
14235        Work on text-align API. Marked these bugs fixed:
14236        <rdar://problem/3655380>: (Editing: -alignCenter: method unimplemented (WebKit editing API))
14237        <rdar://problem/3655381>: (Editing: -alignJustified: method unimplemented (WebKit editing API))
14238        <rdar://problem/3655383>: (Editing: -alignLeft: method unimplemented (WebKit editing API))
14239        <rdar://problem/3655384>: (Editing: -alignRight: method unimplemented (WebKit editing API))        
14240        
14241        in favor of opening this bug:
14242        <rdar://problem/3675191>: (Editing: -alignLeft: and friends mostly implemented but not 
14243        yet working (WebKit editing API))        
14244
14245        * English.lproj/StringsNotToBeLocalized.txt:
14246        updated for these changes
14247        
14248        * WebView.subproj/WebHTMLView.m:
14249        (-[WebHTMLView changeDocumentBackgroundColor:]):
14250        added a FIXME about why this is still not quite right
14251        (-[WebHTMLView _alignSelectionUsingCSSValue:]):
14252        new method, bottleneck for the various values
14253        (-[WebHTMLView alignCenter:]):
14254        call _alignSelectionUsingCSSValue:@"center"
14255        (-[WebHTMLView alignJustified:]):
14256        call _alignSelectionUsingCSSValue:@"justify"
14257        (-[WebHTMLView alignLeft:]):
14258        call _alignSelectionUsingCSSValue:@"left"
14259        (-[WebHTMLView alignRight:]):
14260        call _alignSelectionUsingCSSValue:@"right"
14261
142622004-06-01  John Sullivan  <sullivan@apple.com>
14263
14264        Reviewed by Ken.
14265        
14266        - fixed <rdar://problem/3655378>: (Editing: -changeDocumentBackgroundColor: 
14267        method unimplemented (WebKit editing API))
14268        - made startSpeaking: actually work; previous implementation raised a DOMException
14269
14270        * WebView.subproj/WebHTMLView.m:
14271        (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
14272        added range parameter
14273        (-[WebHTMLView _entireDOMRange]):
14274        new convenience method
14275        (-[WebHTMLView changeDocumentBackgroundColor:]):
14276        now affects entire document, not just selected range, a la NSTextView
14277        (-[WebHTMLView changeColor:]):
14278        now passes in a range to _changeCSSColorUsingSelector:inRange:
14279        (-[WebHTMLView startSpeaking:]):
14280        now uses _entireDOMRange
14281
142822004-06-01  Chris Blumenberg  <cblu@apple.com>
14283
14284        Fixed: <rdar://problem/3661505>: (REGRESSION (Safari-140) can't drag standalone images more than once)
14285
14286        Reviewed by john.
14287
14288        * WebView.subproj/WebImageView.m:
14289        (-[WebImageView mouseDown:]): set ignoringMouseDraggedEvents to NO. This line of code was deleted somehow.
14290
142912004-06-01  John Sullivan  <sullivan@apple.com>
14292
14293        Reviewed by Darin.
14294        
14295        - fixed <rdar://problem/3657003>: (HTML Editing: Color panel doesn't work)
14296
14297        * WebView.subproj/WebHTMLView.m:
14298        (-[WebHTMLView _colorPanelColorAsStyleUsingSelector:]):
14299        new method, returns a DOMCSSStyleDeclaration *
14300        (-[WebHTMLView _changeCSSColorUsingSelector:]):
14301        new method, sets a color-related style attribute on the selection
14302        (-[WebHTMLView changeDocumentBackgroundColor:]):
14303        call _changeCSSColorUsingSelector: with @selector(setBackgroundColor:)
14304        (-[WebHTMLView changeColor:]):
14305        call _changeCSSColorUsingSelector: with @selector(setColor:); also added
14306        comments explaining why changeDocumentBackgroundColor: will never actually
14307        be called until an AppKit code-incest mess is straighted out.
14308
143092004-06-01  Ken Kocienda  <kocienda@apple.com>
14310
14311        Reviewed by Darin
14312
14313        * WebView.subproj/WebHTMLView.m:
14314        (-[WebHTMLView _fontManagerOperationAsStyle]): Fixed typo in family-name code that caused
14315        family names to match when they should not.
14316
143172004-06-01  Chris Blumenberg  <cblu@apple.com>
14318
14319        Made paste and drop ask the delegate before making any replacements.
14320
14321        Reviewed by kocienda.
14322
14323        * WebView.subproj/WebHTMLView.m:
14324        (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): renamed, now calls _shouldInsertFragment:replacingDOMRange:givenAction:
14325        (-[WebHTMLView _shouldInsertFragment:replacingDOMRange:givenAction:]): new, asks delegate
14326        (-[WebHTMLView concludeDragForDraggingInfo:]): now calls _shouldInsertFragment:replacingDOMRange:givenAction:
14327        (-[WebHTMLView paste:]): call renamed _pasteWithPasteboard:allowPlainText:
14328        (-[WebHTMLView pasteAsRichText:]): ditto
14329
143302004-05-28  Darin Adler  <darin@apple.com>
14331
14332        Reviewed by Maciej.
14333
14334        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _fontManagerOperationAsStyle]):
14335        First cut at figuring out what operation the font manager is doing without
14336        digging into its private data structures.
14337
143382004-05-28  Darin Adler  <darin@apple.com>
14339
14340        Reviewed by Ken.
14341
14342        - various editing-related improvements
14343        - fixed <rdar://problem/3655366>: (Editing: -selectParagraph: method unimplemented (WebKit editing API))
14344        - fixed <rdar://problem/3655367>: (Editing: -selectLine: method unimplemented (WebKit editing API))
14345        - fixed <rdar://problem/3655369>: (Editing: -selectWord: method unimplemented (WebKit editing API))
14346        - fixed <rdar://problem/3655392>: (Editing: -uppercaseWord: method unimplemented (WebKit editing API))
14347        - fixed <rdar://problem/3655393>: (Editing: -lowercaseWord: method unimplemented (WebKit editing API))
14348        - fixed <rdar://problem/3655394>: (Editing: -capitalizeWord: method unimplemented (WebKit editing API))
14349
14350        * WebView.subproj/WebHTMLView.m:
14351        (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): Removed the call to
14352        ensureCaretVisible. This is now handled on the other side of the bridge.
14353        (-[WebHTMLView moveDown:]): Changed to use WebSelectByLine granularity instead of
14354        WebSelectDown direction.
14355        (-[WebHTMLView moveDownAndModifySelection:]): Ditto.
14356        (-[WebHTMLView moveUp:]): Ditto.
14357        (-[WebHTMLView moveUpAndModifySelection:]): Ditto.
14358        (-[WebHTMLView _expandSelectionToGranularity:]): Added.
14359        (-[WebHTMLView selectParagraph:]): Implemented by calling _expandSelectionToGranularity.
14360        (-[WebHTMLView selectLine:]): Ditto.
14361        (-[WebHTMLView selectWord:]): Ditto.
14362        (-[WebHTMLView _fontManagerOperationAsStyle]): Added. Placeholder for the job of figuring
14363        out what style change to make based on NSFontManager.
14364        (-[WebHTMLView changeFont:]): Implemented, but not really tested because guts are still
14365        missing due to lack of above method.
14366        (-[WebHTMLView insertTab:]): Removed the call to ensureCaretVisible.
14367        (-[WebHTMLView insertNewline:]): Removed the call to ensureCaretVisible.
14368        (-[WebHTMLView insertParagraphSeparator:]): Made this insert a newline for now.
14369        (-[WebHTMLView _changeWordCaseWithSelector:]): Added.
14370        (-[WebHTMLView uppercaseWord:]): Implemented by calling _changeWordCaseWithSelector.
14371        (-[WebHTMLView lowercaseWord:]): Ditto.
14372        (-[WebHTMLView capitalizeWord:]): Ditto.
14373        (-[WebHTMLView deleteBackward:]): Removed the call to ensureCaretVisible.
14374        (-[WebHTMLView checkSpelling:]): Put a pile of AppKit code in here as a placeholder.
14375        (-[WebHTMLView startSpeaking:]): Use the new stringForRange: method instead of outerText.
14376        That way we can handle cases where the entire document is selected.
14377        (-[WebHTMLView insertText:]): Removed the call to ensureCaretVisible.
14378
143792004-05-28  Chris Blumenberg  <cblu@apple.com>
14380
14381        Fixed: <rdar://problem/3672129>: (selection deselects when clicking editable WebView in background window)
14382
14383        Fixed this problem by using NSTextView's approach of only allowing dragging on first mouse down.
14384
14385        Reviewed by john.
14386
14387        * WebView.subproj/WebHTMLView.m:
14388        (-[WebHTMLView acceptsFirstMouse:]): store the first mouse down
14389        (-[WebHTMLView mouseDown:]): Don't tell WebCore about the first mouse down event since only dragging can occur on the first mouse down.
14390        (-[WebHTMLView mouseDragged:]): Don't tell WebCore about the drags that occur after the first mouse down since only dragging can occur after the first mouse down.
14391        * WebView.subproj/WebHTMLViewInternal.h:
14392
143932004-05-28  Darin Adler  <darin@apple.com>
14394
14395        * WebView.subproj/WebView.m: At Ken's suggestion, for better efficiency and safety,
14396        use _cmd rather than explicit selector names in the forwarding methods.
14397
143982004-05-28  Darin Adler  <darin@apple.com>
14399
14400        Reviewed by Ken.
14401
14402        - implemented a few more editing operations, moved code from WebView to WebHTMLView
14403
14404        * WebCoreSupport.subproj/WebBridge.m:
14405        (-[WebBridge respondToChangedContents]): Call _updateFontPanel on the WebHTMLView, not the WebView.
14406        (-[WebBridge respondToChangedSelection]): Ditto.
14407
14408        * WebView.subproj/WebHTMLView.m: Moved WebElementOrTextFilter class here from WebView and
14409        gave it a prefix so it won't conflict with developers' class names.
14410        (-[WebHTMLView _updateFontPanel]): Moved here from WebView.
14411
14412        * WebView.subproj/WebView.m:
14413        (-[WebView toggleSmartInsertDelete:]): Added.
14414        (-[WebView toggleContinuousSpellChecking:]): Added.
14415        (-[WebView isContinuousGrammarCheckingEnabled]): Added.
14416        (-[WebView setContinuousGrammarCheckingEnabled:]): Added.
14417        (-[WebView toggleContinuousGrammarChecking:]): Added.
14418        (-[WebView setSmartInsertDeleteEnabled:]): Implemented. We have the flag now, although we
14419        still don't actually have smart insert and delete implemented.
14420        (-[WebView smartInsertDeleteEnabled]): Ditto.
14421        (-[WebView setContinuousSpellCheckingEnabled:]): Implemented.
14422        (-[WebView isContinuousSpellCheckingEnabled]): Implemented.
14423        (-[WebView spellCheckerDocumentTag]): Implemented.
14424        (-[WebView _preflightSpellCheckerNow:]): Added.
14425        (-[WebView _preflightSpellChecker]): Added.
14426        (-[WebView _continuousCheckingAllowed]): Added.
14427
14428        * WebView.subproj/WebHTMLViewInternal.h: Added. We'll things here from WebHTMLViewPrivate so
14429        they are internal to the framework, rather than SPI.
14430        * WebKit.pbproj/project.pbxproj: Added WebHTMLViewInternal.h.
14431        * WebView.subproj/WebHTMLViewPrivate.h: Moved WebHTMLViewPrivate into the internal header.
14432        Despite its name, it's internal, not SPI.
14433
14434        * WebView.subproj/WebViewPrivate.h: Moved WebViewPrivate into the internal header.
14435        Despite its name, it's internal, not SPI. Added a number of new operations which should
14436        be public API. We'll have to figure out what to do about API review and the WWDC deadline.
14437        * WebView.subproj/WebViewInternal.h: Removed _updateFontPanel method.
14438
14439        * English.lproj/StringsNotToBeLocalized.txt: Update.
14440
144412004-05-27  Ken Kocienda  <kocienda@apple.com>
14442
14443        Reviewed by John
14444
14445        The font panel now updates correctly, reflecting the current selection. There may
14446        still be some bugs and corner cases to handle, but this will work for a general
14447        implementation of the feature.
14448
14449        * WebView.subproj/WebView.m:
14450        (+[ElementOrTextFilter filter]): Added. This filter will accept DOM elements and
14451        text nodes and skip everything else. This filter is used when walking a selection
14452        to determine the fonts in use.
14453        (-[ElementOrTextFilter acceptNode:]): DOM node filter implementation method.
14454        (-[WebView _fontFromStyle]): Removed, in lieu of new fontForCurrentPosition call on the bridge.
14455        (-[WebView _updateFontPanel]): Reworked to use a TreeWalker instead of a NodeIterator. This
14456        was done since the iterator must be rooted at the document root, but start iterating 
14457        at the start of the selection. TreeWalker's setCurrentNode allows this to be done.
14458
144592004-05-27  Kevin Decker  <kdecker@apple.com>
14460
14461        * Plugins.subproj/WebScriptObject.h:
14462
144632004-05-27  Kevin Decker  <kdecker@apple.com>
14464
14465        Reviewed by Ken.
14466        
14467        - error messages (eg. from JavaScriptCore) sent to the bridge now 
14468          get delievered to a new delegate method.  
14469    
14470        * WebCoreSupport.subproj/WebBridge.m:
14471        (-[WebBridge addMessageToConsole:]):
14472        * WebKit.pbproj/project.pbxproj:
14473        * WebView.subproj/WebUIDelegatePrivate.h:
14474
14475=== Safari-142 ===
14476
144772004-05-27  Trey Matteson  <trey@apple.com>
14478
14479        First cut at DHTML dragging, destination side.  Dragging text, files and URLs onto
14480        elements works.  Type conversion from NSPasteboard to MIME types is hardwired.
14481        No JS access yet to modifier keys, or operations mask.
14482
14483        Reviewed by Chris.
14484
14485        * WebView.subproj/WebHTMLView.m:
14486        (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): Call DHTML dragging via bridge.
14487        (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
14488        (-[WebHTMLView concludeDragForDraggingInfo:]): Ditto.
14489        * WebView.subproj/WebHTMLViewPrivate.h:
14490        * WebView.subproj/WebView.m:
14491        (-[WebView _setWebKitDragRespondsToDragging:]):  New SPI for finer grained control than the
14492        delegate currently has.
14493        (-[WebView _webKitDragRespondsToDragging]): Ditto.
14494        (-[WebView _commonInitializationWithFrameName:groupName:]):  Init new flag.
14495        (-[WebView _dragOperationForDraggingInfo:]):  Comment.
14496        * WebView.subproj/WebViewPrivate.h:
14497
144982004-05-27  Darin Adler  <darin@apple.com>
14499
14500        * WebView.subproj/WebFrameView.m: (-[WebFrameView _scrollVerticallyBy:]): Added comment.
14501
145022004-05-27  Darin Adler  <darin@apple.com>
14503
14504        Reviewed by Maciej.
14505
14506        - fixed <rdar://problem/3667948>: (REGRESSION: Page Down key goes down two pages when smooth scrolling is on)
14507
14508        * WebView.subproj/WebFrameView.m:
14509        (-[WebFrameView _scrollVerticallyBy:]): Added return value to indicate if any scrolling was done.
14510        This requires using secret AppKit methods; the public methods don't have a return value.
14511        (-[WebFrameView _pageVertically:]): Added return value to indicate if any scrolling was done.
14512        (-[WebFrameView scrollPageUp:]): Base call through to next responder on whether any scrolling was done,
14513        using return value, rather than looking at new scroll position. This was the cause of the bug,
14514        since with smooth scrolling no scrolling has happened yet when the function returns.
14515        (-[WebFrameView scrollPageDown:]): Ditto.
14516
14517        - removed temporary DOMDocument method from WebView
14518
14519        * WebView.subproj/WebView.m:
14520        (-[WebView computedStyleForElement:pseudoElement:]): Call getComputedStyle on the document that owns the
14521        element rather than on the document that currently contains the selection.
14522        (-[WebView _updateFontPanel]): Get the document from the DOM range rather than using the DOMDocument method.
14523        (-[WebView styleDeclarationWithText:]): Change this method to not use the DOMDocument method, but do the same
14524        job with inline code.
14525
14526        * WebView.subproj/WebViewPrivate.h: Moved a recently-added category that is not SPI out of here.
14527        * WebView.subproj/WebViewInternal.h: Moved the category in here. And removed the DOMDocument method from it.
14528
14529        - other changes
14530
14531        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
14532
14533        * copy-webcore-files-to-webkit: Change tabs to spaces. Quiet the script down by
14534        making it no longer echo each command or print messages about what it's doing by default.
14535
145362004-05-27  Darin Adler  <darin@apple.com>
14537
14538        Reviewed by Maciej.
14539
14540        - moved to new symlink technique for embedding frameworks
14541
14542        * WebKit.pbproj/project.pbxproj: Get rid of embed-frameworks build step
14543        because we don't need it any more.
14544
145452004-05-27  Darin Adler  <darin@apple.com>
14546
14547        - fixed Deployment build
14548
14549        * WebView.subproj/WebView.m: (-[WebView concludeDragOperation:]):
14550        Got rid of ASSERT-only local variable.
14551
145522004-05-26  Maciej Stachowiak  <mjs@apple.com>
14553
14554        Reviewed by Dave.
14555
14556        - fix further problems with Emerson feed: redirection for RSS feeds
14557
14558        This is done by removing removing the calls to defer callbacks
14559        while waiting for [... Maciej stopped typing here ...]
14560
14561        * WebView.subproj/WebMainResourceClient.m:
14562        (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
14563        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
14564        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
14565        (-[WebMainResourceClient checkContentPolicyForResponse:]):
14566
145672004-05-26  Chris Blumenberg  <cblu@apple.com>
14568
14569        Added and implemented proposed dragging API changes. These changes are necessary to make JS dragging work properly.
14570
14571        Reviewed by trey.
14572
14573        * WebView.subproj/WebDefaultUIDelegate.m:
14574        (-[WebDefaultUIDelegate webView:shouldDetermineDragOperationForDraggingInfo:dragOperation:]): instead of calling back to the WebView to get the default drag operation, return YES. Return NO in order to return a custom drag operation. Removed element parameter since another new API provides a way to get that.
14575        (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:]): Removed element parameter since another new API provides a way to get that.
14576        * WebView.subproj/WebDocumentInternal.h:
14577        * WebView.subproj/WebHTMLView.m:
14578        (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): now returns a drag operation
14579        (-[WebHTMLView draggingCancelledWithDraggingInfo:]): moved
14580        * WebView.subproj/WebUIDelegatePrivate.h:
14581        * WebView.subproj/WebView.m:
14582        (-[WebView elementAtPoint:]): new proposed API
14583        (-[WebView dragOperationForDraggingInfo:]): removed code from this API that should be removed
14584        (-[WebView _dragOperationForDraggingInfo:]): call new API
14585        (-[WebView concludeDragOperation:]): call new API
14586
145872004-05-26  Darin Adler  <darin@apple.com>
14588
14589        Reviewed by John.
14590
14591        - moved HTML editing operations from WebView to WebHTMLView, leaving only forwarding machinery
14592          at the WebView level
14593
14594        - fixed <rdar://problem/3655412>: (Editing: -startSpeaking: method unimplemented (WebKit editing API))
14595        - fixed <rdar://problem/3655414>: (Editing: -stopSpeaking: method unimplemented (WebKit editing API))
14596        - fixed <rdar://problem/3655375>: (Editing: -pasteAsRichText: method unimplemented (WebKit editing API))
14597
14598        * WebView.subproj/WebView.h: Added missing declaration of selectionAffinity. I think this
14599        omission was an editorial mistake.
14600
14601        * WebView.subproj/WebView.m:
14602        (-[WebView searchFor:direction:caseSensitive:wrap:]): Use _frameForCurrentSelection directly,
14603        since it no longer returns nil.
14604        (-[WebView pasteboardTypesForSelection]): Use _frameForCurrentSelection instead of going through the bridge.
14605        (-[WebView _frameForCurrentSelection]): Renamed from _currentFrame and changed to return main frame
14606        rather than nil when called on WebView that has no current selection.
14607        (-[WebView _bridgeForCurrentSelection]): Moved in file.
14608        (-[WebView _updateFontPanel]): Removed the one call to _currentSelectionIsEditable here, since
14609        it was the only one left in this file. Eventually this code will move to WebHTMLView.
14610        (-[WebView _performResponderOperation:with:]): Name change.
14611
14612        * WebView.subproj/WebDataSource.m: (-[WebDataSource _documentFragmentWithImageResource:]):
14613        Build document fragment using DOM instead of composing HTML text.
14614
14615        * WebView.subproj/WebHTMLView.m:
14616        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): Added allowPlainText boolean,
14617        moved method into new location in file so it can be in the right category, changed link pasting
14618        to use DOM instead of composing HTML text.
14619        (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:allowPlainText:]): Added allowPlainText
14620        boolean, moved method into new location in file so it can be in the right category.
14621        (-[WebHTMLView concludeDragForDraggingInfo:]): Pass YES for allowPlainText.
14622        (-[WebHTMLView keyDown:]): Set keyDownEvent field for use by workaround below.
14623        (-[WebHTMLView centerSelectionInVisibleArea:]): Moved here from WebView.
14624        (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): Ditto.
14625        (-[WebHTMLView moveBackward:]): Ditto.
14626        (-[WebHTMLView moveBackwardAndModifySelection:]): Ditto.
14627        (-[WebHTMLView moveDown:]): Ditto.
14628        (-[WebHTMLView moveDownAndModifySelection:]): Ditto.
14629        (-[WebHTMLView moveForward:]): Ditto.
14630        (-[WebHTMLView moveForwardAndModifySelection:]): Ditto.
14631        (-[WebHTMLView moveLeft:]): Ditto.
14632        (-[WebHTMLView moveLeftAndModifySelection:]): Ditto.
14633        (-[WebHTMLView moveRight:]): Ditto.
14634        (-[WebHTMLView moveRightAndModifySelection:]): Ditto.
14635        (-[WebHTMLView moveToBeginningOfDocument:]): Ditto.
14636        (-[WebHTMLView moveToBeginningOfLine:]): Ditto.
14637        (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto.
14638        (-[WebHTMLView moveToEndOfDocument:]): Ditto.
14639        (-[WebHTMLView moveToEndOfLine:]): Ditto.
14640        (-[WebHTMLView moveToEndOfParagraph:]): Ditto.
14641        (-[WebHTMLView moveUp:]): Ditto.
14642        (-[WebHTMLView moveUpAndModifySelection:]): Ditto.
14643        (-[WebHTMLView moveWordBackward:]): Ditto.
14644        (-[WebHTMLView moveWordBackwardAndModifySelection:]): Ditto.
14645        (-[WebHTMLView moveWordForward:]): Ditto.
14646        (-[WebHTMLView moveWordForwardAndModifySelection:]): Ditto.
14647        (-[WebHTMLView moveWordLeft:]): Ditto.
14648        (-[WebHTMLView moveWordLeftAndModifySelection:]): Ditto.
14649        (-[WebHTMLView moveWordRight:]): Ditto.
14650        (-[WebHTMLView moveWordRightAndModifySelection:]): Ditto.
14651        (-[WebHTMLView pageDown:]): Ditto.
14652        (-[WebHTMLView pageUp:]): Ditto.
14653        (-[WebHTMLView selectParagraph:]): Ditto.
14654        (-[WebHTMLView selectLine:]): Ditto.
14655        (-[WebHTMLView selectWord:]): Ditto.
14656        (-[WebHTMLView copy:]): Moved down in file so it's in the right category.
14657        (-[WebHTMLView cut:]): Ditto.
14658        (-[WebHTMLView delete:]): Ditto.
14659        (-[WebHTMLView paste:]): Ditto.
14660        (-[WebHTMLView copyFont:]): Moved here from WebView.
14661        (-[WebHTMLView pasteFont:]): Ditto.
14662        (-[WebHTMLView pasteAsPlainText:]): Ditto.
14663        (-[WebHTMLView pasteAsRichText:]): Implemented this by calling the paste code with
14664        allowPlainText:NO; believe it or not, that's what this means in NSTextView.
14665        (-[WebHTMLView changeFont:]): Moved here from WebView.
14666        (-[WebHTMLView changeAttributes:]): Ditto.
14667        (-[WebHTMLView changeDocumentBackgroundColor:]): Ditto.
14668        (-[WebHTMLView changeColor:]): Ditto.
14669        (-[WebHTMLView alignCenter:]): Ditto.
14670        (-[WebHTMLView alignJustified:]): Ditto.
14671        (-[WebHTMLView alignLeft:]): Ditto.
14672        (-[WebHTMLView alignRight:]): Ditto.
14673        (-[WebHTMLView indent:]): Ditto.
14674        (-[WebHTMLView insertTab:]): Moved here from WebView, also call insertText rather than
14675        replaceSelectionWithText so it's undoable like a typed character.
14676        (-[WebHTMLView insertBacktab:]): Moved here from WebView.
14677        (-[WebHTMLView insertNewline:]): Moved here from WebView, also call insertText rather than
14678        replaceSelectionWithText so it's undoable like a typed character.
14679        (-[WebHTMLView insertParagraphSeparator:]): Moved here from WebView.
14680        (-[WebHTMLView changeCaseOfLetter:]): Ditto.
14681        (-[WebHTMLView uppercaseWord:]): Ditto.
14682        (-[WebHTMLView lowercaseWord:]): Ditto.
14683        (-[WebHTMLView capitalizeWord:]): Ditto.
14684        (-[WebHTMLView deleteForward:]): Ditto.
14685        (-[WebHTMLView deleteBackward:]): Ditto.
14686        (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Ditto.
14687        (-[WebHTMLView deleteWordForward:]): Ditto.
14688        (-[WebHTMLView deleteWordBackward:]): Ditto.
14689        (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
14690        (-[WebHTMLView deleteToEndOfLine:]): Ditto.
14691        (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
14692        (-[WebHTMLView deleteToEndOfParagraph:]): Ditto.
14693        (-[WebHTMLView complete:]): Ditto.
14694        (-[WebHTMLView checkSpelling:]): Ditto.
14695        (-[WebHTMLView showGuessPanel:]): Ditto.
14696        (-[WebHTMLView performFindPanelAction:]): Ditto.
14697        (-[WebHTMLView startSpeaking:]): Implemented this.
14698        (-[WebHTMLView stopSpeaking:]): Implemented this.
14699        (-[WebHTMLView insertText:]): Moved here from WebView.
14700
14701        * WebView.subproj/WebHTMLViewPrivate.h: Removed declarations of methods that are neither
14702        SPI nor needed outside WebHTMLView.m.
14703
14704        * WebView.subproj/WebViewInternal.h: Removed _currentFrame, and added _frameForCurrentSelection and
14705        _bridgeForCurrentSelection.
14706
147072004-05-25  Maciej Stachowiak  <mjs@apple.com>
14708
14709        Reviewed by Richard.
14710
14711        <rdar://problem/3652498>: new sniffing support is crashing
14712        
14713        * WebView.subproj/WebMainResourceClient.m:
14714        (-[WebMainResourceClient checkContentPolicyForResponse:]): Retain
14715        listener around call, in case delegate does something that ends up
14716        invalidating it, like navigating to a new URL.
14717
147182004-05-25  Chris Blumenberg  <cblu@apple.com>
14719
14720        Fixed regression where undoing typing would undo character-by-character.
14721
14722        Reviewed by kocienda.
14723
14724        * WebView.subproj/WebView.m:
14725        (-[WebView insertText:]): call insertText: rather than replaceSelectionWithText:: since text insertion via insertText: is coalesced and this is the behavior we want here
14726
147272004-05-25  Ken Kocienda  <kocienda@apple.com>
14728
14729        Reviewed by John
14730
14731        Change postDidChangeSelectionNotification and postDidChangeNotification tp
14732        respondToChangedSelection and respondToChangedContents, respectively, to
14733        account for the fact that we do work in these calls other than post a
14734        notification. The need to clear the typing style on both kinds of changes
14735        inspired the name change.
14736
14737        Add in support to set and access typing style. We don't do anything with it yet
14738        except store and return it. Using the typing style is still to come.
14739
14740        * WebCoreSupport.subproj/WebBridge.m:
14741        (-[WebBridge respondToChangedContents]): Change name of functions as described.
14742        (-[WebBridge respondToChangedSelection]): Change name of functions as described.
14743        * WebView.subproj/WebView.m:
14744        (-[WebView dealloc:]): Dealloc typing style ivar.
14745        (-[WebView setTypingStyle:]): Change to set typing style ivar.
14746        (-[WebView typingStyle]): Return new typing style ivar.
14747        * WebView.subproj/WebViewPrivate.h: Add ivar for typing style.
14748
147492004-05-25  Ken Kocienda  <kocienda@apple.com>
14750
14751        Reviewed by John
14752        
14753        Improve _bridgeForCurrentSelection so that it is frame-savvy.
14754        Fixup setSelectedDOMRange:affinity: so that it uses the right bridge.
14755
14756        * WebView.subproj/WebView.m:
14757        (-[WebView _bridgeForCurrentSelection]): Use _currentFrame not mainFrame. 
14758        (-[WebView _currentFrame]): Moved to WebView (WebInternal) category so _bridgeForCurrentSelection can use it.
14759        (-[WebView setSelectedDOMRange:affinity:]): Derive the bridge to use from the range passed in; _bridgeForCurrentSelection
14760        is not the right way to get at the document for the range.
14761        * WebView.subproj/WebViewInternal.h: Add _currentFrame declaration.
14762
147632004-05-24  Darin Adler  <darin@apple.com>
14764
14765        Reviewed by Ken.
14766
14767        - fixed <rdar://problem/3666022>: (REGRESSION: crash from infinite regress in -[WebFrameView(WebPrivate) scrollPageDown:])
14768
14769        * WebView.subproj/WebView.m:
14770        (-[WebView _performResponderOperation:sender:]): Helper method that knows how to pass on operations
14771        to the responder chain, allowing us to implement operations that will get passed to views inside
14772        us as necessary. Moved a few methods to this, and soon will move even more.
14773        (-[WebView scrollLineDown:]): Use the above method.
14774        (-[WebView scrollLineUp:]): Ditto.
14775        (-[WebView scrollPageDown:]): Ditto.
14776        (-[WebView scrollPageUp:]): Ditto.
14777        (-[WebView copy:]): Ditto.
14778        (-[WebView cut:]): Ditto.
14779        (-[WebView paste:]): Ditto.
14780        (-[WebView delete:]): Ditto.
14781        (-[WebView insertBacktab:]): Ditto.
14782
147832004-05-24  Chris Blumenberg  <cblu@apple.com>
14784
14785        Improved editing via drag
14786 
14787        Reviewed by kocienda.
14788
14789        * WebView.subproj/WebDataSource.m: 
14790        (-[WebDataSource _documentFragmentWithImageResource:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment
14791        (-[WebDataSource _documentFragmentWithArchive:]): ditto
14792        (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): call renamed methods
14793        * WebView.subproj/WebDataSourcePrivate.h:
14794        * WebView.subproj/WebDocumentInternal.h:
14795        * WebView.subproj/WebHTMLView.m:
14796        (-[WebHTMLView _documentFragmentFromPasteboard:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment
14797        (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:]): new
14798        (-[WebHTMLView paste:]): call _replaceSelectionWithPasteboard:selectReplacement:
14799        (-[WebHTMLView dragOperationForDraggingInfo:]): handle the case where the destination is editable, but the source is not
14800        (-[WebHTMLView draggingCancelledWithDraggingInfo:]): new, removes drag caret
14801        (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): remove drag caret when we can't handle the drag
14802        (-[WebHTMLView concludeDragForDraggingInfo:]): instead of calling paste, move the selection when doing a move and replace the drag caret when doing a copy
14803        * WebView.subproj/WebHTMLViewPrivate.h:
14804        * WebView.subproj/WebView.m:
14805        (-[WebViewPrivate dealloc]):
14806        (-[WebView _setDraggingDocumentView:]): new
14807        (-[WebView _dragOperationForDraggingInfo:]): if the current dragging document view changes, tell the previous dragging document view that dragging cancelled 
14808        (-[WebView draggingExited:]): new, tell the previous dragging document view that dragging cancelled
14809        (-[WebView concludeDragOperation:]): release the dragging document view
14810        (-[WebView replaceSelectionWithNode:]): pass the selectReplacement BOOL to the bridge
14811        (-[WebView replaceSelectionWithText:]): ditto
14812        (-[WebView replaceSelectionWithMarkupString:]): ditto
14813        (-[WebView replaceSelectionWithArchive:]): ditto
14814        (-[WebView pasteAsPlainText:]): ditto
14815        (-[WebView insertTab:]): ditto
14816        (-[WebView insertText:]): ditto
14817        * WebView.subproj/WebViewPrivate.h: 
14818
148192004-05-24  John Sullivan  <sullivan@apple.com>
14820
14821        Reviewed by Dave.
14822        
14823        - added private RSSFeedReferrer field to WebHistoryItem so RSS feeds in the
14824        back/forward list can remember what page (if any) they were initiated from.
14825
14826        * History.subproj/WebHistoryItem.m:
14827        new RSSFeedReferrer ivar in private structure
14828        (-[WebHistoryItemPrivate dealloc]):
14829        release RSSFeedReferrer
14830        (-[WebHistoryItem copyWithZone:]):
14831        copy RSSFeedReferrer
14832        (-[WebHistoryItem RSSFeedReferrer]):
14833        return RSSFeedReferrer
14834        (-[WebHistoryItem setRSSFeedReferrer:]):
14835        set RSSFeedReferrer
14836
14837        * History.subproj/WebHistoryItemPrivate.h:
14838        declare -RSSFeedReferrer and -setRSSFeedReferrer:
14839
148402004-05-22  Darin Adler  <darin@apple.com>
14841
14842        Reviewed by Ken.
14843
14844        - implemented some of the trivial WebView editing operations; some had bug reports, to wit:
14845        - fixed <rdar://problem/3655342>: (Editing: -centerSelectionInVisibleArea: method unimplemented (WebKit editing API))
14846        - fixed <rdar://problem/3655398>: (Editing: -deleteWordBackward: method unimplemented (WebKit editing API))
14847        - fixed <rdar://problem/3655397>: (Editing: -deleteWordForward: method unimplemented (WebKit editing API))
14848        - fixed <rdar://problem/3655387>: (Editing: -insertBacktab: method unimplemented (WebKit editing API))
14849        - fixed <rdar://problem/3655386>: (Editing: -insertTab: method unimplemented (WebKit editing API))
14850        - fixed <rdar://problem/3655351>: (Editing: -moveWordBackward: method unimplemented (WebKit editing API))
14851        - fixed <rdar://problem/3655352>: (Editing: -moveWordBackwardAndModifySelection: method unimplemented (WebKit editing API))
14852        - fixed <rdar://problem/3655353>: (Editing: -moveWordForward: method unimplemented (WebKit editing API))
14853        - fixed <rdar://problem/3655354>: (Editing: -moveWordForwardAndModifySelection: method unimplemented (WebKit editing API))
14854        - fixed <rdar://problem/3655374>: (Editing: -pasteAsPlainText: method unimplemented (WebKit editing API))
14855        - fixed <rdar://problem/3655362>: (Editing: -scrollLineDown: method unimplemented (WebKit editing API))
14856        - fixed <rdar://problem/3655363>: (Editing: -scrollLineUp: method unimplemented (WebKit editing API))
14857
14858        * WebView.subproj/WebView.m:
14859        (-[WebView centerSelectionInVisibleArea:]): Implemented. The implementation isn't perfect, but it's hooked
14860        up. It simply calls ensureCaretVisible for now.
14861        (-[WebView moveBackward:]): Implemented. The WebCore API already has a way to specify backward as opposed
14862        to left. A separate issue is the fact that these operations don't have bi-di-savvy implementations, but
14863        now this method is hooked up and will work at least for left-to-right text.
14864        (-[WebView moveBackwardAndModifySelection:]): Ditto.
14865        (-[WebView moveForward:]): Ditto.
14866        (-[WebView moveForwardAndModifySelection:]): Ditto.
14867        (-[WebView moveWordBackward:]): Ditto.
14868        (-[WebView moveWordBackwardAndModifySelection:]): Ditto.
14869        (-[WebView moveWordForward:]): Ditto.
14870        (-[WebView moveWordForwardAndModifySelection:]): Ditto.
14871        (-[WebView scrollLineDown:]): Forward to WebFrameView.
14872        (-[WebView scrollLineUp:]): Ditto.
14873        (-[WebView scrollPageDown:]): Ditto.
14874        (-[WebView scrollPageUp:]): Ditto.
14875        (-[WebView delete:]): Implemented. Follows pattern used in cut, copy, and paste.
14876        (-[WebView pasteAsPlainText:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge.
14877        (-[WebView insertTab:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge.
14878        (-[WebView insertBacktab:]): Implemented. Does nothing. If we ever change so that you can use a WebView as
14879        a field editor, then we might have to add code here.
14880        (-[WebView deleteWordForward:]): Implement by calling moveForwardAndModifySelection: and then delete:.
14881        Might not be a perfect implementation in the presence of delegates who refuse to delete because it will
14882        change the selection even if the delete is disallowed.
14883        (-[WebView deleteWordBackward:]): Implement by calling moveBackwardAndModifySelection: and then delete:.
14884        Same issue about about delegates as deleteWordForward:.
14885
14886        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Added a FIXME.
14887
14888        * DOM.subproj/DOMViews.h: Updated from recent change to WebCore.
14889
148902004-05-21  Richard Williamson   <rjw@apple.com>
14891
14892        Removed _bindObject:forFrame: SPI.
14893
14894        Reviewed by Chris.
14895
14896        * WebView.subproj/WebView.m:
14897        * WebView.subproj/WebViewPrivate.h:
14898
14899=== Safari-141 ===
14900
149012004-05-21  Darin Adler  <darin@apple.com>
14902
14903        Reviewed by Ken and Chris.
14904
14905        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Call replaceSelectionWithText:
14906        instead of replaceSelectionWithMarkupString: when pasting plain text.
14907
14908        * WebView.subproj/WebDataSource.m: (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]):
14909        Remove bogus check for empty markup. There's nothing wrong with an empty string, and no reason
14910        that replacing with empty string should be a no-op instead of a delete.
14911
149122004-05-20  Darin Adler  <darin@apple.com>
14913
14914        Reviewed by Chris.
14915
14916        - fixed <rdar://problem/3662383>: (REGRESSION: drag slide-back sometimes causes link to load)
14917
14918        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge handleMouseDragged:]):
14919        Added BOOL result to handleMouseDragged:.
14920        * WebView.subproj/WebHTMLViewPrivate.h: Added BOOL result to _handleMouseDragged:.
14921
14922        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): Added BOOL result,
14923        returning YES when the drag started, and no when the hysteresis has not yet been overcome.
14924
149252004-05-20  Ken Kocienda  <kocienda@apple.com>
14926
14927        Reviewed by Hyatt
14928
14929        Provide the methods to glue the WebView's editing delegate so that these methods work:
14930        
14931        <rdar://problem/3655316>: "Editing: -webViewShouldBeginEditing:inDOMRange: method unimplemented (WebKit editing API)"
14932        <rdar://problem/3655317>: "Editing: -webViewShouldEndEditing:inDOMRange: method unimplemented (WebKit editing API)"
14933
14934        * WebCoreSupport.subproj/WebBridge.m:
14935        (-[WebBridge shouldBeginEditing:]): New method used to glue delegate to focus shifts.
14936        (-[WebBridge shouldEndEditing:]): Ditto.
14937        * WebView.subproj/WebView.m:
14938        (-[WebView _shouldBeginEditingInDOMRange:]): Ditto.
14939        (-[WebView _shouldEndEditingInDOMRange:]): Ditto.
14940        * WebView.subproj/WebViewPrivate.h: Ditto.
14941
149422004-05-20  Richard Williamson   <rjw@apple.com>
14943
14944        Fixed typo in header comment.
14945
14946        Reviewed by Ken.
14947
14948        * Plugins.subproj/WebScriptObject.h:
14949
149502004-05-19  Chris Blumenberg  <cblu@apple.com>
14951
14952        Fixed: <rdar://problem/3462627>: (API: Need a way to disable/customize dragging)
14953
14954        Reviewed by john.
14955
14956        * Misc.subproj/WebNSPasteboardExtras.m:
14957        (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): fixed bug that caused exception
14958        * WebView.subproj/WebDefaultUIDelegate.m:
14959        (-[WebDefaultUIDelegate webView:shouldBeginDragForElement:dragImage:mouseDownEvent:mouseDraggedEvent:]): new, returns YES
14960        (-[WebDefaultUIDelegate webView:dragOperationForDraggingInfo:overElement:]): new, returns [WebView dragOperationForDraggingInfo:]
14961        (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:overElement:]): new, returns YES
14962        * WebView.subproj/WebDocumentInternal.h: added WebDocumentDragging and WebDocumentElement for document dragging
14963        * WebView.subproj/WebDocumentPrivate.h: moved WebDocumentSelection to WebDocumentInternal.h
14964        * WebView.subproj/WebFrame.m:
14965        (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): 
14966        * WebView.subproj/WebHTMLView.h:
14967        * WebView.subproj/WebHTMLView.m:
14968        (+[WebHTMLView _insertablePasteboardTypes]): new 
14969        (-[WebHTMLView _handleMouseDragged:]): call shouldBeginDragForElement:::: delegate API
14970        (-[WebHTMLView _mayStartDragWithMouseDragged:]): call renamed elementAtPoint SPI
14971        (-[WebHTMLView initWithFrame:]): don't register for drag types since this is handled at the WebView
14972        (-[WebHTMLView menuForEvent:]): call renamed elementAtPoint SPI
14973        (-[WebHTMLView _isSelectionEvent:]): call renamed elementAtPoint SPI
14974        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): rather than unregistering drag types on the WebView, just tell it that we're dragging
14975        (-[WebHTMLView draggedImage:endedAt:operation:]): ditto
14976        (-[WebHTMLView _canProcessDragWithDraggingInfo:]): new
14977        (-[WebHTMLView dragOperationForDraggingInfo:]): new WebDocumentDragging SPI
14978        (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): ditto
14979        (-[WebHTMLView concludeDragForDraggingInfo:]): ditto
14980        (-[WebHTMLView elementAtPoint:]): renamed from _elementAtPoint since this is part of the WebDocumentElement SPI
14981        * WebView.subproj/WebHTMLViewPrivate.h:
14982        * WebView.subproj/WebImageView.h:
14983        * WebView.subproj/WebImageView.m:
14984        (-[WebImageView elementAtPoint:]): new
14985        (-[WebImageView menuForEvent:]): call elementAtPoint
14986        (-[WebImageView mouseDragged:]): rather than unregistering drag types on the WebView, just tell it that we're dragging
14987        (-[WebImageView draggedImage:endedAt:operation:]): ditto
14988        * WebView.subproj/WebTextView.h:
14989        * WebView.subproj/WebTextView.m:
14990        (-[WebTextView _elementAtWindowPoint:]): new
14991        (-[WebTextView elementAtPoint:]): new
14992        (-[WebTextView menuForEvent:]): call _elementAtWindowPoint
14993        * WebView.subproj/WebView.h:
14994        * WebView.subproj/WebView.m:
14995        (-[WebViewPrivate dealloc]): removed draggedTypes ivar
14996        (+[WebView URLFromPasteboard:]): implemented
14997        (+[WebView URLTitleFromPasteboard:]): implemented
14998        (-[WebView _registerDraggedTypes]): moved
14999        (-[WebView _frameViewAtWindowPoint:]): new
15000        (-[WebView _draggingDocumentViewAtWindowPoint:]): new
15001        (-[WebView _elementAtWindowPoint:]): new
15002        (-[WebView dragOperationForDraggingInfo:]): updated this API to handle subviews that may want to handle drags
15003        (-[WebView _dragOperationForDraggingInfo:]): new, handles UI delegate for drag control
15004        (-[WebView draggingEntered:]): call _dragOperationForDraggingInfo:
15005        (-[WebView draggingUpdated:]): ditto
15006        (-[WebView concludeDragOperation:]): work with the UI delegate and the subview to handle what happens
15007        * WebView.subproj/WebViewPrivate.h:
15008
150092004-05-19  Richard Williamson   <rjw@apple.com>
15010
15011        Removed extraneous tabs that were added (by XCode?).
15012        
15013        * DOM.subproj/DOM-compat.h:
15014        * Plugins.subproj/WebScriptObject.h:
15015
150162004-05-19  Richard Williamson   <rjw@apple.com>
15017
15018        Updated header copy script to only copy if modified headers
15019        are different.
15020
15021        * copy-webcore-files-to-webkit:
15022
150232004-05-19  Ken Kocienda  <kocienda@apple.com>
15024
15025        Reviewed by Hyatt and Darin
15026
15027        Fix for this bug:
15028        
15029        <rdar://problem/3643230>: "can't tab out of contentEditable Elements"
15030
15031        * WebCoreSupport.subproj/WebBridge.m:
15032        (-[WebBridge interceptEditingKeyEvent:]): Renamed from _editingKeyDown. Also now returns
15033        a BOOL to report whether the event was handled or not.
15034        * WebView.subproj/WebView.m:
15035        (-[WebView _interceptEditingKeyEvent:]): Also renamed from _editingKeyDown. Now includes
15036        a check if the web view is editable and whether the event is a tab key event. If the former
15037        is not true and the latter is, the key is not intercepted. This causes the tab to shift once
15038        the key is processed by other non-editing key-handling mechanisms.
15039        * WebView.subproj/WebViewPrivate.h: Changed declaration due to name change.
15040
150412004-05-19  Ken Kocienda  <kocienda@apple.com>
15042
15043        Reviewed by Hyatt
15044
15045        * WebCoreSupport.subproj/WebBridge.m:
15046        (-[WebBridge isEditable]): Return the isEditable value for the
15047        WebView which contains this bridge's frame.
15048
150492004-05-19  Darin Adler  <darin@apple.com>
15050
15051        - fixed headers with licenses mangled by Xcode auto-indenting
15052
15053        * DOM.subproj/DOMExtensions.h:
15054        * WebCoreSupport.subproj/WebGraphicsBridge.h:
15055        * WebCoreSupport.subproj/WebGraphicsBridge.m:
15056
150572004-05-18  David Hyatt  <hyatt@apple.com>
15058
15059        Improve layout scheduling.
15060        Reviewed by kocienda
15061
15062        * WebView.subproj/WebFrame.m:
15063        (-[WebFrame _transitionToLayoutAcceptable]):
15064        (-[WebFrame _checkLoadCompleteForThisFrame]):
15065        * WebView.subproj/WebHTMLRepresentation.m:
15066        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
15067
150682004-05-18  Richard Williamson   <rjw@apple.com>
15069
15070        Finished implementation of windowScriptObject.
15071                Reviewed by Maciej.
15072
15073        * WebView.subproj/WebView.m:
15074        (-[WebView windowScriptObject]):
15075
150762004-05-18  Richard Williamson   <rjw@apple.com>
15077
15078        Added WebKit portion of webView:windowScriptObjectAvailable:
15079        implementation.  Still need to implement creating the WebScriptObject
15080        wrapper on the WebCore side.
15081        
15082        Reviewed by Maciej.
15083
15084        Removed "_" from _setPageWidthForPrinting:.  This method facilitates
15085        a work-around for carbon printing.  At some point we may make this
15086        method public API.
15087                Reviewed by Chris.
15088
15089        * WebCoreSupport.subproj/WebBridge.m:
15090        (-[WebBridge overrideMediaType]):
15091        (-[WebBridge windowObjectCleared]):
15092        * WebView.subproj/WebDefaultFrameLoadDelegate.m:
15093        (-[WebDefaultFrameLoadDelegate webView:windowScriptObjectAvailable:]):
15094        * WebView.subproj/WebHTMLView.m:
15095        (-[WebHTMLView setPageWidthForPrinting:]):
15096
150972004-05-18  Darin Adler  <darin@apple.com>
15098
15099        Reviewed by John.
15100
15101        - fixed <rdar://problem/3520322>: "can't use <WebKit/HIWebView.h> or <WebKit/CarbonUtils.h> from non-Objective C"
15102
15103        * Carbon.subproj/CarbonUtils.h: Added ifdefs so file compiles when included from non-Objective-C.
15104        Changed style to match other Carbon headers a bit more closely. Also remove unnecessary includes.
15105        * Carbon.subproj/HIWebView.h: Ditto.
15106
15107        - fixed <rdar://problem/3648505>: "this text file scrolls to the second line instead of first when pressing home"
15108
15109        * WebView.subproj/WebFrameView.m:
15110        (-[WebFrameView _scrollToTopLeft]): Scroll to origin.y instead of assuming that top is 0; can be non-0 for text view.
15111        (-[WebFrameView _scrollToBottomLeft]): Use NSMaxY instead of height for the same reason.
15112
151132004-05-17  David Hyatt  <hyatt@apple.com>
15114
15115        Fix for performance regression in PLT caused by not setting _timeOfLastCompletedLoad, causing
15116        page cache to release during the benchmark.
15117        * WebView.subproj/WebFrame.m:
15118        (-[WebFrame _setState:]):
15119
151202004-05-17  Chris Blumenberg  <cblu@apple.com>
15121
15122        Implemented new WebView pasteboard methods. Made a lot of factoring changes related to pasteboard management.
15123
15124        Reviewed by john.
15125
15126        * Misc.subproj/WebNSPasteboardExtras.h:
15127        * Misc.subproj/WebNSPasteboardExtras.m:
15128        (+[NSPasteboard _web_writableTypesForURL]): renamed to not include "drag" these types are also used for copying
15129        (+[NSPasteboard _web_writableTypesForImage]): new
15130        (-[NSPasteboard _web_bestURL]): tweak
15131        (-[NSPasteboard _web_writeURL:andTitle:types:]): take an array of types that this method should write, don't declare the types since this complicates things for the caller
15132        (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): ditto
15133        * Misc.subproj/WebNSViewExtras.m:
15134        (-[NSView _web_dragImage:archive:rect:URL:title:event:]): call renamed methods
15135        * WebView.subproj/WebDefaultContextMenuDelegate.m:
15136        (-[WebDefaultUIDelegate copyLinkToClipboard:]): call code factored out to WebView
15137        (-[WebDefaultUIDelegate copyImageToClipboard:]): ditto
15138        * WebView.subproj/WebDocumentPrivate.h:
15139        * WebView.subproj/WebHTMLView.h:
15140        * WebView.subproj/WebHTMLView.m:
15141        (-[WebHTMLView _selectedRTFData]): new factored out method
15142        (-[WebHTMLView _writeSelectionToPasteboard:]): factored code out to writeSelectionWithPasteboardTypes:toPasteboard:
15143        (-[WebHTMLView _dragImageForLinkElement:]): tweak
15144        (-[WebHTMLView _handleMouseDragged:]): call renamed methods
15145        (-[WebHTMLView pasteboardTypesForSelection]): new
15146        (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new, code moved from _writeSelectionToPasteboard:
15147        * WebView.subproj/WebHTMLViewPrivate.h:
15148        * WebView.subproj/WebImageView.h:
15149        * WebView.subproj/WebImageView.m:
15150        (-[WebImageView writeImageToPasteboard:types:]): call renamed methods
15151        (-[WebImageView copy:]):
15152        (-[WebImageView writeSelectionToPasteboard:types:]): call renamed methods
15153        * WebView.subproj/WebTextView.h:
15154        * WebView.subproj/WebTextView.m:
15155        (-[WebTextView pasteboardTypesForSelection]): new
15156        (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new
15157        * WebView.subproj/WebView.m:
15158        (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]): new
15159        (-[WebView _writeLinkElement:withPasteboardTypes:toPasteboard:]): mew
15160        (-[WebView dragOperationForDraggingInfo:]): implemented API
15161        (-[WebView draggingEntered:]): call API
15162        (-[WebView draggingUpdated:]): ditto
15163        (-[WebView concludeDragOperation:]): ditto
15164        (-[WebView pasteboardTypesForSelection]): implemented API
15165        (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): ditto
15166        (-[WebView pasteboardTypesForElement:]): ditto
15167        (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): ditto
15168        * WebView.subproj/WebViewPrivate.h:
15169
151702004-05-17  Ken Kocienda  <kocienda@apple.com>
15171
15172        Reviewed by John
15173
15174        Remove overrides in WebView for scrollPageDown and scrollPageUp.
15175        NSView behavior gives us just what we want, and there is no
15176        special behavior required for editing.
15177
15178        <rdar://problem/3655364>: "Editing: -scrollPageDown: method unimplemented (WebKit editing API)"
15179        <rdar://problem/3655365>: "Editing: -scrollPageUp: method unimplemented (WebKit editing API)"
15180
15181        * WebView.subproj/WebView.h: Comment methods out and add a note about why.
15182        * WebView.subproj/WebView.m: Remove stubbed out implementation.
15183
151842004-05-14  Vicki Murley  <vicki@apple.com>
15185
15186        Reviewed by mjs.
15187 
15188        <rdar://problem/3642427>: framework marketing number should be 2.0 for DoubleBarrel release
15189
15190        * WebKit.pbproj/project.pbxproj: change CFBundleShortVersionString to 2.0
15191
151922004-05-14  David Hyatt  <hyatt@apple.com>
15193
15194        Eliminate timedLayout.
15195        Reviewed by darin
15196
15197        * WebView.subproj/WebFrame.m:
15198        (-[WebFramePrivate dealloc]):
15199        (-[WebFrame _detachFromParent]):
15200        (-[WebFrame _transitionToLayoutAcceptable]):
15201        (-[WebFrame _setState:]):
15202        (-[WebFrame _checkLoadCompleteForThisFrame]):
15203        (-[WebFrame stopLoading]):
15204        * WebView.subproj/WebFramePrivate.h:
15205
15206=== Safari-140 ===
15207
152082004-05-14  Chris Blumenberg  <cblu@apple.com>
15209
15210        Fixed: <rdar://problem/3655495>: (exception loading applets)
15211
15212        Reviewed by kocienda.
15213
15214        * WebCoreSupport.subproj/WebBridge.m:
15215        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): when calling old cocoa plug-ins, use old keys
15216
152172004-05-14  Chris Blumenberg  <cblu@apple.com>
15218
15219        Fixed: <rdar://problem/3655204>: (repro assertion failure and crash loading java applets)
15220
15221        Reviewed by kocienda.
15222
15223        * WebCoreSupport.subproj/WebBridge.m:
15224        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): call pluginViewWithArguments: for old Cocoa plug-ins
15225
152262004-05-14  Chris Blumenberg  <cblu@apple.com>
15227
15228        Copied headers from WebCore.
15229
15230        * DOM.subproj/DOMCore.h:
15231        * DOM.subproj/DOMEvents.h:
15232
152332004-05-14  Ken Kocienda  <kocienda@apple.com>
15234
15235        Reviewed by me
15236
15237        * Plugins.subproj/WebPluginController.m:
15238        (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Fixed a compile error: undeclared identifier. 
15239        Looked like a typo.
15240
152412004-05-13  Richard Williamson   <rjw@apple.com>
15242
15243        Backed out mistaken change that I didn't mean to checkin.
15244
15245        * WebCoreSupport.subproj/WebBridge.m:
15246        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
15247
152482004-05-13  Richard Williamson   <rjw@apple.com>
15249
15250        Updated to reflect new API.
15251
15252        Reviewed by Chris.
15253
15254        * WebCoreSupport.subproj/WebBridge.m:
15255        (-[WebBridge setIsSelected:forView:]):
15256        * WebView.subproj/WebFrame.m:
15257        (-[WebFrame _reloadForPluginChanges]):
15258
152592004-05-13  Chris Blumenberg  <cblu@apple.com>
15260
15261        Fixed some indenting issues in public headers.
15262
15263        * Plugins.subproj/WebJavaPlugIn.h:
15264        * Plugins.subproj/WebPlugin.h:
15265        * Plugins.subproj/WebScriptObject.h:
15266        * WebView.subproj/WebEditingDelegate.h:
15267        * WebView.subproj/WebFrameView.h:
15268        * WebView.subproj/WebPolicyDelegate.h:
15269        * WebView.subproj/WebResourceLoadDelegate.h:
15270        * WebView.subproj/WebView.h:
15271
152722004-05-13  Ken Kocienda  <kocienda@apple.com>
15273
15274        Reviewed by Chris
15275
15276        Moved -DOMDocument convenience back to private header.
15277        I mistakenly moved it to the public header earlier today.
15278
15279        * WebView.subproj/WebView.h: Removed
15280        * WebView.subproj/WebViewPrivate.h: Re-added
15281
152822004-05-13  Richard Williamson   <rjw@apple.com>
15283
15284        Updated to implementation to reflect new API.  Left old SPI
15285        in place for compatibility.  Can remove when the Java plug-in
15286        updates.
15287
15288        Reviewed by Chris.
15289
15290        * Plugins.subproj/WebPlugin.h:
15291        * Plugins.subproj/WebPluginContainer.h:
15292        * Plugins.subproj/WebPluginController.h:
15293        * Plugins.subproj/WebPluginController.m:
15294        (-[WebPluginController startAllPlugins]):
15295        (-[WebPluginController stopAllPlugins]):
15296        (-[WebPluginController addPlugin:]):
15297        (-[WebPluginController destroyAllPlugins]):
15298        (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
15299        (-[WebPluginController showURL:inFrame:]):
15300        (-[WebPluginController webPlugInContainerShowStatus:]):
15301        (-[WebPluginController showStatus:]):
15302        (-[WebPluginController webPlugInContainerSelectionColor]):
15303        (-[WebPluginController selectionColor]):
15304        (-[WebPluginController webFrame]):
15305
153062004-05-13  Chris Blumenberg  <cblu@apple.com>
15307
15308        - Added stubs for WebView action and drag & drop customization API's
15309        - Fixed: <rdar://problem/3616555>: (API: Make DOM extensions and WebKit DOM operations public)
15310
15311        Reviewed by rjw.
15312
15313        * DOM.subproj/WebDOMOperations.h: added remaining DOM operations
15314        * DOM.subproj/WebDOMOperationsPrivate.h:
15315        * Misc.subproj/WebKit.h: added new public headers
15316        * WebKit.pbproj/project.pbxproj:
15317        * WebKit.exp: added symbol for WebElementDOMNodeKey
15318        * WebView.subproj/WebUIDelegate.h: added new UI delegate methods
15319        * WebView.subproj/WebView.h: added new pasteboard related methods
15320        * WebView.subproj/WebView.m:
15321        (+[WebView URLFromPasteboard:]): new stub
15322        (+[WebView URLTitleFromPasteboard:]): new stub
15323        (-[WebView dragOperationForDraggingInfo:]): new stub
15324        (-[WebView pasteboardTypesForSelection]): new stub
15325        (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): new stub
15326        (-[WebView pasteboardTypesForElement:]): new stub
15327        (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): new stub
15328        * WebView.subproj/WebViewPrivate.h:
15329
153302004-05-13  Richard Williamson   <rjw@apple.com>
15331
15332        Changed imports of all DOM headers.  DOM headers
15333        should be imported using the normal #import <WebCore/foo.h>,
15334        they import is modified when copied to WebKit.
15335
15336        Other approved API changes.  Currently unimplemented.
15337
15338        Reviewed by Chris.
15339
15340        * ChangeLog:
15341        * DOM.subproj/DOM.h:
15342        * DOM.subproj/DOMCSS.h:
15343        * DOM.subproj/DOMCore.h:
15344        * DOM.subproj/DOMEvents.h:
15345        * DOM.subproj/DOMExtensions.h:
15346        * DOM.subproj/DOMHTML.h:
15347        * DOM.subproj/DOMRange.h:
15348        * DOM.subproj/DOMStylesheets.h:
15349        * DOM.subproj/DOMTraversal.h:
15350        * DOM.subproj/DOMViews.h:
15351        * Plugins.subproj/WebPlugin.h:
15352        * Plugins.subproj/WebPluginContainer.h:
15353        * Plugins.subproj/WebPluginPackage.m:
15354        * Plugins.subproj/WebPluginViewFactory.h:
15355        * Plugins.subproj/WebScriptObject.h:
15356        * WebCoreSupport.subproj/WebBridge.m:
15357        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
15358        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
15359        * WebKit.exp:
15360        * WebKit.pbproj/project.pbxproj:
15361        * WebView.subproj/WebFrameLoadDelegate.h:
15362        * WebView.subproj/WebView.h:
15363        * WebView.subproj/WebView.m:
15364        (-[WebView windowScriptObject]):
15365        * copy-webcore-files-to-webkit:
15366
153672004-05-13  Ken Kocienda  <kocienda@apple.com>
15368
15369        Reviewed by Kevin
15370
15371        Move WebKit editing APIs to public API files.
15372
15373        * WebCoreSupport.subproj/WebBridge.m: Add WebEditingDelegate include.
15374        * WebKit.pbproj/project.pbxproj: Go Xcode!
15375        * WebView.subproj/WebDefaultEditingDelegate.m: Remove WebViewPrivate include; add WebEditingDelegate include.
15376        * WebView.subproj/WebEditingDelegate.h: Added. New file.
15377        * WebView.subproj/WebView.h: Move API-approved interfaces to this file.
15378        * WebView.subproj/WebView.m: Add WebEditingDelegate include.
15379        * WebView.subproj/WebViewPrivate.h: Move API-approved interfaces from this file.
15380
153812004-05-12  Chris Blumenberg  <cblu@apple.com>
15382
15383        Fixed: 
15384        <rdar://problem/3633296>: (Japanese input is not working properly in Carbon Web Kit applications (including CarbonWeb))
15385        <rdar://problem/3631390>: (can't toggle between Input Methods (IMEs) using cmd-space in Carbon Web Kit applications)
15386
15387        Reviewed by rjw.
15388
15389        * Carbon.subproj/CarbonWindowAdapter.m:
15390        (-[CarbonWindowAdapter sendSuperEvent:]): call [NSInputContext processInputKeyBindings:inEvent] just as NSApp does
15391        * Carbon.subproj/HIWebView.m:
15392        (HIWebViewEventHandler): [NSApp setWindowsNeedUpdate:YES] must be called before events so that ActivateTSMDocument is called to set an active document. Without an active document, TSM will use a default document which uses a bottom-line input window which we don't want.
15393
153942004-05-11  Chris Blumenberg  <cblu@apple.com>
15395
15396        Fixed:
15397        <rdar://problem/3616537>: (API: Make WebResource, WebArchive and related API's public)
15398        <rdar://problem/3616471>: (API: provide way to get from WebFrame to DOMDocument and vice versa)
15399
15400        Reviewed by rjw.
15401
15402        * DOM.subproj/WebDOMOperations.h:
15403        * DOM.subproj/WebDOMOperations.m:
15404        (-[DOMHTMLFrameElement contentFrame]): new
15405        (-[DOMHTMLIFrameElement contentFrame]): new
15406        (-[DOMHTMLObjectElement contentFrame]): new
15407        * DOM.subproj/WebDOMOperationsPrivate.h:
15408        * Misc.subproj/WebNSImageExtras.m:
15409        (-[NSImage _web_saveAndOpen]): fixed leak
15410        * WebKit.pbproj/project.pbxproj:
15411        * WebView.subproj/WebDataSource.h:
15412        * WebView.subproj/WebDataSource.m:
15413        (-[WebDataSource _addSubresources:]): made private
15414        (-[WebDataSource _archiveWithMarkupString:nodes:]): handle object tags with frame content
15415        (-[WebDataSource _archiveWithCurrentState:]): renamed from _archive, now takes flag
15416        (-[WebDataSource _replaceSelectionWithArchive:]): call renamed _addSubresources
15417        (-[WebDataSource webArchive]): new
15418        (-[WebDataSource mainResource]): new
15419        (-[WebDataSource subresources]): made public
15420        (-[WebDataSource subresourceForURL:]): made public
15421        (-[WebDataSource addSubresource:]): made public
15422        * WebView.subproj/WebDataSourcePrivate.h:
15423        * WebView.subproj/WebDocumentPrivate.h:
15424        * WebView.subproj/WebFrame.h:
15425        * WebView.subproj/WebFrame.m:
15426        (-[WebFrame _loadRequest:subresources:subframeArchives:]): call renamed _addSubresources
15427        (-[WebFrame DOMDocument]): new
15428        (-[WebFrame frameElement]): new
15429        (-[WebFrame loadArchive:]): made public
15430        * WebView.subproj/WebFramePrivate.h:
15431        * WebView.subproj/WebHTMLRepresentation.m:
15432        (-[WebHTMLRepresentation loadArchive]): call renamed _addSubresources
15433        * WebView.subproj/WebImageRepresentation.m:
15434        (-[WebImageRepresentation archive]): call webArchive on WebDataSource
15435
154362004-05-10  Maciej Stachowiak  <mjs@apple.com>
15437
15438        Reviewed by Darin.
15439
15440        - avoid redecoding animated images that are only used once for
15441        ~2.5% iBench speedup (WebCore part of fix)
15442
15443        * WebCoreSupport.subproj/WebImageRenderer.h:
15444        * WebCoreSupport.subproj/WebImageRenderer.m:
15445        (-[WebImageRenderer increaseUseCount]):
15446        (-[WebImageRenderer decreaseUseCount]):
15447        (-[WebImageRenderer retainOrCopyIfNeeded]):
15448
154492004-05-10  Maciej Stachowiak  <mjs@apple.com>
15450
15451        Fix build.
15452
15453        * WebView.subproj/WebFrame.m:
15454
154552004-05-09  Maciej Stachowiak  <mjs@apple.com>
15456
15457        Reviewed by Ken.
15458
15459        - avoid messing with undo manager needlessly for ~1% HTML iBench speedup
15460
15461        * WebCoreSupport.subproj/WebBridge.h:
15462        * WebCoreSupport.subproj/WebBridge.m:
15463        (-[WebBridge registerCommandForUndo:]): mark undo/redo item flag
15464        (-[WebBridge registerCommandForRedo:]): ditto
15465        (-[WebBridge clearUndoRedoOperations]): check flag before removing items,
15466        and clear it after removing them
15467
154682004-05-08  Maciej Stachowiak  <mjs@apple.com>
15469
15470        Reviewed by Darin.
15471
15472        - -[WebFrame childFrames] is so hot that a special internal
15473        version which avoids the copy and autorelease results in a .75%
15474        performance improvement on HTML iBench.
15475
15476        * WebView.subproj/WebFramePrivate.h: Prototype new method.
15477        * WebView.subproj/WebFrame.m:
15478        (-[WebFrame _internalChildFrames]): New method, just returns
15479        internal value instead of copying.
15480
15481        (-[WebFrame _descendantFrameNamed:]): Use it
15482        (-[WebFrame _textSizeMultiplierChanged]): likewise
15483        (-[WebFrame _viewWillMoveToHostWindow:]): likewise
15484        (-[WebFrame _viewDidMoveToHostWindow]): likewise
15485        (-[WebFrame _saveDocumentAndScrollState]): likewise
15486        (-[WebFrame _numPendingOrLoadingRequests:]): likewise
15487        (-[WebFrame _checkLoadComplete]): Refactored this and it's two
15488        helpers a little so we could get away with using
15489        _internalChildFrames.
15490        (-[WebFrame _checkLoadCompleteForThisFrame]): Renamed from
15491        _isLoadComplete
15492        (-[WebFrame _recursiveCheckLoadComplete]): renamed from (class
15493        method) _recursiveCheckCompleteFromFrame:
15494        * WebView.subproj/WebDataSource.m:
15495        (-[WebDataSource _defersCallbacksChanged]): Use it
15496        (-[WebDataSource isLoading]): likewise
15497        * WebView.subproj/WebView.m:
15498        (-[WebView _frameForDataSource:fromFrame:]): likewise
15499        (-[WebView _frameForView:fromFrame:]): likewise
15500
155012004-05-10  Chris Blumenberg  <cblu@apple.com>
15502
15503        Forgot to commit this copied header.
15504
15505        * DOM.subproj/DOMExtensions.h:
15506
15507=== Safari-139 ===
15508
155092004-05-06  Chris Blumenberg  <cblu@apple.com>
15510
15511        * DOM.subproj/WebDOMOperations.h: improved a header doc comment
15512
155132004-05-05  Chris Blumenberg  <cblu@apple.com>
15514
15515        - DOM Extensions API tweaks
15516
15517        Reviewed by kocienda.
15518
15519        * DOM.subproj/DOMExtensions.h: copied from WebCore
15520        * DOM.subproj/WebDOMOperations.h: added header doc comments
15521        * DOM.subproj/WebDOMOperations.m:
15522        (-[DOMNode _URLsFromSelectors:]): use renamed URLWithAttributeString
15523        (-[DOMDocument URLWithAttributeString:]): renamed
15524        (-[DOMHTMLTableElement _web_background]): new private method
15525        (-[DOMHTMLTableElement _subresourceURLs]): use new private method
15526        (-[DOMHTMLTableCellElement _web_background]): new private method
15527        (-[DOMHTMLTableCellElement _subresourceURLs]): use new private method
15528
155292004-05-04  Ken Kocienda  <kocienda@apple.com>
15530
15531        Reviewed by Hyatt
15532
15533        * DOM.subproj/DOMTraversal.h: File coppied from WebCore
15534
155352004-05-02  Darin Adler  <darin@apple.com>
15536
15537        Reviewed by Ken.
15538
15539        - fixed <rdar://problem/3640419>: "_webkit_stringByReplacingValidPercentEscapes does not handle %00 properly"
15540
15541        * Misc.subproj/WebNSURLExtras.m: (-[NSString _webkit_stringByReplacingValidPercentEscapes]):
15542        Use the function in NSURL instead of implementing our own here.
15543
155442004-04-30  John Sullivan  <sullivan@apple.com>
15545
15546        * WebView.subproj/WebView.m:
15547        fixed deployment build breakage
15548        
155492004-04-30  John Sullivan  <sullivan@apple.com>
15550
15551        - more work on getting the font panel to work with editable HTML.
15552        The font panel in Blot now correctly reflects the first selected font when the
15553        selection is at least one character long.
15554
15555        Reviewed by Ken.
15556
15557        * WebView.subproj/WebView.m:
15558        removed unfinished plumbing to support reflecting selected attributes (e.g. text color,
15559        underline) in font panel, since this doesn't work in Mail or TextEdit either.
15560        (_fontFromStyle):
15561        removed assertion for now
15562        (-[WebView _updateFontPanel]):
15563        now uses new bridge method to get the NSFont from the node, instead of trying
15564        to create an NSFont from a DOMCSSStyleDeclaration
15565
155662004-04-29  John Sullivan  <sullivan@apple.com>
15567
15568        - more work on getting the font panel to work with editable HTML
15569
15570        Reviewed by Ken.
15571
15572        * WebView.subproj/WebView.m:
15573        (-[WebView computedStyleForElement:pseudoElement:]):
15574        convert nil pseudoElement to empty string because lower level chokes on nil
15575        (_fontFromStyle):
15576        I tried to implement this, but was thwarted by missing API, so I added a
15577        bunch of FIXMEs instead
15578        (_stylesRepresentSameFont):
15579        new function, not yet implementable
15580        (_stylesRepresentSameAttributes):
15581        new function, not yet implementable
15582        (-[WebView _updateFontPanel]):
15583        added code to get first and last element in selection, and to use
15584        NodeIterator to walk through the entire selection to see if more than one
15585        font or set of attributes is in use. However, createNodeIterator is declared
15586        in DOMTraversal.h but not actually defined anywhere, so I had to prevent this
15587        code from actually being called.
15588
155892004-04-28  Chris Blumenberg  <cblu@apple.com>
15590
15591        - Made WebArchive and WebResource conform to NSCoding and NSCopying.
15592
15593        Reviewed by rjw.
15594
15595        * DOM.subproj/WebDOMOperations.h: added header doc comment for WebArchive methods
15596        * WebView.subproj/WebArchive.h:
15597        * WebView.subproj/WebArchive.m:
15598        (-[WebArchive initWithCoder:]): new
15599        (-[WebArchive encodeWithCoder:]): new
15600        (-[WebArchive copyWithZone:]): new
15601        * WebView.subproj/WebResource.h:
15602        * WebView.subproj/WebResource.m:
15603        (-[WebResource init]): new
15604        (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call [self init]
15605        (-[WebResource initWithCoder:]): new
15606        (-[WebResource encodeWithCoder:]): new
15607        (-[WebResource copyWithZone:]): new
15608
156092004-04-28  John Sullivan  <sullivan@apple.com>
15610
15611        A little bit more progress in wiring up the font panel.
15612
15613        Reviewed by Ken.
15614
15615        * WebView.subproj/WebViewInternal.h:
15616        put _updateFontPanel here. Also moved _isLoading here, since it was
15617        already in a category named WebInternal
15618
15619        * WebView.subproj/WebView.m:
15620        (-[WebView _isLoading]):
15621        moved into WebInternal category implementation
15622        (_textAttributesFromStyle):
15623        changed from method to function
15624        (_fontFromStyle):
15625        added, guts not filled in yet
15626        (-[WebView _updateFontPanel]):
15627        now calls these two functions (but results are always nil)
15628        (-[WebView setSelectedDOMRange:affinity:]):
15629        remove call to _updateFontPanel here since it's now called in
15630        the proper bottleneck
15631
15632        * WebCoreSupport.subproj/WebBridge.m:
15633        (-[WebBridge postDidChangeNotification]):
15634        call -[WebView _updateFontPanel] in addition to sending notification
15635        (-[WebBridge postDidChangeSelectionNotification]):
15636        ditto
15637
156382004-04-28  John Sullivan  <sullivan@apple.com>
15639
15640        - fixed these bugs:
15641        <rdar://problem/3636570>: "API: [WebPreferences tabsToLinks] should be public API"        
15642        <rdar://problem/3610597>: "API: could turn "stealth browsing" preference into API"
15643
15644        Reviewed by Darin.
15645        
15646        I just moved the declarations and implementations from one place to another.
15647        (No clients in WebKit needed their #imports updated.) This confused cvs diff quite a bit.
15648
15649        * WebView.subproj/WebPreferences.h:
15650        * WebView.subproj/WebPreferences.m:
15651        (-[WebPreferences setTabsToLinks:]):
15652        (-[WebPreferences tabsToLinks]):
15653        (-[WebPreferences setPrivateBrowsingEnabled:]):
15654        (-[WebPreferences privateBrowsingEnabled]):
15655        (-[WebPreferences _pageCacheSize]):
15656        (-[WebPreferences _objectCacheSize]):
15657        (-[WebPreferences _backForwardCacheExpirationInterval]):
15658        * WebView.subproj/WebPreferencesPrivate.h:
15659
156602004-04-27  David Hyatt  <hyatt@apple.com>
15661
15662        Cut the time spent on an operation inside widthForNextCharacter from 17% of the function time down to less than 
15663        5% merely by adding a check for non-zero letter-spacing (thus avoiding double precision math in the 
15664        common case where we just add 0 between letters).
15665        Reviewed by rjw
15666
15667        * WebCoreSupport.subproj/WebTextRenderer.m:
15668        (widthForNextCharacter):
15669
156702004-04-28  John Sullivan  <sullivan@apple.com>
15671
15672        Initial plumbing to get the font panel to be updated from an editable
15673        WebView.
15674
15675        Reviewed by Ken.
15676
15677        * WebView.subproj/WebView.m:
15678        (-[WebView _textAttributesFromStyle:]):
15679        new dummy method, will need implementation
15680        (-[WebView _updateFontPanel]):
15681        new method, sets the font shown in the font panel from the current
15682        selection. Lots of placeholder stuff.
15683        (-[WebView setSelectedDOMRange:affinity:]):
15684        call _updateFontPanel here for now.
15685
156862004-04-28  Ken Kocienda  <kocienda@apple.com>
15687
15688        Reviewed by Darin
15689
15690        * WebCoreSupport.subproj/WebBridge.m:
15691        (-[WebBridge postDidChangeNotification]): Posts Cocoa notification when the document changes
15692        due to editing.
15693        (-[WebBridge postDidChangeSelectionNotification]): Posts Cocoa notification when the document selection
15694        changes.
15695        * WebKit.exp: Export editing notification string constants.
15696        * WebView.subproj/WebView.m: Define editing notification string constants.
15697        (-[WebView computedStyleForElement:pseudoElement:]): Add implementation.
15698        (-[WebView setEditingDelegate:]): Do work to set up delegate to receive notification callbacks.
15699        (-[WebView DOMDocument]): Simplify to just call the bridge DOMDocument. No need to jump through hoops here.
15700        (-[WebView insertNewline:]): Consult delegate before taking action.
15701        (-[WebView deleteBackward:]): Ditto.
15702        (-[WebView insertText:]): Ditto.
15703
157042004-04-27  John Sullivan  <sullivan@apple.com>
15705
15706        Fixed broken development build.
15707
15708        * WebView.subproj/WebFrame.m:
15709        (-[WebFrame _transitionToLayoutAcceptable]):
15710        updated bad variable name used only in LOG statement to match
15711        recent change.
15712
157132004-04-27  Richard Williamson   <rjw@apple.com>
15714
15715        Fixes for:
15716
15717        <rdar://problem/3279301>: API: WebKitErrorCannotFindPlugin and WebKitErrorCannotLoadPlugin should use PlugIn
15718        <rdar://problem/3278513>: API: Need API to control the size of WebHistory
15719        <rdar://problem/3564519>: API: please add a way to set the media type for a WebView
15720        <rdar://problem/3565642>: API: allow a way to extend the MIME types that a WebView will display
15721        <rdar://problem/3577693>: API: add ability to subclass WebView but still use it with Carbon
15722        
15723        Reviewed by Chris.
15724
15725        * Carbon.subproj/HIWebView.h:
15726        * Carbon.subproj/HIWebView.m:
15727        (HIWebViewCreate):
15728        (HIWebViewCreateWithClass):
15729        (HIWebViewConstructor):
15730        * History.subproj/WebHistory.h:
15731        * History.subproj/WebHistory.m:
15732        (-[WebHistoryPrivate setHistoryAgeInDaysLimit:]):
15733        (-[WebHistoryPrivate historyAgeInDaysLimit]):
15734        (-[WebHistoryPrivate setHistoryItemLimit:]):
15735        (-[WebHistoryPrivate historyItemLimit]):
15736        (-[WebHistoryPrivate _ageLimitDate]):
15737        (-[WebHistoryPrivate arrayRepresentation]):
15738        (-[WebHistory setHistoryItemLimit:]):
15739        (-[WebHistory historyItemLimit]):
15740        (-[WebHistory setHistoryAgeInDaysLimit:]):
15741        (-[WebHistory historyAgeInDaysLimit]):
15742        * History.subproj/WebHistoryPrivate.h:
15743        * Misc.subproj/WebKitErrors.h:
15744        * Misc.subproj/WebKitErrors.m:
15745        (registerErrors):
15746        * Plugins.subproj/WebNetscapePluginDocumentView.m:
15747        (-[WebNetscapePluginDocumentView setDataSource:]):
15748        * WebCoreSupport.subproj/WebBridge.m:
15749        (-[WebBridge isViewSelected:]):
15750        (-[WebBridge overrideMediaType]):
15751        * WebView.subproj/WebView.h:
15752        * WebView.subproj/WebView.m:
15753        (-[WebViewPrivate dealloc]):
15754        (+[WebView MIMETypesShownAsHTML]):
15755        (+[WebView setMIMETypesShownAsHTML:]):
15756        (-[WebView customUserAgent]):
15757        (-[WebView setMediaStyle:]):
15758        (-[WebView mediaStyle]):
15759        * WebView.subproj/WebViewPrivate.h:
15760
157612004-04-27  David Hyatt  <hyatt@apple.com>
15762
15763        Eliminate the preferences for timed/resource layouts.  Accessing them is now taking 0.5% on the cvs-base
15764        test, so we're just going to hardcode the values instead.
15765        Reviewed by mjs
15766
15767        * WebView.subproj/WebFrame.m:
15768        (-[WebFrame _transitionToLayoutAcceptable]):
15769        (-[WebFrame _isLoadComplete]):
15770        * WebView.subproj/WebPreferences.m:
15771        (+[WebPreferences initialize]):
15772        (-[WebPreferences _objectCacheSize]):
15773        * WebView.subproj/WebPreferencesPrivate.h:
15774        * WebView.subproj/WebView.m:
15775        (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]):
15776
157772004-04-27  Ken Kocienda  <kocienda@apple.com>
15778
15779        Reviewed by Hyatt
15780        
15781        Make selections draw in a more Cocoa-like way, where
15782        fully-selected lines draw out to the ends of lines, and
15783        spaces between lines are drawn with the selection color as well.
15784
15785        * Misc.subproj/WebKitNSStringExtras.m: Use new WebCoreTextGeometry struct. No change in functionality.
15786        * WebCoreSupport.subproj/WebTextRenderer.m:
15787        (-[WebTextRenderer drawRun:style:geometry:]): Use new WebCoreTextGeometry struct. No change in functionality.
15788        (-[WebTextRenderer drawHighlightForRun:style:geometry:]): Ditto.
15789        (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]): Many changes to add the new selection drawing behavior.
15790        (-[WebTextRenderer _CG_drawRun:style:geometry:]):  Use new WebCoreTextGeometry struct. No change in functionality.
15791        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Many changes to add the new selection drawing behavior.
15792        (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):  Use new WebCoreTextGeometry struct. No change in functionality.
15793
157942004-04-26  Richard Williamson   <rjw@apple.com>
15795
15796        Added support for specifying composite operation on an
15797        image element, i.e.:
15798
15799        <img composite="source-over" src="triangle.png">
15800        <img style="position:relative; left:-200px;" composite="destination-in" src="circle.png">
15801
15802        This feature was requested by the dashboard guys.  They can use it to apply
15803        transparency masks to widgies.
15804
15805
15806        Reviewed by Ken.
15807
15808        * WebCoreSupport.subproj/WebImageRenderer.h:
15809        * WebCoreSupport.subproj/WebImageRenderer.m:
15810        (-[WebImageRenderer initWithMIMEType:]):
15811        (-[WebImageRenderer initWithData:MIMEType:]):
15812        (-[WebImageRenderer initWithContentsOfFile:]):
15813        (-[WebImageRenderer copyWithZone:]):
15814        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
15815        (-[WebImageRenderer drawImageInRect:fromRect:]):
15816        (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:]):
15817
158182004-04-26  Chris Blumenberg  <cblu@apple.com>
15819
15820        More header doc changes after John's review.
15821        * WebView.subproj/WebDataSourcePrivate.h:
15822        * WebView.subproj/WebResource.h:
15823
158242004-04-26  Chris Blumenberg  <cblu@apple.com>
15825
15826        * WebView.subproj/WebDataSourcePrivate.h: added some header doc comments
15827        * WebView.subproj/WebFramePrivate.h: fixed header doc typo
15828
158292004-04-24  Darin Adler  <darin@apple.com>
15830
15831        Reviewed by Dave.
15832
15833        * Misc.subproj/WebNSURLExtras.m: (hexDigit): Use capitalized hex, not lowercase, for consistency
15834        with similar functions in WebCore and what other web browsers do.
15835
158362004-04-23  Darin Adler  <darin@apple.com>
15837
15838        Reviewed by Maciej.
15839
15840        - fixed <rdar://problem/3627362>: "bad access with libgmalloc in -[_WebCoreHistoryProvider containsItemForURLUnicode:length:]"
15841
15842        * History.subproj/WebHistory.m:
15843        (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]): Add range checks so we
15844        don't overrun the buffer while looking for slashes.
15845
158462004-04-23  Chris Blumenberg  <cblu@apple.com>
15847
15848        Reviewed by John
15849
15850        Added header doc comments to proposed API's.
15851
15852        * WebView.subproj/WebArchive.h:
15853        * WebView.subproj/WebFramePrivate.h:
15854        * WebView.subproj/WebResource.h:
15855
15856=== Safari-138 ===
15857
158582004-04-23  Ken Kocienda  <kocienda@apple.com>
15859
15860        Reviewed by John
15861
15862        Added some plumbing for applying styles.
15863
15864        * DOM.subproj/DOMExtensions.h: Copied from WebCore.
15865        * WebView.subproj/WebView.m:
15866        (-[WebView DOMDocument]): Added new helper.
15867        (-[WebView styleDeclarationWithText:]): Added new helper.
15868        * WebView.subproj/WebViewPrivate.h: Declare above methods.
15869
158702004-04-22  Richard Williamson   <rjw@apple.com>
15871
15872        Updates to plugin binding APIs.
15873        Updates to Java plugin APIs.
15874        Transparency fix for Dashboard.
15875        Reviewed by John and Greg Bolsinga.
15876
15877        * Plugins.subproj/WebPluginJava.h: Added.
15878        New API for Java plugin.        
15879
15880        * Plugins.subproj/npfunctions.h:
15881        * Plugins.subproj/npruntime.h:
15882        (_NPString::):
15883        (_NPString::_NPVariant::):
15884        * Plugins.subproj/npsap.h: Added.
15885        New API for plugin bindings.        
15886
15887        * WebView.subproj/WebHTMLView.m:
15888        (-[WebHTMLView drawRect:]):
15889        Update for Dashboard.  View must fill with transparency when not
15890        drawing background.        
15891
15892        * copy-webcore-files-to-webkit:
15893
158942004-04-22  Ken Kocienda  <kocienda@apple.com>
15895
15896        Reviewed by Hyatt
15897
15898        More work to bring code up to date with the latest API proposal. Note that
15899        all of the replaceXXX methods below now operate on the current selection, so
15900        the method implementations have been simplifed accordingly.
15901
15902        * WebView.subproj/WebDataSource.m:
15903        (-[WebDataSource _replaceSelectionWithArchive:]): New name for _replaceSelectionWithWebArchive.
15904        * WebView.subproj/WebDataSourcePrivate.h: Ditto.
15905        * WebView.subproj/WebDefaultEditingDelegate.m:
15906        (-[WebDefaultEditingDelegate webViewShouldBeginEditing:inDOMRange:]): Added inDOMRange: parameter.
15907        (-[WebDefaultEditingDelegate webViewShouldEndEditing:inDOMRange:]): Ditto.
15908        (-[WebDefaultEditingDelegate webView shouldChangeSelectedDOMRange:toDOMRange:proposedRange affinity:stillSelecting:]):
15909        Missed adding affinity in last patch.
15910        * WebView.subproj/WebHTMLView.m:
15911        (-[WebHTMLView _pasteFromPasteboard:]): Call old method with new name: _replaceSelectionWithArchive
15912        * WebView.subproj/WebView.m:
15913        (-[WebView replaceSelectionWithNode:]): New version of insertNode:replacingDOMRange:
15914        (-[WebView replaceSelectionWithText:]): New version of insertText:replacingDOMRange:
15915        (-[WebView replaceSelectionWithMarkupString:]): New version of insertMarkupString:replacingDOMRange:
15916        (-[WebView replaceSelectionWithArchive:]): New version of insertWebArchive:replacingDOMRange:
15917        (-[WebView deleteSelection]): New version of deleteDOMRange:
15918        (-[WebView applyStyle:]): New version of applyStyle:toElementsInDOMRange:
15919        * WebView.subproj/WebViewPrivate.h:
15920
159212004-04-22  Ken Kocienda  <kocienda@apple.com>
15922
15923        Reviewed by John
15924
15925        Adds the notion of selection affinity to the editing API, bringing it up to
15926        date with the latest proposal.
15927
15928        * WebView.subproj/WebView.m:
15929        (-[WebView _alterCurrentSelection:direction:granularity:]): Pass selection affinity
15930        to the delegate. We can just pass the current one since this does not change with arrow keys.
15931        (-[WebView setSelectedDOMRange:affinity:]): Set the affinity on the selection.
15932        (-[WebView selectionAffinity]): New accessor.
15933        (-[WebView insertNode:replacingDOMRange:]): Change to pass selection affinity to call
15934        to set selection. This is just to get the code to compile for now, since this method
15935        will soon be removed in place of a similar one from the latest proposal that always
15936        works on the current selection.
15937        (-[WebView insertText:replacingDOMRange:]): Ditto.
15938        (-[WebView insertMarkupString:replacingDOMRange:]): Ditto.
15939        (-[WebView insertWebArchive:replacingDOMRange:]): Ditto.
15940        (-[WebView deleteDOMRange:]): Ditto.
15941        (-[WebView applyStyle:toElementsInDOMRange:]): Ditto.
15942        * WebView.subproj/WebViewPrivate.h: Add selection affinity to API declarations as needed.
15943
159442004-04-22  Ken Kocienda  <kocienda@apple.com>
15945
15946        Reviewed by Darin
15947
15948        Work around this bug:
15949        <rdar://problem/3630640>: "Calling interpretKeyEvents: in a custom text view can fail to process keys right after app startup"
15950
15951        * WebView.subproj/WebView.m:
15952        (-[WebView _editingKeyDown:]): The issue is with a message to nil in AppKit
15953        key binding manager code. Add call to [NSKeyBindingManager sharedKeyBindingManager] to make
15954        sure the not-supposed-to-be-nil object is created before calling interpretKeyEvents:.
15955
159562004-04-22  Ken Kocienda  <kocienda@apple.com>
15957
15958        Reviewed by Hyatt
15959
15960        Added calls to ensure caret visibility after the editing action is done.
15961
15962        * WebView.subproj/WebView.m:
15963        (-[WebView _alterCurrentSelection:direction:granularity:]):
15964        (-[WebView insertNewline:]):
15965        (-[WebView deleteBackward:]):
15966        (-[WebView insertText:]):
15967
159682004-04-20  Chris Blumenberg  <cblu@apple.com>
15969
15970        Fixed: <rdar://problem/3605209>: "HITLIST: REGRESSION (131-132): iframes/frames no longer dump on layout tests"
15971
15972        Reviewed by hyatt.
15973
15974        * WebView.subproj/WebHTMLRepresentation.m:
15975        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): the encoding was not being set in the about:blank case. Call receivedData:textEncodingName: as we did in the past to set it.
15976
159772004-04-20  Ken Kocienda  <kocienda@apple.com>
15978
15979        Reviewed by Hyatt
15980
15981         Added implementations for these methods.
15982
15983        * WebView.subproj/WebView.m:
15984        (-[WebView moveUpAndModifySelection:]):
15985        (-[WebView moveWordLeft:]):
15986        (-[WebView moveWordLeftAndModifySelection:]):
15987        (-[WebView moveWordRight:]):
15988        (-[WebView moveWordRightAndModifySelection:]):
15989
159902004-04-20  John Sullivan  <sullivan@apple.com>
15991
15992        - fixed <rdar://problem/3622393>: When in stealth mode, visited webpage 
15993        contents should not be cached to disk
15994
15995        Reviewed by Ken.
15996
15997        * WebView.subproj/WebBaseResourceHandleDelegate.m:
15998        (-[WebBaseResourceHandleDelegate willCacheResponse:]):
15999        if will cache to disk and in stealth mode, replace cache response with
16000        an identical one that won't cache to disk.
16001
160022004-04-19  Ken Kocienda  <kocienda@apple.com>
16003
16004        Reviewed by Hyatt
16005
16006        * WebView.subproj/WebView.m:
16007        (-[WebView moveDown:]): Added implementation.
16008        (-[WebView moveUp:]): Added implementation.
16009
160102004-04-19  Chris Blumenberg  <cblu@apple.com>
16011
16012        Added support for pasting frames via WebArchives.
16013
16014        Reviewed by kocienda.
16015
16016        * WebView.subproj/WebDataSource.m:
16017        (-[WebDataSource _addSubframeArchives:]): renamed, now allows subframe archives to be added at anytime
16018        (-[WebDataSource _popSubframeArchiveWithName:]): renamed, now deletes the returned subframe to consume less memory
16019        (-[WebDataSource _replaceSelectionWithWebArchive:]): added support for subframes
16020        * WebView.subproj/WebDataSourcePrivate.h:
16021        * WebView.subproj/WebFrame.m:
16022        (-[WebFrame _loadRequest:subresources:subframeArchives:]): call renamed methods
16023        (-[WebFrame _loadURL:intoChild:]): ditto
16024        * WebView.subproj/WebHTMLRepresentation.m:
16025        (-[WebHTMLRepresentation loadArchive]): ditto
16026
16027=== Safari-137 ===
16028
160292004-04-16  Richard Williamson   <rjw@apple.com>
16030
16031        Added an SPI to allow ObjC instances to be easily bound to 
16032        JS.  This is needed by the dashboard guys for their prototyping.
16033        Eventually they will use new API.
16034
16035        Reviewed by Chris.
16036
16037        * WebView.subproj/WebView.m:
16038        (-[WebView _bindObject:withName:toFrame:]):
16039        * WebView.subproj/WebViewPrivate.h:
16040
160412004-04-16  Chris Blumenberg  <cblu@apple.com>
16042
16043        Fixed: <rdar://problem/3587599>: Mail Page, Web Archives don't preserve subframes
16044        Moved code that assembled subresource URLs from DOM nodes from WebCore to WebKit.
16045
16046        Reviewed by rjw.
16047
16048        * DOM.subproj/DOMExtensions.h: copied from WebCore
16049        * DOM.subproj/WebDOMOperations.h:
16050        * DOM.subproj/WebDOMOperations.m:
16051        (-[DOMNode webArchive]): call renamed methods
16052        (-[DOMNode markupString]): ditto
16053        (-[DOMNode _URLsFromSelectors:]): new, returns array of URLs given selectors
16054        (-[DOMNode _subresourceURLs]): new, base class does nothing, subclasses call _URLsFromSelectors with URL selectors
16055        (-[DOMDocument webFrame]): new
16056        (-[DOMRange webArchive]): call renamed methods
16057        (-[DOMRange markupString]): ditto
16058        (-[DOMHTMLBodyElement _subresourceURLs]): new
16059        (-[DOMHTMLInputElement _subresourceURLs]): new
16060        (-[DOMHTMLLinkElement _subresourceURLs]): new
16061        (-[DOMHTMLScriptElement _subresourceURLs]): new
16062        (-[DOMHTMLImageElement _subresourceURLs]): new
16063        (-[DOMHTMLEmbedElement _subresourceURLs]): new
16064        (-[DOMHTMLObjectElement _subresourceURLs]): new
16065        (-[DOMHTMLParamElement _subresourceURLs]): new
16066        (-[DOMHTMLTableElement _subresourceURLs]): new
16067        (-[DOMHTMLTableCellElement _subresourceURLs]): new
16068        * WebKit.pbproj/project.pbxproj:
16069        * WebView.subproj/WebArchive.h:
16070        * WebView.subproj/WebArchive.m:
16071        (-[WebArchivePrivate dealloc]): release new subframeArchives ivar
16072        (-[WebArchive initWithMainResource:subresources:subframeArchives:]): take subframeArchives
16073        (-[WebArchive _initWithPropertyList:]): new, recursively creates WebArchives
16074        (-[WebArchive initWithData:]): call _initWithPropertyList
16075        (-[WebArchive subframeArchives]): new
16076        (-[WebArchive _propertyListRepresentation]): new, recursively creates property lists of WebArchives
16077        (-[WebArchive data]): call _propertyListRepresentation
16078        * WebView.subproj/WebBaseResourceHandleDelegate.m:
16079        (-[WebBaseResourceHandleDelegate saveResource]): call renamed methods
16080        * WebView.subproj/WebDataSource.m:
16081        (-[WebDataSourcePrivate dealloc]): release new pendingSubframeArchives ivar
16082        (-[WebDataSource _archiveWithMarkupString:nodes:]): renamed and reimplemented, handles subframes
16083        (-[WebDataSource _archive]): new
16084        (-[WebDataSource _setPendingSubframeArchives:]): new
16085        (-[WebDataSource _archiveForFrameName:]): new
16086        * WebView.subproj/WebDataSourcePrivate.h:
16087        * WebView.subproj/WebFrame.m:
16088        (-[WebFrame loadArchive:]): handle subframes
16089        (-[WebFrame _loadRequest:subresources:subframeArchives:]): ditto
16090        (-[WebFrame _loadURL:intoChild:]): use the subframe archive if we have it
16091        (-[WebFrame loadRequest:]): call renamed methods
16092        * WebView.subproj/WebFramePrivate.h:
16093        * WebView.subproj/WebHTMLRepresentation.m:
16094        (-[WebHTMLRepresentation loadWebArchive]): call renamed methods and handle subframes
16095        * WebView.subproj/WebHTMLView.m:
16096        (-[WebHTMLView _selectedArchive:]): call renamed methods
16097        (-[WebHTMLView _pasteFromPasteboard:]): call renamed methods
16098        * WebView.subproj/WebHTMLViewPrivate.h:
16099        * WebView.subproj/WebImageRepresentation.h:
16100        * WebView.subproj/WebImageRepresentation.m: instead of storing some items from the data source, just store the data source
16101        (-[WebImageRepresentation dealloc]): removed use of deleted ivars
16102        (-[WebImageRepresentation URL]): use dataSource instead of ivar
16103        (-[WebImageRepresentation doneLoading]): use new boolean ivar
16104        (-[WebImageRepresentation setDataSource:]): store the data source
16105        (-[WebImageRepresentation receivedData:withDataSource:]): use dataSource instead of ivar
16106        (-[WebImageRepresentation receivedError:withDataSource:]): ditto
16107        (-[WebImageRepresentation finishedLoadingWithDataSource:]): ditto
16108        (-[WebImageRepresentation title]): ditto
16109        (-[WebImageRepresentation data]): ditto
16110        (-[WebImageRepresentation filename]): ditto
16111        (-[WebImageRepresentation archive]): ditto
16112        * WebView.subproj/WebResource.h:
16113        * WebView.subproj/WebResource.m:
16114        (-[WebResourcePrivate dealloc]): release new frame name ivar
16115        (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): take a frame name
16116        (-[WebResource frameName]): new
16117        (-[WebResource _initWithPropertyList:]): handle frame name
16118        (-[WebResource _initWithCachedResponse:originalURL:]): call renamed methods
16119        (-[WebResource _propertyListRepresentation]):
16120        * WebView.subproj/WebResourcePrivate.h: handle frame name
16121
161222004-04-15  David Hyatt  <hyatt@apple.com>
16123
16124        Make sure isOpaque returns NO when the WebHTMLVIew doesn't draw its background.
16125        Reviewed by darin
16126
16127        * WebView.subproj/WebFrameView.m:
16128        (-[WebFrameView isOpaque]):
16129        * WebView.subproj/WebHTMLView.m:
16130        (-[WebHTMLView isOpaque]):
16131
161322004-04-15  John Sullivan  <sullivan@apple.com>
16133
16134        * WebView.subproj/WebPreferencesPrivate.h:
16135        added comments
16136
161372004-04-14  Richard Williamson   <rjw@apple.com>
16138
16139        Updated fix for 3576315.  Don't hardcode 22 as the titlebar
16140        height.  (Note, other places in CarbonWindowFrame DO hardcode
16141        window geometry information, yuck!).
16142
16143        Reviewed by Hyatt.
16144
16145        * Carbon.subproj/CarbonWindowFrame.m:
16146
161472004-04-14  John Sullivan  <sullivan@apple.com>
16148
16149        - changed stealth mode preference name from "historyIsFrozen"
16150        to "privateBrowsingEnabled"
16151
16152        Reviewed by Darin.
16153
16154        * WebView.subproj/WebFrame.m:
16155        (-[WebFrame _transitionToCommitted:]):
16156        updated for method name change
16157        
16158        * WebView.subproj/WebPreferences.m:
16159        changed preference key name
16160        (+[WebPreferences initialize]):
16161        updated for preference key name change
16162        (-[WebPreferences setPrivateBrowsingEnabled:]):
16163        changed name from setHistoryIsFrozen:
16164        (-[WebPreferences privateBrowsingEnabled]):
16165        changed name from historyIsFrozen:
16166        
16167        * WebView.subproj/WebPreferencesPrivate.h:
16168        changed declared method names
16169
16170        * English.lproj/StringsNotToBeLocalized.txt:
16171        updated for this and other recent changes
16172
161732004-04-13  Chris Blumenberg  <cblu@apple.com>
16174
16175        - Added WebElementDOMNodeKey as a potential API so that clients can get the node from an element dictionary.
16176        - Removed WebElementIsEditableKey. This functionality is available via [DOMNode isContentEditable].
16177
16178        Reviewed by rjw.
16179
16180        * DOM.subproj/WebDOMOperations.h:
16181        * DOM.subproj/WebDOMOperations.m:
16182        (-[DOMDocument URLWithRelativeString:]): new potential API
16183        * WebView.subproj/WebDefaultContextMenuDelegate.m:
16184        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): indenting tweak
16185        (-[WebDefaultUIDelegate copyImageToClipboard:]): use WebElementDOMNodeKey
16186        * WebView.subproj/WebHTMLView.m:
16187        (-[WebHTMLView _handleMouseDragged:]): use WebElementDOMNodeKey
16188        (-[WebHTMLView _dragOperationForDraggingInfo:]): use isContentEditable
16189        * WebView.subproj/WebView.h:
16190        * WebView.subproj/WebView.m:
16191        * WebView.subproj/WebViewPrivate.h:
16192
161932004-04-13  Chris Blumenberg  <cblu@apple.com>
16194
16195        Fixed deployment build failure.
16196
16197        Reviewed by john.
16198
16199        * WebView.subproj/WebHTMLView.m:
16200        (-[WebHTMLView _handleMouseDragged:]): removed use of fileWrapper variable
16201
162022004-04-12  Chris Blumenberg  <cblu@apple.com>
16203
16204        Factored out WebArchive to DOM code so that it could be used by both [WebHTMLView _pasteFromPasteboard:] and [WebView insertWebArchive:replacingDOMRange:].
16205
16206        Reviewed by kocienda.
16207
16208        * WebView.subproj/WebDataSource.m:
16209        (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]): moved from WebHTMLView
16210        (-[WebDataSource _replaceSelectionWithImageResource:]): ditto
16211        (-[WebDataSource _replaceSelectionWithWebArchive:]): ditto
16212        * WebView.subproj/WebDataSourcePrivate.h:
16213        * WebView.subproj/WebHTMLView.m:
16214        (-[WebHTMLView _replaceSelectionWithMarkupString:]): renamed
16215        (-[WebHTMLView _pasteFromPasteboard:]): call renamed methods
16216        * WebView.subproj/WebView.m:
16217        (-[WebView insertMarkupString:replacingDOMRange:]): call renamed methods
16218        (-[WebView insertWebArchive:replacingDOMRange:]): have data source handle the archive instead of the bridge
16219
162202004-04-12  Ken Kocienda  <kocienda@apple.com>
16221
16222        Reviewed by Dave
16223        
16224        Added execCommand support for cut/copy/paste.
16225
16226        * WebCoreSupport.subproj/WebBridge.m:
16227        (-[WebBridge issueCutCommand]): Glue for calling from WebCore to do a cut in Cocoa.
16228        (-[WebBridge issueCopyCommand]): Same as above, but for copy.
16229        (-[WebBridge issuePasteCommand]): Same as above, but for paste.
16230        * WebView.subproj/WebHTMLView.m:
16231        (-[WebHTMLView copy:]): Move this to private implementation category so the bridge can see it.
16232        (-[WebHTMLView cut:]): Ditto.
16233        (-[WebHTMLView paste:]): Ditto.
16234        * WebView.subproj/WebHTMLViewPrivate.h: Move copy;, cut:, and paste: to private implementation 
16235        category so the bridge can see it.
16236        * WebView.subproj/WebView.m:
16237        (-[WebView copy:]): Implemented by calling WebHTMLView to do the work.
16238        (-[WebView cut:]): Ditto.
16239        (-[WebView paste:]): Ditto.
16240        * WebView.subproj/WebViewPrivate.h: Added all the NSReponder methods we plan to implement as
16241        part of the WebKit editing API.
16242
162432004-04-09  Ken Kocienda  <kocienda@apple.com>
16244
16245        Reviewed by Darin
16246
16247        Stubbed in the entire WebKit editing API, improving some
16248        methods already present in minor ways, and adding those 
16249        methods not yet present.
16250
16251        * WebCoreSupport.subproj/WebBridge.m:
16252        (-[WebBridge editingKeyDown:]):
16253        * WebView.subproj/WebDefaultEditingDelegate.m:
16254        (-[WebDefaultEditingDelegate webView:shouldChangeSelectedDOMRange:toDOMRange:stillSelecting:]):
16255        * WebView.subproj/WebHTMLView.m:
16256        (-[WebHTMLView _pasteMarkupString:]):
16257        * WebView.subproj/WebView.m:
16258        (-[WebView _alterCurrentSelection:direction:granularity:]):
16259        (-[WebView _currentSelectionIsEditable]):
16260        (-[WebView computedStyleForElement:pseudoElement:]):
16261        (-[WebView _editingKeyDown:]):
16262        (-[WebView setEditable:]):
16263        (-[WebView isEditable]):
16264        (-[WebView setTypingStyle:]):
16265        (-[WebView typingStyle]):
16266        (-[WebView setSmartInsertDeleteEnabled:]):
16267        (-[WebView smartInsertDeleteEnabled]):
16268        (-[WebView setContinuousSpellCheckingEnabled:]):
16269        (-[WebView isContinuousSpellCheckingEnabled]):
16270        (-[WebView spellCheckerDocumentTag]):
16271        (-[WebView undoManager]):
16272        (-[WebView insertNode:replacingDOMRange:]):
16273        (-[WebView insertText:replacingDOMRange:]):
16274        (-[WebView insertMarkupString:replacingDOMRange:]):
16275        (-[WebView insertWebArchive:replacingDOMRange:]):
16276        (-[WebView deleteDOMRange:]):
16277        (-[WebView applyStyle:toElementsInDOMRange:]):
16278        (-[WebView centerSelectionInVisibleArea:]):
16279        (-[WebView moveBackward:]):
16280        (-[WebView moveBackwardAndModifySelection:]):
16281        (-[WebView moveDown:]):
16282        (-[WebView moveDownAndModifySelection:]):
16283        (-[WebView moveForward:]):
16284        (-[WebView moveForwardAndModifySelection:]):
16285        (-[WebView moveLeft:]):
16286        (-[WebView moveLeftAndModifySelection:]):
16287        (-[WebView moveRight:]):
16288        (-[WebView moveRightAndModifySelection:]):
16289        (-[WebView moveToBeginningOfDocument:]):
16290        (-[WebView moveToBeginningOfLine:]):
16291        (-[WebView moveToBeginningOfParagraph:]):
16292        (-[WebView moveToEndOfDocument:]):
16293        (-[WebView moveToEndOfLine:]):
16294        (-[WebView moveToEndOfParagraph:]):
16295        (-[WebView moveUp:]):
16296        (-[WebView moveUpAndModifySelection:]):
16297        (-[WebView moveWordBackward:]):
16298        (-[WebView moveWordBackwardAndModifySelection:]):
16299        (-[WebView moveWordForward:]):
16300        (-[WebView moveWordForwardAndModifySelection:]):
16301        (-[WebView moveWordLeft:]):
16302        (-[WebView moveWordLeftAndModifySelection:]):
16303        (-[WebView moveWordRight:]):
16304        (-[WebView moveWordRightAndModifySelection:]):
16305        (-[WebView pageDown:]):
16306        (-[WebView pageUp:]):
16307        (-[WebView scrollLineDown:]):
16308        (-[WebView scrollLineUp:]):
16309        (-[WebView scrollPageDown:]):
16310        (-[WebView scrollPageUp:]):
16311        (-[WebView selectAll:]):
16312        (-[WebView selectParagraph:]):
16313        (-[WebView selectLine:]):
16314        (-[WebView selectWord:]):
16315        (-[WebView copy:]):
16316        (-[WebView cut:]):
16317        (-[WebView paste:]):
16318        (-[WebView copyFont:]):
16319        (-[WebView pasteFont:]):
16320        (-[WebView delete:]):
16321        (-[WebView pasteAsPlainText:]):
16322        (-[WebView pasteAsRichText:]):
16323        (-[WebView changeFont:]):
16324        (-[WebView changeAttributes:]):
16325        (-[WebView changeDocumentBackgroundColor:]):
16326        (-[WebView changeColor:]):
16327        (-[WebView alignCenter:]):
16328        (-[WebView alignJustified:]):
16329        (-[WebView alignLeft:]):
16330        (-[WebView alignRight:]):
16331        (-[WebView indent:]):
16332        (-[WebView insertTab:]):
16333        (-[WebView insertBacktab:]):
16334        (-[WebView insertNewline:]):
16335        (-[WebView insertParagraphSeparator:]):
16336        (-[WebView changeCaseOfLetter:]):
16337        (-[WebView uppercaseWord:]):
16338        (-[WebView lowercaseWord:]):
16339        (-[WebView capitalizeWord:]):
16340        (-[WebView deleteForward:]):
16341        (-[WebView deleteBackward:]):
16342        (-[WebView deleteBackwardByDecomposingPreviousCharacter:]):
16343        (-[WebView deleteWordForward:]):
16344        (-[WebView deleteWordBackward:]):
16345        (-[WebView deleteToBeginningOfLine:]):
16346        (-[WebView deleteToEndOfLine:]):
16347        (-[WebView deleteToBeginningOfParagraph:]):
16348        (-[WebView deleteToEndOfParagraph:]):
16349        (-[WebView complete:]):
16350        (-[WebView checkSpelling:]):
16351        (-[WebView showGuessPanel:]):
16352        (-[WebView performFindPanelAction:]):
16353        (-[WebView startSpeaking:]):
16354        (-[WebView stopSpeaking:]):
16355        (-[WebView insertText:]):
16356        * WebView.subproj/WebViewPrivate.h:
16357
163582004-04-09  Darin Adler  <darin@apple.com>
16359
16360        Reviewed by Ken.
16361
16362        - added "transparent mode"
16363
16364        * WebView.subproj/WebFrameInternal.h: Added. Contains _updateDrawsBackground.
16365        * WebView.subproj/WebFrame.m:
16366        (-[WebFrame _makeDocumentView]): Call _updateDrawsBackground to tell the newly created
16367        KHTMLView whether to draw a background or not.
16368        (-[WebFrame _setState:]): Don't tell the scroll view to start drawing background if the
16369        WebView is not supposed to draw a background.
16370        (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the bridge, and do the
16371        same for all subframes.
16372
16373        * WebView.subproj/WebFrameView.m: (-[WebFrameView setFrameSize:]): Only call setDrawsBackground:YES
16374        on the scroll view if the WebView has drawsBackground set to YES.
16375
16376        * WebView.subproj/WebViewPrivate.h: Added new proposed API, setDrawsBackground and drawsBackground.
16377        Also added drawsBackground boolean to private structure.
16378        * WebView.subproj/WebView.m:
16379        (-[WebView _commonInitializationWithFrameName:groupName:]): Set drawsBackground to YES by default.
16380        (-[WebView setDrawsBackground:]): Added. Sets boolean and calls _updateDrawsBackground to update
16381        the flag for each frame.
16382        (-[WebView drawsBackground]): Added. Returns value of boolean.
16383        (-[WebView _bridgeForCurrentSelection]): Tweaked comment for no good reason.
16384
16385        * WebView.subproj/WebViewInternal.h: Added, but empty for the moment.
16386        * WebView.subproj/WebFramePrivate.h: Tweaked a bit.
16387
163882004-04-08  Chris Blumenberg  <cblu@apple.com>
16389
16390        Fixed:
16391        <rdar://problem/3616873>: support for pasting and drag and dropping of URLS to editable WebViews
16392        <rdar://problem/3546417>: support for pasting and drag and dropping of images to editable WebViews
16393
16394        Reviewed by rjw.
16395
16396        * DOM.subproj/WebDOMOperations.h:
16397        * DOM.subproj/WebDOMOperations.m:
16398        (-[DOMNode webArchive]): renamed from "archive" because "archive" collides with DOMHTMLObjectElement's method
16399        (-[DOMRange webArchive]): ditto
16400        * Misc.subproj/WebNSPasteboardExtras.h:
16401        * Misc.subproj/WebNSPasteboardExtras.m:
16402        (-[NSPasteboard _web_writeImage:URL:title:archive:]): take just an archive instead of an HTML string and file wrapper
16403        * Misc.subproj/WebNSViewExtras.h:
16404        * Misc.subproj/WebNSViewExtras.m:
16405        (-[NSView _web_dragImage:archive:rect:URL:title:event:]): take just an archive instead of an HTML string and file wrapper
16406        * WebView.subproj/WebDataProtocol.h:
16407        * WebView.subproj/WebDataProtocol.m:
16408        (+[NSURL _web_uniqueWebDataURL]): new
16409        (+[NSURL _web_uniqueWebDataURLWithRelativeString:]): new
16410        * WebView.subproj/WebDefaultContextMenuDelegate.m:
16411        (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeImage
16412        * WebView.subproj/WebFrame.m:
16413        (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]): use _web_uniqueWebDataURL for creating a URL
16414        * WebView.subproj/WebHTMLView.m:
16415        (-[WebHTMLView _pasteImageResource:]): new
16416        (-[WebHTMLView _pasteFromPasteboard:]): renamed, now handles images and URLs
16417        (-[WebHTMLView _handleMouseDragged:]): call renamed _web_dragImage
16418        (-[WebHTMLView paste:]): call renamed _pasteFromPasteboard
16419        (-[WebHTMLView concludeDragOperation:]): call renamed _pasteFromPasteboard
16420        * WebView.subproj/WebHTMLViewPrivate.h:
16421        * WebView.subproj/WebImageRepresentation.h:
16422        * WebView.subproj/WebImageRepresentation.m:
16423        (-[WebImageRepresentation archive]): new
16424        * WebView.subproj/WebImageView.m:
16425        (-[WebImageView writeImageToPasteboard:]): call renamed _web_writeImage
16426        (-[WebImageView mouseDragged:]): call renamed _web_dragImage
16427
16428=== Safari-136 ===
16429
164302004-04-08  Chris Blumenberg  <cblu@apple.com>
16431
16432        Fixed: <rdar://problem/3548274>: API: DOM API for WebKit clients
16433
16434        Reviewed by kocienda.
16435
16436        * DOM.subproj/DOM.h: copied from WebCore
16437        * WebKit.pbproj/project.pbxproj: made our DOM headers public!
16438
164392004-04-08  Chris Blumenberg  <cblu@apple.com>
16440
16441        Moved WebArchive to its own file.
16442
16443        Reviewed by kocienda.
16444
16445        * WebKit.pbproj/project.pbxproj:
16446        * WebView.subproj/WebArchive.h: Added.
16447        * WebView.subproj/WebArchive.m: Added.
16448        (-[WebArchive data]): renamed from dataRepresentation
16449        * WebView.subproj/WebDataSource.m:
16450        * WebView.subproj/WebFrame.m:
16451        * WebView.subproj/WebHTMLRepresentation.m:
16452        * WebView.subproj/WebHTMLView.m:
16453        (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed [WebArchive data]
16454        * WebView.subproj/WebResource.h:
16455        * WebView.subproj/WebResource.m:
16456
164572004-04-07  Chris Blumenberg  <cblu@apple.com>
16458
16459        Created WebDOMOperations which are WebKit-specific categories on DOM objects.
16460
16461        Reviewed by rjw.
16462
16463        * DOM.subproj/DOMExtensions.h:
16464        * DOM.subproj/WebDOMOperations.h: Added.
16465        * DOM.subproj/WebDOMOperations.m: Added.
16466        (-[DOMNode _bridge]): new
16467        (-[DOMNode archive]): new
16468        (-[DOMNode markupString]): new
16469        (-[DOMRange _bridge]): new
16470        (-[DOMRange archive]): new
16471        (-[DOMRange markupString]): new
16472        (-[DOMHTMLImageElement image]):
16473        * WebCoreSupport.subproj/WebBridge.h:
16474        * WebCoreSupport.subproj/WebBridge.m:
16475        (-[WebBridge webFrame]): new
16476        * WebKit.pbproj/project.pbxproj:
16477        * WebView.subproj/WebDataSource.m:
16478        (-[WebDataSource _archiveWithMarkupString:subresourceURLStrings:]): moved from WebHTMLRepresentation
16479        * WebView.subproj/WebDataSourcePrivate.h:
16480        * WebView.subproj/WebDefaultContextMenuDelegate.m:
16481        (-[WebDefaultUIDelegate copyImageToClipboard:]): call markupString on the node
16482        * WebView.subproj/WebDocumentPrivate.h:
16483        * WebView.subproj/WebFrame.m:
16484        (+[WebFrame frameForDOMDocument:]): new
16485        (-[WebFrame loadArchive:]): renamed
16486        * WebView.subproj/WebFramePrivate.h:
16487        * WebView.subproj/WebHTMLRepresentation.h:
16488        * WebView.subproj/WebHTMLRepresentation.m:
16489        * WebView.subproj/WebHTMLRepresentationPrivate.h:
16490        * WebView.subproj/WebHTMLView.m:
16491        (-[WebHTMLView _selectedArchive:]): renamed
16492        (-[WebHTMLView _handleMouseDragged:]): called renamed methods
16493
164942004-04-07  Darin Adler  <darin@apple.com>
16495
16496        Reviewed by Chris.
16497
16498        * DOM.subproj/DOMCSS.h: Updated from WebCore.
16499
165002004-04-07  Ken Kocienda  <kocienda@apple.com>
16501
16502        Reviewed by Darin and Dave (many weeks ago....I am so ashamed for not landing)
16503
16504        * WebCoreSupport.subproj/WebBridge.m:
16505        (-[WebBridge expiresTimeForResponse:]): Now adds in the difference between
16506        the Mac OS X epoch and the "standard" unix epoch when passing back a time
16507        that WebCore will use for its cache expiration determinations. 
16508
165092004-04-07  Richard Williamson   <rjw@apple.com>
16510
16511        Fix for 3604388.  The runtime version check (_CFExecutableLinkedOnOrAfter) used by many of
16512        our frameworks doesn't work for CFM apps.  So, conditional panther bugs fixes aren't
16513        being pickup by CFM apps that use WebKit, specifically Contribute.  This particular radar
16514        describes a problem that was conditionally fixed in the AppKit for panther.  The work-around
16515        is to force NSBitmapImageRep to execute to conditional code.
16516
16517        Reviewed by Maciej.
16518
16519        * Carbon.subproj/CarbonUtils.m:
16520        (WebInitForCarbon):
16521
165222004-04-06  Richard Williamson   <rjw@apple.com>
16523
16524        Fixed 3510805.  Only release pool in timer if the current nesting level of the
16525        pool matches the nesting level when the pool was created.
16526
16527        Reviewed by Chris.
16528
16529        * Carbon.subproj/CarbonUtils.m:
16530        (getNumPools):
16531        (WebInitForCarbon):
16532        (PoolCleaner):
16533
165342004-04-06  Chris Blumenberg  <cblu@apple.com>
16535
16536        Fixed: <rdar://problem/3613974>: remove "to Clipboard" from context menus because it is redundant
16537
16538        Reviewed by john.
16539
16540        * English.lproj/Localizable.strings:
16541        * WebView.subproj/WebDefaultContextMenuDelegate.m:
16542        (-[WebDefaultUIDelegate menuItemWithTag:]):
16543
165442004-04-06  Ken Kocienda  <kocienda@apple.com>
16545
16546        Reviewed by Dave
16547
16548        * WebCoreSupport.subproj/WebBridge.m:
16549        (-[WebBridge issueUndoCommand]): New method. Forwards call to the undo manager. Added
16550        to support undo called via Javascript execCommand.
16551        (-[WebBridge issueRedoCommand]): Ditto.
16552
165532004-04-05  Chris Blumenberg  <cblu@apple.com>
16554
16555        Fixed: <rdar://problem/3612580>: SPI: WebPlugin selection
16556
16557        Reviewed by kocienda.
16558
16559        * Plugins.subproj/WebPlugin.h: extended SPI for selection
16560        * Plugins.subproj/WebPluginContainer.h: ditto
16561        * Plugins.subproj/WebPluginController.m:
16562        (-[WebPluginController selectionColor]): new, calls [WebCoreBridge selectionColor]
16563        * WebCoreSupport.subproj/WebBridge.m:
16564        (-[WebBridge setIsSelected:forView:]): new, calls [WebPlugin setIsSelected:]
16565        (-[WebBridge isViewSelected:]): new, calls [WebPlugin isSelected]
16566
165672004-04-02  Chris Blumenberg  <cblu@apple.com>
16568
16569        Forgot to add the WebKit copy of DOMExtensions.h.
16570
16571        * DOM.subproj/DOMExtensions.h: Added.
16572
165732004-04-02  John Sullivan  <sullivan@apple.com>
16574
16575        Reviewed by Dave.
16576        
16577        * WebView.subproj/WebPreferences.m:
16578        (-[WebPreferences historyIsFrozen]):
16579        take out OMIT_TIGER_FEATURES ifdeffing, since if we turn this into API
16580        then we'll probably want it to work in Panther also. To protect Safari users,
16581        Safari now explicitly sets historyIsFrozen to NO when starting up in Panther.
16582
16583        * English.lproj/StringsNotToBeLocalized.txt:
16584        updated for recent changes
16585
165862004-04-02  Chris Blumenberg  <cblu@apple.com>
16587
16588        Moved the DOM extensions to their own headers
16589
16590        Reviewed by kocienda.
16591
16592        * DOM.subproj/DOM.h: changed from WebCore
16593        * DOM.subproj/DOMHTML.h: ditto
16594        * WebKit.pbproj/project.pbxproj: added DOMExtensions.h
16595        * copy-webcore-files-to-webkit: copy DOMExtensions.h
16596
16597=== Safari-135 ===
16598
165992004-04-01  Richard Williamson   <rjw@apple.com>
16600
16601        Fixed 3609493.  Don't remove the plugin's view until after
16602        sending pluginDestroy.  This change was requested by Greg
16603        and is needed in the Lavender update.
16604
16605        Reviewed by Greg Bolsinga.
16606
16607        * Plugins.subproj/WebPluginController.m:
16608        (-[WebPluginController destroyAllPlugins]):
16609        * Plugins.subproj/npruntime.h:
16610
166112004-03-31  John Sullivan  <sullivan@apple.com>
16612
16613        - fixed <rdar://problem/3577917>: API: mechanism for displaying error 
16614        page for failed page load
16615        
16616        This was not commented on for a week in macosx-api-reviewers, so it
16617        has the silent rubber stamp of approval.
16618        
16619        Note that it isn't guarded by "Tiger only" availability macros because
16620        we (probably) want to use it in Panther for Safari. Maybe what we should
16621        do is guard the API with "Tiger only" macros but add an SPI version
16622        that Safari uses?
16623
16624        Reviewed by Dave.
16625
16626        * WebView.subproj/WebDataSource.h:
16627        moved unreachableURL to here
16628        * WebView.subproj/WebDataSource.m:
16629        (-[WebDataSource unreachableURL]):
16630        moved this from private category to main section
16631        
16632        * WebView.subproj/WebDataSourcePrivate.h:
16633        removed unreachableURL from here
16634        
16635        * WebView.subproj/WebFrame.h:
16636        moved loadAlternateHTMLString... to here
16637        * WebView.subproj/WebFrame.m:
16638        (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]):
16639        moved this from private category to main section
16640        
16641        * WebView.subproj/WebFramePrivate.h:
16642        removed unreachableURL from here
16643
166442004-03-31  Richard Williamson   <rjw@apple.com>
16645
16646        Changed to reflect NP_runtime.h to npruntime.h.
16647
16648        * copy-webcore-files-to-webkit:
16649
166502004-03-31  John Sullivan  <sullivan@apple.com>
16651
16652        Reviewed by Darin.
16653
16654        * WebView.subproj/WebPreferences.m:
16655        (-[WebPreferences historyIsFrozen]):
16656        always return NO on Panther and older, so you can't get into a state
16657        where the WebKit pref is invisibly set and affecting Safari.
16658
166592004-03-31  Darin Adler  <darin@apple.com>
16660
16661        * WebView.subproj/WebHTMLView.m: Whitespace tweaks.
16662
166632004-03-30  Chris Blumenberg  <cblu@apple.com>
16664
16665        Fixed: <rdar://problem/3604391>: Plug-in context menus (Flash) don't work in Carbon WebKit applications (e.g., CarbonWeb)
16666
16667        Reviewed by rjw.
16668
16669        * Carbon.subproj/HIWebView.m:
16670        (ContextMenuClick): instead of calling menuForEvent (which is not implemented on our plug-in view) call rightMouseDown and let AppKit handle the rest
16671
166722004-03-29  John Sullivan  <sullivan@apple.com>
16673
16674        - some support for "Stealth Browsing"; add a preference that
16675        controls whether a history item is added when a page is visited.
16676        This is called "historyIsFrozen" for now, but I wouldn't be
16677        surprised to see this name change.
16678
16679        Reviewed by Dave.
16680
16681        * WebView.subproj/WebPreferencesPrivate.h:
16682        new historyIsFrozen, setHistoryIsFrozen: methods
16683        
16684        * WebView.subproj/WebPreferences.m:
16685        new WebKitHistoryIsFrozenPreferenceKey
16686        (+[WebPreferences initialize]):
16687        set initial value of WebKitHistoryIsFrozenPreferenceKey
16688        (-[WebPreferences setHistoryIsFrozen:]):
16689        set value of WebKitHistoryIsFrozenPreferenceKey
16690        (-[WebPreferences historyIsFrozen]):
16691        read value of WebKitHistoryIsFrozenPreferenceKey
16692
16693        * WebView.subproj/WebFrame.m:
16694        (-[WebFrame _transitionToCommitted:]):
16695        don't add item to history if history is frozen
16696
166972004-03-29  Darin Adler  <darin@apple.com>
16698
16699        Reviewed by John.
16700
16701        - fixed <rdar://problem/3559178>: navigator.language always returns "en"
16702
16703        * WebCoreSupport.subproj/WebViewFactory.m: (-[WebViewFactory defaultLanguageCode]):
16704        Call +[NSUserDefaults _web_preferredLanguageCode] rather than returning "en".
16705
16706        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
16707
167082004-03-26  John Sullivan  <sullivan@apple.com>
16709
16710        - fixed <rdar://problem/3576334>: Printing "empty" page gives print error, 
16711        leaves browser window UI broken
16712
16713        Reviewed by Dave.
16714
16715        * WebView.subproj/WebHTMLView.m:
16716        (-[WebHTMLView knowsPageRange:]):
16717        AppKit printing mechanism can't handle the case where you tell it there is
16718        nothing at all to print, so when we hit that case we give it a degenerate
16719        1-pixel rect to print. This prints a blank page (with correctly-placed
16720        header & footer if so configured), which matches other browsers' behavior for
16721        this page.
16722
16723        * Plugins.subproj/npruntime.h:
16724        cvs keeps thinking I've removed a blank line from this auto-copied file.
16725        Richard said to just check it in to see if it stops doing this.
16726        
16727=== Safari-134 ===
16728
167292004-03-26  John Sullivan  <sullivan@apple.com>
16730
16731        - fixed the following bugs:
16732        
16733        <rdar://problem/3601630>: command-modified keypresses that would activate links are ignored by WebKit
16734        <rdar://problem/3601604>: WebActionModifierFlagsKey not set correctly for modified keypresses that activate links
16735        <rdar://problem/3544946>: cmd-return should open a link in a new tab
16736
16737        Reviewed by Darin.
16738
16739        * WebView.subproj/WebFrame.m:
16740        (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
16741        Pass modifier flags always, not just for mouse events. This fixes 3601604.
16742        
16743        * WebView.subproj/WebHTMLView.m:
16744        (-[WebHTMLView performKeyEquivalent:]):
16745        Give the bridge a chance to intercept command-modified keypresses. This fixes 3601630.
16746        
16747        Together these two changes fix 3544946.
16748
167492004-03-25  David Hyatt  <hyatt@apple.com>
16750
16751        Implement the rest of the search field.
16752
16753        Implement onscroll at the document level.
16754        Reviewed by darin
16755
16756        * English.lproj/Localizable.strings:
16757        * WebCoreSupport.subproj/WebBridge.m:
16758        * WebCoreSupport.subproj/WebViewFactory.m:
16759        (-[NSMenu addItemWithTitle:action:tag:]):
16760        (-[WebViewFactory submitButtonDefaultLabel]):
16761        (-[WebViewFactory cellMenuForSearchField]):
16762        * WebView.subproj/WebHTMLView.m:
16763        (-[WebHTMLView _frameOrBoundsChanged]):
16764        (-[WebHTMLView viewDidMoveToWindow]):
16765        * WebView.subproj/WebHTMLViewPrivate.h:
16766
167672004-03-25  Richard Williamson   <rjw@apple.com>
16768
16769        Netscape plugin API header cleanup.
16770
16771        Replaced our hacked up version of npapi.h with the
16772        "official SDK"  npapi.h.  Moved our changes to the new
16773        npfunctions.h.  npfunctions.h really replaces what was defined in
16774        the Netscape npupp.h header.  However, rather than use the "official SDK"
16775        npupp.h I think the cleaner npfunctions.h is better. npupp.h actually
16776        has a bunch of Mac classic specific stuff that is no longer needed.
16777
16778        Copied npruntime.h to WebKit using Ken's copy-o-matic mechanism.
16779
16780        Made npapi.h, npruntime.h, and npfunctions.h SPI.  With a bit
16781        more consideration they will become API.  They will also eventually be made
16782        available for other platforms/vendors are mozilla.org.
16783
16784        Reviewed by Ken.
16785
16786        * Plugins.subproj/WebBaseNetscapePluginStream.h:
16787        * Plugins.subproj/WebBaseNetscapePluginStream.m:
16788        (-[WebBaseNetscapePluginStream dealloc]):
16789        (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]):
16790        * Plugins.subproj/WebBaseNetscapePluginView.h:
16791        * Plugins.subproj/WebNetscapePluginPackage.h:
16792        * Plugins.subproj/WebNetscapePluginPackage.m:
16793        (-[WebNetscapePluginPackage load]):
16794        * Plugins.subproj/npapi.h:
16795        * Plugins.subproj/npruntime.h: Added.
16796        * WebKit.pbproj/project.pbxproj:
16797        * copy-webcore-files-to-webkit:
16798
167992004-03-24  Darin Adler  <darin@apple.com>
16800
16801        Reviewed by John.
16802
16803        - fixed <rdar://problem/3566805>: REGRESSION: When the subject of mailto is 2 byte Safari failed to send mail address and subject to Mail.app
16804
16805        * Misc.subproj/WebNSURLExtras.m: (applyHostNameFunctionToMailToURLString): Update to handle hostnames
16806        that end just before a '?' since a '?' ends the entire part of the URL that can contain hostnames.
16807        Also change the logic so that the '?' will successfully end the search.
16808
168092004-03-24  Ken Kocienda  <kocienda@apple.com>
16810
16811        Reviewed by me
16812
16813        * DOM.subproj/DOMHTML.h: Checking in copied over version of
16814        modified file.
16815
168162004-03-23  David Hyatt  <hyatt@apple.com>
16817
16818        Fix for 3513627, HTML mail prints upside down occasionally.  Change printing so that it never resizes the
16819        WebHTMLView when formatting for printing.  When computing page rects, instead of using the view's bounds,
16820        use the root layer's width instead.
16821        Reviewed by darin
16822
16823        * WebView.subproj/WebHTMLView.m:
16824        (-[WebHTMLView knowsPageRange:]):
16825
16826=== Safari-133 ===
16827
168282004-03-17  David Hyatt  <hyatt@apple.com>
16829
16830        Expose ageLimitDate so that the autocomplete code can access it.
16831        Reviewed by john
16832
16833        * History.subproj/WebHistory.m:
16834        (-[WebHistory ageLimitDate]):
16835        * History.subproj/WebHistoryPrivate.h:
16836
168372004-03-17  Richard Williamson   <rjw@apple.com>
16838
16839        Fixed 3591667.  Plugin view is added to view hierarchy before calling init.
16840
16841        Reviewed by Ken.
16842
16843        * WebView.subproj/WebHTMLView.m:
16844        (-[WebHTMLView addSubview:]):
16845
168462004-03-16  Darin Adler  <darin@apple.com>
16847
16848        * DOM.subproj/DOMHTML.h: Updated from WebCore.
16849        * DOM.subproj/DOMRange.h: Ditto.
16850
168512004-03-16  Darin Adler  <darin@apple.com>
16852
16853        Reviewed by Ken.
16854
16855        - update for new DOM namespacing and header organization
16856
16857        * DOM.subproj/DOM.h: Changed to include the other DOM headers.
16858        * DOM.subproj/DOMCSS.h: Added.
16859        * DOM.subproj/DOMCore.h: Added.
16860        * DOM.subproj/DOMEvents.h: Added.
16861        * DOM.subproj/DOMHTML.h: Added.
16862        * DOM.subproj/DOMRange.h: Added.
16863        * DOM.subproj/DOMStylesheets.h: Added.
16864        * DOM.subproj/DOMTraversal.h: Added.
16865        * DOM.subproj/DOMViews.h: Added.        
16866        * WebKit.pbproj/project.pbxproj: Added new files.
16867
16868        * WebView.subproj/WebDefaultEditingDelegate.m:
16869        (-[WebDefaultEditingDelegate webView:shouldApplyStyle:toElementsInDOMRange:]):
16870        (-[WebDefaultEditingDelegate webView:shouldChangeTypingStyle:toStyle:]):
16871        Change class names from CSS to DOMCSS.
16872        * WebView.subproj/WebViewPrivate.h: Ditto.
16873
16874        * copy-webcore-files-to-webkit: Add new files.
16875
168762004-03-15  Ken Kocienda  <kocienda@apple.com>
16877
16878        Reviewed by John
16879
16880        Fix for this bug:
16881        
16882        <rdar://problem/3588717>: REGRESSION (125-131u): Tabbing to links and tabbing in bookmarks view no longer works
16883
16884        WebView can't lay claim to -keyDown: just for editing events, as
16885        this gets in the way of tab processing. The solution is to give
16886        WebView a private method for processing editing key events fed to
16887        it from over the bridge, and leave -keyDown: unimplemented. 
16888
16889        * WebCoreSupport.subproj/WebBridge.m:
16890        (-[WebBridge editingKeyDown:]): Changed from -keyDown: to keep 
16891        terminology consistent with renamed WebView -editingKeyDown: method.
16892        * WebView.subproj/WebView.m:
16893        (-[WebView editingKeyDown:]): Give WebView a method to handle
16894        editing key events in a way that does not interfere with other key down
16895        events it processes.
16896        * WebView.subproj/WebViewPrivate.h: Declare -editingKeyDown: method.
16897
16898=== Safari-132 ===
16899
169002004-03-15  Darin Adler  <darin@apple.com>
16901
16902        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
16903
169042004-03-12  Darin Adler  <darin@apple.com>
16905
16906        Reviewed by Ken.
16907
16908        - fixed <rdar://problem/3433887>: copied &nbsp; characters remain non-breaking spaces; other browsers give normal spaces
16909
16910        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _writeSelectionToPasteboard:]):
16911        Convert non-breaking spaces to the normal kind in the plain text part of the pasteboard.
16912
169132004-03-12  Ken Kocienda  <kocienda@apple.com>
16914
16915        Reviewed by Chris
16916
16917        * WebView.subproj/WebView.m:
16918        (-[WebView _alterCurrentSelection:direction:granularity:]): Changed name from
16919        _alterSelection:direction:granularity: to give a little extra clarity. Also, the
16920        body calls through to renamed rangeByAlteringCurrentSelection:direction:granularity:
16921        in WebCore.
16922        (-[WebView moveRight:]): Now calls renamed _alterCurrentSelection:direction:granularity:.
16923        (-[WebView moveRightAndModifySelection:]): Ditto.
16924        (-[WebView moveLeft:]): Ditto.
16925        (-[WebView moveLeftAndModifySelection:]): Ditto.
16926
169272004-03-11  Richard Williamson   <rjw@apple.com>
16928
16929        Workaround for 3585644.  Force the window number of the
16930        mouse moved event to be correct.
16931
16932        Reviewed by Chris.
16933
16934        * Carbon.subproj/CarbonWindowFrame.m:
16935        * Carbon.subproj/HIWebView.m:
16936        (MouseMoved):
16937        (MouseDragged):
16938
169392004-03-11  Ken Kocienda  <kocienda@apple.com>
16940
16941        Reviewed by Dave
16942
16943        Various changes to begin implementing the draft API proposal. 
16944
16945        * DOM.subproj/DOM.h: Checking in generated file.
16946        * WebCoreSupport.subproj/WebBridge.m:
16947        (-[WebBridge registerCommandForUndo:]): Now takes an id, a wrapped
16948        WebCore EditCommand implementation object.
16949        (-[WebBridge registerCommandForRedo:]): Ditto.
16950        (-[WebBridge clearUndoRedoOperations]): Use the web view's undo manager.
16951        (-[WebBridge keyDown:]): Pass keyDown events through to the web view.
16952        * WebKit.pbproj/project.pbxproj:
16953        * WebView.subproj/WebDefaultEditingDelegate.h: Added.
16954        * WebView.subproj/WebDefaultEditingDelegate.m: Added. Stubbed in default
16955        implementations declared in the draft editing API.
16956        * WebView.subproj/WebFrame.m:
16957        (-[WebFramePrivate dealloc]): WebFrame no longer has an undo manager.
16958        * WebView.subproj/WebFramePrivate.h: Ditto.
16959        * WebView.subproj/WebHTMLView.m:
16960        (-[WebHTMLView _selectedWebArchive:]): selectedRange method 
16961        is now selectedDOMRange.
16962        * WebView.subproj/WebView.m:
16963        (-[WebViewPrivate dealloc]): Dealloc new editingDelegateForwarder.
16964        (-[WebView _editingDelegateForwarder]): Added. 
16965        (-[WebView keyDown:]): Added. 
16966        (-[WebView _bridgeForCurrentSelection]): Added. 
16967        (-[WebView setSelectedDOMRange:]): Added. 
16968        (-[WebView selectedDOMRange]): Added. 
16969        (-[WebView insertText:]): Added. 
16970        (-[WebView _alterSelection:direction:granularity:]): Added. 
16971        (-[WebView selectWord:]): Added. 
16972        (-[WebView moveRight:]): Added. 
16973        (-[WebView moveRightAndModifySelection:]): Added. 
16974        (-[WebView moveLeft:]): Added. 
16975        (-[WebView moveLeftAndModifySelection:]): Added. 
16976        (-[WebView deleteBackward:]): Added. 
16977        (-[WebView insertNewline:]): Added. 
16978        (-[WebView insertParagraphSeparator:]): Added. 
16979        (-[WebView setEditingDelegate:]): Added. 
16980        (-[WebView editingDelegate]): Added. 
16981        (-[WebView undoManager]): Added. 
16982        (-[WebView insertText:replacingDOMRange:]): Added. 
16983        * WebView.subproj/WebViewPrivate.h: Added a collection of editing API 
16984        declarations that will be public some day, but are still under review.
16985
169862004-03-11  John Sullivan  <sullivan@apple.com>
16987
16988        - fixed <rdar://problem/3585056>: Assertion failure if error page is loaded from 
16989        webView:unableToImplementPolicyWithError:
16990        - also added HeaderDoc comments to could-be-API-soon methods and fixed a
16991        conceptual problem with said methods
16992
16993        Reviewed by Darin.
16994
16995        * WebView.subproj/WebDataSourcePrivate.h:
16996        added HeaderDoc comment for -unreachableURL
16997        
16998        * WebView.subproj/WebFramePrivate.h:
16999        added HeaderDoc comment for -loadAlternateHTMLString:baseURL:forUnreachableURL:;
17000        also added boolean delegateIsHandlingUnimplementablePolicy ivar to WebFramePrivate
17001        * WebView.subproj/WebFrame.m:
17002        (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
17003        treat delegateIsHandlingUnimplementablePolicy like delegateIsDecidingNavigationPolicy.
17004        Safari serves up error pages during the latter but clients are equally or more likely
17005        to do so during the former.
17006        (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]):
17007        set delegateIsHandlingUnimplementablePolicy during delegate callback
17008        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
17009        tweaked assertion so it doesn't erroneously fire for clients that call
17010        loadAlternateHTML:baseURL:forUnreachableURL: while processing
17011        webView:unableToImplementPolicyWithError:
17012
170132004-03-11  Chris Blumenberg  <cblu@apple.com>
17014
17015        Made WebArchive a class instead of a data object. This allows clients to easily get the main resource and subresources from a WebArchive.
17016
17017        Reviewed by kocienda.
17018
17019        * WebKit.exp:
17020        * WebView.subproj/WebDocumentPrivate.h:
17021        * WebView.subproj/WebFrame.m:
17022        (-[WebFrame loadWebArchive:]):
17023        * WebView.subproj/WebFramePrivate.h:
17024        * WebView.subproj/WebHTMLRepresentation.m:
17025        (-[WebHTMLRepresentation loadWebArchive]):
17026        (-[WebHTMLRepresentation _webArchiveWithMarkupString:subresourceURLStrings:]):
17027        (-[WebHTMLRepresentation webArchiveFromNode:]):
17028        (-[WebHTMLRepresentation webArchiveFromRange:]):
17029        * WebView.subproj/WebHTMLRepresentationPrivate.h:
17030        * WebView.subproj/WebHTMLView.m:
17031        (-[WebHTMLView _selectedWebArchive:]):
17032        (-[WebHTMLView _writeSelectionToPasteboard:]):
17033        (-[WebHTMLView _pasteMarkupFromPasteboard:]):
17034        * WebView.subproj/WebResource.h:
17035        * WebView.subproj/WebResource.m:
17036        (-[WebArchivePrivate dealloc]):
17037        (-[WebResource _response]):
17038        (-[WebArchive init]):
17039        (-[WebArchive initWithMainResource:subresources:]):
17040        (-[WebArchive initWithData:]):
17041        (-[WebArchive dealloc]):
17042        (-[WebArchive mainResource]):
17043        (-[WebArchive subresources]):
17044        (-[WebArchive dataRepresentation]):
17045        * WebView.subproj/WebResourcePrivate.h:
17046
170472004-03-10  Chris Blumenberg  <cblu@apple.com>
17048
17049        Made dragging of web archives work.
17050
17051        Reviewed by rjw.
17052
17053        * English.lproj/StringsNotToBeLocalized.txt: updated
17054        * WebView.subproj/WebMainResourceClient.m:
17055        (-[WebMainResourceClient connection:didReceiveResponse:]): added a FIXME about working around old Foundations that don't know about web archive files
17056        * WebView.subproj/WebView.m:
17057        (+[WebView canShowFile:]): tweak
17058        (+[WebView suggestedFileExtensionForMIMEType:]): tweak
17059        (+[WebView _MIMETypeForFile:]): handle web archive files since Foundation may be too old to know about them
17060
170612004-03-09  Chris Blumenberg  <cblu@apple.com>
17062
17063        Made web archives use NSPropertyListBinaryFormat_v1_0 instead of NSPropertyListXMLFormat_v1_0 because NSPropertyListBinaryFormat_v1_0 is 3-5 times faster to serialize and parse.
17064
17065        Reviewed by rjw.
17066
17067        * WebView.subproj/WebResource.m:
17068        (+[WebResource _parseWebArchive:mainResource:subresources:]): add timing code
17069        (+[WebResource _webArchiveWithMainResource:subresources:]): add timing code, use NSPropertyListBinaryFormat_v1_0
17070
170712004-03-09  Chris Blumenberg  <cblu@apple.com>
17072
17073        Fixed: <rdar://problem/3577508>: API: web archive related API's
17074        Implemented WebKit side of: <rdar://problem/3144033>: ability to save web sites (images and all)
17075
17076        Reviewed by rjw.
17077
17078        * WebCoreSupport.subproj/WebBridge.h:
17079        * WebCoreSupport.subproj/WebBridge.m:
17080        (-[WebBridge receivedData:textEncodingName:]): renamed to take a textEncodingName instead of data source. The data source argument is only needed for the textEncodingName.
17081        * WebKit.exp:
17082        * WebView.subproj/WebDataSource.m:
17083        (-[WebDataSource _subresourcesDictionary]): new
17084        (+[WebDataSource _repTypesAllowImageTypeOmission:]): include "application/x-webarchive"
17085        * WebView.subproj/WebDataSourcePrivate.h:
17086        * WebView.subproj/WebDocumentInternal.h:
17087        * WebView.subproj/WebDocumentPrivate.h:
17088        * WebView.subproj/WebFrame.m:
17089        (-[WebFrame loadWebArchive:]): renamed, code factored out to [WebResource _parseWebArchive:mainResource:subresources:]
17090        * WebView.subproj/WebFramePrivate.h:
17091        * WebView.subproj/WebFrameView.m:
17092        (+[WebFrameView _viewTypesAllowImageTypeOmission:]): include "application/x-webarchive"
17093        * WebView.subproj/WebHTMLRepresentation.h:
17094        * WebView.subproj/WebHTMLRepresentation.m:
17095        (-[WebHTMLRepresentationPrivate dealloc]):
17096        (-[WebHTMLRepresentation _isDisplayingWebArchive]): new
17097        (-[WebHTMLRepresentation receivedData:withDataSource:]): don't feed data to WebCore if we're displaying a web archive since web archive can't be progressively loaded
17098        (-[WebHTMLRepresentation loadWebArchive]): new, feeds web archive data to WebCore
17099        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): call loadWebArchive if necessary
17100        (-[WebHTMLRepresentation documentSource]): if displaying a web archive, return the HTML source from within the archive
17101        (-[WebHTMLRepresentation _webArchiveWithMarkupString:subresourceURLStrings:]): new
17102        (-[WebHTMLRepresentation markupStringFromNode:]): implementation of new API
17103        (-[WebHTMLRepresentation markupStringFromRange:]): ditto
17104        (-[WebHTMLRepresentation webArchiveFromNode:]): ditto
17105        (-[WebHTMLRepresentation webArchiveFromRange:]): ditto
17106        * WebView.subproj/WebHTMLRepresentationPrivate.h:
17107        * WebView.subproj/WebHTMLView.m:
17108        (+[WebHTMLView _selectionPasteboardTypes]): use renamed WebArchivePboardType
17109        (-[WebHTMLView _selectedWebArchive:]): renamed, call renamed methods
17110        (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed methods
17111        (-[WebHTMLView _haveSelection]): indentation tweak
17112        (-[WebHTMLView _canDelete]): ditto
17113        (-[WebHTMLView _canPaste]): ditto
17114        (-[WebHTMLView _pasteMarkupFromPasteboard:]): renamed, call [WebResource _webArchiveWithMainResource:subresources:]
17115        (-[WebHTMLView initWithFrame:]): use renamed WebArchivePboardType
17116        (-[WebHTMLView paste:]): call renamed _pasteMarkupFromPasteboard
17117        (-[WebHTMLView concludeDragOperation:]): call renamed _pasteMarkupFromPasteboard
17118        * WebView.subproj/WebHTMLViewPrivate.h:
17119        * WebView.subproj/WebMainResourceClient.m:
17120        (-[WebMainResourceClient connection:didReceiveResponse:]): modify the MIME type for web archives since Foundation is not yet web archive aware. This is ifdef'd pre-Tiger code.
17121        * WebView.subproj/WebResource.h:
17122        * WebView.subproj/WebResource.m:
17123        (+[WebResource _parseWebArchive:mainResource:subresources:]): new
17124        (+[WebResource _webArchiveWithMainResource:subresources:]): new
17125        * WebView.subproj/WebResourcePrivate.h:
17126
171272004-03-09  John Sullivan  <sullivan@apple.com>
17128
17129        - fixed the following bugs:
17130        <rdar://problem/3579715>: Going to an error page in back/forward list doesn't work 
17131        correctly in some cases
17132        <rdar://problem/3581031>: REGRESSION (130+): World Leak of WebFrame after trying 
17133        to load page with unknown scheme
17134
17135        Reviewed by Darin.
17136
17137        * WebView.subproj/WebDataSourcePrivate.h:
17138        renamed __setRequest -> __adoptRequest
17139        * WebView.subproj/WebDataSource.m:
17140        (-[WebDataSource _URLForHistory]): 
17141        updated comment
17142        (-[WebDataSource __adoptRequest:]):
17143        Renamed from __setRequest; now takes an NSMutableURLRequest and uses it as-is.
17144        (-[WebDataSource _setRequest:]):
17145        now saves a mutable copy, instead of relying on the caller to do so. The
17146        (only) caller wasn't doing so in all cases, leading to trouble in River City.
17147        Also, special-case unreachable URL handling to allow alternate content to 
17148        replace a URL in a redirect-like way without sending a redirect callback.
17149        
17150        * WebView.subproj/WebFrame.m:
17151        (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]):
17152        renamed after discussion with Richard (was loadPlaceholderHTMLString:baseURL:unreachableURL:)
17153        (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
17154        new helper method, returns YES only if we receive a load request for alternate
17155        content from a delegate for an unreachable URL while we are going back or forward.
17156        That's a lot of prepositions!
17157        (-[WebFrame _loadRequest:subresources:]):
17158        if _shouldReloadToHandleUnreachableURLFromRequest: returns YES, change load type
17159        to WebFrameLoadTypeReload so b/f list is preserved appropriately.
17160        (-[WebFrame _transitionToCommitted:]):
17161        Update currentItem in the unreachableURL case.
17162        (-[WebFrame _isLoadComplete]):
17163        Don't reset b/f list before calling provisionalLoadDidFail delegate; instead, determine 
17164        where to reset b/f list beforehand, and then actually reset list afterwards only if we 
17165        didn't start an alternate content load in the delegate. Also, set new boolean ivar so we
17166        know when we're processing a provisionalLoadDidFail delegate callback.
17167        (-[WebFrame _loadItem:withLoadType:]):
17168        don't make extra copy before calling __adoptRequest; just pass it the one we made here.
17169        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
17170        If we're loading alternate content for an unreachableURL, don't ask the decision listener,
17171        just do it. (This avoids problem with nested calls to checking the navigation policy that
17172        led to a WebFrame leak, and is conceptually the right thing to do also.) Also added some
17173        asserts that helped me track down the WebFrame leak. Set new boolean ivar so we know
17174        when we're processing a navigation policy delegate decision.
17175        (-[WebFrame _currentBackForwardListItemToResetTo]):
17176        new method, replaces _resetBackForwardListToCurrent. Does the same test as the
17177        latter but returns a boolean rather than actually resetting.
17178        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
17179        save dataSource in a local var before calling stopLoading, and use it for
17180        _setProvisionalDataSource, because otherwise stopLoading was clobbering the dataSource
17181        for an unreachable URL handling case.
17182        
17183        * WebView.subproj/WebFramePrivate.h:
17184        two new boolean ivars
17185        
17186        * WebView.subproj/WebView.m:
17187        (+[WebView _canHandleRequest:]):
17188        return YES when we're loading alternate content for an unreachable URL
17189
17190=== Safari-131 ===
17191
171922004-03-08  Ken Kocienda  <kocienda@apple.com>
17193
17194        Reviewed by Darin
17195
17196        * WebKit.pbproj/project.pbxproj: Added CFBundleName to Info.plist
17197
171982004-03-05  Chris Blumenberg  <cblu@apple.com>
17199
17200        Fixed: <rdar://problem/3560132>: REGRESSION: Safari crashed in -[NSPasteboard setData:forType:] dragging a map out of Mapquest.com
17201
17202        Reviewed by john.
17203
17204        * Misc.subproj/WebNSPasteboardExtras.m:
17205        (-[NSPasteboard _web_writeImage:URL:title:fileWrapper:HTMLString:]): declare the pboard types by calling _web_writeURL:::: before calling setData::
17206
172072004-03-05  John Sullivan  <sullivan@apple.com>
17208
17209        First cut at WebKit support for showing error pages for unreachable URLs.
17210        This doesn't work quite right with the back/forward list yet, but is
17211        good enough for demos.
17212
17213        Reviewed by Darin.
17214
17215        * WebView.subproj/WebBaseResourceHandleDelegate.m:
17216        (-[WebBaseResourceHandleDelegate didReceiveResponse:]):
17217        use new _webDataRequextExternalURL to share code
17218        
17219        * WebView.subproj/WebDataProtocol.h:
17220        Three new methods (all internal to WebKit):
17221        -[NSURLRequest _webDataRequestUnreachableURL], -[NSURLRequest _webDataRequestExternalURL],
17222        -[NSURLRequest _webDataRequestSetUnreachableURL]
17223        * WebView.subproj/WebDataProtocol.m:
17224        new unreachableURL field of WebDataRequestParameters
17225        (-[WebDataRequestParameters copyWithZone:]):
17226        copy new field
17227        (-[WebDataRequestParameters dealloc]):
17228        release new field
17229        (-[NSURLRequest _webDataRequestUnreachableURL]):
17230        read new field
17231        (-[NSURLRequest _webDataRequestExternalURL]):
17232        new method, returns baseURL or "about:blank" for webdata protocol requests. This
17233        was done in multiple places previously.
17234        (-[NSURLRequest _webDataRequestExternalRequest]):
17235        now calls _webDataRequestExternalURL to share code
17236        (-[NSMutableURLRequest _webDataRequestSetUnreachableURL:]):
17237        write new field
17238        
17239        * WebView.subproj/WebDataSource.m:
17240        (-[WebDataSource unreachableURL]):
17241        new method, might become API; returns the unreachable URL, if any, for which this datasource
17242        holds placeholder content
17243        (-[WebDataSource _URLForHistory]):
17244        new method, returns the URL to be stored in History for this dataSource. This returns nil
17245        for run-of-the-mill WebDataProtocol URLs (replacing code elsewhere that checked for this
17246        case) but returns the unreachableURL for the case where this datasource holds placeholder
17247        content.
17248        (-[WebDataSource _setTitle:]):
17249        now calls _URLForHistory
17250        
17251        * WebView.subproj/WebDataSourcePrivate.h:
17252        added unreachableURL in the should-become-API section, and _URLForHistory elsewhere
17253        
17254        * WebView.subproj/WebFrame.m:
17255        (-[WebFrame loadPlaceholderHTMLString:baseURL:unreachableURL:]):
17256        new should-become-API method for displaying an error page for an unreachable URL
17257        (-[WebFrame loadPropertyList:]):
17258        updated to pass nil for unreachableURL
17259        (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
17260        added unreachableURL parameter, which gets set on the data request
17261        (-[WebFrame _addBackForwardItemClippedAtTarget:]):
17262        use _URLForHistory instead of just checking for WebDataProtocol
17263        (-[WebFrame _createItem:]):
17264        use unreachableURL if there is one
17265        (-[WebFrame _transitionToCommitted:]):
17266        use _URLForHistory instead of just checking for WebDataProtocol
17267        (-[WebFrame _isLoadComplete]):
17268        check whether a new load has started in the delegate callback and if so, don't
17269        reset the loading state here
17270        (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
17271        added unreachableURL parameter, which gets passed through
17272        (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]):
17273        send nil unreachableURL parameter
17274        (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]):
17275        new bottleneck method for loadHTMLString:baseURL: and loadPlaceholderHTMLString:baseURL:unreachableURL:;
17276        this is the guts of loadHTMLString:baseURL: with the new unreachableURL parameter passed through
17277        (-[WebFrame loadHTMLString:baseURL:]):
17278        now calls new bottleneck method
17279        
17280        * WebView.subproj/WebFramePrivate.h:
17281        added loadPlaceholderString:baseURL:unreachableURL: to should-be-API section; added unreachableURL
17282        parameter to _webDataRequestForData:MIMEType:textEncodingName:baseURL:
17283
172842004-03-04  Chris Blumenberg  <cblu@apple.com>
17285
17286        - Made image dragging and copying always work without needing to re-download by using the data source's WebResource of the image instead of relying on the Foundation cache.
17287        - Fixed a "drag to self" problem I introduced in my last check-in. You could drag a URL from a WebHTMLView and drop it on its own WebView which we shouldn't allow.
17288
17289        Reviewed by rjw.
17290
17291        * ChangeLog:
17292        * WebCoreSupport.subproj/WebBridge.m:
17293        (-[WebBridge fileWrapperForURL:]): call _fileWrapperForURL on WebDataSource
17294        * WebView.subproj/WebDataSource.m:
17295        (-[WebDataSource _fileWrapperForURL:]): moved from WebView, creates a wrapper from a WebResource
17296        * WebView.subproj/WebDataSourcePrivate.h:
17297        * WebView.subproj/WebDefaultContextMenuDelegate.m:
17298        (-[WebDefaultUIDelegate copyImageToClipboard:]): call [WebDataSource _fileWrapperForURL:]
17299        * WebView.subproj/WebHTMLView.m:
17300        (-[WebHTMLView _handleMouseDragged:]): call [WebDataSource _fileWrapperForURL:]
17301        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebDataSource _fileWrapperForURL:]
17302        (-[WebHTMLView _dragOperationForDraggingInfo:]): new, factored out from draggingUpdated:
17303        (-[WebHTMLView draggingEntered:]): call _dragOperationForDraggingInfo:, if NSDragOperationNone, forward to WebView to it can handle the drag
17304        (-[WebHTMLView draggingUpdated:]): ditto
17305        (-[WebHTMLView concludeDragOperation:]): ditto
17306        * WebView.subproj/WebResource.m:
17307        (-[WebResource _fileWrapperRepresentation]): new
17308        * WebView.subproj/WebResourcePrivate.h:
17309        * WebView.subproj/WebView.m:
17310        (-[WebViewPrivate dealloc]): release draggedTypes, a new ivar that keeps track of drag types that we're currently registered for
17311        (-[WebView _setDraggedTypes:]): new
17312        (-[WebView unregisterDraggedTypes]): new, calls _setDraggedTypes then super
17313        (-[WebView registerForDraggedTypes:]): ditto 
17314        (-[WebView _dragOperationForDraggingInfo:]): new, compares the types on the pasteboard against the types we are currently registered for. Normally the AppKit handles this for us, but since these messages can be forwarded from WebHTMLView, we need to do this comparison ourselves. 
17315        (-[WebView draggingEntered:]): calls _dragOperationForDraggingInfo:
17316        (-[WebView draggingUpdated:]): ditto
17317        (-[WebView concludeDragOperation:]): ditto
17318        * WebView.subproj/WebViewPrivate.h: define new draggedTypes ivar
17319
173202004-03-03  Chris Blumenberg  <cblu@apple.com>
17321
17322        Fixed a typo.
17323
17324        * WebView.subproj/WebHTMLView.m:
17325        (-[WebHTMLView concludeDragOperation:]):
17326
173272004-03-03  Chris Blumenberg  <cblu@apple.com>
17328
17329        Fixed: <rdar://problem/3576070>: REGRESSION: web view won't accept drag of webloc file
17330
17331        Reviewed by rjw.
17332
17333        * WebView.subproj/WebHTMLView.m:
17334        (-[WebHTMLView draggingUpdated:]): if we're not handling the drag, forward this message to the WebView since it may want to handle it
17335        (-[WebHTMLView concludeDragOperation:]): if we're not handling the drag, forward this message to the WebView since it may want to handle it
17336
173372004-03-03  Darin Adler  <darin@apple.com>
17338
17339        Reviewed by Vicki.
17340
17341        * English.lproj/InfoPlist.strings: Removed. No need to localize the version and
17342        copyright string, and that's all that was in here.
17343        * WebKit.pbproj/project.pbxproj: Removed InfoPlist.strings from build.
17344
173452004-03-03  Ken Kocienda  <kocienda@apple.com>
17346
17347        Reviewed by Chris
17348
17349        * copy-webcore-files-to-webkit: Fixed up this script so that
17350        it does not fail if it is running "non-locally", like for
17351        B&I. The idiom is to check these files into WebKit after
17352        copying them from WebCore, hence this script is merely
17353        a convenience to keep the files in sync.
17354
173552004-03-02  Ken Kocienda  <kocienda@apple.com>
17356
17357        Reviewed by me
17358
17359        * DOM.subproj/DOM.h: Checked in header copied over
17360        from WebCore.
17361
173622004-03-02  Richard Williamson   <rjw@apple.com>
17363
17364        Added WebJavaScriptObject API.  The location of this file may
17365        change.
17366
17367        Reviewed by Chris.
17368
17369        * Plugins.subproj/NP_objc.h: Added.
17370        * WebKit.pbproj/project.pbxproj:
17371
173722004-03-02  Chris Blumenberg  <cblu@apple.com>
17373
17374        Fixed: <rdar://problem/3575598>: REGRESSION: Safari crashes at IS&T website
17375
17376        Reviewed by darin.
17377
17378        * WebView.subproj/WebDataSource.m:
17379        (-[WebDataSourcePrivate dealloc]): don't stop the icon loader here because that can cause an infinite loop
17380        (-[WebDataSource _stopLoadingInternal]): always stop the icon loader here instead of just when the data source is loading as well.
17381
17382=== Safari-130 ===
17383
173842004-03-02  Ken Kocienda  <kocienda@apple.com>
17385
17386        Reviewed by me
17387
17388        * DOM.subproj/DOM.h: Rollout last night's checkin.
17389        The tree was closed.
17390
173912004-03-01  Chris Blumenberg  <cblu@apple.com>
17392
17393        Fixed: <rdar://problem/3574979>: REGRESSION (129-TOT): crash loading macromedia.com
17394
17395        deliverResource was being called after it had already been called in setDefersCallbacks:.
17396
17397        Reviewed by rjw.
17398
17399        * WebView.subproj/WebBaseResourceHandleDelegate.h:
17400        * WebView.subproj/WebBaseResourceHandleDelegate.m:
17401        (-[WebBaseResourceHandleDelegate deliverResource]): set deliveredResource to YES
17402        (-[WebBaseResourceHandleDelegate deliverResourceAfterDelay]): new, calls deliverResource after a delay
17403        (-[WebBaseResourceHandleDelegate loadWithRequest:]): call deliverResourceAfterDelay
17404        (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): call deliverResourceAfterDelay
17405
174062004-03-01  Ken Kocienda  <kocienda@apple.com>
17407
17408        Reviewed by me
17409
17410        * DOM.subproj/DOM.h: Checked in header copied over
17411        from WebCore.
17412
174132004-03-01  Ken Kocienda  <kocienda@apple.com>
17414
17415        Reviewed by me
17416
17417        * DOM.subproj/DOM.h: Oh, it's like the Keystone Cops this afternoon...
17418        Backed out an unintended change to thsi file.
17419
174202004-03-01  Ken Kocienda  <kocienda@apple.com>
17421
17422        Reviewed by me
17423
17424        * copy-webcore-files-to-webkit: Dumb typing error on my part in making
17425        my previous quick fix. This quick fix works. 
17426
174272004-03-01  Chris Blumenberg  <cblu@apple.com>
17428
17429        Updated the WebKit project file to 1.1 because a previous check-in reverted to 1.01.
17430
17431        * WebKit.pbproj/project.pbxproj:
17432
174332004-03-01  Ken Kocienda  <kocienda@apple.com>
17434
17435        Reviewed by me
17436
17437        * copy-webcore-files-to-webkit: Made this file buildit-compliant
17438
174392004-03-01  Chris Blumenberg  <cblu@apple.com>
17440
17441        Found a bug in my last check-in. If a load that originates from a WebResource is cancelled before the data from the WebResource is delivered, callbacks are sent anyway. 
17442
17443        Reviewed by rjw.
17444
17445        * WebView.subproj/WebBaseResourceHandleDelegate.m:
17446        (-[WebBaseResourceHandleDelegate cancelWithError:]): cancel the perform request for deliverResource
17447
174482004-03-01  Chris Blumenberg  <cblu@apple.com>
17449
17450        Reviewed by darin.
17451
17452        * Misc.subproj/WebIconLoader.m:
17453        (-[WebIconLoader didFinishLoading]): rejigger handle code to avoid Deployment failure
17454        * WebKit.pbproj/project.pbxproj:
17455
174562004-03-01  Chris Blumenberg  <cblu@apple.com>
17457
17458        - Made WebResource loading not use Foundation at all. This allows "Mail Page" and paste to more directly load subresources without any indirection involving NSURLConnection and the Foundation cache.
17459        - Made WebIconLoader a subclass of WebBaseResourceHandleDelegate. This makes favicons appear in the activity window among other things.
17460
17461        Reviewed by kocienda.
17462
17463        * Misc.subproj/WebIconLoader.h:
17464        * Misc.subproj/WebIconLoader.m: removed connection and data ivars since WebBaseResourceHandleDelegate holds these 
17465        (-[WebIconLoaderPrivate dealloc]): removed calls to deleted ivars
17466        (-[WebIconLoader URL]): call renamed request ivar
17467        (-[WebIconLoader startLoading]): call loadWithRequest
17468        (-[WebIconLoader stopLoading]): call cancel
17469        (-[WebIconLoader didFinishLoading]):
17470        * Plugins.subproj/WebNetscapePluginStream.m:
17471        (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]): renamed to be connection-less since callbacks may came from a WebResource and not an NSURLConnection
17472        (-[WebNetscapePluginConnectionDelegate didReceiveData:lengthReceived:]): ditto
17473        (-[WebNetscapePluginConnectionDelegate didFinishLoading]): ditto
17474        (-[WebNetscapePluginConnectionDelegate didFailWithError:]): ditto
17475        * WebCoreSupport.subproj/WebSubresourceClient.m:
17476        (-[WebSubresourceClient didReceiveResponse:]): ditto
17477        (-[WebSubresourceClient didReceiveData:lengthReceived:]): ditto
17478        (-[WebSubresourceClient didFinishLoading]): ditto
17479        (-[WebSubresourceClient didFailWithError:]): ditto
17480        * WebKit.pbproj/project.pbxproj:
17481        * WebView.subproj/WebBaseResourceHandleDelegate.h:
17482        * WebView.subproj/WebBaseResourceHandleDelegate.m:
17483        (-[WebBaseResourceHandleDelegate loadWithRequest:]): instead of storing the resource in the Foundation cache in order to later load it from the cache, deliver the callbacks ourselves after a delay
17484        (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): call deliverResource if callbacks are turned back on
17485        (-[WebBaseResourceHandleDelegate deliverResource]): new, calls didReceiveResponse:, didReceiveData:lengthReceived:, and didFinishLoading
17486        (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]): renamed to be connection-less since callbacks may came from a WebResource and not an NSURLConnection
17487        (-[WebBaseResourceHandleDelegate didReceiveAuthenticationChallenge:]): ditto
17488        (-[WebBaseResourceHandleDelegate didCancelAuthenticationChallenge:]): ditto
17489        (-[WebBaseResourceHandleDelegate didReceiveResponse:]): ditto
17490        (-[WebBaseResourceHandleDelegate didReceiveData:lengthReceived:]): ditto
17491        (-[WebBaseResourceHandleDelegate didFinishLoading]): ditto
17492        (-[WebBaseResourceHandleDelegate didFailWithError:]): ditto
17493        (-[WebBaseResourceHandleDelegate willCacheResponse:]): ditto
17494        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): calls connection-less version of this method
17495        (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): ditto
17496        (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): ditto
17497        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): ditto
17498        (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): ditto
17499        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): ditto
17500        (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): ditto
17501        (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): ditto
17502        (-[WebBaseResourceHandleDelegate cancelWithError:]): call renamed _completeProgressForConnectionDelegate on WebView
17503        (-[WebBaseResourceHandleDelegate cancelledError]): tweak
17504        * WebView.subproj/WebDataSource.m:
17505        (-[WebDataSource _loadIcon]): set the data source on the icon loader so it can callback
17506        * WebView.subproj/WebResource.m:
17507        (-[WebResource _response]): new, factored out from _cachedResponseRepresentation
17508        (-[WebResource _cachedResponseRepresentation]): call _response
17509        * WebView.subproj/WebResourcePrivate.h:
17510        * WebView.subproj/WebView.m:
17511        (-[WebView _incrementProgressForConnectionDelegate:response:]): renamed to be connection-less
17512        (-[WebView _incrementProgressForConnectionDelegate:data:]): ditto
17513        (-[WebView _completeProgressForConnectionDelegate:]): ditto
17514        * WebView.subproj/WebViewPrivate.h:
17515
175162004-03-01  Ken Kocienda  <kocienda@apple.com>
17517
17518        Reviewed by Darin
17519        
17520        Changed all Objective-C DOM classes from protocols to classes. 
17521
17522        * DOM.subproj/DOM-compat.h:
17523        * DOM.subproj/DOM.h:
17524        * WebCoreSupport.subproj/WebBridge.m:
17525        (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]):
17526        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
17527        * WebView.subproj/WebFormDelegate.h:
17528        * WebView.subproj/WebFormDelegate.m:
17529        (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]):
17530        * WebView.subproj/WebFrame.m:
17531        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
17532        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
17533        (-[WebFormState initWithForm:values:sourceFrame:]):
17534        (-[WebFormState form]):
17535        * WebView.subproj/WebFramePrivate.h:
17536        * WebView.subproj/WebHTMLRepresentation.h:
17537        * WebView.subproj/WebHTMLRepresentation.m:
17538        (-[WebHTMLRepresentation DOMDocument]):
17539        (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:]):
17540        (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
17541        (-[WebHTMLRepresentation elementWithName:inForm:]):
17542        (-[WebHTMLRepresentation elementForView:]):
17543        (-[WebHTMLRepresentation elementDoesAutoComplete:]):
17544        (-[WebHTMLRepresentation elementIsPassword:]):
17545        (-[WebHTMLRepresentation formForElement:]):
17546        (-[WebHTMLRepresentation controlsInForm:]):
17547        (-[WebHTMLRepresentation searchForLabels:beforeElement:]):
17548        (-[WebHTMLRepresentation matchLabels:againstElement:]):
17549
175502004-02-27  John Sullivan  <sullivan@apple.com>
17551
17552        - WebKit changes to allow performance improvements to bookmarks 
17553
17554        Reviewed by Darin.
17555
17556        * History.subproj/WebHistoryItemPrivate.h:
17557        added notificationsSuppressed/setNotificationsSuppressed, and setURLString
17558        * History.subproj/WebHistoryItem.m:
17559        (-[WebHistoryItem setNotificationsSuppressed:]):
17560        setter for new flag. When this flag is set, making changes to the WebHistoryItem
17561        will not cause WebHistoryChanged notifications to be sent. This is a big speedup
17562        for reading bookmarks from disk, since currently each WebBookmarkLeaf object
17563        keeps around a WebHistoryItem object that isn't really part of history and thus
17564        doesn't need to send notifications about history changing.
17565        (-[WebHistoryItem notificationsSuppressed]):
17566        getter for new flag
17567        (-[WebHistoryItem setURLString:]):
17568        new method, extracted from guts of setURL:; this allows callers (though
17569        currently only callers at Apple) that have a URL string in hand to set
17570        it directly on the WebHistoryItem rather than converting to a URL and
17571        back, both relatively slow operations. Also, doesn't sent a notification
17572        if notifications are suppressed.
17573        (-[WebHistoryItem setURL:]):
17574        now calls extracted method
17575        (-[WebHistoryItem setAlternateTitle:]):
17576        doesn't send notification if notifications are suppressed
17577        (-[WebHistoryItem setOriginalURLString:]):
17578        ditto
17579        (-[WebHistoryItem setTitle:]):
17580        ditto
17581        (-[WebHistoryItem _setLastVisitedTimeInterval:]):
17582        ditto
17583
175842004-02-26  Chris Blumenberg  <cblu@apple.com>
17585
17586        WebKit side of:
17587        <rdar://problem/3056566>: mail a link to this page
17588        <rdar://problem/2961206>: implement ability to e-mail entire page
17589
17590        Reviewed by john.
17591
17592        * English.lproj/StringsNotToBeLocalized.txt:
17593        * Misc.subproj/WebIconDatabase.m:
17594        (-[WebIconDatabase _createFileDatabase]): tweaks
17595        (-[WebIconDatabase _loadIconDictionaries]): fixed an assertion failure I found in Blot. Keep the original list of icon URLs as a separate list when doing the initial clean-up so we don't over release any icons.
17596        (-[WebIconDatabase _updateFileDatabase]): tweaks
17597        (-[WebIconDatabase _setIcon:forIconURL:]): tweaks
17598        (-[WebIconDatabase _releaseIconForIconURLString:]): tweaks
17599        (-[WebIconDatabase _retainOriginalIconsOnDisk]): use the original list of icons on disk instead of the current list
17600        (-[WebIconDatabase _releaseOriginalIconsOnDisk]): use the original list of icons on disk instead of the current list
17601        * Misc.subproj/WebIconDatabasePrivate.h:
17602        * WebKit.exp:
17603        * WebKit.pbproj/project.pbxproj:
17604        * WebView.subproj/WebDataSource.m:
17605        (-[WebDataSource _propertyListWithData:subresourceURLStrings:]): new, code moved from [WebHTMLView _selectedPropertyList:], creates property list rep of data and subresources
17606        (-[WebDataSource propertyList]): does the above with all the data source data, this is what "Mail Page" uses
17607        * WebView.subproj/WebDataSourcePrivate.h:
17608        * WebView.subproj/WebFrame.m:
17609        (-[WebFrame loadPropertyList:]): renamed from loadHTMLPropertyList because the property list may contain non-HTML data
17610        * WebView.subproj/WebFramePrivate.h:
17611        * WebView.subproj/WebHTMLView.m:
17612        (-[WebHTMLView _selectedPropertyList:]): renamed, code moved to [WebDataSource _propertyListWithData:subresourceURLStrings:]
17613        (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed _selectedPropertyList
17614
176152004-02-26  Ken Kocienda  <kocienda@apple.com>
17616
17617        Reviewed by Chris
17618
17619        Updated usage of DOM SPI to use new names and conventions. 
17620
17621        Unless indicated otherwise, the changes were to update protocol names for, which
17622        changed from using a "WebDOM" prefix to a "DOM" prefix, and changing now need 
17623        only include the DOM.h header from WebKit to get everything.
17624
17625        * DOM.subproj/DOM-compat.h: Added. This header contains some compatibility declarations
17626        to work with older clients of our DOM SPI. Though this file is checked into WebKit, 
17627        it really lives and should be updated in WebCore. It is copied into WebKit by the build 
17628        system as needed.
17629        * DOM.subproj/DOM.h: Added. This file includes the new "guts" of the DOM SPI. As above,
17630        this file is checked into WebKit, it really lives and should be updated in WebCore.
17631        It is copied into WebKit by the build system as needed.
17632        * DOM.subproj/WebDOMDocument.h: Removed declarations. Now just includes DOM.h and DOM-compat.h
17633        * DOM.subproj/WebDOMDocument.m: Removed.
17634        * DOM.subproj/WebDOMElement.h: Removed declarations. Now just includes DOM.h and DOM-compat.h
17635        * DOM.subproj/WebDOMElement.m: Removed.
17636        * DOM.subproj/WebDOMNode.h: Removed declarations. Now just includes DOM.h and DOM-compat.h
17637        * DOM.subproj/WebDOMNode.m: Removed.
17638        * WebCoreSupport.subproj/WebBridge.m:
17639        (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:])
17640        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:])
17641        * WebKit.pbproj/project.pbxproj:
17642        * WebView.subproj/WebDefaultContextMenuDelegate.m:
17643        * WebView.subproj/WebFormDelegate.h:
17644        * WebView.subproj/WebFormDelegate.m:
17645        (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:])
17646        * WebView.subproj/WebFrame.h: Unrelated change. Removed -undoManager accessor from public header. Moved to private header.
17647        * WebView.subproj/WebFrame.m: 
17648        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:])
17649        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:])
17650        (-[WebFrame undoManager]): Moved -undoManager accessor to private category implementation.
17651        (-[WebFormState initWithForm:values:sourceFrame:])
17652        (-[WebFormState form])
17653        (-[WebFrame childFrames])
17654        * WebView.subproj/WebFramePrivate.h: Moved in -undoManager accessor.
17655        * WebView.subproj/WebHTMLRepresentation.h:
17656        * WebView.subproj/WebHTMLRepresentation.m:
17657        (-[WebHTMLRepresentation DOMDocument])
17658        (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:])
17659        (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:])
17660        (-[WebHTMLRepresentation elementWithName:inForm:])
17661        (-[WebHTMLRepresentation elementForView:])
17662        (-[WebHTMLRepresentation elementDoesAutoComplete:])
17663        (-[WebHTMLRepresentation elementIsPassword:])
17664        (-[WebHTMLRepresentation formForElement:])
17665        (-[WebHTMLRepresentation controlsInForm:])
17666        (-[WebHTMLRepresentation searchForLabels:beforeElement:])
17667        (-[WebHTMLRepresentation matchLabels:againstElement:])
17668        * WebView.subproj/WebHTMLView.m:
17669        * copy-webcore-files-to-webkit: Added. Copies DOM.h and DOM-compat.h from WebCore when they
17670        have been updated there.
17671
176722004-02-25  John Sullivan  <sullivan@apple.com>
17673
17674        WebKit part of fix for <rdar://problem/3546370>: add a way to tab to menus, 
17675        checkmarks, and buttons without turning on Full Keyboard Acceess
17676
17677        Reviewed by Ken.
17678
17679        * WebCoreSupport.subproj/WebBridge.m:
17680        (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
17681        turn on WebCoreKeyboardAccessFull bit whenever we turn on
17682        WebCoreKeyboardAccessTabsToLinks bit
17683
176842004-02-24  Chris Blumenberg  <cblu@apple.com>
17685
17686        I forgot to add these files in my last check-in.
17687
17688        * WebView.subproj/WebResource.h: Added.
17689        * WebView.subproj/WebResource.m: Added.
17690        (-[WebResourcePrivate dealloc]):
17691        (-[WebResource initWithData:URL:MIMEType:textEncodingName:]):
17692        (-[WebResource dealloc]):
17693        (-[WebResource data]):
17694        (-[WebResource URL]):
17695        (-[WebResource MIMEType]):
17696        (-[WebResource textEncodingName]):
17697        (+[WebResource _resourcesFromPropertyLists:]):
17698        (+[WebResource _propertyListsFromResources:]):
17699        (-[WebResource _initWithPropertyList:]):
17700        (-[WebResource _initWithCachedResponse:originalURL:]):
17701        (-[WebResource _propertyListRepresentation]):
17702        (-[WebResource _cachedResponseRepresentation]):
17703        * WebView.subproj/WebResourcePrivate.h: Added.
17704
177052004-02-24  Chris Blumenberg  <cblu@apple.com>
17706
17707        Fixed: <rdar://problem/3565476>: design/implement new pasteboard type for HTML that includes subresources
17708
17709        Reviewed by rjw.
17710
17711        * Plugins.subproj/WebNetscapePluginStream.m:
17712        (-[WebNetscapePluginConnectionDelegate initWithStream:view:]): don't manage buffer, WebBaseResourceHandleDelegate does this now
17713        (-[WebNetscapePluginConnectionDelegate releaseResources]): ditto
17714        (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): ditto
17715        (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto
17716        * WebKit.exp:
17717        * WebKit.pbproj/project.pbxproj:
17718        * WebView.subproj/WebBaseResourceHandleDelegate.h:
17719        * WebView.subproj/WebBaseResourceHandleDelegate.m:
17720        (-[WebBaseResourceHandleDelegate releaseResources]): release resourceData and resource
17721        (-[WebBaseResourceHandleDelegate loadWithRequest:]): check the dataSource for a resource, load that if we have one
17722        (-[WebBaseResourceHandleDelegate addData:]): new, adds data to resourceData
17723        (-[WebBaseResourceHandleDelegate saveResource]): new, saves data as a resource on the dataSource
17724        (-[WebBaseResourceHandleDelegate saveResourceWithCachedResponse:]): new, replaces the resource on the dataSource to save memory
17725        (-[WebBaseResourceHandleDelegate resourceData]): new
17726        (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): call addData:
17727        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): call saveResource
17728        (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): new, calls saveResourceWithCachedResponse:
17729        * WebView.subproj/WebDataSource.m:
17730        (-[WebDataSourcePrivate dealloc]): release subresources
17731        (-[WebDataSource subresources]): new, returns the subresources of the data source
17732        (-[WebDataSource subresourceForURL:]): new, returns a resource for a URL
17733        (-[WebDataSource addSubresource:]): new
17734        (-[WebDataSource addSubresources:]): new
17735        (-[WebDataSource _receivedData:]): added an assert
17736        (-[WebDataSource _setData:]): replaces the data of the data source
17737        (-[WebDataSource initWithRequest:]): create subresources
17738        * WebView.subproj/WebDataSourcePrivate.h:
17739        * WebView.subproj/WebFrame.m:
17740        (-[WebFrame loadHTMLPropertyList:]): new, loads a frame from an HTML plist
17741        (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:]): new, factored out from loadData:MIMEType:textEncodingName:baseURL:
17742        (-[WebFrame _loadRequest:subresources:]): new, factored out from loadRequest:, handles subresources
17743        (-[WebFrame loadRequest:]): now just calls _loadRequest:subresources:
17744        * WebView.subproj/WebFramePrivate.h:
17745        * WebView.subproj/WebHTMLView.m:
17746        (-[WebHTMLView _dataSource]): new internal convenience
17747        (+[WebHTMLView _selectionPasteboardTypes]): renamed from _pasteboardTypes to be more precise
17748        (-[WebHTMLView _selectedHTMLPropertyList:]): new, constructs an HTML plist from the selection
17749        (-[WebHTMLView _writeSelectionToPasteboard:]): calls _selectedHTMLPropertyList to support WebHTMLPboardType
17750        (-[WebHTMLView _pasteHTMLFromPasteboard:]): added support for pasting WebHTMLPboardType
17751        (+[WebHTMLView initialize]): call renamed _selectionPasteboardTypes 
17752        (-[WebHTMLView initWithFrame:]): allow WebHTMLPboardType to be dragged in
17753        (-[WebHTMLView validRequestorForSendType:returnType:]): call renamed _selectionPasteboardTypes 
17754        * WebView.subproj/WebHTMLViewPrivate.h:
17755        * WebView.subproj/WebMainResourceClient.m:
17756        (-[WebMainResourceClient addData:]): override since the main resource does it's own buffering
17757        (-[WebMainResourceClient saveResource]): override to do nothing since the main resource is not saved as a subresource
17758        (-[WebMainResourceClient saveResourceWithCachedResponse:]): override, calls _setData on the data source to 
17759        (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]):
17760        * WebView.subproj/WebResource.h: Added.
17761        * WebView.subproj/WebResource.m: Added. New class the represents the data, URL, MIME type and textEncodingName of a resource.
17762        (-[WebResourcePrivate dealloc]):
17763        (-[WebResource initWithData:URL:MIMEType:textEncodingName:]):
17764        (-[WebResource dealloc]):
17765        (-[WebResource data]):
17766        (-[WebResource URL]):
17767        (-[WebResource MIMEType]):
17768        (-[WebResource textEncodingName]):
17769        (-[WebResource description]):
17770        (+[WebResource _resourcesFromPropertyLists:]):
17771        (+[WebResource _propertyListsFromResources:]):
17772        (-[WebResource _initWithPropertyList:]):
17773        (-[WebResource _propertyListRepresentation]):
17774        (-[WebResource _initWithCachedResponse:originalURL:]):
17775        (-[WebResource _cachedResponseRepresentation]):
17776        * WebView.subproj/WebResourcePrivate.h: Added.
17777        * WebView.subproj/WebView.m:
17778
17779=== Safari-129 ===
17780
177812004-02-20  Darin Adler <darin@apple.com>
17782
17783        Reviewed by mjs.
17784
17785        - fix build breakage caused by removal of kWindowNoBufferingAttribute.  
17786
17787        * Carbon.subproj/CarbonWindowAdapter.m:
17788        (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
17789        always used a retained backing store type
17790
177912004-02-20  Chris Blumenberg  <cblu@apple.com>
17792
17793        Fixed: <rdar://problem/3563402>: when copying HTML, relative URLs should be made absolute
17794
17795        Reviewed by dave.
17796
17797        * WebView.subproj/WebHTMLRepresentation.h:
17798        * WebView.subproj/WebHTMLRepresentation.m:
17799        (-[WebHTMLRepresentation HTMLString]): renamed from reconstructed source to be more analogous with other data get methods
17800        * WebView.subproj/WebHTMLView.m:
17801        (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed selectedHTML on the bridge
17802
178032004-02-19  John Sullivan  <sullivan@apple.com>
17804
17805        - WebKit part of fix for <rdar://problem/3292380>: Cycle Tabs keyboard shortcut 
17806        (cmd-shift-arrows) conflicts with text editing
17807
17808        Reviewed by Chris.
17809
17810        * WebView.subproj/WebFrameView.m:
17811        (-[WebFrameView keyDown:]):
17812        If shift key is down along with an arrow key, call super rather than eating
17813        event since we don't handle any shifted events here.
17814
178152004-02-15  Darin Adler  <darin@apple.com>
17816
17817        Reviewed by John and Don.
17818
17819        - discovered that jaguar.com doesn't need spoofing any more, so removed
17820          the spoofing machinery entirely; if we ever have to bring it back we
17821          can, but I doubt we will
17822
17823        * WebView.subproj/WebView.m: Removed include of WebUserAgentSpoofTable.c.
17824        (-[WebViewPrivate dealloc]): Release the new single userAgent rather than
17825        the array and userAgentOverride we used to.
17826        (-[WebView _preferencesChangedNotification:]): Release the single user agent,
17827        rather than the entire cache. Also only do it when the user agent is not
17828        overridden.
17829        (-[WebView setApplicationNameForUserAgent:]): Ditto.
17830        (-[WebView setCustomUserAgent:]): Set the new userAgentOverridden boolean,
17831        and also set userAgent itself.
17832        (-[WebView customUserAgent]): Return userAgent, but only if userAgentOverridden
17833        is true.
17834        (-[WebView userAgentForURL:]): Simplify, now that there's no automatic spoofing
17835        to do. Made even simpler by the fact that custom and computed user agents both
17836        share the same field now.
17837
17838        * WebView.subproj/WebViewPrivate.h: Got rid of UserAgentStringType, turned the
17839        userAgent field into a single item instead of an array, and replaced the
17840        userAgentOverride field with a boolean userAgentOverridden field.
17841
17842        * Makefile.am: Removed the rule to build WebUserAgentSpoofTable.c.
17843        * WebView.subproj/WebUserAgentSpoofTable.c: Removed.
17844        * WebView.subproj/WebUserAgentSpoofTable.gperf: Removed.
17845
178462004-02-15  Darin Adler  <darin@apple.com>
17847
17848        Reviewed by Dave.
17849
17850        * WebKit.pbproj/project.pbxproj: Tweak build styles a bit, fixing OptimizedWithSymbols,
17851        and removing redundant settings of things that match defaults in other build styles.
17852
178532004-02-12  Maciej Stachowiak  <mjs@apple.com>
17854
17855        Reviewed by John.
17856
17857        - redo visited link history checking for a 2% speed improvement
17858
17859        * History.subproj/WebHistory.m:
17860        (-[_WebCoreHistoryProvider containsItemForURLString:]): Removed.
17861        (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]): Implemented.
17862        For https and http URLs with empty path, add a slash. Make a CFString
17863        using the passed-in latin1 buffer without copying.
17864        (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]): Ditto
17865        for unicode.
17866        (matchLetter): New static helper function.
17867        (matchUnicodeLetter): Ditto.
17868
17869=== Safari-128 ===
17870
178712004-02-10  Ken Kocienda  <kocienda@apple.com>
17872
17873        Reviewed by Hyatt
17874
17875        * WebCoreSupport.subproj/WebBridge.m:
17876        (-[WebBridge registerCommandForUndo]): Some cleanup. Cookie for events no longer needed.
17877        (-[WebBridge registerCommandForRedo]): Ditto.
17878        (-[WebBridge clearUndoRedoOperations]): Tells the Cocoa undo manager to clear
17879        steps targeted at the bridge.
17880        * WebView.subproj/WebFrame.h: Declare undo manager accessor.
17881        * WebView.subproj/WebFrame.m:
17882        (-[WebFramePrivate dealloc]): Release undo manager
17883        (-[WebFrame undoManager]): Allocate and return an undo manager. This helps
17884        undo in a browser to be per tab.
17885        * WebView.subproj/WebFramePrivate.h: Declare undo manager ivar.
17886
178872004-02-08  Darin Adler  <darin@apple.com>
17888
17889        Reviewed by Dave.
17890
17891        - fixed things seen in the profile, for a total speedup of 4% on cvs-base
17892        - fixed some layout regressions from my last speedup due to text measurement inconsistencies by adding
17893          a flag to control whether word rounding is done or not
17894        - fixed text measurement to be used with AppKit to match AppKit again, as it did at some point in the past
17895
17896        * WebCoreSupport.subproj/WebTextRenderer.h: Remove some unused fields, and added a field to say whether we
17897        treat this font as fixed pitch.
17898        * WebCoreSupport.subproj/WebTextRenderer.m:
17899        (getUncachedWidth): Remove space width hack from this level. There was already a width hack up at the higher
17900        level for space itself, so there's not a significant speed benefit, and the higher level can make a more
17901        intelligent choice based on the current rounding setting since it's not cached.
17902        (-[WebTextRenderer _computeWidthForSpace]): Don't store so many widths; just the adjusted width we will
17903        actually use.
17904        (widthForNextCharacter): Use two different rules for when to adjust space widths, based on whether this is
17905        a fixed pitch font or not. Also, don't do any adjusting of space widths if applyWordRounding is false.
17906
17907        * Misc.subproj/WebKitNSStringExtras.m:
17908        (-[NSString _web_drawAtPoint:font:textColor:]): Turn off rounding, so we get the kind of spacing AppKit would normally give.
17909        (-[NSString _web_widthWithFont:]): Ditto.
17910        * Misc.subproj/WebStringTruncator.m: (stringWidth): Ditto.
17911
179122004-02-08  Darin Adler  <darin@apple.com>
17913
17914        - fixed things seen in the profile, for a total speedup of 3.7% on cvs-base
17915
17916        * Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_userVisibleString]): Check for "xn--" as we
17917        walk the string instead of in a separate call to strcasestr. Faster this way.
17918
179192004-02-07  Darin Adler  <darin@apple.com>
17920
17921        * WebKit.pbproj/project.pbxproj: Get rid of the DEPLOYMENT_LOCATION and DEPLOYMENT_POSTPROCESSING
17922        flags that were in the Deployment build style. These were causing the need to chmod all the time
17923        after building WebCore successfully, and were doing us no good.
17924
179252004-02-06  Darin Adler  <darin@apple.com>
17926
17927        * Resources/missing_image.tiff: Compressed with compress-tiffs; saved 15890 bytes.
17928
17929=== Safari-127 ===
17930
179312004-02-05  Ken Kocienda  <kocienda@apple.com>
17932
17933        Reviewed by Hyatt
17934
17935        Added so that editing can hook into Cocoa undo architecture. 
17936
17937        * WebCoreSupport.subproj/WebBridge.m:
17938        (-[WebBridge registerCommandForUndo:]):
17939
179402004-02-04  David Hyatt  <hyatt@apple.com>
17941
17942        Fix deployment build bustage.
17943        * Plugins.subproj/WebBaseNetscapePluginView.m:
17944        (ConsoleConnectionChangeNotifyProc):
17945
179462004-02-04  Chris Blumenberg  <cblu@apple.com>
17947
17948        Fixed: <rdar://problem/3546028>: Safari should not give plug-ins any time, thus use 0% CPU, when not in the currently active session
17949
17950
17951        Reviewed by john.
17952
17953        * Plugins.subproj/WebBaseNetscapePluginView.m:
17954        (+[WebBaseNetscapePluginView initialize]): observe CG changes
17955        (-[WebBaseNetscapePluginView addWindowObservers]): observe user switch notifications
17956        (-[WebBaseNetscapePluginView removeWindowObservers]): stop observing user switch notifications
17957        (-[WebBaseNetscapePluginView viewHasMoved:]): tweak
17958        (-[WebBaseNetscapePluginView windowWillClose:]): tweak 
17959        (-[WebBaseNetscapePluginView windowBecameKey:]): tweak
17960        (-[WebBaseNetscapePluginView windowResignedKey:]): tweak
17961        (-[WebBaseNetscapePluginView windowDidMiniaturize:]): tweak
17962        (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): tweak
17963        (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]): new, stop null events
17964        (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]): new, restart null events
17965        (ConsoleConnectionChangeNotifyProc): new, post user switch notifications
17966
179672004-02-02  John Sullivan  <sullivan@apple.com>
17968
17969        Reviewed by Darin.
17970
17971        * Misc.subproj/WebNSURLExtras.h:
17972        * Misc.subproj/WebNSURLExtras.m:
17973        (-[NSURL _web_URLWithLowercasedScheme]):
17974        new method, returns a URL whose scheme has been tolower'ed
17975
17976        * English.lproj/StringsNotToBeLocalized.txt:
17977        Updated for recent changes.
17978
179792004-02-02  Chris Blumenberg  <cblu@apple.com>
17980
17981        Fixed: <rdar://problem/3546924>: REGRESSION: dragging text or images over a WebView is jerky
17982
17983        Reviewed by mjs.
17984
17985        * DOM.subproj/WebDOMNode.h: added HTMLString to the protocol
17986        * WebView.subproj/WebDefaultContextMenuDelegate.m:
17987        (-[WebDefaultUIDelegate copyImageToClipboard:]): get the HTML representation via the DOM node
17988        * WebView.subproj/WebHTMLView.m:
17989        (-[WebHTMLView _handleMouseDragged:]): get the HTML representation via the DOM node
17990        * WebView.subproj/WebView.h: removed the HTML string element key constant
17991        * WebView.subproj/WebView.m: removed the HTML string element key constant
17992
179932004-02-02  Chris Blumenberg  <cblu@apple.com>
17994
17995        Fixed: <rdar://problem/3546426>: when copying images via context menus, only some data is added to the pasteboard
17996
17997        Reviewed by john.
17998
17999        * Misc.subproj/WebNSPasteboardExtras.h:
18000        * Misc.subproj/WebNSPasteboardExtras.m:
18001        (-[NSPasteboard _web_writeImage:URL:title:fileWrapper:HTMLString:]): new, writes and image, URL and other optional arguments to the pasteboard
18002        * Misc.subproj/WebNSViewExtras.m:
18003        (-[NSView _web_dragImage:fileWrapper:rect:URL:title:HTMLString:event:]): factored code out to _web_writeImage, call _web_writeImage
18004        * WebView.subproj/WebDefaultContextMenuDelegate.m:
18005        (-[WebDefaultUIDelegate copyImageToClipboard:]): call _web_writeImage
18006        * WebView.subproj/WebImageView.m:
18007        (-[WebImageView writeImageToPasteboard:]): call _web_writeImage
18008
180092004-02-02  Darin Adler  <darin@apple.com>
18010
18011        - fixed build failure on Merlot
18012
18013        * Misc.subproj/WebNSPasteboardExtras.m: Import just CoreTranslationFlavorTypeNames.h rather than all of
18014        ApplicationServicesPriv.h; should compile faster and avoid build failure.
18015
180162004-02-02  Chris Blumenberg  <cblu@apple.com>
18017
18018        Fixed: <rdar://problem/3546379>: support for editing via drag & drop
18019
18020        Reviewed by kocienda.
18021
18022        * Misc.subproj/WebNSViewExtras.h:
18023        * Misc.subproj/WebNSViewExtras.m:
18024        (-[NSView _web_dragImage:fileWrapper:rect:URL:title:HTMLString:event:]): added a HTMLString argument so that we retain all attributes when dragging images
18025        * WebView.subproj/WebHTMLView.m:
18026        (-[WebHTMLView _canDelete]): call renamed isSelectionEditable
18027        (-[WebHTMLView _canPaste]): call renamed isSelectionEditable
18028        (-[WebHTMLView _pasteHTMLFromPasteboard:]): new, factored out from paste:
18029        (-[WebHTMLView _handleMouseDragged:]): removed code that returned early if we were loading, this kind of protection is no longer needed since we now retain the view while dragging, call renamed _web_dragImage
18030        (-[WebHTMLView initWithFrame:]): register for drop types
18031        (-[WebHTMLView paste:]): call _pasteHTMLFromPasteboard
18032        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): set new isDragging BOOL to YES
18033        (-[WebHTMLView draggedImage:endedAt:operation:]): set new isDragging BOOL to NO
18034        (-[WebHTMLView draggingEntered:]): new
18035        (-[WebHTMLView draggingUpdated:]): new, handle caret movement during the drag
18036        (-[WebHTMLView prepareForDragOperation:]): new
18037        (-[WebHTMLView performDragOperation:]): new
18038        (-[WebHTMLView concludeDragOperation:]): new, paste in the drag
18039        * WebView.subproj/WebHTMLViewPrivate.h:
18040        * WebView.subproj/WebImageView.m:
18041        (-[WebImageView mouseDragged:]): call renamed _web_dragImage
18042        * WebView.subproj/WebView.h:
18043        * WebView.subproj/WebView.m:
18044
18045=== Safari-126 ===
18046
180472004-01-30  Chris Blumenberg  <cblu@apple.com>
18048
18049        Fixed: <rdar://problem/3536126>: REGRESSION (Merlot): WebKit dragging is in strange location
18050
18051        Reviewed by kocienda.
18052
18053        * WebView.subproj/WebHTMLView.m:
18054        (-[WebHTMLView _handleMouseDragged:]): use the proper offset when dragging text
18055
180562004-01-28  John Sullivan  <sullivan@apple.com>
18057
18058        More header/footer work: refactored the header/footer code so it could
18059        be easily reused by other WebDocument classes; used it from WebImageView
18060        and WebTextView; removed the page count parameters because it's possible
18061        (though currently nasty, see 3543078) to determine this in the client.
18062
18063        Reviewed by Dave.
18064
18065        * Misc.subproj/WebNSPrintOperationExtras.h Added.
18066        * Misc.subproj/WebNSPrintOperationExtras.m Added.
18067        (-[NSPrintOperation _web_pageSetupScaleFactor]):
18068        new convenience method.
18069                
18070        * WebView.subproj/WebUIDelegatePrivate.h:
18071        Removed page index and page count parameters from delegate methods.
18072        
18073        * WebView.subproj/WebViewPrivate.h:
18074        New private category for header/footer printing methods so that different
18075        WebDocument methods can share almost all of the code.
18076        
18077        * WebView.subproj/WebView.m:
18078        (-[WebView _headerHeight]):
18079        (-[WebView _footerHeight]):
18080        (-[WebView _drawHeaderInRect:]):
18081        (-[WebView _drawFooterInRect:]):
18082        (-[WebView _adjustPrintingMarginsForHeaderAndFooter]):
18083        (-[WebView _drawHeaderAndFooter]):
18084        Moved all of these methods here, formerly in WebHTMLView. Removed the
18085        page index and page count parameters.
18086
18087        * WebView.subproj/WebHTMLView.m:
18088        Removed all the header/footer code that's now in WebView.m, and the
18089        method that's now -[NSPrintOperation _web_pageSetupScaleFactor]
18090        (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
18091        call methods differently that have now been moved
18092        (-[WebHTMLView _scaleFactorForPrintOperation:]):
18093        ditto
18094        (-[WebHTMLView knowsPageRange:]):
18095        ditto
18096        (-[WebHTMLView drawPageBorderWithSize:]):
18097        now just turns around and calls -[WebView _drawHeaderAndFooter]
18098        
18099        * WebView.subproj/WebImageView.m:
18100        (-[WebImageView drawPageBorderWithSize:]):
18101        new method, just calls -[WebView _drawHeaderAndFooter]
18102        (-[WebImageView beginDocument]):
18103        now calls -[WebView _adjustPrintMarginsForHeaderAndFooter], also moved in file.
18104        (-[WebImageView endDocument]):
18105        just moved in file.
18106
18107        * WebView.subproj/WebTextView.m:
18108        (-[WebTextView drawPageBorderWithSize:]):
18109        new method, just calls -[WebView _drawHeaderAndFooter]        
18110        (-[WebTextView knowsPageRange:]):
18111        overridden to call -[WebView _adjustPrintMarginsForHeaderAndFooter]
18112        
18113        * WebKit.pbproj/project.pbxproj:
18114        updated for added files
18115
18116
181172004-01-28  Chris Blumenberg  <cblu@apple.com>
18118
18119        Fixed: <rdar://problem/3197222>: need context menu items for back, forward, refresh.
18120
18121        Reviewed by rjw.
18122
18123        * English.lproj/Localizable.strings:
18124        * WebView.subproj/WebDefaultContextMenuDelegate.m:
18125        (-[WebDefaultUIDelegate menuItemWithTag:]): added support for WebMenuItemTagGoBack, WebMenuItemTagGoForward, WebMenuItemTagStop and WebMenuItemTagReload tags
18126        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): added support for Back, Forward, Stop and Reload
18127        * WebView.subproj/WebUIDelegate.h: added WebMenuItemTagGoBack, WebMenuItemTagGoForward, WebMenuItemTagStop and WebMenuItemTagReload tags
18128
181292004-01-27  John Sullivan  <sullivan@apple.com>
18130
18131        WebKit part of fixes for:
18132        <rdar://problem/3123975>: ER: please list the source URL in the header 
18133        or footer when printing the contents of a page
18134        <rdar://problem/3184091>: Safari - Configurable printing header/footer
18135        <rdar://problem/3306826>: Please allow printing the date (as well as URL) 
18136        in the header or footer
18137
18138        Reviewed by Dave.
18139
18140        * WebView.subproj/WebHTMLView.m:
18141        (-[WebHTMLView _headerHeight]):
18142        new method, gets result from WebView's UI delegate or returns 0
18143        (-[WebHTMLView _footerHeight]):
18144        new method, gets result from WebView's UI delegate or returns 0
18145        (-[WebHTMLView _drawHeaderInRect:]):
18146        new method, gives WebView's UI delegate a chance to draw header
18147        (-[WebHTMLView _drawFooterInRect:]):
18148        new method, gives WebView's UI delegate a chance to draw footer
18149        (-[WebHTMLView _adjustPrintingMarginsForHeaderAndFooter]):
18150        new method, adds header and footer heights into page margins so
18151        AppKit printing code will compute and use the right area
18152        (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
18153        now calls _adjustPrintingMarginsForHeaderAndFooter if starting to print
18154        (-[WebHTMLView drawPageBorderWithSize:]):
18155        new method, computes rects for header and footer and calls new drawing methods
18156        
18157        * WebView.subproj/WebUIDelegatePrivate.h:
18158        add header and footer-related delegate methods
18159
181602004-01-27  Chris Blumenberg  <cblu@apple.com>
18161
18162        Fixed:
18163        <rdar://problem/3541812>: Implement Paste menu item
18164        <rdar://problem/3541814>: Implement Delete menu item
18165        <rdar://problem/3541811>: Implement Cut menu item
18166
18167        Reviewed by dave.
18168
18169        * WebView.subproj/WebHTMLView.m:
18170        (-[WebHTMLView _haveSelection]): new, renamed from hasSelection, calls haveSelection on the bridge, quicker than generating string rep of selection
18171        (-[WebHTMLView _canDelete]): new
18172        (-[WebHTMLView _canPaste]): new
18173        (-[WebHTMLView takeFindStringFromSelection:]): call renamed _haveSelection
18174        (-[WebHTMLView cut:]): new
18175        (-[WebHTMLView delete:]): new
18176        (-[WebHTMLView paste:]): new
18177        (-[WebHTMLView validateUserInterfaceItem:]): updated for new methods
18178        (-[WebHTMLView validRequestorForSendType:returnType:]): call renamed _haveSelection
18179        * WebView.subproj/WebHTMLViewPrivate.h:
18180
181812004-01-27  Chris Blumenberg  <cblu@apple.com>
18182
18183        Fixed build breakage.
18184
18185        Reviewed by darin.
18186
18187        * WebKit.pbproj/project.pbxproj: Use full path instead of -L to get at WebKitSecurity.a
18188
181892004-01-27  Chris Blumenberg  <cblu@apple.com>
18190
18191        Fixed: <rdar://problem/3536624>: Webkit 1.2 links against SecurityNssAsn1.framework
18192
18193        Reviewed by Darin.
18194
18195        * WebCoreSupport.subproj/WebKeyGeneration.h: Set DISABLE_WEB_KEY_GENERATION on Merlot for now.
18196        Then don't include anything if that's set.
18197        * WebCoreSupport.subproj/WebKeyGeneration.cpp: Don't compile anything if DISABLE_WEB_KEY_GENERATION
18198        is set.
18199        * WebCoreSupport.subproj/WebKeyGenerator.m:
18200        (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]):
18201        Always return nil if DISABLE_WEB_KEY_GENERATION is set.
18202        (-[WebKeyGenerator addCertificatesToKeychainFromData:]): Always return failure if
18203        DISABLE_WEB_KEY_GENERATION is set.
18204
18205        * WebKit.pbproj/project.pbxproj: Added shell build step to make library with security
18206        libraries in it. On Merlot, makes empty library. Also added library to link options.
18207        * WebKitSecurityDummy.c: Added. Used to make empty version of library for build on Merlot.
18208
182092004-01-26  Darin Adler  <darin@apple.com>
18210
18211        * Makefile.am: Switch from pbxbuild to xcodebuild.
18212
182132004-01-26  Darin Adler  <darin@apple.com>
18214
18215        Reviewed by John.
18216
18217        - fixed <rdar://problem/3521379>: image dimensions uses lowercase x instead of multiplication sign
18218
18219        * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation title]):
18220        Change string to use multiplication sign instead of x.
18221        * English.lproj/Localizable.strings: Updated.
18222
182232004-01-23  Ken Kocienda  <kocienda@apple.com>
18224
18225        Reviewed by Richard
18226
18227        * WebView.subproj/WebHTMLView.m:
18228        (-[WebHTMLView updateShowsFirstResponder]): Renamed from updateFocusRing:
18229        since it is now used to kill caret blink timer.
18230        (-[WebHTMLView windowDidBecomeKey:]): Now calls new updateShowsFirstResponder
18231        method.
18232        (-[WebHTMLView windowDidResignKey:]): Ditto.
18233
182342004-01-22  Chris Blumenberg  <cblu@apple.com>
18235
18236        Fixed: <rdar://problem/3537542>: support for copying HTML
18237
18238        Reviewed by dave.
18239
18240        * WebView.subproj/WebHTMLRepresentation.h:
18241        * WebView.subproj/WebHTMLRepresentation.m:
18242        (-[WebHTMLRepresentation reconstructedSource]): for BLOT's eventual use
18243        * WebView.subproj/WebHTMLView.m:
18244        (+[WebHTMLView _pasteboardTypes]): provide NSHTMLPboardType 
18245        (-[WebHTMLView _writeSelectionToPasteboard:]): add HTML to the pasteboard
18246
182472004-01-22  John Sullivan  <sullivan@apple.com>
18248
18249        Reviewed by Chris.
18250
18251        * English.lproj/StringsNotToBeLocalized.txt:
18252        brought this file back up to date
18253
182542004-01-22  Darin Adler  <darin@apple.com>
18255
18256        - fixed 3536624: Webkit 1.2 links against SecurityNssAsn1.framework
18257
18258        * WebKit.pbproj/project.pbxproj: Remove SecurityNssAsn1.framework from the list we link against.
18259        It's still included in the list for places to find headers.
18260
18261=== Safari-125 ===
18262
18263=== Safari-124 ===
18264
182652004-01-15  Vicki Murley  <vicki@apple.com>
18266
18267        Reviewed by Darin.
18268
18269        * WebKit.pbproj/project.pbxproj: Update copyright date to 2004.
18270        * English.lproj/InfoPlist.strings: Update copyright date to 2004.
18271
18272=== Safari-122 ===
18273
18274=== Safari-121 ===
18275
182762004-01-10  Darin Adler  <darin@apple.com>
18277
18278        Reviewed by John.
18279
18280        - fixed 3524906: REGRESSION (114-115): page with plug-in content never stops loading (travelking.com.tw)
18281
18282        Put the plug-in streams clients into their own separate set. Now a plug-in client is not considered part
18283        of "loading", but it does participate in the callback deferral mechanism, which was the real goal of the
18284        change I made that introduced this regression. Also remove the plug-in client in one case I had missed
18285        before (cancel).
18286
18287        * WebView.subproj/WebDataSourcePrivate.h: Added a new set of plugInStreamClients.
18288        * WebView.subproj/WebDataSource.m:
18289        (-[WebDataSourcePrivate dealloc]): Release the set.
18290        (-[WebDataSource _addPlugInStreamClient:]): Added. Adds to the set.
18291        (-[WebDataSource _removePlugInStreamClient:]): Added. Removes from the set.
18292        (-[WebDataSource _defersCallbacksChanged]): Added code to loop through plugInStreamClients too.
18293
18294        * Plugins.subproj/WebNetscapePluginStream.m:
18295        (-[WebNetscapePluginStream start]): Use _add/removePlugInStreamClient instead of _add/removeSubresourceClient.
18296        (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): Ditto.
18297        (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): Ditto.
18298        (-[WebNetscapePluginConnectionDelegate cancelWithError:]): Override to call _removePlugInStreamClient and
18299        then call super.
18300
183012004-01-09  Darin Adler  <darin@apple.com>
18302
18303        - rolled out most of Dave's change for 3510669 and 3515442; it is not working yet
18304
18305        * WebView.subproj/WebHTMLViewPrivate.h:
18306        * WebView.subproj/WebHTMLView.m:
18307
183082004-01-09  Maciej Stachowiak  <mjs@apple.com>
18309
18310        Reviewed by Chris.
18311
18312        <rdar://problem/3514446>: cert downloaded from BofA or MIT is rejected (ACL issue on private key?)
18313        
18314        * WebCoreSupport.subproj/WebKeyGeneration.cpp:
18315        (createPair): Cut & paste hunk of code from Security framework.
18316        (Safari_SecKeyCreatePair): Ditto.
18317        (signedPublicKeyAndChallengeString): Instead of creating a normal ACL,
18318        use our hacked version of the SecKeyCreatePair call that doesn't put in
18319        any kind of ACL. This works around a SecureTransport bug.
18320
183212004-01-09  David Hyatt  <hyatt@apple.com>
18322
18323        Fixes for 3510669 and 3515442, blank frame problems caused by WebKit's resizing not scheduling actual
18324        layouts via WebCore.
18325        Reviewed by darin
18326
18327        * WebView.subproj/WebHTMLView.m:
18328        (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
18329        (-[WebHTMLView initWithFrame:]):
18330        (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
18331        (-[WebHTMLView setNeedsLayout:]):
18332        * WebView.subproj/WebHTMLViewPrivate.h:
18333
183342004-01-09  Darin Adler  <darin@apple.com>
18335
18336        Reviewed by Chris.
18337
18338        - fixed 3510805: "PoolCleaner" in Carbon WebKit leads to overrelease and crash using color picker in BBEdit
18339
18340        * Carbon.subproj/CarbonUtils.m: (PoolCleaner): Only do the autorelease
18341        pool stuff in the default run loop mode. If we're in another run loop
18342        mode that means we are in some Cocoa code that sets up its own autorelease
18343        pool; it's important that we don't release ours in that case.
18344
183452004-01-08  Maciej Stachowiak  <mjs@apple.com>
18346
18347        Reviewed by John.
18348
18349        <rdar://problem/3522298>: Error on MIT's x509 certificate site
18350
18351        * WebCoreSupport.subproj/WebKeyGeneration.cpp:
18352        (addCertificatesToKeychainFromData): Sign the freshly minted public key
18353        using RSA/MD5 instead of RSA/SHA-1, because MIT only supports MD5.
18354
183552004-01-08  Richard Williamson   <rjw@apple.com>
18356
18357        Fixed 3524430.  This was a regression introduced when we added '-' and '?' to the word boundary detection.
18358
18359        Also backed out workaround for 3521759 as it's no longer needed with correct argument passing to ATSUPositionToOffset.
18360
18361        Reviewed by Hyatt.
18362
18363        * WebCoreSupport.subproj/WebTextRenderer.m:
18364        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
18365        (widthForNextCharacter):
18366
183672004-01-08  Chris Blumenberg  <cblu@apple.com>
18368
18369        Fixed: <rdar://problem/3522900>: REGRESSION (100-117): Java plug-in description is garbled when displaying Plug-ins.html
18370
18371        Reviewed by darin.
18372
18373        * Misc.subproj/WebKitNSStringExtras.h:
18374        * Misc.subproj/WebKitNSStringExtras.m:
18375        (+[NSString _web_encodingForResource:]): new method, returns the encoding for a resource handle given its file system path
18376        * Plugins.subproj/WebNetscapePluginPackage.m:
18377        (-[WebNetscapePluginPackage stringForStringListID:andIndex:]): call _web_encodingForResource when creating the NSString
18378
18379=== Safari-120 ===
18380
183812004-01-06  Richard Williamson   <rjw@apple.com>
18382
18383        Fixed 3513660.  Make ATSU layout and draw with integer glyph boundaries.  This fix should be removed if/when we convert WebCore to use floats for measuring/positioning (3521781).
18384
18385        Reviewed by John.
18386
18387        * WebCoreSupport.subproj/WebTextRenderer.m:
18388        (-[WebTextRenderer _createATSUTextLayoutForRun:]):
18389
183902004-01-05  Richard Williamson   <rjw@apple.com>
18391
18392        Fix for 3514454.  Work-around added for 3521759.
18393
18394        Filed 3521781 to cover deeper problem.
18395
18396        Reviewed by Kocienda.
18397
18398        * WebCoreSupport.subproj/WebTextRenderer.m:
18399        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
18400        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
18401
184022003-12-22  John Sullivan  <sullivan@apple.com>
18403
18404        - WebKit part of fix for <rdar://problem/3515706>: 
18405        REGRESSION (100-118): Web Kit printing does not honor Page Setup scale factor
18406
18407        Reviewed by Darin.
18408
18409        * WebView.subproj/WebHTMLView.m:
18410        (-[WebHTMLView _userScaleFactorForPrintOperation:]):
18411        new method, extracts the scale factor provided by the user in
18412        the Page Setup dialog
18413        (-[WebHTMLView _scaleFactorForPrintOperation:]):
18414        take user scale factor into account
18415        (-[WebHTMLView knowsPageRange:]):
18416        renamed local var scaleFactor -> totalScaleFactor for clarity;
18417        take user scale factor into account for print width; now assumes
18418        computePageRects returns autoreleased result.
18419
18420        * WebKit.pbproj/project.pbxproj:
18421        Xcode version wars; Darin says these don't affect the build.
18422
184232003-12-21  Darin Adler  <darin@apple.com>
18424
18425        Reviewed by John.
18426
18427        - fixed a storage leak
18428
18429        * WebView.subproj/WebFrame.m:
18430        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
18431        Move the release of the request out of an if statement, since it's always needed.
18432
184332003-12-19  Chris Blumenberg  <cblu@apple.com>
18434
18435        Fixed: <rdar://problem/3515255>: Standalone image drag makes ocassionally makes 2 copies
18436
18437        Reviewed by john.
18438
18439        * WebKit.pbproj/project.pbxproj: Xcode 1.1 file format change
18440        * WebView.subproj/WebImageView.h:
18441        * WebView.subproj/WebImageView.m: copied double-drag protection code from WebHTMLView
18442        (-[WebImageView mouseDown:]): set ignoringMouseDraggedEvents to NO
18443        (-[WebImageView mouseDragged:]): if ignoringMouseDraggedEvents, return
18444        (-[WebImageView draggedImage:endedAt:operation:]): set ignoringMouseDraggedEvents to YES
18445
18446=== Safari-119 ===
18447
184482003-12-18  Richard Williamson   <rjw@apple.com>
18449
18450        Fixed 3511415.  We have to un-visually order visually ordered text
18451        before passing to ATSU.
18452
18453        Reviewed by John.
18454
18455        * WebCoreSupport.subproj/WebTextRenderer.m:
18456        (reverseCharactersInRun):
18457        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
18458        (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
18459        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
18460
184612003-12-17  Richard Williamson   <rjw@apple.com>
18462
18463        Fixed 3503011 (really, this time).  Always use integer width for '-' and '?', as we do for spaces, to ensure
18464        that 'words' (as defined by out rounding hack) start on integer boundaries.
18465
18466        Reviewed by John.
18467
18468        * WebCoreSupport.subproj/WebTextRenderer.m:
18469        (widthForNextCharacter):
18470
184712003-12-17  Chris Blumenberg  <cblu@apple.com>
18472
18473        Fixed:
18474        <rdar://problem/3393758>: REGRESSION (85-100): Flash onKeyUp event non-functional
18475        <rdar://problem/3479020>: REGRESSION (85-100): Safari sends plug-in key events to wrong instance of plug-in
18476
18477        Reviewed by darin.
18478
18479        * Plugins.subproj/WebBaseNetscapePluginView.h:
18480        * Plugins.subproj/WebBaseNetscapePluginView.m:
18481        (-[WebBaseNetscapePluginView sendEvent:]): set suspendKeyUpEvents to NO
18482        (-[WebBaseNetscapePluginView keyMessageForEvent:]): copied from CVS
18483        (-[WebBaseNetscapePluginView keyUp:]): if !suspendKeyUpEvents, send the keyUp event
18484        (-[WebBaseNetscapePluginView keyDown:]): set suspendKeyUpEvents to YES
18485        (-[WebBaseNetscapePluginView windowBecameKey:]): call SetUserFocusWindow
18486
184872003-12-17  Darin Adler  <darin@apple.com>
18488
18489        Reviewed by Richard.
18490
18491        - fixed 3513274: REGRESSION: anchor navigation within frames with "Back" is broken at tivofaq.com
18492
18493        * WebView.subproj/WebDataSource.m: (-[WebDataSource _setURL:]):
18494        Since this method is only used when you do a fragment scroll, we need to update
18495        the original request as well as the request. This ensure that the fragment gets
18496        recorded in the history item (which goes in the back/forward history).
18497
18498=== Safari-118 ===
18499
185002003-12-17  John Sullivan  <sullivan@apple.com>
18501
18502        - fixed <rdar://problem/3512801>: REGRESSION (Safari 100-116): 
18503        Mike Hay's Magic 8-ball game ignores slow clicks
18504
18505        Reviewed by Darin.
18506
18507        * WebView.subproj/WebHTMLView.m:
18508        (-[WebHTMLView _handleAutoscrollForMouseDragged:]):
18509        start the autoscroll timer here, so the timer only runs when KHTML is
18510        handling the event.
18511        (-[WebHTMLView mouseDown:]):
18512        don't start the autoscroll timer here.
18513
185142003-12-16  Ken Kocienda  <kocienda@apple.com>
18515
18516        * WebCoreSupport.subproj/WebBridge.m: ObjC runtime needs a declaration for new
18517        _calculatedExpiration SPI in NSURLResponse in Foundation
18518
185192003-12-16  Richard Williamson   <rjw@apple.com>
18520
18521        Fixed 3512348:  Rewrote _CG_drawHighlightForRun:style:atPoint: to use width
18522        iterators.  Much faster, better cheaper, etc.
18523
18524        Reviewed by Dave.
18525
18526        * WebCoreSupport.subproj/WebTextRenderer.m:
18527        (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
18528
185292003-12-16  Richard Williamson   <rjw@apple.com>
18530
18531        Fixed 3503011.  Added '-' and '?' to rounding hack.
18532
18533        Reviewed by John.
18534
18535        * WebCoreSupport.subproj/WebTextRenderer.m:
18536        (isRoundingHackCharacter):
18537        (widthForNextCharacter):
18538
185392003-12-16  Darin Adler  <darin@apple.com>
18540
18541        Reviewed by Richard.
18542
18543        - finished fix to 3109132: can't open movie file via open panel
18544
18545        * WebView.subproj/WebView.m: (+[WebView _supportedFileExtensions]):
18546        Include all the extensions for each MIME type, not jus the preferred one.
18547
185482003-12-16  Ken Kocienda  <kocienda@apple.com>
18549
18550        Reviewed by Darin
18551
18552        Fix for this bug:
18553
18554        <rdar://problem/3512199>: WebBridge expiresTimeForResponse can be 
18555        improved to use better expiration calculations
18556
18557        * WebCoreSupport.subproj/WebBridge.m:
18558        (-[WebBridge expiresTimeForResponse:]): Switch to use new 
18559        _calculatedExpiration SPI method on NSURLResponse.
18560
185612003-12-15  Chris Blumenberg  <cblu@apple.com>
18562
18563        Fixed: <rdar://problem/3505546>: always get keychain prompt when sending mail using cert downloaded with Safari
18564
18565        Reviewed by john.
18566
18567        * WebCoreSupport.subproj/WebKeyGeneration.cpp:
18568        (signedPublicKeyAndChallengeString): set up the SecAccessRef with "everything goes" restrictions
18569
185702003-12-14  Darin Adler  <darin@apple.com>
18571
18572        Reviewed by Maciej.
18573
18574        - fixed 3311205: click() on a file input type form element does not work bring up the file chooser as it does in IE
18575
18576        * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton performClick]):
18577        Add method for clicking, now part of the WebCoreFileButton protocol.
18578        The rest of the fix is in WebCore.
18579
185802003-12-13  Darin Adler  <darin@apple.com>
18581
18582        Fixed by Ed Voas, reviewed by me.
18583
18584        - fixed 3278443: CARBON: grow box obscures scroll bar knob
18585
18586        * Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter _growBoxRect]):
18587        Return the grow box so AppKit's scroll bar code will know where it is.
18588
185892003-12-12  Ken Kocienda  <kocienda@apple.com>
18590
18591        * WebCoreSupport.subproj/WebKeyGeneration.cpp:
18592        (signedPublicKeyAndChallengeString): Fix build-bustin' typo.
18593
185942003-12-12  Chris Blumenberg  <cblu@apple.com>
18595
18596        Fixed:
18597        <rdar://problem/3396936>: can't obtain a digital ID from Verisign, form submission fails
18598        <rdar://problem/3505208>: keys added to keychain from KEYGEN need better UI names
18599
18600        Reviewed by rjw.
18601
18602        * English.lproj/Localizable.strings:
18603        * WebCoreSupport.subproj/WebKeyGeneration.cpp:
18604        (signedPublicKeyAndChallengeString): take a key description arg and use it, take and return CFStrings, handle the empty string case
18605        (addCertificatesToKeychainFromData): return a WebCertificateParseResult so WB knows how to handle the cert
18606        * WebCoreSupport.subproj/WebKeyGeneration.h:
18607        * WebCoreSupport.subproj/WebKeyGenerator.h:
18608        * WebCoreSupport.subproj/WebKeyGenerator.m:
18609        (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): take a page URL so we can use its host name in the key description
18610        * WebKit.pbproj/project.pbxproj:
18611
186122003-12-12  Vicki Murley  <vicki@apple.com>
18613
18614        * WebKit.pbproj/project.pbxproj:
18615
186162003-12-12  Vicki Murley  <vicki@apple.com>
18617
18618        * WebKit.pbproj/project.pbxproj:
18619
186202003-12-12  Vicki Murley  <vicki@apple.com>
18621
18622        * WebKit.pbproj/project.pbxproj:
18623
186242003-12-11  Ken Kocienda  <kocienda@apple.com>
18625
18626        Reviewed by Darin
18627
18628        Fix for this bug:
18629
18630        <rdar://problem/3489280>: redirect via post blows cache, causing everything to get reloaded
18631
18632        Now POST requests reload the main document by default, but will not reload 
18633        all subresources.
18634
18635        * WebCoreSupport.subproj/WebSubresourceClient.m:
18636        (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
18637        * WebView.subproj/WebFrame.m:
18638        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
18639        Take the cache policy for subresources from the original request, rather than
18640        the data source's current request. 
18641        * WebView.subproj/WebMainResourceClient.m:
18642        (-[WebMainResourceClient _isPostOrRedirectAfterPost:redirectResponse:]): New helper.
18643        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
18644        Call new helper to set the cache policy on the main resource load.
18645
18646=== Safari-117 ===
18647
186482003-12-11  Ken Kocienda  <kocienda@apple.com>
18649
18650        Reviewed by Darin
18651
18652        * WebCoreSupport.subproj/WebBridge.m: time_t is a signed type, so
18653        casting -1 to a time_t does not work to make a max value.
18654        We'll go with INT_MAX.
18655
186562003-12-11  Ken Kocienda  <kocienda@apple.com>
18657
18658        Reviewed and C++ heavy-lifting by Darin
18659
18660        Fix warnings in C++ files.
18661
18662        * WebCoreSupport.subproj/WebKeyGeneration.cpp:
18663        (signedPublicKeyAndChallengeString): Add cast to remove warning.
18664        (addCertificatesToKeychainFromData): Add cast to remove warning.
18665        * WebKit.pbproj/project.pbxproj: Add back warnings to C++ files.
18666        * WebKitPrefix.h: Add define for NULL that works for C++.
18667
186682003-12-09  Ken Kocienda  <kocienda@apple.com>
18669
18670        Reviewed by Darin
18671        
18672        <rdar://problem/3505444>: WebCore cache does not use expiration dates on cache items
18673        
18674        * WebCoreSupport.subproj/WebBridge.m:
18675        (-[WebBridge expiresTimeForResponse:]): New method. Call response
18676        freshness lifetime method and add it to the current time to yield
18677        an expiration time.
18678
186792003-12-10  Maciej Stachowiak  <mjs@apple.com>
18680
18681        Reviewed by Richard.
18682
18683        WebKit part of fix for:
18684
18685        <rdar://problem/3487160>: Implement synchronous loading for XMLHttpRequest
18686
18687        * WebCoreSupport.subproj/WebBridge.m:
18688        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
18689
186902003-12-10  Richard Williamson   <rjw@apple.com>
18691
18692        Added method to get to the bridge from a view.  This is
18693        used to ultimately get the part and KJS::Window for a
18694        particular applet.
18695
18696        Reviewed by Hyatt.
18697
18698        * WebCoreSupport.subproj/WebViewFactory.m:
18699        (-[WebViewFactory refreshPlugins:]):
18700        (-[WebViewFactory bridgeForView:]):
18701
187022003-12-10  John Sullivan  <sullivan@apple.com>
18703
18704        - WebKit part of fix for:
18705        <rdar://problem/3505231>: REGRESSION (100-114): Some sites autoscroll to bottom of page when loading
18706
18707        Reviewed by Darin
18708
18709        * Misc.subproj/WebNSViewExtras.h:
18710        * Misc.subproj/WebNSViewExtras.m:
18711        removed _web_scrollPointToVisible:fromView:
18712        
18713        * WebView.subproj/WebHTMLView.m:
18714        (-[WebHTMLView scrollPoint:]):
18715        removed call to _web_scrollPointToVisible:fromView:
18716
187172003-12-10  Chris Blumenberg  <cblu@apple.com>
18718
18719        Fixed: <rdar://problem/3505537>: certificates downloaded from Verisign are multipart/mixed, must be parsed out
18720
18721        Reviewed by kocienda.
18722
18723        * WebCoreSupport.subproj/WebKeyGeneration.cpp:
18724        (signedPublicKeyAndChallengeString): tweak
18725        (addCertificateToKeychainFromData): renamed to use lowercase "c" in "keychain"
18726        (addCertificatesToKeychainFromData): take data instead of a path to a file
18727        * WebCoreSupport.subproj/WebKeyGeneration.h:
18728        * WebCoreSupport.subproj/WebKeyGenerator.h:
18729        * WebCoreSupport.subproj/WebKeyGenerator.m:
18730        (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:]): added temporary workaround for 3396936
18731
187322003-12-09  Chris Blumenberg  <cblu@apple.com>
18733
18734        Fixed: <rdar://problem/3504237>: add downloaded certificates to keychain
18735
18736        Reviewed by darin.
18737
18738        * WebCoreSupport.subproj/WebKeyGeneration.cpp:
18739        (signedPublicKeyAndChallengeString):
18740        (addCertificateToKeyChainFromData): new
18741        (addCertificateToKeyChainFromFile): new
18742        * WebCoreSupport.subproj/WebKeyGeneration.h:
18743        * WebCoreSupport.subproj/WebKeyGenerator.h:
18744        * WebCoreSupport.subproj/WebKeyGenerator.m:
18745        (-[WebKeyGenerator addCertificateToKeyChainFromFileAtPath:]): new
18746        * WebKit.exp:
18747        * WebKit.pbproj/project.pbxproj: made WebKeyGenerator.h private
18748
187492003-12-09  John Sullivan  <sullivan@apple.com>
18750
18751        - fixed <rdar://problem/3504907>: REGRESSION (100-116): 
18752        Clicking QuickTime-requiring link twice crashes (wholenote.com)
18753
18754        I found the bug; Darin wrote the fix; I reviewed and tested.
18755
18756        * Plugins.subproj/WebNetscapePluginPackage.m:
18757        (-[WebNetscapePluginPackage stringForStringListID:andIndex:]):
18758        Rewrote this method to not use GetIndString, because GetIndString looks
18759        at all open resource files and in this case was reading information from
18760        the wrong plugin file.
18761
187622003-12-08  Chris Blumenberg  <cblu@apple.com>
18763
18764        Fixed: <rdar://problem/3234676>: Support for KEYGEN tag (ie 509 email certificates from www.thawte.com)
18765
18766        Reviewed by mjs.
18767
18768        * WebCoreSupport.subproj/WebKeyGeneration.cpp: Added.
18769        (gnrAddContextAttribute): new
18770        (gnrGetSubjPubKey): new
18771        (gnrNullAlgParams): new
18772        (gnrSign): new
18773        (gnrFreeCssmData): new
18774        (signedPublicKeyAndChallengeString): new
18775        * WebCoreSupport.subproj/WebKeyGeneration.h: Added.
18776        * WebCoreSupport.subproj/WebKeyGenerationFactory.h: Added. Renamed from WebLocalizedStringFactory.
18777        * WebCoreSupport.subproj/WebKeyGenerationFactory.m: Added.
18778        (+[WebKeyGenerationFactory createSharedFactory]): no change
18779        (-[WebKeyGenerationFactory dealloc]): no change
18780        (-[WebKeyGenerationFactory strengthMenuItemTitles]): new
18781        (-[WebKeyGenerationFactory signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:]): new
18782        * WebCoreSupport.subproj/WebLocalizedStringFactory.h: Removed.
18783        * WebCoreSupport.subproj/WebLocalizedStringFactory.m: Removed.
18784        * WebCoreSupport.subproj/WebNetscapeTemplates.cpp: Added.
18785        * WebCoreSupport.subproj/WebNetscapeTemplates.h: Added.
18786        * WebKit.pbproj/project.pbxproj:
18787        * WebKitPrefix.h:
18788        * WebView.subproj/WebFrameView.m:
18789
187902003-12-05  John Sullivan  <sullivan@apple.com>
18791
18792        - fixed <rdar://problem/3491427>: REGRESSION (100-114): multi-page HTML 
18793        content in Mail is blank when printed
18794
18795        Darin and I figured this one out.
18796
18797        Reviewed by Ken.
18798
18799        * WebView.subproj/WebHTMLView.m:
18800        (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
18801        Don't call setNeedsDisplay:NO when we're turning printing on, as doing so prevents
18802        anything from drawing in the case where this is called from 
18803        adjustPageHeightsNew:top:bottom:limit
18804
188052003-12-05  Darin Adler  <darin@apple.com>
18806
18807        Reviewed by John.
18808
18809        - fixed regression in small caps with substituted fonts my patch from yesterday caused
18810        - fixed 3463599: if Lucida font is installed, you see bad glyphs on pages that use it (advogato.org)
18811        - fixed storage leak if a renderer is ever deallocated (I don't think we ever do that)
18812        - fixed some small leaks in various error cases by adding appropriate free and dispose calls
18813
18814        * WebCoreSupport.subproj/WebTextRenderer.m:
18815        (-[WebTextRenderer dealloc]): Free the Unicode glyph map too.
18816        (fontContainsString): Moved inline function up here so it will be inlined.
18817        (-[WebTextRenderer _setupFont]): Free the glyph map and set it back to zero if we fail after
18818        extending the glyph map to include space. This fixes the "wrong glyph codes" bug with Lucida above.
18819        (-[WebTextRenderer _extendUnicodeCharacterToGlyphMapToInclude:]): Add free calls needed to avoid
18820        storage leaks in failure cases.
18821        (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): Ditto.
18822        (-[WebTextRenderer _initializeATSUStyle]): Add ATSUDisposeStyle to fix storage leak.
18823        (freeWidthMap): Use a loop instead of recursion.
18824        (freeGlyphMap): Use a loop instead of recursion.
18825        (freeUnicodeGlyphMap): Added.
18826        (widthForNextCharacter): Don't use the original characters or cluster length, because the
18827        character may have been capitalized for use in small caps rendering. So check the character
18828        for <= 0xFFFF instead of looking at clusterLength, and break the character into a local array
18829        instead of using the original character pointer.
18830
188312003-12-04  Darin Adler  <darin@apple.com>
18832
18833        Reviewed by Richard.
18834
18835        - fixed 3497879: REGRESSION (100-115): all non-BMP characters (including Deseret) are broken
18836
18837        * WebCoreSupport.subproj/WebTextRenderer.m:
18838        (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]): Bump offset by getting it from
18839        the iterator; don't assume we can just bump it by one each time. It would be even nicer to have
18840        a bit more abstraction.
18841        (initializeCharacterWidthIterator): Remove call to initializeCharacterShapeIterator.
18842        (widthForNextCharacter): Move handling of surrogate pairs (non-BMP) in here and unify it with
18843        the handling of BMP characters; this removes the broken code that was returning the wrong font,
18844        and changes us to use the code that was already doing the right thing for the surrogate pair case.
18845        Also get rid of the use of 0 width to mean "no glyph", which fixes the doubled glyph problem.
18846        Also got rid of remnants of use of the shape iterator.
18847
18848        * Misc.subproj/WebUnicode.h: Remove obsolete shape iterator.
18849        * Misc.subproj/WebUnicode.m: Ditto.
18850
18851=== Safari-116 ===
18852
188532003-12-04  Darin Adler  <darin@apple.com>
18854
18855        Reviewed by Ken.
18856
18857        - fixed 3498426: assertion failure in tooltip code at macosx.apple.com
18858
18859        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setToolTip:]): Work around
18860        the apparent bug in AppKit (3500217) that causes it to return 0 for the tool tip
18861        tag by using removeAllToolTips and not storing the tag at all. Besides the assertion
18862        failure there may also be a symptom of a "stuck" tool tip and a small memory
18863        leak until the window is closed.
18864        * WebView.subproj/WebHTMLViewPrivate.h: Remove unused toolTipTag.
18865
188662003-12-02  Chris Blumenberg  <cblu@apple.com>
18867
18868        Fixed:
18869        <rdar://problem/3439222>: always hangs opening plain text file on a particular machine due to missing font, no UI to detect
18870        <rdar://problem/3492983>: Certain fonts cause Safari to hang on text/plain pages
18871
18872        Reviewed by rjw.
18873
18874        * WebView.subproj/WebTextView.m:
18875        (-[WebTextView setFixedWidthFont]): Use [[WebTextRendererFactory sharedFactory] fontWithFamilies:traits:size:] to get the font since it takes the font family which is what we store in WebPreferences and it does fallback work. Only set the font if 
18876
18877
18878non-nil is returned.
18879
188802003-11-21  Maciej Stachowiak  <mjs@apple.com>
18881
18882        Reviewed by Richard.
18883
18884        <rdar://problem/3487185>: implement security checks for XMLHttpRequest
18885        
18886        * WebCoreSupport.subproj/WebSubresourceClient.m:
18887        (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]): Let
18888        WebCore know about redirects.
18889
188902003-12-01  Richard Williamson   <rjw@apple.com>
18891
18892        Moved grungy polling code from WebKit to the JavaPlugin.
18893
18894        Reviewed by Chris.
18895
18896        * WebCoreSupport.subproj/WebBridge.m:
18897        (-[WebBridge pollForAppletInView:]):
18898
188992003-12-01  Ken Kocienda  <kocienda@apple.com>
18900
18901        Reviewed by John
18902
18903        Fix for this bug:
18904
18905        <rdar://problem/3496873>: Move key event helper functions to WebKit
18906
18907        * Misc.subproj/WebNSEventExtras.h: Add declarations for new key event
18908        helpers.
18909        * Misc.subproj/WebNSEventExtras.m:
18910        (-[NSEvent _web_isKeyEvent:]): Added.
18911        (-[NSEvent _web_isDeleteKeyEvent]): Added.
18912        (-[NSEvent _web_isEscapeKeyEvent]): Added.
18913        (-[NSEvent _web_isOptionTabKeyEvent]): Added.
18914        (-[NSEvent _web_isReturnOrEnterKeyEvent]): Added.
18915        (-[NSEvent _web_isTabKeyEvent]): Added.
18916        * WebKit.pbproj/project.pbxproj: Made WebNSEventExtras.h a private header
18917        so WebBrowser can use the new helpers.
18918
18919=== Safari-115 ===
18920
189212003-11-21  Maciej Stachowiak  <mjs@apple.com>
18922
18923        Reviewed by Ken.
18924
18925        WebKit part of fix for:
18926        <rdar://problem/3487134>: Implement http request/response status and headers for XMLHttpRequest
18927        * WebCoreSupport.subproj/WebBridge.m:
18928        (-[WebBridge startLoadingResource:withURL:customHeaders:]): Added customHeaders
18929        parameter.
18930        (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
18931        * WebCoreSupport.subproj/WebSubresourceClient.h:
18932        * WebCoreSupport.subproj/WebSubresourceClient.m:
18933        (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): Add the custom headers.
18934        (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:referrer:forDataSource:]): Pass along the custom headers.
18935        (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): Pass along the custom headers.
18936
189372003-11-21  John Sullivan  <sullivan@apple.com>
18938
18939        - WebKit part of fix for <rdar://problem/3333744>: Safari prints page with 
18940        very, very long line very, very small
18941
18942        Reviewed by Ken.
18943
18944        * WebView.subproj/WebHTMLView.m:
18945        renamed PrintingExtraWidthFactor to PrintingMinimumShrinkFactor, added
18946        PrintingMaximumShrinkFactor of 2.0, which matches IE
18947        (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
18948        now takes a min and max page width; passes them along to bridge
18949        (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
18950        now takes a min and max page width; passes them along to layoutTo...
18951        (-[WebHTMLView _scaleFactorForPrintOperation:]):
18952        now takes PrintingMaximumScaleFactor into account
18953        (-[WebHTMLView knowsPageRange:]):
18954        now takes PrintingMaximumScaleFactor into account
18955
18956        (-[WebHTMLView layout]):
18957        pass 0 for maximumPageWidth when passing 0 for minimumPageWidth
18958        (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
18959        ditto
18960        (-[WebHTMLView _web_setPrintingModeRecursive]):
18961        ditto
18962        (-[WebHTMLView _web_clearPrintingModeRecursive]):
18963        ditto
18964        (-[WebHTMLView endDocument]):
18965        ditto
18966
189672003-11-20  John Sullivan  <sullivan@apple.com>
18968
18969        - WebKit part of <rdar://problem/3183124>: Support page-break-before/after with a value of "always"
18970
18971        Dave and I wrote and reviewed this.
18972
18973        * WebView.subproj/WebHTMLView.m:
18974        (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
18975        reset page rects when printing status changes
18976        (-[WebHTMLView _availablePaperWidthForPrintOperation:]):
18977        new helper method to compute paper width taking margins into account
18978        (-[WebHTMLView _scaleFactorForPrintOperation:]):
18979        new helper method to compute how much we need to shrink to fit one page across
18980        (-[WebHTMLView _provideTotalScaleFactorForPrintOperation:]):
18981        we overrode this secret internal AppKit method to make shrink-to-fit work;
18982        we wrote bug 3491344 about the need for this to be public.
18983        (-[WebHTMLView knowsPageRange:]):
18984        new method, computes rects and returns YES
18985        (-[WebHTMLView rectForPage:]):
18986        new method, returns rect computed above
18987        (-[WebHTMLView _calculatePrintHeight]):
18988        new method, used by knowsPageRange
18989        
18990        * WebView.subproj/WebHTMLViewPrivate.h:
18991        new pageRects ivar
18992
189932003-11-20  Maciej Stachowiak  <mjs@apple.com>
18994
18995        Reviewed by Ken.
18996
18997        - fixed 3490086 - support http post for XMLHttpRequest
18998        * WebCoreSupport.subproj/WebBridge.m:
18999        (-[WebBridge startLoadingResource:withURL:postData:]):
19000        * WebCoreSupport.subproj/WebSubresourceClient.h:
19001        * WebCoreSupport.subproj/WebSubresourceClient.m:
19002        (+[WebSubresourceClient startLoadingResource:withRequest:referrer:forDataSource:]):
19003        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
19004        (+[WebSubresourceClient startLoadingResource:withURL:postData:referrer:forDataSource:]):
19005
190062003-11-20  Chris Blumenberg  <cblu@apple.com>
19007
19008        Fixed: <rdar://problem/3491229>: Need UI and localized strings for <KEYGEN> support
19009
19010        Reviewed by john.
19011
19012        * ChangeLog:
19013        * English.lproj/Localizable.strings:
19014        * WebCoreSupport.subproj/WebLocalizedStringFactory.h: Added.
19015        * WebCoreSupport.subproj/WebLocalizedStringFactory.m: Added.
19016        (+[WebLocalizedStringFactory createSharedFactory]): new
19017        (-[WebLocalizedStringFactory dealloc]): new
19018        (-[WebLocalizedStringFactory keyGenerationMenuItemTitles]): new
19019        * WebKit.pbproj/project.pbxproj:
19020        * WebView.subproj/WebFrameView.m: call [WebLocalizedStringFactory createSharedFactory]
19021
190222003-11-20  Richard Williamson   <rjw@apple.com>
19023
19024        Added spin of event loop during applet lookup poll.  This
19025        is necessary to allow timers and performOnMainThread: methods
19026        a chance to fire.  The plugin depends on these mechanisms during
19027        initialization.
19028
19029        Reviewed by Chris.
19030
19031        * WebCoreSupport.subproj/WebBridge.m:
19032        (-[WebBridge pollForAppletInView:]):
19033
190342003-11-20  Ken Kocienda  <kocienda@apple.com>
19035
19036        John and I decided to apply the _web_ prefix to the tab key 
19037        event method in the extras file, but I neglected to do this
19038        before checking in. Fixed now.
19039
19040        * Misc.subproj/WebNSEventExtras.h:
19041        * Misc.subproj/WebNSEventExtras.m:
19042        (-[NSEvent _web_isTabKeyEvent])
19043        * WebView.subproj/WebHTMLView.m:
19044        (-[WebHTMLView keyDown:])
19045
190462003-11-20  Ken Kocienda  <kocienda@apple.com>
19047
19048        Reviewed by John
19049
19050        Fix for this bug:
19051
19052        <rdar://problem/3482159>: Tabbing to links gets "stuck" in "style switcher" on zeldman.com
19053
19054        * Misc.subproj/WebNSEventExtras.h: Added.
19055        * Misc.subproj/WebNSEventExtras.m: Added.
19056        (-[NSEvent _isTabKeyEvent]): New helper.
19057        * WebKit.pbproj/project.pbxproj:
19058        * WebView.subproj/WebHTMLView.m: 
19059        (-[WebHTMLView keyDown:]): Pass the key event to super unconditionally
19060        if it is a tab key. This fixes the bug.
19061
190622003-11-19  John Sullivan  <sullivan@apple.com>
19063
19064        - WebKit part of fix for:
19065        <rdar://problem/3305671>: Web pages print with 1.25" border without regard to Page 
19066        Setup margin settings
19067
19068        Reviewed by Dave.
19069
19070        * WebView.subproj/WebHTMLView.m:
19071        (-[WebHTMLView beginDocument]):
19072        Lay out the page into a width 25% wider than there's room for on the printed page.
19073        This will make pages that can fit into a thin area be scaled down a little when printed,
19074        which lets them fit on fewer pages. This closely matches what IE and Camino (at least)
19075        do; I used Google as my test page, and the Google logo is now precisely the same size
19076        when printed from Safari as when printed from IE. Pages that don't fit into a thin
19077        area are already causing the printed page to be scaled horizontally to fit, and this
19078        won't affect them.
19079
190802003-11-19  Chris Blumenberg  <cblu@apple.com>
19081
19082        Fixed: <rdar://problem/3489935>: Mentioning "to Disk" in context menus such as "Download Linked File To Disk..." is redundant
19083
19084        Reviewed by john.
19085
19086        * English.lproj/Localizable.strings:
19087        * English.lproj/StringsNotToBeLocalized.txt:
19088        * WebView.subproj/WebDefaultContextMenuDelegate.m:
19089        (-[WebDefaultUIDelegate menuItemWithTag:]): use "Download Linked File" and "Download Image"
19090
190912003-11-19  Chris Blumenberg  <cblu@apple.com>
19092
19093        Fixed: <rdar://problem/3488783>: Flash at http://www.sjwilson.net/reef/ does not load photos
19094        Reviewed by rjw.
19095
19096        * Misc.subproj/WebKitNSStringExtras.h:
19097        * Misc.subproj/WebKitNSStringExtras.m:
19098        (-[NSString _web_stringByStrippingReturnCharacters]): new
19099        * Plugins.subproj/WebBaseNetscapePluginView.m:
19100        (-[WebBaseNetscapePluginView requestWithURLCString:]): call _web_stringByStrippingReturnCharacters on the relative string
19101
191022003-11-19  Richard Williamson   <rjw@apple.com>
19103
19104        More LiveConnect stuff.  Horrible polling hack that
19105        blocks main thread waiting for applet to fully initialize.
19106
19107        Reviewed by Ken.
19108
19109        * Plugins.subproj/WebPluginController.m:
19110        (-[WebPluginController addPlugin:]):
19111        * WebCoreSupport.subproj/WebBridge.m:
19112        (-[WebBridge pollForAppletInView:]):
19113
191142003-11-19  David Hyatt  <hyatt@apple.com>
19115
19116        Make updateScrollers guard non-static, so that it applies only to the view whose scrollers are being
19117        updated.
19118        Reviewed by darin
19119
19120        * WebView.subproj/WebDynamicScrollBarsView.h:
19121        * WebView.subproj/WebDynamicScrollBarsView.m:
19122        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
19123
191242003-11-18  Richard Williamson   <rjw@apple.com>
19125
19126        More live connect stubs.  We're getting close.
19127
19128        Reviewed by Chris.
19129
19130        * Plugins.subproj/WebPluginController.m:
19131        (-[WebPluginController addPlugin:]):
19132        (-[WebPluginController _delayedGetApplet:]):
19133        * WebView.subproj/WebView.m:
19134        (-[WebView _goToItem:withLoadType:]):
19135
191362003-11-17  Darin Adler  <darin@apple.com>
19137
19138        Reviewed by Maciej.
19139
19140        - fixed 3487335: REGRESSION (112-113): "a:b" error message does not cite the URL properly
19141
19142        * Misc.subproj/WebKitErrors.m:
19143        (+[NSError _webKitErrorWithCode:failingURL:]): Call _webKitErrorWithDomain:code:URL:.
19144        (+[NSError _webKitErrorWithDomain:code:URL:]): Call _web_errorWithDomain:code:URL:, instead of using
19145        the deprecated failingURL: flavor.
19146        (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):
19147        Change this method to call the other one.
19148        (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]): Implement this one,
19149        and put in the NSErrorFailingURLKey, as well as the NSErrorFailingURLStringKey, to match what Foundation
19150        now does for other errors.
19151
19152        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
19153        Change to use the non-deprecated flavor of the NSError call above.
19154
19155        * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes and other recent changes.
19156
191572003-11-16  Maciej Stachowiak  <mjs@apple.com>
19158
19159        Reviewed by Dave.
19160
19161        WebKit part of fix for:
19162
19163        <rdar://problem/3131664>: add support for the window.print() command used for "print this page" buttons
19164        * WebCoreSupport.subproj/WebBridge.m:
19165        (-[WebBridge print]): Call delegate.
19166        * WebView.subproj/WebDefaultUIDelegate.m:
19167        (-[WebDefaultUIDelegate webViewPrint:]): Implemented (do nothing).
19168        * WebView.subproj/WebUIDelegatePrivate.h: Added. Add extra SPI method webViewPrint:
19169        for UI delegate.
19170        * WebKit.pbproj/project.pbxproj: Install WebUIDelegatePrivate.h as private header
19171
191722003-11-15  Darin Adler  <darin@apple.com>
19173
19174        Reviewed by John.
19175
19176        - fixes 3457162 -- selecting text during a page load that blows the text field away causes a crash
19177        - fixes 3160035 -- crash or hang if you hold down a button while "go to about:blank soon" test runs
19178        - without causing 3484608 -- REGRESSION: Flash broken at http://www.macromedia.com/
19179
19180        The WebKit part of this fix is making setDefersCallbacks: work. It had succumbed to bit rot.
19181        This has a side effect of not considering a page load done until all the plug-in streams are loaded.
19182        If that's not a good idea, we'll have to keep two separate lists in WebDataSource.
19183
19184        * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]):
19185        Set the defersCallbacks state from the WebView here so that clients don't have to do it.
19186
19187        * WebView.subproj/WebDataSource.m: (-[WebDataSource _addSubresourceClient:]): Remove call to
19188        set the defersCallbacks state on the subresource client, because the above change obviates it.
19189        (the client/delegate terminology makes it confusing, but it's a subclass). Also loosen the type
19190        so we can call this on clients for plug-in streams too.
19191        (-[WebDataSource _removeSubresourceClient:]): Loosen type here too.
19192        (-[WebDataSource _defersCallbacksChanged]): And here.
19193        * WebView.subproj/WebDataSourcePrivate.h: Loosen type of subresource client so we can pass in the
19194        delegates for plug-in streams too.
19195
19196        * WebView.subproj/WebMainResourceClient.h: Added an _initialRequest field so we can defer the very
19197        first callback, which does not rely on NSURLConnection.
19198        * WebView.subproj/WebMainResourceClient.m:
19199        (-[WebMainResourceClient dealloc]): Release the initial request.
19200        (-[WebMainResourceClient loadWithRequestNow:]): Moved the guts of loadWithRequest in here; to be
19201        used when the request is no longer deferred. Also removed the code to call setDefersCallbacks:
19202        on the connection, and assert that we are only called when callbacks are not deferred. Because
19203        the very first callback was not deferred, we would end up calling setDefersCallbacks:NO on the
19204        WebView, so nothing would be deferred.
19205        (-[WebMainResourceClient loadWithRequest:]): If callbacks are not deferred, then call the
19206        loadWithRequestNow: method, otherwise simply store the request in _initialRequest.
19207        (-[WebMainResourceClient setDefersCallbacks:]): If there is an _initialRequest and we are
19208        ceasing deferral of callbacks, then call the loadWithRequestNow: method.
19209
19210        * Plugins.subproj/WebNetscapePluginStream.m:
19211        (-[WebNetscapePluginStream start]): Call _addSubresourceClient, and then _removeSubresourceClient
19212        if the load fails to even start.
19213        (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): Call _removeSubresourceClient.
19214        (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): Call _removeSubresourceClient.
19215
19216        * Plugins.subproj/WebBaseNetscapePluginStream.h: Removed unneeded import.
19217        * Plugins.subproj/WebPluginDatabase.m: Add import needed now that WebBaseNetscapePluginStream.h
19218        imports less than before.
19219
192202003-11-16  Maciej Stachowiak  <mjs@apple.com>
19221
19222        Reviewed by John.
19223
19224        - fixed 3362841 - javascript History Object length property is always 0
19225        
19226        * WebCoreSupport.subproj/WebBridge.m:
19227        (-[WebBridge historyLength]): Add one to the length to match other browsers.
19228
192292003-11-14  John Sullivan  <sullivan@apple.com>
19230        
19231        - WebKit part of fix for <rdar://problem/3474757>: Safari on-screen text needs review
19232
19233        Reviewed by Ken.
19234
19235        * WebView.subproj/WebDefaultContextMenuDelegate.m:
19236        (-[WebDefaultUIDelegate menuItemWithTag:]):
19237        change "Download Link to Disk" to "Download Linked File to Disk"
19238
19239        * English.lproj/Localizable.strings:
19240        updated for these changes
19241
192422003-11-14  Ken Kocienda  <kocienda@apple.com>
19243
19244        Reviewed by John
19245
19246        Fix for this bug:
19247
19248        <rdar://problem/3481701>: Crashes before loading page/no error msg
19249        (forums.pelicanparts.com) Works in IE and Netscape
19250
19251        This fix is really a workaround for this bug:
19252
19253        <rdar://problem/3484937>: Horribly malformed URL crashes when call
19254        is made to CFURLCopyHostName
19255
19256        The fix is to avoid all usages of [NSURL host] by replacing all
19257        such calls with a private URL method added to WebNSURLExtras.
19258
19259        I copied a number of URL methods from the private NSURL
19260        extras file in Foundation to the WebKit URL extras file.
19261
19262        * Misc.subproj/WebNSDataExtras.h: Added. Helper for new URL extras.
19263        * Misc.subproj/WebNSDataExtras.m: Ditto.
19264        (-[NSData _web_isCaseInsensitiveEqualToCString:]): New helper.
19265        * Misc.subproj/WebNSURLExtras.h:
19266        * Misc.subproj/WebNSURLExtras.m:
19267        (-[NSURL _web_hasQuestionMarkOnlyQueryString]): Added.
19268        (-[NSURL _web_schemeSeparatorWithoutColon]): Added.
19269        (-[NSURL _web_dataForURLComponentType:]): Added.
19270        (-[NSURL _web_schemeData]): Added.
19271        (-[NSURL _web_hostData]): Added.
19272        (-[NSURL _web_hostString]): Added.
19273        * WebKit.pbproj/project.pbxproj:
19274        * WebView.subproj/WebView.m:
19275        (-[WebView userAgentForURL:]): Replace call to [NSURL host] with new
19276        extras _web_hostString method.
19277
19278=== Safari-114 ===
19279
192802003-11-14  Vicki Murley <vicki@apple.com>
19281
19282        - rolled out Darin's fixes for 3457162 and 3160035, since these changes broke plugins on macromedia.com and disney.go.com
19283
19284        * WebView.subproj/WebBaseResourceHandleDelegate.m:
19285        (-[WebBaseResourceHandleDelegate setDataSource:]):
19286        * WebView.subproj/WebDataSource.m:
19287        (-[WebDataSource _addSubresourceClient:]):
19288        * WebView.subproj/WebMainResourceClient.h:
19289        * WebView.subproj/WebMainResourceClient.m:
19290        (-[WebMainResourceClient dealloc]):
19291        (-[WebMainResourceClient loadWithRequest:]):
19292        (-[WebMainResourceClient setDefersCallbacks:]):
19293
192942003-11-14  Darin Adler  <darin@apple.com>
19295
19296        Reviewed by John.
19297
19298        - fixes 3457162 -- selecting text during a page load that blows the text field away causes a crash
19299        - fixes 3160035 -- crash or hang if you hold down a button while "go to about:blank soon" test runs
19300
19301        The WebKit part of this fix is making setDefersCallbacks: work. It had succumbed to bit rot.
19302
19303        * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]):
19304        Set the defersCallbacks state from the WebView here so that clients don't have to do it.
19305        * WebView.subproj/WebDataSource.m: (-[WebDataSource _addSubresourceClient:]): Remove call to
19306        set the defersCallbacks state on the subresource client, because the above change obviates it.
19307        (the client/delegate terminology makes it confusing, but it's a subclass).
19308
19309        * WebView.subproj/WebMainResourceClient.h: Added an _initialRequest field so we can defer the very
19310        first callback, which does not rely on NSURLConnection.
19311        * WebView.subproj/WebMainResourceClient.m:
19312        (-[WebMainResourceClient dealloc]): Release the initial request.
19313        (-[WebMainResourceClient loadWithRequestNow:]): Moved the guts of loadWithRequest in here; to be
19314        used when the request is no longer deferred. Also removed the code to call setDefersCallbacks:
19315        on the connection, and assert that we are only called when callbacks are not deferred. Because
19316        the very first callback was not deferred, we would end up calling setDefersCallbacks:NO on the
19317        WebView, so nothing would be deferred.
19318        (-[WebMainResourceClient loadWithRequest:]): If callbacks are not deferred, then call the
19319        loadWithRequestNow: method, otherwise simply store the request in _initialRequest.
19320        (-[WebMainResourceClient setDefersCallbacks:]): If there is an _initialRequest and we are
19321        ceasing deferral of callbacks, then call the loadWithRequestNow: method.
19322
193232003-11-13  Ken Kocienda  <kocienda@apple.com>
19324
19325        Reviewed by John
19326
19327        Fix for this bug:
19328
19329        <rdar://problem/3483284>: Tabbing to links needs to honor new 
19330        WebKit tab-to-links preference
19331
19332        * WebCoreSupport.subproj/WebBridge.m:
19333        (-[WebBridge dealloc]): Remove self from notification center.
19334        (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): Now
19335        checks for WebCoreKeyboardAccessTabsToLinks preference.
19336        (-[WebBridge keyboardUIMode]): Adds self to notification center
19337        to pick up changes to WebPreferences.
19338
193392003-11-13  Ken Kocienda  <kocienda@apple.com>
19340
19341        Reviewed by John
19342
19343        Fix for this bug:
19344
19345        <rdar://problem/3481719>: WebKit needs preference for tabbing to links
19346
19347        * WebView.subproj/WebPreferences.m:
19348        (+[WebPreferences initialize]): Add initialization of new 
19349        WebKitTabToLinksPreferenceKey.
19350        (-[WebPreferences setTabsToLinks:]): Added preference setter.
19351        (-[WebPreferences tabsToLinks]): Added preference getter.
19352        * WebView.subproj/WebPreferencesPrivate.h: Declared new methods as
19353        SPI on WebPreferences.
19354
193552003-11-12  Richard Williamson   <rjw@apple.com>
19356
19357        Fixed 3475082.  Remove unnecessary orderKey before showKey.
19358
19359        Written by Ed Voas.
19360
19361        Reviewed by Richard.
19362
19363        * Carbon.subproj/CarbonWindowAdapter.m:
19364        (-[CarbonWindowAdapter makeKeyWindow]):
19365
193662003-11-12  Chris Blumenberg  <cblu@apple.com>
19367
19368        Fixed: <rdar://problem/3482147>: replace _releaseFutureIconForURL assertion with a log statement
19369
19370        Reviewed by rjw.
19371
19372        * Misc.subproj/WebIconDatabase.m:
19373        (-[WebIconDatabase _releaseFutureIconForURL:]):
19374
193752003-11-10  Richard Williamson   <rjw@apple.com>
19376
19377        Fixed 3478765.  Use ICU to access unicode properties.
19378        Fixed 3478831.  Unicode property/conversion functions should be 32 bit savvy.
19379        Fixed 3478885.  Remove dead arabic shaping code
19380
19381        Reviewed by Darin.
19382
19383        * Misc.subproj/WebUnicode.h:
19384        * Misc.subproj/WebUnicode.m:
19385        (_unicodeDigitValue):
19386        (_unicodeDirection):
19387        (_unicodeMirrored):
19388        (_unicodeMirroredChar):
19389        (_unicodeLower):
19390        (_unicodeUpper):
19391        (WebKitInitializeUnicode):
19392        (shapeForNextCharacter):
19393        (initializeCharacterShapeIterator):
19394        * Misc.subproj/WebUnicodeTables.m:
19395        * WebCoreSupport.subproj/WebTextRenderer.m:
19396        (widthForNextCharacter):
19397        (fontContainsString):
19398
193992003-11-10  Chris Blumenberg  <cblu@apple.com>
19400
19401        Fixed: <rdar://problem/3478351>: Safari: URL Alias on Dock failed to open the 2byte URL
19402
19403        Reviewed by dave.
19404
19405        * Misc.subproj/WebNSURLExtras.m:
19406        (-[NSString _web_mapHostNameWithRange:encode:makeString:]): if the host name is percent-escaped, use CFURLCreateStringByReplacingPercentEscapes
19407
194082003-11-10  Richard Williamson   <rjw@apple.com>
19409
19410        Use ICU for upper/lower conversion.  Fixed 3477157, 3478455, 3478456, 3478457, 3478486.
19411        Remaining issues with surrogates (3477159) and Turkish I (3478482).
19412
19413        Reviewed by Ken.
19414
19415        * Misc.subproj/WebUnicode.m:
19416        (_unicodeLower):
19417        (_unicodeUpper):
19418
194192003-11-07  Chris Blumenberg  <cblu@apple.com>
19420
19421        Fixed: <rdar://problem/3240778>: add "save" menu item to contextual menu for text pages
19422
19423        Reviewed by darin.
19424
19425        * WebView.subproj/WebTextView.m:
19426        (-[WebTextView menuForEvent:]): Made WebTextView's context menu behavior like WebHTMLView's context menu behavior with regards to selection. If the control-click was on a selection, show menu options for the selection like copy. If it was not on a
19427
19428
19429 selection, show menu options such as save and print. Don't select anything when control-clicking.
19430
194312003-11-08  Chris Blumenberg  <cblu@apple.com>
19432
19433        Fixed: <rdar://problem/3478022>: assertion failure while loading WMP content
19434
19435        Reviewed by darin.
19436
19437        * ChangeLog:
19438        * Plugins.subproj/WebNetscapePluginStream.m:
19439        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Don't continue if the stream is cancelled in startStreamWithResponse.
19440
194412003-11-07  Richard Williamson   <rjw@apple.com>
19442
19443        Fixed 3477067.  Use our case unicode conversion routines.
19444
19445        Reviewed by Ken.
19446
19447        * WebCoreSupport.subproj/WebTextRenderer.m:
19448        (toUpper):
19449
194502003-11-06  Richard Williamson   <rjw@apple.com>
19451
19452        Fixed 3476393.  Call scrollPoint: recursively up the view hierarchy to ensure point is visible.
19453
19454        Reviewed by Ken.
19455
19456        * Misc.subproj/WebNSViewExtras.h:
19457        * Misc.subproj/WebNSViewExtras.m:
19458        (-[NSView _web_scrollPointToVisible:fromView:]):
19459        * WebView.subproj/WebHTMLView.m:
19460        (-[WebHTMLView scrollPoint:]):
19461
19462=== Safari-113 ===
19463
194642003-11-05  Darin Adler  <darin@apple.com>
19465
19466        Reviewed by Maciej.
19467
19468        - fixed 3473913 -- host names in simple mailto URLs are not getting encoded/decoded correctly yet
19469
19470        * Misc.subproj/WebNSURLExtras.m:
19471        (applyHostNameFunctionToMailToURLString): Handle case where host name is at the end of the string.
19472        (applyHostNameFunctionToURLString): Add the # character to the set of characters that can end
19473        a domain name.
19474
194752003-11-05  Richard Williamson   <rjw@apple.com>
19476
19477        Fixed 3413067, 3405797, 3456877
19478        Use ATSUI to render Arabic and Hebrew.
19479
19480        Reviewed by John.
19481
19482        * WebCoreSupport.subproj/WebTextRenderer.m:
19483        (shouldUseATSU):
19484
194852003-11-05  John Sullivan  <sullivan@apple.com>
19486
19487        - fixed <rdar://problem/3469791>: Bigger/Smaller commands are 
19488        disabled for HTML Mail in separate window (w/WebKit-111)
19489
19490        Reviewed by Darin.
19491
19492        * WebView.subproj/WebFrameView.m:
19493        (-[WebFrameView acceptsFirstResponder]):
19494        always be willing to become first responder, even if no page
19495        has yet been loaded.
19496        (-[WebFrameView becomeFirstResponder]):
19497        if no page has yet been loaded (so our scrollview refuses
19498        first responder-ness), don't do any special becoming-first-
19499        responder shenanigans.
19500
19501        Also removed obsolete overrides for nextKeyView, nextValidKeyView,
19502        previousKeyView, and previousValidKeyView that are no longer
19503        required now that we handle the key loop more like NSScrollView.
19504
19505        * WebView.subproj/WebFrameViewPrivate.h:
19506        removed now-unused ivar inNextValidKeyView
19507
195082003-11-05  Richard Williamson   <rjw@apple.com>
19509
19510        Fixed 3029966.  Animated backgrounds specified in <BODY> don't animate
19511        Fixed 3474824.  Tiled animated GIFs don't animate.
19512        Fixed 3029966.  Animated backgrounds specified with CSS don't animate.
19513
19514        Reviewed by Chris.
19515
19516        * WebCoreSupport.subproj/WebImageRenderer.h:
19517        * WebCoreSupport.subproj/WebImageRenderer.m:
19518        (-[WebImageRenderer nextFrame:]):
19519        (-[WebImageRenderer drawImageInRect:fromRect:]):
19520        (-[WebImageRenderer startAnimationIfNecessary]):
19521        (-[WebImageRenderer tileInRect:fromPoint:]):
19522        * WebView.subproj/WebImageView.m:
19523        (-[WebImageView drawRect:]):
19524
195252003-11-05  Chris Blumenberg  <cblu@apple.com>
19526
19527        Fixed: <rdar://problem/3201364>: Safari crashes when hosting carbon plug-in using drag and drop
19528
19529        Reviewed by rjw.
19530
19531        * WebView.subproj/WebView.m:
19532        (-[WebView draggingUpdated:]): return NSDragOperationNone if we're over a plug-in view so the plug-in can handle the drag
19533
195342003-11-05  Chris Blumenberg  <cblu@apple.com>
19535
19536        Fixed: <rdar://problem/3474360>: should attempt to resolve symbolic links when choosing "Save Link As..."
19537
19538        Reviewed by kocienda.
19539
19540        * WebView.subproj/WebView.m:
19541        (-[WebView _fileWrapperForURL:]): follow sym links
19542
195432003-11-05  Ken Kocienda  <kocienda@apple.com>
19544
19545        Reviewed by Darin
19546
19547        Fix for this bug:
19548
19549        <rdar://problem/3455910>: hitting up or down arrows when focus 
19550        is on a pop-up menu should pop the menu
19551
19552        * WebView.subproj/WebFrameView.m:
19553        (-[WebFrameView keyDown:]): Call super with the event if focus 
19554        is on a pop up button.
19555
195562003-11-05  Ken Kocienda  <kocienda@apple.com>
19557
19558        Reviewed by Maciej
19559
19560        Fix for these bugs:
19561
19562        <rdar://problem/3467558>: Cannot tab to form file input widgets
19563        <rdar://problem/3473631>: WebFileButton sends notifications to communicate with WebCore
19564
19565        Tabbing now works for these widgets. While I was in the neighborhood,
19566        I improved the communication mechanism between the WebKit and WebCore
19567        sides of the file button implementation, replacing notifications
19568        with a callback object.
19569
19570        * WebCoreSupport.subproj/WebBridge.m:
19571        (-[WebBridge fileButtonWithDelegate:]): Method now takes a 
19572        delegate object.
19573        * WebCoreSupport.subproj/WebFileButton.h:
19574        * WebCoreSupport.subproj/WebFileButton.m:
19575        (-[WebFileButton initWithBridge:delegate:]):
19576        (-[WebFileButton initWithFrame:]):
19577        (-[WebFileButton dealloc]):
19578        (-[WebFileButton chooseFilename:]): Sends callback rather than posting
19579        a notification.
19580        (-[WebFileButton chooseButtonPressed:]): Ditto.
19581        (-[WebFileButton mouseDown:]):
19582        (-[WebFileButton acceptsFirstResponder]):
19583        (-[WebFileButton becomeFirstResponder]): Make the button subview
19584        first responder.
19585        (-[WebFileButton nextKeyView]): Hook up to WebBridge key view machinery.
19586        (-[WebFileButton previousKeyView]): Ditto.
19587        (-[WebFileButton nextValidKeyView]): Ditto.
19588        (-[WebFileButton previousValidKeyView]): Ditto.
19589        (-[WebFileChooserButton initWithDelegate:]):
19590        (-[WebFileChooserButton nextValidKeyView]): Ditto.
19591        (-[WebFileChooserButton previousValidKeyView]): Ditto.
19592        (-[WebFileChooserButton resignFirstResponder]): Sends a focus change 
19593        callback.
19594
195952003-11-04  Darin Adler  <darin@apple.com>
19596
19597        Reviewed by John, except for one bit reviewed by Maciej.
19598
19599        - first step for IDNA support; helper functions for Safari
19600
19601        * Misc.subproj/WebNSURLExtras.h: Add six new methods to manipulate host names directly.
19602        * Misc.subproj/WebNSURLExtras.m:
19603        (applyHostNameFunctionToMailToURLString): Added. Finds host names within a mailto URL.
19604        (applyHostNameFunctionToURLString): Added. Finds host names within a URL.
19605        (collectRangesThatNeedMapping): Added. Builds a list of host name ranges that need mapping.
19606        (collectRangesThatNeedEncoding): Added. Calls the above for encoding.
19607        (collectRangesThatNeedDecoding): Added. Calls the above for decoding.
19608        (mapHostNames): Added. Helper function that does the entire mapping process for a URL.
19609        (+[NSURL _web_URLWithUserTypedString:]): Call mapHostNames to encode after trimming whitespace.
19610        (-[NSURL _web_userVisibleString]): Call mapHostNames to decode after decoding escape sequences.
19611        (-[NSURL _webkit_URLByRemovingFragment]): Removed unneeded redundant NULL check.
19612        (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Added. Workhorse function to call
19613        the IDN functions in the Unicode library.
19614        (-[NSString _web_hostNameNeedsDecodingWithRange:]): Added.
19615        (-[NSString _web_hostNameNeedsEncodingWithRange:]): Added.
19616        (-[NSString _web_decodeHostNameWithRange:]): Added.
19617        (-[NSString _web_encodeHostNameWithRange:]): Added.
19618        (-[NSString _web_decodeHostName]): Added.
19619        (-[NSString _web_encodeHostName]): Added.
19620
19621        * WebKit.pbproj/project.pbxproj: Added libicucore.dylib.
19622        * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes.
19623
196242003-11-04  John Sullivan  <sullivan@apple.com>
19625
19626        - a little optimization I noticed when looking at 3125137
19627
19628        Reviewed by Chris.
19629
19630        * Misc.subproj/WebStringTruncator.m:
19631        (truncateString):
19632        if incoming string has length 0, bail out right away
19633
196342003-11-04  Chris Blumenberg  <cblu@apple.com>
19635
19636        Fixed:
19637        <rdar://problem/3472403>: RTFD of copied text and images should use original image data not tiffs
19638        <rdar://problem/3472435>: dragging local image file downloads it instead of copies it
19639        <rdar://problem/3472450>: copied and dragged local image files are TIFF, not original image data
19640        Reviewed by john.
19641
19642        * Misc.subproj/WebNSPasteboardExtras.h:
19643        * Misc.subproj/WebNSPasteboardExtras.m:
19644        (-[NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]): new
19645        * Misc.subproj/WebNSViewExtras.h:
19646        * Misc.subproj/WebNSViewExtras.m:
19647        (-[NSView _web_dragImage:fileWrapper:rect:URL:title:event:]): take a file wrapper instead of data so [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:] can be called
19648        * WebCoreSupport.subproj/WebBridge.m:
19649        (-[WebBridge fileWrapperForURL:]): call fileWrapperForURL on the WebView
19650        * WebView.subproj/WebDefaultContextMenuDelegate.m:
19651        (-[WebDefaultUIDelegate copyImageToClipboard:]): call [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]
19652        * WebView.subproj/WebHTMLView.m:
19653        (-[WebHTMLView _handleMouseDragged:]): when calling _web_dragImage, pass a file wrapper from fileWrapperForURL
19654        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call fileWrapperForURL
19655        * WebView.subproj/WebImageRepresentation.h:
19656        * WebView.subproj/WebImageRepresentation.m:
19657        (-[WebImageRepresentation fileWrapper]): new
19658        * WebView.subproj/WebImageView.m:
19659        (-[WebImageView writeImageToPasteboard:]): call [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]
19660        (-[WebImageView mouseDragged:]): pass the file wrapper to _web_dragImage
19661        * WebView.subproj/WebView.m:
19662        (-[WebView _fileWrapperForURL:]): new, returns a file wrapper from a local file or from the cache
19663        * WebView.subproj/WebViewPrivate.h:
19664
196652003-11-04  John Sullivan  <sullivan@apple.com>
19666
19667        - fixed <rdar://problem/3472813>: REGRESSION (100-111): Some tabs start 
19668        out scrolled down to focused text field
19669
19670        Reviewed by Ken.
19671
19672        * WebView.subproj/WebHTMLView.m:
19673        (-[WebHTMLView acceptsFirstResponder]):
19674        The logic to avoid accepting first responder on clicks was too broad;
19675        it was rejecting first-responder-ness even for clicks outside of this
19676        view. Clicking a tab item was going through some logic in NSTabView
19677        looking for the first valid key view starting with the web view, but the
19678        web view was returning NO due to this faulty click logic. Thus the
19679        first subview text field was becoming first responder, and causing scroll.
19680
196812003-11-03  Chris Blumenberg  <cblu@apple.com>
19682
19683        Fixed:
19684        <rdar://problem/3472377>: Provide NSRTFDPboardType on pasteboard when copying or dragging images
19685        <rdar://problem/3470809>: REGRESSION (111-112): Can't copy & paste image into Photoshop 7
19686
19687        Reviewed by hyatt.
19688
19689        * Misc.subproj/WebNSPasteboardExtras.h:
19690        * Misc.subproj/WebNSPasteboardExtras.m:
19691        (-[NSPasteboard _web_writeFileDataAsRTFDAttachment:withFilename:]): renamed, now writes file data as an RTF attachment
19692        * Misc.subproj/WebNSViewExtras.m:
19693        (-[NSView _web_dragImage:originalData:rect:URL:title:event:]): call renamed _web_writeFileDataAsRTFDAttachment
19694        * WebView.subproj/WebDefaultContextMenuDelegate.m:
19695        (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeFileDataAsRTFDAttachment
19696        * WebView.subproj/WebImageView.m:
19697        (-[WebImageView writeImageToPasteboard:]): call renamed _web_writeFileDataAsRTFDAttachment
19698
196992003-11-03  Vicki Murley <vicki@apple.com>
19700
19701        Reviewed by kocienda.
19702
19703        - fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.
19704
19705        * WebKit.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles
19706
197072003-11-03  Ken Kocienda  <kocienda@apple.com>
19708
19709        Reviewed by John
19710        
19711        Fix for this bug:
19712        
19713        <rdar://problem/3470342>: focus rings are shown for links in         
19714        web pages even in non-frontmost windows
19715
19716        * WebView.subproj/WebHTMLView.m:
19717        (-[WebHTMLView updateFocusRing]): New method. Uses the "keyness"
19718        of the view's window to toggle focus ring drawing.
19719        (-[WebHTMLView windowDidBecomeKey:]): Calls updateFocusRing.
19720        (-[WebHTMLView windowDidResignKey:]): Ditto.
19721
197222003-11-01  Maciej Stachowiak  <mjs@apple.com>
19723
19724        Reviewed by Darin.
19725
19726        - remove use of obsolete HTTLCookiePolicyBaseURL SPI
19727        
19728        * WebCoreSupport.subproj/WebSubresourceClient.m:
19729        startLoadingResource:withURL:referrer:forDataSource:]): Use
19730        setMainDocumentURL, not setHTTPCookiePolicyBaseURL.
19731        * WebView.subproj/WebFrame.m:
19732        (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): Likewise.
19733        * WebView.subproj/WebMainResourceClient.m:
19734        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): Likewise.
19735
197362003-11-01  Darin Adler  <darin@apple.com>
19737
19738        Reviewed by Maciej.
19739
19740        - fixed 3470882 -- storage leaks in WebDownload code
19741        - fixed 3470884 -- download is always nil in downloadWindowForAuthenticationSheet: call from WebDownload
19742
19743        * Misc.subproj/WebDownload.m:
19744        (-[WebDownloadInternal initWithDownload:]): Removed this method, which was never called.
19745        (-[WebDownloadInternal dealloc]): Added missing call to [super dealloc] to fix one cause
19746        of a leak of the WebDownloadInternal object itself. Removed the release of webDownload,
19747        which was always nil, and if it wasn't would end up causing a leak due to a reference cycle.
19748        (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): Remove the use of
19749        webDownload, which was always nil, and instead use the download parameter passed to us,
19750        casting it to WebDownload, since it's guaranteed to be one.
19751        (-[WebDownload _setRealDelegate:]): Added. Shared by the methods below to set up the real
19752        delegate before calling init. The old code called init twice, causing an second call to the
19753        superclass's init method, which caused it to create an extra copy of its internal structure,
19754        as well as causing us to create two WebDownloadInternal objects.
19755        (-[WebDownload init]): Don't allocate a second WebDownloadInternal if _setRealDelegate already
19756        allocated it for us. Before we would allocate and leak an extra one each time.
19757        (-[WebDownload dealloc]): Added. Releases the WebDownloadInternal. This is the second cause
19758        of the leak of the WebDownloadInternal object.
19759        (-[WebDownload initWithRequest:delegate:]): Call [self _setRealDelegate:] instead of calling
19760        [self init] and then [_webInternal setRealDelegate:], avoiding the leaks caused by doing it
19761        the other way.
19762        (-[WebDownload _initWithLoadingConnection:request:response:delegate:proxy:]): Ditto.
19763        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): Ditto.
19764        (-[WebDownload _initWithRequest:delegate:directory:]): Ditto.
19765
197662003-10-31  David Hyatt  <hyatt@apple.com>
19767
19768        Fix for 3466542, add a real minimum font size setting.
19769        Reviewed by john
19770
19771        * WebView.subproj/WebPreferences.h:
19772        * WebView.subproj/WebPreferences.m:
19773        (+[WebPreferences initialize]):
19774        (-[WebPreferences setMinimumFontSize:]):
19775        (-[WebPreferences minimumLogicalFontSize]):
19776        (-[WebPreferences setMinimumLogicalFontSize:]):
19777        * WebView.subproj/WebView.m:
19778        (-[WebView _updateWebCoreSettingsFromPreferences:]):
19779
197802003-10-31  Ken Kocienda  <kocienda@apple.com>
19781
19782        Reviewed by Darin
19783
19784        Fix for this bug:
19785
19786        <rdar://problem/3469088>: focus not removed from text link         
19787        when user hits cmd-L or clicks in window chrome
19788
19789        * WebView.subproj/WebHTMLView.m:
19790        (-[WebHTMLView deselectText]): Added new method just to deselect text.
19791        (-[WebHTMLView resignFirstResponder]): Just deseclect text if we
19792        are doing a programmatic setting of focus. Deselect all otherwise.
19793
197942003-10-30  Chris Blumenberg  <cblu@apple.com>
19795
19796        Fixed: <rdar://problem/3458368>: drawing to the screen while window hidden: http://www.bhphotovideo.com/
19797
19798        Reviewed by john.
19799
19800        * Plugins.subproj/WebBaseNetscapePluginView.m:
19801        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): clip out the plug-in when the window is miniaturized or hidden
19802        (-[WebBaseNetscapePluginView restartNullEvents]): don't restart null events if the window is miniaturized, this allows restartNullEvents to be called in start and viewDidMoveToWindow without needing to make the check
19803        (-[WebBaseNetscapePluginView start]): just call restartNullEvents instead of checking if the window is miniaturized
19804
198052003-10-30  Ken Kocienda  <kocienda@apple.com>
19806
19807        Reviewed by Hyatt
19808
19809        * WebCoreSupport.subproj/WebBridge.m:
19810        (-[WebBridge documentView]): Added.
19811        * WebCoreSupport.subproj/WebGraphicsBridge.h: Added.
19812        * WebCoreSupport.subproj/WebGraphicsBridge.m: Added.
19813        (+[WebGraphicsBridge createSharedBridge]): Added.
19814        (-[WebGraphicsBridge setFocusRingStyle:radius:color:]): Added.
19815        * WebKit.pbproj/project.pbxproj:
19816        * WebView.subproj/WebFrameView.m: Create a WebGraphicsBridge
19817        when creating a WebFrameView.
19818
19819=== Safari-112 ===
19820
198212003-10-29  Maciej Stachowiak  <mjs@apple.com>
19822
19823        Reviewed by Darin.
19824
19825        - fixed 3467632 - Leak of plugin info visiting http://www.ebay.com
19826        * Plugins.subproj/WebBasePluginPackage.m:
19827        (-[WebBasePluginPackage dealloc]): Release lastModifiedDate.
19828
198292003-10-29  Chris Blumenberg  <cblu@apple.com>
19830
19831        WebKit part of fix for:
19832        <rdar://problem/3467744>: Photoshop files (.psd) don't show up in Open dialog in Safari, but can be viewed
19833        <rdar://problem/3109132>: Can't open movie file via open panel even though it can be dropped in browser window
19834
19835        Reviewed by john.
19836
19837        * WebView.subproj/WebView.m:
19838        (+[WebView _supportedMIMETypes]): new
19839        (+[WebView _supportedFileExtensions]): new
19840        * WebView.subproj/WebViewPrivate.h:
19841
198422003-10-29  Chris Blumenberg  <cblu@apple.com>
19843
19844        Fixed: <rdar://problem/3438716>: jpg and gif images copied from Safari and placed in mail are sent as tiff
19845
19846        Reviewed by john.
19847
19848        * Misc.subproj/WebNSPasteboardExtras.h:
19849        * Misc.subproj/WebNSPasteboardExtras.m:
19850        (-[NSPasteboard _web_writeFileContents:withFilename:]): new
19851        * Misc.subproj/WebNSViewExtras.h:
19852        * Misc.subproj/WebNSViewExtras.m:
19853        (-[NSView _web_dragImage:originalData:rect:URL:title:event:]): now takes originalData and calls _web_fileContents:withFilename:
19854        * WebView.subproj/WebDefaultContextMenuDelegate.m:
19855        (-[WebDefaultUIDelegate copyImageToClipboard:]): call _web_writeFileContents:withFilename:
19856        * WebView.subproj/WebHTMLView.m:
19857        (-[WebHTMLView _handleMouseDragged:]): call renamed _web_dragImage and [WebView _cachedResponseForURL:]
19858        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebView _cachedResponseForURL:]
19859        * WebView.subproj/WebImageView.m:
19860        (-[WebImageView writeImageToPasteboard:]): call _web_writeFileContents:withFilename:
19861        (-[WebImageView mouseDragged:]): call renamed _web_dragImage
19862        * WebView.subproj/WebView.m:
19863        (-[WebView _cachedResponseForURL:]): new
19864        * WebView.subproj/WebViewPrivate.h:
19865
198662003-10-28  John Sullivan  <sullivan@apple.com>
19867
19868        - fixed <rdar://problem/3466082>: 7B85/111: Crash viewing web page ([WebView setNextKeyView:])
19869
19870        Reviewed by Chris.
19871
19872        * WebView.subproj/WebView.m:
19873        (-[WebView dealloc]):
19874        set _private to nil after releasing, because [super dealloc] can dispatch to it
19875        (-[WebView mainFrame]):
19876        fixed spelling error in comment
19877
198782003-10-28  Chris Blumenberg  <cblu@apple.com>
19879
19880        Fixed: <rdar://problem/3465383>: REGRESSION: Text field progress bar goes to 100% after error or stop
19881        Reviewed by john.
19882
19883        * WebView.subproj/WebFrame.m:
19884        (-[WebFrame _isLoadComplete]): call _progressCompleted after we deliver the didFailLoadWithError or didFinishLoadForFrame message as we do in other places. This allows to be aware of the error (if there is one), when they get the WebViewProgressFi
19885
19886
19887nishedNotification notification.
19888
198892003-10-27  Maciej Stachowiak  <mjs@apple.com>
19890
19891        Reviewed by Darin.
19892
19893        - fixed 3083264 - frame names changed by JavaScript are not reflected in WebFrame at the WebKit level
19894
19895        * WebCoreSupport.subproj/WebBridge.m:
19896        (-[WebBridge didSetName:]): Tell the WebFrame about its new name.
19897
198982003-10-28  John Sullivan  <sullivan@apple.com>
19899
19900        - fixed 3465613 -- REGRESSION (111): Crash creating nib that 
19901        contains WebView
19902
19903        Reviewed by Chris.
19904
19905        * WebView.subproj/WebView.m:
19906        (-[WebView mainFrame]):
19907        check for nil _private before dereferencing.
19908
199092003-10-28  Chris Blumenberg  <cblu@apple.com>
19910
19911        Fixed: <rdar://problem/3465591>: Security: Netscape plug-ins can execute JavaScript in other frames
19912
19913        Reviewed by mjs.
19914
19915        * Plugins.subproj/WebBaseNetscapePluginView.m:
19916        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): renamed, no need to pass the target frame since the target is either the plug-in itself or the frame that contains the plug-in
19917        (-[WebBaseNetscapePluginView loadPluginRequest:]): call renamed evaluateJavaScriptPluginRequest
19918        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): if this is a JS request that is targeted at a frame, return NPERR_INVALID_PARAM if the frame is not the frame that contains the plugin
19919
199202003-10-28  Chris Blumenberg  <cblu@apple.com>
19921
19922        Fixed: <rdar://problem/3437959>: javascript: URLs don't work from Java (and other Cocoa plugins, if any)
19923
19924        Reviewed by mjs.
19925
19926        * Plugins.subproj/WebPluginController.m:
19927        (-[WebPluginController showURL:inFrame:]): support JS requests targeted only to the plug-in's frame.
19928
199292003-10-27  John Sullivan  <sullivan@apple.com>
19930
19931        - fixed 3441258 -- hysteresis to start dragging a link is too small; too easy to start drag
19932
19933        Reviewed by Chris.
19934
19935        * WebView.subproj/WebHTMLView.m:
19936        (-[WebHTMLView _handleMouseDragged:]):
19937        Split DragHysteresis into two values, one for links and one for images. Make
19938        the link one much larger than the image one (since dragging an image doesn't
19939        occur accidentally in the ways that dragging a link does).
19940
199412003-10-27  Chris Blumenberg  <cblu@apple.com>
19942
19943        Fixed: <rdar://problem/3462523>: Safari Sometimes Destroys Applets When Going "Back"
19944
19945        Reviewed by darin.
19946
19947        * History.subproj/WebHistoryItem.m:
19948        (+[WebHistoryItem _destroyAllPluginsInPendingPageCaches]): Don't destroy plug-ins that are currently being viewed.
19949
199502003-10-27  Chris Blumenberg  <cblu@apple.com>
19951
19952        Fixed: <rdar://problem/3463144>: assertion failure when viewing jpeg with SoundPix installed
19953
19954        Reviewed by john.
19955
19956        * WebView.subproj/WebDataSource.m:
19957        (+[WebDataSource _repTypesAllowImageTypeOmission:]): don't allow image types to override types that are already registered as we do in [WebFrameView _viewTypesAllowImageTypeOmission:]
19958
199592003-10-24  Chris Blumenberg  <cblu@apple.com>
19960
19961        Fixed:
19962        <rdar://problem/3462977>: ER: Nice if images dragged from web pages didn't redownload
19963        <rdar://problem/3031582>: Dragging an image to the desktop doesn't leave the file where I dropped it
19964        <rdar://problem/3061371>: "CFURLGetFSRef failed" log when dragging image to Finder
19965
19966        Reviewed by john.
19967
19968        * WebView.subproj/WebHTMLView.m:
19969        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): attempt to fetch the image data from the cache, if that works, write out the file
19970
199712003-10-26  Darin Adler  <darin@apple.com>
19972
19973        * WebKitPrefix.h: Add a definition of NULL here so we get the stricter type checking
19974        even on pre-Merlot systems.
19975
19976=== Safari-111 ===
19977
199782003-10-24  Richard Williamson   <rjw@apple.com>
19979
19980        Fixed 3425358.  Don't try to create page cache for pages that
19981        have a nil view().
19982
19983        Reviewed by Hyatt.
19984
19985        * WebView.subproj/WebFrame.m:
19986        (-[WebFrame _createPageCacheForItem:]):
19987        (-[WebFrame _setState:]):
19988
199892003-10-24  Chris Blumenberg  <cblu@apple.com>
19990        Fixed: <rdar://problem/3424039>: standalone plug-in content occasionaly redirects to blank page
19991
19992        Reviewed by john.
19993
19994        * Plugins.subproj/WebBaseNetscapePluginView.m:
19995        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): don't honor JS requests from standalone plug-ins to workaround 3462628 which is a deeper issue.
19996
199972003-10-24  Chris Blumenberg  <cblu@apple.com>
19998
19999        Fixed: <rdar://problem/3462256>: REGRESSION: Plain text is downloaded
20000
20001        Reviewed by john.
20002
20003        * WebView.subproj/WebView.m:
20004        (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): use _web_objectForMIMEType when getting an object for a MIME. Removed unnecessary code that checked for the document classes after loading the plug-in DB since it is not an optimization because
20005
20006
20007 the plug-in DB calls _viewTypesAllowImageTypeOmission:NO.
20008
200092003-10-23  Chris Blumenberg  <cblu@apple.com>
20010
20011        Fixed: <rdar://problem/3364036>: ER: Allow plug-ins to override built-in types such as image/jpeg
20012
20013        Reviewed by john.
20014
20015        * Plugins.subproj/WebPluginDatabase.m:
20016        (-[WebPluginDatabase refresh]): Allow plug-ins to override built-in types except for our core HTML types and don't allow the QT plug-in to override any types because it handles many types that we already handle
20017        * WebCoreSupport.subproj/WebBridge.m:
20018        (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:): instead of asserting, handle the case where we ask a plug-in to map from an extension to a MIME type, but nil is returned 
20019        (-[WebBridge frameRequiredForMIMEType:URL:]): no need to start up the plug-in DB because this is now handled by [WebView _viewClass:andRepresentationClass:forMIMEType:]
20020        * WebView.subproj/WebDataSource.m:
20021        (+[WebDataSource _representationClassForMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:]
20022        (-[WebDataSource _makeRepresentation]): call _representationClassForMIMEType
20023        * WebView.subproj/WebDataSourcePrivate.h:
20024        * WebView.subproj/WebFrameView.m:
20025        (-[WebFrameView _makeDocumentViewForDataSource:]): tweak
20026        (+[WebFrameView _viewClassForMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:]
20027        * WebView.subproj/WebView.m:
20028        (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): new, central place for mapping from a MIME to the document classes. We now load the plug-in DB when a non-HTML MIME type is encountered instead of loading the plug-in DB when the class for the 
20029
20030
20031MIME type is not found. This is required to fully fix 3364036.
20032        (+[WebView canShowMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:]
20033        (+[WebView registerViewClass:representationClass:forMIMEType:]): tweak
20034        * WebView.subproj/WebViewPrivate.h:
20035
200362003-10-23  John Sullivan  <sullivan@apple.com>
20037
20038        - fixed 3459272 -- Can't set up keyboard loop inside a 
20039        WebDocumentView without subclassing views
20040        - fixed 3179062 -- can't tab back to address bar from image-only 
20041        page
20042        - fixed 3252009 -- tabbing from address bar to content area does 
20043        not work with WebTextView
20044        - fixed 3461398 -- Can't click on a standalone image to focus it 
20045        (for later keyboard scrolling)
20046
20047        I redid the way WebView and WebFrameView splice themselves into
20048        the keyview loop in a way very similar to what NSScrollView and
20049        NSClipView do. This means that contained and sibling views won't 
20050        need to do anything special to put themselves into the key loop.
20051
20052        Reviewed by Chris.
20053
20054        * WebView.subproj/WebFrameView.m:
20055        (-[WebFrameView _scrollView]):
20056        check for nil pointer before dereferencing; this can happen
20057        during [super dealloc]'s keyview-loop-fixup code
20058        (-[WebFrameView initWithFrame:]):
20059        wire our nextKeyView link to the contained scrollview (so
20060        previousKeyView will work correctly from scrollview)
20061        (-[WebFrameView acceptsFirstResponder]):
20062        return what the contained scrollview says
20063        (-[WebFrameView becomeFirstResponder]):
20064        in previous direction, use previousValidKeyView (follows normal
20065        NSView keyview links); in forward direction, hand first
20066        responder-ness to contained scrollview (which will in turn hand
20067        it down to clipview, which will in turn hand it down to document)
20068        (-[WebFrameView setNextKeyView:]):
20069        wire up scrollview instead of self, if it exists
20070
20071        * WebView.subproj/WebImageView.m:
20072        (-[WebImageView acceptsFirstResponder]):
20073        overridden to return YES; this fixes 3461398 and puts the finishing
20074        touches on 3179062
20075
20076        * WebView.subproj/WebView.m:
20077        (-[WebView _commonInitializationWithFrameName:groupName:]):
20078        wire our nextKeyView link to the contained webframeview (so
20079        previousKeyView will work correctly from webframeview). Also,
20080        if there's a nextKeyView already set (in a nib, e.g.), wire
20081        it to our contained webframeview.
20082        (-[WebView acceptsFirstResponder]):
20083        return what the contained webframeview says
20084        (-[WebView becomeFirstResponder]):
20085        in previous direction, use previousValidKeyView (follows normal
20086        NSView keyview links); in forward direction, hand first
20087        responder-ness to contained webframeview (which will in turn hand
20088        it down to scrollview, etc.)
20089        (-[WebView setNextKeyView:]):
20090        wire up webframeview instead of self, if it exists
20091
200922003-10-22  Richard Williamson   <rjw@apple.com>
20093
20094        Match WebCore's notion of distributing linegap between top and bottom of 
20095        line.  WebKit used to put it all at the bottom of the line.
20096
20097        Reviewed by Hyatt.
20098
20099        * WebCoreSupport.subproj/WebTextRenderer.h:
20100        * WebCoreSupport.subproj/WebTextRenderer.m:
20101        (-[WebTextRenderer initWithFont:usingPrinterFont:]):
20102        (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
20103
201042003-10-21  Maciej Stachowiak  <mjs@apple.com>
20105
20106        Reviewed by Dave.
20107
20108        Finished exception blocking changes, so now I can finally say:
20109
20110        - fixed 3137084 - Many non-reproducible crashers in ContextImp::mark / ScopeChain::mark
20111        - fixed 3308848 - nil-deref in KHTMLView::topLevelWidget
20112        - fixed 3311511 - nil deref inside KJS::Screen
20113        - fixed 3397422 - 7B51: Safari crashed in KJS::ObjectImp::mark()
20114        - fixed 3408373 - Panther7B58 : Safari Crashed in KJS::ObjectImp::mark
20115        - fixed 3409307 - 7B55: safari crashed in KJS::Interpreter::globalExec() (idle, nothing particular going on)
20116        - fixed 3410160 - 7B60 Safari crashed in KHTMLPart::parentPart called from JS while in the background
20117        - fixed 3413224 - unrepro crash in KJS::Window::mark
20118        - fixed 3419940 - unrepro crash in KJS::Collector::allocate trying to access http://www.lindyinthepalms.com
20119        - fixed 3420123 - Panther7B66: Safari crashed while going to http://www.tangents.co.uk/index2.html
20120        - fixed 3423225 - Safari crash in vtable for KWQMapImpl (vtable for KWQMapImpl + 8).
20121        - fixed 3437190 - nil-deref on quit in calling marked() from ScopeChain::mark()
20122
20123        * WebCoreSupport.subproj/WebTextRenderer.m:
20124        (-[WebTextRenderer ascent]):
20125        (-[WebTextRenderer descent]):
20126        (-[WebTextRenderer lineSpacing]):
20127        (-[WebTextRenderer xHeight]):
20128        (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
20129        (-[WebTextRenderer _smallCapsRenderer]):
20130        (-[WebTextRenderer _initializeATSUStyle]):
20131        (-[WebTextRenderer _createATSUTextLayoutForRun:]):
20132        (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
20133        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
20134        (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
20135        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
20136
201372003-10-22  Richard Williamson   <rjw@apple.com>
20138
20139        Fixed 3458715.  Reset to 0, not .1 when done.
20140
20141        Reviewed by Chris.
20142
20143        * WebView.subproj/WebView.m:
20144        (-[WebView _resetProgress]):
20145        (-[WebView _progressStarted:]):
20146
201472003-10-21  Richard Williamson   <rjw@apple.com>
20148
20149        Don't use small caps font for characters that don't have an
20150        uppercase counterpart (i.e. punctuation marks).
20151
20152        Reviewed by Hyatt.
20153
20154        * WebCoreSupport.subproj/WebTextRenderer.m:
20155        (widthForNextCharacter):
20156
201572003-10-21  Chris Blumenberg  <cblu@apple.com>
20158
20159        Fixed: <rdar://problem/3176170>: OBJECT tag with no or empty TYPE is mishandled
20160        Reviewed by rjw.
20161
20162        * Plugins.subproj/WebPluginDatabase.m:
20163        (-[WebPluginDatabase pluginForExtension:]): If no plug-in is found from the extension, attempt to map from the extension to a MIME type using our mappings and find a plug-in from the MIME type. This improves our chances of finding a plug-in when n
20164
20165
20166o MIME type is specified.
20167        * WebCoreSupport.subproj/WebBridge.m:
20168        (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): If the passed MIME is empty, nil it out so that clients only need to check for nil. This avoids error sheets complaining about "" MIME types.
20169        (-[WebBridge frameRequiredForMIMEType:URL:]): Renamed to include URL. If no MIME is specified, only create a plug-in view if we can map from the extension.
20170
201712003-10-20  Chris Blumenberg  <cblu@apple.com>
20172
20173        Fixed: <rdar://problem/3457627>: empty Flash plugin at tvguide.com
20174        Fixed issues with plug-in stream error handling.
20175        Improved plug-in logging.
20176
20177        Reviewed by kocienda.
20178
20179        * Misc.subproj/WebKitLogging.h: added WebKitLogPluginEvents
20180        * Misc.subproj/WebKitLogging.m:
20181        * Plugins.subproj/WebBaseNetscapePluginStream.h:
20182        * Plugins.subproj/WebBaseNetscapePluginStream.m:
20183        (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): improved logging
20184        (-[WebBaseNetscapePluginStream destroyStream]): improved logging
20185        (-[WebBaseNetscapePluginStream destroyStreamWithFailingReason:]): renamed from cancelWithReason to avoid confusion
20186        (-[WebBaseNetscapePluginStream receivedError:]): calls destroyStreamWithFailingReason after determining a reason from the NSError
20187        (-[WebBaseNetscapePluginStream cancelWithReason:]): calls destroyStreamWithFailingReason, this method is overriden by subclasses to cancel the actual load
20188        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): call destroyStreamWithFailingReason, not cancelWithReason because the loaded has already ended here
20189        (-[WebBaseNetscapePluginStream deliverData]): improved logging
20190        * Plugins.subproj/WebBaseNetscapePluginView.m:
20191        (-[WebBaseNetscapePluginView sendActivateEvent:]): use even logging
20192        (-[WebBaseNetscapePluginView sendUpdateEvent]): ditto
20193        (-[WebBaseNetscapePluginView becomeFirstResponder]): ditto
20194        (-[WebBaseNetscapePluginView resignFirstResponder]): ditto
20195        (-[WebBaseNetscapePluginView mouseDown:]): ditto
20196        (-[WebBaseNetscapePluginView mouseUp:]): ditto
20197        (-[WebBaseNetscapePluginView mouseEntered:]): ditto
20198        (-[WebBaseNetscapePluginView mouseExited:]): ditto
20199        (TSMEventHandler): ditto
20200        (-[WebBaseNetscapePluginView destroyStream:reason:]): call cancelWithReason so the reason is passed back to the plug-in
20201        * Plugins.subproj/WebNetscapePluginDocumentView.m:
20202        (-[WebNetscapePluginDocumentView setDataSource:]): tweak
20203        * Plugins.subproj/WebNetscapePluginRepresentation.m:
20204        (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call receivedError
20205        (-[WebNetscapePluginRepresentation cancelWithReason:]): override, cancel the load, call super
20206        * Plugins.subproj/WebNetscapePluginStream.m:
20207        (-[WebNetscapePluginStream cancelWithReason:]): override, cancel the load, call super
20208        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): be sure to call the stream before calling super because the stream can be cleared out when calling super 
20209        (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): ditto
20210        (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto
20211        (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): ditto
20212
202132003-10-20  Richard Williamson   <rjw@apple.com>
20214
20215        Conditionally excluded fix for 3446192.  We'll enable the fix once 3446669
20216        has been fixed.  This patch switches to the new UTI typing API for pasteboard types.
20217 
20218        Reviewed by Ken.
20219
20220        * Misc.subproj/WebNSPasteboardExtras.m:
20221        (+[NSPasteboard initialize]):
20222
202232003-10-20  Richard Williamson   <rjw@apple.com>
20224
20225        Fixed 3456103.  Don't assert, just check for inappropriate state.
20226        Reviewed by Hyatt
20227
20228        Add a debug menu item to always use ATSU text drawing.  This will be helpful
20229        to the ATSU folks in performance tuning there API.  Right now I see approx.
20230        2X slowdown using ATSU.
20231
20232        Also did some shuffling around of inline related stuff.
20233
20234              Reviewed by Chris.
20235
20236        * WebCoreSupport.subproj/WebTextRenderer.h:
20237        * WebCoreSupport.subproj/WebTextRenderer.m:
20238        (isControlCharacter):
20239        (isAlternateSpace):
20240        (isSpace):
20241        (getUncachedWidth):
20242        (widthFromMap):
20243        (widthForGlyph):
20244        (+[WebTextRenderer _setAlwaysUseATSU:]):
20245        (glyphForCharacter):
20246        (glyphForUnicodeCharacter):
20247        (shouldUseATSU):
20248        * WebView.subproj/WebView.m:
20249        (+[WebView _setAlwaysUseATSU:]):
20250        (-[WebView _progressCompleted:]):
20251        * WebView.subproj/WebViewPrivate.h:
20252
202532003-10-19  Chris Blumenberg  <cblu@apple.com>
20254
20255        Fixed: <rdar://problem/3442218>: crash due to infinite recursion trying to load standalone plug-in content
20256
20257        Reviewed by darin.
20258
20259        * WebView.subproj/WebFrame.m:
20260        (-[WebFrame stopLoading]): manage the isStoppingLoad ivar, return if isStoppingLoad is YES
20261        * WebView.subproj/WebFramePrivate.h: added the isStoppingLoad ivar
20262
202632003-10-19  Darin Adler  <darin@apple.com>
20264
20265        Reviewed by Dave and Ken.
20266
20267        - fixed 3457066 -- REGRESSION (91-92): command-left-arrow causes a scroll to the left before going back
20268
20269        * WebView.subproj/WebFrameView.m: (-[WebFrameView keyDown:]): Add an else so that we don't fall into the
20270        scrolling code when the command key is down for right and left arrow.
20271
202722003-10-18  Chris Blumenberg  <cblu@apple.com>
20273
20274        Fixed: <rdar://problem/3229530>: Dragging standalone image to desktop should save it, not re-download it
20275
20276        Reviewed by darin.
20277
20278        * English.lproj/Localizable.strings:
20279        * WebKit.pbproj/project.pbxproj:
20280        * WebView.subproj/WebDocumentPrivate.h: Added.
20281        * WebView.subproj/WebImageRepresentation.h:
20282        * WebView.subproj/WebImageRepresentation.m:
20283        (-[WebImageRepresentation dealloc]): release new filename and data ivars
20284        (-[WebImageRepresentation doneLoading]): return YES if data is non-nil
20285        (-[WebImageRepresentation setDataSource:]): store the filename
20286        (-[WebImageRepresentation receivedError:withDataSource:]): store the data
20287        (-[WebImageRepresentation finishedLoadingWithDataSource:]): store the data
20288        (-[WebImageRepresentation data]): new
20289        (-[WebImageRepresentation filename]): new
20290        * WebView.subproj/WebImageView.m:
20291        (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): just save the image, don't download it
20292        (-[WebImageView image]): new
20293
202942003-10-17  Chris Blumenberg  <cblu@apple.com>
20295
20296        Fixed: <rdar://problem/3456176>: Assertion failure when loading atomfilms.com
20297
20298        Reviewed by kocienda.
20299
20300        * Plugins.subproj/WebNetscapePluginStream.m:
20301        (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): call super before calling plug-in code as we do in other callbacks
20302        (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto
20303        (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): ditto
20304
203052003-10-16  Richard Williamson   <rjw@apple.com>
20306
20307        Fixed 3455306.  Ensure that progress is correctly ended when a load is interupted (i.e. becomes a download).
20308
20309        Reviewed by mjs.
20310
20311        * WebView.subproj/WebFrame.m:
20312        (-[WebFrame _isLoadComplete]):
20313
203142003-10-16  Chris Blumenberg  <cblu@apple.com>
20315
20316        Fixed: <rdar://problem/3455176>: Assertion failure when loading non-existant plug-in content
20317
20318        Reviewed by rjw.
20319
20320        * Misc.subproj/WebDownload.m: fixed build failure when using new Foundation. We are overriding and calling a renamed method. Continue to override the old method, override the new method and declare their interfaces to avoid build failures. 
20321        * Plugins.subproj/WebNetscapePluginStream.m:
20322        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): cancel the load before telling the plug-in about the error so plug-in code doesn't attempt to cancel the load twice
20323
203242003-10-16  Richard Williamson   <rjw@apple.com>
20325
20326        Fixed 3453991.  We weren't setting the array cursor correctly after changing
20327        capacity.
20328
20329        Reviewed by John.
20330
20331        * ChangeLog:
20332        * History.subproj/WebBackForwardList.m:
20333        (-[WebBackForwardList setCapacity:]):
20334
20335=== Safari-110 ===
20336
203372003-10-16  Richard Williamson   <rjw@apple.com>
20338
20339        Tweaked the progress behavior and factored cleanup of progress
20340        related ivars.
20341
20342        Reviewed by Hyatt.
20343
20344        * WebView.subproj/WebDataSource.m:
20345        (-[WebDataSource _startLoading:]):
20346        * WebView.subproj/WebFrame.m:
20347        (-[WebFrame _isLoadComplete]):
20348        * WebView.subproj/WebView.m:
20349        (-[WebView _resetProgress]):
20350        (-[WebView _progressStarted:]):
20351        (-[WebView _finalProgressComplete]):
20352        (-[WebView _progressCompleted:]):
20353        (-[WebView _incrementProgressForConnection:data:]):
20354        * WebView.subproj/WebViewPrivate.h:
20355
203562003-10-14  Richard Williamson   <rjw@apple.com>
20357
20358        Added logging for estimated progress.
20359        
20360        Added a time delta to the throttler, so we now send notifications
20361        if a delta amount has been exceeded OR a delta between notifications
20362        has been exceeded.
20363
20364        Reviewed by Chris.
20365
20366        * Misc.subproj/WebKitLogging.h:
20367        * Misc.subproj/WebKitLogging.m:
20368        * WebView.subproj/WebView.m:
20369        (-[WebViewPrivate init]):
20370        (-[WebView _progressStarted]):
20371        (-[WebView _progressCompleted]):
20372        (-[WebView _incrementProgressForConnection:data:]):
20373        * WebView.subproj/WebViewPrivate.h:
20374
203752003-10-14  Ken Kocienda  <kocienda@apple.com>
20376
20377        Reviewed by Darin
20378
20379        Fix for this bug:
20380
20381        <rdar://problem/3450449>: assertion failure in WebBridge 
20382        _retrieveKeyboardUIModeFromPreferences
20383
20384        Can't assert that the preference always exists and is valid as I
20385        thought you could. This could just mean that the a preference for full
20386        keyboard access has not been specified by the user yet. If this is so,
20387        just return the default keyboard access mode.
20388
20389        * WebCoreSupport.subproj/WebBridge.m:
20390        (-[WebBridge _retrieveKeyboardUIModeFromPreferences:])
20391
203922003-10-13  Richard Williamson  <rjw@apple.com>
20393
20394        Added support for small-caps.
20395
20396        Reworked drawing and measuring to use new iterators.  Position checking was already using
20397        the new iterator code, but I was reluctant to switch the mainline drawing and measuring
20398        code over to the new approach until now.
20399
20400        Lots of other code cleanup.
20401
20402        Reviewed by John.
20403
20404        * Misc.subproj/WebUnicode.m:
20405        (initializeCharacterShapeIterator):
20406        * WebCoreSupport.subproj/WebTextRenderer.h:
20407        * WebCoreSupport.subproj/WebTextRenderer.m:
20408        (+[WebTextRenderer shouldBufferTextDrawing]):
20409        (+[WebTextRenderer initialize]):
20410        (-[WebTextRenderer initWithFont:usingPrinterFont:]):
20411        (-[WebTextRenderer dealloc]):
20412        (-[WebTextRenderer widthForCharacters:length:]):
20413        (-[WebTextRenderer widthForString:]):
20414        (-[WebTextRenderer ascent]):
20415        (-[WebTextRenderer descent]):
20416        (-[WebTextRenderer lineSpacing]):
20417        (-[WebTextRenderer xHeight]):
20418        (-[WebTextRenderer drawRun:style:atPoint:]):
20419        (-[WebTextRenderer floatWidthForRun:style:widths:]):
20420        (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
20421        (-[WebTextRenderer drawHighlightForRun:style:atPoint:]):
20422        (-[WebTextRenderer pointToOffset:style:position:reversed:]):
20423        (-[WebTextRenderer _setIsSmallCapsRenderer:]):
20424        (-[WebTextRenderer _isSmallCapsRenderer]):
20425        (-[WebTextRenderer _smallCapsRenderer]):
20426        (-[WebTextRenderer _smallCapsFont]):
20427        (-[WebTextRenderer _substituteFontForString:families:]):
20428        (-[WebTextRenderer _substituteFontForCharacters:length:families:]):
20429        (-[WebTextRenderer _convertCharacters:length:toGlyphs:skipControlCharacters:]):
20430        (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]):
20431        (-[WebTextRenderer _computeWidthForSpace]):
20432        (-[WebTextRenderer _setupFont]):
20433        (_drawGlyphs):
20434        (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
20435        (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
20436        (-[WebTextRenderer _floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
20437        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
20438        (-[WebTextRenderer _extendUnicodeCharacterToGlyphMapToInclude:]):
20439        (-[WebTextRenderer _updateGlyphEntryForCharacter:glyphID:font:]):
20440        (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
20441        (-[WebTextRenderer _extendGlyphToWidthMapToInclude:font:]):
20442        (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
20443        (-[WebTextRenderer _ATSU_floatWidthForRun:style:]):
20444        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
20445        (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
20446        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
20447        (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]):
20448        (freeWidthMap):
20449        (freeGlyphMap):
20450        (glyphForCharacter):
20451        (glyphForUnicodeCharacter):
20452        (mapForSubstituteFont):
20453        (widthFromMap):
20454        (widthForGlyph):
20455        (initializeCharacterWidthIterator):
20456        (widthAndGlyphForSurrogate):
20457        (ceilCurrentWidth):
20458        (widthForNextCharacter):
20459        (fillStyleWithAttributes):
20460        (findLengthOfCharacterCluster):
20461        (shouldUseATSU):
20462        (isControlCharacter):
20463        (isAlternateSpace):
20464        (isSpace):
20465        (fontContainsString):
20466        (GetScratchUniCharString):
20467        (toUpper):
20468        (isUpper):
20469
204702003-10-10  Maciej Stachowiak  <mjs@apple.com>
20471
20472        * English.lproj/StringsNotToBeLocalized.txt: Fixed for Private
20473        change from a while back.
20474
204752003-10-10  David Hyatt  <hyatt@apple.com>
20476
20477        Patch to move widgets during layout instead of waiting until paint time.
20478        Reviewed by darin
20479
20480        * WebView.subproj/WebDataSource.m:
20481        * WebView.subproj/WebDataSourcePrivate.h:
20482        * WebView.subproj/WebFrame.m:
20483        (-[WebFrame _isLoadComplete]):
20484        * WebView.subproj/WebHTMLView.m:
20485        * WebView.subproj/WebHTMLViewPrivate.h:
20486
204872003-10-09  Richard Williamson   <rjw@apple.com>
20488
20489        Ensure that the autoscroll timer is always stopped if a mouse up event is lost.
20490
20491        Reviewed by John.
20492
20493        * WebView.subproj/WebHTMLView.m:
20494        (-[WebHTMLViewPrivate dealloc]):
20495        (-[WebHTMLView _startAutoscrollTimer:]):
20496        (-[WebHTMLView _stopAutoscrollTimer]):
20497        (-[WebHTMLView _autoscroll]):
20498        (-[WebHTMLView mouseDown:]):
20499        * WebView.subproj/WebHTMLViewPrivate.h:
20500
205012003-10-09  Chris Blumenberg  <cblu@apple.com>
20502
20503        Fixed: <rdar://problem/3333897>: should support navigator.plugins.refresh as a way to add a plugin without restarting Safari
20504
20505        Reviewed by rjw.
20506
20507        * Plugins.subproj/WebBaseNetscapePluginView.m:
20508        (-[WebBaseNetscapePluginView dealloc]): release the plug-in object
20509        * Plugins.subproj/WebBasePluginPackage.h:
20510        * Plugins.subproj/WebBasePluginPackage.m:
20511        (-[WebBasePluginPackage initWithPath:]): store the last mod date
20512        (-[WebBasePluginPackage dealloc]): release the last mod date
20513        (-[WebBasePluginPackage lastModifiedDate]): new
20514        (-[WebBasePluginPackage isEqual:]): new
20515        (-[WebBasePluginPackage hash]): new
20516        * Plugins.subproj/WebNetscapePluginPackage.m:
20517        (-[WebNetscapePluginPackage load]): convert the NPP_Shutdown proc pointer so that we can use it later
20518        (-[WebNetscapePluginPackage unload]): added log message
20519        * Plugins.subproj/WebPluginDatabase.h:
20520        * Plugins.subproj/WebPluginDatabase.m:
20521        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): tweak
20522        (-[WebPluginDatabase plugins]): tweak
20523        (-[WebPluginDatabase init]): call refresh
20524        (-[WebPluginDatabase refresh]): new
20525        (-[WebPluginDatabase loadPluginIfNeededForMIMEType:]): tweak
20526        * WebCoreSupport.subproj/WebViewFactory.m:
20527        (-[WebViewFactory refreshPlugins:]): new
20528        * WebView.subproj/WebControllerSets.h:
20529        * WebView.subproj/WebControllerSets.m:
20530        (+[WebViewSets makeWebViewsPerformSelector:]): new
20531        * WebView.subproj/WebFrame.m:
20532        (-[WebFrame _reloadForPluginChanges]): new
20533        * WebView.subproj/WebFramePrivate.h:
20534        * WebView.subproj/WebView.m:
20535        (-[WebView _reloadForPluginChanges]): new
20536        * WebView.subproj/WebViewPrivate.h:
20537
20538=== Safari-109 ===
20539
205402003-10-03  Richard Williamson <rjw@apple.com>
20541
20542        Fix part of 3438071.  Creating an instance of WebPreferences using init
20543        will do the expected thing:  that is, create a new instance!  We used to
20544        always return standardPreferences.
20545
20546        Reviewed by Chris.
20547
20548        * WebView.subproj/WebPreferences.m:
20549        (-[WebPreferences init]):
20550        (+[WebPreferences standardPreferences]):
20551
205522003-10-03  David Hyatt  <hyatt@apple.com>
20553
20554        Fix for numerous regressions caused by an inadvertent renaming of the recursiveDisplay
20555        override method.
20556        Reviewed by darin
20557
20558        * WebView.subproj/WebHTMLView.m:
20559        (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
20560
205612003-10-03  Richard Williamson (Home0  <rjw@apple.com>
20562
20563        Fixed some edge case issue (control characters after end of word) with our rounding hack.
20564
20565        Reviewed by Darin.
20566
20567        * WebCoreSupport.subproj/WebTextRenderer.m:
20568        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
20569
205702003-10-03  Ken Kocienda  <kocienda@apple.com>
20571
20572        Reviewed by Darin, with much help from Maciej and Hyatt
20573
20574        Fix for this bug:
20575
20576        <rdar://problem/3441321>: Form buttons do not respond to key events when focused
20577
20578        * WebView.subproj/WebFrameView.m:
20579        (-[WebFrameView _firstResponderIsControl]): Added to tell if the focus
20580        is on a form control.
20581        (-[WebFrameView keyDown:]): Call new _firstResponderIsControl method to see
20582        whether space bar key events should propagate. Adding this check keeps us
20583        from blocking the event here and allows AppKit to handle it.
20584        * WebView.subproj/WebFrameViewPrivate.h: Add new _firstResponderIsControl 
20585        method.
20586
205872003-10-02  Maciej Stachowiak  <mjs@apple.com>
20588
20589        Folded Private implementation files into the regular ones as the
20590        first step towards pulling in our SPI exposure and other code
20591        cleanup.
20592
20593        * History.subproj/WebHistory.m:
20594        * History.subproj/WebHistoryPrivate.m: Removed.
20595        * Misc.subproj/WebIconDatabasePrivate.h:
20596        * WebKit.pbproj/project.pbxproj:
20597        * WebView.subproj/WebDataSource.m:
20598        * WebView.subproj/WebDataSourcePrivate.m: Removed.
20599        * WebView.subproj/WebFrame.m:
20600        * WebView.subproj/WebFramePrivate.m: Removed.
20601        * WebView.subproj/WebFrameView.m:
20602        * WebView.subproj/WebFrameViewPrivate.m: Removed.
20603        * WebView.subproj/WebHTMLView.m:
20604        * WebView.subproj/WebHTMLViewPrivate.m: Removed.
20605        * WebView.subproj/WebView.m:
20606        * WebView.subproj/WebViewPrivate.m: Removed.
20607
206082003-10-02  Chris Blumenberg  <cblu@apple.com>
20609
20610        Fixed: <rdar://problem/3440063>: Safari 1.1 won't load new pages after visiting adultswim.com, assertion failure on debug build
20611
20612        Reviewed by rjw.
20613
20614        * Plugins.subproj/WebBaseNetscapePluginStream.m:
20615        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): if not data was received for a stream, create the temp file anyway. Plug-ins expect this.
20616
20617=== Safari-108 ===
20618
206192003-10-02  Darin Adler  <darin@apple.com>
20620
20621        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
20622
206232003-10-01  Maciej Stachowiak  <mjs@apple.com>
20624
20625        Reviewed by Darin.
20626
20627        - fixed 3441466 - REGRESSION: http://www.meyerweb.com/eric/css/edge/complexspiral/glassy.html broken on scroll
20628        * WebView.subproj/WebFramePrivate.m:
20629        (-[WebFrame _setState:]): Don't turn on scroll-blitting here when the page is done...
20630        (-[WebFrame _transitionToCommitted:]): Instead do it here, when the page is committed.
20631
206322003-10-02  Darin Adler  <darin@apple.com>
20633
20634        Reviewed by Ken.
20635
20636        - in preparation for a WebCore whitespace-handling change, made WebTextRenderer draw and measure
20637          newline characters as if they are spaces (just as we already do with non-breaking spaces)
20638        - removed some unused stuff from WebTextRenderer
20639        - other unimportant tweaks (e.g. unsigned int -> unsigned)
20640
20641        * WebCoreSupport.subproj/WebTextRenderer.m:
20642        (kFixedOne), (fixed1), (FixToFloat), (FloatToFixed): Removed these. We can use the standard ones
20643        from <FixMath.h> instead of defining our own.
20644        (isControlCharacter): Added. Inline function that we can use instead of the macro we had before.
20645        (isAlternateSpace): Added. Returns YES for newlines and non-breaking spaces.
20646        (isSpace): Added. Returns YES for real spaces and the two alternate spaces as well.
20647        (initializeCharacterWidthIterator): Use isSpace.
20648        (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]): Use isAlternateSpace
20649        and isControlCharacter.
20650        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
20651        Use isControlCharacter, isAlternateSpace, and isSpace. Also fix a small bug where numGlyphs would
20652        not get set up properly when the run length is 0, and used local variables when possible instead
20653        of going back at the run structure.
20654        (-[WebTextRenderer _ATSU_floatWidthForRun:style:]): Use the standard FixedToFloat instead of our
20655        own FixToFloat.
20656        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]): Ditto.
20657
206582003-10-02  David Hyatt  <hyatt@apple.com>
20659
20660        Work on exposing elements to the Acc API.  This patch gets us to the point where text
20661        under the mouse is voiced.
20662        Reviewed by darin
20663
20664        * WebView.subproj/WebHTMLView.m:
20665        (-[WebHTMLView accessibilityAttributeValue:]):
20666        (-[WebHTMLView accessibilityHitTest:]):
20667
206682003-10-01  John Sullivan  <sullivan@apple.com>
20669
20670        Reviewed by Darin
20671
20672        * WebView.subproj/WebHTMLView.m:
20673        (-[WebHTMLView viewDidMoveToSuperview]):
20674        skip some work when when we've been removed. This wasn't
20675        causing any trouble before, but was at least conceptually
20676        inefficient.
20677
206782003-10-01  John Sullivan  <sullivan@apple.com>
20679
20680        - fixed 3441372: REGRESSION (107+): Plain text document is 
20681        initially drawn with proportional font
20682
20683        Reviewed by Hyatt
20684
20685        * WebView.subproj/WebTextView.m:
20686        (-[WebTextView setDataSource:]):
20687        Changed a != to an ==
20688
206892003-10-01  Richard Williamson   <rjw@apple.com>
20690
20691        Fixed 3438441.  If a load is triggered by a onload handling, don't add an entry for it into the b/f or history.  The new Google ads use this technique.
20692
20693        Reviewed by Ken.
20694
20695        * Misc.subproj/WebKitLogging.h:
20696        * Misc.subproj/WebKitLogging.m:
20697        * WebCoreSupport.subproj/WebBridge.m:
20698        (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]):
20699        * WebView.subproj/WebFramePrivate.h:
20700        * WebView.subproj/WebFramePrivate.m:
20701        (-[WebFrame _addBackForwardItemClippedAtTarget:]):
20702        (-[WebFrame _transitionToCommitted:]):
20703        (-[WebFrame _isLoadComplete]):
20704        (-[WebFrame _loadItem:withLoadType:]):
20705        (-[WebFrame _itemForRestoringDocState]):
20706
207072003-10-01  Darin Adler  <darin@apple.com>
20708
20709        Reviewed by John.
20710
20711        * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _webView]):
20712        Fixed problem where we'd get a nil WebView and pass crazy values for subframe
20713        text multipliers.
20714
207152003-10-01  David Hyatt  <hyatt@apple.com>
20716
20717        Fix for 3440804, broken scrollbars in downloads window.  Make Auto be the default
20718        value in the enum, so that all scrollviews will be automatically initialized to be
20719        auto.
20720        Reviewed by cblu
20721
20722        * WebView.subproj/WebDynamicScrollBarsView.m:
20723
207242003-09-30  Richard Williamson   <rjw@apple.com>
20725
20726        Attempt to find a reasonable font using a simple string matching heuristic if 
20727        none of the fonts actually specified are found.  In particular we will use
20728        Geeza Pro if "arabic", "urdu", or "pashto" is contained (case-insensitive) in
20729        any of the requested font family names.  Geeza Pro is a much better fallback
20730        font for Arabic (and variant languages) than Helvetica.
20731
20732        Reviewed by Chris.
20733
20734        * WebCoreSupport.subproj/WebTextRendererFactory.m:
20735        (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
20736
207372003-09-30  John Sullivan  <sullivan@apple.com>
20738
20739        - fixed 3045617 -- Make Text Bigger/Smaller doesn't affect non-html documents.
20740        
20741        I added an internal protocol inside WebKit to make this work, and implemented
20742        it for plain text and RTF. I also slightly shuffled the existing code to
20743        handle this for HTML so that it goes through the new protocol in that case
20744        also.
20745
20746        * WebView.subproj/WebDocumentInternal.h: Added.
20747               New header file, holds definition of 
20748        _web_WebDocumentTextSizing protocol.
20749
20750        * WebView.subproj/WebFramePrivate.m:
20751        (-[WebFrame _textSizeMultiplierChanged]):
20752        if the document view conforms to the new protocol,
20753        tell it that the multiplier has changed. Also, don't
20754        tell the bridge here anymore; let WebHTMLView do that.
20755
20756        * WebView.subproj/WebHTMLView.m:
20757        (-[WebHTMLView _updateTextSizeMultiplier]):
20758        tell the bridge here instead of having WebFrame do so
20759        (-[WebHTMLView viewDidMoveToSuperview]):
20760        call _updateTextSizeMultiplier (in case it changed while we were switched out)
20761        (-[WebHTMLView _web_textSizeMultiplierChanged]):
20762        call _updateTextSizeMultiplier
20763        
20764        * WebView.subproj/WebTextRepresentation.m:
20765        (-[WebTextRepresentation receivedData:withDataSource:]):
20766        
20767        * WebView.subproj/WebTextView.h:
20768        now implements _web_WebDocumentTextSizing protocol;
20769        new ivar for holding local copy of text size multiplier;
20770        new public method appendReceivedData:fromDataSource:
20771        
20772        * WebView.subproj/WebTextView.m:
20773        (-[WebTextView initWithFrame:]):
20774        set local copy of text size multiplier to 1.0
20775        (-[WebTextView _textSizeMultiplierFromWebView]):
20776        new method, asks the webview's opinion of the text size multiplier
20777        (-[WebTextView setFixedWidthFont]):
20778        use the text size multiplier when setting font size
20779        (-[WebTextView _adjustRichTextFontSizeByRatio:]):
20780        new method, borrowed from Mail and tweaked, that walks through
20781        the rich text and adjusts the font sizes
20782        (-[WebTextView _updateTextSizeMultiplier]):
20783        new method, updates local copy of text size multiplier to
20784        match webview's opinion
20785        (-[WebTextView setDataSource:]):
20786        set the text size multiplier appropriately before setting the
20787        fixed-width font; this is too early for the RTF case though
20788        since the fonts are embedded in the data
20789        (-[WebTextView appendReceivedData:fromDataSource:]):
20790        new method. Most of this logic was in WebTextRepresentation, but
20791        it's a little better encapsulated here, plus now it handles the
20792        text multiplier for RTF.
20793        (-[WebTextView defaultsChanged:]):
20794        added comment
20795        (-[WebTextView _web_textSizeMultiplierChanged]):
20796        call updateTextSizeMultiplier
20797        
20798        * WebView.subproj/WebView.m:
20799        (-[WebView canMakeTextSmaller]):
20800        (-[WebView canMakeTextLarger]):
20801        return NO if the main frame doesn't support the text sizing protocol. This means
20802        that if the main frame doesn't support it but a subframe does, you can't adjust
20803        the text size. This seems fine for now since the only case with subframes is
20804        HTML, where the main frame does support changing text size.
20805        
20806        * WebKit.pbproj/project.pbxproj:
20807        updated for new file
20808
208092003-09-30  Chris Blumenberg  <cblu@apple.com>
20810
20811        Fixed: <rdar://problem/3428262>: Plugin loads for static files, but not PHP scripts
20812
20813        Reviewed by rjw.
20814
20815        * WebCoreSupport.subproj/WebBridge.m:
20816        (-[WebBridge frameRequiredForMIMEType:]): load the plug-in DB so this method returns reliable results.
20817
208182003-09-30  Chris Blumenberg  <cblu@apple.com>
20819
20820        Fixed: <rdar://problem/3006869>: show image dimensions in title bar when single image is loaded
20821
20822        Reviewed by rjw.
20823
20824        * English.lproj/Localizable.strings:
20825        * WebView.subproj/WebImageRepresentation.m:
20826        (-[WebImageRepresentation title]): return "foo.jpg 50x50 pixels"
20827
208282003-09-30  Richard Williamson   <rjw@apple.com>
20829
20830        Fixed 3420396.  If a frame targets _top and a URL that contains a fragment (very unusual, it's meaningless for a frameset to contain a named anchor point) the frameset won't be reloaded.  Our normal path is to just scroll to the anchor point.  This is on
20831
20832
20833ly important because our Help folks oddly depend on the behavior.
20834
20835        Reviewed by Chris.
20836
20837        * WebView.subproj/WebFramePrivate.m:
20838        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
20839
208402003-09-30  Ken Kocienda  <kocienda@apple.com>
20841
20842        Reviewed by Maciej
20843        
20844        Fix for this bug:
20845        
20846        <rdar://problem/3439688>: WebKit needs to retrieve full keyboard access preference
20847        
20848        * WebCoreSupport.subproj/WebBridge.h: Add two ivars: one to track the keyboard
20849        UI mode, the other a flag we use to register for notifications.
20850        * WebCoreSupport.subproj/WebBridge.m:
20851        (-[WebBridge dealloc]): Remove the notification observer to keyboard UI mode changes.
20852        (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): New method. Accesses the
20853        preferences to get the current keyboard UI mode.
20854        (-[WebBridge keyboardUIMode]): Returns the current keyboard UI mode. Registers for
20855        notifications of keyboard UI mode changes when called the first time.
20856        
208572003-09-30  Maciej Stachowiak  <mjs@apple.com>
20858
20859        Reviewed by Ken.
20860
20861        - fixed 3375281 - Keyboard event handlers not fired if focus not in form field
20862        - fixed 3242927 - KeyPressed Event in Javascript don't work
20863        - fixed 3375353 - keyboard event.target not updated when blurring from form items
20864        - fixed 3183754 - returning false from key press handlers does not prevent typing or form submission
20865
20866        * WebView.subproj/WebHTMLView.m:
20867        (-[WebHTMLView keyDown:]): Ask the bridge before passing the event along.
20868        (-[WebHTMLView keyUp:]): Likewise.
20869        * WebView.subproj/WebHTMLViewPrivate.h:
20870        * WebView.subproj/WebHTMLViewPrivate.m: Remove dead code.
20871
208722003-09-30  Richard Williamson   <rjw@apple.com>
20873
20874        Fixed 3422138.  We weren't sending a didChange call for isLoading until the load was complete!  Also [WebView isLoading] wasn't accounting for provisional datasources.
20875
20876        Reviewed by Chris.
20877
20878        * WebView.subproj/WebView.m:
20879        (-[WebView isLoading]):
20880        * WebView.subproj/WebViewPrivate.h:
20881        * WebView.subproj/WebViewPrivate.m:
20882        (-[WebView _didStartProvisionalLoadForFrame:]):
20883        (-[WebView _didCommitLoadForFrame:]):
20884        (-[WebView _didFinishLoadForFrame:]):
20885        (-[WebView _didFailLoadWithError:forFrame:]):
20886        (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
20887
208882003-09-30  David Hyatt  <hyatt@apple.com>
20889
20890        Improvements to scrolling and layout.  Also fixing 3264346, body overflow should
20891        apply to document's scrollbars.
20892        Reviewed by darin
20893
20894        * WebView.subproj/WebDynamicScrollBarsView.h:
20895        * WebView.subproj/WebDynamicScrollBarsView.m:
20896        (-[WebDynamicScrollBarsView initWithFrame:]):
20897        (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]):
20898        (-[WebDynamicScrollBarsView updateScrollers]):
20899        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
20900        (-[WebDynamicScrollBarsView setAllowsScrolling:]):
20901        (-[WebDynamicScrollBarsView allowsScrolling]):
20902        (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
20903        (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]):
20904        (-[WebDynamicScrollBarsView allowsHorizontalScrolling]):
20905        (-[WebDynamicScrollBarsView allowsVerticalScrolling]):
20906        (-[WebDynamicScrollBarsView horizontalScrollingMode]):
20907        (-[WebDynamicScrollBarsView verticalScrollingMode]):
20908        (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
20909        (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
20910        (-[WebDynamicScrollBarsView setScrollingMode:]):
20911
209122003-09-29  Chris Blumenberg  <cblu@apple.com>
20913
20914        Fixed: <rdar://problem/3422739>: Plug-in streams not cancelled when plug-in returns error from NPP_NewStream
20915
20916        Reviewed by mjs.
20917
20918        * Plugins.subproj/WebBaseNetscapePluginStream.h: renamed receivedError to cancelWithReason
20919        * Plugins.subproj/WebBaseNetscapePluginStream.m:
20920        (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): call cancelWithReason if NPP_NewStream returns an error
20921        (-[WebBaseNetscapePluginStream cancelWithReason:]): renamed
20922        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): tweak
20923        * Plugins.subproj/WebNetscapePluginRepresentation.m:
20924        (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call renamed cancelWithReason
20925        (-[WebNetscapePluginRepresentation cancelWithReason:]): new override, stop load then call super
20926        * Plugins.subproj/WebNetscapePluginStream.m:
20927        (-[WebNetscapePluginStream cancelWithReason:]): new override, stop load then call super
20928        (-[WebNetscapePluginStream stop]): call cancelWithReason
20929        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): call renamed cancelWithReason
20930        (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): call renamed cancelWithReason
20931
209322003-09-25  Maciej Stachowiak  <mjs@apple.com>
20933
20934        Roll out build system change since it did not actually work. :-(
20935        * WebKit.pbproj/project.pbxproj:
20936
209372003-09-25  David Hyatt  <hyatt@apple.com>
20938
20939        Change layout so that it is called from the private _recursive functions instead of
20940        inside drawRect.
20941        Reviewed by kocienda
20942
20943        * WebView.subproj/WebHTMLView.m:
20944        (-[WebHTMLView layoutToPageWidth:adjustingViewSize:]):
20945        (-[WebHTMLView drawRect:]):
20946        * WebView.subproj/WebHTMLViewPrivate.m:
20947        (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:testDirtyRect:]):
20948        (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
20949        (-[WebHTMLView _web_setPrintingModeRecursive]):
20950        (-[WebHTMLView _web_clearPrintingModeRecursive]):
20951        (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
20952        (-[NSView _web_setPrintingModeRecursive]):
20953        (-[NSView _web_clearPrintingModeRecursive]):
20954        (-[NSView _web_layoutIfNeededRecursive:testDirtyRect:]):
20955
209562003-09-25  Richard Williamson   <rjw@apple.com>
20957
20958        Fixed 3433802.  Written by Ed.  Carbon WebView doesn't detach native view when removed.
20959
20960        Reviewed by Richard.
20961
20962        * Carbon.subproj/HIWebView.m:
20963        (OwningWindowChanged):
20964
209652003-09-25  Richard Williamson   <rjw@apple.com>
20966
20967        Fixed 3433488.  Written by Ed.  WebKit doesn't sync window visibility when new webview added to visible window.
20968
20969        Reviewed by Richard.
20970
20971        * Carbon.subproj/CarbonWindowAdapter.m:
20972        (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
20973
209742003-09-25  Richard Williamson   <rjw@apple.com>
20975
20976        Fixed 3434854.  Written by Ed.  Correctly handle window modality in carbon.
20977
20978        Reviewed by Richard.
20979
20980        * Carbon.subproj/CarbonWindowAdapter.m:
20981        (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
20982
209832003-09-25  Maciej Stachowiak  <mjs@apple.com>
20984
20985        Reviewed by Darin.
20986
20987        Updated setup for engineering builds. Don't embed the framework
20988        into Safari or hack the install name. However, do copy WebCore and
20989        JavaScriptCore into the proper sub-umbrella locations.
20990        * WebKit.pbproj/project.pbxproj:
20991        * embed-frameworks.sh: Added.
20992
20993=== Safari-107 ===
20994
209952003-09-25  Ken Kocienda  <kocienda@apple.com>
20996
20997        Reviewed by Darin
20998
20999        Fix for this bug:
21000        
21001        <rdar://problem/3341222>: WebView doesn't follow AppKit default nextKeyView pattern
21002        
21003        * WebCoreSupport.subproj/WebBridge.h: Added a variable to guard against recursion
21004        in -[WebBridge inNextKeyViewOutsideWebFrameViews].
21005        * WebCoreSupport.subproj/WebBridge.m:
21006        (-[WebBridge inNextKeyViewOutsideWebFrameViews]): Accessor for recursion guard.
21007        (-[WebBridge nextKeyViewOutsideWebFrameViews]): Do not ask webView for its
21008        next key view, but rather, ask it for the next key view of the last view in
21009        its key view loop. This is what will get us to the next view outside of the
21010        webView.
21011        * WebView.subproj/WebHTMLView.m:
21012        (-[WebHTMLView nextKeyView]): Ask AppKit, rather than khtml, for the next key
21013        key view if -[WebBridge inNextKeyViewOutsideWebFrameViews] returns YES. Doing
21014        so gives us the correct answer as calculated by AppKit, and makes HTML views
21015        behave like other views. This check also heads off an infinite recursion 
21016        through -[WebBridge nextKeyViewOutsideWebFrameViews].
21017
21018        Also did some cleanup of some code that was marked for removal "some day".
21019        That "some day" is today.
21020        
210212003-09-25  Darin Adler  <darin@apple.com>
21022
21023        Reviewed by John.
21024
21025        - fixed 3176853 -- can't attach files that have no extensions with Yahoo mail (bad Content-Type headers)
21026
21027        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge MIMETypeForPath:]):
21028        Return @"application/octet-stream" rather than nil or empty string when the type is not known.
21029
210302003-09-24  Darin Adler  <darin@apple.com>
21031
21032        Reviewed by Maciej.
21033
21034        * WebView.subproj/WebHTMLView.m:
21035        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
21036        Added one more call to _stopAutoscrollTimer for when drags begin.
21037
210382003-09-24  Richard Williamson   <rjw@apple.com>
21039
21040        Fixed 3420736.  Clear renderer caches when get an ATS font changed notification.  This fix may be moot depending on progress toward fixing 2695906.  Also 3428451 needs to should be resolved.
21041
21042        Also added code to get and log entry point for the function used to get a Java class from plugins.  That class is used for LiveConnect support.
21043
21044        Reviewed by John.
21045
21046        * Misc.subproj/WebKitLogging.h:
21047        * Misc.subproj/WebKitLogging.m:
21048        * Plugins.subproj/WebNetscapePluginPackage.h:
21049        * Plugins.subproj/WebNetscapePluginPackage.m:
21050        (-[WebNetscapePluginPackage load]):
21051        * Plugins.subproj/npapi.h:
21052        * WebCoreSupport.subproj/WebTextRenderer.m:
21053        (FillStyleWithAttributes):
21054        * WebCoreSupport.subproj/WebTextRendererFactory.m:
21055        (-[WebTextRendererFactory clearCaches]):
21056        (fontsChanged):
21057        (+[WebTextRendererFactory createSharedFactory]):
21058        (-[WebTextRendererFactory fontWithFamily:traits:size:]):
21059        (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
21060
210612003-09-23  Darin Adler  <darin@apple.com>
21062
21063        Reviewed by John and Richard.
21064
21065        - fixed 3127833 -- autoscroll only works when mouse is moving
21066
21067        * WebView.subproj/WebHTMLView.m:
21068        (-[WebHTMLView viewDidMoveToWindow]): Stop the auto-scroll timer. This covers
21069        the case where a view is removed from the view hierarchy while the mouse is down.
21070        (-[WebHTMLView mouseDown:]): Start the auto-scroll timer.
21071        (-[WebHTMLView mouseUp:]): Stop the auto-scroll timer.
21072        * WebView.subproj/WebHTMLViewPrivate.h: Add an auto-scroll timer, and methods
21073        to start and stop it.
21074        * WebView.subproj/WebHTMLViewPrivate.m:
21075        (-[WebHTMLView _startAutoscrollTimer]): Create and schedule a timer. It uses the
21076        same 1/10 second interval that NSTextView uses for its scrolling timer.
21077        (-[WebHTMLView _stopAutoscrollTimer]): Invalidate and release the timer.
21078        (-[WebHTMLView _autoscroll]): Check for a mouse up event in the queue; if one is
21079        there, then no autoscrlling. But if not, then create a fake mouse dragged event
21080        and dispatch it; that will lead to autoscrolling.
21081
210822003-09-22  Darin Adler  <darin@apple.com>
21083
21084        Reviewed by Dave.
21085
21086        - worked around 3429631 -- window stops getting mouse moved events after first tooltip appears
21087
21088        * WebView.subproj/WebHTMLViewPrivate.m: (-[NSToolTipPanel setAcceptsMouseMovedEvents:]):
21089        Do nothing, preventing the real setAcceptsMouseMovedEvents: (in class NSWindow) from being called.
21090
210912003-09-22  Darin Adler  <darin@apple.com>
21092
21093        Reviewed by Dave.
21094
21095        - fixed 3431033 -- crash in -[NSToolTipManager _shouldInstallToolTip:]
21096
21097        * WebView.subproj/WebHTMLViewPrivate.m:
21098        (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
21099        Override this alternate version of addTrackingRect. If I don't do this, we might
21100        create a real tracking rect, which we would then never remove.
21101        (-[WebHTMLView removeTrackingRect:]): Added assertions.
21102
211032003-09-22  Darin Adler  <darin@apple.com>
21104
21105        * WebKit.pbproj/project.pbxproj: Rename Mixed build style to OptimizedWithSymbols.
21106
211072003-09-21  Darin Adler  <darin@apple.com>
21108
21109        * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView removeTrackingRect:]): Remove bogus assert.
21110
211112003-09-21  Darin Adler  <darin@apple.com>
21112
21113        Reviewed by Dave.
21114
21115        - fixed 3106411 -- show title attribute for page elements in tooltip on mouseover (important for PeopleSoft)
21116
21117        * WebView.subproj/WebHTMLViewPrivate.h: Added fields needed for tool tip implementation.
21118        * WebView.subproj/WebHTMLViewPrivate.m:
21119        (-[WebHTMLViewPrivate dealloc]): Release the tool tip string.
21120        (-[WebHTMLView addTrackingRect:owner:userData:assumeInside:]): Override the default NSView
21121        tracking rectangle implementation so we can trick the tool tip manager into trusting us about
21122        when you leave and enter the rectangle for each element.
21123        (-[WebHTMLView removeTrackingRect:]): The other half of the above stuff.
21124        (-[WebHTMLView _sendToolTipMouseExited]): Added. Makes an event just good enough to fool the tool tip
21125        manager, and send it on.
21126        (-[WebHTMLView _sendToolTipMouseEntered]): Ditto.
21127        (-[WebHTMLView _setToolTip:]): Added. Manages the new and old tool tips in a way that fools the tool
21128        tip manager into working even though we don't know the rectangles of the tool tips beforehand. The
21129        advantage of using AppKit tool tips is that they have all sorts of nice little features, like wrapping
21130        to a nice rectangular shape and fading out when you move away.
21131        (-[WebHTMLView view:stringForToolTip:point:userData:]): This is how the tool tip manager gets the actual
21132        tool tip text.
21133        (-[WebHTMLView _updateMouseoverWithEvent:]): Call _setToolTip method, using the value passed along with the
21134        WebCoreElementTitleKey in the dictionary.
21135
21136        - unrelated code cleanup
21137
21138        * WebView.subproj/WebFramePrivate.h: Don't define WebCorePageCacheStateKey here; instead use
21139        a definition exported from WebCore.
21140        * WebView.subproj/WebFramePrivate.m: Ditto.
21141        * English.lproj/StringsNotToBeLocalized.txt: Update for above changes.
21142
211432003-09-19  Maciej Stachowiak  <mjs@apple.com>
21144
21145        Reviewed by Darin.
21146
21147        Roll out old fix for 3410980.
21148
21149        * WebCoreSupport.subproj/WebBridge.m:
21150        (-[WebBridge goBackOrForward:]):
21151
211522003-09-19  Darin Adler  <darin@apple.com>
21153
21154        Reviewed by Dave.
21155
21156        - do the prep work for the mini controls feature; Dave will finish this
21157
21158        * WebCoreSupport.subproj/WebFileButton.m:
21159        (-[WebFileButton isFlipped]): Make this flipped, easier to understand coordinates that way.
21160        (-[WebFileButton drawRect:]): Update for flipped-ness.
21161        (-[WebFileButton visualFrame]): Update for flipped-ness.
21162        (-[WebFileButton setVisualFrame:]): Update for flipped-ness.
21163        (-[WebFileButton baseline]): Update for flipped-ness.
21164
211652003-09-19  Maciej Stachowiak  <mjs@apple.com>
21166
21167        Reviewed by Darin.
21168
21169        - fixed 3410980 - FileMaker: going forward with an empty forward list makes a frame come out blank sometimes
21170
21171        * WebCoreSupport.subproj/WebBridge.m:
21172        (-[WebBridge backOrForwardItemWithDistance:]): Factored out from goBackOrForward.
21173        (-[WebBridge canGoBackOrForward:]): Use the new method.
21174        (-[WebBridge goBackOrForward:]): Likewise.
21175
211762003-09-17  John Sullivan  <sullivan@apple.com>
21177
21178        - WebKit part of fix for 3157018 -- Would like option to
21179        not print backgrounds
21180        Reviewed by Darin
21181
21182        * WebView.subproj/WebPreferences.h:
21183        new accessor methods for new shouldPrintBackgrounds preference
21184        * WebView.subproj/WebPreferences.m:
21185        (+[WebPreferences initialize]):
21186        set initial value for WebKitShouldPrintBackgroundsPreferenceKey
21187        to NO
21188        (-[WebPreferences shouldPrintBackgrounds]):
21189        new method, read NSUserDefaults value
21190        (-[WebPreferences setShouldPrintBackgrounds:]):
21191        new method, write NSUserDefault value
21192
21193        * WebView.subproj/WebViewPrivate.m:
21194        (-[WebView _updateWebCoreSettingsFromPreferences:]):
21195        tell WebCore about value of shouldPrintBackgrounds
21196
21197        * English.lproj/StringsNotToBeLocalized.txt:
21198        Updated for these and other recent changes
21199
212002003-09-17  Darin Adler  <darin@apple.com>
21201
21202        Reviewed by Maciej.
21203
21204        * Plugins.subproj/WebBasePluginPackage.m:
21205        (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Pass the
21206        "no UI" flag, so we don't prompt the user when we're trying to load plug-ins.
21207        Also use OSStatus rather than OSErr so we don't miss error codes that just
21208        happen to have zeroes in the low 16 bits.
21209
212102003-09-17  Darin Adler  <darin@apple.com>
21211
21212        Reviewed by John.
21213
21214        * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton setFilename:]):
21215        Don't call -[NSWorkspace iconForFile:] on a path that does not start with a '/'.
21216        This can happen if JavaScript or the web page sets the path explicitly, and
21217        adding this check avoids an unpleasant warning on the console.
21218
21219=== WebKit-106 ===
21220
212212003-09-16  Richard Williamson   <rjw@apple.com>
21222
21223        Backed out fix to 3412062 to resolve 3424197.
21224
21225        Many sites use a technique of posting forms the same URL to generate content server side.  The fix to 3412062 broke those sites.
21226
21227        Reviewed by Darin.
21228
21229        * WebView.subproj/WebFramePrivate.m:
21230        (-[WebFrame _transitionToCommitted:]):
21231
21232=== WebKit-105 ===
21233
21234=== WebKit-104 ===
21235
212362003-09-12  Richard Williamson   <rjw@apple.com>
21237
21238        Fixed 3420097.  If redirects are cancelled during a pending load don't reset the quickRedirect flag.
21239
21240        Reviewed by Darin.
21241
21242        * WebCoreSupport.subproj/WebBridge.m:
21243        (-[WebBridge reportClientRedirectCancelled:]):
21244        * WebView.subproj/WebFramePrivate.h:
21245        * WebView.subproj/WebFramePrivate.m:
21246        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
21247        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
21248        (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
21249        (-[WebFrame _clientRedirectCancelled:]):
21250
21251=== WebKit-103 ===
21252
212532003-09-12  Richard Williamson   <rjw@apple.com>
21254
21255        Fixed 3412062.  Don't allow pages with the same URL as the current URL to enter b/f or history.
21256
21257        Reviewed by Maciej.
21258
21259        * WebView.subproj/WebFramePrivate.m:
21260        (-[WebFrame _transitionToCommitted:]):
21261
212622003-09-11  Maciej Stachowiak  <mjs@apple.com>
21263
21264        Reviewed by Darin.
21265
21266        - fixed 3413463 - QuickTime plug-in content doesn't load in Safari (NPP_Write not called)
21267        * Plugins.subproj/npapi.h: Fix erroneous function pointer
21268        declarations that led to an int16/int32 mismatch.
21269
212702003-09-12  Chris Blumenberg  <cblu@apple.com>
21271
21272        Fixed: <rdar://problem/3420112>: Reproducible Safari crash in in -[WebBaseNetscapePluginView sendEvent:]
21273
21274        Reviewed by darin.
21275
21276        * Plugins.subproj/WebBaseNetscapePluginView.m:
21277        (-[WebBaseNetscapePluginView sendEvent:]): temporarily retain self in case the plug-in view is released while sending an event. 
21278        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:targetFrame:]): don't deliver the return value of the JS evaluation if stringByEvaluatingJavaScriptFromString caused the plug-in to stop.
21279
21280=== WebKit-102 ===
21281
212822003-09-11  Maciej Stachowiak  <mjs@apple.com>
21283
21284        Reviewed by Ken.
21285
21286        - fixed 3417486 - after logging off from secure Etrade website, going back returns you to secure page
21287
21288        * WebView.subproj/WebFramePrivate.m:
21289        (-[WebFrame _loadItem:withLoadType:]): Don't request stale data
21290        for https pages, as this could be a security risk.
21291
212922003-09-11  Richard Williamson   <rjw@apple.com>
21293
21294        Fixed 3406671.  Added a private method for Mail to get selection
21295        rect.
21296
21297        Reviewed by Darin Adler.
21298
21299        * WebView.subproj/WebHTMLView.m:
21300        (-[WebHTMLView updateTextBackgroundColor]):
21301        * WebView.subproj/WebHTMLViewPrivate.h:
21302        * WebView.subproj/WebHTMLViewPrivate.m:
21303        (-[WebHTMLView _handleMouseDragged:]):
21304        (-[WebHTMLView _pluginController]):
21305        (-[WebHTMLView _selectionRect]):
21306
213072003-09-10  Richard Williamson   <rjw@apple.com>
21308
21309        Fixed 3231031.  Use the normal methodology for displaying each frame of a GIF.  That is,
21310        just call setNeedsDisplayInRect, rather than drawing directly.  Drawing directly violates
21311        layering/clipping.
21312
21313        Reviewed by Dave Hyatt.
21314
21315        * WebCoreSupport.subproj/WebImageRenderer.m:
21316        (-[WebImageRenderer nextFrame:]):
21317
21318=== Safari-100 ===
21319
213202003-09-09  Richard Williamson   <rjw@apple.com>
21321
21322        Fixed 3414988.  Don't store absolute path to home directory.
21323        Reviewed by Chris Blumenberg.
21324
21325        Fixed 3414319.  Send correct WebView back as parameter to webViewShow:
21326        Review by Darin.
21327
21328        Fixed 3095029.  Draw a frame's border in WebFrameView, instead of WebHTMLView, and correctly inset the frame's scrollview to account for the border.  Mostly written by Darin.
21329        Reviewed by Darin (and Richard).
21330
21331        * Misc.subproj/WebIconDatabase.m:
21332        (-[WebIconDatabase _createFileDatabase]):
21333        Store @"~/Library/Icon" instead of absolute path, and always try to tilde expand stored path.
21334
21335        * WebCoreSupport.subproj/WebBridge.m:
21336        (-[WebBridge setHasBorder:]):
21337        * WebView.subproj/WebFrameView.m:
21338        (-[WebFrameView drawRect:]):
21339        (-[WebFrameView setFrameSize:]):
21340        * WebView.subproj/WebFrameViewPrivate.h:
21341        * WebView.subproj/WebFrameViewPrivate.m:
21342        (-[WebFrameView _isMainFrame]):
21343        (-[WebFrameView _tile]):
21344        (-[WebFrameView _drawBorder]):
21345        (-[WebFrameView _shouldDrawBorder]):
21346        (-[WebFrameView _setHasBorder:]):
21347        * WebView.subproj/WebHTMLView.m:
21348        (-[WebHTMLView drawRect:]):
21349        Changes to correct draw border in WebFrameView instead of WebHTMLView.
21350
21351        * WebView.subproj/WebViewPrivate.m:
21352        (-[WebView _openNewWindowWithRequest:]):
21353        Send correct parameter (returned from webView:createWebViewWithRequest:), rather than self, to webViewShow:.
21354
213552003-09-09  Chris Blumenberg  <cblu@apple.com>
21356
21357        Fixed: <rdar://problem/3412380>: REGRESSION (85-98): www.minoltan.com is decoded incorrectly on Japanese system
21358
21359        The default encoding that Safari uses is latin1 regardless of the current system encoding. This is how it's always been. The problem is that the UI is displaying shift JIS for the default text encoding instead of latin1. This is happening because WebKit 
21360
21361
21362is using "latin1" instead of "ISO-8859-1" for the default text encoding name. "ISO-8859-1" is the IANA character set name for latin1 and this is what the  WebKitDefaultTextEncodingNamePreferenceKey preference expects. This ends up confusing Safari, so Saf
21363
21364
21365ari just ends up displaying the first item in the pop-up menu which is shift JIS.
21366
21367        Reviewed by rjw.
21368
21369        * WebView.subproj/WebPreferences.m:
21370        (+[WebPreferences initialize]): The WebKitDefaultTextEncodingNamePreferenceKey should be "ISO-8859-1" not "latin1" since "ISO-8859-1" is the IANA character set name for latin1.
21371
21372=== Safari-99 ===
21373
213742003-09-08  Darin Adler  <darin@apple.com>
21375
21376        Reviewed by Chris.
21377
21378        - fixed 3412726 -- some HTML messages in Mail lose a line at page breaks when printed (multipart/alternative)
21379
21380        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
21381        Go into printing mode when asked to adjust page height, if not already in it.
21382        We already have code in drawRect that does this when actually printing, but it's
21383        also important to lay out the same way when deciding where to break pages, otherwise
21384        the difference between printer and screen fonts can lead to page breaks that split a line
21385        of text across two pages, and that can lead to missing lines of text as well.
21386
213872003-09-07  Darin Adler  <darin@apple.com>
21388
21389        Reviewed by Maciej.
21390
21391        - fixed 3410939 -- disabling Geneva and Helvetica (by removing them, or by using Font Book) makes Safari crash
21392
21393        * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fallbackFontWithTraits:size:]):
21394        Fall back on Lucida Grande (plain, not bothering with traits) if Helvetica is not present.
21395
21396        * English.lproj/StringsNotToBeLocalized.txt: Update for this and other recent changes.
21397
213982003-09-07  Darin Adler  <darin@apple.com>
21399
21400        Reviewed by Ken.
21401
21402        - fixed 3406660 -- screen fonts are not being used for substitute fonts (Japanese text, Roman font)
21403
21404        * WebCoreSupport.subproj/WebTextRenderer.m:
21405        (-[WebTextRenderer substituteFontForString:families:]): Get a printer or screen font,
21406        based on the renderer's mode. The old code didn't do anything explicit.
21407        (-[WebTextRenderer _setupFont]): Remove ignored parameter for clarity.
21408        (-[WebTextRenderer initWithFont:usingPrinterFont:]): Fixed code paths that would not
21409        explicitly get a printer or screen font, and code paths that would get data from the
21410        original "before mapping to printer or screen font" NSFont object.
21411
21412=== Safari-98 ===
21413
214142003-09-05  Ken Kocienda  <kocienda@apple.com>
21415
21416        Reviewed by Darin
21417
21418        Incorporate releaseGState fix that Darin developed for 
21419        textareas and list boxes in WebCore. It turns out that 
21420        we this workaround in WebClipView as well to get proper 
21421        drawing of subframes.
21422
21423        In addition, removed some tests that which performed 
21424        runtime checks for code in AppKit. AppKit will have
21425        the checked-for code in all versions that will be used
21426        with the version of WebKit.
21427
21428        * WebView.subproj/WebClipView.m:
21429        (-[WebClipView initWithFrame:])
21430        (-[WebClipView resetAdditionalClip])
21431        (-[WebClipView setAdditionalClip:])
21432
214332003-09-04  John Sullivan  <sullivan@apple.com>
21434
21435        - fixed 3409011 -- the graphics views palette does not open
21436
21437        Reviewed by Maciej
21438
21439        * WebView.subproj/WebPreferences.m:
21440        (+[WebPreferences _removeReferenceForIdentifier:]):
21441        special-case nil, which is a magic initial identifier already
21442        special-cased in the other mutator
21443
214442003-09-05  Maciej Stachowiak  <mjs@apple.com>
21445
21446        Reviewed by Darin.
21447
21448        - fixed 3406140 - REGRESSION (7B52-7B55): time spent in NSFont makes Safari 50% slower in Five Apps test
21449        * WebCoreSupport.subproj/WebTextRendererFactory.m:
21450        (-[WebTextRendererFactory fontWithFamily:traits:size:]): Make font
21451        using the font name we found, not the one we were looking
21452        for. Since the compare is case-insensitive, it makes a
21453        difference. Also, don't make the font twice.
21454
214552003-09-04  Chris Blumenberg  <cblu@apple.com>
21456
21457        Fixed: <rdar://problem/3316704>: Shockwave: getnetText steam is not functioning correctly
21458
21459        Reviewed by mjs.
21460
21461        * Plugins.subproj/WebBaseNetscapePluginStream.m:
21462        (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): if the content length is unknown, use 0 instead of -1
21463
214642003-09-04  Chris Blumenberg  <cblu@apple.com>
21465
21466        Fixed: <rdar://problem/3286922>: Shockwave: Using HTTP to stream .mp3 or .swa files fails at ~50%
21467
21468        Reviewed by mjs.
21469
21470        * Plugins.subproj/WebBaseNetscapePluginStream.h: new deliveryData and reason ivars
21471        * Plugins.subproj/WebBaseNetscapePluginStream.m:
21472        (-[WebBaseNetscapePluginStream dealloc]): release deliveryData ivar
21473        (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): set new reason ivar
21474        (-[WebBaseNetscapePluginStream destroyStream]): new, calls NPP_StreamAsFile, NPP_DestroyStream and NPP_URLNotify
21475        (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): set the reason, call destroyStream
21476        (-[WebBaseNetscapePluginStream receivedError:]): set deliveryData length to 0 so no more data is streamed, call destroyStreamWithReason
21477        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): don't call NPP_StreamAsFile because this has to be called right before NPP_DestroyStream in destroyStream
21478        (-[WebBaseNetscapePluginStream deliverData]): new, call NPP_WriteReady and NPP_Write and properly obey their returned values
21479        (-[WebBaseNetscapePluginStream receivedData:]): call deliverData
21480        * Plugins.subproj/WebNetscapePluginStream.m:
21481        (-[WebNetscapePluginStream stop]): call receivedError here
21482        (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): don't call receivedError here because after the load is complete, stream is set to nil and receivedError can be called after the completed load
21483
214842003-09-04  Chris Blumenberg  <cblu@apple.com>
21485
21486        * Plugins.subproj/WebBaseNetscapePluginView.m:
21487        (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): Fixed typo in newly added comment.
21488
214892003-09-04  Chris Blumenberg  <cblu@apple.com>
21490
21491        Fixed: <rdar://problem/3407328>: request headers at the start of the file passed to NPN_PostURL don't work for Acrobat plug-in?
21492
21493        Reviewed by john.
21494
21495        * Plugins.subproj/WebBaseNetscapePluginView.m:
21496        (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): As documented, allow headers to be specified via NPP_PostURL when using a file.
21497
21498=== Safari-97 ===
21499
215002003-09-03  John Sullivan  <sullivan@apple.com>
21501
21502        - fixed 3406411 -- infoseek.co.jp: many console errors about 
21503        attempting to set non-screen font (HiraMinPro-W3)
21504
21505        Reviewed by Ken
21506
21507        * WebCoreSupport.subproj/WebTextRenderer.m:
21508        (_drawGlyphs):
21509        use ERROR instead of NSLog for the printing-font-used-on-screen
21510        case, so it doesn't flood the world's console logs. We need to
21511        investigate why this is happening also, but that can probably
21512        be post-Panther.
21513
215142003-09-01  John Sullivan  <sullivan@apple.com>
21515
21516        - WebKit part of fix for 3402489 -- REGRESSION (7B48-7B55): Some         printed web pages are too small (width is half a page)
21517
21518        This was a regression caused by the fix for 3378810.
21519
21520        Reviewed by Maciej
21521
21522        * WebView.subproj/WebHTMLView.m:
21523        (-[WebHTMLView layoutToPageWidth:adjustingViewSize:]):
21524        now takes adjustViewSize flag, and passes it down to
21525        one of bridge's forceLayout calls.
21526        (-[WebHTMLView layout]):
21527        pass NO for adjustViewSize flag in this case
21528        (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
21529        pass adjustViewSize flag down to layoutToPageWidth instead
21530        of using it directly here; this is the wrong level to use
21531        it directly since the bridge is no longer set up for
21532        printing after the layoutToPageWidth call completes.
21533
215342003-08-30  Maciej Stachowiak  <mjs@apple.com>
21535
21536        Reviewed by John.
21537
21538        - fixed 3401709 - [WebView searchFor:] with wrap:NO hangs if the search fails
21539        * WebView.subproj/WebView.m:
21540        (-[WebView searchFor:direction:caseSensitive:wrap:]): Fix for
21541        wrap:NO case as suggested by Darin.
21542
21543=== Safari-96 ===
21544
215452003-08-29  Richard Williamson   <rjw@apple.com>
21546
21547        Fixed 3401334.  Use IB document key when checking for reference removal on instances of WebPreferences.
21548
21549        Also removed _userDefaultsKeysForIB, no longer needed by IB.
21550
21551        Reviewed by John.
21552
21553        * WebView.subproj/WebPreferences.m:
21554        (+[WebPreferences _removeReferenceForIdentifier:]):
21555        (-[WebPreferences _postPreferencesChangesNotification]):
21556        * WebView.subproj/WebPreferencesPrivate.h:
21557
215582003-08-29  Richard Williamson   <rjw@apple.com>
21559
21560        Fixed 3400807.  Don't release state associated with the current b/f item.  We shouldn't normally have page cache state associated with the current item (3401376).  This fix guarantees that we won't prematurely release the page cache state for the current
21561
21562
21563 item.
21564
21565        Reviewed byJohn Sullivan.
21566
21567        * History.subproj/WebBackForwardList.m:
21568        (-[WebBackForwardList _clearPageCache]):
21569
215702003-08-28  Richard Williamson   <rjw@apple.com>
21571
21572        Fixed 3399736.  Fixed several problems with WebView/WebPreferences
21573        interaction.
21574
21575        Reviewed by Eric Seymour.
21576
21577        * Misc.subproj/WebKitLogging.h:
21578        * Misc.subproj/WebKitLogging.m:
21579        Added debug logging.
21580
21581        * WebCoreSupport.subproj/WebTextRenderer.m:
21582        (_drawGlyphs): Checkin for 3398229 below.
21583
21584        * WebView.subproj/WebPreferences.m:
21585        (-[WebPreferences initWithIdentifier:]):
21586        (-[WebPreferences initWithCoder:]):
21587        (-[WebPreferences encodeWithCoder:]):
21588        (+[WebPreferences standardPreferences]):
21589        (+[WebPreferences _getInstanceForIdentifier:]):
21590        (+[WebPreferences _setInstance:forIdentifier:]):
21591        (+[WebPreferences _concatenateKeyWithIBCreatorID:]):
21592        * WebView.subproj/WebView.m:
21593        (-[WebView _commonInitializationWithFrameName:groupName:]):
21594        (-[WebView initWithCoder:]):
21595        (-[WebView encodeWithCoder:]):
21596
215972003-08-27  Richard Williamson   <rjw@apple.com>
21598
21599        Fixed 3398229.  When we request a font from NSFont by name we should use a case specific name.  We do case insensitve comparsion, but once a match is found we should use the actual font name, not the requested name.  Two layout tests are still failing, b
21600
21601
21602ut I don't think the failures are font related.
21603
21604        Reviewed by Hyatt.
21605
21606        * WebCoreSupport.subproj/WebTextRendererFactory.m:
21607        (-[WebTextRendererFactory fontWithFamily:traits:size:]):
21608
21609=== Safari-95 ===
21610
216112003-08-27  Richard Williamson   <rjw@apple.com>
21612
21613        Fixed 3397235.  WebView wasn't archiving useBackForwardList.
21614
21615        Reviewed by Eric Seymour.
21616
21617        * WebView.subproj/WebView.m:
21618        (-[WebView initWithCoder:]):
21619        (-[WebView encodeWithCoder:]):
21620
216212003-08-26  Richard Williamson   <rjw@apple.com>
21622
21623        Fixed 3385478.  Look for an exact match for font names (using PS names)        before matching on family names.
21624
21625        Also added logging to help debug now resolved binding problem.
21626
21627        Reviewed by Maciej.
21628
21629        * Misc.subproj/WebKitLogging.h:
21630        * Misc.subproj/WebKitLogging.m:
21631        * WebCoreSupport.subproj/WebTextRendererFactory.m:
21632        (-[WebTextRendererFactory fontWithFamily:traits:size:]):
21633        * WebView.subproj/WebView.m:
21634        (-[WebView addObserver:forKeyPath:options:context:]):
21635        (-[WebView removeObserver:forKeyPath:]):
21636
216372003-08-26  Darin Adler  <darin@apple.com>
21638
21639        Reviewed by Maciej.
21640
21641        - fixed 3310943 -- REGRESSION (Panther): textareas in forms sometimes draw blank (bugreporter)
21642
21643        There are two fixes here. The more elegant and slightly faster one that requires a new AppKit,
21644        and the less elegant one that works without AppKit support. By including both we don't have to
21645        worry about timing of submission of WebKit vs. AppKit but we get the good, elegant fix. Later,
21646        we can delete the less elegant fix.
21647
21648        * WebView.subproj/WebClipView.m:
21649        (+[WebClipView initialize]): Set up a boolean global so we only hav to do the "does AppKit support
21650        _focusRingVisibleRect" check one time.
21651        (-[WebClipView resetAdditionalClip]): Only do the renewGState thing if we don't have the
21652        _focusRingVisibleRect method, but if we do the renewGState thing, do it to self and all descendants
21653        using _web_renewGStateDeep.
21654        (-[WebClipView setAdditionalClip:]): Ditto.
21655        (-[WebClipView visibleRect]): Only limit this based on the additional clip if we don't have the
21656        _focusRingVisibleRect method.
21657        (-[WebClipView _focusRingVisibleRect]): Override the new method. Harmless if it's an old AppKit
21658        that doesn't have the method yet.
21659        (-[NSView _web_renewGStateDeep]): Implemented this helper method. We can get rid of it once we
21660        are entirely on the new AppKit.
21661
216622003-08-26  Darin Adler  <darin@apple.com>
21663
21664        Reviewed by Maciej.
21665
21666        - fixed 3321247 -- window size box disappears from Help window (caused by WebKit NSView hackery)
21667
21668        * WebView.subproj/WebHTMLViewPrivate.m:
21669        (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]),
21670        (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
21671        Don't propagate dirty rects at all. This was causing problems because now the AppKit uses
21672        dirty regions, not dirty rects. In AppKit-722 and newer, _setDrawsDescendants: takes care of this
21673        for us so we don't have to do anything at all.
21674
216752003-08-26  Darin Adler  <darin@apple.com>
21676
21677        Reviewed by John.
21678
21679        - fixed 3392650 -- REGRESSION?: assertion fails trying Apple-hosted page load test while not on Apple network
21680
21681        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]):
21682        Stop loading the provisional data source before blowing it away, in case
21683        there are some callbacks that haven't occurred yet. It's a waste of time to
21684        try to handle those additional callbacks, and can lead to failed assertions
21685        since the data source won't be hooked up to any frame any more.
21686
216872003-08-25  Richard Williamson   <rjw@apple.com>
21688
21689        Fix for 3391609.  Our rounding hack wasn't correctly reflected in the selection point
21690        code.  Piggy-backed on this fix are fixes for selection of letter-spacing, word-spacing
21691        and justified text.
21692
21693        Reviewed by Hyatt.
21694
21695        * WebCoreSupport.subproj/WebTextRenderer.m:
21696        (initializeCharacterWidthIterator):
21697        (widthAndGlyphForSurrogate):
21698        (widthForNextCharacter):
21699        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
21700
217012003-08-25  John Sullivan  <sullivan@apple.com>
21702
21703        - fixed 3391264 -- REGRESSION (Panther): Back/Forward buttons not
21704         updating immediately after page load
21705
21706        The buttons are updated in response to window update notifications.
21707        Jaguar was sending so many extra bogus notifications that it
21708        masked the fact that we weren't ensuring that these notifications
21709        were sent at all in the case of non-event-based interesting
21710        changes that might affect menu items/toolbar items/etc.
21711
21712        Reviewed by Richard
21713
21714        * WebView.subproj/WebViewPrivate.m:
21715        (-[WebView _didStartProvisionalLoadForFrame:]):
21716        call -[NSApp setWindowsNeedUpdate:YES] so window update notices
21717        will be sent
21718        (-[WebView _didCommitLoadForFrame:]):
21719        ditto
21720        (-[WebView _didFinishLoadForFrame:]):
21721        ditto
21722        (-[WebView _didFailLoadWithError:forFrame:]):
21723        ditto
21724        (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
21725        ditto
21726
217272003-08-24  Darin Adler  <darin@apple.com>
21728
21729        Reviewed by John.
21730
21731        - fixed 3382179 -- REGRESSION: many images scroll down while loading (e.g., homepage.mac.com slide show)
21732
21733        * WebCoreSupport.subproj/WebImageRenderer.m:
21734        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): While loading, always draw one less line than
21735        the number NSImage says we have, since that last line is a partial line and draws unwanted white. This
21736        is not what the bug report complains about, but is a longstanding and very minor issue. Remove the code
21737        that adjust the Y origin. This is what the bug report is about. That adjustment is incorrect and was
21738        unknowingly compensating for some kind of NSImage bug that is now fixed.
21739        (-[WebImageRenderer tileInRect:fromPoint:]): Added an assertion that the WebImageRenderer is flipped.
21740        The code does assume that it's flipped.
21741
217422003-08-22  John Sullivan  <sullivan@apple.com>
21743        - fixed 3385837 -- REGRESSION: can't paste link from Safari into 
21744        Keynote (paste at top level, not into text)
21745
21746        Reviewed by Darin
21747
21748        The problem was that we were using a single list of pasteboard
21749        types for both "types we can read" and "types we can write", but
21750        NSFilenamesPBoardType wasn't being written to, creating a bad
21751        pasteboard. The fix is to split this list in two. We could do
21752        this a little more elegantly if we weren't paranoid about 
21753        last-minute SPI changes breaking compatibility with Sherlock or
21754        some other internal client.
21755
21756        * Misc.subproj/WebNSPasteboardExtras.h:
21757        add new _web_writableDragTypesForURL, commented various methods
21758        better.
21759
21760        * Misc.subproj/WebNSPasteboardExtras.m:
21761        (+[NSPasteboard _web_writableDragTypesForURL]):
21762        implement _web_writableDragTypesForURL; it's just like
21763        _web_dragTypesForURL but without the NSFilenamesPBoardType
21764        (-[NSPasteboard _web_writeURL:andTitle:withOwner:]):
21765        use _web_writableDragTypesForURL
21766
21767        * Misc.subproj/WebNSViewExtras.m:
21768        (-[NSView _web_dragPromisedImage:rect:URL:title:event:]):
21769        use _web_writableDragTypesForURL
21770
217712003-08-22  Darin Adler  <darin@apple.com>
21772
21773        Reviewed by Dave.
21774
21775        - fixed 3386051 -- REGRESSION: text "too dark" after the page is deactivated and reactivated (bugweb)
21776
21777        Cached clips were causing us to draw nothing for the top frames of framesets, resulting in darkened
21778        text because we draw anti-aliased text twice without drawing a background.
21779
21780        * WebView.subproj/WebClipView.m:
21781        (-[WebClipView resetAdditionalClip]): Invalidate cached graphics state when changing the visible rect.
21782        (-[WebClipView setAdditionalClip:]): Ditto.
21783
217842003-08-21  Darin Adler  <darin@apple.com>
21785
21786        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
21787        Tweak to printing fix: Be sure to call adjustViewSize after applying styles and doing layout.
21788
217892003-08-21  Richard Williamson   <rjw@apple.com>
21790
21791        Fixed 3378810.  Avoid resizing frame from drawRect: when printing.  This will corrupt the graphics context.
21792
21793        Reviewed by Hyatt.
21794
21795        * WebView.subproj/WebHTMLView.m:
21796        (-[WebHTMLView layoutToPageWidth:]):
21797        (-[WebHTMLView drawRect:]):
21798        (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
21799        (-[WebHTMLView beginDocument]):
21800        (-[WebHTMLView endDocument]):
21801
21802=== Safari-94 ===
21803
218042003-08-21  John Sullivan  <sullivan@apple.com>
21805
21806        - fixed 3387950 -- REGRESSION (85-89): Standalone image in Safari prints much 
21807        smaller than in Jaguar
21808
21809        Reviewed by Chris.
21810
21811        * WebView.subproj/WebImageView.m:
21812        (-[WebImageView adjustFrameSize]):
21813        renamed from setFrameSizeUsingImage; now sets the frame size to exactly
21814        the image size (as it did in Jaguar always) when we're not drawing to
21815        the screen.
21816        (-[WebImageView setFrameSize:]):
21817        updated for name change
21818        (-[WebImageView layout]):
21819        ditto
21820        (-[WebImageView beginDocument]):
21821        adjust frame size (before printing)
21822        (-[WebImageView endDocument]):
21823        adjust frame size (after printing)
21824
218252003-08-19  Richard Williamson   <rjw@apple.com>
21826
21827        Fixed 3383623 (and 3384896).  Remove our unbeknownst work-around for an NSImage bug that incorrectly flipped y coordinate when drawing a partial rect within the image.  This has been fixed in Panther, making our work-around no longer necessary.
21828
21829        Reviewed by Darin.
21830
21831        * WebCoreSupport.subproj/WebImageRenderer.m:
21832        (-[WebImageRenderer tileInRect:fromPoint:]):
21833        * WebKit.pbproj/project.pbxproj:
21834
218352003-08-18  Richard Williamson  <rjw@apple.com>
21836
21837        Fixed 3140065.  Bidi neutrals in RTL runs are now handled correctly.  Still have
21838        problem with bidi neutrals at directional boundaries 3382926.
21839
21840        Reviewed by Maciej.
21841
21842        * Misc.subproj/WebUnicode.h:
21843        * Misc.subproj/WebUnicode.m:
21844        (shapedString):
21845        * WebCoreSupport.subproj/WebTextRenderer.m:
21846        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
21847
218482003-08-18  Darin Adler  <darin@apple.com>
21849
21850        Reviewed by Maciej.
21851
21852        - fixed 3299893 -- oncontextmenu support
21853
21854        * WebView.subproj/WebHTMLView.m:
21855        (-[WebHTMLView menuForEvent:]): Call sendContextMenuEvent: on the bridge, and
21856        don't show a menu if the event is handled over in WebCore.
21857        (-[WebHTMLView mouseDown:]): Don't send a mouse down event in the case where we
21858        already sent a context menu event and decided not to put up a real context menu.
21859
218602003-08-18  Richard Williamson  <rjw@apple.com>
21861
21862        Fix build problem from last checkin.
21863
21864        Reviewed by Darin.
21865
21866        * WebCoreSupport.subproj/WebImageRenderer.m:
21867        (-[WebImageRenderer initWithData:MIMEType:]):
21868        (-[WebImageRenderer initWithContentsOfFile:]):
21869
218702003-08-17  Darin Adler  <darin@apple.com>
21871
21872        Reviewed by Maciej.
21873
21874        - fixed 3376522 -- REGRESSION: uncaught exception from bad .ico causes crash (login window at 34sp.com)
21875
21876        I added exception handling in all the places we load images with NSImage.
21877
21878        * Misc.subproj/WebIconDatabase.m:
21879        (-[WebIconDatabase _iconsForIconURLString:]): Add exception handler.
21880        * Misc.subproj/WebIconLoader.m:
21881        (-[WebIconLoader connectionDidFinishLoading:]): Add exception handler.
21882        * WebCoreSupport.subproj/WebImageRenderer.m:
21883        (-[WebImageRenderer initWithData:MIMEType:]): Add exception handler.
21884        (-[WebImageRenderer initWithContentsOfFile:]): Add exception handler.
21885        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Add exception handler.
21886
218872003-08-15  Richard Williamson  <rjw@apple.com>
21888
21889        Fixed 3378530.  Ensure that line is always drawn within bounds
21890        of element.
21891
21892        Reviewed by Chris.
21893
21894        * WebCoreSupport.subproj/WebTextRenderer.m:
21895        (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
21896
218972003-08-15  Richard Williamson  <rjw@apple.com>
21898
21899        Fixed 3379439.  Remove checks for CG symbols.  No longer needed.
21900
21901        Reviewed by Darin.
21902
21903        * WebCoreSupport.subproj/WebTextRendererFactory.m:
21904        (+[WebTextRendererFactory createSharedFactory]):
21905
21906=== Safari-93 ===
21907
219082003-08-14  Vicki Murley  <vicki@apple.com>
21909
21910        Reviewed by John. 
21911
21912        * WebKit.pbproj/project.pbxproj: deleted WebKit.order from the project.
21913
219142003-08-14  Vicki Murley  <vicki@apple.com>
21915
21916        Reviewed by John. 
21917
21918        * WebKit.order: Removed. We now point to the WebKit order file in /AppleInternal/OrderFiles.
21919        * WebKit.pbproj/project.pbxproj: set sectorder flag to point to /AppleInternal/OrderFiles/WebKit.order
21920
219212003-08-14  Darin Adler  <darin@apple.com>
21922
21923        Reviewed by Chris.
21924
21925        - fixed 3344259 -- flipped image when copying from Safari in 1000s of colors mode
21926
21927        The workaround is to turn off the NSImage cache. Andrew says this won't have any
21928        practical repercussions other than making the bug go away.
21929        
21930        Seems to have a side effect of speeding up the cvs-base page load test!
21931
21932        * WebCoreSupport.subproj/WebImageRenderer.m:
21933        (-[WebImageRenderer initWithMIMEType:]): Set mode to NSImageCacheNever.
21934        (-[WebImageRenderer initWithData:MIMEType:]): Ditto.
21935        (-[WebImageRenderer initWithContentsOfFile:]): Ditto.
21936        (-[WebImageRenderer _adjustSizeToPixelDimensions]): Don't set mode to NSImageCacheDefault.
21937
219382003-08-14  Ken Kocienda  <kocienda@apple.com>
21939
21940        Reviewed by Darin
21941
21942        Fix for this bug:
21943
21944        <rdar://problem/3375042>: Change usages of NSURL absoluteString in WebKit 
21945        to use improved variants
21946
21947        * History.subproj/WebHistoryItem.m:
21948        (-[WebHistoryItem initWithURL:title:]): Use data-as-string.
21949        (-[WebHistoryItem initWithURL:target:parent:title:]): Use data-as-string.
21950        (-[WebHistoryItem setURL:]): Use data-as-string.
21951        * History.subproj/WebHistoryPrivate.m:
21952        (-[WebHistoryPrivate addItem:]): Remove FIX_VISITED ifdef
21953        (-[WebHistoryPrivate removeItem:]): Ditto
21954        (-[WebHistoryPrivate containsURL:]): Ditto. Use data-as-string.
21955        (-[WebHistoryPrivate itemForURL:]): Ditto. Ditto.
21956        (-[WebHistoryPrivate loadFromURL:error:]): Fix log message to URL.
21957        (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]): Ditto.
21958        (-[WebHistoryPrivate saveToURL:error:]): Ditto.
21959        * History.subproj/WebURLsWithTitles.m:
21960        (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]): Use visible-string.
21961        * Misc.subproj/WebIconLoader.m:
21962        (-[WebIconLoader connectionDidFinishLoading:]): Use data-as-string.
21963        * Misc.subproj/WebKitErrors.m:
21964        (+[NSError _webKitErrorWithDomain:code:URL:]): Added new convenience that takes
21965        a URL instead of a URL string.
21966        (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
21967        Added new convenience that takes URLs instead of a URL stringis.
21968        * Misc.subproj/WebKitErrorsPrivate.h: Declared new conveniences.
21969        * Misc.subproj/WebNSPasteboardExtras.m:
21970        (-[NSPasteboard _web_writeURL:andTitle:withOwner:types:]): Use visible-string.
21971        * Misc.subproj/WebNSURLExtras.h:
21972        * Misc.subproj/WebNSURLExtras.m:
21973        (-[NSURL _web_originalDataAsString]): Added.
21974        (-[NSURL _webkit_isJavaScriptURL]): Use data-as-string.
21975        (-[NSURL _webkit_scriptIfJavaScriptURL]): Ditto
21976        (-[NSURL _webkit_isFTPDirectoryURL]): Ditto
21977        (-[NSURL _webkit_shouldLoadAsEmptyDocument]): Ditto. Also use _web_isEmpty.
21978        * Plugins.subproj/WebBaseNetscapePluginView.m:
21979        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use data-as-string.
21980        * Plugins.subproj/WebNetscapePluginDocumentView.m:
21981        (-[WebNetscapePluginDocumentView setDataSource:]): Use new error convenience.
21982        * Plugins.subproj/WebNetscapePluginStream.m:
21983        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Ditto.
21984        * WebCoreSupport.subproj/WebBridge.m:
21985        (-[WebBridge requestedURLString]): Use data-as-string.
21986        * WebCoreSupport.subproj/WebSubresourceClient.m:
21987        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Use new error convenience.
21988        * WebView.subproj/WebBaseResourceHandleDelegate.m:
21989        (-[WebBaseResourceHandleDelegate cancelledError]): Ditto.
21990        * WebView.subproj/WebDataProtocol.m:
21991        (-[WebDataProtocol startLoading]): Ditto.
21992        * WebView.subproj/WebDataSourcePrivate.m:
21993        (-[WebDataSource _stopLoadingInternal]): Ditto.
21994        (-[WebDataSource _updateIconDatabaseWithURL:]): Use data-as-string.
21995        (-[WebDataSource _loadIcon]): Ditto.
21996        * WebView.subproj/WebFramePrivate.m:
21997        (-[WebFrame _createItem:]): Use data-as-string.
21998        (-[WebFrame _transitionToCommitted:]): Fix log message to use URL.
21999        (-[WebFrame _purgePageCache]): Use _web_isEmpty
22000        (-[WebFrame _setState:]): Fix log message to use URL.
22001        (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): Use new error convenience.
22002        (-[WebFrame _loadItem:withLoadType:]): Fix log message to use URL.
22003        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
22004        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Fix log messages to use URL.
22005        (-[WebFrame _shouldTreatURLAsSameAsCurrent:]): Use data-as-string.
22006        * WebView.subproj/WebHTMLViewPrivate.m:
22007        (-[WebHTMLView _dragImageForLinkElement:]): Use visible-string.
22008        * WebView.subproj/WebMainResourceClient.m:
22009        (-[WebMainResourceClient interruptForPolicyChangeError]): Use new error convenience.
22010        * WebView.subproj/WebPreferences.m:
22011        (-[WebPreferences setUserStyleSheetLocation:]): Use data-as-string.
22012        * WebView.subproj/WebView.m:
22013        (-[WebView mainFrameURL]): Use data-as-string.
22014        (-[WebView mainFrameIcon]): Use data-as-string.
22015        * WebView.subproj/WebViewPrivate.m:
22016        (-[WebView _updateWebCoreSettingsFromPreferences:]): Use data-as-string.
22017
220182003-08-12  Maciej Stachowiak  <mjs@apple.com>
22019
22020        Reviewed by Ken.
22021
22022        - fixed 3365242 - non-repro abort in HTMLTokenizer at ajc.com
22023        * WebView.subproj/WebDataSourcePrivate.m:
22024        (-[WebDataSource _receivedData:]): ref the data source around
22025        processing the data and afterwards, to avoid crashing if a script
22026        in this chunk of data made the frame go away.
22027
220282003-08-13  Richard Williamson   <rjw@apple.com>
22029
22030        Fixed 3376077.  Override automaticallyNotifiesObserversForKey: to
22031        prevent unnecessary additional notifications from being sent.  Also
22032        added development-only logging (bulk of the change).
22033
22034        Reviewed by Chris.
22035
22036        * Misc.subproj/WebKitLogging.h:
22037        * Misc.subproj/WebKitLogging.m:
22038        * WebView.subproj/WebDataSourcePrivate.m:
22039        (-[WebDataSource _setTitle:]):
22040        (-[WebDataSource _updateIconDatabaseWithURL:]):
22041        * WebView.subproj/WebViewPrivate.h:
22042        * WebView.subproj/WebViewPrivate.m:
22043        (-[WebView _didChangeValueForKey:]):
22044        (-[WebView _willChangeValueForKey:]):
22045        (-[WebView _progressStarted]):
22046        (-[WebView _progressCompleted]):
22047        (-[WebView _incrementProgressForConnection:data:]):
22048        (+[WebView automaticallyNotifiesObserversForKey:]):
22049        (-[WebView _willChangeBackForwardKeys]):
22050        (-[WebView _didChangeBackForwardKeys]):
22051        (-[WebView _didStartProvisionalLoadForFrame:]):
22052        (-[WebView _didCommitLoadForFrame:]):
22053        (-[WebView _didFinishLoadForFrame:]):
22054        (-[WebView _didFailLoadWithError:forFrame:]):
22055        (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
22056
220572003-08-13  Chris Blumenberg  <cblu@apple.com>
22058
22059        Fixed: <rdar://problem/3347134>: After first successful POST in Flash, Safari does not repeat POST and gives cached reply
22060
22061        Reviewed by kocienda.
22062
22063        * Plugins.subproj/WebBaseNetscapePluginView.m:
22064        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): call [request setCachePolicy:NSURLRequestReloadIgnoringCacheData]
22065
220662003-08-13  Ken Kocienda  <kocienda@apple.com>
22067
22068        Reviewed by Darin
22069
22070        Fix for this bug:
22071
22072        <rdar://problem/3366441>: URL strings with UTF-8 characters 
22073        processed improperly for display by WebKit
22074
22075        * Misc.subproj/WebNSURLExtras.h:
22076        * Misc.subproj/WebNSURLExtras.m:
22077        (isHexDigit): Added
22078        (hexDigitValue): Added
22079        (-[NSURL _web_userVisibleString]): Added. Produces a string that
22080        is suitable for display to a user in the UI.
22081        (-[NSURL _web_isEmpty]): Convenience to check for an empty URL
22082        * WebCoreSupport.subproj/WebBridge.m:
22083        (-[WebBridge requestedURLString]): Now calls _web_userVisibleString
22084
220852003-08-13  Ken Kocienda  <kocienda@apple.com>
22086
22087        Reviewed by Darin
22088
22089        Fix for this bug:
22090
22091        <rdar://problem/3374458>: Choose UTF-8 for encoding when calling 
22092        CFURLCreateAbsoluteURLWithBytes in WebKit
22093
22094        Calling CFURLCreateAbsoluteURLWithBytes with ISO Latin 1 string
22095        encoding results in some issues when trying to decode a URL path in
22096        preparation for doing file I/O. Instead of doing a redecoding step
22097        whenever a path is needed to perform I/O, use UTF-8 as the encoding
22098        right from the start. This will mean that illegal UTF-8 sequences will
22099        be rejected by CFURLCreateAbsoluteURLWithBytes. However, we can work
22100        around this by falling back on ISO Latin1 in this case. The end result
22101        is that existing code throughout the URL loading system can remain
22102        unchanged and simply call the path method on NSURL as it does now and
22103        get the right result for its I/O requirements.
22104
22105        * Misc.subproj/WebNSURLExtras.m:
22106        (+[NSURL _web_URLWithData:relativeToURL:])
22107
221082003-08-13  Ken Kocienda  <kocienda@apple.com>
22109
22110        Reviewed by Darin
22111
22112        Fix for this bug:
22113
22114        <rdar://problem/3374487>: URLs with UTF-8 escape sequences can't be accessed         
22115        when typed in the Safari location bar
22116
22117        * Misc.subproj/WebNSPasteboardExtras.m:
22118        (-[NSPasteboard _web_bestURL]): Call _web_URLWithUserTypedString: to make a
22119        URL from this type of string.
22120        * Misc.subproj/WebNSURLExtras.h:
22121        * Misc.subproj/WebNSURLExtras.m:
22122        (hexDigit): Added.
22123        (+[NSURL _web_URLWithUserTypedString:]): Added. Creates a URL from a string
22124        that is typed in a user, for example, in the Safari location bar.
22125
221262003-08-12  John Sullivan  <sullivan@apple.com>
22127
22128        - fixed 3369505 -- leaks of NSCFTimer after running through the 
22129        cvs-base test suite
22130
22131        Reviewed by Richard
22132
22133        * WebView.subproj/WebFrame.m:
22134        (-[WebFrame stopLoading]):
22135        release timer before nil'ing it out
22136
221372003-08-12  Ed Voas  <voas@apple.com>
22138
22139        Reviewed by Richard.
22140
22141                Make sure to override the standard behavior for ordering windows to do nothing for Carbon stuff.
22142
22143        * Carbon.subproj/CarbonWindowAdapter.m:
22144        (-[CarbonWindowAdapter _reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:]):
22145
221462003-08-11  Chris Blumenberg  <cblu@apple.com>
22147
22148        Fixed: <rdar://problem/3163589>: Macromedia Flash 6 cannot take Asian text entry in Safari
22149
22150        Revidewed by darin.
22151
22152        * Plugins.subproj/WebBaseNetscapePluginView.m:
22153        (-[WebBaseNetscapePluginView installKeyEventHandler]): new
22154        (-[WebBaseNetscapePluginView removeKeyEventHandler]): new
22155        (-[WebBaseNetscapePluginView becomeFirstResponder]): call installKeyEventHandler
22156        (-[WebBaseNetscapePluginView resignFirstResponder]): call removeKeyEventHandler
22157        (-[WebBaseNetscapePluginView keyUp:]): call TSMProcessRawKeyEvent so key events go through the machinery and UI that plug-ins expect
22158        (-[WebBaseNetscapePluginView keyDown:]): call TSMProcessRawKeyEvent so key events go through the machinery and UI that plug-ins expect
22159        (TSMEventHandler): turn the TSM event into a series of EventRecords and pass them to the plug-in
22160        (-[WebBaseNetscapePluginView stop]): call removeKeyEventHandler because resignFirstResponder may not get called
22161
221622003-08-08  Richard Williamson  <rjw@apple.com>
22163        Lots of healthy cleanup.  Introduced width and shaping iterators
22164        to simplify code and remove allocations for large text runs.  Should
22165        go further and make more use of these in the future (post panther).
22166
22167        Fixed 3369608.  Crash in -[WebTextRenderer _CG_drawRun:style:atPoint:] at lovepucca.net
22168        Fixed 3118050.  Crash selecting text at http://www.faqs.org/rfcs/rfc2849.html (SELECTION)
22169        Fixed 3371115.  Can't correctly select text that contains surrogate pairs
22170
22171        Reviewed by darin.
22172
22173        * Misc.subproj/WebUnicode.h:
22174        * Misc.subproj/WebUnicode.m:
22175        (prevChar):
22176        (nextChar):
22177        (prevLogicalCharJoins):
22178        (nextLogicalCharJoins):
22179        (glyphVariantLogical):
22180        (hasShapeForNextCharacter):
22181        (shapeForNextCharacter):
22182        (initializeCharacterShapeIterator):
22183        (shapedString):
22184        * WebCoreSupport.subproj/WebTextRenderer.h:
22185        * WebCoreSupport.subproj/WebTextRenderer.m:
22186        (initializeCharacterWidthIterator):
22187        (widthAndGlyphForSurrogate):
22188        (widthForNextCharacter):
22189        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
22190        (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]):
22191
22192        Just formatting changed here
22193        * WebView.subproj/WebHTMLViewPrivate.m:
22194        (-[WebHTMLView _dragImageForLinkElement:]):
22195
221962003-08-08  Darin Adler  <darin@apple.com>
22197
22198        Reviewed by Maciej.
22199
22200        - fixed 3368236 -- NSURL exception going back at http://derstandard.at/
22201
22202        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem:]): Put "about:blank" in
22203        the back/forward item if there is no URL (which happens because there is no data source
22204        because the frame has never successfully loaded anything). Perhaps we can do better
22205        some day, but this avoids all the major bad effects in a safe way.
22206
22207        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
22208
22209=== Safari-92 ===
22210
222112003-08-07  Richard Williamson   <rjw@apple.com>
22212
22213        Fixed 3362939.  Checked flippyness of view and adjust y coord accordingly.
22214
22215        Reviewed by John.
22216
22217        * Misc.subproj/WebKitNSStringExtras.m:
22218
222192003-08-07  Chris Blumenberg  <cblu@apple.com>
22220
22221        Fixed: <rdar://problem/3330742>: 1.0 Safari fails to send NPP_URLNotify with the error of NPRES_NETWORK_ERR to Flash
22222
22223        Reviewed by darin.
22224
22225        * Plugins.subproj/WebBaseNetscapePluginStream.m:
22226        (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): call NPP_URLNotify so we cover both the failure and successful cases
22227        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): have destroyStreamWithReason call NPP_URLNotify
22228
222292003-08-07  Ken Kocienda  <kocienda@apple.com>
22230
22231        Reviewed by Darin
22232        Fix for this bug:
22233
22234        <rdar://problem/3368552>: Fix inappropriate use of NSURL creation methods in WebKit
22235
22236        Change calls to URLWithString: or URLWithString:relativeToURL to
22237        _web_URLWithDataAsString: and _web_URLWithDataAsString:relativeToURL,
22238        respectively.
22239
22240        * WebView.subproj/WebFramePrivate.m:
22241        (-[WebFrame _loadItem:withLoadType:]):
22242        (-[WebFrame _loadURL:intoChild:]):
22243        * WebView.subproj/WebPreferences.m:
22244        (-[WebPreferences userStyleSheetLocation]):
22245        * WebView.subproj/WebView.m:
22246        (-[WebView takeStringURLFrom:]):
22247        (-[WebView setMainFrameURL:]):
22248
222492003-08-06  Darin Adler  <darin@apple.com>
22250
22251        Reviewed by Richard.
22252
22253        - fixed 3347114 -- remove vestiges of posing, including init routine, from WebKit
22254
22255        * WebView.subproj/WebHTMLViewPrivate.m: Removed WebNSTextView, WebNSView, and WebNSWindow,
22256        removed the code to have them pose as NSTextView, NSView, and NSWindow, and removed excess
22257        imports that are no longer needed.
22258
222592003-08-06  Richard Williamson   <rjw@apple.com>
22260
22261        Fixed 3365378.  Edge case text run > 1024 hit by JS generated string.  We weren't correctly checking size of string length.  Used /2 instead of *2.
22262
22263        Reviewed by Vicki (and Dan!).
22264
22265        * WebCoreSupport.subproj/WebTextRenderer.m:
22266        (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
22267        (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
22268
222692003-08-06  Richard Williamson   <rjw@apple.com>
22270
22271        Fixed 3348630.  Pick up about 1% by moving implementation of _unicodeDirection to WebCore and inlining.
22272
22273        Reviewed by Ken.
22274
22275        * Misc.subproj/WebUnicode.h:
22276        * Misc.subproj/WebUnicode.m:
22277        (_unicodeDirection):
22278        (_unicodeJoining):
22279        (_unicodeMirrored):
22280        (WebKitInitializeUnicode):
22281        * Misc.subproj/WebUnicodeTables.m:
22282
222832003-08-06  Chris Blumenberg  <cblu@apple.com>
22284
22285        Fixed: <rdar://problem/3161102>: Avoid retain cycles by destroying plug-ins in the page cache before dealloc
22286
22287        Reviewed by rjw.
22288
22289        * History.subproj/WebHistoryItemPrivate.h: added declaration for [WebBackForwardList _clearPageCache]
22290        * WebView.subproj/WebViewPrivate.m:
22291        (-[WebView _close]): clear the page cache when we are closing the web view so we call destroy on all the plug-ins on the page cache to break any retain cycles.
22292
222932003-08-04  Chris Blumenberg  <cblu@apple.com>
22294
22295        Fixed: <rdar://problem/3106525>: Results of JavaScript requests are not returned to plug-ins
22296
22297        Reviewed by darin.
22298
22299        * Plugins.subproj/WebBaseNetscapePluginStream.h:
22300        * Plugins.subproj/WebBaseNetscapePluginStream.m:
22301        (-[WebBaseNetscapePluginStream setNotifyData:]): new
22302        (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed from setResponse
22303        (-[WebBaseNetscapePluginStream startStreamWithResponse:]): new
22304        (-[WebBaseNetscapePluginStream receivedData:]): tweak
22305        (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): tweak
22306        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): tweak
22307        * Plugins.subproj/WebBaseNetscapePluginView.m:
22308        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:targetFrame:]): new
22309        (-[WebBaseNetscapePluginView loadPluginRequest:]): call evaluateJavaScriptPluginRequest::
22310        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call loadPluginRequest for JS requests
22311        * Plugins.subproj/WebNetscapePluginRepresentation.m:
22312        (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): call renamed startStreamWithResponse
22313        * Plugins.subproj/WebNetscapePluginStream.m:
22314        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): call setNotifyData
22315        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): call renamed startStreamWithResponse
22316
223172003-08-05  Ken Kocienda  <kocienda@apple.com>
22318
22319        Reviewed by Richard
22320
22321        Plugins in WebKit need to store URLs in the form of "C-style" strings. 
22322        Create and use a new, improved method to make these strings, and do 
22323        not traverse through the NSURL absoluteString method, since that can i
22324        introduce errors.
22325
22326        * Misc.subproj/WebNSURLExtras.h: Added _web_URLCString method.
22327        * Misc.subproj/WebNSURLExtras.m:
22328        (-[NSURL _web_URLCString]): Added.
22329        * Plugins.subproj/WebBaseNetscapePluginStream.m:
22330        (-[WebBaseNetscapePluginStream setResponse:]): Call new _web_URLCString method.
22331        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Ditto.
22332        * Plugins.subproj/WebBaseNetscapePluginView.m:
22333        (-[WebBaseNetscapePluginView frameStateChanged:]): Ditto.
22334        (-[WebBaseNetscapePluginView loadPluginRequest:]): Ditto.
22335
223362003-08-05  Ken Kocienda  <kocienda@apple.com>
22337
22338        Reviewed by John
22339
22340        Fix for this bug:
22341
22342        <rdar://problem/3365035>: Modify WebNSURLExtras to call improved NSURL creation API
22343
22344        * Misc.subproj/WebNSURLExtras.m:
22345        (+[NSURL _web_URLWithDataAsString:]): Call through to _web_URLWithDataAsString:relativeToURL:.
22346        (+[NSURL _web_URLWithDataAsString:relativeToURL:]): Call through to _web_URLWithData:relativeToURL:.
22347        (+[NSURL _web_URLWithData:]): Ditto.
22348        (+[NSURL _web_URLWithData:relativeToURL:]): Call CFURLCreateAbsoluteURLWithBytes API in
22349        CoreFoundation.
22350        (-[NSURL _web_originalData]): Use CFURLGetBytes API in CoreFoundation. Also make sure
22351        that a relative URL is resolved against its base.
22352        (-[NSURL _web_displayableString]): Call _web_originalData to get bytes to use
22353        to create the string.
22354        (-[NSURL _web_URLStringLength]): Use CFURLGetBytes API in CoreFoundation.
22355
223562003-08-04  Richard Williamson  <rjw@apple.com>
22357
22358        Fixed 3363011.  Pass b/f related key down events to super if b/f is disabled.
22359
22360        Reviewed by Chris.
22361
22362        * WebView.subproj/WebFrameView.m:
22363        (-[WebFrameView keyDown:]):
22364
22365
22366        Fixed 3363345.  Retain static array used by IB to present WebView's bindable keys.
22367
22368        Review by Maciej
22369
22370        * WebView.subproj/WebViewPrivate.m:
22371        (-[WebView _declaredKeys]):
22372
223732003-08-04  Ken Kocienda  <kocienda@apple.com>
22374
22375        Reviewed by Darin
22376
22377        Fix for this bug:
22378
22379        <rdar://problem/3363318>: REGRESSION: Plug-in content doesn't show up, animate etc
22380
22381        WebNetscapePluginConnectionDelegate must implement this method:
22382
22383        - (void)connection:(NSURLConnection *)con didReceiveData:(NSData *)data lengthReceived:(long long)lengthReceived
22384
22385        * Plugins.subproj/WebNetscapePluginStream.m:
22386        (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:])
22387
223882003-08-04  Darin Adler  <darin@apple.com>
22389
22390        Reviewed by Richard.
22391
22392        - fixed 3298153 -- get "screen font while printing" error, bad stuff happens after that (Sherlock, Safari)
22393
22394        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
22395        If we find ourselves in drawRect with the wrong printing mode, that usually
22396        means we're being printed as part of some larger print process, so do the
22397        layout in printing mode.
22398
223992003-08-04  Chris Blumenberg  <cblu@apple.com>
22400
22401        Fixed: <rdar://problem/3360977>: REGRESSION (7B28-7B29): main webview rejects drop of doc icon from BBEdit
22402
22403        Reviewed by darin.
22404
22405        * Misc.subproj/WebNSPasteboardExtras.m:
22406        (+[NSPasteboard _web_dragTypesForURL]): we handle NSFilenamesPboardType
22407        * WebKit.pbproj/project.pbxproj:
22408
224092003-08-04  Richard Williamson   <rjw@apple.com>
22410
22411        Fixed 3223989.  Pass key down events to super if scrolling is disabled.
22412
22413        Reviewed by Chris (Welcome back!).
22414
22415        * WebView.subproj/WebFrameView.m:
22416        (-[WebFrameView keyDown:]):
22417
224182003-08-01  Richard Williamson   <rjw@apple.com>
22419
22420        Fixed 3095376.  Implemented correct selection behavior for rtl scripts.
22421        We still use our Arabic and Hebrew layout scheme.
22422
22423        Fixed 3360487.  Implemented selection of ATSU rendered code.
22424
22425        Fixed 3360242.        Return nil from _bodyBackgroundColor when no 
22426        background color specified.  This was requested by Doug D.
22427
22428        Reviewed by Maciej.
22429
22430        * WebCoreSupport.subproj/WebTextRenderer.m:
22431        (-[WebTextRenderer drawHighlightForRun:style:atPoint:]):
22432        (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
22433        (-[WebTextRenderer drawRun:style:atPoint:]):
22434        (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
22435        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
22436        (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
22437        (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
22438        (-[WebTextRenderer pointToOffset:style:position:reversed:]):
22439        (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
22440        (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]):
22441
224422003-08-01  Maciej Stachowiak  <mjs@apple.com>
22443
22444        Reviewed by Darin.
22445
22446        - fixed 3339255 - REGRESSION (73-85): javascript failure at gia.apple.com
22447
22448        * WebView.subproj/WebFramePrivate.m:
22449        (-[WebFrame _setState:]): When going to provisional state, tell the bridge that
22450        a provisional load started, so it can cancel any pending redirects.
22451
22452=== Safari-91 ===
22453
224542003-07-31  Richard Williamson   <rjw@apple.com>
22455
22456        Make sure width is initialized for monospace optimizations.
22457        Reviewed by Vicki.
22458
22459        * WebCoreSupport.subproj/WebTextRenderer.m:
22460        (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]):
22461
224622003-07-31  Richard Williamson   <rjw@apple.com>
22463
22464        Fixed 3359152.  SPI to get the background color for a frame.
22465
22466        Reviewed by hyatt.
22467
22468        * WebCoreSupport.subproj/WebTextRenderer.m:
22469        (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]):
22470        * WebView.subproj/WebFramePrivate.h:
22471        * WebView.subproj/WebFramePrivate.m:
22472        (-[WebFrame _bodyBackgroundColor]):
22473
224742003-07-31  Richard Williamson   <rjw@apple.com>
22475
22476        Fixed 3358870.  Fall back on 'user defaults' values when a value
22477        in a custom instance of WebPreferences hasn't been overriden.
22478
22479        Reviewed by Eric Seymour.
22480
22481        * WebView.subproj/WebPreferences.m:
22482        (-[WebPreferences _stringValueForKey:]):
22483        (-[WebPreferences _integerValueForKey:]):
22484        (-[WebPreferences _boolValueForKey:]):
22485
224862003-07-30  Richard Williamson   <rjw@apple.com>
22487
22488        Preparation for 3095376.
22489
22490        Reviewed by Maciej.
22491
22492        * Misc.subproj/WebKitNSStringExtras.m:
22493        (-[NSString _web_widthWithFont:]):
22494        * Misc.subproj/WebStringTruncator.m:
22495        (stringWidth):
22496        * WebCoreSupport.subproj/WebTextRenderer.m:
22497        (shouldUseATSU):
22498        (-[WebTextRenderer widthForCharacters:length:]):
22499        (-[WebTextRenderer drawRun:style:atPoint:]):
22500        (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
22501        (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
22502        (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
22503        (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
22504        (-[WebTextRenderer floatWidthForRun:style:widths:]):
22505        (-[WebTextRenderer _floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
22506        (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
22507        (-[WebTextRenderer _createATSUTextLayoutForRun:]):
22508        (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
22509        (-[WebTextRenderer _ATSU_floatWidthForRun:style:]):
22510        (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
22511        (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]):
22512
225132003-07-30  Richard Williamson   <rjw@apple.com>
22514
22515        Fixed 3356518.  Added private method called by IB to ensure
22516        that autoresizeSubviews flag is turned on correctly.
22517
22518        Reviewed by mjs.
22519
22520        * WebView.subproj/WebViewPrivate.m:
22521        (-[WebView _finishedMakingConnections]):
22522
225232003-07-28  Richard Williamson   <rjw@apple.com>
22524
22525        Fixed 3323866.  Provide SPI to IB to enable scoping of preferences
22526        values on a document-by-document basis.
22527
22528        Reviewed by Maciej.
22529
22530        * WebView.subproj/WebPreferences.m:
22531        (-[WebPreferencesPrivate dealloc]):
22532        (-[WebPreferences initWithIdentifier:]):
22533        (-[WebPreferences initWithCoder:]):
22534        (+[WebPreferences _userDefaultsKeysForIB]):
22535        (+[WebPreferences _setIBCreatorID:]):
22536        (+[WebPreferences _IBCreatorID]):
22537        (-[WebPreferences _concatenateKeyWithIBCreatorID:]):
22538        * WebView.subproj/WebPreferencesPrivate.h:
22539
225402003-07-28  Darin Adler  <darin@apple.com>
22541
22542        Reviewed by Maciej.
22543
22544        - fixed 3344647 -- reachedTerminalState assertion in WebBaseResourceHandleDelegate.m
22545
22546        * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient cancelWithError:]):
22547        Use [super cancelWithError:] rather than [self receivedError:]. I checked carefully to
22548        see that this code now does everything the old code did (and a bit more).
22549
225502003-07-28  Richard Williamson   <rjw@apple.com>
22551
22552        Fixed 3341859. 
22553            Check that the WebHTMLView is initialized in viewWillMoveToWindow: and
22554        viewDidMoveToWindow.  Don't do anything if we aren't initialized.  This
22555        happens when decoding a WebView.  When WebViews are decoded their subviews
22556            are created by initWithCoder: and so won't be normally initialized.  The 
22557        stub views are discarded by WebView.
22558
22559        Reviewed by John.
22560
22561        * WebView.subproj/WebHTMLView.m:
22562        (-[WebHTMLView viewWillMoveToWindow:]):
22563        (-[WebHTMLView viewDidMoveToWindow]):
22564
225652003-07-28  Darin Adler  <darin@apple.com>
22566
22567        Reviewed by John.
22568
22569        - fixed 3279864 -- remove class_poseAs calls from WebKit
22570
22571        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView initWithFrame:]):
22572        Call _setDrawsOwnDescendants, if we have a new enough AppKit.
22573        * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]):
22574        Don't pose as NSView, if we have a new enough AppKit.
22575
225762003-07-28  Ken Kocienda  <kocienda@apple.com>
22577
22578        Reviewed by John
22579
22580        Fix for this bug:
22581
22582        <rdar://problem/3336933>: REGRESSION (Panther): Mozilla build downloaded
22583        with wrong extension, bad file size (gzip)
22584
22585        Use new delegate methods that allow for the correct reporting
22586        of progress in cases where Foundation-level content decoding         has been performed on data received
22587
22588        * WebCoreSupport.subproj/WebSubresourceClient.m:
22589        (-[WebSubresourceClient connection:didReceiveData:lengthReceived:]):
22590        * WebView.subproj/WebBaseResourceHandleDelegate.m:
22591        (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
22592        (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]):
22593        * WebView.subproj/WebMainResourceClient.m:
22594        (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]):
22595
225962003-07-28  Darin Adler  <darin@apple.com>
22597
22598        Reviewed by Richard.
22599
22600        - fixed leak of WebDataRequestParameters objects
22601
22602        * WebView.subproj/WebDataProtocol.m:
22603        (-[NSMutableURLRequest _webDataRequestParametersForWriting]):
22604        Release the WebDataRequestParameters object after putting it in the dictionary.
22605
226062003-07-28  John Sullivan  <sullivan@apple.com>
22607
22608        - fixed 3236815 -- bitmap TIFFs at > 72 dpi are scaled incorrectly 
22609        in Safari when viewed standalone (uspto.gov)
22610
22611        Reviewed by Darin
22612
22613        * WebCoreSupport.subproj/WebImageRenderer.m:
22614        (-[WebImageRenderer _adjustSizeToPixelDimensions]):
22615        call setScalesWhenResized:YES
22616
226172003-07-25  Richard Williamson   <rjw@apple.com>
22618
22619        Fixed 3344519.  Prevent infinite recursion attempting font substitution.
22620
22621        Reviewed by Darin.
22622
22623        * WebCoreSupport.subproj/WebTextRenderer.m:
22624        (-[WebTextRenderer _floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
22625
226262003-07-25  Maciej Stachowiak  <mjs@apple.com>
22627
22628        Reviewed by John.
22629
22630        - fixed 3280582 - REGRESSION (74-85): authentication sheet doesn't state that previous login was incorrect
22631
22632        * Panels.subproj/WebAuthenticationPanel.m:
22633        (-[WebAuthenticationPanel setUpForChallenge:]): Use chall, the
22634        parameter, not challenge, the not-yet-set ivar so we get the right
22635        failure count &c.
22636
226372003-07-25  Richard Williamson   <rjw@apple.com>
22638
22639        Use 11 point bold, instead of 12 point bold to draw dragged link
22640        labels.  This matches the text drawn in the bookmarks bar.
22641
22642        Reviewed by John.
22643
22644        * WebView.subproj/WebHTMLViewPrivate.m:
22645        (-[WebHTMLView _dragImageForLinkElement:]):
22646
226472003-07-24  Richard Williamson   <rjw@apple.com>
22648
22649        Fixed 3279910.  Change the way we draw dragged link to use
22650        WebKit's measurement and drawing.  Also made the look match
22651        the bookmarks bar text.
22652
22653        Reviewed by Maciej.
22654
22655        * Misc.subproj/WebKitNSStringExtras.h:
22656        * Misc.subproj/WebKitNSStringExtras.m:
22657        (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]):
22658        * WebView.subproj/WebHTMLViewPrivate.h:
22659        * WebView.subproj/WebHTMLViewPrivate.m:
22660        (-[WebHTMLView _dragImageForLinkElement:]):
22661        (-[WebHTMLView _handleMouseDragged:]):
22662
226632003-07-24  Richard Williamson   <rjw@apple.com>
22664
22665        Removed unnecessary log.
22666
22667        Reviewed by John.
22668
22669        * WebCoreSupport.subproj/WebImageRendererFactory.m:
22670        (-[WebImageRendererFactory imageRendererWithData:MIMEType:]):
22671        Add another check to use ATSU for Limbu (Unicode 4.0) script.
22672        Also made shouldUseATSU inline.
22673
22674        * WebCoreSupport.subproj/WebTextRenderer.m:
22675        (shouldUseATSU):
22676
22677=== Safari-90 ===
22678
226792003-07-23  Maciej Stachowiak  <mjs@apple.com>
22680
22681        Build breakage fix:
22682        Fix WebKit to build with the latest Foundation.
22683        * Misc.subproj/WebNSURLExtras.h:
22684        * Misc.subproj/WebNSURLExtras.m:
22685        (-[NSURL _webkit_isJavaScriptURL]):
22686        (-[NSURL _webkit_scriptIfJavaScriptURL]):
22687        (-[NSURL _webkit_isFTPDirectoryURL]):
22688        (-[NSString _webkit_isFTPDirectoryURL]):
22689
226902003-07-23  Richard Williamson   <rjw@apple.com>
22691
22692        Fixed 3311725:  Added support for key/value binding. 
22693        (As a side effect also made icon loading work!  In 1.0
22694        it doesn't work unless a secret preference value is set.)
22695
22696        Reviewed by Ken.
22697
22698        * Misc.subproj/WebIconDatabase.m:
22699        (-[WebIconDatabase _createFileDatabase]):
22700        * WebView.subproj/WebDataSourcePrivate.m:
22701        (-[WebDataSource _startLoading:]):
22702        (-[WebDataSource _setTitle:]):
22703        (-[WebDataSource _updateIconDatabaseWithURL:]):
22704        * WebView.subproj/WebFramePrivate.m:
22705        (-[WebFrame _transitionToCommitted:]):
22706        (-[WebFrame _isLoadComplete]):
22707        * WebView.subproj/WebView.m:
22708        (-[WebView setMainFrameURL:]):
22709        (-[WebView mainFrameURL]):
22710        (-[WebView isLoading]):
22711        (-[WebView mainFrameTitle]):
22712        (-[WebView mainFrameIcon]):
22713        * WebView.subproj/WebViewPrivate.h:
22714        * WebView.subproj/WebViewPrivate.m:
22715        (-[WebView _progressStarted]):
22716        (-[WebView _progressCompleted]):
22717        (-[WebView _incrementProgressForConnection:data:]):
22718        (-[WebView _completeProgressForConnection:]):
22719        (-[WebView _declaredKeys]):
22720        (-[WebView setObservationInfo:]):
22721        (-[WebView observationInfo]):
22722        (-[WebView _willChangeBackForwardKeys]):
22723        (-[WebView _didChangeBackForwardKeys]):
22724        (-[WebView _didStartProvisionalLoadForFrame:]):
22725        (-[WebView _didCommitLoadForFrame:]):
22726        (-[WebView _didFinishLoadForFrame:]):
22727        (-[WebView _didFailLoadWithError:forFrame:]):
22728        (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
22729
227302003-07-23  Richard Williamson   <rjw@apple.com>
22731
22732        Fixed 3341119:  Crash when content contains nil (0x0) characters.
22733
22734        Reviewed by Ken.
22735
22736        * WebCoreSupport.subproj/WebTextRenderer.m:
22737        (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
22738
227392003-07-23  Darin Adler  <darin@apple.com>
22740
22741        Reviewed by John.
22742
22743        - fixed 2/3 of 3279864 -- remove class_poseAs calls from WebKit (will also remove init routine)
22744
22745        * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]):
22746        Only pose as NSTextView and NSWindow if we have an older AppKit.
22747        If we have a new enough AppKit, the code in WebCore now takes care of things.
22748
227492003-07-23  Richard Williamson   <rjw@apple.com>
22750
22751        Fixed for 3259840.  Use ATSU for scripts we don't handle internally,
22752        i.e.:  Syriac, Thaana, Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Sinhala, Thai, Lao, Tibetan, Myanmar, Hangul Jamo, Khmer, Mongolian
22753
22754        Also fixed issues with our rendering of Arabic.
22755
22756        Changed the internal API to take WebCoreTextRun and WebCoreTextStyle
22757        parameters instead of scads on individual parameters.  Much cleaner.
22758
22759        Reviewed by Maciej.
22760
22761        * Misc.subproj/WebKitNSStringExtras.m:
22762        (-[NSString _web_widthWithFont:]):
22763        * Misc.subproj/WebStringTruncator.m:
22764        (stringWidth):
22765        * WebCoreSupport.subproj/WebTextRenderer.h:
22766        * WebCoreSupport.subproj/WebTextRenderer.m:
22767        (shouldUseATSU):
22768        (-[WebTextRenderer _setupFont:]):
22769        (-[WebTextRenderer dealloc]):
22770        (-[WebTextRenderer widthForCharacters:length:]):
22771        (-[WebTextRenderer drawRun:style:atPoint:]):
22772        (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
22773        (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
22774        (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
22775        (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
22776        (-[WebTextRenderer floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:]):
22777        (-[WebTextRenderer _floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
22778        (-[WebTextRenderer _CG_floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
22779        (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
22780        (-[WebTextRenderer _initializeATSUStyle]):
22781        (-[WebTextRenderer _createATSUTextLayoutForRun:]):
22782        (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
22783        (-[WebTextRenderer _ATSU_floatWidthForRun:style:]):
22784        (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
22785
227862003-07-23  Ken Kocienda  <kocienda@apple.com>
22787
22788        Reviewed by Darin
22789        Removed dependency on Foundation NSURL_NSURLExtras file.
22790        Copied the required methods from that file to WebNSURLExtras,
22791        temporarily renaming the methods that are now in both
22792        places to have a _webkit_ prefix. The names will be changed
22793        back once every one is living on a Foundation version that
22794        no longer contains these methods.
22795
22796        The files below were changed in one of three ways:
22797        1. Rename _web_URLWithString: to _web_URLWithDataAsString:
22798        2. Tweak headers to depend on WebNSURLExtras instead of NSURL_NSURLExtras.
22799        3. At call sites, tweak names of methods that moved to WebKit (_web_ -> _webkit_).
22800
22801        * History.subproj/WebHistory.m:
22802        * History.subproj/WebHistoryItem.m:
22803        (-[WebHistoryItem URL]):
22804        * History.subproj/WebHistoryPrivate.m:
22805        * History.subproj/WebURLsWithTitles.m:
22806        (+[WebURLsWithTitles URLsFromPasteboard:]):
22807        * Misc.subproj/WebIconDatabase.m:
22808        (-[WebIconDatabase _iconForFileURL:withSize:]):
22809        * Misc.subproj/WebIconLoader.m:
22810        * Misc.subproj/WebNSPasteboardExtras.m:
22811        (-[NSPasteboard _web_bestURL]):
22812        * Misc.subproj/WebNSURLExtras.h:
22813        * Misc.subproj/WebNSURLExtras.m:
22814        (ReleaseIfNotNULL):
22815        (+[NSURL _web_URLWithDataAsString:]):
22816        (+[NSURL _web_URLWithDataAsString:relativeToURL:]):
22817        (+[NSURL _web_URLWithData:]):
22818        (+[NSURL _web_URLWithData:relativeToURL:]):
22819        (-[NSURL _web_originalData]):
22820        (-[NSURL _web_displayableString]):
22821        (-[NSURL _web_URLStringLength]):
22822        (-[NSURL _webkit_canonicalize]):
22823        (-[NSURL _webkit_URLByRemovingFragment]):
22824        (-[NSURL _webkit_isJavaScriptURL]):
22825        (-[NSURL _webkit_scriptIfJavaScriptURL]):
22826        (-[NSURL _webkit_isFTPDirectoryURL]):
22827        (-[NSURL _webkit_shouldLoadAsEmptyDocument]):
22828        (isHexDigit):
22829        (hexDigitValue):
22830        (-[NSString _webkit_isJavaScriptURL]):
22831        (-[NSString _webkit_stringByReplacingValidPercentEscapes]):
22832        (-[NSString _webkit_scriptIfJavaScriptURL]):
22833        * Misc.subproj/WebNSViewExtras.m:
22834        * Panels.subproj/WebAuthenticationPanel.m:
22835        * Plugins.subproj/WebBaseNetscapePluginView.m:
22836        (-[WebBaseNetscapePluginView requestWithURLCString:]):
22837        (-[WebBaseNetscapePluginView loadPluginRequest:]):
22838        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
22839        * Plugins.subproj/WebNullPluginView.m:
22840        * WebCoreSupport.subproj/WebBridge.m:
22841        (-[WebBridge requestedURLString]):
22842        * WebCoreSupport.subproj/WebCookieAdapter.m:
22843        (-[WebCookieAdapter cookiesForURL:]):
22844        (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
22845        * WebKit.pbproj/project.pbxproj:
22846        * WebView.subproj/WebDataSourcePrivate.m:
22847        (-[WebDataSource _setTitle:]):
22848        (-[WebDataSource _loadIcon]):
22849        * WebView.subproj/WebFrame.m:
22850        * WebView.subproj/WebFramePrivate.m:
22851        (-[WebFrame _transitionToCommitted:]):
22852        (-[WebFrame _shouldReloadForCurrent:andDestination:]):
22853        (-[WebFrame _URLsMatchItem:]):
22854        * WebView.subproj/WebFrameView.m:
22855        * WebView.subproj/WebHTMLViewPrivate.m:
22856        (-[WebHTMLView _elementAtPoint:]):
22857        * WebView.subproj/WebMainResourceClient.m:
22858        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
22859        (-[WebMainResourceClient loadWithRequest:]):
22860        (-[WebMainResourceClient setDefersCallbacks:]):
22861
228622003-07-22  Darin Adler  <darin@apple.com>
22863
22864        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
22865
228662003-07-21  Ken Kocienda  <kocienda@apple.com>
22867
22868        Fixed build breaker.
22869
22870        Removed glyphCountFromFont function. It was used only in an
22871        ERROR function, which does not compile in on deployment
22872        builds, causing a "defined, but not used warning".
22873
22874        As this function is only a one-liner call into ATS, I 
22875        replaced the usage in the ERROR call with a call to the 
22876        ATS function directly.
22877
22878        * WebCoreSupport.subproj/WebTextRenderer.m:
22879        (-[WebTextRenderer initWithFont:usingPrinterFont:])
22880
228812003-07-18  Richard Williamson   <rjw@apple.com>
22882
22883        Fixed 3283594.  "Times RO" appears to have a corrupt regular variant.  Added
22884        additional bullet proofing to catch corrupt fonts.  Also added a special case
22885        hack to map "Times RO" to "Time New Roman" if the variant doesn't have valid
22886        glyphs.
22887
22888        Fixed 3319846.  The page mentioned in this bug required > 10 substitute fonts for
22889        the same base font.  This triggered some buggy code that hasn't been exercise before.
22890        Specifically the code that resizes the substitute fonts array was incorrect.
22891
22892        Reviewed by mjs.
22893
22894        * Misc.subproj/WebAssertions.h:  Added FATAL_ALWAYS macro that logs and CRASHES
22895        even in deployment builds.
22896
22897        * WebCoreSupport.subproj/WebTextRenderer.m:
22898        (mapForSubstituteFont):
22899        (widthFromMap):
22900        (FillStyleWithAttributes):
22901        (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]):
22902        (-[WebTextRenderer convertUnicodeCharacters:length:toGlyphs:]):
22903        (-[WebTextRenderer _computeWidthForSpace]):
22904        (-[WebTextRenderer _setupFont:]):
22905        (pathFromFont):
22906        (glyphCountFromFont):
22907        (-[WebTextRenderer initWithFont:usingPrinterFont:]):
22908        (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]):
22909        (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
22910
229112003-07-17  Darin Adler  <darin@apple.com>
22912
22913        Reviewed by John.
22914
22915        - fixed 3250608 -- REGRESSION (74-85): reproducible Safari crash in blinkCaretTimerAction
22916
22917        * WebView.subproj/WebHTMLViewPrivate.m:
22918        (-[WebNSTextView drawInsertionPointInRect:color:turnedOn:]):
22919        Use NSView's setNeedsDisplayInRect: instead of the one in NSTextView.
22920        This avoids the layout that the NSTextView version of the call might do.
22921        By definition, we don't need layout to draw the insertion point, because we did
22922        the layout to find where the insertion point should display. If we do the layout
22923        we can end up recursing into the insertion point drawing code, which wreaks major
22924        havoc. Still no idea why this happened less in version 74.
22925
229262003-07-17  Ken Kocienda  <kocienda@apple.com>
22927
22928        Reviewed by John
22929
22930        * WebCoreSupport.subproj/WebBridge.m:
22931        (-[WebBridge startLoadingResource:withURL:]): Now uses NSURL instead of NSString
22932        (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): Ditto
22933        (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
22934        Ditto
22935        (-[WebBridge setIconURL:]): Ditto
22936        (-[WebBridge setIconURL:withType:]): Ditto
22937        (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Ditto
22938        (-[WebBridge userAgentForURL:]): Ditto
22939        (-[WebBridge requestedURL]): Now returns string using _web_absoluteString
22940        * WebView.subproj/WebDataSourcePrivate.m:
22941        (-[WebDataSource _receivedError:complete:]): Now uses NSURL instead of NSString
22942        * WebView.subproj/WebFramePrivate.m:
22943        (-[WebFrame _opened]): Ditto
22944        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): Ditto
22945        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): Ditto
22946
229472003-07-17  Ken Kocienda  <kocienda@apple.com>
22948
22949        * Misc.subproj/WebNSURLExtras.m:
22950        (-[NSURL _web_URLStringLength]): Fix premature use of new CFURL API.
22951        New code is ifdef'ed out for now until everyone has revved.
22952
229532003-07-17  Ken Kocienda  <kocienda@apple.com>
22954
22955        Reviewed by Darin
22956
22957        * WebCoreSupport.subproj/WebBridge.m:
22958        (-[WebBridge createWindowWithURL:frameName:]): Now uses NSURL in API instead of NSString
22959        (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]): Ditto
22960        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto
22961        * WebKit.pbproj/project.pbxproj: Added WebNSURLExtras file
22962        * WebView.subproj/WebDataSourcePrivate.m:
22963        (-[WebDataSource _commitIfReady:]): Now uses NSURL in API instead of NSString
22964
229652003-07-15  Richard Williamson   <rjw@apple.com>
22966
22967        Fixed 3315952:  Add support for <IMG> in attributed string conversion.
22968        Added RTFD pasteboard type.
22969
22970        Reviewed by John.
22971
22972        * WebView.subproj/WebHTMLViewPrivate.m:
22973        (+[WebHTMLView _pasteboardTypes]):
22974        (-[WebHTMLView _writeSelectionToPasteboard:]):
22975
229762003-07-14  Darin Adler  <darin@apple.com>
22977
22978        Reviewed by Maciej.
22979
22980        - make some improvements to handling of the timer, inspired by some bug reports
22981
22982        * WebView.subproj/WebFramePrivate.m:
22983        (-[WebFramePrivate dealloc]): Instead of releasing the timer, assert it is nil.
22984        (-[WebFrame _detachFromParent]): Invalidate and release the timer after finishing
22985        dealing with self, in case the reference from the timer is the last one.
22986        (-[WebFrame _timedLayout:]): Release the timer after doing all the other work,
22987        in case the reference from the timer is the last one.
22988        (-[WebFrame _setState:]): Release the timer after doing all the other work,
22989        in case the reference from the timer is the last one.
22990
229912003-07-14  Darin Adler  <darin@apple.com>
22992
22993        Rolled out workaround to bug 3298153 -- get "screen font while printing"
22994        error, bad stuff happens after that (Sherlock, Safari). It turns out the
22995        real fix was on the WebCore side. Now that we have that fix we don't need
22996        these extra calls to printerFont, which is a relatively slow call that
22997        may need to look up a font by name each time it's called.
22998
22999        * WebCoreSupport.subproj/WebTextRenderer.m: (_drawGlyphs):
23000        Remove code to look up the printer font.
23001
230022003-07-14  Maciej Stachowiak  <mjs@apple.com>
23003
23004        Rolled in fix from Safari-89-branch
23005    2003-07-12  Maciej Stachowiak  <mjs@apple.com>
23006
23007        Try to fix OS build by making the Frameworks link in both SYMROOT
23008        and DSTROOT, and at both build time and install time.
23009
23010        * WebKit.pbproj/project.pbxproj:
23011
230122003-07-14  Dave Hyatt  <hyatt@apple.com>
23013
23014        Roll this change out.  It was a bad change that I only made
23015        because I was using the opacity APIs wrong.
23016        Reviewed by (nobody, just a straight backout of a previous checkin)
23017
23018        * WebCoreSupport.subproj/WebImageRenderer.m:
23019        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
23020
230212003-07-13  Darin Adler  <darin@apple.com>
23022
23023        * WebKit.pbproj/project.pbxproj: Add command to prevent build from failing if symlink
23024        creation fails.
23025
230262003-07-13  Darin Adler  <darin@apple.com>
23027
23028        Fixed symbolic link path as Matt Reda suggested.
23029
23030        * WebKit.pbproj/project.pbxproj: Changed paths in both of Maciej's new build phases
23031        to use Versions/Current instead of Versions/A.
23032
230332003-07-13  Darin Adler  <darin@apple.com>
23034
23035        Fixed DSTROOT path as Eric Weiss suggested.
23036
23037        * WebKit.pbproj/project.pbxproj: Changed paths in both of Maciej's new build phases.
23038
230392003-07-12  Maciej Stachowiak  <mjs@apple.com>
23040
23041        Try to fix OS build by making the Frameworks link in both SYMROOT
23042        and DSTROOT, and at both build time and install time.
23043
23044        * WebKit.pbproj/project.pbxproj:
23045
230462003-07-11  Dave Hyatt  <hyatt@apple.com>
23047
23048        Make sure image compositing obeys the current global alpha that
23049        is in effect, e.g., if someone has set an opacity within the
23050        current layer.
23051
23052        It's worth noting that I'm not even sure *why* this patch works,
23053        but it does, even with nested opacity layers.
23054        Reviewed by darin
23055
23056        * WebCoreSupport.subproj/WebImageRenderer.m:
23057        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
23058
23059=== Safari-89 ===
23060
230612003-07-10  Richard Williamson   <rjw@apple.com>
23062
23063        Fixed 3298153.  Force use of printer font when printing.
23064
23065        Reviewed by Chris.
23066
23067        * WebCoreSupport.subproj/WebTextRenderer.m:
23068        (_drawGlyphs):
23069
230702003-07-10  Chris Blumenberg  <cblu@apple.com>
23071
23072        Fixed: <rdar://problem/3161102>: Avoid retain cycles by destroying plug-ins in the page cache before dealloc
23073        Fixed: <rdar://problem/3320624>: WebElementImageAltStringKey is not exported :-(
23074        Unspoof freebsd since we now handle gzip'd content.
23075
23076        Reviewed by rjw.
23077
23078        * History.subproj/WebHistoryItem.m:
23079        (+[WebHistoryItem _destroyAllPluginsInPendingPageCaches]): new, destroys all plug-ins
23080        (+[WebHistoryItem _releaseAllPendingPageCaches]): call _destroyAllPluginsInPendingPageCaches
23081        * WebKit.exp: export WebElementImageAltStringKey
23082        * WebView.subproj/WebUserAgentSpoofTable.c: unspoof freebsd
23083        (hash):
23084        (_web_findSpoofTableEntry):
23085        * WebView.subproj/WebUserAgentSpoofTable.gperf: unspoof freebsd
23086
230872003-07-10  John Sullivan  <sullivan@apple.com>
23088
23089        Reviewed by Chris
23090
23091        * WebCoreSupport.subproj/WebImageRenderer.m:
23092        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
23093        fixed copy/paste error in comment that I stumbled across
23094
230952003-07-09  Richard Williamson   <rjw@apple.com>
23096
23097        Fixed 3141257.  Animate multiple copies of the same
23098        image on the same page.
23099
23100        Reviewed by hyatt.
23101
23102        * WebCoreSupport.subproj/WebImageRenderer.h:
23103        * WebCoreSupport.subproj/WebImageRenderer.m:
23104        (+[WebImageRenderer stopAnimationsInView:]):
23105        (-[WebImageRenderer retainOrCopyIfNeeded]):
23106        (-[WebImageRenderer copyWithZone:]):
23107        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
23108        (-[WebImageRenderer dealloc]):
23109        (-[WebImageRenderer repetitionCount]):
23110        (-[WebImageRenderer scheduleFrame]):
23111        (-[WebImageRenderer beginAnimationInRect:fromRect:]):
23112        * WebCoreSupport.subproj/WebImageRendererFactory.h:
23113        * WebCoreSupport.subproj/WebImageRendererFactory.m:
23114        (-[WebImageRendererFactory imageRendererWithMIMEType:]):
23115        (-[WebImageRendererFactory imageRendererWithData:MIMEType:]):
23116        (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]):
23117
231182003-07-09  Chris Blumenberg  <cblu@apple.com>
23119
23120        Fixed: <rdar://problem/3229364>: user stylesheet path should be stored relative to home directory
23121
23122        Reviewed by john.
23123
23124        * Misc.subproj/WebKitNSStringExtras.h:
23125        * Misc.subproj/WebKitNSStringExtras.m:
23126        (-[NSString _web_stringByAbbreviatingWithTildeInPath]): new, handles home directories that have symlinks in path
23127        * WebView.subproj/WebPreferences.m:
23128        (-[WebPreferences userStyleSheetLocation]): converts path string or URL string to URL
23129        (-[WebPreferences setUserStyleSheetLocation:]): converts URL to path string or URL string
23130
231312003-07-08  Darin Adler  <darin@apple.com>
23132
23133        Reviewed by John.
23134
23135        - fixed 3125264 -- nuke NSImage workaround when we drop Jaguar support
23136
23137        * Misc.subproj/WebNSImageExtras.m: Removed the workaround.
23138
23139        - removed other Jaguar-specific code
23140
23141        * WebCoreSupport.subproj/WebImageRenderer.m: Remove workaround for improper
23142        handling of GIF animation loops with no loop counting, bug 3090341.
23143
23144        * WebView.subproj/WebHTMLViewPrivate.m: Remove workaround for problem extracting
23145        scroll wheel events without also getting all others, which caused jumping around
23146        if you used the scroll wheel while moving the mouse, bug 3245425.
23147
23148        * Misc.subproj/WebKitErrorsPrivate.h: Remove Jaguar-only import of <NSError.h>.
23149        * Plugins.subproj/WebNetscapePluginPackage.m: Remove Jaguar-only side of #if.
23150        * Plugins.subproj/WebNetscapePluginRepresentation.m: Remove Jaguar-only import
23151        of <NSError.h>.
23152        * WebKit/Plugins.subproj/WebPluginPackage.m: Remove unnecessary import of <NSError.h>.
23153        * Plugins.subproj/WebPluginPackage.m: Remove Jaguar-only side of #if.
23154        * WebCoreSupport.subproj/WebSubresourceClient.m: Remove Jaguar-only import
23155        of <NSError.h>.
23156        * WebView.subproj/WebDefaultFrameLoadDelegate.m: Remove Jaguar-only import
23157        of <NSError.h>.
23158        * WebView.subproj/WebImageRepresentation.m: Remove Jaguar-only import
23159        of <NSError.h>.
23160
23161        * WebKit/English.lproj/StringsNotToBeLocalized.txt: Updated for this and other recent changes.
23162
231632003-07-08  Chris Blumenberg  <cblu@apple.com>
23164
23165        Fixed: <rdar://problem/3134494>: no progressive loading for standalone images
23166        Fixed: <rdar://problem/3280633>: exception raised (attempt to create array with nil element) when dragging image out of HTML
23167
23168        Reviewed by rjw.
23169
23170        * Misc.subproj/WebNSViewExtras.h:
23171        * Misc.subproj/WebNSViewExtras.m:
23172        (-[NSView _web_dragPromisedImage:rect:URL:title:event:]): don't take a file type since this can now be gotten from the image
23173        * WebCoreSupport.subproj/WebImageRenderer.h:
23174        * WebCoreSupport.subproj/WebImageRenderer.m:
23175        (-[WebImageRenderer _adjustSizeToPixelDimensions]): new method that rjw factored from incrementalLoadWithBytes::: 
23176        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): call _adjustSizeToPixelDimensions so we have the correct image size as the image loads
23177        (-[WebImageRenderer MIMEType]): new accessor
23178        * WebView.subproj/WebHTMLViewPrivate.m:
23179        (-[WebHTMLView _handleMouseDragged:]): use renamed _web_dragPromisedImage
23180        * WebView.subproj/WebImageRepresentation.h:
23181        * WebView.subproj/WebImageRepresentation.m:
23182        (-[WebImageRepresentation doneLoading]): new
23183        (-[WebImageRepresentation setDataSource:]): create the image here
23184        (-[WebImageRepresentation receivedData:withDataSource:]): pass data to image
23185        (-[WebImageRepresentation receivedError:withDataSource:]): complete image loading
23186        (-[WebImageRepresentation finishedLoadingWithDataSource:]): complete image loading
23187        * WebView.subproj/WebImageView.h:
23188        * WebView.subproj/WebImageView.m:
23189        (-[WebImageView initWithFrame:]): call setAutoresizingMask so setFrameSize is called often enough
23190        (-[WebImageView dealloc]): tweak
23191        (-[WebImageView haveCompleteImage]): new
23192        (-[WebImageView drawingRect]): new
23193        (-[WebImageView drawRect:]): fill white then draw the image so we never show the previous page
23194        (-[WebImageView setFrameSizeUsingImage]): new, ensures that the view always fills the content area (so we draw over the previous page) and that the view is at least as large as the image.
23195        (-[WebImageView setFrameSize:]): call setFrameSizeUsingImage
23196        (-[WebImageView layout]): call setFrameSizeUsingImage
23197        (-[WebImageView setDataSource:]): store the rep
23198        (-[WebImageView dataSourceUpdated:]): call setNeedsLayout and setNeedsDisplay
23199        (-[WebImageView viewDidMoveToWindow]): tweak
23200        (-[WebImageView validateUserInterfaceItem:]): only allow copy if haveCompleteImage
23201        (-[WebImageView writeImageToPasteboard:]): only writeImageToPasteboard if haveCompleteImage
23202        (-[WebImageView writeSelectionToPasteboard:types:]): tweak
23203        (-[WebImageView menuForEvent:]): tweak
23204        (-[WebImageView mouseDragged:]): only allow drag if haveCompleteImage
23205        (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): tweak
23206
232072003-07-08  Dave Hyatt  <hyatt@apple.com>
23208
23209        Change minimum font size pref value back to 9. This change
23210        has been made in conjunction with associated WebCore changes
23211        that allow us to institute a minimum font size safely without
23212        the need for a visible GUI pref.
23213        Reviewed by darin
23214
23215        * WebView.subproj/WebPreferences.m:
23216        (+[WebPreferences initialize]):
23217
232182003-07-07  Maciej Stachowiak  <mjs@apple.com>
23219
23220        Reviewed by John.
23221
23222        - fixed 3295916 - b/c JavaScriptCore and WebCore are installing in wrong location, private headers are public
23223
23224        * WebKit.pbproj/project.pbxproj: Make a link from Frameworks to Versions/A/Frameworks.
23225
23226=== Safari-88 ===
23227
232282003-07-07  Darin Adler  <darin@apple.com>
23229
23230        Reviewed by Dave.
23231
23232        - fix compile error from B&I Panther build; really, this time
23233
23234        * WebCoreSupport.subproj/WebTextRenderer.m:
23235        (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): Use unsigned, not int.
23236        (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Ditto.
23237
232382003-07-06  Darin Adler  <darin@apple.com>
23239
23240        - fix compile error from B&I Panther build
23241
23242        * WebCoreSupport.subproj/WebTextRenderer.m:
23243        (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): Rearrange code so that we won't get
23244        a warning if numGlyphs type is either signed or unsigned. We don't want to depend on the new ATS
23245        headers or the old ones; this is compatible with both.
23246        (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Ditto.
23247
232482003-07-03  Darin Adler  <darin@apple.com>
23249
23250        * WebCoreSupport.subproj/WebImageRenderer.m: Remove obsolete comment.
23251
232522003-07-03  Chris Blumenberg  <cblu@apple.com>
23253
23254        Fixed: <rdar://problem/3206011>: Don't accepts drags when showing dialogs or sheets
23255
23256        Reviewed by john.
23257
23258        * Misc.subproj/WebNSViewExtras.m:
23259        (-[NSView _web_dragOperationForDraggingInfo:]):
23260
232612003-07-03  Chris Blumenberg  <cblu@apple.com>
23262
23263        Fixed: <rdar://problem/3291566>: Aborting standalone image load makes image directory page unusable
23264
23265        Reviewed by john.
23266
23267        * WebKit.pbproj/project.pbxproj: Xcode-ified WebKit.pbproj
23268        * WebView.subproj/WebImageView.h:
23269        * WebView.subproj/WebImageView.m:
23270        (-[WebImageView drawRect:]): layout if we need to, fill with white if we don't have an image yet
23271        (-[WebImageView setNeedsLayout:]): set the bit
23272        (-[WebImageView layout]): if we don't have an image, the frame size is the visible area so we draw white over the previous web page
23273
232742003-07-02  Maciej Stachowiak  <mjs@apple.com>
23275
23276        Reviewed by Ken.
23277
23278        - fixed 3304992 - REGRESSION: Every GET on an authenticated site requires a login (genentech)
23279
23280        I fixed this by adding a per-window queue of waiting
23281        authentication requests. Before going to a later item in the
23282        queue, the auth handler checks if there's already a credential
23283        available to handle it, and if so uses that as the answer instead of
23284        prompting.
23285
23286        * Panels.subproj/WebPanelAuthenticationHandler.h:
23287        * Panels.subproj/WebPanelAuthenticationHandler.m:
23288        (-[NSMutableDictionary _web_setObject:forUncopiedKey:]):
23289        (-[WebPanelAuthenticationHandler init]):
23290        (-[WebPanelAuthenticationHandler dealloc]):
23291        (-[WebPanelAuthenticationHandler enqueueChallenge:forWindow:]):
23292        (-[WebPanelAuthenticationHandler tryNextChallengeForWindow:]):
23293        (-[WebPanelAuthenticationHandler startAuthentication:window:]):
23294        (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
23295
232962003-06-30  John Sullivan  <sullivan@apple.com>
23297
23298        - fixed 3310716 -- Authentication dialog could be tweaked to 
23299        better match guidelines
23300
23301        Reviewed by Chris
23302
23303        * Panels.subproj/English.lproj/WebAuthenticationPanel.nib:
23304        left-aligned "Name:" and "Password:" labels; slightly tweaked
23305        layout at right edge of sheet
23306
233072003-06-26  Chris Blumenberg  <cblu@apple.com>
23308
23309        Changes to make WebKit compile with gcc 3.3.
23310
23311        Reviewed by darin.
23312
23313        * Carbon.subproj/HIWebView.m:
23314        * WebCoreSupport.subproj/WebBridge.m:
23315        (-[WebBridge setScrollbarsVisible:]):
23316        (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]):
23317        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
23318        * WebView.subproj/WebFramePrivate.h:
23319        * WebView.subproj/WebFramePrivate.m:
23320        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
23321        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
23322        * WebView.subproj/WebPreferences.m:
23323        (-[WebPreferences setDefaultFontSize:]):
23324        (-[WebPreferences setDefaultFixedFontSize:]):
23325        (-[WebPreferences setMinimumFontSize:]):
23326        * WebView.subproj/WebView.m:
23327        (-[WebView searchFor:direction:caseSensitive:wrap:]):
23328
233292003-06-24  Chris Blumenberg  <cblu@apple.com>
23330
23331        Renamed the context menu item Download Image To Disk" to "Download Image to Disk".
23332
23333        Reviewed by john.
23334
23335        * English.lproj/Localizable.strings:
23336        * WebView.subproj/WebDefaultContextMenuDelegate.m:
23337        (-[WebDefaultUIDelegate menuItemWithTag:]):
23338
233392003-06-19  Chris Blumenberg  <cblu@apple.com>
23340
23341        Fixed: <rdar://problem/3294803>: HTTP error sent as content instead of error to plug-ins
23342
23343
23344        Reviewed by john.
23345
23346        * Plugins.subproj/WebNetscapePluginStream.m:
23347        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): if the response is an error, cancel the load, return a network error
23348
23349=== Safari-85.1 ===
23350
233512003-06-15  Vicki Murley  <vicki@apple.com>
23352
23353        Reviewed by darin.
23354
23355        * WebKit.pbproj/project.pbxproj: remove SECTORDER_FLAGS variable, so that we don't use order file for our Panther submission
23356
23357=== Safari-85 ===
23358
233592003-06-13  Darin Adler  <darin@apple.com>
23360
23361        Reviewed by Darin (Richard wrote the first cut), then Don and Dave.
23362
23363        - fixed 3291467 -- CARBON: context menus are broken when using WebKit from Carbon
23364
23365        * Carbon.subproj/HIWebView.m: (ContextMenuClick): Rewrite method to create a fake
23366        right mouse up event, and pass that to menuForEvent: and _popUpMenuWithEvent.
23367
233682003-06-13  Darin Adler  <darin@apple.com>
23369
23370        Reviewed by Chris.
23371
23372        - fixed 3291778 -- REGRESSION (51-52): QT controller never shows up for mp3 in frame
23373
23374        * Plugins.subproj/WebBaseNetscapePluginView.m:
23375        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
23376        Handle the "invisible" plug-in cases in a more complete way.
23377        Detect the various ways of being invisible (big negative X value, 0 size,
23378        not really in a window) and in all those cases, use a clip rect to guarantee
23379        we won't be seen, and make sure the size passed to the plug-in is *not* 0.
23380
23381        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
23382
233832003-06-13  David Hyatt  <hyatt@apple.com>
23384
23385        Fix for 3291319, scrolling is much worse since 79.  The problem
23386        was a fix for resize events that needed to use the scrollview size
23387        and not the document view size inside the scrollview.
23388        Reviewed by darin
23389
23390        * WebView.subproj/WebHTMLView.m:
23391        (-[WebHTMLView layoutToPageWidth:]):
23392        * WebView.subproj/WebHTMLViewPrivate.h:
23393
233942003-06-13  Chris Blumenberg  <cblu@apple.com>
23395
23396        Fixed previous " Reviewed by" string.
23397
23398        * ChangeLog:
23399
234002003-06-13  Chris Blumenberg  <cblu@apple.com>
23401
23402        Fixed: <rdar://problem/3291502>: REGRESSION (80-81): freebsd.org is giving us gzipped content (because we stopped spoofing)
23403
23404        Reviewed by john.
23405
23406        * WebView.subproj/WebUserAgentSpoofTable.c:
23407        (hash):
23408        (_web_findSpoofTableEntry):
23409        * WebView.subproj/WebUserAgentSpoofTable.gperf:
23410
234112003-06-12  Richard Williamson  <rjw@apple.com>
23412
23413        Restoring fix for 3221078 that I earlier backed out in a
23414        panic about performance.  In careful performance testing
23415        I now see no performance regression, and maybe a tiny improvement.
23416        The earlier performance regression Vicki saw was entirely
23417        due to the incorrect checkin for the fix to 3288532.
23418
23419        Reviewed by Chris & Gramps.
23420
23421        * WebCoreSupport.subproj/WebTextRenderer.h:
23422        * WebCoreSupport.subproj/WebTextRenderer.m:
23423
234242003-06-12  Richard Williamson  <rjw@apple.com>
23425
23426        Correct fix for 3288532 again.  This time will feeling!
23427
23428        Reviewed by Gramps.
23429
23430        * History.subproj/WebBackForwardList.m:
23431        (-[WebBackForwardList setCapacity:]):
23432
234332003-06-12  Don Melton  <gramps@apple.com>
23434
23435        Since Richard didn't actually correct the fix for 3288532 in
23436        WebBackForwardList.m, I've backed out out his original fix entirely.
23437
23438        * History.subproj/WebBackForwardList.m:
23439        (-[WebBackForwardList setCapacity:]):
23440
234412003-06-12  Richard Williamson   <rjw@apple.com>
23442
23443        Correct fix for 3288532.
23444
23445        * History.subproj/WebBackForwardList.m:
23446
234472003-06-12  Richard Williamson   <rjw@apple.com>
23448
23449        Fixed 3288532.  When setCapacity: shrinks capacity, trim
23450        the back/forward list.  Setting to zero will effectively
23451        flush the list.
23452
23453        Reviewed by John.
23454
23455        * History.subproj/WebBackForwardList.m:
23456
234572003-06-12  Richard Williamson   <rjw@apple.com>
23458
23459        Fixed 3221078.  Maintain a seperate width map
23460        for substitute fonts to avoid collision of glyph
23461        codes.
23462
23463        Reviewed by Chris & Gramps.
23464
23465        * WebCoreSupport.subproj/WebTextRenderer.h:
23466        * WebCoreSupport.subproj/WebTextRenderer.m:
23467
23468=== Safari-84 ===
23469
234702003-06-12  Darin Adler  <darin@apple.com>
23471
23472        Fixed by Richard, reviewed by me.
23473
23474        - fixed 3289047 -- REGRESSION: can't go back after using form at attwireless.com
23475
23476        * WebCoreSupport.subproj/WebBridge.m:
23477        (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
23478        Added isJavaScriptFormAction parameter, passed on to frame.
23479
23480        * WebView.subproj/WebFramePrivate.h: Added isJavaScriptFormAction parameter.
23481        * WebView.subproj/WebFramePrivate.m:
23482        (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
23483        If isJavaScriptFormAction is YES, then don't treat this is a "quick redirect" which is
23484        merged with the previous page for purposes of back/forward.
23485
234862003-06-11  Chris Blumenberg  <cblu@apple.com>
23487
23488        Fixed: <rdar://problem/3289577>: Reenable Carbon Java plug-ins when in Carbon app
23489
23490        Reviewed by gramps.
23491
23492        * Plugins.subproj/WebPluginDatabase.m:
23493        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): only call canUsePlugin: for web plug-ins
23494
234952003-06-11  Chris Blumenberg  <cblu@apple.com>
23496
23497        Fixed: <rdar://problem/3289380>: REGRESSION: policyDataSource == nil assertion failure after closing particular window
23498
23499
23500        Reviewed by john.
23501
23502        * WebView.subproj/WebFramePrivate.m:
23503        (-[WebFrame _continueAfterNavigationPolicy:]): don't clear policyDataSource here because this method may not be called during navigation
23504        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): clear policyDataSource here 
23505
235062003-06-11  Chris Blumenberg  <cblu@apple.com>
23507
23508        Fixed: <rdar://problem/3288097>: REGRESSION: assertion failure after hitting back while loading page after fragment scroll
23509
23510        Fixed by darin, reviewed by me.
23511
23512        * WebView.subproj/WebFramePrivate.m:
23513        (-[WebFrame _URLsMatchItem:]): ignore the URL fragment so we scroll back at the current page instead of attempt to load the current page 
23514        
235152003-06-11  Darin Adler  <darin@apple.com>
23516
23517        Reviewed by John.
23518
23519        - fixed 3285808 -- repro world leak when replacing div that contains iframe (at www.kbs.co.kr)
23520
23521        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameDetached]):
23522        Add a call to _detachFromParent.
23523        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _removeChild:]):
23524        Nil out the parent pointer in the removed child.
23525
235262003-06-10  Chris Blumenberg  <cblu@apple.com>
23527
23528        Fixed: <rdar://problem/3288076>: REGRESSION: Fragment scroll stops page load
23529
23530        We do policy navigation checks for the regular load case, fragment scroll and redirects.
23531        We only want to stop the load, change the provisional data source etc in the regular load case. 
23532
23533        Reviewed by darin.
23534
23535        * WebView.subproj/WebFramePrivate.m: got rid of _prepareForProvisionalLoadWithDataSource:: since the work done in this method only needs to be done in _continueLoadRequestAfterNavigationPolicy:: (which covers the regular load case).
23536        (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): don't clear policyDataSource because it needs to be called in _continueLoadRequestAfterNavigationPolicy::
23537        (-[WebFrame _setPolicyDataSource:]): new
23538        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): don't call _prepareForProvisionalLoadWithDataSource::, don't muck with policyDataSource because it is only needed in the regular load case
23539        (-[WebFrame _continueAfterNavigationPolicy:]): don't call _prepareForProvisionalLoadWithDataSource::, call _setPolicyDataSource:nil after _continueLoadRequestAfterNavigationPolicy:: has used policyDataSource
23540        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): this method covers the regular load case. This is where we need to stop the load, set the load type and the provisional data source. Code was in _prepareForProvisionalLoadWithData
23541
23542
23543
23544
23545Source::
23546        (-[WebFrame _loadDataSource:withLoadType:formState:]): set the policyLoadType and policyDataSource (the beginning of the regular load case)
23547
235482003-06-10  Richard Williamson   <rjw@apple.com>
23549
23550        Back out incorrect fix to 3287862.
23551
235522003-06-10  Chris Blumenberg  <cblu@apple.com>
23553
23554        Fixed: <rdar://problem/3156169>: cmd-click opens new win but stops loading in prev win
23555
23556        Reviewed by rjw.
23557
23558        * WebView.subproj/WebFrame.m:
23559        (-[WebFrame stopLoading]): set the provisional data source to nil to avoid a newly added assert in [WebFramePrivate setProvisionalDataSource:] 
23560        and since it is wasteful to retain it in this case
23561        * WebView.subproj/WebFramePrivate.h: added policyDataSource and policyLoadType ivars
23562        * WebView.subproj/WebFramePrivate.m:
23563        (-[WebFramePrivate dealloc]): added an assert
23564        (-[WebFramePrivate setProvisionalDataSource:]): added an assert
23565        (-[WebFrame _isLoadComplete]): formatting tweak
23566        (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): reset policyDataSource
23567        (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]): formatting tweak
23568        (-[WebFrame _prepareForProvisionalLoadWithDataSource:loadType:]): new, calls stopLoading, _setLoadType and _setProvisionalDataSource
23569        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): call _prepareForProvisionalLoadWithDataSource:loadType: only in the "use" policy case
23570        (-[WebFrame _continueAfterNavigationPolicy:]): call _setProvisionalDataSource:andLoadType:
23571        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): formatting tweak
23572        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): formatting tweak
23573        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): if there is no request to continue with, don't reset things like the provisional data source since it was never unset in this case
23574        (-[WebFrame _loadDataSource:withLoadType:formState:]): don't call stopLoading, _setLoadType and _setProvisionalDataSource, since that stops the frame even for command-click and option-click. Do this work in _prepareForProvisionalLoadWithDataSource
23575
23576
23577
23578
23579:loadType: instead.
23580
235812003-06-10  Richard Williamson   <rjw@apple.com>
23582
23583        Fixed 3287862.  Don't override resize flags
23584        when decoding WebView.
23585
23586        Reviewed by Chris.
23587
23588        * WebView.subproj/WebView.m:
23589        (-[WebView _commonInitializationFrameName:groupName:]):
23590
235912003-06-10  Chris Blumenberg  <cblu@apple.com>
23592
23593        Fixed: <rdar://problem/3286006>: Carbon Java plug-in problems may require workaround in WebKit
23594
23595        Reviewed by john.
23596
23597        * Plugins.subproj/WebPluginDatabase.m:
23598        (-[WebPluginDatabase canUsePlugin:]): if in a carbon app, only use the mach-o java plug-in when its version is anything but 1.0.0
23599        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): call canUsePlugin on all the plug-ins
23600
23601
236022003-06-10  Vicki Murley  <vicki@apple.com>
23603
23604        Reviewed by john. 
23605
23606        * WebKit.order: new order file for 1.0
23607
236082003-06-09  Chris Blumenberg  <cblu@apple.com>
23609
23610        * WebView.subproj/WebDataSource.h: Removed FIXME related to pageTitle.
23611
236122003-06-09  Chris Blumenberg  <cblu@apple.com>
23613
23614        <rdar://problem/3283359>: don't load Cocoa Java plug-in if in Carbon app
23615
23616
23617        Reviewed by darin.
23618
23619        * Plugins.subproj/WebPluginDatabase.h: removed pluginForFilename, wasn't being used
23620        * Plugins.subproj/WebPluginDatabase.m:
23621        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): don't use the plug-in if ![self isCocoa] && [[[webPlugin bundle] bundleIdentifier] isEqualToString:JavaCocoaPluginIdentifier]
23622
236232003-06-09  Chris Blumenberg  <cblu@apple.com>
23624
23625        Fixed: <rdar://problem/3284848>: REGRESSION: repro crash in Flash handling null event, going back to Japanese Disney page
23626
23627        When restarting plug-ins from the BF cache, we were not calling NPP_SetWindow.
23628
23629        Reviewed by darin.
23630
23631        * Plugins.subproj/WebBaseNetscapePluginView.m:
23632        (-[WebBaseNetscapePluginView stop]): set the window type to 0 to force the calling of NPP_SetWindow 
23633
23634=== Safari-83 ===
23635
236362003-06-07  Darin Adler  <darin@apple.com>
23637
23638        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
23639
236402003-06-07  Darin Adler  <darin@apple.com>
23641
23642        Rolled out Chris's fix for 3156169 because it was causing a lot of crashes
23643        and problems with basic behavior. We can try again later.
23644        
23645        One of the problems was that Back wasn't working. Another was that you could
23646        not follow the link at the top of the page at kbb.com. More testing seemed to
23647        reveal still more problems.
23648        
23649        * WebView.subproj/WebFramePrivate.h: Rolled back to previous version.
23650        * WebView.subproj/WebFramePrivate.m: Ditto.
23651
236522003-06-06  Richard Williamson  <rjw@apple.com>
23653
23654        Fixed 3283236.  Remove use of forward declarations in public header because
23655        CodeWarrior pukes on 'em.
23656
23657        Reviewed by Chris.
23658
23659        * WebView.subproj/WebDataSource.h:
23660
236612003-06-06  Chris Blumenberg  <cblu@apple.com>
23662
23663        Fixed: <rdar://problem/3156169>: cmd-click opens new win but stops loading in prev win
23664
23665        Reviewed by darin.
23666
23667        * WebView.subproj/WebFramePrivate.h: added policyDataSource and policyLoadType as ivars
23668        * WebView.subproj/WebFramePrivate.m:
23669        (-[WebFramePrivate dealloc]): added ASSERT
23670        (-[WebFramePrivate setProvisionalDataSource:]): added ASSERT
23671        (-[WebFrame _isLoadComplete]): formatting tweak
23672        (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): clear policyDataSource
23673        (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]): formatting tweak
23674        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): retain policyDataSource
23675        (-[WebFrame _continueAfterNavigationPolicy:]): stop the load, set the load type, set the provisional data source in the "use" case
23676        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): formatting tweak
23677        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): don't reset things if something other than "use" has been chosen
23678        (-[WebFrame _loadDataSource:withLoadType:formState:]): DON'T stop the load, set the load type, set the provisional data source
23679
236802003-06-06  Chris Blumenberg  <cblu@apple.com>
23681
23682        Fixed: <rdar://problem/3282881>: Java plugin fails in carbon WebKit apps
23683
23684        Fixed by Mike Hay, reviewed by me.
23685
23686        * Plugins.subproj/WebPluginDatabase.m:
23687        (-[WebPluginDatabase initIsCocoa]):
23688        (-[WebPluginDatabase isCocoa]):
23689        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): don't load cocoa plug-ins if isCocoa.
23690
236912003-06-05  John Sullivan  <sullivan@apple.com>
23692
23693        - fixed 3266216 -- repro crash in 
23694        -[WebBaseResourceHandleDelegate connection:didReceiveData:] 
23695        in GIA Application
23696
23697        The problem was that an NSURLConnection delegate object (in this 
23698        case a WebMainResourceClient) was being dealloc'ed during one of
23699        its connection delegate methods. To prevent this kind of problem,
23700        I added [self retain]/[self release] guards around the meat of
23701        all of the connection delegate methods in which arbitrary code
23702        could be run. Another approach would be to do this retain/release
23703        pair in NSURLConnection, but Darin deemed it wiser not to muck with
23704        Foundation at this point for this issue.
23705
23706        Reviewed by Darin
23707
23708        * Plugins.subproj/WebNetscapePluginStream.m:
23709        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]):
23710        guard with [self retain]/[self release]
23711        (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:]):
23712        ditto
23713        (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]):
23714        ditto
23715
23716        * WebCoreSupport.subproj/WebSubresourceClient.m:
23717        (-[WebSubresourceClient connection:didReceiveResponse:]):
23718        ditto
23719        (-[WebSubresourceClient connection:didReceiveData:]):
23720        ditto
23721
23722        * WebView.subproj/WebBaseResourceHandleDelegate.m:
23723        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
23724        ditto
23725        (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]):
23726        ditto
23727        (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]):
23728        ditto
23729        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
23730        ditto
23731        (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
23732        ditto. Also, commented out two assertions that fire illegitimately in the steps in
23733        this bug report.
23734        (-[WebBaseResourceHandleDelegate connection:didFailWithError:]):
23735        ditto
23736
23737        * WebView.subproj/WebMainResourceClient.m:
23738        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
23739        ditto
23740        (-[WebMainResourceClient connection:didReceiveResponse:]):
23741        ditto
23742        (-[WebMainResourceClient connection:didReceiveData:]):
23743        ditto
23744
237452003-06-04  Richard Williamson   <rjw@apple.com>
23746
23747        Fixed 3277775.  Send less notifications.  Notifcations suck!
23748
23749        Reviewed by David.
23750
23751        * WebView.subproj/WebViewPrivate.h:
23752        * WebView.subproj/WebViewPrivate.m:
23753        (-[WebViewPrivate init]):
23754        (-[WebView _progressStarted]):
23755        (-[WebView _progressCompleted]):
23756        (-[WebView _incrementProgressForConnection:data:]):
23757
237582003-06-04  Darin Adler  <darin@apple.com>
23759
23760        Reviewed by John.
23761
23762        - fixed 3277675 -- REGRESSION: mouse wheel events not coalesced
23763
23764        * WebView.subproj/WebHTMLViewPrivate.m: (-[WebNSWindow nextEventMatchingMask:untilDate:inMode:dequeue:]):
23765        When the mask is scroll wheel mask, instead of getting no events, do some tricks to get the next
23766        event if it is a scroll wheel event, and nothing otherwise. Also ifdef the fix so we don't compile
23767        it on Panther, since the underlying bug was fixed on Panther.
23768    
23769        - other changes
23770
23771        * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer copyWithZone:]):
23772        Remove unneeded line of code. The super function copies all simple fields for us.
23773
23774        * Plugins.subproj/WebBaseNetscapePluginView.m:
23775        (-[WebBaseNetscapePluginView setMIMEType:]): Use copy instead of retain, do it in the right order
23776        to avoid "same object release/retain" disease.
23777        (-[WebBaseNetscapePluginView setBaseURL:]): Do retain before release (same reason as above).
23778
237792003-06-03  Chris Blumenberg  <cblu@apple.com>
23780
23781        Fixed: 3278496 - <rdar://problem/3278496>:        NSURLDownload: initWithSource and source should be renamed to initWithRequest and request
23782
23783        Reviewed by rjw.
23784
23785        * Misc.subproj/WebDownload.m:
23786        (-[WebDownload initWithRequest:delegate:]):
23787        (-[WebDownload _initWithRequest:delegate:directory:]):
23788        * WebView.subproj/WebImageView.m:
23789        (-[WebImageView setNeedsDisplay:]):
23790        * WebView.subproj/WebViewPrivate.m:
23791        (-[WebView _downloadURL:toDirectory:]):
23792
237932003-06-03  Richard Williamson   <rjw@apple.com>
23794        Fixed 3263188, 3274636.
23795        Written by Ed Voas.  Reviewed by Richard.
23796
23797        * Carbon.subproj/CarbonUtils.m:
23798        (WebInitForCarbon):
23799        Ensure the process info is correctly initialized so the correct
23800        "flavour" (carbon) is detected.
23801
23802        * Carbon.subproj/HIWebView.m:
23803        (Draw):
23804        Always draw the growbox after drawing the web view,
23805        assuming overlap.
23806
23807=== Safari-82 ===
23808
238092003-06-03  Chris Blumenberg  <cblu@apple.com>
23810
23811        Fixed: <rdar://problem/3167792>: hang in _web_dragPromisedImage dragging 4 MB image
23812
23813        Reviewed by john.
23814
23815        * Misc.subproj/WebNSViewExtras.m:
23816        (-[NSView _web_dragPromisedImage:rect:URL:fileType:title:event:]): if the original image is greater than 1500x1500, use a file icon for the drag image to avoid hanging
23817
238182003-06-02  Richard Williamson  <rjw@apple.com>
23819
23820        Fix for 3250352.
23821
23822        Reviewed by Chris.
23823
23824        * WebView.subproj/WebDataSourcePrivate.m:
23825        (-[WebDataSource _startLoading:]):
23826        Check respondsToSelector: before calling.
23827
23828        * WebView.subproj/WebResourceLoadDelegate.h:
23829        * WebView.subproj/WebUIDelegate.h:
23830        Headerdoc tweaks.
23831
23832=== Safari-81 ===
23833
238342003-06-02  Chris Blumenberg  <cblu@apple.com>
23835
23836        Fixed: <rdar://problem/3154910>: No video when viewing QT plug-in content at some pages but audio works
23837
23838        This fix works around QT plug-in bug 3275755, but I think the fix is logical and worth keeping even after 3275755 is fixed.
23839
23840
23841        Eric Carlson:
23842        The problem happens when you call NPP_SetWindow with a 0 width or height more than once. The first call to NPP_SetWindow always seems to have width and height set to 0, but the next call sometimes has it set to the correct values (those in the EMBED tag)
23843
23844
23845
23846
23847. This is when it draws successfully. It seems to me that the fix is to always pass the correct width and height to NPP_SetWindow. You always position the plug-in far offscreen (1000000, -52) and set the clip region to an empty rect (48576, 52, 48576, 52)
23848
23849
23850
23851
23852 so there isn't really any danger of the plug-in drawing anyway. Additionally, you pass the correct width and height in the call to NPP_New before the first call to NPP_SetWindow.
23853
23854        Reviewed by john, darin.
23855
23856        * Plugins.subproj/WebBaseNetscapePluginView.h:
23857        * Plugins.subproj/WebBaseNetscapePluginView.m:
23858        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): use the NSView width and height if greater than 0, else use the tag specified width and height
23859        (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): new
23860        (-[WebBaseNetscapePluginView setWindow]): NPP_SetWindow may be expensive, only call it if it has changed
23861        * Plugins.subproj/WebNetscapePluginPackage.m:
23862        (-[WebNetscapePluginPackage launchRealPlayer]): tweak, no need to store error code since it is ignored
23863
238642003-05-30  Richard Williamson  <rjw@apple.com>
23865
23866        Fixed 3272516.  Items are now expired from the
23867        b/f cache if they are older than 30 minutes.  This
23868        number was pulled out of our #!$es.  Also did
23869        some cleanup of the b/f cache code.
23870
23871        Reviewed by Ken.
23872
23873        * WebCoreSupport.subproj/WebBridge.m:
23874        (-[WebBridge saveDocumentToPageCache:]):
23875        * WebView.subproj/WebFramePrivate.h:
23876        * WebView.subproj/WebFramePrivate.m:
23877        (-[WebFrame _transitionToCommitted:]):
23878        (-[WebFrame _createPageCacheForItem:]):
23879        (-[WebFrame _setState:]):
23880        (-[WebFrame _loadItem:withLoadType:]):
23881        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
23882        * WebView.subproj/WebPreferences.m:
23883        (+[WebPreferences initialize]):
23884        (-[WebPreferences _resourceTimedLayoutEnabled]):
23885        (-[WebPreferences _backForwardCacheExpirationInterval]):
23886        * WebView.subproj/WebPreferencesPrivate.h:
23887        * WebView.subproj/WebView.h:
23888
23889        * WebView.subproj/WebPreferences.h: Cleaned up some headerdoc
23890        comments.
238912003-05-29  Richard Williamson   <rjw@apple.com>
23892
23893        Implemented 'estimatedProgress' method on WebView.  This should
23894        eventually replace the broken algorithm on WebBrowser.  Maybe
23895        for panther.
23896
23897        Reviewed by Chris.
23898
23899        * WebKit.exp:
23900        * WebView.subproj/WebBaseResourceHandleDelegate.m:
23901        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
23902        (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
23903        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
23904        (-[WebBaseResourceHandleDelegate connection:didFailWithError:]):
23905        (-[WebBaseResourceHandleDelegate cancelWithError:]):
23906        * WebView.subproj/WebDataSourcePrivate.m:
23907        (-[WebDataSource _startLoading:]):
23908        * WebView.subproj/WebFramePrivate.h:
23909        * WebView.subproj/WebFramePrivate.m:
23910        (-[WebFrame _isLoadComplete]):
23911        (-[WebFrame _numPendingOrLoadingRequests:]):
23912        * WebView.subproj/WebView.h:
23913        * WebView.subproj/WebView.m:
23914        (-[WebView estimatedProgress]):
23915        * WebView.subproj/WebViewPrivate.h:
23916        * WebView.subproj/WebViewPrivate.m:
23917        (-[WebViewPrivate dealloc]):
23918        (-[WebView _isPerformingProgrammaticFocus]):
23919        (-[WebView _progressStarted]):
23920        (-[WebView _progressCompleted]):
23921        (-[WebView _incrementProgressForConnection:data:]):
23922        (-[WebView _completeProgressForConnection:]):
23923
23924        Code cleanup.  Moved variable initialization into block that
23925        check for non-nil self.
23926
23927        * WebCoreSupport.subproj/WebImageRenderer.m:
23928        (-[WebImageRenderer initWithMIMEType:]):
23929        (-[WebImageRenderer initWithData:MIMEType:]):
23930        (-[WebImageRenderer initWithContentsOfFile:]):
23931
239322003-05-29  Richard Williamson   <rjw@apple.com>
23933
23934        Fixed 3272226.  The shared image factory was being released
23935        when any renderer had 0 reps!
23936
23937        Reviewed by John.
23938
23939        * WebCoreSupport.subproj/WebImageRendererFactory.m:
23940        (-[WebImageRendererFactory imageRendererWithMIMEType:]):
23941
239422003-05-29  Chris Blumenberg  <cblu@apple.com>
23943
23944        Fixed: 3151216 - Safari crashes on Drag&Drop if plugin dialog is open
23945        Reviewed by rjw.
23946
23947        * Misc.subproj/WebNSViewExtras.m:
23948        (-[NSView _web_dragOperationForDraggingInfo:]): return NSDragOperationNone is the app has a modal window so the current page can't be changed with a drag
23949        * WebView.subproj/WebView.m:
23950        (-[WebView draggingEntered:]): return _web_dragOperationForDraggingInfo
23951
239522003-05-29  Chris Blumenberg  <cblu@apple.com>
23953
23954        Fixed: 3273109 - leak from functionPointerForTVector in -[WebNetscapePluginPackage load]
23955
23956        * Plugins.subproj/WebNetscapePluginPackage.m:
23957        (-[WebNetscapePluginPackage load]): free the main function after using it
23958
239592003-05-29  Richard Williamson   <rjw@apple.com>
23960        Fixed 3273115.  Always use pixel dimensions,
23961        not absolute dimensions.
23962
23963        Reviewed by Ken.
23964
23965        * WebCoreSupport.subproj/WebImageRenderer.m:
23966        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
23967
239682003-05-29  Richard Williamson   <rjw@apple.com>
23969
23970        Fix 3272292.  Ensure that loadStatus is always
23971        initialized to NSImageRepLoadStatusUnknownType.
23972
23973        Reviewed by Chris.
23974
23975        * WebCoreSupport.subproj/WebImageRenderer.m:
23976        (-[WebImageRenderer initWithMIMEType:]):
23977        (-[WebImageRenderer initWithData:MIMEType:]):
23978        (-[WebImageRenderer initWithContentsOfFile:]):
23979
239802003-05-28  Ken Kocienda  <kocienda@apple.com>
23981
23982        Reviewed by Richard
23983
23984        Fix for this bug:
23985
23986        Radar 3260323 (Some links at nike.com cause assertion failure 
23987        (connectionDidFinishLoading sent after cancel))
23988
23989        Added a flag which is set when a load is cancelled. This flag prevents
23990        bad behvior when loads that finish cause the load itself to be
23991        cancelled (which could happen with a javascript that changes the
23992        window location). This is used to prevent both the body of
23993        cancelWithError: and the body of connectionDidFinishLoading: running
23994        for a single delegate. Cancelling wins.
23995
23996        * WebView.subproj/WebBaseResourceHandleDelegate.h:
23997        * WebView.subproj/WebBaseResourceHandleDelegate.m:
23998        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
23999        (-[WebBaseResourceHandleDelegate cancelWithError:]):
24000
240012003-05-28  Chris Blumenberg  <cblu@apple.com>
24002
24003        Fixed: 3270576 - RealPlayer plug-in fails to load
24004
24005        Reviewed by darin.
24006
24007        * Plugins.subproj/WebNetscapePluginPackage.m:
24008        (-[WebNetscapePluginPackage launchRealPlayer]): new
24009        (-[WebNetscapePluginPackage load]): call launchRealPlayer to regenerate its broken plist file
24010
240112003-05-28  Richard Williamson   <rjw@apple.com>
24012
24013        Fixed 3165631 (and other similar).
24014        Fixed 3262592.
24015
24016        We now set NSImage's cache mode to NSImageCacheNever during
24017        progressive loads.  It gets reset to NSImageCacheDefault when
24018        loads complete.
24019
24020        If an image is scaled, NSImage appears to create a NSCacheImageRep
24021        with the wrong size during progessive image loading.  Specifically
24022        it appears to create a cached rep with the original size.
24023
24024        Reviewed by Chris.
24025
24026        * WebCoreSupport.subproj/WebImageRenderer.m:
24027        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
24028        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
24029        * WebCoreSupport.subproj/WebImageRendererFactory.m:
24030        (-[WebImageRendererFactory imageRendererWithMIMEType:]):
24031
24032        * WebView.subproj/WebPreferences.h:
24033        Updated headerdoc comments.
24034
240352003-05-27  Chris Blumenberg  <cblu@apple.com>
24036
24037        Fixed: 3233442 - Crash in -[WebNetscapePluginPackage load] at http://www.adultswim.com/
24038
24039        Reviewed by mjs.
24040
24041        * Plugins.subproj/WebNetscapePluginPackage.m:
24042        (-[WebNetscapePluginPackage load]): don't call NPP_Shutdown if the plug-in fails to load
24043
240442003-05-27  Chris Blumenberg  <cblu@apple.com>
24045
24046                Don't load and save icons if the icon DB directory default is not set.
24047
24048        Reviewed by darin.
24049
24050        * Misc.subproj/WebIconDatabase.m:
24051        (-[WebIconDatabase _createFileDatabase]): don't create the DB if the default is not set
24052        (-[WebIconDatabase _loadIconDictionaries]): don't load the dictionaries if the DB doesn't exist
24053        (-[WebIconDatabase _updateFileDatabase]): don't update the DB if it doesn't exist
24054        * WebView.subproj/WebDataSourcePrivate.m:
24055        (-[WebDataSource _loadIcon]): don't load icons if the icon DB directory default is not set
24056
240572003-05-27  Maciej Stachowiak  <mjs@apple.com>
24058
24059        Rolled in fix from Safari-80~1-branch
24060    2003-05-27  Maciej Stachowiak  <mjs@apple.com>
24061        
24062        Reviewed by Darin.
24063
24064        * WebKit.pbproj/project.pbxproj: Removed no longer needed and harmful flag.
24065
240662003-05-27  Richard Williamson   <rjw@apple.com>
24067
24068        Fix for IB.
24069
24070        Reviewed by Eric Seymour.
24071
24072        * WebView.subproj/WebPreferences.m:
24073        (-[WebPreferences initWithIdentifier:]):
24074        Added retain to uniqued instance.  (As we did recently
24075        for initWithCoder:). 
24076
240772003-05-27  Chris Blumenberg  <cblu@apple.com>
24078
24079        Fixed: 3270013 - Exception raised when visiting http://www.shutterfly.com/favicon.ico
24080
24081        Reviewed by john.
24082
24083        * WebCoreSupport.subproj/WebImageRendererFactory.m:
24084        (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]): return nil if the image has no representations
24085
240862003-05-27  Chris Blumenberg  <cblu@apple.com>
24087
24088        Fixed: 3242864 - repro assertion failure in WebIconDatabase.m for www.shutterfly.com
24089
24090        Reviewed by john.
24091
24092        * Misc.subproj/WebIconLoader.m:
24093        (-[WebIconLoader connectionDidFinishLoading:]): don't set the icon on the DB if it has no representations
24094
240952003-05-27  Richard Williamson   <rjw@apple.com>
24096
24097        Fixes for IB.
24098
24099        Reviewed by Eric Seymour.
24100
24101        * WebView.subproj/WebPreferences.m:
24102        (-[WebPreferences initWithCoder:]):
24103        Added retain to uniqued instance 
24104
24105        * WebView.subproj/WebView.m:
24106        (-[WebView initWithCoder:]):
24107        (-[WebView setPreferences:]):
24108        Added release check to global uniquing dictionary.
24109
241102003-05-23  Richard Williamson   <rjw@apple.com>
24111
24112        Tweaks for IB.
24113        Updated WebView and WebPreferences to use
24114        keyed archiving.
24115        Added private method to export settable user
24116        defaults keys.
24117
24118        Reviewed by Ken.
24119
24120        * WebView.subproj/WebPreferences.m:
24121        (-[WebPreferences initWithCoder:]):
24122        (+[WebPreferences _userDefaultsKeysForIB]):
24123        * WebView.subproj/WebPreferencesPrivate.h:
24124        * WebView.subproj/WebView.m:
24125        (-[WebView initWithCoder:]):
24126
241272003-05-23  Richard Williamson   <rjw@apple.com>
24128
24129        Added export of _WebHistoryItemChangedNotification.
24130
24131        * WebKit.exp:
24132
241332003-05-23  Chris Blumenberg  <cblu@apple.com>
24134
24135        Fixed: 3259426 - Can't copy mailto links to clipboard
24136
24137        Reviewed by john.
24138
24139        * WebView.subproj/WebDefaultContextMenuDelegate.m:
24140        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): offer "Copy Link to Clipboard" for all links
24141
241422003-05-22  Richard Williamson   <rjw@apple.com>
24143
24144        *** Public API change ***
24145        100% compatible.  Added notification when history items
24146        change values.
24147
24148        Fixed 3265672
24149        Reviewed by John.
24150
24151        * History.subproj/WebHistoryItem.h:
24152        * History.subproj/WebHistoryItem.m:
24153        (-[WebHistoryItem setAlternateTitle:]):
24154        (-[WebHistoryItem setURL:]):
24155        (-[WebHistoryItem setOriginalURLString:]):
24156        (-[WebHistoryItem setTitle:]):
24157        (-[WebHistoryItem _setLastVisitedTimeInterval:]):
24158
241592003-05-22  Richard Williamson   <rjw@apple.com>
24160
24161        Fixed 3266464.  Build problem on panther caused by overly
24162        pedantic gcc.
24163
24164        Reviewed by John.
24165
24166        * WebView.subproj/WebPreferences.m:
24167        (-[WebPreferences initWithCoder:]):
24168        * WebView.subproj/WebView.m:
24169        (-[WebView initWithCoder:]):
24170
241712003-05-22  Richard Williamson   <rjw@apple.com>
24172
24173        Add _web to method in category name.
24174
24175        Fixed 3266102.  @selector missing ":".
24176
24177        Reviewed by Darin.
24178
24179        * WebView.subproj/WebPreferences.m:
24180        (+[WebPreferences _removeReferenceForIdentifier:]):
24181        (-[NSMutableDictionary _web_checkLastReferenceForIdentifier:]):
24182
241832003-05-22  Darin Adler  <darin@apple.com>
24184
24185        Reviewed by John.
24186
24187        - removed all entries except for jaguar.com because:
24188            a) most of these sites now work fine without the spoofing or have gone away
24189            b) nj.com and oregonlive.com do not work, but the spoofing committee (Mark,
24190               Don, Dave, and me) decided we should stop spoofing and get them to fix
24191               the sites instead
24192          If we can resolve jaguar.com in a similar way, we can remove the spoofing
24193          feature altogether.
24194
24195        * WebView.subproj/WebUserAgentSpoofTable.gperf: Removed all but jaguar.com.
24196        * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
24197
241982003-05-21  Richard Williamson   <rjw@apple.com>
24199
24200        *** Public API Change ***
24201        The fix for 3265442 requires new API.  This API is an addition
24202        that is 100% compatible with the existing API.
24203        
24204        Provide support for IB to palettize WebView.
24205        
24206        Fixed 3265442.
24207        Fixed 3263106.
24208        
24209        Reviewed by Chris.
24210
24211        * WebView.subproj/WebPreferences.h:
24212        * WebView.subproj/WebPreferences.m:
24213        (-[WebPreferencesPrivate dealloc]):
24214        (-[WebPreferences init]):
24215        (-[WebPreferences initWithIdentifier:]):
24216        (-[WebPreferences initWithCoder:]):
24217        (-[WebPreferences encodeWithCoder:]):
24218        (+[WebPreferences standardPreferences]):
24219        (-[WebPreferences dealloc]):
24220        (-[WebPreferences identifier]):
24221        (-[WebPreferences _stringValueForKey:]):
24222        (-[WebPreferences _setStringValue:forKey:]):
24223        (-[WebPreferences _integerValueForKey:]):
24224        (-[WebPreferences _setIntegerValue:forKey:]):
24225        (-[WebPreferences _boolValueForKey:]):
24226        (-[WebPreferences _setBoolValue:forKey:]):
24227        (-[WebPreferences autosaves]):
24228        (+[WebPreferences _getInstanceForIdentifier:]):
24229        (+[WebPreferences _setInstance:forIdentifier:]):
24230        (+[WebPreferences _removeReferenceForIdentifier:]):
24231        (-[WebPreferences _postPreferencesChangesNotification]):
24232        (-[NSMutableDictionary _checkLastReferenceForIdentifier:]):
24233        * WebView.subproj/WebPreferencesPrivate.h:
24234        * WebView.subproj/WebView.h:
24235        * WebView.subproj/WebView.m:
24236        (-[WebView _commonInitializationFrameName:groupName:]):
24237        (-[WebView initWithCoder:]):
24238        (-[WebView encodeWithCoder:]):
24239        (-[WebView dealloc]):
24240        (-[WebView setPreferencesIdentifier:]):
24241        (-[WebView preferencesIdentifier]):
24242
242432003-05-21  Chris Blumenberg  <cblu@apple.com>
24244
24245        Fixed data source leak when viewing standalone plug-in content.
24246
24247        Reviewed by rjw.
24248
24249        * Plugins.subproj/WebBaseNetscapePluginStream.h: don't inherit from WebBaseResourceHandleDelegate
24250        * Plugins.subproj/WebBaseNetscapePluginStream.m:
24251        (-[WebBaseNetscapePluginStream transferMode]): new
24252        * Plugins.subproj/WebNetscapePluginRepresentation.m:
24253        (-[WebNetscapePluginRepresentation dealloc]): don't release the data source
24254        (-[WebNetscapePluginRepresentation setDataSource:]): don't retain the data source
24255        * Plugins.subproj/WebNetscapePluginStream.h:
24256        * Plugins.subproj/WebNetscapePluginStream.m:
24257        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): create a WebNetscapePluginConnectionDelegate
24258        (-[WebNetscapePluginStream dealloc]): release the WebNetscapePluginConnectionDelegate
24259        (-[WebNetscapePluginStream start]): start the load on the WebNetscapePluginConnectionDelegate
24260        (-[WebNetscapePluginStream stop]): start the load on the WebNetscapePluginConnectionDelegate
24261        (-[WebNetscapePluginConnectionDelegate initWithStream:view:]): new class, inherits from WebBaseResourceHandleDelegate
24262        (-[WebNetscapePluginConnectionDelegate _releaseResources]):
24263        (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]):
24264        (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:]):
24265        (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]):
24266        (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]):
24267        (-[WebNetscapePluginConnectionDelegate cancel]):
24268        * WebView.subproj/WebBaseResourceHandleDelegate.h:
24269        * WebView.subproj/WebBaseResourceHandleDelegate.m:
24270        (-[WebBaseResourceHandleDelegate response]): new
24271
242722003-05-21  Maciej Stachowiak  <mjs@apple.com>
24273
24274        Reviewed by John.
24275
24276        - fixed 3254473 - REGRESSION: nike help page reloads on mouseovers, triggered by onresize function
24277
24278        REGRESSION: reload loop due to onresize handler (fortune.com, flipdog.com, stanford.edu)
24279
24280        * WebView.subproj/WebHTMLView.m:
24281        (-[WebHTMLView layoutToPageWidth:]): Go back to checking for at least one
24282        layout instead of last layout event time. Measure size in a way that ignores
24283        whether the scrollbares are there or not.
24284        * WebView.subproj/WebHTMLViewPrivate.h: Remove last layout event time and
24285        add back laid out at least once boolean.
24286
242872003-05-21  Chris Blumenberg  <cblu@apple.com>
24288
24289        These problems:
24290        3184359 - icon exception closing window while typing
24291        3245476 - Safari-78 crashes or hangs after IMDB Find and using the history menu to go back ...
24292        are not or are no longer reproducible. They were caused by an exception raised in WebKit.
24293        Since we don't use exceptions in WebKit, I've replaced the exception with an assert.
24294                Reviewed by john.
24295
24296        * Misc.subproj/WebIconDatabase.m:
24297        (-[WebIconDatabase _releaseFutureIconForURL:]): assert instead of exception if failure
24298
242992003-05-21  Ed Voas <voas@apple.com> 
24300
24301        - fixed 3262868: Update Carbon WebKit API prefixes
24302        - fixed 3264980: Carbon support in WebKit needs to route mouse events properly
24303        Reviewed by Richard.
24304
24305        * Carbon.subproj/CarbonUtils.h:
24306        * Carbon.subproj/CarbonUtils.m:
24307        (WebInitForCarbon):
24308        (WebConvertNSImageToCGImageRef):
24309        * Carbon.subproj/HIWebView.h:
24310        * Carbon.subproj/HIWebView.m:
24311        (HIWebViewGetWebView):
24312        (OwningWindowChanged):
24313        (WindowHandler):
24314        (HIWebViewEventHandler):
24315        * WebKit.exp:
24316
243172003-05-21  Vicki Murley  <vicki@apple.com>
24318
24319        Reviewed by john 
24320        - fixed 3234553: Safari and its frameworks should link using order files
24321
24322        * WebKit.order: Added.
24323        * WebKit.pbproj/project.pbxproj: set SECTORDER_FLAGS = -sectorder __TEXT __text WebKit.order;
24324
243252003-05-20  Richard Williamson   <rjw@apple.com>
24326
24327        Fixed 3262825.
24328        Fixed 3245625.
24329        Fixed 3262547.
24330
24331        Recursively check items when going back/forward to ensure all
24332        frame URLs are correct.
24333
24334        Added some logging to help diagnose back/forward problems.
24335
24336        Reviewed by John.
24337
24338        * History.subproj/WebHistory.m:
24339        (-[WebHistory addItem:]):
24340        * Misc.subproj/WebKitLogging.h:
24341        * Misc.subproj/WebKitLogging.m:
24342        * WebView.subproj/WebDataSource.m:
24343        (-[WebDataSource initWithRequest:]):
24344        * WebView.subproj/WebFramePrivate.m:
24345        (-[WebFrame _createItem:]):
24346        (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):
24347        (-[WebFrame _transitionToCommitted:]):
24348        (-[WebFrame _URLsMatchItem:]):
24349        (-[WebFrame _loadItem:withLoadType:]):
24350
24351=== Safari-80 ===
24352
243532003-05-20  Ken Kocienda  <kocienda@apple.com>
24354
24355        Reviewed by Darin
24356
24357        Due to some header file changes in Foundation on Panther, 
24358        Tweaked some includes so that WebKit builds on Jaguar 
24359        and Panther.
24360
24361        * Carbon.subproj/CarbonWindowFrame.m:
24362        * Plugins.subproj/WebNetscapePluginPackage.m:
24363        * Plugins.subproj/WebPluginPackage.m:
24364
243652003-05-19  Maciej Stachowiak  <mjs@apple.com>
24366
24367        - fixed 3261096 - Make WebKit an umbrella framework
24368
24369        * WebKit.pbproj/project.pbxproj: Build WebKit as a public umbrella
24370        framework when doing a B&I build.
24371
243722003-05-19  Ken Kocienda  <kocienda@apple.com>
24373
24374        Reviewed by Darin
24375
24376        * Panels.subproj/WebAuthenticationPanel.m: Now imports Foundation/NSURLCredential.h
24377        * WebCoreSupport.subproj/WebCookieAdapter.m: Now imports Foundation/NSHTTPCookie.h
24378
243792003-05-19  Ken Kocienda  <kocienda@apple.com>
24380
24381        Reviewed by Darin
24382
24383        Changed imports to include headers from Foundation                   
24384        instead of WebFoundation. 
24385
24386        Removed WebFoundation.framework as a dependency in
24387        the project file.
24388
24389        * History.subproj/WebHistory.m:
24390        * History.subproj/WebHistoryItem.m:
24391        * History.subproj/WebHistoryPrivate.m:
24392        * History.subproj/WebURLsWithTitles.m:
24393        * Misc.subproj/WebDownload.h:
24394        * Misc.subproj/WebDownload.m:
24395        * Misc.subproj/WebFileDatabase.m:
24396        * Misc.subproj/WebIconDatabase.m:
24397        * Misc.subproj/WebIconLoader.m:
24398        * Misc.subproj/WebKitErrors.m:
24399        * Misc.subproj/WebKitErrorsPrivate.h:
24400        * Misc.subproj/WebNSPasteboardExtras.m:
24401        * Misc.subproj/WebNSViewExtras.m:
24402        * Panels.subproj/WebAuthenticationPanel.h:
24403        * Panels.subproj/WebAuthenticationPanel.m:
24404        * Panels.subproj/WebPanelAuthenticationHandler.h:
24405        * Panels.subproj/WebPanelAuthenticationHandler.m:
24406        * Plugins.subproj/WebBaseNetscapePluginStream.m:
24407        * Plugins.subproj/WebBaseNetscapePluginView.m:
24408        * Plugins.subproj/WebNetscapePluginDocumentView.m:
24409        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
24410        * Plugins.subproj/WebNetscapePluginRepresentation.m:
24411        * Plugins.subproj/WebNetscapePluginStream.m:
24412        * Plugins.subproj/WebNullPluginView.m:
24413        * Plugins.subproj/WebPluginController.m:
24414        * WebCoreSupport.subproj/WebBridge.m:
24415        * WebCoreSupport.subproj/WebCookieAdapter.m:
24416        * WebCoreSupport.subproj/WebImageRendererFactory.m:
24417        * WebCoreSupport.subproj/WebSubresourceClient.m:
24418        * WebKit.pbproj/project.pbxproj:
24419        * WebView.subproj/WebBaseResourceHandleDelegate.m:
24420        * WebView.subproj/WebDataProtocol.h:
24421        * WebView.subproj/WebDataProtocol.m:
24422        * WebView.subproj/WebDataSource.m:
24423        * WebView.subproj/WebDataSourcePrivate.m:
24424        * WebView.subproj/WebDefaultContextMenuDelegate.m:
24425        * WebView.subproj/WebDefaultFrameLoadDelegate.m:
24426        * WebView.subproj/WebDefaultPolicyDelegate.m:
24427        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
24428        * WebView.subproj/WebDefaultUIDelegate.m:
24429        * WebView.subproj/WebFrame.m:
24430        * WebView.subproj/WebFramePrivate.m:
24431        * WebView.subproj/WebFrameView.m:
24432        * WebView.subproj/WebFrameViewPrivate.m:
24433        * WebView.subproj/WebHTMLRepresentation.m:
24434        * WebView.subproj/WebHTMLViewPrivate.m:
24435        * WebView.subproj/WebImageRepresentation.m:
24436        * WebView.subproj/WebMainResourceClient.m:
24437        * WebView.subproj/WebPreferences.m:
24438        * WebView.subproj/WebTextRepresentation.m:
24439        * WebView.subproj/WebTextView.m:
24440        * WebView.subproj/WebUIDelegate.h:
24441        * WebView.subproj/WebView.m:
24442        * WebView.subproj/WebViewPrivate.m:
24443
244442003-05-16  Maciej Stachowiak  <mjs@apple.com>
24445
24446        Reviewed by John.
24447
24448        - fixed 3255088 - repro crash in WebCredentialStorage remembering password from onlinetrafficsafety.com
24449
24450        * WebView.subproj/WebFormDelegate.h:
24451        * WebView.subproj/WebFormDelegate.m:
24452        (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]): Expect sourceFrame
24453        argument.
24454        * WebView.subproj/WebFramePrivate.m:
24455        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): Include
24456        source frame in form state.
24457        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
24458        Include source frame in form state. Post directly to the target
24459        frame if it exists, since we want the form state to contain the
24460        right source frame.
24461        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Pass source frame to form
24462        delegate.
24463        (-[WebFormState initWithForm:values:sourceFrame:]): New sourceFrame argument.
24464        (-[WebFormState dealloc]): release sourceFrame.
24465        (-[WebFormState sourceFrame]): New method.
24466
244672003-05-16  Ken Kocienda  <kocienda@apple.com>
24468
24469        Reviewed by Gramps
24470
24471        Moved in WebDatabase and WebFileDatabase files from WebFoundation.
24472
24473        Copied NSLRUFileList from WebFoundation and renamed to WebLRUFileList.
24474
24475        Updated StringsNotToBeLocalized.txt.
24476
24477        * English.lproj/StringsNotToBeLocalized.txt:
24478        * Misc.subproj/WebDatabase.h:
24479        * Misc.subproj/WebDatabase.m:
24480        * Misc.subproj/WebFileDatabase.h:
24481        * Misc.subproj/WebFileDatabase.m:
24482        (-[WebFileDatabaseOp initWithCode:key:object:]):
24483        (-[WebFileDatabaseOp perform:]):
24484        (SetThreadPriority):
24485        (-[WebFileDatabase _createLRUList:]):
24486        (-[WebFileDatabase _truncateToSizeLimit:]):
24487        (+[WebFileDatabase _syncLoop:]):
24488        (-[WebFileDatabase setObject:forKey:]):
24489        (-[WebFileDatabase removeObjectForKey:]):
24490        (-[WebFileDatabase removeAllObjects]):
24491        (-[WebFileDatabase objectForKey:]):
24492        (-[WebFileDatabase performSetObject:forKey:]):
24493        (-[WebFileDatabase performRemoveObjectForKey:]):
24494        (-[WebFileDatabase close]):
24495        (-[WebFileDatabase lazySync:]):
24496        (-[WebFileDatabase sync]):
24497        (-[WebFileDatabase count]):
24498        (-[WebFileDatabase usage]):
24499        * Misc.subproj/WebIconDatabase.m:
24500        * Misc.subproj/WebKitLogging.h:
24501        * Misc.subproj/WebKitLogging.m:
24502        * Misc.subproj/WebLRUFileList.h: Added.
24503        * Misc.subproj/WebLRUFileList.m: Added.
24504        (WebLRUFileListCreate):
24505        (WebLRUFileListRelease):
24506        (WebLRUFileListRebuildFileDataUsingRootDirectory):
24507        (WebLRUFileListRemoveFileWithPath):
24508        (WebLRUFileListTouchFileWithPath):
24509        (WebLRUFileListSetFileData):
24510        (WebLRUFileListGetPathOfOldestFile):
24511        (WebLRUFileListRemoveOldestFileFromList):
24512        (WebLRUFileListContainsItem):
24513        (WebLRUFileListGetFileSize):
24514        (WebLRUFileListCountItems):
24515        (WebLRUFileListGetTotalSize):
24516        (WebLRUFileListRemoveAllFilesFromList):
24517        (compareTimes):
24518        (cStringEqual):
24519        (cStringHash):
24520        (NSLRUFileDataEqual):
24521        (WebLRUFileListGetOldestFileData):
24522        (NSLRUFileDataReleaseApplierFunction):
24523        (NSLRUFileDataRelease):
24524        (NSLRUFileDataBinaryHeapDumpApplierFunction):
24525        (NSLRUFileDataDictDumpApplierFunction):
24526        (WebLRUFileListDescription):
24527        * WebKit.pbproj/project.pbxproj:
24528
245292003-05-15  Chris Blumenberg  <cblu@apple.com>
24530
24531                Fixed: 3199310 - No user agent included in favicon.ico requests
24532
24533        Reviewed by kocienda.
24534
24535        * Misc.subproj/WebIconLoader.h:
24536        * Misc.subproj/WebIconLoader.m:
24537        (-[WebIconLoaderPrivate dealloc]): use the request ivar
24538        (-[WebIconLoader URL]): ditto
24539        (-[WebIconLoader startLoading]): ditto
24540        (-[WebIconLoader connection:didReceiveData:]): ditto
24541        (-[WebIconLoader connectionDidFinishLoading:]): ditto
24542        * WebView.subproj/WebDataSourcePrivate.m: 
24543        (-[WebDataSource _loadIcon]): create a icon loader with a request with the extra fields set
24544
245452003-05-15  Chris Blumenberg  <cblu@apple.com>
24546
24547        Fixed: 3155760 - Plug-in MIME and extension mapping should be case-insensitive
24548
24549        Reviewed by john.
24550
24551        * Plugins.subproj/WebBasePluginPackage.m:
24552        (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]): store the extensions and MIMEs as lowercase strings
24553        (-[NSArray _web_lowercaseStrings]): new, returns array of lowercase strings
24554        * Plugins.subproj/WebNetscapePluginPackage.m:
24555        (-[WebNetscapePluginPackage getPluginInfoFromResources]): store the extensions and MIMEs as lowercase strings
24556        * Plugins.subproj/WebPluginDatabase.m:
24557        (-[WebPluginDatabase pluginForMIMEType:]): lowercase the passed MIME type
24558        (-[WebPluginDatabase pluginForExtension:]): lowercase the passed extension
24559
24560=== Safari-79 ===
24561
245622003-05-15  Ken Kocienda  <kocienda@apple.com>
24563
24564        Reviewed by John
24565
24566        Updated for recent changes.
24567
24568        * English.lproj/StringsNotToBeLocalized.txt:
24569
245702003-05-15  Ken Kocienda  <kocienda@apple.com>
24571
24572        Reviewed by John
24573
24574        Changed the names of some extras files in WebFoundation:
24575        Updated imports and usages in this project.
24576
24577        WebNSCalendarDateExtras -> NSCalendarDate_NSURLExtras
24578        WebNSDataExtras -> NSData_NSURLExtras
24579        WebNSDictionaryExtras -> NSDictionary_NSURLExtras
24580        WebNSErrorExtras -> NSError_NSURLExtras
24581        WebNSFileManagerExtras -> NSFileManager_NSURLExtras
24582        WebNSObjectExtras -> NSObject_NSURLExtras
24583        WebNSStringExtras -> NSString_NSURLExtras
24584        WebNSURLExtras -> NSURL_NSURLExtras
24585        WebNSUserDefaultsExtras -> NSUserDefaults_NSURLExtras
24586
24587        * History.subproj/WebHistory.m:
24588        * History.subproj/WebHistoryItem.m:
24589        * History.subproj/WebHistoryPrivate.m:
24590        * History.subproj/WebURLsWithTitles.m:
24591        * Misc.subproj/WebIconDatabase.m:
24592        * Misc.subproj/WebIconLoader.m:
24593        * Misc.subproj/WebKitErrors.m:
24594        * Misc.subproj/WebNSPasteboardExtras.m:
24595        * Misc.subproj/WebNSViewExtras.m:
24596        * Panels.subproj/WebAuthenticationPanel.m:
24597        * Panels.subproj/WebPanelAuthenticationHandler.m:
24598        * Plugins.subproj/WebBaseNetscapePluginStream.m:
24599        * Plugins.subproj/WebBaseNetscapePluginView.m:
24600        * Plugins.subproj/WebNetscapePluginRepresentation.m:
24601        * Plugins.subproj/WebNullPluginView.m:
24602        * WebCoreSupport.subproj/WebBridge.m:
24603        * WebCoreSupport.subproj/WebCookieAdapter.m:
24604        * WebCoreSupport.subproj/WebSubresourceClient.m:
24605        * WebView.subproj/WebBaseResourceHandleDelegate.m:
24606        * WebView.subproj/WebDataProtocol.m:
24607        * WebView.subproj/WebDataSource.m:
24608        * WebView.subproj/WebDataSourcePrivate.m:
24609        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
24610        * WebView.subproj/WebFrame.m:
24611        * WebView.subproj/WebFramePrivate.m:
24612        * WebView.subproj/WebFrameView.m:
24613        * WebView.subproj/WebFrameViewPrivate.m:
24614        * WebView.subproj/WebHTMLViewPrivate.m:
24615        * WebView.subproj/WebMainResourceClient.m:
24616        * WebView.subproj/WebPreferences.m:
24617        * WebView.subproj/WebView.m:
24618        * WebView.subproj/WebViewPrivate.m:
24619
246202003-05-14  Ken Kocienda  <kocienda@apple.com>
24621
24622        Reviewed by Chris
24623
24624        WebKitSystemBits files that contain a system memory size
24625        getter. This function is used in a few of places in WebKit.
24626
24627        * History.subproj/WebBackForwardList.m:
24628        * Misc.subproj/WebKitSystemBits.h: Added.
24629        * Misc.subproj/WebKitSystemBits.m: Added.
24630        (initCapabilities):
24631        (WebSystemMainMemory):
24632        * WebCoreSupport.subproj/WebBridge.m:
24633        * WebCoreSupport.subproj/WebTextRendererFactory.m:
24634        * WebKit.pbproj/project.pbxproj:
24635
246362003-05-14  Ken Kocienda  <kocienda@apple.com>
24637
24638        Reviewed by David
24639
24640        File and class renaming in WebFoundation:
24641
24642        WebFileTypeMappings -> NSURLFileTypeMappings
24643
24644        * WebCoreSupport.subproj/WebBridge.m:
24645        (-[WebBridge MIMETypeForPath:]):
24646        * WebCoreSupport.subproj/WebImageRendererFactory.m:
24647        (-[WebImageRendererFactory supportedMIMETypes]):
24648        * WebView.subproj/WebDataSource.m:
24649        * WebView.subproj/WebMainResourceClient.m:
24650        * WebView.subproj/WebViewPrivate.m:
24651        (+[WebView suggestedFileExtensionForMIMEType:]):
24652        (+[WebView _MIMETypeForFile:]):
24653
246542003-05-14  Ken Kocienda  <kocienda@apple.com>
24655
24656        Reviewed by Maciej
24657
24658        Copied WebLocalizableStrings.[hm] from WebFoundation to WebKit
24659
24660        Updated all imports.
24661
24662        Added logging exported symbols to exports file.
24663
24664        * Misc.subproj/WebKitErrors.m:
24665        * Misc.subproj/WebLocalizableStrings.h: Added.
24666        * Misc.subproj/WebLocalizableStrings.m: Added.
24667        * Panels.subproj/WebAuthenticationPanel.m:
24668        * WebCoreSupport.subproj/WebBridge.m:
24669        * WebCoreSupport.subproj/WebFileButton.m:
24670        * WebCoreSupport.subproj/WebViewFactory.m:
24671        * WebKit.exp:
24672        * WebKit.pbproj/project.pbxproj:
24673        * WebView.subproj/WebDefaultContextMenuDelegate.m:
24674
246752003-05-14  Maciej Stachowiak  <mjs@apple.com>
24676
24677        Reviewed by Don.
24678
24679        - fixed 3257307 - REGRESSION: crash using onFocus="this.blur()"
24680        * WebCoreSupport.subproj/WebBridge.m:
24681        (-[WebBridge makeFirstResponder:]): Let the WebView know that
24682        this is a programmatic focus.
24683        * WebView.subproj/WebHTMLView.m:
24684        (-[WebHTMLView becomeFirstResponder]): Check if this is a programmatic
24685        focus from WebCore - if so, treat it like a direct focus, even if there
24686        is a selection direction set.
24687        * WebView.subproj/WebViewPrivate.h:
24688        * WebView.subproj/WebViewPrivate.m:
24689        (-[WebView _pushPerformingProgrammaticFocus]): New method to indicate
24690        upcoming programmatic focus.
24691        (-[WebView _popPerformingProgrammaticFocus]): New method to indicate
24692        end of programmatic focus. Needs to nest with the previous.
24693        (-[WebView _isPerformingProgrammaticFocus]): Check if we are handling
24694        a programmatic focus from WebCore. 
24695
246962003-05-14  Ken Kocienda  <kocienda@apple.com>
24697
24698        Reviewed by John
24699
24700        Copied WebAssertions.[hm] from WebFoundation to WebKit
24701
24702        Updated all imports.
24703
24704        Added logging exported symbols to exports file.
24705
24706        * History.subproj/WebBackForwardList.m:
24707        * History.subproj/WebHistory.m:
24708        * History.subproj/WebHistoryItem.m:
24709        * Misc.subproj/WebAssertions.h: Added.
24710        * Misc.subproj/WebAssertions.m: Added.
24711        (vprintf_stderr_objc):
24712        (WebReportAssertionFailure):
24713        (WebReportAssertionFailureWithMessage):
24714        (WebReportArgumentAssertionFailure):
24715        (WebReportFatalError):
24716        (WebReportError):
24717        (WebLog):
24718        * Misc.subproj/WebKitLogging.h:
24719        * Misc.subproj/WebNSPasteboardExtras.m:
24720        * Misc.subproj/WebStringTruncator.m:
24721        * Panels.subproj/WebAuthenticationPanel.m:
24722        * Panels.subproj/WebPanelAuthenticationHandler.m:
24723        * Plugins.subproj/WebBaseNetscapePluginView.m:
24724        * Plugins.subproj/WebNetscapePluginDocumentView.m:
24725        * Plugins.subproj/WebNetscapePluginRepresentation.m:
24726        * WebCoreSupport.subproj/WebBridge.m:
24727        * WebCoreSupport.subproj/WebCookieAdapter.m:
24728        * WebCoreSupport.subproj/WebFileButton.m:
24729        * WebCoreSupport.subproj/WebImageRenderer.m:
24730        * WebCoreSupport.subproj/WebImageRendererFactory.m:
24731        * WebCoreSupport.subproj/WebJavaScriptTextInputPanel.m:
24732        * WebCoreSupport.subproj/WebSubresourceClient.m:
24733        * WebCoreSupport.subproj/WebTextRendererFactory.m:
24734        * WebCoreSupport.subproj/WebViewFactory.m:
24735        * WebKit.exp:
24736        * WebKit.pbproj/project.pbxproj:
24737        * WebView.subproj/WebBaseResourceHandleDelegate.m:
24738        * WebView.subproj/WebClipView.m:
24739        * WebView.subproj/WebDataProtocol.m:
24740        * WebView.subproj/WebDataSource.m:
24741        * WebView.subproj/WebDefaultPolicyDelegate.m:
24742        * WebView.subproj/WebFrameViewPrivate.m:
24743        * WebView.subproj/WebHTMLViewPrivate.m:
24744        * WebView.subproj/WebImageView.m:
24745        * WebView.subproj/WebTextRepresentation.m:
24746        * WebView.subproj/WebTextView.m:
24747        * WebView.subproj/WebView.m:
24748        * WebView.subproj/WebViewPrivate.m:
24749
247502003-05-13  Richard Williamson   <rjw@apple.com>
24751
24752        Fixed 3014661.  We now display (a lame Lemay) image
24753        when an image fails to load.  We also display the 
24754        alt text if it fits within the image container
24755        above the missing image icon.  Alt text is also
24756        now shown if image loading is disabled.
24757
24758        Reviewed by John.
24759
24760        * Resources/missing_image.tiff: Added.
24761        * WebCoreSupport.subproj/WebImageRenderer.h:
24762        * WebCoreSupport.subproj/WebImageRenderer.m:
24763        (-[WebImageRenderer initWithMIMEType:]):
24764        (-[WebImageRenderer initWithData:MIMEType:]):
24765        (-[WebImageRenderer initWithContentsOfFile:]):
24766        (-[WebImageRenderer copyWithZone:]):
24767        (-[WebImageRenderer isNull]):
24768        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
24769        * WebCoreSupport.subproj/WebImageRendererFactory.m:
24770        (-[WebImageRendererFactory imageRendererWithName:]):
24771        * WebKit.pbproj/project.pbxproj:
24772
247732003-05-13  Darin Adler  <darin@apple.com>
24774
24775        Reviewed by Chris and Richard.
24776
24777        - fixed 3257296 -- REGRESSION: crash in WebImageRendererFactory (movietickets.com)
24778
24779        * WebCoreSupport.subproj/WebImageRenderer.m:
24780        (-[WebImageRenderer initWithMIMEType:]): Check for nil.
24781        (-[WebImageRenderer initWithData:MIMEType:]): Check for nil, also don't check for GIF signature
24782        until after the object is allocated.
24783
247842003-05-12  Maciej Stachowiak  <mjs@apple.com>
24785
24786        Reviewed by Darin.
24787
24788        - fixed 3254484 - Add a way to print JavaScript exceptions to the console via the debug menu
24789
24790        * Misc.subproj/WebCoreStatistics.h:
24791        * Misc.subproj/WebCoreStatistics.m:
24792        (+[WebCoreStatistics shouldPrintExceptions]): Call through to WebCore.
24793        (+[WebCoreStatistics setShouldPrintExceptions:]): Call through to WebCore.
24794
247952003-05-13  Darin Adler  <darin@apple.com>
24796
24797        Reviewed by Ken.
24798
24799        - fixed 3120355 -- importing IE favorites garbles non-ASCII characters (esp. bad for non-Roman languages)
24800
24801        * WebView.subproj/WebViewPrivate.h: Added _decodeData:.
24802        * WebView.subproj/WebViewPrivate.m: (+[WebView _decodeData:]): Added. Calls through to WebCore.
24803
248042003-05-13  Maciej Stachowiak  <mjs@apple.com>
24805
24806        Reviewed by Darin.
24807
24808        - renamed NSErrorFailingURLKey to NSErrorFailingURLStringKey
24809
24810        * Misc.subproj/WebKitErrors.m:
24811        (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):
24812
248132003-05-13  John Sullivan  <sullivan@apple.com>
24814
24815        fixed build break
24816
24817        Reviewed by Darin
24818
24819        * WebCoreSupport.subproj/WebImageRenderer.m:
24820        (-[WebImageRenderer initWithData:MIMEType:]):
24821        move #ifdefs; two required methods were being #ifdeffed
24822        out on Panther
24823
248242003-05-12  Richard Williamson  <rjw@apple.com>
24825
24826        Fixed 3251316.  *** Public API Change ***
24827
24828        Added -(void)setGroupName:(NSString *) and -(NSString *)groupName;
24829        
24830        Reviewed by mjs.
24831
24832        * WebView.subproj/WebView.h:
24833        * WebView.subproj/WebView.m:
24834
248352003-05-12  Richard Williamson  <rjw@apple.com>
24836
24837        Fixed 3194614 and 3194751.  Add SPI to set 'renderless' mode
24838        for a frame.
24839        
24840        Reviewed by darin.  
24841
24842        * WebView.subproj/WebFramePrivate.h:
24843        * WebView.subproj/WebFramePrivate.m:
24844        
24845        WebImageRenderers now get a MIME type that can be used to faciliate
24846        selection of an appropriate decoder.
24847        
24848        Reviewed by darin.
24849
24850        * WebCoreSupport.subproj/WebImageRenderer.h:
24851        * WebCoreSupport.subproj/WebImageRenderer.m:
24852        * WebCoreSupport.subproj/WebImageRendererFactory.m:
24853        * WebKit.pbproj/project.pbxproj:
24854
248552003-05-12  John Sullivan  <sullivan@apple.com>
24856
24857        - addition to Darin's previous patch; when checking whether a request can
24858        be handled, take into account the schemes that were registered without
24859        an NSURLProtocol getting involved.
24860
24861        Reviewed by Darin
24862
24863        * WebView.subproj/WebViewPrivate.h:
24864        * WebView.subproj/WebViewPrivate.m:
24865        (+[WebView _canHandleRequest:]):
24866        like NSURLConnection canHandleRequest, but also takes into account the
24867        schemes that were registered without an NSURLProtocol
24868        * Plugins.subproj/WebNetscapePluginStream.m:
24869        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
24870        use +[WebView _canHandleRequest] instead of +[NSURLConnection canHandleRequest]
24871        * WebView.subproj/WebDefaultContextMenuDelegate.m:
24872        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
24873        ditto
24874        * WebView.subproj/WebDefaultPolicyDelegate.m:
24875        (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
24876        ditto
24877        * WebView.subproj/WebFramePrivate.m:
24878        (-[WebFrame _continueAfterNavigationPolicy:]):
24879        ditto
24880
248812003-05-12  Darin Adler  <darin@apple.com>
24882
24883        Reviewed by John.
24884
24885        - fixed 3254576 -- REGRESSION: visiting bookmarks view sometimes waits for other tabs to load first
24886
24887        * WebView.subproj/WebViewPrivate.h: Added new SPI for registering view and represenation classes by
24888        scheme rather than MIME type.
24889        * WebView.subproj/WebViewPrivate.m:
24890        (+[WebView _registerViewClass:representationClass:forURLScheme:]]): Added.
24891        (+[WebView _generatedMIMETypeForURLScheme:]): Added. Makes a special MIME type for us only by the
24892        special "register scheme" mechanism.
24893        (+[WebView _representationExistsForURLScheme:]): Added.
24894
24895        * WebView.subproj/WebMainResourceClient.m:
24896        (-[WebMainResourceClient continueAfterContentPolicy:response:]): Check for schemes that have their
24897        own representation, and handle them just like empty documents, loading no data, and doing it synchronously.
24898        (-[WebMainResourceClient loadWithRequest:]): Same thing here, only also arrange to get the appropriate
24899        MIME type.
24900        (-[WebMainResourceClient setDefersCallbacks:]): Same check here.
24901
24902        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
24903
249042003-05-11  Darin Adler  <darin@apple.com>
24905
24906        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): Added a check for nil that I forgot.
24907
249082003-05-10  Darin Adler  <darin@apple.com>
24909
24910        Reviewed by John.
24911
24912        - fixed 3254473 - REGRESSION: reload loop due to onresize handler (fortune.com, flipdog.com, stanford.edu)
24913
24914        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): Don't send out a resize event any
24915        time during the first event that results in a layout. The old check was merely for the first layout,
24916        but we need to ignore any number of layouts that are all part of handling a first event. Some day we
24917        may need to refine this rule even further, but this fixes the present bug.
24918        
24919        * WebView.subproj/WebHTMLViewPrivate.h: Goodbye laidOutAtLeastOnce, hello firstLayoutEventTime.
24920
249212003-05-10  Darin Adler  <darin@apple.com>
24922
24923        Reviewed by Maciej.
24924
24925        - fixed 3250119 -- REGRESSION: WebFrame leaked after showing pop-up menu
24926
24927        The leak was caused by various code storing the "element" dictionary that describes where
24928        a click took place.
24929
24930        * WebView.subproj/WebDefaultContextMenuDelegate.m:
24931        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
24932        Don't store the element in a retained global. Instead attach it as the represented
24933        object to each menu item.
24934        (-[WebDefaultUIDelegate openNewWindowWithURL:element:]): Pass in an element.
24935        (-[WebDefaultUIDelegate downloadURL:element:]): Ditto.
24936        (-[WebDefaultUIDelegate openLinkInNewWindow:]): Get element from represented object.
24937        (-[WebDefaultUIDelegate downloadLinkToDisk:]): Ditto.
24938        (-[WebDefaultUIDelegate copyLinkToClipboard:]): Ditto.
24939        (-[WebDefaultUIDelegate openImageInNewWindow:]): Ditto.
24940        (-[WebDefaultUIDelegate downloadImageToDisk:]): Ditto.
24941        (-[WebDefaultUIDelegate copyImageToClipboard:]): Ditto.
24942        (-[WebDefaultUIDelegate openFrameInNewWindow:]): Ditto.
24943
24944        * WebView.subproj/WebDefaultUIDelegate.h: Remove element field.
24945        * WebView.subproj/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate dealloc]): No need
24946        to release element any more.
24947
24948        * WebView.subproj/WebHTMLViewPrivate.h: Remove dragElement instance variable.
24949        * WebView.subproj/WebHTMLViewPrivate.m:
24950        (-[WebHTMLViewPrivate dealloc]): No need to release dragElement any more. 
24951        (-[WebHTMLView _handleMouseDragged:]): Get element again here. The old code used to
24952        get it from an instance variable, but that is unnecessary.
24953        (-[WebHTMLView _mayStartDragWithMouseDragged:]): Don't store the element.
24954
249552003-05-09  Maciej Stachowiak  <mjs@apple.com>
24956
24957        Reviewed by Darin.
24958
24959        Updated for NSURLResponse API changes.
24960
24961        * WebView.subproj/WebBaseResourceHandleDelegate.m:
24962        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
24963        * WebView.subproj/WebDataProtocol.m:
24964        (-[WebDataProtocol startLoading]):
24965        * WebView.subproj/WebMainResourceClient.m:
24966        (-[WebMainResourceClient loadWithRequest:]):
24967
249682003-05-09  Maciej Stachowiak  <mjs@apple.com>
24969
24970        Reviewed by Darin.
24971
24972        - removed WebAuthenticationChallenge
24973        - adjusted everything for removal of NSURLAuthenticationChallenge subclasses.
24974        * Misc.subproj/WebDownload.m:
24975        (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
24976        (-[WebDownloadInternal download:didCancelAuthenticationChallenge:]):
24977        * Panels.subproj/WebPanelAuthenticationHandler.m:
24978        (-[WebPanelAuthenticationHandler startAuthentication:window:]):
24979        (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
24980        * WebView.subproj/WebAuthenticationChallenge.h: Removed.
24981        * WebView.subproj/WebAuthenticationChallenge.m: Removed.
24982        * WebView.subproj/WebAuthenticationChallengeInternal.h: Removed.
24983        * WebView.subproj/WebBaseResourceHandleDelegate.h:
24984        * WebView.subproj/WebBaseResourceHandleDelegate.m:
24985        (-[WebBaseResourceHandleDelegate useCredential:forAuthenticationChallenge:]):
24986        (-[WebBaseResourceHandleDelegate continueWithoutCredentialForAuthenticationChallenge:]):
24987        (-[WebBaseResourceHandleDelegate cancelAuthenticationChallenge:]):
24988        (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]):
24989        (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]):
24990        (-[WebBaseResourceHandleDelegate setIdentifier:]):
24991        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
24992        (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]):
24993        (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]):
24994        * WebView.subproj/WebResourceLoadDelegate.h:
24995        * Misc.subproj/WebKit.h: Remove headers that are gone.
24996        * WebKit.exp: Remove classes that are gone.
24997        * WebKit.pbproj/project.pbxproj: Remove files that are gone.
24998
249992003-05-09  David Hyatt  <hyatt@apple.com>
25000
25001        Change the minfontsize to 1, i.e., to have no minimum.  This
25002        matches other browsers while still retaining the pref control
25003        in WebKit.
25004
25005        Fixes www.gamespot.com.  The bug is 3254489.
25006        Reviewed by darin
25007
25008        * WebView.subproj/WebPreferences.m:
25009        (+[WebPreferences initialize]):
25010
250112003-05-09  Maciej Stachowiak  <mjs@apple.com>
25012
25013        Reviewed by John.
25014
25015        Rename connection:didFailLoadingWithError: to
25016        connection:didFailWithError: to match NSURLDownload and
25017        NSURLProtocol.
25018
25019        * Misc.subproj/WebIconLoader.m:
25020        (-[WebIconLoader connection:didFailWithError:]):
25021        * Plugins.subproj/WebNetscapePluginStream.m:
25022        (-[WebNetscapePluginStream connection:didFailWithError:]):
25023        * WebCoreSupport.subproj/WebSubresourceClient.m:
25024        (-[WebSubresourceClient connection:didFailWithError:]):
25025        * WebView.subproj/WebBaseResourceHandleDelegate.m:
25026        (-[WebBaseResourceHandleDelegate connection:didFailWithError:]):
25027        * WebView.subproj/WebMainResourceClient.m:
25028        (-[WebMainResourceClient receivedError:]):
25029        (-[WebMainResourceClient connection:didFailWithError:]):
25030
250312003-05-09  Richard Williamson  <rjw@apple.com>
25032
25033        Apply the same check used to by-pass fast rendering
25034        in the fix to 3146161 to measurement.
25035        
25036        Reviewed by Ken.
25037
25038        * Misc.subproj/WebKitNSStringExtras.m:
25039
250402003-05-09  Ken Kocienda  <kocienda@apple.com>
25041
25042        Reviewed by John
25043
25044        Removed unneeded import of WebFoundation/WebQueue.h.
25045
25046        * WebCoreSupport.subproj/WebTextRendererFactory.h
25047
250482003-05-08  Richard Williamson  <rjw@apple.com>
25049
25050        Fixed 3146161.  Use the AppKit to render complex
25051        text in the simple string drawing method.
25052
25053        Reviewed by John.
25054
25055        * Misc.subproj/WebKitNSStringExtras.m:
25056
250572003-05-08  Richard Williamson  <rjw@apple.com>
25058
25059        Make representations without intrinsic titles return nil.
25060        
25061        Reviewed by John.
25062
25063        * Plugins.subproj/WebNetscapePluginRepresentation.m:
25064        * WebView.subproj/WebDataSourcePrivate.h:
25065        * WebView.subproj/WebDataSourcePrivate.m:
25066        * WebView.subproj/WebImageRepresentation.m:
25067        * WebView.subproj/WebTextRepresentation.m:
25068
250692003-05-08  Richard Williamson   <rjw@apple.com>
25070
25071        Fixed 3252460.  *** Public API Change ***
25072        Added title method to WebDocumentRepresentation.
25073        
25074        Fixed 3250352.  Check that delegate implements method.
25075        
25076        Reviewed by hyatt.
25077
25078        * WebView.subproj/WebDataSource.m:
25079        (-[WebDataSource pageTitle]):
25080        * WebView.subproj/WebDataSourcePrivate.h:
25081        * WebView.subproj/WebDataSourcePrivate.m:
25082        (-[WebDataSource _startLoading:]):
25083        (-[WebDataSource _title]):
25084        * WebView.subproj/WebDocument.h:
25085        * WebView.subproj/WebHTMLRepresentation.m:
25086        (-[WebHTMLRepresentation title]):
25087        * WebView.subproj/WebImageRepresentation.m:
25088        (-[WebImageRepresentation title]):
25089        * WebView.subproj/WebNetscapePluginRepresentation.m:
25090        (-[WebNetscapePluginRepresentation title]):
25091        * WebView.subproj/WebTextRepresentation.h:
25092        * WebView.subproj/WebTextRepresentation.m:
25093        (-[WebTextRepresentation dealloc]):
25094        (-[WebTextRepresentation setDataSource:]):
25095        (-[WebTextRepresentation title]):
25096
250972003-05-08  Darin Adler  <darin@apple.com>
25098
25099        * WebKit.pbproj/project.pbxproj: Fixed paths for non-Panther builds.
25100
251012003-05-08  John Sullivan  <sullivan@apple.com>
25102
25103        Closed up all gaps in WebKit between "ASSERT" and "(" to
25104        make Darin's day a little brighter.
25105
25106        Reviewed by Darin
25107
25108        * WebCoreSupport.subproj/WebBridge.m:
25109        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
25110        (-[WebBridge handleMouseDragged:]):
25111        (-[WebBridge mayStartDragWithMouseDragged:]):
25112        * WebCoreSupport.subproj/WebImageRenderer.m:
25113        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
25114        * WebView.subproj/WebBaseResourceHandleDelegate.m:
25115        (-[WebBaseResourceHandleDelegate _releaseResources]):
25116        (-[WebBaseResourceHandleDelegate dealloc]):
25117        * WebView.subproj/WebFramePrivate.m:
25118        (-[WebFrame _transitionToCommitted:]):
25119        * WebView.subproj/WebViewPrivate.m:
25120        (-[WebView _preferencesChangedNotification:]):
25121
251222003-05-08  John Sullivan  <sullivan@apple.com>
25123
25124        - fixed 3252632 -- Registering a WebDocumentView too 
25125        early breaks built-in image viewing
25126
25127        A startup-performance optimization was breaking the case
25128        where clients registered WebDocumentView types before the
25129        first WebFrameView had been created. The fix is to allow
25130        registering WebDocumentView types without retrieving the
25131        built-in image types.
25132
25133        Reviewed by Darin
25134
25135        * WebView.subproj/WebFrameViewPrivate.h:
25136        remove _viewTypes; expose _viewTypesAllowImageTypeOmission.
25137        All callers have to specify the boolean now.
25138
25139        * WebView.subproj/WebFrameViewPrivate.m:
25140        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
25141        assert that the list of image types isn't nil before inserting
25142        them; insert each image type only if not already present.
25143        (+[WebFrameView _viewClassForMIMEType:]):
25144        replace _viewTypes with _viewTypesAllowImageTypeOmission
25145
25146        * Plugins.subproj/WebPluginDatabase.m:
25147        (-[WebPluginDatabase init]):
25148        replace _viewTypes with _viewTypesAllowImageTypeOmission
25149
25150        * WebView.subproj/WebDataSourcePrivate.h:
25151        remove _repTypes; expose _repTypesAllowImageTypeOmission.
25152        All callers have to specify the boolean now.
25153        * WebView.subproj/WebDataSourcePrivate.m:
25154        (+[WebDataSource _representationClassForMIMEType:]):
25155        replace _repTypes with _repTypesAllowImageTypeOmission
25156
25157        * WebView.subproj/WebView.m:
25158        (+[WebView registerViewClass:representationClass:forMIMEType:]):
25159        replace _viewTypes with _viewTypesAllowImageTypeOmission, and
25160        replace _repTypes with _repTypesAllowImageTypeOmission
25161
251622003-05-08  Darin Adler  <darin@apple.com>
25163
25164        Reviewed by Richard.
25165
25166        - fixed 3242414 -- REGRESSION: PLT times reported 10% slower after emptying cache with B/F cache enabled
25167        - made it only compute the page cache size once
25168
25169        * History.subproj/WebBackForwardList.m:
25170        (-[WebBackForwardList init]): Set initial page cache size to special value, COMPUTE_DEFAULT_PAGE_CACHE_SIZE.
25171        (-[WebBackForwardList setPageCacheSize:]): Remove code to set pageCacheSizeModified and call to
25172        _setUsesPageCache:, not needed any more.
25173        (-[WebBackForwardList pageCacheSize]): If cache size is COMPUTE_DEFAULT_PAGE_CACHE_SIZE, then compute it.
25174        The old code would compute the cache size each time this method was called until pageCacheSizeModified was set.
25175        (-[WebBackForwardList _usesPageCache]): Just check pageCacheSize for 0 to see if we use a page cache.
25176        No need for a separate boolean any more.
25177        
25178        * History.subproj/WebHistoryItemPrivate.h: Remove _setUsesPageCache (gone altogether) and _clearPageCache
25179        (now only used internally).
25180
25181=== Safari-78 ===
25182
251832003-05-07  Darin Adler  <darin@apple.com>
25184
25185        Reviewed by John.
25186
25187        - fixed 3127927 -- web view should not use primary selection color when it's not first responder
25188
25189        * WebView.subproj/WebHTMLView.m:
25190        (-[WebHTMLView updateTextBackgroundColor]): Added. Sets the usesInactiveTextBackgroundColor flag
25191        on the bridge, and does setNeedsDisplayInRect: of the selectionRect if the state changes.
25192        (-[WebHTMLView viewDidMoveToWindow]): Call updateTextBackgroundColor.
25193        (-[WebHTMLView windowDidBecomeKey:]): Call updateTextBackgroundColor.
25194        (-[WebHTMLView windowDidResignKey:]): Call updateTextBackgroundColor.
25195        (-[WebHTMLView becomeFirstResponder]): Call updateTextBackgroundColor.
25196        (-[WebHTMLView resignFirstResponder]): Call updateTextBackgroundColor.
25197
25198        - fixed up WebHistoryItem initializers so there is a designated initializer
25199
25200        * History.subproj/WebHistoryItem.m:
25201        (-[WebHistoryItem init]): Call initWithURLString:title:lastVisitedTimeInterval:,
25202        which is the designated initializer.
25203        (-[WebHistoryItem initWithURL:title:]): Ditto.
25204        (-[WebHistoryItem initWithURL:target:parent:title:]): Ditto.
25205
25206        - other changes
25207
25208        * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate addItem:]): Fixed assertion
25209        to not use _lastVisitedDate; we're trying to get rid of calls to that method.
25210
252112003-05-07  Vicki Murley  <vicki@apple.com>
25212
25213        Reviewed by darin.
25214
25215        - modify the Mixed build style to build optimized with symbols
25216
25217        * WebKit.pbproj/project.pbxproj: removed OPTIMIZATION_CGLAGS
25218
252192003-05-06  Richard Williamson   <rjw@apple.com>
25220
25221        Fixed problem for HelpViewer.  HV calls stopLoading in 
25222        a webView:resource:didReceiveResponse.  This causes
25223        the premature release of the connection delegate.
25224        
25225        Reviewed by Ken.
25226
25227        * WebCoreSupport.subproj/WebSubresourceClient.m:
25228        (-[WebSubresourceClient connectionDidFinishLoading:]):
25229        * WebKit.pbproj/project.pbxproj:
25230        * WebView.subproj/WebBaseResourceHandleDelegate.m:
25231        (-[WebBaseResourceHandleDelegate _releaseResources]):
25232        (-[WebBaseResourceHandleDelegate dealloc]):
25233        * WebView.subproj/WebMainResourceClient.m:
25234        (-[WebMainResourceClient stopLoadingForPolicyChange]):
25235        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
25236        (-[WebMainResourceClient continueAfterContentPolicy:]):
25237        (-[WebMainResourceClient connection:didReceiveResponse:]):
25238        (-[WebMainResourceClient connectionDidFinishLoading:]):
25239
252402003-05-06  Darin Adler  <darin@apple.com>
25241
25242        - removed obsolete file that's still around for some reason
25243
25244        * Downloads.subproj/WebDownload.m: Removed.
25245
252462003-05-06  Darin Adler  <darin@apple.com>
25247
25248        - fixed crash on startup
25249
25250        * History.subproj/WebHistoryItem.m:
25251        (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
25252        Allocate WebHistoryItemPrivate.
25253
252542003-05-06  Darin Adler  <darin@apple.com>
25255
25256        - fixed 3249211 -- WebTextRenderer.h should not use "AttributeGroup" type for styleGroup
25257
25258        * WebCoreSupport.subproj/WebTextRenderer.h: Update to use ATSStyleGroupPtr.
25259
252602003-05-06  Darin Adler  <darin@apple.com>
25261
25262        Reviewed by Ken.
25263
25264        - used ObjectAlloc to find large numbers of allocations on startup and get rid of some
25265
25266        * History.subproj/WebHistoryItem.m:
25267        (-[WebHistoryItem initFromDictionaryRepresentation:]):
25268        Use the init method that takes a URL string so we don't have to create and then
25269        destroy a URL for each item we decode.
25270        * History.subproj/WebHistoryPrivate.m:
25271        (-[WebHistoryPrivate addItem:]): Use URLString instead of making and destroying
25272        a URL each time this is called.
25273        (-[WebHistoryPrivate removeItem:]): Ditto.
25274        (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]): Check URLString for nil; no reason
25275        to construct and then destroy a URL just to check validity.
25276        
25277        * WebCoreSupport.subproj/WebTextRendererFactory.m:
25278        (FontCacheKeyCopy): Added.
25279        (FontCacheKeyFree): Added.
25280        (FontCacheKeyEqual): Added.
25281        (FontCacheKeyHash): Added.
25282        (FontCacheValueRetain): Added.
25283        (FontCacheValueRelease): Added.
25284        (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]): Use a C struct for the
25285        font cache key instead of using an Objective-C object. This saves us an object
25286        allocation and deallocation when doing a lookup. Also took advantage of the CFDictionary
25287        ability to store NULL and distinguish it from "not found" so we don't need a separate set
25288        for cache misses.
25289
252902003-05-05  Maciej Stachowiak  <mjs@apple.com>
25291
25292        Reviewed by Richard.
25293
25294        Fix build by separating mutating data protocol methods into
25295        category on NSMutableURLRequest. Also, formatting fixes.
25296
25297        * WebView.subproj/WebDataProtocol.h:
25298        * WebView.subproj/WebDataProtocol.m:
25299        (+[NSURLRequest _webDataRequestURLForData:]):
25300        (-[NSURLRequest _webDataRequestData]):
25301        (-[NSURLRequest _webDataRequestEncoding]):
25302        (-[NSURLRequest _webDataRequestMIMEType]):
25303        (-[NSURLRequest _webDataRequestBaseURL]):
25304        (-[NSURLRequest _webDataRequestExternalRequest]):
25305        (-[NSMutableURLRequest _webDataRequestSetData:]):
25306        * WebView.subproj/WebFrame.m:
25307
253082003-05-04  Darin Adler  <darin@apple.com>
25309
25310        Reviewed by Maciej.
25311
25312        - fixed a storage leak
25313
25314        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]): Release the timer before setting to nil.
25315
253162003-05-03  David Hyatt  <hyatt@apple.com>
25317
25318        Add smallCaps boolean to the string measuring and drawing
25319        methods.  Not actually supported yet.
25320        Reviewed by darin
25321
25322        * Misc.subproj/WebKitNSStringExtras.m:
25323        (-[NSString _web_widthWithFont:]):
25324        * Misc.subproj/WebStringTruncator.m:
25325        (stringWidth):
25326        * WebCoreSupport.subproj/WebTextRenderer.h:
25327        * WebCoreSupport.subproj/WebTextRenderer.m:
25328        (-[WebTextRenderer widthForCharacters:length:]):
25329        (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
25330        (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
25331        (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
25332        (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
25333        (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
25334
253352003-05-04  Darin Adler  <darin@apple.com>
25336
25337        Reviewed by John.
25338
25339        - added validation to "Interface Builder" methods on WebView
25340
25341        * WebView.subproj/WebView.h: Add NSUserInterfaceValidations protocol so that subclassers
25342        know that they can call [super validateUserInterfaceItem:].
25343        * WebView.subproj/WebView.m:
25344        (-[WebView canMakeTextSmaller]): Simplify.
25345        (-[WebView canMakeTextLarger]): Simplify.
25346        (-[WebView _isLoading]): Added.
25347        (-[WebView validateUserInterfaceItem:]): Added. Checks for the six actions we implement,
25348        and returns NO if they are not valid.
25349
253502003-05-02  Maciej Stachowiak  <mjs@apple.com>
25351
25352        Reviewed by Richard.
25353
25354        - reformatted method prototypes to match AppKit style
25355        - remove "Public header file" from headers that are not public
25356        - fix header doc @method names to match actual method names
25357
25358        * Carbon.subproj/CarbonWindowAdapter.h:
25359        * Carbon.subproj/HIViewAdapter.h:
25360        * DOM.subproj/WebDOMDocument.h:
25361        * DOM.subproj/WebDOMNode.h:
25362        * History.subproj/WebBackForwardList.h:
25363        * History.subproj/WebHistoryItemPrivate.h:
25364        * History.subproj/WebHistoryPrivate.h:
25365        * History.subproj/WebURLsWithTitles.h:
25366        * Misc.subproj/WebIconDatabase.h:
25367        * Misc.subproj/WebIconLoader.h:
25368        * Misc.subproj/WebKitNSStringExtras.h:
25369        * Misc.subproj/WebUnicode.h:
25370        * Panels.subproj/WebPanelAuthenticationHandler.h:
25371        * Plugins.subproj/WebBasePluginPackage.h:
25372        * Plugins.subproj/WebNetscapePluginStream.h:
25373        * Plugins.subproj/WebNullPluginView.h:
25374        * Plugins.subproj/WebPluginViewFactory.h:
25375        * WebCoreSupport.subproj/WebGlyphBuffer.h:
25376        * WebCoreSupport.subproj/WebTextRenderer.h:
25377        * WebCoreSupport.subproj/WebTextRendererFactory.h:
25378        * WebView.subproj/WebBaseResourceHandleDelegate.h:
25379        * WebView.subproj/WebControllerSets.h:
25380        * WebView.subproj/WebDataProtocol.h:
25381        * WebView.subproj/WebDataSource.h:
25382        * WebView.subproj/WebDataSourcePrivate.h:
25383        * WebView.subproj/WebDebugDOMNode.h:
25384        * WebView.subproj/WebDocument.h:
25385        * WebView.subproj/WebFrame.h:
25386        * WebView.subproj/WebFramePrivate.h:
25387        * WebView.subproj/WebFrameView.h:
25388        * WebView.subproj/WebHTMLRepresentation.h:
25389        * WebView.subproj/WebHTMLView.h:
25390        * WebView.subproj/WebMainResourceClient.h:
25391        * WebView.subproj/WebPolicyDelegate.h:
25392        * WebView.subproj/WebPolicyDelegatePrivate.h:
25393        * WebView.subproj/WebPreferencesPrivate.h:
25394        * WebView.subproj/WebRenderNode.h:
25395        * WebView.subproj/WebResourceLoadDelegate.h:
25396        * WebView.subproj/WebUIDelegate.h:
25397        * WebView.subproj/WebView.h:
25398        * WebView.subproj/WebViewPrivate.h:
25399
254002003-05-02  Maciej Stachowiak  <mjs@apple.com>
25401
25402        Reviewed by Darin.
25403
25404        - fixed 2936175 - MALLORY: please implement onResize
25405
25406        * WebView.subproj/WebHTMLViewPrivate.h:
25407        * WebView.subproj/WebHTMLView.m:
25408        (-[WebHTMLView layoutToPageWidth:]): If we just resized and we're
25409        not printing, make sure to send a resize event after the layout.
25410
254112003-05-02  Darin Adler  <darin@apple.com>
25412
25413        Reviewed by John.
25414
25415        - fixed 3236383 -- http://www.xy.com/ exception, crash loading main page
25416
25417        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge closeWindowSoon]): Replaces
25418        closeWindow. Schedule a closeWindow operation in the WebView. Important to not have
25419        the call's execution depend on whether this WebBridge or WebFrame is still around
25420        after the delay.
25421        
25422        * WebView.subproj/WebViewPrivate.h: Added _closeWindow.
25423        * WebView.subproj/WebViewPrivate.m: (-[WebView _closeWindow]): Make a webViewClose:
25424        call on the UI delegate.
25425
254262003-05-02  Darin Adler  <darin@apple.com>
25427
25428        Reviewed by John.
25429
25430        - first step in fixing 3236383 -- http://www.xy.com/ exception, crash loading main page
25431        
25432        Changed WebFrame to explicitly detach from the bridge so we don't have a stale pointer;
25433        also cleaned up WebBridge initialization.
25434
25435        * WebCoreSupport.subproj/WebBridge.h: Added initWithWebFrame: and close methods, removed
25436        setWebFrame: method.
25437        * WebView.subproj/WebFrame.m:
25438        (-[WebFrame initWithName:webFrameView:webView:]): Use the new initWithWebFrame:.
25439        * WebView.subproj/WebFramePrivate.m:
25440        (-[WebFrame _detachFromParent]): Call close on the bridge.
25441
25442        - fixed many places that call a WebView a "controller"
25443
25444        * Misc.subproj/WebKitStatistics.h:
25445        * Misc.subproj/WebKitStatistics.m:
25446        * Misc.subproj/WebKitStatisticsPrivate.h:
25447        * Misc.subproj/WebNSViewExtras.m:
25448        * Plugins.subproj/WebBaseNetscapePluginView.h:
25449        * Plugins.subproj/WebBaseNetscapePluginView.m:
25450        * Plugins.subproj/WebNetscapePluginStream.m:
25451        * WebCoreSupport.subproj/WebBridge.m:
25452        * WebCoreSupport.subproj/WebSubresourceClient.m:
25453        * WebView.subproj/WebBaseResourceHandleDelegate.h:
25454        * WebView.subproj/WebBaseResourceHandleDelegate.m:
25455        * WebView.subproj/WebControllerSets.h:
25456        * WebView.subproj/WebControllerSets.m:
25457        * WebView.subproj/WebDataSourcePrivate.h:
25458        * WebView.subproj/WebDataSourcePrivate.m:
25459        * WebView.subproj/WebDefaultContextMenuDelegate.m:
25460        * WebView.subproj/WebFrame.m:
25461        * WebView.subproj/WebFramePrivate.h:
25462        * WebView.subproj/WebFrameView.m:
25463        * WebView.subproj/WebFrameViewPrivate.h:
25464        * WebView.subproj/WebFrameViewPrivate.m:
25465        * WebView.subproj/WebImageView.m:
25466        * WebView.subproj/WebMainResourceClient.m:
25467        * WebView.subproj/WebTextView.m:
25468        * WebView.subproj/WebView.m:
25469        * WebView.subproj/WebViewPrivate.h:
25470        * WebView.subproj/WebViewPrivate.m:
25471
254722003-05-01  John Sullivan  <sullivan@apple.com>
25473
25474        - fixed 3246045 -- History items without a valid date in 
25475        History.plist show up with unexpected dates in UI
25476
25477        Reviewed by Darin.
25478
25479        * History.subproj/WebHistoryItem.m:
25480        (-[WebHistoryItem initFromDictionaryRepresentation:]):
25481        don't set lastVisitedTimeInterval to [nil doubleValue],
25482        since this is random
25483
25484        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
25485
254862003-05-01  Richard Williamson   <rjw@apple.com>
25487
25488        Added missing header and alphabetized.
25489        
25490        Reviewed by Ken.
25491
25492        * Misc.subproj/WebKit.h:
25493
254942003-05-01  Chris Blumenberg  <cblu@apple.com>
25495
25496        Fixed: 3234888 - REGRESSION: "can't add a plug-in to a defunct WebPluginController" error, then crash
25497        Fixed: 3226392 - REGRESSION: Safari crashed while loading Java applet at PopCap.com
25498        
25499        Reviewed by darin.
25500
25501        * WebView.subproj/WebFramePrivate.h:
25502        * WebView.subproj/WebFramePrivate.m:
25503        (-[WebFrame setController:]): fixed comment
25504        * WebView.subproj/WebView.m:
25505        (-[WebView dealloc]): call [self _close]
25506        * WebView.subproj/WebViewPrivate.h:
25507        * WebView.subproj/WebViewPrivate.m:
25508        (-[WebViewPrivate dealloc]): let the WebView class clear the frames
25509        (-[WebView _close]): remove self from controller set and detach and release frame
25510
25511=== Safari-77 ===
25512
255132003-05-01  John Sullivan  <sullivan@apple.com>
25514
25515        - fixed 3245793 -- Launching Safari-75 after tip of tree 
25516        erases all history
25517
25518        Reviewed by Chris, Don
25519
25520        * History.subproj/WebHistoryItem.m:
25521        keep using "lastVisitedDate" as the dictionary key, since old
25522        Safaris otherwise can't read the History file.
25523        (-[WebHistoryItem dictionaryRepresentation]):
25524        keep storing the time interval as a string, since old Safaris
25525        otherwise can't read the History file
25526        (-[WebHistoryItem initFromDictionaryRepresentation:]):
25527        read the stored date as a string and convert to a double,
25528        as we did before.
25529
255302003-05-01  Darin Adler  <darin@apple.com>
25531
25532        Reviewed by John.
25533
25534        - fixed 3169117 -- dragging while using a scroll wheel affects scroll movement
25535
25536        * WebView.subproj/WebHTMLViewPrivate.m:
25537        (-[WebNSWindow nextEventMatchingMask:untilDate:inMode:dequeue:]):
25538        Just return nil when called with NSScrollWheelMask to work around the bug where any
25539        kind of event can be returned when this mask is passed. This will prevent scroll wheel
25540        events from being coalesced, but it's better than extracting events of all different
25541        types. Mouse moved events are particularly bad because they have deltaX/Y/Z and the
25542        scroll wheel code in NSScrollView treats them as if they were scroll wheel events.
25543
255442003-05-01  Ken Kocienda  <kocienda@apple.com>
25545
25546        Reviewed by Darin
25547
25548        Updated to use approved NSHTTPCookieStorage API.
25549
25550        +sharedCookieManager -> +sharedHTTPCookieStorage
25551        -acceptPolicy -> -cookieAcceptPolicy
25552        -cookieRequestHeaderFieldsForURL: -> -cookiesForURL:
25553        -setCookiesFromResponseHeader:forURL:policyBaseURL: -> -setCookies:forURL:mainDocumentURL:
25554
25555        * WebCoreSupport.subproj/WebCookieAdapter.m:
25556        (-[WebCookieAdapter cookiesEnabled]):
25557        (-[WebCookieAdapter cookiesForURL:]):
25558        (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
25559
255602003-05-01  Darin Adler  <darin@apple.com>
25561
25562        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
25563
255642003-04-30  Kenneth Kocienda  <kocienda@apple.com>
25565
25566        Reviewed by Richard
25567
25568        Modified WebFoundation error constant names. Names
25569        now begin with NSURLError prefix.
25570
25571        * Plugins.subproj/WebNetscapePluginRepresentation.m:
25572        (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
25573        * WebCoreSupport.subproj/WebSubresourceClient.m:
25574        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
25575        * WebView.subproj/WebBaseResourceHandleDelegate.m:
25576        (-[WebBaseResourceHandleDelegate cancelledError]):
25577        * WebView.subproj/WebDataProtocol.m:
25578        (-[WebDataProtocol startLoading]):
25579        * WebView.subproj/WebDataSourcePrivate.m:
25580        (-[WebDataSource _stopLoadingInternal]):
25581
255822003-04-30  Kenneth Kocienda  <kocienda@apple.com>
25583
25584        Reviewed by Richard
25585
25586        Use NSURLResponse new SPI methods to set instance variables.
25587
25588        * WebView.subproj/WebBaseResourceHandleDelegate.m:
25589        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
25590        * WebView.subproj/WebDataProtocol.m:
25591        (-[WebDataProtocol startLoading]):
25592        * WebView.subproj/WebMainResourceClient.m:
25593        (-[WebMainResourceClient loadWithRequest:]):
25594
255952003-04-30  Maciej Stachowiak  <mjs@apple.com>
25596
25597        Reviewed by Richard.
25598
25599        Moved NSURLProtectionSpace over to officially blessed API.
25600        * Panels.subproj/WebAuthenticationPanel.m:
25601        (-[WebAuthenticationPanel setUpForChallenge:]):
25602
256032003-04-30  Richard Williamson   <rjw@apple.com>
25604
25605        Copy MIME type when copying WebDataProtocol's parameters.
25606        
25607        Reviewed by Ken.
25608
25609        * WebView.subproj/WebDataProtocol.m:
25610        (-[WebDataRequestParameters copyWithZone:]):
25611
256122003-04-30  Richard Williamson   <rjw@apple.com>
25613
25614        Documentation fixes.
25615        Added "ADVISORY NOTE" about possible API change after beta SDK.
25616        
25617        * History.subproj/WebHistory.h:
25618        * WebView.subproj/WebUIDelegate.h:
25619
256202003-04-30  Ken Kocienda  <kocienda@apple.com>
25621
25622        Reviewed by Maciej
25623
25624        Tweaked some HTTP-specific NSURLRequest method names as specified
25625        in the API errata list.
25626
25627        * Plugins.subproj/WebBaseNetscapePluginView.m:
25628        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
25629        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
25630        * WebCoreSupport.subproj/WebBridge.m:
25631        (-[WebBridge createWindowWithURL:frameName:]):
25632        * WebCoreSupport.subproj/WebSubresourceClient.m:
25633        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
25634        * WebView.subproj/WebBaseResourceHandleDelegate.m:
25635        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
25636        * WebView.subproj/WebDefaultContextMenuDelegate.m:
25637        (-[WebDefaultUIDelegate openNewWindowWithURL:]):
25638        * WebView.subproj/WebFramePrivate.m:
25639        (-[WebFrame _loadItem:withLoadType:]):
25640        (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
25641        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
25642        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
25643        * WebView.subproj/WebMainResourceClient.m:
25644        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
25645
256462003-04-30  Maciej Stachowiak  <mjs@apple.com>
25647
25648        Reviewed by Ken.
25649
25650        Minor header tweaks.
25651
25652        * Misc.subproj/WebDownload.h: Fix copyright notice.
25653        * Panels.subproj/WebAuthenticationPanel.h: Added 2003 to copyright.
25654        * WebView.subproj/WebAuthenticationChallenge.h: Fix copyright notice, add docs.
25655        * WebView.subproj/WebAuthenticationChallengeInternal.h: Fix copyright notice.
25656
256572003-04-30  Maciej Stachowiak  <mjs@apple.com>
25658
25659        Reviewed by Ken.
25660
25661        Minor header tweaks.
25662
25663        * Misc.subproj/WebDownload.h: Fix copyright notice.
25664        * Panels.subproj/WebAuthenticationPanel.h: Added 2003 to copyright.
25665        * WebView.subproj/WebAuthenticationChallenge.h: Fix copyright notice, add docs.
25666        * WebView.subproj/WebAuthenticationChallengeInternal.h: Fix copyright notice.
25667
256682003-04-30  Maciej Stachowiak  <mjs@apple.com>
25669
25670        Reviewed by Darin.
25671
25672        Fixed imports and @class directives for WebFoundation changes.
25673
25674        * Panels.subproj/WebAuthenticationPanel.h:
25675        * Panels.subproj/WebAuthenticationPanel.m:
25676
256772003-04-30  Richard Williamson   <rjw@apple.com>
25678
25679        Fixed doc errors.
25680        
25681        * History.subproj/WebHistory.h:
25682
256832003-04-30  Maciej Stachowiak  <mjs@apple.com>
25684
25685        Reviewed by Darin.
25686
25687        Some simple renames:
25688
25689        sharedURLCredentialStorage --> sharedCredentialStorage
25690        URLCredentialWithUser:password:persistence: --> credentialWithUser:password:persistence:
25691
25692        * Panels.subproj/WebAuthenticationPanel.m:
25693        (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
25694        (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
25695
256962003-04-30  Maciej Stachowiak  <mjs@apple.com>
25697
25698        Reviewed by Darin.
25699
25700        Changed things to use WebAuthenticationChallenge for
25701        WebResoureceLoadDelegate auth callbacks.
25702
25703        * Panels.subproj/WebPanelAuthenticationHandler.m:
25704        (-[WebPanelAuthenticationHandler startAuthentication:window:]):
25705        (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
25706        * WebKit.exp:
25707        * WebKit.pbproj/project.pbxproj:
25708        * WebView.subproj/WebAuthenticationChallenge.h: Added.
25709        * WebView.subproj/WebAuthenticationChallenge.m: Added.
25710        (-[WebAuthenticationChallengeInternal initWithDelegate:]):
25711        (-[WebAuthenticationChallengeInternal dealloc]):
25712        (-[WebAuthenticationChallenge _initWithAuthenticationChallenge:delegate:]):
25713        (-[WebAuthenticationChallenge dealloc]):
25714        (-[WebAuthenticationChallenge useCredential:]):
25715        (-[WebAuthenticationChallenge cancel]):
25716        (-[WebAuthenticationChallenge continueWithoutCredential]):
25717        * WebView.subproj/WebAuthenticationChallengeInternal.h: Added.
25718        * WebView.subproj/WebBaseResourceHandleDelegate.h:
25719        * WebView.subproj/WebBaseResourceHandleDelegate.m:
25720        (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]):
25721        (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]):
25722        (-[WebBaseResourceHandleDelegate useCredential:forAuthenticationChallenge:]):
25723        (-[WebBaseResourceHandleDelegate continueWithoutCredentialForAuthenticationChallenge:]):
25724        (-[WebBaseResourceHandleDelegate cancelWithError:]):
25725        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
25726        (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]):
25727        (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]):
25728        * WebView.subproj/WebResourceLoadDelegate.h:
25729
257302003-04-30  Maciej Stachowiak  <mjs@apple.com>
25731
25732        Reviewed by Darin.
25733        Converted download code to use an
25734        NSURLDownloadAuthenticationChallenge rather than a vanilla
25735        NSURLAuthenticationChallenge.
25736
25737        * Misc.subproj/WebDownload.m:
25738        (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
25739        (-[WebDownloadInternal download:didCancelAuthenticationChallenge:]):
25740        * Panels.subproj/WebPanelAuthenticationHandler.h:
25741        * Panels.subproj/WebPanelAuthenticationHandler.m:
25742        (-[WebPanelAuthenticationHandler startAuthentication:window:]):
25743        (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
25744
257452003-04-30  Ken Kocienda  <kocienda@apple.com>
25746
25747        Reviewed by Richard
25748
25749        Changed cookie-related constants and enums to 
25750        the API-approved names. Also did some text
25751        search and replace in comments to catch usages
25752        of now-obsolete names.
25753
25754        * WebCoreSupport.subproj/WebCookieAdapter.m:
25755        (-[WebCookieAdapter cookiesEnabled]):
25756
257572003-04-30  Chris Blumenberg  <cblu@apple.com>
25758
25759        FIXED: Clients of WebKit should have separate icon DB's
25760
25761        Reviewed by rjw.
25762
25763        * English.lproj/StringsNotToBeLocalized.txt:
25764        * Misc.subproj/WebIconDatabase.h:
25765        * Misc.subproj/WebIconDatabase.m:
25766        (-[WebIconDatabase _createFileDatabase]): If the icon db hasn't been set using the defaults, create o directory using the bundle id. 
25767        * WebKit.exp:
25768
257692003-04-30  Richard Williamson   <rjw@apple.com>
25770
25771        API changes from final review meeting.
25772        
25773        Moved view registry to WebView.
25774        Changed WebHistoryItem to use NSTimeInterval (at least for public API).
25775        Still creates a NSCalendarDate for compatibility.  We should wean Safari
25776        off it's use of NSCalendarDate.
25777        Added public init method for WebHistoryItem.
25778        Removed anchor from WebHistoryItem.
25779        Added WebHistorySavedNotification.
25780        
25781        Reviewed by Darin.
25782
25783        * History.subproj/WebHistory.m:
25784        (-[WebHistory addItemForURL:]):
25785        * History.subproj/WebHistoryItem.h:
25786        * History.subproj/WebHistoryItem.m:
25787        (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
25788        (-[WebHistoryItem copyWithZone:]):
25789        (-[WebHistoryItem lastVisitedTimeInterval]):
25790        (-[WebHistoryItem anchor]):
25791        (-[WebHistoryItem _setLastVisitedTimeInterval:]):
25792        (-[WebHistoryItem _lastVisitedDate]):
25793        (-[WebHistoryItem dictionaryRepresentation]):
25794        (-[WebHistoryItem initFromDictionaryRepresentation:]):
25795        * History.subproj/WebHistoryItemPrivate.h:
25796        * History.subproj/WebHistoryPrivate.m:
25797        (-[WebHistoryPrivate insertItem:atDateIndex:]):
25798        (-[WebHistoryPrivate removeItemForURLString:]):
25799        (-[WebHistoryPrivate addItem:]):
25800        (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
25801        * Plugins.subproj/WebPluginDatabase.m:
25802        (-[WebPluginDatabase init]):
25803        * WebView.subproj/WebFrame.h:
25804        * WebView.subproj/WebFrame.m:
25805        * WebView.subproj/WebFramePrivate.m:
25806        (-[WebFrame _transitionToCommitted:]):
25807        * WebView.subproj/WebView.h:
25808        * WebView.subproj/WebView.m:
25809        (+[WebView registerViewClass:representationClass:forMIMEType:]):
25810
258112003-04-29  Maciej Stachowiak  <mjs@apple.com>
25812
25813        Reviewed by Darin.
25814
25815        - Adjusted for authentication API change - now we expect
25816        authentication via the connection delegate, not a separate global
25817        authentication handler
25818
25819        * Misc.subproj/WebKit.h: Include WebDownload.h
25820        * Misc.subproj/WebDownload.h: Added.
25821        * Misc.subproj/WebDownload.m: Added - this new class is just like NSURLDownload
25822        but if the standard auth delegate methods are not implemented, it prompts using
25823        the standard AppKit sheet.
25824        * Panels.subproj/WebPanelAuthenticationHandler.h:
25825        * Panels.subproj/WebPanelAuthenticationHandler.m:
25826        (+[WebPanelAuthenticationHandler sharedHandler]): New method to get a shared
25827        handler, since we no logner register an instance with WebFoundation.
25828        (-[WebPanelAuthenticationHandler startAuthentication:window:]): Do things
25829        using the new API.
25830        (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
25831        Likewise.
25832        * WebKit.exp: Export WebDownload.
25833        * WebKit.pbproj/project.pbxproj: Add new files to  build.
25834
25835        - Removed WebStandardPanels - this is removed from the API.
25836        
25837        * Panels.subproj/WebStandardPanels.h: Removed.
25838        * Panels.subproj/WebStandardPanels.m: Removed.
25839        * Panels.subproj/WebStandardPanelsPrivate.h: Removed.
25840        * Panels.subproj/WebAuthenticationPanel.m: Remove WebStandardPanels.h import.
25841
25842        - Added new resource load delegate auth methods:
25843        * WebView.subproj/WebResourceLoadDelegate.h:
25844
25845        - Use WebDownload where appropriate, and remove use of WebStandardPanels:
25846        * WebView.subproj/WebBaseResourceHandleDelegate.h:
25847        * WebView.subproj/WebBaseResourceHandleDelegate.m:
25848        (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]):
25849        Pass to resource load delegate.
25850        (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]):
25851        Likewise.
25852        (-[WebBaseResourceHandleDelegate dealloc]): Don't track currentURL any more.
25853        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): Likewise.
25854        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): Likewise.
25855        (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]): Likewise.
25856        (-[WebBaseResourceHandleDelegate cancelWithError:]): Likewise.
25857        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
25858        (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]): 
25859        Prompt using the standard panel.
25860
25861        (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]):
25862        Cancel prompting using the standard panel.
25863        * WebView.subproj/WebMainResourceClient.m:
25864        (-[WebMainResourceClient continueAfterContentPolicy:response:]): Use WebDownload instead
25865        of NSURLDownload.
25866        * WebView.subproj/WebView.h: Remove unneeded @class directives,
25867        and mention WebDownload instead of NSURLDownload.
25868        * WebView.subproj/WebViewPrivate.h:
25869        * WebView.subproj/WebViewPrivate.m:
25870        (-[WebView _downloadURL:toDirectory:]): Use WebDownload instead of NSURLDownload.
25871        (-[WebView _cacheResourceLoadDelegateImplementations]): Track auth methods too.
25872
258732003-04-30  Ken Kocienda  <kocienda@apple.com>
25874
25875        Reviewed by Darin
25876
25877        Changed cookie-related class names:
25878
25879        WebCookie -> NSHTTPCookie
25880        WebCookiePrivate -> NSHTTPCookieInternal     
25881        WebCookieManager -> NSHTTPCookieStorage      
25882        WebCookieManagerPrivate -> NSHTTPCookieStorageInternal     
25883
25884        * WebCoreSupport.subproj/WebCookieAdapter.m:
25885        (-[WebCookieAdapter cookiesEnabled]):
25886        (-[WebCookieAdapter cookiesForURL:]):
25887        (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
25888
258892003-04-30  Ken Kocienda  <kocienda@apple.com>
25890
25891        Reviewed by Darin
25892
25893        Changed file names for these classes. The contents
25894        of the files themselves remain unchanged.
25895
25896        WebCookie -> NSHTTPCookie.
25897        WebCookieManager -> NSHTTPCookieStorage.
25898
25899        * WebCoreSupport.subproj/WebCookieAdapter.m:
25900        * WebView.subproj/WebMainResourceClient.m:
25901
259022003-04-30  Darin Adler  <darin@apple.com>
25903
25904        Reviewed by Ken.
25905
25906        - make change to avoid misunderstanding that led to bug report 3179394
25907          "Safari: Request that temp files use actual file extensions"
25908
25909        * Plugins.subproj/WebBaseNetscapePluginStream.m:
25910        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
25911        Don't put a dot between "SafariPlugInStream" and the the 6-digit unique number, so the number
25912        does not look like an extension. Also make it "WebKitPlugInStream" since this is used for
25913        other WebKit clients, and not just Safari.
25914
25915        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
25916
259172003-04-29  Richard Williamson   <rjw@apple.com>
25918
25919        API changes from final review meeting.
25920        Added textEncodingName method to WebDataSource.
25921        
25922        Reviewed by Chris.
25923
25924        * WebView.subproj/WebDataSource.h:
25925        * WebView.subproj/WebDataSource.m:
25926        (-[WebDataSource textEncodingName]):
25927
259282003-04-29  Chris Blumenberg  <cblu@apple.com>
25929
25930        Updated to use the new NSURLDownload API.
25931        Reviewed by rjw.
25932
25933        * WebView.subproj/WebDataSourcePrivate.h:
25934        * WebView.subproj/WebDataSourcePrivate.m:
25935        (-[WebDataSourcePrivate dealloc]):
25936        * WebView.subproj/WebMainResourceClient.m:
25937        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
25938        * WebView.subproj/WebViewPrivate.m:
25939        (-[WebView _downloadURL:toDirectory:]):
25940
259412003-04-29  Richard Williamson   <rjw@apple.com>
25942
25943        Added "Copyright (C) 2003 Apple Computer, Inc. All rights reserved."
25944        to all public headers.  Also made formatting consistent.
25945    
25946        Reviewed by darin.
25947
25948        * Carbon.subproj/CarbonUtils.h:
25949        * Carbon.subproj/HIWebView.h:
25950        * History.subproj/WebBackForwardList.h:
25951        * History.subproj/WebHistory.h:
25952        * History.subproj/WebHistoryItem.h:
25953        * Misc.subproj/WebKit.h:
25954        * Misc.subproj/WebKitErrors.h:
25955        * WebView.subproj/WebDataSource.h:
25956        * WebView.subproj/WebDocument.h:
25957        * WebView.subproj/WebFrame.h:
25958        * WebView.subproj/WebFrameLoadDelegate.h:
25959        * WebView.subproj/WebFrameView.h:
25960        * WebView.subproj/WebPolicyDelegate.h:
25961        * WebView.subproj/WebPreferences.h:
25962        * WebView.subproj/WebResourceLoadDelegate.h:
25963        * WebView.subproj/WebUIDelegate.h:
25964        * WebView.subproj/WebView.h:
25965
259662003-04-28  Don Melton  <gramps@apple.com>
25967
25968        Fixed 3225050 -- Default font size should be 16px
25969        Fixed 3241813 -- No longer spoof as WinIE for abcnews.go.com when
25970        default font size becomes 16px
25971
25972        Reviewed by Darin and Maciej.
25973
25974        * English.lproj/StringsNotToBeLocalized.txt:
25975
25976        Updated.
25977
25978        * WebCoreSupport.subproj/WebTextRenderer.m:
25979        (-[WebTextRenderer initWithFont:usingPrinterFont:]):
25980
25981        We need to adjust Times, Helvetica, and Courier to closely match the
25982        vertical metrics of their Microsoft counterparts that are the de facto
25983        web standard.  The AppKit adjustment of 20% is too big and is
25984        incorrectly added to line spacing, so we use a 15% adjustment instead
25985        and add it to the ascent.
25986
25987        * WebView.subproj/WebPreferences.m:
25988        (+[WebPreferences initialize]):
25989
25990        Changed default font size from 14 to 16 pixels and default fixed font
25991        size from 14 to 13 pixels.  Changed standard font from Lucida Grande to
25992        Times, serif font from Times New Roman to Times, and sans serif font
25993        from Lucida Grande to Helvetica.  Also replaced some stray tabs with
25994        spaces and made a few other anal-retentive formatting changes.
25995
25996        * WebView.subproj/WebUserAgentSpoofTable.c:
25997        (hash):
25998        (_web_findSpoofTableEntry):
25999        * WebView.subproj/WebUserAgentSpoofTable.gperf:
26000
26001        No longer spoof as Windows MSIE for abcnews.go.com since we've also
26002        changed the default font size.
26003
260042003-04-28  Richard Williamson  <rjw@apple.com>
26005
26006        API changes from final review meeting.
26007        
26008        goBackOrForwardToItem: -> goToBackForwardItem:
26009        drop "Window" from WebUIDelegate method names.
26010        WebElementIsSelectedTextKey -> WebElementIsSelectedKey
26011        Cross-frame searchFor on WebView now public.
26012        
26013        Reviewed by Chris.
26014
26015        * Plugins.subproj/WebBaseNetscapePluginView.m:
26016        * WebCoreSupport.subproj/WebBridge.m:
26017        * WebKit.exp:
26018        * WebView.subproj/WebDefaultContextMenuDelegate.m:
26019        * WebView.subproj/WebDefaultUIDelegate.m:
26020        * WebView.subproj/WebFrame.h:
26021        * WebView.subproj/WebFramePrivate.m:
26022        * WebView.subproj/WebHTMLView.m:
26023        * WebView.subproj/WebHTMLViewPrivate.m:
26024        * WebView.subproj/WebImageView.m:
26025        * WebView.subproj/WebPolicyDelegate.h:
26026        * WebView.subproj/WebTextView.m:
26027        * WebView.subproj/WebUIDelegate.h:
26028        * WebView.subproj/WebView.h:
26029        * WebView.subproj/WebView.m:
26030        * WebView.subproj/WebViewPrivate.h:
26031        * WebView.subproj/WebViewPrivate.m:
26032
260332003-04-28  Ken Kocienda  <kocienda@apple.com>
26034
26035        Reviewed by Chris
26036
26037        * Plugins.subproj/WebBaseNetscapePluginStream.m:
26038        (-[WebBaseNetscapePluginStream setResponse:]): _lastModifiedDate on
26039        NSURLResponse is now SPI.
26040        * WebView.subproj/WebDataSourcePrivate.m:
26041        (-[WebDataSource _commitIfReady:]): Ditto.
26042
260432003-04-27  Chris Blumenberg  <cblu@apple.com>
26044
26045        Improved headerdoc comments.
26046        * Misc.subproj/WebKitErrors.h:
26047        * WebView.subproj/WebFrameLoadDelegate.h:
26048
260492003-04-25  Don Melton  <gramps@apple.com>
26050
26051        Backed out Richard's (hopefully) accidental checkin of our experiments
26052        from earlier today.  Otherwise many layout tests are hosed.  But this
26053        change, or something like it, will arrive soon.
26054
26055        * WebCoreSupport.subproj/WebTextRenderer.m:
26056        (-[WebTextRenderer initWithFont:usingPrinterFont:]):
26057
260582003-04-25  Richard Williamson   <rjw@apple.com>
26059
26060        API changes from final review meeting.
26061        
26062        WebView:
26063        Added canShowMIMETypeAsHTML:
26064
26065        WebFrameView:
26066        Removed scrollView
26067        Removed isDocumentHTML
26068        
26069        WebDataSource:
26070        Removed isDocumentHTML
26071        
26072        Reviewed by Chris.
26073
26074        * WebCoreSupport.subproj/WebTextRenderer.m:
26075        (-[WebTextRenderer initWithFont:usingPrinterFont:]):
26076        * WebView.subproj/WebDataSource.h:
26077        * WebView.subproj/WebDataSource.m:
26078        * WebView.subproj/WebDataSourcePrivate.h:
26079        * WebView.subproj/WebDataSourcePrivate.m:
26080        (-[WebDataSource _layoutChildren]):
26081        (-[WebDataSource _mainDocumentError]):
26082        (-[WebDataSource _isDocumentHTML]):
26083        * WebView.subproj/WebFramePrivate.m:
26084        (-[WebFrame _makeDocumentView]):
26085        (-[WebFrame _setState:]):
26086        (-[WebFrame _isLoadComplete]):
26087        * WebView.subproj/WebFrameView.h:
26088        * WebView.subproj/WebFrameView.m:
26089        (-[WebFrameView setAllowsScrolling:]):
26090        (-[WebFrameView allowsScrolling]):
26091        (-[WebFrameView documentView]):
26092        (-[WebFrameView drawRect:]):
26093        (-[WebFrameView setFrameSize:]):
26094        * WebView.subproj/WebFrameViewPrivate.h:
26095        * WebView.subproj/WebFrameViewPrivate.m:
26096        (-[WebFrameView _setDocumentView:]):
26097        (-[WebFrameView _scrollView]):
26098        (-[WebFrameView _contentView]):
26099        (-[WebFrameView _verticalKeyboardScrollAmount]):
26100        (-[WebFrameView _horizontalKeyboardScrollAmount]):
26101        (-[WebFrameView _scrollToBottomLeft]):
26102        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
26103        (+[WebFrameView _canShowMIMETypeAsHTML:]):
26104        * WebView.subproj/WebHTMLView.m:
26105        (-[WebHTMLView _setPrinting:pageWidth:]):
26106        * WebView.subproj/WebHTMLViewPrivate.m:
26107        (-[WebHTMLView _updateMouseoverWithEvent:]):
26108        * WebView.subproj/WebView.h:
26109        * WebView.subproj/WebView.m:
26110        (+[WebView canShowMIMETypeAsHTML:]):
26111
261122003-04-25  Chris Blumenberg  <cblu@apple.com>
26113
26114        Renamed WebDownload to NSURLDownload and moved it to WebFoundation.
26115
26116        Reviewed by rjw.
26117
26118        * Downloads.subproj/WebBinHexDecoder.h: Removed.
26119        * Downloads.subproj/WebBinHexDecoder.m: Removed.
26120        * Downloads.subproj/WebDownload.h: Removed.
26121        * Downloads.subproj/WebDownload.m: Removed.
26122        * Downloads.subproj/WebDownloadDecoder.h: Removed.
26123        * Downloads.subproj/WebDownloadPrivate.h: Removed.
26124        * Downloads.subproj/WebGZipDecoder.h: Removed.
26125        * Downloads.subproj/WebGZipDecoder.m: Removed.
26126        * Downloads.subproj/WebMacBinaryDecoder.h: Removed.
26127        * Downloads.subproj/WebMacBinaryDecoder.m: Removed.
26128        * Downloads.subproj/crc16.h: Removed.
26129        * Downloads.subproj/crc16.m: Removed.
26130        * English.lproj/Localizable.strings:
26131        * English.lproj/StringsNotToBeLocalized.txt:
26132        * Misc.subproj/WebKit.h:
26133        * Misc.subproj/WebKitErrors.h:
26134        * Misc.subproj/WebKitErrors.m:
26135        (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):
26136        (registerErrors):
26137        * Misc.subproj/WebNSWorkspaceExtras.h: Removed.
26138        * Misc.subproj/WebNSWorkspaceExtras.m: Removed.
26139        * WebKit.exp:
26140        * WebKit.pbproj/project.pbxproj:
26141        * WebView.subproj/WebDataSource.m:
26142        * WebView.subproj/WebDataSourcePrivate.m:
26143        * WebView.subproj/WebMainResourceClient.h:
26144        * WebView.subproj/WebMainResourceClient.m:
26145        (-[WebMainResourceClient initWithDataSource:]):
26146        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
26147        * WebView.subproj/WebView.h:
26148        * WebView.subproj/WebViewPrivate.m:
26149        (-[WebView _downloadURL:toDirectory:]):
26150
261512003-04-25  Richard Williamson   <rjw@apple.com>
26152
26153        Final API review changes.
26154
26155        parent -> parentFrame
26156        children -> childFrames
26157
26158        Reviewed by Chris.
26159
26160        * WebView.subproj/WebHTMLView.m:
26161        (-[WebHTMLView _setPrinting:pageWidth:]):
26162
261632003-04-25  Richard Williamson   <rjw@apple.com>
26164
26165        Final API review changes.
26166
26167        parent -> parentFrame
26168        children -> childFrames
26169
26170        Reviewed by Chris.
26171
26172        * WebCoreSupport.subproj/WebBridge.m:
26173        (-[WebBridge childFrames]):
26174        (-[WebBridge frameDetached]):
26175
261762003-04-25  Richard Williamson   <rjw@apple.com>
26177
26178        Final API review changes.
26179        
26180        WebFrame:
26181        parent -> parentFrame
26182        children -> childFrames
26183        loadString:baseURL: -> loadHTMLString:baseURL:
26184        laodData:encodingName:baseURL: -> loadData:MIMEType:textEncodingName:baseURL:
26185        
26186        Reviewed by Chris.
26187
26188        * WebView.subproj/WebDataProtocol.h:
26189        * WebView.subproj/WebDataProtocol.m:
26190        (-[WebDataRequestParameters dealloc]):
26191        (-[NSURLRequest _webDataRequestMIMEType]):
26192        (-[NSURLRequest _webDataRequestSetMIMEType:]):
26193        (-[WebDataProtocol startLoading]):
26194        * WebView.subproj/WebDataSource.m:
26195        (-[WebDataSource isLoading]):
26196        * WebView.subproj/WebDataSourcePrivate.m:
26197        (-[WebDataSource _recursiveStopLoading]):
26198        (-[WebDataSource _layoutChildren]):
26199        (-[WebDataSource _defersCallbacksChanged]):
26200        * WebView.subproj/WebFrame.h:
26201        * WebView.subproj/WebFrame.m:
26202        (-[WebFrame loadHTMLString:baseURL:]):
26203        (-[WebFrame findFrameNamed:]):
26204        (-[WebFrame parentFrame]):
26205        (-[WebFrame childFrames]):
26206        * WebView.subproj/WebFramePrivate.m:
26207        (-[WebFrame _createItem]):
26208        (-[WebFrame _descendantFrameNamed:]):
26209        (-[WebFrame _transitionToCommitted:]):
26210        (-[WebFrame _isLoadComplete]):
26211        (+[WebFrame _recursiveCheckCompleteFromFrame:]):
26212        (-[WebFrame _textSizeMultiplierChanged]):
26213        (-[WebFrame _viewWillMoveToHostWindow:]):
26214        (-[WebFrame _viewDidMoveToHostWindow]):
26215        (-[WebFrame _saveDocumentAndScrollState]):
26216        (-[WebFrame _loadDataSource:withLoadType:formState:]):
26217        * WebView.subproj/WebViewPrivate.m:
26218        (-[WebViewPrivate _clearControllerReferences:]):
26219        (-[WebView _frameForDataSource:fromFrame:]):
26220        (-[WebView _frameForView:fromFrame:]):
26221
262222003-04-25  Chris Blumenberg  <cblu@apple.com>
26223
26224        Don't do "@class WebDataSource" as that class isn't mentioned in this file.
26225
26226        * WebView.subproj/WebFrameLoadDelegate.h:
26227
262282003-04-25  Chris Blumenberg  <cblu@apple.com>
26229
26230        Turned WebLocationChangeDelegate into WebFrameLoadDelegate. Renamed WebFrameLoadDelegate all methods to pass a frame instead of the data source.
26231
26232        Reviewed by rjw.
26233
26234        * English.lproj/Localizable.strings:
26235        * Misc.subproj/WebKit.h:
26236        * Misc.subproj/WebKitErrors.h:
26237        * Misc.subproj/WebKitErrors.m:
26238        (registerErrors):
26239        * WebCoreSupport.subproj/WebBridge.m:
26240        * WebKit.pbproj/project.pbxproj:
26241        * WebView.subproj/WebDataSourcePrivate.m:
26242        (-[WebDataSource _startLoading:]):
26243        (-[WebDataSource _setTitle:]):
26244        (-[WebDataSource _setRequest:]):
26245        (-[WebDataSource _updateIconDatabaseWithURL:]):
26246        * WebView.subproj/WebDefaultFrameLoadDelegate.h: Added.
26247        * WebView.subproj/WebDefaultFrameLoadDelegate.m: Added.
26248        (+[WebDefaultFrameLoadDelegate sharedFrameLoadDelegate]):
26249        (-[WebDefaultFrameLoadDelegate webView:didStartProvisionalLoadForFrame:]):
26250        (-[WebDefaultFrameLoadDelegate webView:didReceiveServerRedirectForProvisionalLoadForFrame:]):
26251        (-[WebDefaultFrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
26252        (-[WebDefaultFrameLoadDelegate webView:didCommitLoadForFrame:]):
26253        (-[WebDefaultFrameLoadDelegate webView:didReceiveTitle:forFrame:]):
26254        (-[WebDefaultFrameLoadDelegate webView:didReceiveIcon:forFrame:]):
26255        (-[WebDefaultFrameLoadDelegate webView:didFinishLoadForFrame:]):
26256        (-[WebDefaultFrameLoadDelegate webView:didFailLoadWithError:forFrame:]):
26257        (-[WebDefaultFrameLoadDelegate webView:didChangeLocationWithinPageForFrame:]):
26258        (-[WebDefaultFrameLoadDelegate webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:]):
26259        (-[WebDefaultFrameLoadDelegate webView:didCancelClientRedirectForFrame:]):
26260        (-[WebDefaultFrameLoadDelegate webView:willCloseFrame:]):
26261        * WebView.subproj/WebDefaultLocationChangeDelegate.h: Removed.
26262        * WebView.subproj/WebDefaultLocationChangeDelegate.m: Removed.
26263        * WebView.subproj/WebFrame.m:
26264        * WebView.subproj/WebFrameLoadDelegate.h: Added.
26265        * WebView.subproj/WebFramePrivate.m:
26266        (-[WebFrame _closeOldDataSources]):
26267        (-[WebFrame _transitionToCommitted:]):
26268        (-[WebFrame _isLoadComplete]):
26269        (-[WebFrame _loadItem:withLoadType:]):
26270        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
26271        (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]):
26272        (-[WebFrame _clientRedirectCancelled]):
26273        * WebView.subproj/WebLocationChangeDelegate.h: Removed.
26274        * WebView.subproj/WebMainResourceClient.m:
26275        (-[WebMainResourceClient interruptForPolicyChangeError]):
26276        * WebView.subproj/WebPolicyDelegate.h:
26277        * WebView.subproj/WebView.h:
26278        * WebView.subproj/WebView.m:
26279        (-[WebView setFrameLoadDelegate:]):
26280        (-[WebView frameLoadDelegate]):
26281        * WebView.subproj/WebViewPrivate.h:
26282        * WebView.subproj/WebViewPrivate.m:
26283        (-[WebViewPrivate dealloc]):
26284        (-[WebView _frameLoadDelegateForwarder]):
26285
262862003-04-25  John Sullivan  <sullivan@apple.com>
26287
26288        - fixed 3240676 -- REGRESSION: Using old Safari then new one 
26289        erases history
26290
26291        Reviewed by Darin.
26292
26293        * History.subproj/WebHistoryPrivate.m:
26294        (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
26295        The new code to use a synchronous NSURLConnection to read the
26296        property list file did not take into account the two possible
26297        formats of the file (NSArray or NSDictionary), so reading
26298        old-style history files was completely broken. While in here,
26299        I distributed the variable declarations to first use.
26300
263012003-04-24  Maciej Stachowiak  <mjs@apple.com>
26302
26303        Fixed build.
26304        * Panels.subproj/WebStandardPanels.m:
26305        (-[WebStandardPanels setUsesStandardAuthenticationPanel:]):
26306
263072003-04-24  Maciej Stachowiak  <mjs@apple.com>
26308
26309        Reviewed by Ken.
26310
26311        Updated for auth API changes.
26312        * Panels.subproj/WebStandardPanels.m:
26313        (-[WebStandardPanels setUsesStandardAuthenticationPanel:]): 
26314
263152003-04-24  Richard Williamson   <rjw@apple.com>
26316
26317        Final API review changes.
26318        
26319        Renamed WebWindowOperationsDelegate to WebUIDelegate.
26320        Merged WebContextMenuDelegate into WebUIDelegate.
26321        Fixed crasher if history file doesn't exist.
26322        
26323        Reviewed by Ken.
26324
26325        * History.subproj/WebHistory.h:
26326        * History.subproj/WebHistoryPrivate.m:
26327        (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
26328        * Misc.subproj/WebKit.h:
26329        * Plugins.subproj/WebBaseNetscapePluginView.m:
26330        (-[WebBaseNetscapePluginView loadPluginRequest:]):
26331        (-[WebBaseNetscapePluginView status:]):
26332        * Plugins.subproj/WebPluginController.m:
26333        (-[WebPluginController showStatus:]):
26334        * WebCoreSupport.subproj/WebBridge.h:
26335        * WebCoreSupport.subproj/WebBridge.m:
26336        (-[WebBridge createWindowWithURL:frameName:]):
26337        (-[WebBridge showWindow]):
26338        (-[WebBridge areToolbarsVisible]):
26339        (-[WebBridge setToolbarsVisible:]):
26340        (-[WebBridge isStatusBarVisible]):
26341        (-[WebBridge setStatusBarVisible:]):
26342        (-[WebBridge setWindowFrame:]):
26343        (-[WebBridge windowFrame]):
26344        (-[WebBridge setWindowContentRect:]):
26345        (-[WebBridge windowContentRect]):
26346        (-[WebBridge setWindowIsResizable:]):
26347        (-[WebBridge windowIsResizable]):
26348        (-[WebBridge firstResponder]):
26349        (-[WebBridge makeFirstResponder:]):
26350        (-[WebBridge closeWindow]):
26351        (-[WebBridge runJavaScriptAlertPanelWithMessage:]):
26352        (-[WebBridge runJavaScriptConfirmPanelWithMessage:]):
26353        (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
26354        (-[WebBridge runOpenPanelForFileButtonWithResultListener:]):
26355        (-[WebBridge setStatusText:]):
26356        (-[WebBridge focusWindow]):
26357        * WebKit.exp:
26358        * WebKit.pbproj/project.pbxproj:
26359        * WebView.subproj/WebContextMenuDelegate.h: Removed.
26360        * WebView.subproj/WebDefaultContextMenuDelegate.h:
26361        * WebView.subproj/WebDefaultContextMenuDelegate.m:
26362        * WebView.subproj/WebDefaultUIDelegate.h:
26363        * WebView.subproj/WebDefaultUIDelegate.m:
26364        (+[WebDefaultUIDelegate sharedUIDelegate]):
26365        (-[WebDefaultUIDelegate dealloc]):
26366        * WebView.subproj/WebDefaultWindowOperationsDelegate.h: Removed.
26367        * WebView.subproj/WebDefaultWindowOperationsDelegate.m: Removed.
26368        * WebView.subproj/WebFrame.m:
26369        * WebView.subproj/WebFramePrivate.m:
26370        (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
26371        * WebView.subproj/WebFrameView.m:
26372        * WebView.subproj/WebHTMLViewPrivate.m:
26373        * WebView.subproj/WebUIDelegate.h:
26374        * WebView.subproj/WebView.h:
26375        * WebView.subproj/WebView.m:
26376        (-[WebView setUIDelegate:]):
26377        (-[WebView UIDelegate]):
26378        (-[WebView downloadDelegate]):
26379        * WebView.subproj/WebViewPrivate.h:
26380        * WebView.subproj/WebViewPrivate.m:
26381        (-[WebViewPrivate init]):
26382        (-[WebViewPrivate dealloc]):
26383        (-[WebView _openNewWindowWithRequest:]):
26384        (-[WebView _menuForElement:]):
26385        (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
26386        (-[WebView _UIDelegateForwarder]):
26387        * WebView.subproj/WebWindowOperationsDelegate.h: Removed.
26388
263892003-04-24  Richard Williamson   <rjw@apple.com>
26390
26391        Final API review changes.
26392
26393        * History.subproj/WebHistoryItem.h:
26394        * History.subproj/WebHistoryItem.m:
26395        (-[WebHistoryItem setAlternateTitle:]):
26396        (-[WebHistoryItem initFromDictionaryRepresentation:]):
26397
263982003-04-24  Richard Williamson   <rjw@apple.com>
26399
26400        Final API review changes.
26401        
26402        Reviewed by Chris.
26403
26404        * History.subproj/WebBackForwardList.h:
26405        * History.subproj/WebBackForwardList.m:
26406        (-[WebBackForwardList containsItem:]):
26407        (-[WebBackForwardList capacity]):
26408        (-[WebBackForwardList setCapacity:]):
26409        (-[WebBackForwardList _clearPageCache]):
26410        (-[WebBackForwardList setPageCacheSize:]):
26411        (-[WebBackForwardList _setUsesPageCache:]):
26412        (-[WebBackForwardList _usesPageCache]):
26413        * History.subproj/WebHistory.h:
26414        * History.subproj/WebHistory.m:
26415        (+[WebHistory optionalSharedHistory]):
26416        (+[WebHistory setOptionalSharedHistory:]):
26417        (-[WebHistory init]):
26418        (-[WebHistory loadFromURL:error:]):
26419        (-[WebHistory saveToURL:error:]):
26420        * History.subproj/WebHistoryItemPrivate.h:
26421        * History.subproj/WebHistoryPrivate.h:
26422        * History.subproj/WebHistoryPrivate.m:
26423        (-[WebHistoryPrivate init]):
26424        (-[WebHistoryPrivate dealloc]):
26425        (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
26426        (-[WebHistoryPrivate loadFromURL:error:]):
26427        (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]):
26428        (-[WebHistoryPrivate saveToURL:error:]):
26429        * WebView.subproj/WebDataSourcePrivate.m:
26430        (-[WebDataSource _setTitle:]):
26431        * WebView.subproj/WebFramePrivate.m:
26432        (-[WebFrame _transitionToCommitted:]):
26433        (-[WebFrame _canCachePage]):
26434        (-[WebFrame _purgePageCache]):
26435
264362003-04-24  Maciej Stachowiak  <mjs@apple.com>
26437
26438        Reviewed by Chris.
26439
26440        * Panels.subproj/WebAuthenticationPanel.m:
26441        (-[WebAuthenticationPanel setUpForChallenge:]): Update for new Challenge API.
26442
264432003-04-24  Chris Blumenberg  <cblu@apple.com>
26444
26445        Renamed - [NSURLResponse suggestedFilenameForSaving] to suggestedFilename and moved it to WebFoundation.
26446
26447        Reviewed by mjs.
26448
26449        * Downloads.subproj/WebDownload.m:
26450        (-[WebDownload _createFileIfNecessary]):
26451        * English.lproj/Localizable.strings:
26452        * English.lproj/StringsNotToBeLocalized.txt:
26453        * Misc.subproj/WebNSURLResponseExtras.h: Removed.
26454        * Misc.subproj/WebNSURLResponseExtras.m: Removed.
26455        * Plugins.subproj/WebNullPluginView.m: include NSError to unbreak build.
26456        * WebKit.pbproj/project.pbxproj:
26457
264582003-04-24  Chris Blumenberg  <cblu@apple.com>
26459
26460        Removed WebPluginError and instead added fields to the userInfo of NSError for plug-in specific errors.
26461
26462        Reviewed by rjw.
26463
26464        * Misc.subproj/WebKitErrors.h:
26465        * Misc.subproj/WebKitErrors.m:
26466        (+[NSError _webKitErrorWithCode:failingURL:]):
26467        (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):
26468        * Misc.subproj/WebKitErrorsPrivate.h:
26469        * Plugins.subproj/WebNetscapePluginDocumentView.m:
26470        (-[WebNetscapePluginDocumentView setDataSource:]):
26471        * Plugins.subproj/WebNullPluginView.h:
26472        * Plugins.subproj/WebNullPluginView.m:
26473        * Plugins.subproj/WebPlugInError.h: Removed.
26474        * Plugins.subproj/WebPlugInError.m: Removed.
26475        * Plugins.subproj/WebPluginErrorPrivate.h: Removed.
26476        * WebCoreSupport.subproj/WebBridge.m:
26477        (-[WebBridge viewForPluginWithURLString:attributes:baseURLString:MIMEType:]):
26478        (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURLString:]):
26479        * WebKit.exp:
26480        * WebKit.pbproj/project.pbxproj:
26481        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
26482        (-[WebDefaultResourceLoadDelegate webView:plugInFailedWithError:dataSource:]):
26483        * WebView.subproj/WebResourceLoadDelegate.h:
26484
264852003-04-24  Darin Adler  <darin@apple.com>
26486
26487        Reviewed by Chris.
26488
26489        - fixed 3210096 -- server identifies page as UTF-8, page identifies itself as windows-1252, server must win
26490
26491        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge receivedData:withDataSource:]):
26492        Change for new WebCore API. Pass the encoding in a separate setEncoding call rather than
26493        as a parameter in addData. Also don't handle default encoding here any more. Default encoding
26494        is now handled the same way all the other preferences are, in a way that works better on the
26495        WebCore side anyway; nil or empty string means use the default encoding.
26496
264972003-04-24  Ken Kocienda  <kocienda@apple.com>
26498
26499        Reviewed by Darin
26500
26501        Changed WebError to NSError
26502
26503        * Downloads.subproj/WebDownload.h:
26504        * Downloads.subproj/WebDownload.m:
26505        (-[WebDownload connection:didReceiveData:]):
26506        (-[WebDownload connectionDidFinishLoading:]):
26507        (-[WebDownload connection:didFailLoadingWithError:]):
26508        (-[WebDownload _decodeData:]):
26509        (-[WebDownload _writeDataForkData:resourceForkData:]):
26510        (-[WebDownload _didCloseFile:]):
26511        (-[WebDownload _cancelWithError:]):
26512        (-[WebDownload _errorWithCode:]):
26513        (CloseCompletionCallback):
26514        * English.lproj/StringsNotToBeLocalized.txt:
26515        * Misc.subproj/WebIconLoader.m:
26516        (-[WebIconLoader connection:didFailLoadingWithError:]):
26517        * Misc.subproj/WebKitErrors.h:
26518        * Misc.subproj/WebKitErrors.m:
26519        (+[NSError _webKitErrorWithCode:failingURL:]):
26520        (registerErrors):
26521        * Misc.subproj/WebKitErrorsPrivate.h:
26522        * Plugins.subproj/WebNetscapePluginRepresentation.h:
26523        * Plugins.subproj/WebNetscapePluginRepresentation.m:
26524        (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
26525        * Plugins.subproj/WebNetscapePluginStream.m:
26526        (-[WebNetscapePluginStream connection:didFailLoadingWithError:]):
26527        * Plugins.subproj/WebPlugInError.h:
26528        * Plugins.subproj/WebPlugInError.m:
26529        * WebCoreSupport.subproj/WebBridge.m:
26530        * WebCoreSupport.subproj/WebSubresourceClient.m:
26531        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
26532        (-[WebSubresourceClient receivedError:]):
26533        (-[WebSubresourceClient connection:didFailLoadingWithError:]):
26534        * WebKit.exp:
26535        * WebView.subproj/WebBaseResourceHandleDelegate.h:
26536        * WebView.subproj/WebBaseResourceHandleDelegate.m:
26537        (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]):
26538        (-[WebBaseResourceHandleDelegate cancelWithError:]):
26539        (-[WebBaseResourceHandleDelegate cancelledError]):
26540        * WebView.subproj/WebDataProtocol.m:
26541        (-[WebDataProtocol startLoading]):
26542        * WebView.subproj/WebDataSource.h:
26543        * WebView.subproj/WebDataSourcePrivate.h:
26544        * WebView.subproj/WebDataSourcePrivate.m:
26545        (-[WebDataSource _stopLoadingInternal]):
26546        (-[WebDataSource _setMainDocumentError:]):
26547        (-[WebDataSource _receivedError:complete:]):
26548        (-[WebDataSource _stopLoadingWithError:]):
26549        (-[WebDataSource _mainDocumentError]):
26550        * WebView.subproj/WebDefaultLocationChangeDelegate.m:
26551        (-[WebDefaultLocationChangeDelegate webView:locationChangeDone:forDataSource:]):
26552        * WebView.subproj/WebDefaultPolicyDelegate.m:
26553        (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]):
26554        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
26555        (-[WebDefaultResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]):
26556        * WebView.subproj/WebDocument.h:
26557        * WebView.subproj/WebFrame.h:
26558        * WebView.subproj/WebFramePrivate.m:
26559        (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]):
26560        * WebView.subproj/WebFrameView.m:
26561        * WebView.subproj/WebHTMLRepresentation.m:
26562        (-[WebHTMLRepresentation receivedError:withDataSource:]):
26563        * WebView.subproj/WebImageRepresentation.m:
26564        (-[WebImageRepresentation receivedError:withDataSource:]):
26565        * WebView.subproj/WebLocationChangeDelegate.h:
26566        * WebView.subproj/WebMainResourceClient.m:
26567        (-[WebMainResourceClient receivedError:]):
26568        (-[WebMainResourceClient cancelWithError:]):
26569        (-[WebMainResourceClient interruptForPolicyChangeError]):
26570        (-[WebMainResourceClient connection:didFailLoadingWithError:]):
26571        (-[WebResourceDelegateProxy connection:didFailLoadingWithError:]):
26572        * WebView.subproj/WebPolicyDelegate.h:
26573        * WebView.subproj/WebResourceLoadDelegate.h:
26574        * WebView.subproj/WebTextRepresentation.m:
26575        (-[WebTextRepresentation receivedError:withDataSource:]):
26576        * WebView.subproj/WebView.h:
26577        * WebView.subproj/WebViewPrivate.h:
26578        * WebView.subproj/WebViewPrivate.m:
26579        (-[WebView _receivedError:fromDataSource:]):
26580        (-[WebView _mainReceivedError:fromDataSource:complete:]):
26581
265822003-04-24  Darin Adler  <darin@apple.com>
26583
26584        Reviewed by John.
26585
26586        * WebView.subproj/WebViewPrivate.m: (-[WebView _updateWebCoreSettingsFromPreferences:]):
26587        Added a call to the new setDefaultTextEncoding: method in WebCore. A preparation
26588        step for some encoding bug fixes.
26589
26590        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSuperviewObservers]): Improved a comment.
26591        
26592=== Safari-75 ===
26593
265942003-04-24  Maciej Stachowiak  <mjs@apple.com> (checked in by Darin)
26595
26596        Reviewed by Ken and Darin.
26597
26598        Fixed an authentication crashing bug that crept into the last few
26599        changes, plus a typo.
26600        * Panels.subproj/WebAuthenticationPanel.m:
26601        (-[WebAuthenticationPanel setUpForChallenge:]): Remove extra space.
26602        (-[WebAuthenticationPanel runAsSheetOnWindow:withChallenge:]): Store
26603        the challenge properly.
26604
266052003-04-22  Maciej Stachowiak  <mjs@apple.com>
26606
26607        Reviewed by Darin.
26608
26609        Adjusted for NSURLCredential changes.
26610
26611        * Panels.subproj/WebAuthenticationPanel.m:
26612        (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
26613        (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
26614
266152003-04-23  Chris Blumenberg  <cblu@apple.com>
26616
26617        Reviewed by darin.
26618
26619        * English.lproj/StringsNotToBeLocalized.txt: updated
26620
266212003-04-23  Chris Blumenberg  <cblu@apple.com>
26622
26623        Fixed: 3161374 - safari windows don't allow text/URL dragging on the first click
26624
26625        Reviewed by john.
26626
26627        * WebView.subproj/WebHTMLView.m:
26628        (-[WebHTMLView _isSelectionEvent:]): new, determines if the event occurred over the selection
26629        (-[WebHTMLView acceptsFirstMouse:]): newly implemented, return result of _isSelectionEvent:
26630        (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): newly implemented, return result of _isSelectionEvent:
26631
266322003-04-23  Chris Blumenberg  <cblu@apple.com>
26633
26634        Renamed the policy delegate methods.
26635
26636        Reviewed by john.
26637
26638        * WebView.subproj/WebDefaultPolicyDelegate.m:
26639        (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]):
26640        (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
26641        (-[WebDefaultPolicyDelegate webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener:]):
26642        * WebView.subproj/WebFramePrivate.m:
26643        (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]):
26644        (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
26645        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
26646        * WebView.subproj/WebMainResourceClient.m:
26647        (-[WebMainResourceClient checkContentPolicyForResponse:]):
26648        * WebView.subproj/WebPolicyDelegate.h:
26649
266502003-04-22  Ken Kocienda  <kocienda@apple.com>
26651
26652        Reviewed by Darin
26653
26654        Updated to use API-approved methods for accessing 
26655        protocol-specific URL request data.
26656
26657        * WebView.subproj/WebDataProtocol.m:
26658        (-[NSURLRequest _webDataRequestParametersForReading]):
26659        (-[NSURLRequest _webDataRequestParametersForWriting]):
26660
266612003-04-22  Maciej Stachowiak  <mjs@apple.com>
26662
26663        Reviewed by Darin.
26664
26665        Renamed classes to match API document.
26666        * Panels.subproj/WebAuthenticationPanel.h:
26667        * Panels.subproj/WebAuthenticationPanel.m:
26668        (-[WebAuthenticationPanel setUpForChallenge:]):
26669        (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
26670        (-[WebAuthenticationPanel runAsSheetOnWindow:withChallenge:]):
26671        (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
26672        * Panels.subproj/WebPanelAuthenticationHandler.h:
26673        * Panels.subproj/WebPanelAuthenticationHandler.m:
26674        (-[WebPanelAuthenticationHandler init]):
26675        (-[WebPanelAuthenticationHandler dealloc]):
26676        (-[WebPanelAuthenticationHandler isReadyToStartAuthentication:]):
26677        (-[WebPanelAuthenticationHandler startAuthentication:]):
26678        (-[WebPanelAuthenticationHandler cancelAuthentication:]):
26679        (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
26680        * Panels.subproj/WebStandardPanels.m:
26681        (-[WebStandardPanels setUsesStandardAuthenticationPanel:]):
26682
266832003-04-21  Ken Kocienda  <kocienda@apple.com>
26684
26685        Reviewed by Darin
26686
26687        API changes in NSURLProtocol and its subclasses:
26688
26689        +canHandleURL: becomes +canInitWithRequest:
26690        +canonicalURLForURL: becomes +canonicalRequestForRequest:
26691
26692        Added new _webIsDataProtocolURL: helper method.
26693
26694        * WebView.subproj/WebBaseResourceHandleDelegate.m:
26695        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
26696        * WebView.subproj/WebDataProtocol.h:
26697        * WebView.subproj/WebDataProtocol.m:
26698        (+[WebDataProtocol _webIsDataProtocolURL:]):
26699        (+[WebDataProtocol canInitWithRequest:]):
26700        (+[WebDataProtocol canonicalRequestForRequest:]):
26701        * WebView.subproj/WebFramePrivate.m:
26702        (-[WebFrame _addBackForwardItemClippedAtTarget:]):
26703        (-[WebFrame _transitionToCommitted:]):
26704
267052003-04-21  Darin Adler  <darin@apple.com>
26706
26707        * Plugins.subproj/WebNetscapePluginStream.m: Removed unnecessary #import of <WebFoundation/WebFoundation.h>.
26708
267092003-04-21  Maciej Stachowiak  <mjs@apple.com>
26710
26711        Reviewed by Richard.
26712
26713        Updated for file renames.
26714
26715        * Panels.subproj/WebAuthenticationPanel.h:
26716        * Panels.subproj/WebPanelAuthenticationHandler.h:
26717        * Panels.subproj/WebStandardPanels.m:
26718
267192003-04-21  Chris Blumenberg  <cblu@apple.com>
26720        Fixed previous "Reviewed by".
26721
26722        * ChangeLog:
26723
267242003-04-21  Chris Blumenberg  <cblu@apple.com>
26725
26726        Fixed: 3140990 - Safari: Error attempting to load movie from Rhino records
26727        Renamed plug-in view methods to mention that they take URL strings.
26728        
26729        Reviewed by john.
26730
26731        * WebCoreSupport.subproj/WebBridge.m:
26732        (-[WebBridge viewForPluginWithURLString:attributes:baseURLString:MIMEType:]): renamed, try to find the plug-in using the extension of the SRC URL if the plug-in isn't found using the MIME type.
26733        (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURLString:]): renamed
26734
267352003-04-18  Chris Blumenberg  <cblu@apple.com>
26736
26737        Fixed: 3139385 - don't accept drags from other frames in the same WebView
26738
26739        Reviewed by john.
26740
26741        * WebView.subproj/WebFrameView.m: moved drag destination code from WebFrameView to WebView
26742        (-[WebFrameView initWithFrame:]): removed drag registration code
26743        * WebView.subproj/WebFrameViewPrivate.h:
26744        * WebView.subproj/WebFrameViewPrivate.m:
26745        * WebView.subproj/WebHTMLView.m:
26746        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): unregister drag types on the WebView
26747        (-[WebHTMLView draggedImage:endedAt:operation:]): reregister drag types on the WebView
26748        * WebView.subproj/WebImageView.m:
26749        (-[WebImageView mouseDragged:]): unregister drag types on the WebView
26750        (-[WebImageView draggedImage:endedAt:operation:]): reregister drag types on the WebView
26751        * WebView.subproj/WebView.m: moved drag destination code from WebFrameView to WebView
26752        (-[WebView draggingEntered:]): moved from WebFrameView
26753        (-[WebView prepareForDragOperation:]): ditto
26754        (-[WebView performDragOperation:]): ditto
26755        (-[WebView concludeDragOperation:]): ditto
26756        * WebView.subproj/WebViewPrivate.h:
26757        * WebView.subproj/WebViewPrivate.m:
26758        (-[WebView _registerDraggedTypes]): ditto
26759
267602003-04-17  John Sullivan  <sullivan@apple.com>
26761
26762        Reviewed by Maciej.
26763
26764        * History.subproj/WebHistoryPrivate.m:
26765        (-[WebHistoryPrivate _loadHistoryGuts:]):
26766        if we can't load the file as a dictionary, try loading it
26767        the old-fashioned array way. This makes the history file
26768        format change forward-compatible.
26769
267702003-04-17  Chris Blumenberg  <cblu@apple.com>
26771
26772        Fixed: 3160751 - Can't use non-'.txt' file extension for text files?
26773
26774        Reviewed by mjs.
26775
26776        * English.lproj/StringsNotToBeLocalized.txt:
26777        * Misc.subproj/WebNSURLResponseExtras.m:
26778        (-[NSURL _web_suggestedFilenameForSavingWithMIMEType:]): don't correct the file extension for plain text files
26779
267802003-04-17  John Sullivan  <sullivan@apple.com>
26781
26782        - fixed 3232332 -- History file should be versioned since 
26783        we might change it in the future
26784        - fixed 3220355 -- Console error message at launch when 
26785        there's no history file
26786
26787        Note: a downside of this change is that the history formats
26788        before and after this change are not compatible. You will
26789        get no history each time you cross that boundary by running
26790        different Safaris.
26791
26792        Reviewed by Maciej.
26793
26794        * History.subproj/WebHistoryPrivate.m:
26795        (-[WebHistoryPrivate _loadHistoryGuts:]):
26796        check for file-doesn't-exist case before complaining about
26797        being unable to read existing file; expect to read dictionary
26798        rather than array, and check version in dictionary.
26799        (-[WebHistoryPrivate _saveHistoryGuts:]):
26800        save dictionary that includes version as well as array of
26801        items by date.
26802
268032003-04-17  Richard Williamson   <rjw@apple.com>
26804
26805        Fixed typos in headerdoc comments.
26806
26807        * WebView.subproj/WebFrame.h:
26808
268092003-04-17  Richard Williamson   <rjw@apple.com>
26810
26811        Drop down yet one more level to avoid intialization horkage.
26812        Call objc_getClass() instead of NSClassFromString().
26813        
26814        Reviewed by darin.
26815
26816        * WebView.subproj/WebHTMLViewPrivate.m:
26817        (+[WebHTMLView load]):
26818
268192003-04-17  Darin Adler  <darin@apple.com>
26820
26821        Reviewed by John.
26822
26823        * WebView.subproj/WebDataProtocol.m: (+[NSURLRequest _webDataRequestURLForData:]):
26824        Register the WebDataProtocol here instead of doing it with a load method, since this
26825        is the bottleneck that must be used before that protocol is needed. It's good to have
26826        one less load method, and this may fix a problem reported by a Panther WebKit client
26827        on intrigue-dev too.
26828
268292003-04-16  Ken Kocienda  <kocienda@apple.com>
26830
26831        Reviewed by Darin
26832
26833        Fixed call to load synchronous URL. Now conforms to new API
26834        which allows callers to access error object associated with 
26835        the load.
26836
26837        * WebView.subproj/WebFramePrivate.m:
26838        (-[WebFrame _loadItem:withLoadType:]):
26839
268402003-04-16  Chris Blumenberg  <cblu@apple.com>
26841
26842        - Progressively load plain text in our text view.
26843        - Fixed: 3177603 - vCards appear in browser, not downloaded
26844
26845        Reviewed by darin.
26846
26847        * WebView.subproj/WebTextRepresentation.m:
26848        (-[WebTextRepresentation setDataSource:]): added FIXME about document source of RTF not working
26849        (-[WebTextRepresentation receivedData:withDataSource:]): feed data to the text view, progressively for plain text
26850        * WebView.subproj/WebTextView.m:
26851        (+[WebTextView unsupportedTextMIMETypes]): include text/directory, another vcard MIME type
26852        (-[WebTextView setDataSource:]): do 1-time attribute settings
26853        (-[WebTextView dataSourceUpdated:]): do nothing
26854
268552003-04-16  Ken Kocienda  <kocienda@apple.com>
26856
26857        Reviewed by David
26858
26859        Moved this NSURLProtocolClient implementor to API-approved
26860        interface.
26861
26862        * WebView.subproj/WebDataProtocol.m:
26863        (-[WebDataProtocol startLoading]):
26864
268652003-04-16  Ken Kocienda  <kocienda@apple.com>
26866
26867        Fix deployment build breaker caused by uninitialized variable.
26868
26869        * WebView.subproj/WebViewPrivate.m:
26870        (-[WebView _loadBackForwardListFromOtherView:]):
26871
268722003-04-16  Darin Adler  <darin@apple.com>
26873
26874        Reviewed by John.
26875
26876        - fixed 3226281 -- REGRESSION: crash in WebHTMLView removeMouseMovedObserver closing gist.com
26877
26878        * Plugins.subproj/WebPluginController.m: (-[WebPluginController showStatus:]):
26879        Use _webView instead of _controller.
26880        
26881        * WebCoreSupport.subproj/WebTextRendererFactory.m: Remove stray semicolon.
26882        
26883        * WebView.subproj/WebHTMLView.m:
26884        (-[WebHTMLView removeMouseMovedObserver]): Use _webView instead of _controller.
26885        (-[WebHTMLView menuForEvent:]): Ditto.
26886        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
26887        * WebView.subproj/WebHTMLViewPrivate.h: Rename _controller to _webView.
26888        * WebView.subproj/WebHTMLViewPrivate.m:
26889        (-[WebHTMLView _webView]): Use _web_superviewOfClass to find the WebView. This dodges possible
26890        stale unretained pointer issues with getting the WebView through the WebFrame, which is what
26891        fixes the bug.
26892        (-[WebHTMLView _updateMouseoverWithEvent:]): Use _webView instead of _controller.
26893        (+[WebHTMLView _pasteboardTypes]): Put the types in order from most preferred to least.
26894        (-[WebHTMLView _writeSelectionToPasteboard:]): Ditto.
26895
268962003-04-15  Richard Williamson   <rjw@apple.com>
26897
26898        Create the dictionary for volatile values.  Without this fix
26899        values were never volatile!
26900        
26901        Reviewed by mjs.
26902
26903        * WebView.subproj/WebPreferences.m:
26904        (-[WebPreferences _init]):
26905        (-[WebPreferences init]):
26906        (+[WebPreferences standardPreferences]):
26907        (-[WebPreferences dealloc]):
26908
269092003-04-15  Richard Williamson   <rjw@apple.com>
26910
26911        Fix for 3226746.  Remove some ancient and apparantly invalid cruft.
26912        
26913        Reviewed by trey.
26914
26915        * WebView.subproj/WebFramePrivate.m:
26916        (-[WebFrame _setDataSource:]):
26917
269182003-04-15  Richard Williamson   <rjw@apple.com>
26919
26920        Fixed clipping of progressive images to correctly clip.
26921        
26922        Reviewed by darin.
26923
26924        * WebCoreSupport.subproj/WebImageRenderer.m:
26925        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
26926
269272003-04-15  Ken Kocienda  <kocienda@apple.com>
26928
26929        Reviewed by Darin
26930
26931        Name change from WebCacheObject to NSCachedURLResponse.    
26932        No functional changes.
26933
26934        * WebView.subproj/WebDataProtocol.m:
26935        (-[WebDataProtocol startLoadingWithCacheObject:]):
26936
269372003-04-15  Trey Matteson  <trey@apple.com>
26938
26939        3227514 Open window in "Same Page" should copy entire back/forward list
26940
26941        New support to load a new view by copying the whole backforward
26942        list and driving the new view to the current item.
26943
26944        Reviewed by John.
26945
26946        * WebView.subproj/WebViewPrivate.h:
26947        * WebView.subproj/WebViewPrivate.m:
26948        (-[WebView _loadItem:]):  Old routine, which only loaded an item.
26949        (-[WebView _loadItemsFromOtherView:]):  New routine that does the works.
26950
269512003-04-15  Ken Kocienda  <kocienda@apple.com>
26952
26953        Reviewed by John
26954
26955        Name change from WebProtocolClient to NSURLProtocolClient.
26956        No functional changes.
26957
26958        * WebView.subproj/WebDataProtocol.m:
26959        (-[WebDataProtocol startLoadingWithCacheObject:]):
26960
269612003-04-15  Ken Kocienda  <kocienda@apple.com>
26962
26963        Reviewed by Darin
26964
26965        Name change from WebProtocol to NSURLProtocol.
26966        No functional changes.
26967
26968        * WebView.subproj/WebDataProtocol.h:
26969        * WebView.subproj/WebDataProtocol.m:
26970        (-[NSURLRequest _webDataRequestParametersForReading]):
26971        (-[NSURLRequest _webDataRequestParametersForWriting]):
26972        (+[WebDataProtocol load]):
26973        * WebView.subproj/WebFrame.m:
26974
269752003-04-14  Trey Matteson  <trey@apple.com>
26976
26977        3009051 - Find on Page stops (once) at end of page, should wrap automatically        WebKit
26978        3051546 - Find on Page doesn't work for frameset pages
26979        3058437 - can have a selection in two frames at the same time (problem for finding in frames)
26980        3097498 - Find Previous continues to "Find Next" until end of paragraph        3097507 - Find Next searches from previous find hit instead of current selection        Primary changes here:  I added a wrap flag to the searchFor method, which is needed to
26981        control how we search as we traverse the frame tree.  A new method is added to WebView
26982        that knows about traversing the frame tree as we search.  HTMLView and TextView both
26983        clear their selections when they lose first responder (see 3228554 for possible
26984        improvements to that change).
26985
26986        Reviewed by Maciej.
26987
26988        * Misc.subproj/WebSearchableTextView.m:
26989        Added wrap flag, pass on to TextView.
26990        Ensure we do some searching when we would previous get a zero range to search in.
26991        * WebView.subproj/WebDocument.h:
26992        * WebView.subproj/WebFramePrivate.h:
26993        * WebView.subproj/WebFramePrivate.m:
26994        These are all basic methods to support forwards and backwards traversal of
26995        the frame tree.  Modeled after same methods we have for traversing the DOM.
26996        (-[WebFrame _nextSibling]):
26997        (-[WebFrame _previousSibling]):
26998        (-[WebFrame _lastChild]):
26999        (-[WebFrame _nextFrameWithWrap:]):
27000        (-[WebFrame _previousFrameWithWrap:]):
27001        * WebView.subproj/WebHTMLView.m:
27002        (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):  Added wrap flag,
27003        pass it to bridge.
27004        (-[WebHTMLView resignFirstResponder]):  Clear selection when we lose firstResp.
27005        * WebView.subproj/WebTextView.m:
27006        (-[WebTextView resignFirstResponder]):  Clear selection when we lose firstResp.
27007        * WebView.subproj/WebView.m:
27008        (-[WebView _currentFrame]):  Return the frame holding the first responder.
27009        (-[WebView _searchFor:direction:caseSensitive:wrap:]):  Main work:  traverse the
27010        frame tree and drive the overall find.
27011        * WebView.subproj/WebViewPrivate.h:
27012
270132003-04-14  Chris Blumenberg  <cblu@apple.com>
27014
27015        Log time spent loading each plug-in.
27016
27017        Reviewed by mjs.
27018
27019        * Misc.subproj/WebIconDatabase.m:
27020        (-[WebIconDatabase _iconsForIconURLString:]): fixed logging code
27021        (-[WebIconDatabase _scaleIcon:toSize:]): fixed logging code
27022        * Plugins.subproj/WebNetscapePluginPackage.m:
27023        (-[WebNetscapePluginPackage load]): log time spent loading a plug-in
27024        * Plugins.subproj/WebPluginController.m:
27025        (-[WebPluginController startAllPlugins]): only log if there are plug-ins to start
27026        (-[WebPluginController stopAllPlugins]): only log if there are plug-ins to stop
27027        (-[WebPluginController destroyAllPlugins]): only log if there are plug-ins to destroy
27028
270292003-04-13  Trey Matteson  <trey@apple.com>
27030
27031        3150693 - open new window on "same page" doesn't give me the same frame content
27032
27033        The core is a new support method that loads a WebView given a HistoryItem, which
27034        thus restores all frames of that item, and optionally the form and scroll state.
27035
27036        * History.subproj/WebHistoryItem.m:
27037        (-[WebHistoryItem copyWithZone:]):  Copy the docState, scrollPosition, isTargetItem.
27038        No good        reason to have left these out when I wrote this method.
27039        * WebView.subproj/WebFramePrivate.h:
27040        * WebView.subproj/WebFramePrivate.m:
27041        (-[WebFrame _saveDocumentAndScrollState]):  New method to run the frame tree and
27042        save all form/scroll state to the current item.
27043        * WebView.subproj/WebView.m:
27044        _goToItem:withLoadType: moved to WebViewPrivate.m
27045        * WebView.subproj/WebViewPrivate.h:
27046        * WebView.subproj/WebViewPrivate.m:
27047        (-[WebView _goToItem:withLoadType:]):  Moved from WebView.m, no change.
27048        (-[WebView _loadItem:showingInView:]):  New method to load the view with the item.
27049
270502003-04-12  Chris Blumenberg  <cblu@apple.com>
27051
27052        Fixed: 3162338 - Embedding SVG with <object type="image/svg+xml"> doesn't work
27053
27054        Reviewed by dave.
27055
27056        * WebCoreSupport.subproj/WebImageRendererFactory.m:
27057        (-[WebImageRendererFactory supportedMIMETypes]): code moved from +[WebImageView supportedImageMIMETypes]
27058        * WebView.subproj/WebImageView.m:
27059        (+[WebImageView supportedImageMIMETypes]): return -[WebImageRendererFactory supportedMIMETypes]
27060
270612003-04-13  Maciej Stachowiak  <mjs@apple.com>
27062
27063        Reviewed by Trey.
27064
27065        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
27066        (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]):
27067        Implemented in terms of webView:setFrame: to save clients work.
27068
270692003-04-11  Chris Blumenberg  <cblu@apple.com>
27070
27071        Removed WebKitErrorResourceLoadInterruptedByPolicyChange error because it isn't used. 
27072
27073        Reviewed by john.
27074
27075        * Misc.subproj/WebKitErrors.h:
27076        * Misc.subproj/WebKitErrors.m:
27077        (registerErrors):
27078        * WebKit.pbproj/project.pbxproj:
27079
270802003-04-11  Trey Matteson  <trey@apple.com>
27081
27082        3148002 - printing shouldn't depend on the size of the window
27083
27084        The basic strategy is copied from khtmlview's print method:  We reset the width
27085        of the document to the paper width minus margins, and relayout before paginating
27086        and printing.
27087
27088        Reviewed by Richard.
27089
27090        * WebKit.pbproj/project.pbxproj:  Someone is using an old version...
27091        * WebView.subproj/WebDynamicScrollBarsView.m:
27092        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):  Don't do the dynamic
27093        scrollbar update magic when printing.
27094        * WebView.subproj/WebHTMLView.m:
27095        (-[WebHTMLView layoutToPageWidth:]):  New routine, basically the old layout
27096        method with a new parameter.  If we're given an width, we call a different
27097        bridge method.
27098        (-[WebHTMLView layout]):  Just call above method with width==0
27099        (-[WebHTMLView drawRect:]):  Protect setting/resetting of graphics context and
27100        additional clip with a DURING/HANDLER.  I saw an assertion failure that could
27101        be explained by this, so this is mostly a beartrap for that problem.
27102        (-[WebHTMLView _setPrinting:pageWidth:]):  Pass page width through to others.
27103        (-[WebHTMLView beginDocument]):  If we are not in a frame set, do a layout
27104        using the page width.
27105        (-[WebHTMLView endDocument]):  Pass 0 to new pageWidth: arg.
27106
271072003-04-08  Trey Matteson  <trey@apple.com>
27108
27109        3220349 - assertion failure in [WebFrame _recursiveGoToItem:...] hitting Back while loading movie
27110
27111        The problem was that when we go back we call stopLoading on the top frame, but
27112        that has a bogus optimization to not do any work if state=Completed.  That is a
27113        bogus test if a subframe is doing a load.  The fix is to just always tell the
27114        dataSources to stopLoading.  They already bail quickly when they are not loading,
27115        so there is no significant additional cost.
27116
27117        Reviewed by Richard.
27118
27119        * WebView.subproj/WebFrame.m:
27120        (-[WebFrame stopLoading]):
27121
27122=== Safari-73 ===
27123
271242003-04-10  Richard Williamson   <rjw@apple.com>
27125
27126        Fixed 3219525
27127        
27128        Our work-around for the CG pattern cache bogosity was always bypassed,
27129        consequently we'd unnecessarily burn lots of memory filling that cache.
27130        
27131        Reviewed by mjs & gramps.
27132
27133        * WebCoreSupport.subproj/WebImageRenderer.m:
27134        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
27135        (-[WebImageRenderer tileInRect:fromPoint:]):
27136
271372003-04-10  Darin Adler (Maciej committing for Darin)  <darin@apple.com>
27138
27139        Reviewed by Maciej.
27140
27141        - fixed 3225042 - MallocDebug shows "access after deallocated" problem in WebFrameView
27142
27143        * WebView.subproj/WebFrameView.m:
27144        (-[WebFrameView dealloc]): Nil out _private.
27145        (-[WebFrameView nextKeyView]): Check _private for nil.
27146        (-[WebFrameView previousKeyView]): Check _private for nil.
27147 
271482003-04-10  Richard Williamson   <rjw@apple.com>
27149
27150        Fix performance regression with iBench (post 71).  The iBench cheat was being defeated.
27151        
27152        Ensure that the layout timer is always invalidated when a frame completes 
27153        or is cancelled.
27154        
27155        Reviewed by mjs & gramps.
27156
27157        * WebView.subproj/WebFrame.m:
27158        (-[WebFrame stopLoading]):
27159        * WebView.subproj/WebFramePrivate.m:
27160        (-[WebFrame _setState:]):
27161
271622003-04-10  Trey Matteson  <trey@apple.com>
27163
27164        3224973 - Safari sometimes stores data for AUTOCOMPLETE=OFF fields and password fields
27165
27166        Just glue for calling a new WC function.
27167
27168        Reviewed by Darin.
27169
27170        * WebView.subproj/WebHTMLRepresentation.h:
27171        * WebView.subproj/WebHTMLRepresentation.m:
27172        (-[WebHTMLRepresentation elementWithName:inForm:]):
27173
27174=== Safari-72 ===
27175
271762003-04-10  Maciej Stachowiak  <mjs@apple.com>
27177
27178        Reviewed by Chris.
27179
27180        - fixed 3224690 - REGRESSION: Download related errors aren't preserved across launches
27181
27182        * WebKit.pbproj/project.pbxproj: Install WebKitErrorsPrivate.h as SPI.
27183
271842003-04-10  Darin Adler  <darin@apple.com>
27185
27186        Reviewed by Trey.
27187
27188        - fixed 3224622 -- REGRESSION: in an empty window, repeated tabs don't cycle back to location field
27189
27190        Added logic to WebFrameView's next/previous that matches the logic in WebHTMLView.
27191        Looking for a better solution some day to the whole nextKeyView thing.
27192
27193        * WebView.subproj/WebFrameView.m:
27194        (-[WebFrameView nextKeyView]): If being called from nextValidKeyView, return the nextKeyView
27195        of the WebView rather than of self.
27196        (-[WebFrameView previousKeyView]): Ditto.
27197        (-[WebFrameView nextValidKeyView]): Set the inNextValidKeyView flag.
27198        (-[WebFrameView previousValidKeyView]): Ditto.
27199        
27200        * WebView.subproj/WebFrameViewPrivate.h: Add the inNextValidKeyView flag.
27201
272022003-04-10  Maciej Stachowiak  <mjs@apple.com>
27203
27204        Reviewed by Darin.
27205
27206        Another launch time speedup - don't load the WebKit WebError
27207        strings until we actually make a WebKit error. This prevents the
27208        WebKit localized strings file from being loaded during normal startup.
27209
27210        * Downloads.subproj/WebDownload.m:
27211        (+[WebDownloadPrivate initialize]): Don't register WebKit errors.
27212        (-[WebDownload _errorWithCode:]): Use _webKitErrorWithCode:failingURL:
27213        * Misc.subproj/WebKitErrors.m:
27214        (+[WebError _webKitErrorWithCode:failingURL:]): Wrapper that registers the
27215        WebKit error codes first.
27216        * Misc.subproj/WebKitErrorsPrivate.h:
27217        * WebView.subproj/WebFramePrivate.m:
27218        (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]):  Use 
27219        _webKitErrorWithCode:failingURL:
27220        (-[WebFrame _loadItem:withLoadType:]):  Use _webKitErrorWithCode:failingURL:
27221        * WebView.subproj/WebFrameView.m:
27222        * WebView.subproj/WebMainResourceClient.m:
27223        (-[WebMainResourceClient interruptForPolicyChangeError]):  Use _webKitErrorWithCode:failingURL:
27224
272252003-04-10  Chris Blumenberg  <cblu@apple.com>
27226
27227        Fixed: 3222896 - REGRESSION: sound plays after closing a window with a RealPlayer plug-in in it
27228
27229        Reviewed by darin.
27230
27231        * Plugins.subproj/WebBaseNetscapePluginView.m:
27232        (-[WebBaseNetscapePluginView viewDidMoveToHostWindow]): We were starting plug-in on window close because that's when the host window is set to nil. Just check if we now have a host window before we start. 
27233
272342003-04-10  Darin Adler  <darin@apple.com>
27235
27236        Reviewed by Trey.
27237
27238        - speed up startup by not calling [NSImage imageFileTypes] until we need to
27239
27240        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameRequiredForMIMEType:]):
27241        Call _viewClassForMIMEType instead of _viewTypes, since _viewClassForMIMEType is now optimized
27242        by not loading the image types unless needed.
27243
27244        * WebView.subproj/WebDataSourcePrivate.m:
27245        (-[WebDataSource _representationClass]): Call _representationClassForMIMEType instead of
27246        _repTypes, since _representationClassForMIMEType is now optimized by not loading the image
27247        types unless needed.
27248        (+[WebDataSource _repTypesAllowImageTypeOmission:]): Added. Moved the guts of _repTypes
27249        in here. If you pass YES, doesn't bother adding the image types yet.
27250        (+[WebDataSource _repTypes]): Now calls _repTypesAllowImageTypeOmission:NO.
27251        (+[WebDataSource _representationClassForMIMEType:]): First try the dictionary without
27252        requiring the image types, then only in the case where we get nil, try with the image types.
27253        
27254        * WebView.subproj/WebFrameViewPrivate.m:
27255        (-[WebFrameView _makeDocumentViewForDataSource:]): Call _viewClassForMIMEType instead of
27256        _viewTypes, since _viewClassForMIMEType is now optimized by not loading the image types
27257        unless needed.
27258        (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Added. Moved the guts of _viewTypes
27259        in here. If you pass YES, doesn't bother adding the image types yet.
27260        (+[WebFrameView _viewTypes]): Now calls _viewTypesAllowImageTypeOmission:NO.
27261        (+[WebFrameView _viewClassForMIMEType:]): First try the dictionary without requiring
27262        the image types, then only in the case where we get nil, try with the image types.
27263
272642003-04-09  Trey Matteson  <trey@apple.com>
27265
27266        3223413 - crash in [CompletionController controlTextDidChange] at travelocity.com
27267
27268        This was a great one to get steps for repro - it has shown up at least twice before.
27269
27270        The problem is that when there is a focused TextField within a frame, the proper
27271        FormDelegate messages were not being sent on refresh or b/f.  The cause was that
27272        the FirstResponder would be reset in the middle of detaching the frame, at which point
27273        our object graph was already half taken apart.  Fix is to detect that case before
27274        doing the detach work, and endEditing explicitly.
27275
27276        Reviewed by Darin.
27277
27278        * ChangeLog:
27279        * Misc.subproj/WebKitLogging.h:
27280        * Misc.subproj/WebKitLogging.m:   New FormDelegate logging category.
27281        * WebCoreSupport.subproj/WebBridge.m:
27282        All changes in here are just calling LOG for the new category.
27283        (-[WebBridge controlTextDidBeginEditing:]):
27284        (-[WebBridge controlTextDidEndEditing:]):
27285        (-[WebBridge controlTextDidChange:]):
27286        (-[WebBridge control:textShouldBeginEditing:]):
27287        (-[WebBridge control:textShouldEndEditing:]):
27288        (-[WebBridge control:didFailToFormatString:errorDescription:]):
27289        (-[WebBridge control:didFailToValidatePartialString:errorDescription:]):
27290        (-[WebBridge control:isValidObject:]):
27291        (-[WebBridge control:textView:doCommandBySelector:]):
27292        * WebView.subproj/WebFramePrivate.m:
27293        (-[WebFrame _setDataSource:]):  The fix, as described above.
27294
272952003-04-09  Richard Williamson   <rjw@apple.com>
27296
27297        Fix for 3222904.  This change fixes the immediate symptoms of the bug,
27298        but we need to come back to this issue after beta 2.  Bug 3223929 captures
27299        the other problems.
27300        
27301        Reviewed by gramps.
27302
27303        * WebView.subproj/WebDataSourcePrivate.h:
27304        * WebView.subproj/WebDataSourcePrivate.m:
27305        (-[WebDataSource __setRequest:]):
27306        (-[WebDataSource _setRequest:]):
27307        * WebView.subproj/WebFramePrivate.m:
27308        (-[WebFrame _shouldReloadForCurrent:andDestination:]):
27309        (-[WebFrame _loadItem:withLoadType:]):
27310        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
27311
273122003-04-09  Maciej Stachowiak  <mjs@apple.com>
27313
27314        Reviewed by Chris, Trey, Darin and Don.
27315
27316        - fixed 3223568 - site icons lost when moving from older Safari to 71
27317
27318        * Misc.subproj/WebIconDatabase.m:
27319        (-[WebIconDatabase _createFileDatabase]): Rename old database containing directory to
27320        new, so we carry over old databases. The format is forward but not backward compatible.
27321        (-[WebIconDatabase _loadIconDictionaries]): Treat no version at all as version 1, so we
27322        can load old-style databases.
27323
27324        Reviewed by Trey.
27325
27326        * English.lproj/StringsNotToBeLocalized.txt: Updated.
273272003-04-09  Chris Blumenberg  <cblu@apple.com>
27328
27329        Fixed: 3223022 - Plug-in content bleeds onto frontmost tab
27330
27331        Reviewed by darin.
27332
27333        * Plugins.subproj/WebBaseNetscapePluginView.m:
27334        (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Explicitly call setWindow when the plug-in view is moved out of the window so it is clipped out of sight.
27335
273362003-04-08  Trey Matteson  <trey@apple.com>
27337
27338        3221355 document is numb to clicks after going back
27339
27340        The layoutTimer now does a layout if the doc is in state Completed,
27341        in addition to LayoutAcceptable.
27342
27343        Reviewed by Richard.
27344
27345        * WebView.subproj/WebFramePrivate.m:
27346        (-[WebFrame _timedLayout:]):
27347
273482003-04-08  Chris Blumenberg  <cblu@apple.com>
27349
27350        Fixed: 3221128 - Double grey lines on macromedia.com home page
27351
27352        Flash relies on the ordering of attributes in the EMBED tag (which is really stupid). salign must come after scale.
27353        Changed our plug-in API's to preserve orderings using arrays rather than lose orderings when using dictionaries. 
27354
27355        Reviewed by trey.
27356
27357        * Plugins.subproj/WebBaseNetscapePluginView.h:
27358        * Plugins.subproj/WebBaseNetscapePluginView.m:
27359        * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
27360        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
27361        (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:]): take attributeKeys and attributeValues instead of a dictionary
27362        * WebCoreSupport.subproj/WebBridge.m:
27363        (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): create attributeKeys and attributeValues to pass to the above method
27364        (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): create attributeKeys and attributeValues to pass to the above method
27365
273662003-04-08  Chris Blumenberg  <cblu@apple.com>
27367
27368        Fixed: 3220463 - REGRESSION: PDF viewer plug-in does not display (worked in 69 and previous)
27369
27370        Reviewed by darin.
27371
27372        * Plugins.subproj/WebNetscapePluginDocumentView.m:
27373        (-[WebNetscapePluginDocumentView didStart]): always call redeliverStream. Have WebNetscapePluginRepresentation determine if it actually needs to do that.
27374        * Plugins.subproj/WebNetscapePluginRepresentation.h:
27375        * Plugins.subproj/WebNetscapePluginRepresentation.m:
27376        (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): keep track of _dataLengthReceived which is independent of the data received by the data source
27377        (-[WebNetscapePluginRepresentation redeliverStream]): only redeliver the stream if _dataLengthReceived is greater than 0
27378
273792003-04-07  Chris Blumenberg  <cblu@apple.com>
27380
27381        Fixed: 3206018 - REGRESSION: Clicks on the BBC news ticker applet don't open story in new window
27382
27383        MSIE and Netscape for Windows treat a nil target as _top. Since this is usually the target audience of applet developers, we will mimic this. This makes 3206018 behave as expected.
27384
27385        Reviewed by gramps.
27386
27387        * Plugins.subproj/WebPluginController.m:
27388        (-[WebPluginController showURL:inFrame:]): treat nil as _top.
27389
273902003-04-07  Richard Williamson  <rjw@apple.com>
27391
27392        API conveniences for IB.
27393        
27394        Reviewed by Maciej.
27395
27396        * WebView.subproj/WebView.h:
27397        * WebView.subproj/WebView.m:
27398        (-[WebView canGoBack]):
27399        (-[WebView canGoForward]):
27400        (-[WebView reload:]):
27401        (-[WebView canMakeTextSmaller]):
27402        (-[WebView canMakeTextLarger]):
27403        (-[WebView makeTextSmaller:]):
27404        (-[WebView makeTextLarger:]):
27405
274062003-04-07  Richard Williamson  <rjw@apple.com>
27407
27408        Fix for 3220988.  Cancel frame load if it's detached before
27409        finished loading.
27410
27411        Reviewed by Maciej.
27412
27413        * WebCoreSupport.subproj/WebBridge.m:
27414        (-[WebBridge frameDetached]):
27415        * WebView.subproj/WebFrame.h:
27416        * WebView.subproj/WebFramePrivate.h:
27417        * WebView.subproj/WebFramePrivate.m:
27418        (-[WebFrame _removeChild:]):
27419
274202003-04-07  Maciej Stachowiak  <mjs@apple.com>
27421
27422        Reviewed by Richard.
27423
27424        - fixed 3219584 - REGRESSION: launch times appear slower in v71
27425
27426        * WebView.subproj/WebView.m:
27427        (+[WebView canShowMIMEType:]): Avoid loading plugin database if we
27428        can find a view without doing so.
27429
274302003-04-07  Darin Adler  <darin@apple.com>
27431
27432        * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
27433        When I landed my last change to the .gperf file I forgot to land this.
27434
27435=== Safari-71 ===
27436
274372003-04-04  Darin Adler  <darin@apple.com>
27438
27439        Reviewed by Ken.
27440
27441        - fixed 3217687 -- REGRESSION: printing uses widths from screen fonts, messing up layout
27442
27443        * WebCoreSupport.subproj/WebTextRendererFactory.m: Removed now-unused rendererWithFont:
27444        which called, the now-removed usingPrinterFonts method. WebCore now calls the one with
27445        the usingPrinterFont parameter.
27446        
27447        * WebView.subproj/WebHTMLView.m:
27448        (-[WebHTMLView drawRect:]): Remove setUsingPrinterFonts: calls. This is now handled by the
27449        document on the WebCore side. 
27450        (-[WebHTMLView _setPrinting:]): Ditto.
27451
274522003-04-04  Maciej Stachowiak  <mjs@apple.com>
27453
27454        Reviewed by Trey.
27455
27456        - fixed 3188914 - loop checking for Flash at http://www.scottsmind.com/celebrity_defacer/index.php
27457        * Plugins.subproj/WebBaseNetscapePluginView.m:
27458        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Take a mutable request,
27459        and make sure to set referrer to the frame URL (as other browsers do).
27460        (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): pass an NSMutableURLRequest.
27461        (-[WebBaseNetscapePluginView getURL:target:]): Likewise.
27462        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
27463        If the plug-in passes a Content-Length header, take it out of the
27464        headers and truncate the content appropriately to make
27465        WebFoundation happy.
27466
274672003-04-03  Richard Williamson  <rjw@apple.com>
27468
27469        Fix checks for about: to avoid using our 'fake' request when
27470        using WebDataProtocol.  This fixes the assertion in the Snippet
27471        Editor.
27472        
27473        Reviewed by mjs.
27474
27475        * WebView.subproj/WebMainResourceClient.m:
27476        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
27477
274782003-04-03  Trey Matteson  <trey@apple.com>
27479
27480        3218212 REGRESSION: page on screen draws ugly while printing is happening
27481
27482        Turn autodisplay of the window off while we print.
27483
27484        Reviewed by Darin.
27485
27486        * WebView.subproj/WebHTMLView.m:
27487        (-[WebHTMLView beginDocument]):  Turn it off.
27488        (-[WebHTMLView endDocument]):  and back on.
27489
274902003-04-03  Maciej Stachowiak  <mjs@apple.com>
27491
27492        Reviewed by Trey.
27493
27494        - removed no-longer forwarding of become/resignFirstResponder
27495        * WebView.subproj/WebHTMLViewPrivate.m: Removed
27496        become/resignFirstResponder poses for WebNSTextView.
27497
274982003-04-03  Maciej Stachowiak  <mjs@apple.com>
27499
27500        Reviewed by Richard and Don.
27501
27502        - fixed 3218262 - REGRESSION: Page address becomes about:blank when command-clicking bookmark to load tab
27503
27504        * WebView.subproj/WebDataProtocol.m:
27505        (-[NSURLRequest _webDataRequestParametersForWriting]): Renamed
27506        from _webDataRequestParameters.
27507        (-[NSURLRequest _webDataRequestParametersForReading]): Like the
27508        above, but make sure nto to create the part if it does not exist.
27509        (-[NSURLRequest _webDataRequestData]): Use _webDataRequestParametersForReading.
27510        (-[NSURLRequest _webDataRequestEncoding]): Likewise.
27511        (-[NSURLRequest _webDataRequestBaseURL]): Likewise.
27512        (-[NSURLRequest _webDataRequestSetData:]):Use _webDataRequestParametersForWriting.
27513        (-[NSURLRequest _webDataRequestSetEncoding:]): Likewise.
27514        (-[NSURLRequest _webDataRequestSetBaseURL:]): Likewise.
27515        (-[NSURLRequest _webDataRequestExternalRequest]): Use _webDataRequestParametersForReading.
27516
275172003-04-03  Richard Williamson   <rjw@apple.com>
27518
27519        Tweaks to minimize access to the parts of a WebDataRequest
27520        that turn out to be slow.  Although we've changed NSURLRequest
27521        to be faster, it's still good to keep these tweaks.
27522        
27523        Reviewed by ken.
27524
27525        * WebView.subproj/WebBaseResourceHandleDelegate.m:
27526        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
27527        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
27528        * WebView.subproj/WebDataProtocol.h:
27529        * WebView.subproj/WebDataProtocol.m:
27530        (-[NSURLRequest _webDataRequestExternalRequest]):
27531        (+[WebDataProtocol canHandleURL:]):
27532        * WebView.subproj/WebDataSource.m:
27533        (-[WebDataSource request]):
27534
275352003-04-03  Trey Matteson  <trey@apple.com>
27536
27537        3067928 - printing should not break lines in half
27538
27539        This is just glue to call the right piece in WebCore.
27540
27541        Reviewed by Darin.
27542
27543        (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
27544        Defer to WebCore to set pagination boundary.
27545
275462003-04-03  Richard Williamson   <rjw@apple.com>
27547
27548        As requested by Nancy, drop "Is" and "Are" from setters,
27549        but leave them in place on the getters.
27550        
27551        Reviewed by cblu.
27552
27553        * WebView.subproj/WebPreferences.h:
27554        * WebView.subproj/WebPreferences.m:
27555        (-[WebPreferences setJavaEnabled:]):
27556        (-[WebPreferences setJavaScriptEnabled:]):
27557        (-[WebPreferences setPlugInsEnabled:]):
27558
275592003-04-03  Darin Adler  <darin@apple.com>
27560
27561        Reviewed by Ken.
27562
27563        - remove spoof entries as decided in meeting with Don, Dave, Mark Malone
27564
27565        * WebView.subproj/WebUserAgentSpoofTable.gperf: Remove battle.net because it's only there to
27566        make Darin happy, and the site works fine without it. Remove pier1.com and disney.go.com because
27567        we want to try evangelism first in both those cases, and having a released version where the
27568        site works weakens our evangelism efforts.
27569        
27570        * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
27571
27572        - disable workaround for Panther bug in Panther builds
27573
27574        * Misc.subproj/WebNSImageExtras.m: (-[NSImage _web_dissolveToFraction:]): Add ifdefs.
27575        
275762003-04-02  Maciej Stachowiak  <mjs@apple.com>
27577
27578        Reviewed by Trey.
27579
27580        - fixed 3213556 - VIP: parent.mainFrameWidth=undefined on page refresh results in missing content
27581
27582        * WebView.subproj/WebFramePrivate.m:
27583        (-[WebFrame _loadItem:withLoadType:]): When reload or going back/forward,
27584        make sure to load the original URL of the item, not it's most recent URL.
27585        (-[WebFrame _loadURL:intoChild:]): Likewise.
27586
275872003-04-02  Richard Williamson  <rjw@apple.com>
27588
27589        Raise exceptions when these methods are called inappropriately.
27590        
27591        Reviewed by Trey.
27592
27593        * History.subproj/WebBackForwardList.m:
27594        (-[WebBackForwardList goBack]):
27595        (-[WebBackForwardList goForward]):
27596        (-[WebBackForwardList goToItem:]):
27597
275982003-04-02  Richard Williamson  <rjw@apple.com>
27599
27600        Added new API on WebFrame, loadData: and loadString:
27601        
27602        Reviewed by Maciej.
27603
27604        Fixed loading of cocoa plugins.
27605        
27606        Reviewed by Chris.
27607        
27608        * History.subproj/WebBackForwardList.m:
27609        (-[WebBackForwardList _entries]):
27610        * Plugins.subproj/WebBasePluginPackage.h:
27611        * Plugins.subproj/WebBasePluginPackage.m:
27612        (-[WebBasePluginPackage bundle]):
27613        * Plugins.subproj/WebPluginDatabase.h:
27614        * Plugins.subproj/WebPluginDatabase.m:
27615        (-[WebPluginDatabase init]):
27616        (-[WebPluginDatabase loadPluginIfNeededForMIMEType:]):
27617        (-[WebPluginDatabase dealloc]):
27618        * WebKit.pbproj/project.pbxproj:
27619        * WebView.subproj/WebBaseResourceHandleDelegate.m:
27620        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
27621        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
27622        * WebView.subproj/WebDataProtocol.h: Added.
27623        * WebView.subproj/WebDataProtocol.m: Added.
27624        (-[WebDataRequestParameters copyWithZone:]):
27625        (-[WebDataRequestParameters mutableCopyWithZone:]):
27626        (-[WebDataRequestParameters dealloc]):
27627        (+[NSURLRequest _webDataRequestURLForData:]):
27628        (-[NSURLRequest _webDataRequestParameters]):
27629        (-[NSURLRequest _webDataRequestData]):
27630        (-[NSURLRequest _webDataRequestSetData:]):
27631        (-[NSURLRequest _webDataRequestEncoding]):
27632        (-[NSURLRequest _webDataRequestSetEncoding:]):
27633        (-[NSURLRequest _webDataRequestBaseURL]):
27634        (-[NSURLRequest _webDataRequestSetBaseURL:]):
27635        (-[NSURLRequest _webDataRequestExternalRequest]):
27636        (+[WebDataProtocol load]):
27637        (+[WebDataProtocol doesURLHaveInternalDataScheme:]):
27638        (+[WebDataProtocol canHandleURL:]):
27639        (+[WebDataProtocol canonicalURLForURL:]):
27640        (-[WebDataProtocol startLoadingWithCacheObject:]):
27641        (-[WebDataProtocol stopLoading]):
27642        * WebView.subproj/WebDataSource.m:
27643        (-[WebDataSource initialRequest]):
27644        (-[WebDataSource request]):
27645        * WebView.subproj/WebDataSourcePrivate.m:
27646        (-[WebDataSource _commitIfReady:]):
27647        * WebView.subproj/WebFrame.h:
27648        * WebView.subproj/WebFrame.m:
27649        (-[WebFrame loadRequest:]):
27650        (-[WebFrame loadString:baseURL:]):
27651        * WebView.subproj/WebFramePrivate.m:
27652        (-[WebFrame _addBackForwardItemClippedAtTarget:]):
27653        (-[WebFrame _transitionToCommitted:]):
27654        * WebView.subproj/WebFrameViewPrivate.m:
27655        (-[WebFrameView _makeDocumentViewForDataSource:]):
27656        * WebView.subproj/WebView.m:
27657        (+[WebView canShowMIMEType:]):
27658
276592003-04-02  Maciej Stachowiak  <mjs@apple.com>
27660
27661        Reviewed by Ken.
27662
27663        - fixed 3177183 - disneyland.com says "500 Internal Server Error"
27664
27665        * WebView.subproj/WebUserAgentSpoofTable.gperf: Spoof as Mac IE
27666        for disney.go.com
27667        * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
27668
276692003-04-02  Richard Williamson  <rjw@apple.com>
27670
27671        Reviewed by john.
27672
27673        * WebView.subproj/WebPreferences.h:
27674        (-[WebPreferences setUserStyleSheetLocation:]): Cleaned up arg and comment.
27675
276762003-04-02  Richard Williamson  <rjw@apple.com>
27677
27678        Fix for 3200447.  Use class_pose to pose so as to avoid
27679        indirect invocation of appkit class initializers.
27680        
27681        Reviewed by darin.
27682
27683        * WebView.subproj/WebHTMLViewPrivate.m:
27684        (+[WebHTMLView load]):
27685
276862003-04-02  Richard Williamson  <rjw@apple.com>
27687
27688        Removed private headers.
27689        
27690        Reviewed by john.
27691
27692        * Misc.subproj/WebKit.h:
27693
276942003-04-01  Trey Matteson  <trey@apple.com>
27695
27696        3174227 - aggressive caching of generated pages causes problems with WIKI
27697
27698        We decided to fix half the observed behavior, as all the bad behavior is
27699        arguably due to a mis-configured server (that sets a max-age=60 on
27700        all its pages).
27701
27702        The fix is that when a redirect comes in response to a POST we force a
27703        load from origin, since this is a common technique sites do to prevent
27704        a post from ending up in the b/f list, and it is very likely you are
27705        on your way back to look at data that you believe you just edited. 
27706
27707        Reviewed by Ken.
27708
27709        * WebView.subproj/WebFramePrivate.m:
27710        (-[WebFrame _loadItem:withLoadType:]):  Nit cleanup.  Remove unused arg.
27711        (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):
27712        Same nit cleanup.
27713        * WebView.subproj/WebMainResourceClient.m:
27714        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
27715        Force loadFromOrigin if we have a redirect in response to a POST.
27716        * WebView.subproj/WebResourceLoadDelegate.h:
27717        Add headerdoc comment for redirectResponse param.
27718
277192003-04-01  Maciej Stachowiak  <mjs@apple.com>
27720
27721        Reviewed by Richard.
27722
27723        - fixed 3214748 - REGRESSION: After using latest Safari for awhile, can't launch older Safaris (icon db problem)
27724
27725        * Misc.subproj/WebIconDatabase.m:
27726        Changed icon cache path, since we are breaking compatibility and the old version
27727        does not support versioning.
27728        (-[WebIconDatabase _loadIconDictionaries]): Check version.
27729        (-[WebIconDatabase _updateFileDatabase]): Save version.
27730
277312003-04-01  Ken Kocienda  <kocienda@apple.com>
27732
27733        Reviewed by Darin
27734
27735        NSURLConnectionDelegate is no longer a formal protocol.
27736
27737        NSURLConnection no longer has a loadWithDelegate: method. Loads
27738        start implicitly at init time. Some clients have been updated
27739        to call the willSendRequest:redirectResponse: callback manually
27740        since this callback is no longer sent for initial loads.
27741
27742        * Downloads.subproj/WebDownload.m:
27743        (-[WebDownload initWithRequest:]):
27744        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
27745        (-[WebDownload loadWithDelegate:]):
27746        * Misc.subproj/WebIconLoader.h:
27747        * Misc.subproj/WebIconLoader.m:
27748        (-[WebIconLoader startLoading]):
27749        * WebView.subproj/WebBaseResourceHandleDelegate.h:
27750        * WebView.subproj/WebBaseResourceHandleDelegate.m:
27751        (-[WebBaseResourceHandleDelegate loadWithRequest:]):
27752        * WebView.subproj/WebMainResourceClient.h:
27753        * WebView.subproj/WebMainResourceClient.m:
27754        (-[WebMainResourceClient loadWithRequest:]):
27755        (-[WebResourceDelegateProxy setDelegate:]):
27756
277572003-04-01  Darin Adler  <darin@apple.com>
27758
27759        Reviewed by John.
27760
27761        - fixed 3213918 -- REGRESSION: printing Mapquest directions, screen font is used, causing exception, crashes
27762        - fixed 3144287 -- CSS with media=print not used when printing
27763
27764        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _opened]): Don't call the reapplyStyles
27765        method directly here, use setNeedsToApplyStyles instead.
27766        * WebView.subproj/WebHTMLView.m:
27767        (-[WebHTMLView reapplyStyles]): Pass the appropriate device type here.
27768        (-[WebHTMLView drawRect:]): Don't call setUsingPrinterFonts:NO at the end of this method
27769        if we were already using printer fonts at the start. This was the bug fix.
27770        (-[WebHTMLView _setPrinting:]): Renamed from _setUsingPrinterFonts since this now controls
27771        the styles used too, not just the fonts.
27772        (-[WebHTMLView beginDocument]): Updated for _setPrinting name change.
27773        (-[WebHTMLView endDocument]): Ditto.
27774        * WebView.subproj/WebHTMLViewPrivate.h: Renamed "usingPrinterFonts" field to "printing".
27775
277762003-04-01  Richard Williamson  <rjw@apple.com>
27777
27778        Fixed ~2% performance regression problem.  The regression
27779        was caused by the allocation of a forwarder on every 
27780        delegate callback.  Modified code to only create forwarders once,
27781        and reset when delegates change.
27782        
27783        Reviewed by Ken.
27784
27785        * WebCoreSupport.subproj/WebBridge.m:
27786        (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
27787        * WebView.subproj/WebBaseResourceHandleDelegate.h:
27788        * WebView.subproj/WebBaseResourceHandleDelegate.m:
27789        (-[WebBaseResourceHandleDelegate setDataSource:]):
27790        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
27791        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
27792        (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
27793        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
27794        * WebView.subproj/WebView.m:
27795        (-[WebView setWindowOperationsDelegate:]):
27796        (-[WebView setResourceLoadDelegate:]):
27797        (-[WebView setContextMenuDelegate:]):
27798        (-[WebView setPolicyDelegate:]):
27799        (-[WebView setLocationChangeDelegate:]):
27800        * WebView.subproj/WebViewPrivate.h:
27801        * WebView.subproj/WebViewPrivate.m:
27802        (-[WebViewPrivate dealloc]):
27803        (-[WebView _locationChangeDelegateForwarder]):
27804        (-[WebView _resourceLoadDelegateForwarder]):
27805        (-[WebView _cacheResourceLoadDelegateImplementations]):
27806        (-[WebView _resourceLoadDelegateImplementations]):
27807        (-[WebView _policyDelegateForwarder]):
27808        (-[WebView _contextMenuDelegateForwarder]):
27809        (-[WebView _windowOperationsDelegateForwarder]):
27810        (-[_WebSafeForwarder forwardInvocation:]):
27811
27812        * API-Issues.rtf:
27813        Notes to self.
27814        
278152003-04-01  Darin Adler  <darin@apple.com>
27816
27817        * English.lproj/StringsNotToBeLocalized.txt: Allowed update-alex-localizable-strings
27818        to sort this file.
27819
278202003-03-31  Trey Matteson  <trey@apple.com>
27821
27822        3212724 - bookmarks and history items have screwed up designated inits
27823
27824        and support code for:
27825        3116315 - autocomplete needs some prioritization magic
27826
27827        The main changes are adding and maintaining a visitCount to the HistoryItem,
27828        cleaning up the init methods of HistoryItem.  Also lastVisitedDate is now
27829        set explicitly instead of automatically getting the current date.
27830
27831        Reviewed by John.
27832
27833        * History.subproj/WebHistory.m:
27834        (-[WebHistory addItemForURL:]):  Set lastVisitedDate of new item.
27835        (-[WebHistory _itemForURLString:]):  New helper routine.
27836        * History.subproj/WebHistoryItem.h:  Conform to NSCopying.
27837        * History.subproj/WebHistoryItem.m:
27838        (-[WebHistoryItem init]):  Behave like a designated initializer.
27839        (-[WebHistoryItem copyWithZone:]):  New.
27840        (-[WebHistoryItem initWithURL:title:]):  Call the designated initializer.
27841        (-[WebHistoryItem initWithURL:target:parent:title:]):    Call the designated initializer.
27842        Don't blindly init lastVisitedDate.
27843        (-[WebHistoryItem setLastVisitedDate:]):  Update visitCount too.
27844        (-[WebHistoryItem visitCount]):  New getter.
27845        (-[WebHistoryItem setVisitCount:]):  New setter.
27846        (-[WebHistoryItem _mergeAutoCompleteHints:]):  Combine autocomplete info
27847        of two items.  Used when one item replaces another in the history.
27848        (-[WebHistoryItem dictionaryRepresentation]):  Write visitCount.
27849        (-[WebHistoryItem initFromDictionaryRepresentation:]):  Read visitCount.
27850        * History.subproj/WebHistoryItemPrivate.h:
27851        * History.subproj/WebHistoryPrivate.h:
27852        * History.subproj/WebHistoryPrivate.m:
27853        (-[WebHistoryPrivate addItem:]):  Merge autocomplete date from old item to new.
27854        (-[WebHistoryPrivate itemForURLString:]):   s/entry/item/
27855        (-[WebHistoryPrivate containsItemForURLString:]):   s/entry/item/
27856        (-[WebHistoryPrivate containsURL:]):   s/entry/item/
27857        (-[WebHistoryPrivate itemForURL:]):   s/entry/item/
27858        (-[WebHistoryPrivate _loadHistoryGuts:]):  Skip history items without visitDate.
27859        * WebView.subproj/WebFramePrivate.m:
27860        (-[WebFrame _transitionToCommitted:]):  Update last visitTime when we revisit
27861        the same URL (since no new history item is created).
27862
278632003-03-31  Richard Williamson  <rjw@apple.com>
27864
27865        Fixed 3213637.  We weren't calling the correct delegate method,
27866        setStatus: instead of webView:setStatus:
27867        
27868        Reviewed by darin.
27869
27870        * Plugins.subproj/WebBaseNetscapePluginView.m:
27871        (-[WebBaseNetscapePluginView status:]):
27872
278732003-03-31  Maciej Stachowiak  <mjs@apple.com>
27874
27875        Reviewed by Chris.
27876
27877        - fixed 3210813 - REGRESSION: full size stock chart on etrade shows up empty after viewing mini stock chart
27878
27879        I fixed this by adding a "negative cache" of icon URLs that loaded
27880        something but failed to yield an icon. This prevents us from
27881        asking for the site icon over and over, which was messing up the
27882        session cookie.
27883        * Misc.subproj/WebIconDatabase.m:
27884        (-[WebIconDatabase init]):
27885        (-[WebIconDatabase iconForURL:withSize:cache:]):
27886        (-[WebIconDatabase _updateFileDatabase]):
27887        (-[WebIconDatabase _iconsForIconURLString:]):
27888        (-[WebIconDatabase _setHaveNoIconForIconURL:]):
27889        (-[WebIconDatabase _releaseIconForIconURLString:]):
27890        * Misc.subproj/WebIconDatabasePrivate.h:
27891        * Misc.subproj/WebIconLoader.h:
27892        * Misc.subproj/WebIconLoader.m:
27893        (-[WebIconLoader startLoading]):
27894        (-[WebIconLoader connectionDidFinishLoading:]):
27895        * WebView.subproj/WebDataSourcePrivate.m:
27896        (-[WebDataSource _iconLoaderReceivedPageIcon:]):
27897
278982003-03-31  Darin Adler  <darin@apple.com>
27899
27900        * English.lproj/InfoPlist.strings: Changed "1.0 Beta" to "1.0 Beta 2".
27901        * WebKit.pbproj/project.pbxproj: Changed "1.0 Beta" to "1.0 Beta 2".
27902
27903        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
27904
27905        * English.lproj/Localizable.strings: Regenerated (new script, "1.0 Beta 2").
27906
279072003-03-31  Richard Williamson  <rjw@apple.com>
27908
27909        Reviewed by darin.
27910
27911        * History.subproj/WebHistory.h:
27912        Added use of WebHistoryItemsKey instead of @"Entries".
27913        
27914        * History.subproj/WebHistory.m:(-[WebHistory _sendNotification:entries:]):
27915        Use WebHistoryItemsKey as key instead of @"Entries".
27916        
27917        * History.subproj/WebHistoryItem.m: (-[WebHistoryItem init]):
27918        Fix double allocation of WebHistoryPrivate.
27919
27920        * WebKit/WebKit.exp
27921        Added export for WebHistoryItemsKey
27922        
27923        * WebKit/API-Issues.rtf
27924        Notes.
27925        
279262003-03-31  Darin Adler  <darin@apple.com>
27927
27928        Reviewed by Chris.
27929
27930        - improved default behaviors in window operations delegate
27931
27932        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
27933        (-[WebDefaultWindowOperationsDelegate webViewShowWindowBehindFrontmost:]): Removed unused method.
27934        (-[WebDefaultWindowOperationsDelegate webViewCloseWindow:]): Added default implementation, calls close on window.
27935        (-[WebDefaultWindowOperationsDelegate webViewFocusWindow:]): Added default implementation, makeKeyAndOrderFront.
27936        (-[WebDefaultWindowOperationsDelegate webViewUnfocusWindow:]): Added default implementation, uses _cycleWindowsReversed as needed.
27937        (-[WebDefaultWindowOperationsDelegate webViewFirstResponderInWindow:]): Added default implementation, calls firstResponder.
27938        (-[WebDefaultWindowOperationsDelegate webView:makeFirstResponderInWindow:]): Added default implementation, calls makeFirstResponder.
27939        (-[WebDefaultWindowOperationsDelegate webViewIsResizable:]): Added default implementation, calls showsResizeIndicator.
27940        (-[WebDefaultWindowOperationsDelegate webView:setResizable:]): Added default implementation, calls setShowsResizeIndicator.
27941        (-[WebDefaultWindowOperationsDelegate webView:setFrame:]): Use display:YES, not display:NO.
27942        (-[WebDefaultWindowOperationsDelegate webViewFrame:]): Return NSZeroRect if window is nil instead of random garbage.
27943        (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]): Use display:YES, not display:NO.
27944        (-[WebDefaultWindowOperationsDelegate webViewContentRect:]): Return NSZeroRect if window is nil instead of random garbage.
27945        (-[WebDefaultWindowOperationsDelegate webView: runJavaScriptAlertPanelWithMessage:]): Added a FIXME because we should have a default implementation here.
27946        (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptConfirmPanelWithMessage:]): Ditto.
27947        (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]): Put a default implementation here.
27948        (-[WebDefaultWindowOperationsDelegate webView:runOpenPanelForFileButtonWithResultListener:]): Added a FIXME because we should have a default implementation here.
27949
279502003-03-29  Chris Blumenberg  <cblu@apple.com>
27951
27952        Fixed: 3178058 - Plug-ins are stopped/reloaded when switching tabs
27953        Made the "Enable plug-ins" preference toggle in real-time again.
27954
27955        No events including null events are sent when a plug-in is in a non-frontmost tab. This causes Flash movies to pause (which is nice) and QT movies to continue to play.
27956
27957        Reviewed by darin.
27958
27959        * Plugins.subproj/WebBaseNetscapePluginView.h:
27960        * Plugins.subproj/WebBaseNetscapePluginView.m:
27961        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): use the current window, clip out the plug-in when not in an actual window
27962        (-[WebBaseNetscapePluginView restorePortState:]): use the current window
27963        (-[WebBaseNetscapePluginView sendEvent:]): added asserts
27964        (-[WebBaseNetscapePluginView sendActivateEvent:]): tweak
27965        (-[WebBaseNetscapePluginView sendNullEvent]): tweak
27966        (-[WebBaseNetscapePluginView restartNullEvents]): tweak
27967        (-[WebBaseNetscapePluginView isInResponderChain]): tweak
27968        (-[WebBaseNetscapePluginView performKeyEquivalent:]): tweak
27969        (-[WebBaseNetscapePluginView canStart]): new, implemented by subclasses
27970        (-[WebBaseNetscapePluginView didStart]): new, implemented by subclasses
27971        (-[WebBaseNetscapePluginView addWindowObservers]): new
27972        (-[WebBaseNetscapePluginView removeWindowObservers]): new
27973        (-[WebBaseNetscapePluginView start]): check pref, call canStart, addWindowObservers and didStart
27974        (-[WebBaseNetscapePluginView stop]): call removeWindowObservers
27975        (-[WebBaseNetscapePluginView currentWindow]): new, returns the actual window else the host window
27976        (-[WebBaseNetscapePluginView initWithFrame:]): observer pref change notifications
27977        (-[WebBaseNetscapePluginView dealloc]): call removeObserver
27978        (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): stop if there is no host window
27979        (-[WebBaseNetscapePluginView viewDidMoveToWindow]): start if we moved to a window
27980        (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]): stop if there will be no windows
27981        (-[WebBaseNetscapePluginView viewDidMoveToHostWindow]): start if there is a window
27982        (-[WebBaseNetscapePluginView preferencesHaveChanged:]): renamed, start or stop
27983        (-[WebBaseNetscapePluginView destroyStream:reason:]): tweak
27984        (-[NSData _web_locationAfterFirstBlankLine]): tweak
27985        * Plugins.subproj/WebNetscapePluginDocumentView.m:
27986        (-[WebNetscapePluginDocumentView initWithFrame:]): call setAutoresizingMask here
27987        (-[WebNetscapePluginDocumentView canStart]): new, return YES if there is a data source
27988        (-[WebNetscapePluginDocumentView didStart]): redeliver the stream if there is any data
27989        (-[WebNetscapePluginDocumentView setDataSource:]): start if there is a current window
27990        (-[WebNetscapePluginDocumentView layout]): no need to call setWindow, this is done in the superclass
27991        (-[WebNetscapePluginDocumentView viewWillMoveToHostWindow:]): forward to super to make compiler happy
27992        (-[WebNetscapePluginDocumentView viewDidMoveToHostWindow]): forward to super to make compiler happy
27993        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
27994        (-[WebNetscapePluginEmbeddedView didStart]): start the load
27995        (-[WebNetscapePluginEmbeddedView dataSource]): tweak
27996        * WebView.subproj/WebDocument.h: added viewWillMoveToHostWindow: and viewDidMoveToHostWindow
27997        * WebView.subproj/WebFramePrivate.h:
27998        * WebView.subproj/WebFramePrivate.m:
27999        (-[WebFrame _viewWillMoveToHostWindow:]): forward to document view and subframes
28000        (-[WebFrame _viewDidMoveToHostWindow]): forward to document view and subframes
28001        * WebView.subproj/WebHTMLView.m:
28002        (-[WebHTMLView viewWillMoveToHostWindow:]): forward to plug-in views
28003        (-[WebHTMLView viewDidMoveToHostWindow]): forward to plug-in views
28004        (-[NSArray _web_makePluginViewsPerformSelector:withObject:]): new
28005        * WebView.subproj/WebHTMLViewPrivate.m:
28006        (-[WebHTMLView _reset]): don't stop plug-ins here. WebBaseNetscapePluginView can handle that
28007        * WebView.subproj/WebImageView.m:
28008        (-[WebImageView viewWillMoveToHostWindow:]): implement new WebDocumentView methods
28009        (-[WebImageView viewDidMoveToHostWindow]): implement new WebDocumentView methods
28010        * WebView.subproj/WebTextView.m:
28011        (-[WebTextView viewWillMoveToHostWindow:]): implement new WebDocumentView methods
28012        (-[WebTextView viewDidMoveToHostWindow]): implement new WebDocumentView methods
28013        * WebView.subproj/WebView.h:
28014        * WebView.subproj/WebView.m:
28015        (-[WebView setHostWindow:]): new
28016        (-[WebView hostWindow]): new
28017        * WebView.subproj/WebViewPrivate.h:
28018        * WebView.subproj/WebViewPrivate.m:
28019        (-[WebViewPrivate dealloc]): release the host window
28020
280212003-03-31  Darin Adler  <darin@apple.com>
28022
28023        Reviewed by John.
28024
28025        * WebCoreSupport.subproj/WebBridge.m:
28026        (-[WebBridge nextKeyViewOutsideWebFrameViews]): Get next key view from WebView, only using
28027        the top level WebFrameView if the WebView doesn't have one set (for compatibility in case
28028        some of our current WebKit clients are using this).
28029        (-[WebBridge previousKeyViewOutsideWebFrameViews]): Ditto.
28030
280312003-03-31  Darin Adler  <darin@apple.com>
28032
28033        Reviewed by John.
28034
28035        - fixed 3211730 -- REGRESSION: Flash spawns blank page then loads new page inside banner itself
28036
28037        * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]):
28038        Load the request in the frame we found or created, not always in our own frame (oops!).
28039
28040        - other changes
28041
28042        * History.subproj/WebHistory.h: Update comments to all say "Item" instead of "Entry".
28043        They didn't match the method names any more.
28044        
28045        * WebView.subproj/WebView.m:
28046        (-[WebView acceptsFirstResponder]): Return YES.
28047        (-[WebView becomeFirstResponder]): Pass first responder on to the WebFrameView in the same way
28048        the WebFrameView passes it on to the document view.
28049
280502003-03-30  Maciej Stachowiak  <mjs@apple.com>
28051
28052        Reviewed by Darin.
28053
28054        - fixed 3204257 - CNN's 'war on iraq' ticker stops on mouseover
28055
28056        * WebView.subproj/WebHTMLViewPrivate.h:
28057        * WebView.subproj/WebHTMLViewPrivate.m:
28058        (-[WebHTMLView _updateMouseoverWithEvent:]): When leaving an HTML
28059        view, tell it that the mouse moved outside everything in the view,
28060        even accounting for scrolled off portions (otherwise khtml gets
28061        confused). This makes cross-frame mouse enter/leave work properly.
28062        (-[WebHTMLView _clearLastHitViewIfSelf]): Method to clear last hit view,
28063        so we don't need to retain it.
28064        * WebView.subproj/WebHTMLView.m:
28065        (-[WebHTMLView dealloc]): Call _clearLastHitViewIfSelf.
28066
280672003-03-28  Richard Williamson  <rjw@apple.com>
28068
28069        Fix typo in comments that broke headerdoc.
28070        
28071        * WebView.subproj/WebWindowOperationsDelegate.h:
28072
280732003-03-28  Ken Kocienda  <kocienda@apple.com>
28074
28075        Reviewed by John
28076
28077        Imports NSURLConnection private header to access NSURLConnection code 
28078        that did not make the API cut.
28079
28080        * WebView.subproj/WebBaseResourceHandleDelegate.m:
28081        * WebView.subproj/WebMainResourceClient.m:
28082
280832003-03-28  Ken Kocienda  <kocienda@apple.com>
28084
28085        Reviewed by Trey
28086
28087        NSURLConnection class method changed name:
28088            canInitWithRequest: -> canHandleRequest:
28089
28090        Moved to API-approved model for synchronous loads.
28091        Removed fixme I put in yesterday having to do with
28092        reposting form data. The feature is fully functional
28093        again.
28094
28095        * Plugins.subproj/WebNetscapePluginStream.m:
28096        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
28097        * WebView.subproj/WebDefaultContextMenuDelegate.m:
28098        (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
28099        * WebView.subproj/WebDefaultPolicyDelegate.m:
28100        (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
28101        * WebView.subproj/WebFramePrivate.m:
28102        (-[WebFrame _loadItem:fromItem:withLoadType:]):
28103        (-[WebFrame _continueAfterNavigationPolicy:]):
28104
281052003-03-28  Ken Kocienda  <kocienda@apple.com>
28106
28107        Reviewed by Darin
28108
28109        Cosmetic change. Instances of 'resource' as a local variable
28110        name have been changed to 'connection'. Some other changes
28111        related to this cosmetic cleanup were done as well.
28112
28113        As part of this change, I needed to change some 'connection'
28114        method arguments to 'con' to avoid the name conflict now
28115        that instance variables are named .connection'.
28116
28117        * Downloads.subproj/WebDownload.m:
28118        (-[WebDownloadPrivate dealloc]):
28119        (-[WebDownload initWithRequest:]):
28120        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
28121        (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]):
28122        (-[WebDownload loadWithDelegate:]):
28123        (-[WebDownload _downloadEnded]):
28124        (-[WebDownload _cancelWithError:]):
28125        * Downloads.subproj/WebDownloadPrivate.h:
28126        * Plugins.subproj/WebNetscapePluginStream.m:
28127        (-[WebNetscapePluginStream connection:didReceiveResponse:]):
28128        (-[WebNetscapePluginStream connection:didReceiveData:]):
28129        (-[WebNetscapePluginStream connectionDidFinishLoading:]):
28130        (-[WebNetscapePluginStream connection:didFailLoadingWithError:]):
28131        * WebCoreSupport.subproj/WebSubresourceClient.m:
28132        (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]):
28133        (-[WebSubresourceClient connection:didReceiveResponse:]):
28134        (-[WebSubresourceClient connection:didReceiveData:]):
28135        (-[WebSubresourceClient connectionDidFinishLoading:]):
28136        (-[WebSubresourceClient connection:didFailLoadingWithError:]):
28137        * WebView.subproj/WebBaseResourceHandleDelegate.h:
28138        * WebView.subproj/WebBaseResourceHandleDelegate.m:
28139        (-[WebBaseResourceHandleDelegate _releaseResources]):
28140        (-[WebBaseResourceHandleDelegate startLoading:]):
28141        (-[WebBaseResourceHandleDelegate loadWithRequest:]):
28142        (-[WebBaseResourceHandleDelegate setDefersCallbacks:]):
28143        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
28144        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
28145        (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
28146        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
28147        (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]):
28148        (-[WebBaseResourceHandleDelegate cancelWithError:]):
28149        * WebView.subproj/WebMainResourceClient.m:
28150        (-[WebMainResourceClient receivedError:]):
28151        (-[WebMainResourceClient cancelWithError:]):
28152        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
28153        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
28154        (-[WebMainResourceClient connection:didReceiveResponse:]):
28155        (-[WebMainResourceClient connection:didReceiveData:]):
28156        (-[WebMainResourceClient connectionDidFinishLoading:]):
28157        (-[WebMainResourceClient connection:didFailLoadingWithError:]):
28158        (-[WebMainResourceClient startLoading:]):
28159
281602003-03-28  Ken Kocienda  <kocienda@apple.com>
28161
28162        Reviewed by Darin
28163
28164        Changed names for URL connection callback methods to       
28165        use the API-approved names. No functional changes.
28166
28167        * Downloads.subproj/WebDownload.h:
28168        * Downloads.subproj/WebDownload.m:
28169        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
28170        (-[WebDownload connection:willSendRequest:redirectResponse:]):
28171        (-[WebDownload connection:didReceiveResponse:]):
28172        (-[WebDownload connection:didReceiveData:]):
28173        (-[WebDownload connectionDidFinishLoading:]):
28174        (-[WebDownload connection:didFailLoadingWithError:]):
28175        * Misc.subproj/WebIconLoader.m:
28176        (-[WebIconLoader connectionDidFinishLoading:]):
28177        (-[WebIconLoader connection:willSendRequest:redirectResponse:]):
28178        (-[WebIconLoader connection:didReceiveResponse:]):
28179        (-[WebIconLoader connection:didReceiveData:]):
28180        (-[WebIconLoader connection:didFailLoadingWithError:]):
28181        * Plugins.subproj/WebNetscapePluginStream.m:
28182        (-[WebNetscapePluginStream connection:didReceiveResponse:]):
28183        (-[WebNetscapePluginStream connection:didReceiveData:]):
28184        (-[WebNetscapePluginStream connectionDidFinishLoading:]):
28185        (-[WebNetscapePluginStream connection:didFailLoadingWithError:]):
28186        * WebCoreSupport.subproj/WebBridge.m:
28187        (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
28188        * WebCoreSupport.subproj/WebSubresourceClient.m:
28189        (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]):
28190        (-[WebSubresourceClient connection:didReceiveResponse:]):
28191        (-[WebSubresourceClient connection:didReceiveData:]):
28192        (-[WebSubresourceClient connectionDidFinishLoading:]):
28193        (-[WebSubresourceClient connection:didFailLoadingWithError:]):
28194        * WebView.subproj/WebBaseResourceHandleDelegate.m:
28195        (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
28196        (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
28197        (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
28198        (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
28199        (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]):
28200        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
28201        (-[WebDefaultResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
28202        * WebView.subproj/WebMainResourceClient.m:
28203        (-[WebMainResourceClient receivedError:]):
28204        (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
28205        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
28206        (-[WebMainResourceClient connection:didReceiveResponse:]):
28207        (-[WebMainResourceClient connection:didReceiveData:]):
28208        (-[WebMainResourceClient connectionDidFinishLoading:]):
28209        (-[WebMainResourceClient connection:didFailLoadingWithError:]):
28210        (-[WebMainResourceClient startLoading:]):
28211        (-[WebResourceDelegateProxy connection:willSendRequest:redirectResponse:]):
28212        (-[WebResourceDelegateProxy connection:didReceiveResponse:]):
28213        (-[WebResourceDelegateProxy connection:didReceiveData:]):
28214        (-[WebResourceDelegateProxy connectionDidFinishLoading:]):
28215        (-[WebResourceDelegateProxy connection:didFailLoadingWithError:]):
28216        * WebView.subproj/WebResourceLoadDelegate.h:
28217
282182003-03-27  Chris Blumenberg  <cblu@apple.com>
28219
28220        Left out a "!" in my last check-in.
28221
28222        * Plugins.subproj/WebNetscapePluginPackage.m:
28223        (-[WebNetscapePluginPackage load]):
28224
28225
282262003-03-27  Chris Blumenberg  <cblu@apple.com>
28227
28228        - Allow Netscape plug-ins that don't have resource files to load in Safari.
28229        - Added more error handling when loading plug-ins.
28230
28231        Reviewed by darin.
28232
28233        * Plugins.subproj/WebNetscapePluginPackage.m:
28234        (-[WebNetscapePluginPackage load]):
28235
282362003-03-27  Maciej Stachowiak  <mjs@apple.com>
28237
28238        Reviewed by Darin.
28239
28240        - fixed 3192344 - nil-deref in KWin::info scrolling amazon while other shopping tabs load
28241        - fixed 3098365 - Default window size changes as a result of popup windows
28242        - fixed 3189291 - javascript window.close() closes window, not just originating tab
28243
28244        * WebCoreSupport.subproj/WebBridge.m:
28245        (-[WebBridge setWindowIsResizable:]): New bridge method, implemented
28246        by calling window operations delegate.
28247        (-[WebBridge windowIsResizable]): Likewise.
28248        (-[WebBridge firstResponder]): Likewise.
28249        (-[WebBridge makeFirstResponder:]): Likewise.
28250        (-[WebBridge closeWindow]): Likewise.
28251
282522003-03-27  Ken Kocienda  <kocienda@apple.com>
28253
28254        Reviewed by Darin
28255
28256        Changed WebResource to NSURLConnection. Some other "supporting" names
28257        changed as well. Note that there are no functional modifications,
28258        only name changes.
28259
28260        * Downloads.subproj/WebDownload.m:
28261        (-[WebDownload initWithRequest:]):
28262        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
28263        (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]):
28264        (-[WebDownload loadWithDelegate:]):
28265        (-[WebDownload resource:willSendRequest:]):
28266        (-[WebDownload resource:didReceiveResponse:]):
28267        (-[WebDownload resource:didReceiveData:]):
28268        (-[WebDownload resourceDidFinishLoading:]):
28269        (-[WebDownload resource:didFailLoadingWithError:]):
28270        * Downloads.subproj/WebDownloadPrivate.h:
28271        * Misc.subproj/WebIconLoader.h:
28272        * Misc.subproj/WebIconLoader.m:
28273        (-[WebIconLoader startLoading]):
28274        (-[WebIconLoader resourceDidFinishLoading:]):
28275        (-[WebIconLoader resource:willSendRequest:]):
28276        (-[WebIconLoader resource:didReceiveResponse:]):
28277        (-[WebIconLoader resource:didReceiveData:]):
28278        (-[WebIconLoader resource:didFailLoadingWithError:]):
28279        * Plugins.subproj/WebNetscapePluginStream.h:
28280        * Plugins.subproj/WebNetscapePluginStream.m:
28281        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
28282        (-[WebNetscapePluginStream resource:didReceiveResponse:]):
28283        (-[WebNetscapePluginStream resource:didReceiveData:]):
28284        (-[WebNetscapePluginStream resourceDidFinishLoading:]):
28285        (-[WebNetscapePluginStream resource:didFailLoadingWithError:]):
28286        * WebCoreSupport.subproj/WebBridge.m:
28287        * WebCoreSupport.subproj/WebSubresourceClient.m:
28288        (-[WebSubresourceClient resource:willSendRequest:]):
28289        (-[WebSubresourceClient resource:didReceiveResponse:]):
28290        (-[WebSubresourceClient resource:didReceiveData:]):
28291        (-[WebSubresourceClient resourceDidFinishLoading:]):
28292        (-[WebSubresourceClient resource:didFailLoadingWithError:]):
28293        * WebView.subproj/WebBaseResourceHandleDelegate.h:
28294        * WebView.subproj/WebBaseResourceHandleDelegate.m:
28295        (-[WebBaseResourceHandleDelegate loadWithRequest:]):
28296        (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
28297        (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
28298        (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
28299        (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
28300        (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
28301        * WebView.subproj/WebDataSource.h:
28302        * WebView.subproj/WebDataSource.m:
28303        * WebView.subproj/WebDataSourcePrivate.m:
28304        * WebView.subproj/WebDefaultContextMenuDelegate.m:
28305        (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
28306        * WebView.subproj/WebDefaultPolicyDelegate.m:
28307        (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
28308        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
28309        * WebView.subproj/WebFramePrivate.m:
28310        (-[WebFrame _continueAfterNavigationPolicy:]):
28311        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
28312        * WebView.subproj/WebMainResourceClient.h:
28313        * WebView.subproj/WebMainResourceClient.m:
28314        (-[WebMainResourceClient resource:willSendRequest:]):
28315        (-[WebMainResourceClient resource:didReceiveResponse:]):
28316        (-[WebMainResourceClient resource:didReceiveData:]):
28317        (-[WebMainResourceClient resourceDidFinishLoading:]):
28318        (-[WebMainResourceClient resource:didFailLoadingWithError:]):
28319        (-[WebResourceDelegateProxy setDelegate:]):
28320        (-[WebResourceDelegateProxy resource:willSendRequest:]):
28321        (-[WebResourceDelegateProxy resource:didReceiveResponse:]):
28322        (-[WebResourceDelegateProxy resource:didReceiveData:]):
28323        (-[WebResourceDelegateProxy resourceDidFinishLoading:]):
28324        (-[WebResourceDelegateProxy resource:didFailLoadingWithError:]):
28325        * WebView.subproj/WebPolicyDelegate.h:
28326        * WebView.subproj/WebView.h:
28327        * WebView.subproj/WebView.m:
28328        * WebView.subproj/WebViewPrivate.m:
28329
283302003-03-27  Richard Williamson   <rjw@apple.com>
28331
28332        API change: WebHistory initWithFile: -> initWithContentsOfURL:
28333        
28334        Reviewed by Ken.
28335
28336        * History.subproj/WebHistory.h:
28337        * History.subproj/WebHistory.m:
28338        (-[WebHistory initWithContentsOfURL:]):
28339        (-[WebHistory URL]):
28340        * History.subproj/WebHistoryPrivate.h:
28341        * History.subproj/WebHistoryPrivate.m:
28342        (-[WebHistoryPrivate initWithContentsOfURL:]):
28343        (-[WebHistoryPrivate dealloc]):
28344        (-[WebHistoryPrivate _loadHistoryGuts:]):
28345        (-[WebHistoryPrivate loadHistory]):
28346        (-[WebHistoryPrivate _saveHistoryGuts:]):
28347        (-[WebHistoryPrivate URL]):
28348        (-[WebHistoryPrivate saveHistory]):
28349
283502003-03-27  Darin Adler  <darin@apple.com>
28351
28352        Reviewed by Shelley.
28353
28354        - fixed 3157067 -- Pier1.com doesn't load; Microsoft VBScript runtime error in user-agent checking code
28355        
28356        Besides this fix, I also filed an evangelism bug, bug 3210612.
28357
28358        * WebView.subproj/WebUserAgentSpoofTable.gperf: Added pier1.com.
28359        * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
28360
283612003-03-27  Ken Kocienda  <kocienda@apple.com>
28362
28363        Reviewed by Trey
28364
28365        Moved to final NSURLResponse and NSHTTPURLResponse API.
28366
28367        * Downloads.subproj/WebDownload.m:
28368        * Misc.subproj/WebNSURLResponseExtras.m:
28369        (-[NSURLResponse suggestedFilenameForSaving]):
28370        (-[NSHTTPURLResponse suggestedFilenameForSaving]):
28371        * Plugins.subproj/WebBaseNetscapePluginStream.m:
28372        (-[WebBaseNetscapePluginStream setResponse:]):
28373        * Plugins.subproj/WebNetscapePluginDocumentView.m:
28374        (-[WebNetscapePluginDocumentView setDataSource:]):
28375        * WebView.subproj/WebDataSourcePrivate.m:
28376        (-[WebDataSource _representationClass]):
28377        (-[WebDataSource _commitIfReady:]):
28378        * WebView.subproj/WebFramePrivate.m:
28379        (-[WebFrame _opened]):
28380        (-[WebFrame _loadItem:fromItem:withLoadType:]):
28381        * WebView.subproj/WebFrameViewPrivate.m:
28382        (-[WebFrameView _makeDocumentViewForDataSource:]):
28383        * WebView.subproj/WebMainResourceClient.m:
28384        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
28385        (-[WebMainResourceClient checkContentPolicyForResponse:]):
28386        (-[WebMainResourceClient resource:didReceiveResponse:]):
28387        (-[WebMainResourceClient startLoading:]):
28388        * WebView.subproj/WebTextRepresentation.m:
28389        (-[WebTextRepresentation setDataSource:]):
28390        * WebView.subproj/WebTextView.m:
28391        (-[WebTextView dataSourceUpdated:]):
28392
28393=== Safari-69 ===
28394
283952003-03-26  Richard Williamson   <rjw@apple.com>
28396
28397        File name change WebPluginError.[hm] -> WebPlugInError.[hm]
28398
28399        * Misc.subproj/WebKit.h:
28400        * Plugins.subproj/WebNullPluginView.m:
28401        * Plugins.subproj/WebPlugInError.h:
28402        * Plugins.subproj/WebPluginError.h: Removed.
28403        * Plugins.subproj/WebPluginError.m: Removed.
28404        * Plugins.subproj/WebPluginErrorPrivate.h:
28405        * WebKit.pbproj/project.pbxproj:
28406
284072003-03-26  Richard Williamson   <rjw@apple.com>
28408
28409        WebPreferences API changes:
28410        
28411        JavaScriptCanOpenWindowsAutomatically -> javaScriptCanOpenWindowsAutomatically
28412        setJavaScriptCanOpenWindowsAutomatically -> setJavaScriptCanOpenWindowsAutomatically
28413        willLoadImagesAutomatically -> loadsImagesAutomatically
28414        setWillLoadImagesAutomatically -> setLoadsImagesAutomatically
28415        JavaEnabled -> isJavaEnabled
28416        setJavaEnabled -> setIsJavaEnabled
28417        JavaScriptEnabled -> isJavaScriptEnabled
28418        setJavaScriptEnabled -> setIsJavaScriptEnabled
28419        pluginsEnabled -> arePlugInsEnabled
28420        setPluginsEnabled -> setArePlugInsEnabled
28421        allowAnimatedImageLooping -> allowsAnimatedImageLooping
28422        setAllowAnimatedImageLooping -> setAllowsAnimatedImageLooping
28423        allowAnimatedImages -> allowsAnimatedImages
28424        setAllowAnimatedImages -> setAllowsAnimatedImages
28425        
28426        Made WebHistoryItem's ivars private.
28427
28428        WebPluginError API changes:
28429        
28430        pluginPageURL -> plugInPageURLString
28431        contentURL -> contentURLString
28432       
28433        Reviewed by cblu.
28434
28435        * API-Issues.rtf:
28436        * History.subproj/WebHistoryItem.h:
28437        * History.subproj/WebHistoryItem.m:
28438        (-[WebHistoryItemPrivate dealloc]):
28439        (-[WebHistoryItem init]):
28440        (-[WebHistoryItem dealloc]):
28441        (-[WebHistoryItem URLString]):
28442        (-[WebHistoryItem originalURLString]):
28443        (-[WebHistoryItem title]):
28444        (-[WebHistoryItem setDisplayTitle:]):
28445        (-[WebHistoryItem icon]):
28446        (-[WebHistoryItem lastVisitedDate]):
28447        (-[WebHistoryItem hash]):
28448        (-[WebHistoryItem anchor]):
28449        (-[WebHistoryItem isEqual:]):
28450        (-[WebHistoryItem description]):
28451        (-[WebHistoryItem _retainIconInDatabase:]):
28452        (-[WebHistoryItem initWithURL:target:parent:title:]):
28453        (-[WebHistoryItem URL]):
28454        (-[WebHistoryItem target]):
28455        (-[WebHistoryItem parent]):
28456        (-[WebHistoryItem setURL:]):
28457        (-[WebHistoryItem setOriginalURLString:]):
28458        (-[WebHistoryItem setTitle:]):
28459        (-[WebHistoryItem setTarget:]):
28460        (-[WebHistoryItem setParent:]):
28461        (-[WebHistoryItem setLastVisitedDate:]):
28462        (-[WebHistoryItem documentState]):
28463        (-[WebHistoryItem scrollPoint]):
28464        (-[WebHistoryItem setScrollPoint:]):
28465        (-[WebHistoryItem setAnchor:]):
28466        (-[WebHistoryItem isTargetItem]):
28467        (-[WebHistoryItem setIsTargetItem:]):
28468        (-[WebHistoryItem _recurseToFindTargetItem]):
28469        (-[WebHistoryItem targetItem]):
28470        (-[WebHistoryItem formData]):
28471        (-[WebHistoryItem setFormData:]):
28472        (-[WebHistoryItem formContentType]):
28473        (-[WebHistoryItem setFormContentType:]):
28474        (-[WebHistoryItem formReferrer]):
28475        (-[WebHistoryItem setFormReferrer:]):
28476        (-[WebHistoryItem children]):
28477        (-[WebHistoryItem addChildItem:]):
28478        (-[WebHistoryItem childItemWithName:]):
28479        (-[WebHistoryItem dictionaryRepresentation]):
28480        (-[WebHistoryItem initFromDictionaryRepresentation:]):
28481        (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
28482        (-[WebHistoryItem alwaysAttemptToUsePageCache]):
28483        (-[WebHistoryItem _scheduleRelease]):
28484        (-[WebHistoryItem setHasPageCache:]):
28485        (-[WebHistoryItem pageCache]):
28486        * Plugins.subproj/WebPluginError.h:
28487        * Plugins.subproj/WebPluginError.m:
28488        (-[WebPlugInError plugInPageURLString]):
28489        * WebView.subproj/WebPreferences.h:
28490        * WebView.subproj/WebPreferences.m:
28491        (-[WebPreferences isJavaEnabled]):
28492        (-[WebPreferences setIsJavaEnabled:]):
28493        (-[WebPreferences isJavaScriptEnabled]):
28494        (-[WebPreferences setIsJavaScriptEnabled:]):
28495        (-[WebPreferences javaScriptCanOpenWindowsAutomatically]):
28496        (-[WebPreferences arePlugInsEnabled]):
28497        (-[WebPreferences setArePlugInsEnabled:]):
28498        (-[WebPreferences allowsAnimatedImages]):
28499        (-[WebPreferences allowsAnimatedImageLooping]):
28500        (-[WebPreferences setAllowsAnimatedImageLooping:]):
28501        (-[WebPreferences setLoadsImagesAutomatically:]):
28502        (-[WebPreferences loadsImagesAutomatically]):
28503        * WebView.subproj/WebViewPrivate.m:
28504        (-[WebView _updateWebCoreSettingsFromPreferences:]):
28505
285062003-03-26  Ken Kocienda  <kocienda@apple.com>
28507
28508        Reviewed by Darin
28509
28510        Changed WebResponse to NSURLResponse. Some other "supporting" names
28511        changed as well. Note that there are no functional modifications,
28512        only name changes.
28513
28514        * Downloads.subproj/WebDownload.h:
28515        * Downloads.subproj/WebDownload.m:
28516        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
28517        (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]):
28518        (-[WebDownload _setResponse:]):
28519        (-[WebDownload resource:didReceiveResponse:]):
28520        * Downloads.subproj/WebDownloadPrivate.h:
28521        * Misc.subproj/WebIconLoader.m:
28522        (-[WebIconLoader resource:didReceiveResponse:]):
28523        * Misc.subproj/WebKit.h:
28524        * Plugins.subproj/WebBaseNetscapePluginStream.h:
28525        * Plugins.subproj/WebBaseNetscapePluginStream.m:
28526        (-[WebBaseNetscapePluginStream setResponse:]):
28527        * Plugins.subproj/WebNetscapePluginDocumentView.m:
28528        * Plugins.subproj/WebNetscapePluginStream.m:
28529        (-[WebNetscapePluginStream resource:didReceiveResponse:]):
28530        * WebCoreSupport.subproj/WebBridge.m:
28531        * WebCoreSupport.subproj/WebSubresourceClient.h:
28532        * WebCoreSupport.subproj/WebSubresourceClient.m:
28533        (-[WebSubresourceClient resource:didReceiveResponse:]):
28534        * WebKit.pbproj/project.pbxproj:
28535        * WebView.subproj/WebBaseResourceHandleDelegate.h:
28536        * WebView.subproj/WebBaseResourceHandleDelegate.m:
28537        (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
28538        * WebView.subproj/WebDataSource.h:
28539        * WebView.subproj/WebDataSource.m:
28540        (-[WebDataSource response]):
28541        * WebView.subproj/WebDataSourcePrivate.h:
28542        * WebView.subproj/WebDataSourcePrivate.m:
28543        (-[WebDataSource _setResponse:]):
28544        (-[WebDataSource _commitIfReady:]):
28545        (-[WebDataSource _addResponse:]):
28546        * WebView.subproj/WebDefaultPolicyDelegate.m:
28547        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
28548        (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveResponse:fromDataSource:]):
28549        * WebView.subproj/WebFramePrivate.m:
28550        (-[WebFrame _opened]):
28551        * WebView.subproj/WebFrameViewPrivate.m:
28552        * WebView.subproj/WebHTMLRepresentation.m:
28553        * WebView.subproj/WebMainResourceClient.h:
28554        * WebView.subproj/WebMainResourceClient.m:
28555        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
28556        (-[WebMainResourceClient continueAfterContentPolicy:]):
28557        (-[WebMainResourceClient checkContentPolicyForResponse:]):
28558        (-[WebMainResourceClient resource:didReceiveResponse:]):
28559        (-[WebMainResourceClient startLoading:]):
28560        (-[WebResourceDelegateProxy resource:didReceiveResponse:]):
28561        * WebView.subproj/WebPolicyDelegate.h:
28562        * WebView.subproj/WebResourceLoadDelegate.h:
28563        * WebView.subproj/WebTextRepresentation.m:
28564        * WebView.subproj/WebTextView.m:
28565
285662003-03-26  Darin Adler  <darin@apple.com>
28567
28568        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
28569
285702003-03-26  Darin Adler  <darin@apple.com>
28571
28572        Reviewed by Trey.
28573
28574        - fixed 3209091 -- REGRESSION: WebFrameView leak (world leak)
28575
28576        * WebView.subproj/WebView.m:
28577        (-[WebView _commonInitialization:frameName:groupName:]): Use copy, not retain,
28578        on an incoming NSString parameter.
28579        (-[WebView initWithFrame:frameName:groupName:]): Release the WebFrameView after
28580        setting it up.
28581
28582        - other changes
28583
28584        * WebCoreSupport.subproj/WebImageRenderer.m:
28585        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
28586        Put the bug workaround here inside an ifdef so we don't compile it in on Panther.
28587
285882003-03-26  Chris Blumenberg  <cblu@apple.com>
28589
28590        Use the private _cfBundle method on NSBundle so we only create 1 bundle per plug-in package class.
28591
28592        Reviewed by trey.
28593
28594        * Plugins.subproj/WebBasePluginPackage.h:
28595        * Plugins.subproj/WebBasePluginPackage.m:
28596        (-[WebBasePluginPackage initWithPath:]):
28597        (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]):
28598        (-[WebBasePluginPackage dealloc]):
28599        * Plugins.subproj/WebNetscapePluginPackage.h:
28600        * Plugins.subproj/WebNetscapePluginPackage.m:
28601        (-[WebNetscapePluginPackage openResourceFile]):
28602        (-[WebNetscapePluginPackage closeResourceFile:]):
28603        (-[WebNetscapePluginPackage getPluginInfoFromPLists]):
28604        (-[WebNetscapePluginPackage initWithPath:]):
28605        (-[WebNetscapePluginPackage load]):
28606        (-[WebNetscapePluginPackage unload]):
28607        * Plugins.subproj/WebPluginPackage.m:
28608        (-[WebPluginPackage initWithPath:]):
28609        (-[WebPluginPackage viewFactory]):
28610        (-[WebPluginPackage load]):
28611        (-[WebPluginPackage isLoaded]):
28612
286132003-03-26  Ken Kocienda  <kocienda@apple.com>
28614
28615        Reviewed by Maciej
28616
28617        Finished conversion to NSMutableURLRequest. HTTP-specific
28618        mutator methods are now properly placed on an HTTP
28619        category of NSMutableURLRequest. All client code has
28620        been updated to use NSMutableURLRequest where appropriate.
28621
28622        * Misc.subproj/WebIconLoader.m:
28623        (-[WebIconLoader startLoading]):
28624        * WebCoreSupport.subproj/WebBridge.m:
28625        (-[WebBridge createWindowWithURL:frameName:]):
28626        * WebView.subproj/WebBaseResourceHandleDelegate.m:
28627        (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
28628        * WebView.subproj/WebDefaultContextMenuDelegate.m:
28629        (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
28630        * WebView.subproj/WebFramePrivate.h:
28631        * WebView.subproj/WebFramePrivate.m:
28632        (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
28633        * WebView.subproj/WebMainResourceClient.m:
28634        (-[WebMainResourceClient resource:willSendRequest:]):
28635
286362003-03-25  Richard Williamson   <rjw@apple.com>
28637
28638        Changed use of plugin to plugIn in our public API
28639        as instructed by those that must be obeyed.
28640        
28641        Reviewed by Trey.
28642
28643        Changed userStyleSheetLocation to take/pass an NSURL.
28644        
28645        Reviewed by Chris
28646        
28647        * Plugins.subproj/WebNetscapePluginDocumentView.m:
28648        (-[WebNetscapePluginDocumentView setDataSource:]):
28649        * Plugins.subproj/WebNullPluginView.h:
28650        * Plugins.subproj/WebNullPluginView.m:
28651        (-[WebNullPluginView viewDidMoveToWindow]):
28652        * Plugins.subproj/WebPluginError.h:
28653        * Plugins.subproj/WebPluginError.m:
28654        (-[WebPlugInError plugInPageURL]):
28655        (-[WebPlugInError plugInName]):
28656        * Plugins.subproj/WebPluginErrorPrivate.h:
28657        * WebCoreSupport.subproj/WebBridge.m:
28658        (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
28659        (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
28660        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
28661        (-[WebDefaultResourceLoadDelegate webView:plugInFailedWithError:dataSource:]):
28662        * WebView.subproj/WebPreferences.h:
28663        * WebView.subproj/WebPreferences.m:
28664        (-[WebPreferences userStyleSheetLocation]):
28665        (-[WebPreferences setUserStyleSheetLocation:]):
28666        * WebView.subproj/WebResourceLoadDelegate.h:
28667        * WebView.subproj/WebViewPrivate.m:
28668        (-[WebView _updateWebCoreSettingsFromPreferences:]):
28669
28670        * API-Issues.rtf:  notes to self
28671
286722003-03-25  Chris Blumenberg  <cblu@apple.com>
28673
28674        Fixed: 3135385 - many file types don't work with the QuickTime plugin in Safari
28675
28676        Reviewed by trey.
28677
28678        * Plugins.subproj/WebBasePluginPackage.h:
28679        * Plugins.subproj/WebBasePluginPackage.m:
28680        (+[WebBasePluginPackage pluginWithPath:]): tweak
28681        (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): moved up from WebNetscapePluginPackage
28682        (-[WebBasePluginPackage initWithPath:]): retain path, create bundle so subclasses don't have to do this work
28683        (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]): was getMIMEInformation from WebPluginPackage
28684        (-[WebBasePluginPackage dealloc]): release the bundle
28685        (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]): tweak
28686        * Plugins.subproj/WebNetscapePluginPackage.h:
28687        * Plugins.subproj/WebNetscapePluginPackage.m:
28688        (+[WebNetscapePluginPackage preferredLocalizationName]): new
28689        (-[WebNetscapePluginPackage openResourceFile]): tweak
28690        (-[WebNetscapePluginPackage closeResourceFile:]): tweak
28691        (-[WebNetscapePluginPackage stringForStringListID:andIndex:]): tweak
28692        (-[WebNetscapePluginPackage getPluginInfoFromResources]): was getMIMEInformation
28693        (-[WebNetscapePluginPackage pListForPath:createFile:]): new, calls BP_CreatePluginMIMETypesPreferences if createFile==YES
28694        (-[WebNetscapePluginPackage getPluginInfoFromPLists]): calls getPluginInfoFromBundleAndMIMEDictionary with the MIME dictionary from the user's home dir.
28695        (-[WebNetscapePluginPackage initWithPath:]): have the superclass do some initialization, call getPluginInfoFromPLists and/or getPluginInfoFromResources
28696        (-[WebNetscapePluginPackage executableType]): tweak
28697        (-[WebNetscapePluginPackage load]): get the BP_CreatePluginMIMETypesPreferences symbol
28698        (-[WebNetscapePluginPackage unload]): tweak
28699        (-[WebNetscapePluginPackage dealloc]): tweak
28700        * Plugins.subproj/WebPluginPackage.h:
28701        * Plugins.subproj/WebPluginPackage.m:
28702        (-[WebPluginPackage initWithPath:]): have the superclass do some initialization, call getPluginInfoFromBundleAndMIMEDictionary
28703        (-[WebPluginPackage viewFactory]): tweak
28704        (-[WebPluginPackage load]): call principalClass
28705        (-[WebPluginPackage isLoaded]): tweak
28706        * Plugins.subproj/npapi.h: added declaration for the BP_CreatePluginMIMETypesPreferences function pointer. 
28707
287082003-03-25  John Sullivan  <sullivan@apple.com>
28709
28710        - WebKit part of fix for 3141794 -- No scroll bar for the 
28711        "collections" column of the bookmarks window
28712
28713        Reviewed by Darin.
28714
28715        * WebView.subproj/WebDynamicScrollBarsView.h:
28716        replaced disallowsScrolling boolean ivar with separate booleans for
28717        disallowHorizontalScrolling and disallowVerticalScrolling
28718
28719        * WebView.subproj/WebDynamicScrollBarsView.m:
28720        (-[WebDynamicScrollBarsView updateScrollers]):
28721        take the two disallow booleans into account separately
28722        (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]),
28723        (-[WebDynamicScrollBarsView allowsHorizontalScrolling]),
28724        (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]),
28725        (-[WebDynamicScrollBarsView allowsVerticalScrolling]):
28726        new methods, do the obvious
28727        (-[WebDynamicScrollBarsView setAllowsScrolling:]):
28728        changed to set both ivars
28729        (-[WebDynamicScrollBarsView allowsScrolling]):
28730        changed to return YES if scrolling is allowed in either direction
28731
28732        * WebKit.exp: exported symbol for WebDynamicScrollBarsView class name
28733
287342003-03-25  Ken Kocienda  <kocienda@apple.com>
28735
28736        Reviewed by Richard
28737
28738        Fixed a bug that could occur in the new immutable/mutable
28739        request scheme. When opening a javascript window, it was
28740        possible for a request passed as a method argument to be
28741        released during the course of a method, particularly
28742        after that request was passed to willSendRequest:.
28743        The solution is to ask the data source for its current
28744        request rather than using the one stored in the method
28745        argument.
28746
28747        * WebView.subproj/WebMainResourceClient.m:
28748        (-[WebMainResourceClient startLoading:]):
28749
287502003-03-24  Trey Matteson  <trey@apple.com>
28751
28752        Pass -seg_addr_table_filename <FILENAME> to ld.  This makes our frameworks in
28753        SYMROOT actually work for symbol resolution because they will have the correct
28754        prebinding address.  It also fixes obscure B&I problems with prebinding
28755        reported by Matt Reda.
28756
28757        Note the reason all this is tricky for our projects is that we have a different
28758        install location for Jaguar and Panther.  The purpose of this arg is to declare
28759        at link time our eventual location, which allows the prebinding address to be
28760        found in /AppleInternal/Developer/seg_addr_table.  We use a funky back-tick
28761        expression within OTHER_LDFLAGS to get a conditional value depending on the
28762        build train we are in.
28763
28764        This can all go away once we only build on Panther and don't embed the
28765        frameworks inside the Safari.app wrapper.
28766
28767        In addition I fixed the OTHER_LDFLAGS settings in our build styles to be
28768        additive instead of overriding, so we have the args we used for B&I in force
28769        when building outside of B&I.
28770
28771        Reviewed by Maciej.
28772
28773        * WebKit.pbproj/project.pbxproj:
28774
287752003-03-25  Ken Kocienda  <kocienda@apple.com>
28776
28777        Reviewed by Darin
28778
28779        Updated to use NSMutableURLRequest where appropriate.
28780
28781        * Plugins.subproj/WebBaseNetscapePluginView.m:
28782        (-[WebBaseNetscapePluginView requestWithURLCString:]):
28783        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
28784        * WebCoreSupport.subproj/WebSubresourceClient.m:
28785        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
28786        * WebView.subproj/WebDataSource.h:
28787        * WebView.subproj/WebDataSource.m:
28788        (-[WebDataSource initWithRequest:]):
28789        (-[WebDataSource request]):
28790        * WebView.subproj/WebDataSourcePrivate.h:
28791        * WebView.subproj/WebDataSourcePrivate.m:
28792        (-[WebDataSource _setURL:]):
28793        * WebView.subproj/WebFrame.m:
28794        (-[WebFrame loadRequest:]):
28795        (-[WebFrame reload]):
28796        * WebView.subproj/WebFramePrivate.m:
28797        (-[WebFrame _loadItem:fromItem:withLoadType:]):
28798        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
28799        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
28800        (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
28801
288022003-03-25  Darin Adler  <darin@apple.com>
28803
28804        Reviewed by John.
28805
28806        - fixed 3205745 -- WebKit.framework's Localizable.strings file contains high ASCII in the Key definition.
28807
28808        * English.lproj/Localizable.strings: Regenerated with the new version of the
28809        extract-localizable-strings tool that uses \U syntax instead of "high ASCII".
28810
28811        - changed cursive font back to "Apple Chancery" for now
28812        
28813        * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): Change to "Apple Chancery".
28814        * English.lproj/StringsNotToBeLocalized.txt: Update for above change.
28815
288162003-03-24  Darin Adler  <darin@apple.com>
28817
28818        Reviewed by Dave.
28819
28820        - fixed 3206803 -- REGRESSION: Lucida Handwriting font doesn't work
28821
28822        * WebCoreSupport.subproj/WebTextRendererFactory.m:
28823        (acceptableChoice): Added. Returns NO if the weight/traits are no good.
28824        (betterChoice): Added. Returns YES if the new weight/traits are better than the old.
28825        (-[WebTextRendererFactory fontWithFamily:traits:size:]): Use the new functions to judge which
28826        font is good enough. Now it will accept an italic font if that's all we have.
28827
28828        - fixed 3206904 -- use "Lucida Handwriting" for "cursive" so it works on systems without Classic
28829
28830        * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]):
28831        Change default from "Apple Chancery" to "Lucida Handwriting".
28832
28833        * English.lproj/StringsNotToBeLocalized.txt: Updated for this change.
28834
288352003-03-24  Maciej Stachowiak  <mjs@apple.com>
28836
28837        Reviewed by Richard.
28838
28839        - made API (actually doc-only) changes needed for 3087535 -
28840        bugzilla queries come back as downloaded files
28841
28842        * Downloads.subproj/WebDownload.h: Documented that
28843        download:didReceiveResponse: may be sent more than once.
28844        * WebView.subproj/WebLocationChangeDelegate.h: Documented that
28845        locationChangeCommittedForDataSource: may be sent more than once.
28846        * WebView.subproj/WebPolicyDelegate.h: Documented that
28847        decideContentPolicyForMIMEType:andRequest:inFrame: may be sent
28848        more than once.
28849        * WebView.subproj/WebResourceLoadDelegate.h: Documented that
28850        resource:didReceiveResponse:fromDataSource: may be sent more than
28851        once.
28852
288532003-03-24  Maciej Stachowiak  <mjs@apple.com>
28854
28855        Reviewed by Richard.
28856
28857        - fixed 3083339 - significant top and side margin appended to new windows
28858
28859        Part of the fix involves adding new window operation delegate methods.
28860        * WebCoreSupport.subproj/WebBridge.m:
28861        (-[WebBridge setWindowFrame:]): Tweaked code a bit.
28862        (-[WebBridge windowFrame]): Added. 
28863        (-[WebBridge setWindowContentRect:]): Added.
28864        (-[WebBridge windowContentRect]): Added.
28865        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
28866        (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]): Implemented.
28867        (-[WebDefaultWindowOperationsDelegate webViewContentRect:]): Likewise.
28868        * WebView.subproj/WebWindowOperationsDelegate.h:
28869
288702003-03-24  Chris Blumenberg  <cblu@apple.com>
28871
28872        Fixed: 3155489 - Seed: PostScript files display instead of downloading, often as a blank page
28873        Fixed: 3106251 - quicken file not downloaded, can't save manually
28874
28875        Reviewed by trey.
28876
28877        * WebView.subproj/WebDataSourcePrivate.m:
28878        (+[WebDataSource _repTypes]): call [WebImageView supportedImageMIMETypes]
28879        * WebView.subproj/WebFrameViewPrivate.m:
28880        (+[WebFrameView _viewTypes]): call [WebImageView supportedImageMIMETypes]
28881        * WebView.subproj/WebImageView.h:
28882        * WebView.subproj/WebImageView.m:
28883        (+[WebImageView initialize]): was -initialize (oops)
28884        (+[WebImageView unsupportedImageMIMETypes]): new, AppKit images that we shouldn't display inline, includes ps and pdf
28885        (+[WebImageView supportedImageMIMETypes]): new, was in WebViewPrivate
28886        * WebView.subproj/WebTextView.h:
28887        * WebView.subproj/WebTextView.m:
28888        (+[WebTextView unsupportedTextMIMETypes]): renamed, added text/qif (quicken)
28889        * WebView.subproj/WebView.m:
28890        (+[WebView canShowMIMEType:]): call [WebTextView unsupportedTextMIMETypes]
28891        * WebView.subproj/WebViewPrivate.h: removed _supportedImageMIMETypes
28892        * WebView.subproj/WebViewPrivate.m: removed _supportedImageMIMETypes
28893
288942003-03-24  Ken Kocienda  <kocienda@apple.com>
28895
28896        Reviewed by hyatt.
28897
28898        Moved closer to target API for NSURLRequest. Merged in
28899        final names for immutable and mutable versions of this
28900        class and its HTTP category. The next step will be to
28901        actually make the split between immutable/mutable
28902        variants of NSURLRequest.
28903
28904        In WebKit, this amounts to name changes only.
28905
28906        * Misc.subproj/WebIconLoader.m:
28907        (-[WebIconLoader startLoading]):
28908        * Plugins.subproj/WebBaseNetscapePluginView.m:
28909        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
28910        * WebCoreSupport.subproj/WebBridge.m:
28911        (-[WebBridge createWindowWithURL:frameName:]):
28912        (-[WebBridge incomingReferrer]):
28913        * WebCoreSupport.subproj/WebSubresourceClient.m:
28914        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
28915        * WebView.subproj/WebBaseResourceHandleDelegate.m:
28916        (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
28917        * WebView.subproj/WebDataSourcePrivate.m:
28918        * WebView.subproj/WebDefaultContextMenuDelegate.m:
28919        (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
28920        * WebView.subproj/WebFrame.m:
28921        (-[WebFrame reload]):
28922        * WebView.subproj/WebFramePrivate.m:
28923        (-[WebFrame _createItem]):
28924        (-[WebFrame _loadItem:fromItem:withLoadType:]):
28925        (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
28926        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
28927        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
28928        * WebView.subproj/WebMainResourceClient.m:
28929        (-[WebMainResourceClient resource:willSendRequest:]):
28930
289312003-03-22  Darin Adler  <darin@apple.com>
28932
28933        Reviewed by John.
28934
28935        - fixed 3203869 -- Monaco 9 looks different in Safari than in TextEdit (uses outline instead of bitmap)
28936
28937        * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthWithFont:]):
28938        Pass usingPrinterFont:NO, since this is used exclusively for on-screen text, not printing.
28939        * Misc.subproj/WebStringTruncator.m: (truncateString): Ditto.
28940
28941        * WebCoreSupport.subproj/WebTextRenderer.h: Add usingPrinterFont boolean field and parameter to init.
28942        * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:forScreen:]):
28943        Add usingPrinterFont parameter, and get the screen font if it's NO, also store the boolean
28944        for later use.
28945        (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding: attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]):
28946        Pass the usingPrinterFont parameter through when getting a substitute font.
28947
28948        * WebCoreSupport.subproj/WebTextRendererFactory.h: Add separate caches for screen and printing text
28949        renderers. Add usingPrinterFont parameter to our rendererWithFont: method (the one inherited from WebCore
28950        still has no parameter).
28951        * WebCoreSupport.subproj/WebTextRendererFactory.m:
28952        (-[WebTextRendererFactory init]): Create both caches.
28953        (-[WebTextRendererFactory dealloc]): Release both caches.
28954        (-[WebTextRendererFactory rendererWithFont:]): Call the new rendererWithFont:usingPrinterFont: method,
28955        passing usingPrinterFonts from the WebCore side. Thus any fonts fetched by WebCore during printing
28956        are printing fonts, and otherwise they are screen fonts.
28957        (-[WebTextRendererFactory rendererWithFont:usingPrinterFont:]): Added. Has the code from the old
28958        rendererWithFont: method, but passes the usingPrinterFont parameter through to the WebTextRenderer
28959        init method.
28960        
28961        * WebView.subproj/WebHTMLView.m:
28962        (-[WebHTMLView initWithFrame:]): Don't set unused canDragTo and canDragFrom fields.
28963        (-[WebHTMLView drawRect:]): Call -[WebTextRendererFactory setUsingPrinterFonts:] here if we are printing,
28964        as indicated by the usingPrinterFonts field. The reason we do this only inside drawRect is so we don't
28965        affect redraws of other HTML views that are not being printed that might be in "needs display" state when
28966        printing began. 
28967        (-[WebHTMLView _setUsingPrinterFonts:]): Added. Calls _setUsingPrinterFonts on all WebHTMLViews inside
28968        this one, then does the work for this one. Uses the frame hierarchy rather than the view hierarchy, but
28969        either would work. If printer font state is changing, then sets the WebTextRendererFactory mode, then
28970        forces a layout and application of styles, but without triggering display.
28971        (-[WebHTMLView beginDocument]): Do an explicit display so this view does not have to be displayed while
28972        it is in "use printer fonts" mode. Then call _setUsingPrinterFonts:YES so that drawRect will use printer
28973        fonts, and also that the WebCore data structures and layout will be updated to reflect printer fonts as
28974        opposed to screen fonts.
28975        (-[WebHTMLView endDocument]): Call _setUsingPrinterFonts:NO to restore things to normal after printing.
28976        * WebView.subproj/WebHTMLViewPrivate.h: Removed unused canDragTo, canDragFrom, and liveAllowsScrolling
28977        fields. Added usingPrinterFonts field.
28978
28979        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
28980
289812003-03-24  Ken Kocienda  <kocienda@apple.com>
28982
28983        Reviewed by Darin
28984
28985        Removed now-obsolete WebResponseCachePolicy enum.
28986        Once the new cache API is ready, there will be new features
28987        to replace what this enum provided. Seeing as how this
28988        enum was largely unused, there is no impact associated with         
28989        removing it now.
28990
28991        * WebCoreSupport.subproj/WebSubresourceClient.m:
28992        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
28993
289942003-03-24  Ken Kocienda  <kocienda@apple.com>
28995
28996        Reviewed by John
28997
28998        Cleaned up some missed WebRequest -> NSURLRequest  
28999        name conversions.
29000
29001        * WebView.subproj/WebFramePrivate.m
29002
290032003-03-24  Ken Kocienda  <kocienda@apple.com>
29004
29005        Reviewed by John
29006
29007        Changed WebRequest to NSURLRequest. Several other names,        
29008        like some constants whose names were based on WebRequest,
29009        changed as well.
29010
29011        * Downloads.subproj/WebDownload.h:
29012        * Downloads.subproj/WebDownload.m:
29013        (-[WebDownload initWithRequest:]):
29014        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
29015        (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]):
29016        (-[WebDownload _setRequest:]):
29017        (-[WebDownload resource:willSendRequest:]):
29018        * Downloads.subproj/WebDownloadPrivate.h:
29019        * Misc.subproj/WebIconLoader.m:
29020        (-[WebIconLoader startLoading]):
29021        (-[WebIconLoader resource:willSendRequest:]):
29022        * Plugins.subproj/WebBaseNetscapePluginView.m:
29023        (-[WebBaseNetscapePluginView requestWithURLCString:]):
29024        (-[WebBaseNetscapePluginView loadPluginRequest:]):
29025        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
29026        (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]):
29027        (-[WebBaseNetscapePluginView getURL:target:]):
29028        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
29029        (-[WebPluginRequest initWithRequest:frameName:notifyData:]):
29030        (-[WebPluginRequest request]):
29031        * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
29032        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
29033        (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]):
29034        * Plugins.subproj/WebNetscapePluginStream.h:
29035        * Plugins.subproj/WebNetscapePluginStream.m:
29036        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
29037        * Plugins.subproj/WebPluginController.m:
29038        (-[WebPluginController showURL:inFrame:]):
29039        * WebCoreSupport.subproj/WebBridge.m:
29040        (-[WebBridge createWindowWithURL:frameName:]):
29041        (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
29042        (-[WebBridge isReloading]):
29043        (-[WebBridge loadEmptyDocumentSynchronously]):
29044        * WebCoreSupport.subproj/WebSubresourceClient.m:
29045        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
29046        (-[WebSubresourceClient resource:willSendRequest:]):
29047        * WebView.subproj/WebBaseResourceHandleDelegate.h:
29048        * WebView.subproj/WebBaseResourceHandleDelegate.m:
29049        (-[WebBaseResourceHandleDelegate startLoading:]):
29050        (-[WebBaseResourceHandleDelegate loadWithRequest:]):
29051        (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
29052        * WebView.subproj/WebDataSource.h:
29053        * WebView.subproj/WebDataSource.m:
29054        (-[WebDataSource initWithRequest:]):
29055        (-[WebDataSource initialRequest]):
29056        (-[WebDataSource request]):
29057        * WebView.subproj/WebDataSourcePrivate.h:
29058        * WebView.subproj/WebDataSourcePrivate.m:
29059        (-[WebDataSource _setURL:]):
29060        (-[WebDataSource _setRequest:]):
29061        (-[WebDataSource _originalRequest]):
29062        (-[WebDataSource _lastCheckedRequest]):
29063        (-[WebDataSource _setLastCheckedRequest:]):
29064        * WebView.subproj/WebDefaultContextMenuDelegate.m:
29065        (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
29066        (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
29067        * WebView.subproj/WebDefaultPolicyDelegate.m:
29068        (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
29069        (-[WebDefaultPolicyDelegate webView:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
29070        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
29071        (-[WebDefaultResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]):
29072        (-[WebDefaultResourceLoadDelegate webView:resource:willSendRequest:fromDataSource:]):
29073        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
29074        * WebView.subproj/WebFrame.h:
29075        * WebView.subproj/WebFrame.m:
29076        (-[WebFrame loadRequest:]):
29077        (-[WebFrame reload]):
29078        * WebView.subproj/WebFramePrivate.h:
29079        * WebView.subproj/WebFramePrivate.m:
29080        (-[WebFrame _createItem]):
29081        (-[WebFrame _loadItem:fromItem:withLoadType:]):
29082        (-[WebFrame _loadRequest:triggeringAction:loadType:formState:]):
29083        (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]):
29084        (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
29085        (-[WebFrame _continueAfterNewWindowPolicy:]):
29086        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
29087        (-[WebFrame _continueAfterNavigationPolicy:]):
29088        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
29089        (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
29090        (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
29091        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
29092        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
29093        (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
29094        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
29095        (-[WebFrame _loadRequest:inFrameNamed:]):
29096        * WebView.subproj/WebFrameView.m:
29097        (-[WebFrameView concludeDragOperation:]):
29098        * WebView.subproj/WebImageRepresentation.m:
29099        * WebView.subproj/WebMainResourceClient.m:
29100        (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
29101        (-[WebMainResourceClient resource:willSendRequest:]):
29102        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
29103        (-[WebMainResourceClient startLoading:]):
29104        (-[WebResourceDelegateProxy resource:willSendRequest:]):
29105        * WebView.subproj/WebPolicyDelegate.h:
29106        * WebView.subproj/WebResourceLoadDelegate.h:
29107        * WebView.subproj/WebView.m:
29108        (-[WebView takeStringURLFrom:]):
29109        * WebView.subproj/WebViewPrivate.h:
29110        * WebView.subproj/WebViewPrivate.m:
29111        (-[WebView _downloadURL:toDirectory:]):
29112        (-[WebView _openNewWindowWithRequest:]):
29113        * WebView.subproj/WebWindowOperationsDelegate.h:
29114
291152003-03-21  Chris Blumenberg  <cblu@apple.com>
29116
29117        Fixed: 3081681 - text/calendar should be downloaded instead of displayed
29118        Fixed: 3177603 - vCards appear in browser, not downloaded
29119
29120        Reviewed by darin.
29121
29122        * WebView.subproj/WebDataSourcePrivate.h:
29123        * WebView.subproj/WebDataSourcePrivate.m:
29124        (+[WebDataSource _representationClassForMIMEType:]): was _canShowMIMEType
29125        * WebView.subproj/WebFrameViewPrivate.h:
29126        * WebView.subproj/WebFrameViewPrivate.m:
29127        (+[WebFrameView _viewClassForMIMEType:]): was _canShowMIMEType
29128        * WebView.subproj/WebTextView.h:
29129        * WebView.subproj/WebTextView.m:
29130        (+[WebTextView unshowableMIMETypes]): new, returns text types that shouldn't be shown
29131        * WebView.subproj/WebView.m:
29132        (+[WebView canShowMIMEType:]): call unshowableMIMETypes
29133
291342003-03-20  Richard Williamson   <rjw@apple.com>
29135
29136        Use "Item" consistently in the WebHistory and WebBackForwardList.
29137        Change createSharedHistoryWithFile: to setSharedHistory:
29138        Make the various page cache methods per WebBackForwardList instead of global.
29139        
29140        Reviewed by gramps.
29141
29142        * History.subproj/WebBackForwardList.h:
29143        * History.subproj/WebBackForwardList.m:
29144        (-[WebBackForwardListPrivate dealloc]):
29145        (-[WebBackForwardList init]):
29146        (-[WebBackForwardList dealloc]):
29147        (-[WebBackForwardList goBack]):
29148        (-[WebBackForwardList goForward]):
29149        (-[WebBackForwardList goToItem:]):
29150        (-[WebBackForwardList backItem]):
29151        (-[WebBackForwardList currentItem]):
29152        (-[WebBackForwardList forwardItem]):
29153        (-[WebBackForwardList containsItem:]):
29154        (-[WebBackForwardList maximumSize]):
29155        (-[WebBackForwardList setMaximumSize:]):
29156        (-[WebBackForwardList description]):
29157        (-[WebBackForwardList clearPageCache]):
29158        (-[WebBackForwardList setPageCacheSize:]):
29159        (-[WebBackForwardList pageCacheSize]):
29160        (-[WebBackForwardList setUsesPageCache:]):
29161        (-[WebBackForwardList usesPageCache]):
29162        (-[WebBackForwardList backListCount]):
29163        (-[WebBackForwardList forwardListCount]):
29164        (-[WebBackForwardList itemAtIndex:]):
29165        * History.subproj/WebHistory.h:
29166        * History.subproj/WebHistory.m:
29167        (-[_WebCoreHistoryProvider containsItemForURLString:]):
29168        (+[WebHistory setSharedHistory:]):
29169        (-[WebHistory addItemForURL:]):
29170        (-[WebHistory addItem:]):
29171        (-[WebHistory removeItem:]):
29172        (-[WebHistory removeItems:]):
29173        (-[WebHistory removeAllItems]):
29174        (-[WebHistory addItems:]):
29175        (-[WebHistory orderedItemsLastVisitedOnDay:]):
29176        (-[WebHistory containsItemForURLString:]):
29177        (-[WebHistory itemForURL:]):
29178        * History.subproj/WebHistoryItem.h:
29179        * History.subproj/WebHistoryPrivate.h:
29180        * History.subproj/WebHistoryPrivate.m:
29181        (-[WebHistoryPrivate insertItem:atDateIndex:]):
29182        (-[WebHistoryPrivate removeItemForURLString:]):
29183        (-[WebHistoryPrivate addItem:]):
29184        (-[WebHistoryPrivate removeItem:]):
29185        (-[WebHistoryPrivate removeItems:]):
29186        (-[WebHistoryPrivate removeAllItems]):
29187        (-[WebHistoryPrivate addItems:]):
29188        (-[WebHistoryPrivate orderedItemsLastVisitedOnDay:]):
29189        (-[WebHistoryPrivate containsItemForURLString:]):
29190        (-[WebHistoryPrivate itemForURL:]):
29191        (-[WebHistoryPrivate _loadHistoryGuts:]):
29192        * WebCoreSupport.subproj/WebBridge.m:
29193        (-[WebBridge goBackOrForward:]):
29194        * WebKit.exp:
29195        * WebKit.pbproj/project.pbxproj:
29196        * WebView.subproj/WebDataSourcePrivate.m:
29197        (-[WebDataSource _setTitle:]):
29198        * WebView.subproj/WebFramePrivate.m:
29199        (-[WebFrame _addBackForwardItemClippedAtTarget:]):
29200        (-[WebFrame _transitionToCommitted:]):
29201        (-[WebFrame _canCachePage]):
29202        (-[WebFrame _purgePageCache]):
29203        (-[WebFrame _goToItem:withLoadType:]):
29204        (-[WebFrame _resetBackForwardListToCurrent]):
29205        * WebView.subproj/WebLocationChangeDelegate.h:
29206        * WebView.subproj/WebResourceLoadDelegate.h:
29207        * WebView.subproj/WebView.h:
29208        * WebView.subproj/WebView.m:
29209        (-[WebView _commonInitialization:frameName:groupName:]):
29210        (-[WebView setMaintainsBackForwardList:]):
29211        (-[WebView goBack]):
29212        (-[WebView goForward]):
29213
292142003-03-20  Chris Blumenberg  <cblu@apple.com>
29215
29216        Properly handle file URL directory errors.
29217
29218        Reviewed by trey.
29219
29220        * Misc.subproj/WebIconDatabase.m:
29221        (-[WebIconDatabase _iconForFileURL:withSize:]): when file URL has no path, return generic file icon
29222        * WebView.subproj/WebMainResourceClient.m:
29223        (-[WebMainResourceClient interruptForPolicyChangeError]): set the URL, don't set it to nil!
29224
292252003-03-20  Vicki Murley  <vicki@apple.com>
29226
29227        don't include WebFoundation.h
29228
29229        Reviewed by cblu.
29230
29231        * Plugins.subproj/WebBaseNetscapePluginStream.m:
29232        * Plugins.subproj/WebNetscapePluginRepresentation.m:
29233        * Plugins.subproj/WebNetscapePluginStream.m:
29234
29235=== Safari-68 ===
29236
292372003-03-20  Darin Adler  <darin@apple.com>
29238
29239        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
29240
292412003-03-19  Ed Voas  voas@apple.com
29242
29243        Reviewed by Richard.
29244
29245        React to WebView API changes. Redo HIWebView API.
29246
29247        * Carbon.subproj/HIWebView.h:
29248        * Carbon.subproj/HIWebView.m:
29249        (if):
29250        (switch):
29251        * Carbon.subproj/HIWebViewPriv.h: Removed.
29252        * WebKit.exp:
29253        * WebKit.pbproj/project.pbxproj:
29254
292552003-03-19  Richard Williamson   <rjw@apple.com>
29256
29257        Removed initWithView:* constructors from WebView.
29258        New designated initializer for WebView is initWithFrame:frameName:groupName:
29259        
29260        Reviewed by cblu & ed.
29261
29262        * Carbon.subproj/HIWebView.m:
29263        * WebView.subproj/WebView.h:
29264        * WebView.subproj/WebView.m:
29265        (-[WebView init]):
29266        (-[WebView initWithFrame:]):
29267
292682003-03-19  Richard Williamson   <rjw@apple.com>
29269
29270        Rename WebControllerPolicyDelegate*.[hm] to WebPolicyDelegate*.[hm]
29271        
29272        Reviewed by trey.
29273
29274        * API-Issues.rtf:
29275        * Misc.subproj/WebKit.h:
29276        * WebKit.pbproj/project.pbxproj:
29277        * WebView.subproj/WebControllerPolicyDelegate.h: Removed.
29278        * WebView.subproj/WebControllerPolicyDelegate.m: Removed.
29279        * WebView.subproj/WebControllerPolicyDelegatePrivate.h: Removed.
29280        * WebView.subproj/WebDataSourcePrivate.m:
29281        * WebView.subproj/WebDefaultContextMenuDelegate.m:
29282        * WebView.subproj/WebFramePrivate.h:
29283        * WebView.subproj/WebFramePrivate.m:
29284        * WebView.subproj/WebFrameView.h:
29285        * WebView.subproj/WebHTMLViewPrivate.m:
29286        * WebView.subproj/WebMainResourceClient.m:
29287        * WebView.subproj/WebPolicyDelegate.m:
29288        * WebView.subproj/WebPolicyDelegatePrivate.h:
29289        * WebView.subproj/WebView.m:
29290        * WebView.subproj/WebViewPrivate.h:
29291
292922003-03-19  Darin Adler  <darin@apple.com>
29293
29294        Reviewed by John.
29295
29296        - fixed 3202780 -- REGRESSION: progress bar, stop button, both get stuck in "loading" state (bartsoft.com)
29297
29298        * WebView.subproj/WebDataSource.m: (-[WebDataSource isLoading]):
29299        Add back the "is this page complete" check, so that subresource loads don't make us
29300        think we're loading again, once the page is complete. On the other hand, frames
29301        must still be checked independent of the "is this page complete" flag to avoid
29302        reintroducing bug 3200611.
29303
293042003-03-19  Ed Voas  voas@apple.com
29305
29306        Reviewed by Richard.
29307
29308        Got it working in non-compositing mode as well, so in theory it
29309        can work inside a PowerPlant application as well. It's a bit of what
29310        I'd consider a hack, but it's pretty straightforward.
29311
29312        * Carbon.subproj/CarbonWindowAdapter.m:
29313        (-[CarbonWindowAdapter setViewsNeedDisplay:]):
29314        * Carbon.subproj/HIViewAdapter.h:
29315        * Carbon.subproj/HIViewAdapter.m:
29316        (+[HIViewAdapter bindHIViewToNSView:nsView:]):
29317        (-[HIViewAdapter setNeedsDisplay:]):
29318        (-[HIViewAdapter setNeedsDisplayInRect:]):
29319        (SetViewNeedsDisplay):
29320        * Carbon.subproj/HIWebView.m:
29321        (if):
29322
293232003-03-18  Maciej Stachowiak  <mjs@apple.com>
29324
29325        Reviewed by Trey.
29326
29327        - fixed 3127431 - bring the window with the named frame to the front
29328
29329        * WebCoreSupport.subproj/WebBridge.m:
29330        (-[WebBridge focusWindow]): Tell the window operations delegate to focus.
29331        (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]):
29332        If this navigation is meant for a different frame, focus its window.
29333        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
29334        Likewise.
29335
293362003-03-18  Trey Matteson  <trey@apple.com>
29337
29338        3077223 full keyboard UI navigation fails in authentication sheet
29339
29340        Hook up the views in this panel into a useful nextKeyView cycle.
29341
29342        Reviewed by Maciej.
29343
29344        * Panels.subproj/English.lproj/WebAuthenticationPanel.nib:
29345
293462003-03-17  Trey Matteson  <trey@apple.com>
29347
29348        Support for saving passwords on forms-based logins.  Biggest change is that
29349        the willSubmitForm: message is async to allow a sheet to be presented.
29350
29351        Also fixed @interface.*{ so prepare-change-log can swallow WebFramePrivate.m.
29352
29353        Reviewed by Maciej.
29354
29355        * WebView.subproj/WebControllerPolicyDelegate.m:
29356        (-[WebPolicyDecisionListener continue]):  The decision listener also
29357        implements WebFormSubmissionListener, to share some other impl.
29358        * WebView.subproj/WebControllerPolicyDelegatePrivate.h:
29359        * WebView.subproj/WebFormDelegate.h:
29360        * WebView.subproj/WebFormDelegate.m:
29361        (-[WebFormDelegate frame:willSubmitForm:withValues:submissionListener:]):
29362        Take listener param for async API.
29363        * WebView.subproj/WebFramePrivate.m:
29364        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
29365        Latent bug.  Don't call willSubmitForm if no values are being submitted.
29366        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
29367        Latent bug.  Don't call willSubmitForm if no values are being submitted.
29368        (-[WebFrame _continueAfterWillSubmitForm:]):
29369        Continuation code for after FormDelegate is done with willSubmitForm.
29370        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
29371        Pass new listener arg to willSubmitForm.
29372        * WebView.subproj/WebHTMLRepresentation.h:
29373        * WebView.subproj/WebHTMLRepresentation.m:
29374        Nuke deadwood formIsLoginForm.
29375        (-[WebHTMLRepresentation elementIsPassword:]):  Just pass through glue
29376        over the bridge.
29377
293782003-03-18  Richard Williamson   <rjw@apple.com>
29379
29380        Another rename WebController*.[hm] to WebView*.[hm]
29381        
29382        Reviewed by darin.
29383
29384        * Carbon.subproj/HIWebView.h:
29385        * Misc.subproj/WebKit.h:
29386        * Misc.subproj/WebNSPasteboardExtras.m:
29387        * Panels.subproj/WebStandardPanelsPrivate.h:
29388        * Plugins.subproj/WebBaseNetscapePluginView.m:
29389        * Plugins.subproj/WebNetscapePluginDocumentView.m:
29390        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
29391        * Plugins.subproj/WebNetscapePluginStream.m:
29392        * Plugins.subproj/WebNullPluginView.m:
29393        * Plugins.subproj/WebPluginController.m:
29394        * WebCoreSupport.subproj/WebBridge.m:
29395        * WebCoreSupport.subproj/WebSubresourceClient.m:
29396        * WebKit.pbproj/project.pbxproj:
29397        * WebView.subproj/WebBaseResourceHandleDelegate.m:
29398        * WebView.subproj/WebController.h: Removed.
29399        * WebView.subproj/WebController.m: Removed.
29400        * WebView.subproj/WebControllerPrivate.h: Removed.
29401        * WebView.subproj/WebControllerPrivate.m: Removed.
29402        * WebView.subproj/WebDataSource.m:
29403        * WebView.subproj/WebDataSourcePrivate.m:
29404        * WebView.subproj/WebDefaultContextMenuDelegate.m:
29405        * WebView.subproj/WebDefaultPolicyDelegate.m:
29406        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
29407        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
29408        * WebView.subproj/WebFrame.m:
29409        * WebView.subproj/WebFramePrivate.m:
29410        * WebView.subproj/WebFrameView.m:
29411        * WebView.subproj/WebFrameViewPrivate.m:
29412        * WebView.subproj/WebHTMLView.m:
29413        * WebView.subproj/WebHTMLViewPrivate.m:
29414        * WebView.subproj/WebImageView.m:
29415        * WebView.subproj/WebMainResourceClient.m:
29416        * WebView.subproj/WebTextView.m:
29417        * WebView.subproj/WebView.h:
29418        * WebView.subproj/WebView.m:
29419        * WebView.subproj/WebViewPrivate.h:
29420        * WebView.subproj/WebViewPrivate.m:
29421
294222003-03-18  Richard Williamson   <rjw@apple.com>
29423
29424        Renamed WebView*.[hm] to WebFrameView*.[hm]
29425        
29426        * Misc.subproj/WebKit.h:
29427        * Misc.subproj/WebNSViewExtras.m:
29428        * Panels.subproj/WebStandardPanels.m:
29429        * Plugins.subproj/WebBaseNetscapePluginView.m:
29430        * Plugins.subproj/WebNetscapePluginDocumentView.m:
29431        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
29432        * Plugins.subproj/WebNetscapePluginRepresentation.m:
29433        * Plugins.subproj/WebNullPluginView.m:
29434        * Plugins.subproj/WebPluginController.m:
29435        * Plugins.subproj/WebPluginDatabase.m:
29436        * WebCoreSupport.subproj/WebBridge.m:
29437        * WebKit.pbproj/project.pbxproj:
29438        * WebView.subproj/WebController.m:
29439        * WebView.subproj/WebControllerPrivate.m:
29440        * WebView.subproj/WebDataSourcePrivate.m:
29441        * WebView.subproj/WebDebugDOMNode.m:
29442        * WebView.subproj/WebDefaultContextMenuDelegate.m:
29443        * WebView.subproj/WebFrame.m:
29444        * WebView.subproj/WebFramePrivate.m:
29445        * WebView.subproj/WebFrameView.m:
29446        * WebView.subproj/WebFrameViewPrivate.h:
29447        * WebView.subproj/WebFrameViewPrivate.m:
29448        * WebView.subproj/WebHTMLView.m:
29449        * WebView.subproj/WebHTMLViewPrivate.m:
29450        * WebView.subproj/WebImageView.m:
29451        * WebView.subproj/WebMainResourceClient.m:
29452        * WebView.subproj/WebRenderNode.m:
29453        * WebView.subproj/WebTextView.m:
29454        * WebView.subproj/WebView.h: Removed.
29455        * WebView.subproj/WebView.m: Removed.
29456        * WebView.subproj/WebViewPrivate.h: Removed.
29457        * WebView.subproj/WebViewPrivate.m: Removed.
29458
294592003-03-18  Richard Williamson   <rjw@apple.com>
29460
29461        Stage 2 of WebController to WebView renaming.
29462        
29463        Reviewed by hyatt.
29464
29465        * API-Issues.rtf:
29466        * Carbon.subproj/HIWebView.h:
29467        * Carbon.subproj/HIWebView.m:
29468        * Misc.subproj/WebNSPasteboardExtras.m:
29469        (-[NSPasteboard _web_bestURL]):
29470        * Panels.subproj/WebStandardPanels.m:
29471        (-[WebStandardPanels _didStartLoadingURL:inController:]):
29472        (-[WebStandardPanels _didStopLoadingURL:inController:]):
29473        (-[WebStandardPanels frontmostWindowLoadingURL:]):
29474        * Panels.subproj/WebStandardPanelsPrivate.h:
29475        * Plugins.subproj/WebBaseNetscapePluginView.h:
29476        * Plugins.subproj/WebBaseNetscapePluginView.m:
29477        (-[WebBaseNetscapePluginView controller]):
29478        (-[WebBaseNetscapePluginView loadPluginRequest:]):
29479        * Plugins.subproj/WebNetscapePluginDocumentView.m:
29480        (-[WebNetscapePluginDocumentView setDataSource:]):
29481        * Plugins.subproj/WebNetscapePluginRepresentation.m:
29482        (-[WebNetscapePluginRepresentation isPluginViewStarted]):
29483        (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
29484        * Plugins.subproj/WebNullPluginView.m:
29485        (-[WebNullPluginView viewDidMoveToWindow]):
29486        * Plugins.subproj/WebPluginController.m:
29487        (-[WebPluginController showStatus:]):
29488        * WebCoreSupport.subproj/WebBridge.m:
29489        (-[WebBridge mainFrame]):
29490        (-[WebBridge createWindowWithURL:frameName:]):
29491        (-[WebBridge showWindow]):
29492        (-[WebBridge areToolbarsVisible]):
29493        (-[WebBridge setToolbarsVisible:]):
29494        (-[WebBridge areScrollbarsVisible]):
29495        (-[WebBridge setScrollbarsVisible:]):
29496        (-[WebBridge isStatusBarVisible]):
29497        (-[WebBridge setStatusBarVisible:]):
29498        (-[WebBridge setWindowFrame:]):
29499        (-[WebBridge window]):
29500        (-[WebBridge runJavaScriptAlertPanelWithMessage:]):
29501        (-[WebBridge runJavaScriptConfirmPanelWithMessage:]):
29502        (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
29503        (-[WebBridge runOpenPanelForFileButtonWithResultListener:]):
29504        (-[WebBridge setStatusText:]):
29505        (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
29506        (-[WebBridge setWebFrame:]):
29507        (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
29508        (-[WebBridge userAgentForURL:]):
29509        (-[WebBridge nextKeyViewOutsideWebFrameViews]):
29510        (-[WebBridge previousKeyViewOutsideWebFrameViews]):
29511        (-[WebBridge defersLoading]):
29512        (-[WebBridge setDefersLoading:]):
29513        (-[WebBridge setNeedsReapplyStyles]):
29514        (-[WebBridge setNeedsLayout]):
29515        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
29516        (-[WebBridge handleMouseDragged:]):
29517        (-[WebBridge mayStartDragWithMouseDragged:]):
29518        (-[WebBridge historyLength]):
29519        (-[WebBridge goBackOrForward:]):
29520        (formDelegate):
29521        * WebCoreSupport.subproj/WebSubresourceClient.m:
29522        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
29523        * WebKit.exp:
29524        * WebView.subproj/WebBaseResourceHandleDelegate.h:
29525        * WebView.subproj/WebBaseResourceHandleDelegate.m:
29526        (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
29527        (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
29528        (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
29529        (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
29530        (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
29531        (-[WebBaseResourceHandleDelegate cancelWithError:]):
29532        * WebView.subproj/WebContextMenuDelegate.h:
29533        * WebView.subproj/WebController.h:
29534        * WebView.subproj/WebController.m:
29535        (-[WebView _commonInitialization:frameName:groupName:]):
29536        (-[WebView initWithFrame:]):
29537        (-[WebView supportsTextEncoding]):
29538        (-[WebView userAgentForURL:]):
29539        * WebView.subproj/WebControllerPolicyDelegate.h:
29540        * WebView.subproj/WebControllerPrivate.h:
29541        * WebView.subproj/WebControllerPrivate.m:
29542        (-[WebViewPrivate _clearControllerReferences:]):
29543        (+[WebView canShowFile:]):
29544        (+[WebView suggestedFileExtensionForMIMEType:]):
29545        (-[WebView _createFrameNamed:inParent:allowsScrolling:]):
29546        (-[WebView _findFrameNamed:]):
29547        (-[WebView _openNewWindowWithRequest:]):
29548        (-[WebView _menuForElement:]):
29549        (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
29550        (-[WebView _frameForView:fromFrame:]):
29551        * WebView.subproj/WebControllerSets.h:
29552        * WebView.subproj/WebControllerSets.m:
29553        (+[WebControllerSets addController:toSetNamed:]):
29554        (+[WebControllerSets removeController:fromSetNamed:]):
29555        * WebView.subproj/WebDataSource.h:
29556        * WebView.subproj/WebDataSourcePrivate.h:
29557        * WebView.subproj/WebDataSourcePrivate.m:
29558        (-[WebDataSource _controller]):
29559        (-[WebDataSource _setController:]):
29560        (-[WebDataSource _startLoading:]):
29561        (-[WebDataSource _setTitle:]):
29562        (-[WebDataSource _setRequest:]):
29563        (-[WebDataSource _layoutChildren]):
29564        (+[WebDataSource _repTypes]):
29565        (-[WebDataSource _receivedData:]):
29566        (-[WebDataSource _updateIconDatabaseWithURL:]):
29567        * WebView.subproj/WebDefaultContextMenuDelegate.m:
29568        (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
29569        (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
29570        (-[WebDefaultContextMenuDelegate downloadURL:]):
29571        * WebView.subproj/WebDefaultLocationChangeDelegate.m:
29572        (-[WebDefaultLocationChangeDelegate webView:locationChangeStartedForDataSource:]):
29573        (-[WebDefaultLocationChangeDelegate webView:serverRedirectedForDataSource:]):
29574        (-[WebDefaultLocationChangeDelegate webView:locationChangeCommittedForDataSource:]):
29575        (-[WebDefaultLocationChangeDelegate webView:receivedPageTitle:forDataSource:]):
29576        (-[WebDefaultLocationChangeDelegate webView:receivedPageIcon:forDataSource:]):
29577        (-[WebDefaultLocationChangeDelegate webView:locationChangeDone:forDataSource:]):
29578        (-[WebDefaultLocationChangeDelegate webView:willCloseLocationForDataSource:]):
29579        (-[WebDefaultLocationChangeDelegate webView:locationChangedWithinPageForDataSource:]):
29580        (-[WebDefaultLocationChangeDelegate webView:clientWillRedirectTo:delay:fireDate:forFrame:]):
29581        (-[WebDefaultLocationChangeDelegate webView:clientRedirectCancelledForFrame:]):
29582        * WebView.subproj/WebDefaultPolicyDelegate.m:
29583        (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:inFrame:]):
29584        (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
29585        (-[WebDefaultPolicyDelegate webView:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
29586        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
29587        (-[WebDefaultResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]):
29588        (-[WebDefaultResourceLoadDelegate webView:resource:willSendRequest:fromDataSource:]):
29589        (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveResponse:fromDataSource:]):
29590        (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]):
29591        (-[WebDefaultResourceLoadDelegate webView:resource:didFinishLoadingFromDataSource:]):
29592        (-[WebDefaultResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]):
29593        (-[WebDefaultResourceLoadDelegate webView:pluginFailedWithError:dataSource:]):
29594        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
29595        (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptConfirmPanelWithMessage:]):
29596        (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]):
29597        (-[WebDefaultWindowOperationsDelegate webView:runOpenPanelForFileButtonWithResultListener:]):
29598        * WebView.subproj/WebFrame.h:
29599        * WebView.subproj/WebFrame.m:
29600        (-[WebFrame init]):
29601        (-[WebFrame initWithName:webFrameView:webView:]):
29602        (-[WebFrame frameView]):
29603        (-[WebFrame webView]):
29604        (-[WebFrame findFrameNamed:]):
29605        (+[WebFrame registerViewClass:representationClass:forMIMEType:]):
29606        * WebView.subproj/WebFramePrivate.h:
29607        * WebView.subproj/WebFramePrivate.m:
29608        (if):
29609        (switch):
29610        * WebView.subproj/WebHTMLView.h:
29611        * WebView.subproj/WebHTMLViewPrivate.h:
29612        * WebView.subproj/WebHTMLViewPrivate.m:
29613        (-[WebHTMLView _controller]):
29614        * WebView.subproj/WebImageView.m:
29615        (-[WebImageView controller]):
29616        (-[WebImageView menuForEvent:]):
29617        * WebView.subproj/WebLocationChangeDelegate.h:
29618        * WebView.subproj/WebMainResourceClient.m:
29619        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
29620        (-[WebMainResourceClient checkContentPolicyForResponse:]):
29621        * WebView.subproj/WebResourceLoadDelegate.h:
29622        * WebView.subproj/WebTextView.m:
29623        (-[WebTextView menuForEvent:]):
29624        * WebView.subproj/WebView.h:
29625        * WebView.subproj/WebView.m:
29626        (-[WebFrameView setAllowsScrolling:]):
29627        (-[WebFrameView allowsScrolling]):
29628        (-[WebFrameView scrollView]):
29629        (-[WebFrameView documentView]):
29630        (-[WebFrameView drawRect:]):
29631        (-[WebFrameView setFrameSize:]):
29632        * WebView.subproj/WebViewPrivate.h:
29633        * WebView.subproj/WebViewPrivate.m:
29634        (-[WebFrameView _controller]):
29635        (-[WebFrameView _setDocumentView:]):
29636        (-[WebFrameView _setController:]):
29637        (-[WebFrameView _contentView]):
29638        (-[WebFrameView _verticalKeyboardScrollAmount]):
29639        (-[WebFrameView _horizontalKeyboardScrollAmount]):
29640        (-[WebFrameView _scrollToBottomLeft]):
29641        (+[WebFrameView _viewTypes]):
29642        * WebView.subproj/WebWindowOperationsDelegate.h:
29643
296442003-03-18  Darin Adler  <darin@apple.com>
29645
29646        Reviewed by Richard.
29647
29648        - fixed 3187143 -- when a font-family has many variants, Safari chooses the wrong one
29649
29650        * WebCoreSupport.subproj/WebTextRendererFactory.m:
29651        (-[WebTextRendererFactory fontWithFamily:traits:size:]):
29652        Changed the algorithm here in two ways. 1) Pick the family member with matching traits that has
29653        a weight closest to 5, the standard weight; the old code picked the first family member with
29654        matching traits. 2) Match traits based on a mask of which traits are the important ones. The old
29655        code matched traits based on a rule of "if the trait bit is 1 it matters, otherwise don't care".
29656
296572003-03-18  Darin Adler  <darin@apple.com>
29658
29659        Reviewed by Richard.
29660
29661        - fixed 3194756 -- REGRESSION: Geneva bold yields Geneva plain, used to yield Helvetica bold (apple.com)
29662
29663        * WebCoreSupport.subproj/WebTextRendererFactory.m:
29664        (-[WebTextRendererFactory fontWithFamily:traits:size:]):
29665        Remove the first call to NSFontManager before we do our searching algorithm.
29666        We always need to do the searching, because NSFontManager uses a different set of rules.
29667
296682003-03-17  Chris Blumenberg  <cblu@apple.com>
29669
29670        Fixed: 3200647 - File I/O related download errors just says "error"
29671        Reviewed by darin.
29672
29673        * Downloads.subproj/WebDownload.m:
29674        (+[WebDownloadPrivate initialize]): call _registerWebKitErrors
29675        * English.lproj/Localizable.strings:
29676        * Misc.subproj/WebKitErrors.h: cleaned-up, removed unused errors
29677        * Misc.subproj/WebKitErrors.m:
29678        (+[WebError _registerWebKitErrors]):
29679        (registerErrors):
29680        * WebKit.pbproj/project.pbxproj:
29681        * WebView.subproj/WebView.m:
29682        (+[WebFrameView initialize]): call _registerWebKitErrors
29683
296842003-03-17  Darin Adler  <darin@apple.com>
29685
29686        Reviewed by Chris and Richard.
29687
29688        - fixed 3200611 -- Progress indicator in tabs not shown for subframe loads
29689
29690        * WebView.subproj/WebDataSource.m: (-[WebDataSource isLoading]):
29691        Remove the early out for when we're in the WebFrameStateComplete state.
29692        The top frame being complete does not really tell us anything about whether subframes
29693        are complete, especially since they can have their locations changed without affecting
29694        the top level frame at all.
29695
29696        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
29697
296982003-03-17  Chris Blumenberg  <cblu@apple.com>
29699
29700        Made data categories use the "_web_" prefix.
29701
29702        Reviewed by darin.
29703
29704        * Plugins.subproj/WebBaseNetscapePluginView.m:
29705        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
29706        (-[NSData _web_startsWithBlankLine]):
29707        (-[NSData _web_locationAfterFirstBlankLine]):
29708
297092003-03-17  Chris Blumenberg  <cblu@apple.com>
29710
29711        Fixed: 3199105 - Accept carbon-style file URLs from plug-in POST requests
29712        Fixed: 3148767 - POST (aka Flash Remoting) doesn't work from Flash
29713
29714        Reviewed by kocienda.
29715
29716        * Plugins.subproj/WebBaseNetscapePluginView.m:
29717        (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): parse headers, handle carbon POSIX paths
29718        (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): call _postURLNotify
29719        (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): call _postURLNotify
29720        (-[NSData startsWithBlankLine]): new
29721        (-[NSData locationAfterFirstBlankLine]): new
29722
297232003-03-17  Maciej Stachowiak  <mjs@apple.com>
29724
29725        Reviewed by Darin.
29726
29727        - fixed 3200259 - REGRESSION: Clicking on Flash links at homestarrunner.com creates blank windows
29728
29729        * Plugins.subproj/WebBaseNetscapePluginView.m:
29730        (-[WebBaseNetscapePluginView loadPluginRequest:]): Don't always
29731        make the window, only do it if the frame doesn't already
29732        exist. Duh.
29733
297342003-03-17  Darin Adler  <darin@apple.com>
29735
29736        Reviewed by Trey and Maciej.
29737
29738        - fixed 3199154 -- REGRESSION: world leaks on any page load test
29739
29740        * WebView.subproj/WebController.m: (-[WebController initWithView:frameName:groupName:]):
29741        Call through to initWithFrame, the designated initializer, not init. Calling [super init] results
29742        in calling our initWithFrame method, resulting in two calls to the _commonInitialization method.
29743
297442003-03-17  Maciej Stachowiak  <mjs@apple.com>
29745
29746        Reviewed by Trey.
29747
29748        Adjusted for WebFoundation API changes.
29749        * Panels.subproj/WebAuthenticationPanel.m:
29750        (-[WebAuthenticationPanel setUpForRequest:]):
29751
297522003-03-17  Darin Adler  <darin@apple.com>
29753
29754        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
29755
297562003-03-17  Chris Blumenberg  <cblu@apple.com>
29757
29758        Fixed: 3199951 - Standalone plug-in content that is cancelled doesn't restart when switching tabs
29759
29760        Instead of creating and managing resourceData in WebMainResourceClient then passing the ownership to WebDataSource, just manage it in WebDataSource. We had the prior behavior because we didn't buffer downloads. Now, we always buffer. The fix for the bug 
29761
29762
29763
29764
29765
29766
29767is to retain the incomplete data even though the load ends in error.
29768
29769        Reviewed by darin.
29770
29771        * WebView.subproj/WebDataSource.h: updated headerdoc for the data method
29772        * WebView.subproj/WebDataSource.m:
29773        (-[WebDataSource data]): just return resourceData
29774        * WebView.subproj/WebDataSourcePrivate.h:
29775        * WebView.subproj/WebDataSourcePrivate.m:
29776        (-[WebDataSource _receivedData:]): create resourceData if necessary, append data to it.
29777        * WebView.subproj/WebMainResourceClient.h:
29778        * WebView.subproj/WebMainResourceClient.m:
29779        (-[WebMainResourceClient initWithDataSource:]): don't work with resourceData
29780        (-[WebMainResourceClient dealloc]): don't work with resourceData
29781        (-[WebMainResourceClient resource:didReceiveData:]): don't work with resourceData
29782        (-[WebMainResourceClient resourceDidFinishLoading:]): don't work with resourceData
29783
297842003-03-16  Trey Matteson  <trey@apple.com>
29785
29786        3198135 - need to fix our projects so SYMROOT is not stripped
29787
29788        Tweaked stripping options:  B&I build does not COPY_PHASE_STRIP.
29789        Deployment build still does.
29790        We strip manually as part of the install that we do ourselves.
29791
29792        Reviewed by Maciej.
29793
29794        * WebKit.pbproj/project.pbxproj:
29795
297962003-03-14  Chris Blumenberg  <cblu@apple.com>
29797
29798        Backed out changes to WebBaseNetscapePluginView. Unintentional commit.
29799
29800        * Plugins.subproj/WebBaseNetscapePluginView.m:
29801        (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]):
29802        (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]):
29803
298042003-03-14  Chris Blumenberg  <cblu@apple.com>
29805
29806        Fixed: 3198961 - REGRESSION: Stopping load of plug-in content is not reflected in UI
29807
29808        Reviewed by mjs.
29809
29810        * WebView.subproj/WebMainResourceClient.m:
29811        (-[WebMainResourceClient cancelWithError:]): call receivedError so [dataSource _receivedError:error complete:YES] is called
29812
298132003-03-14  Maciej Stachowiak  <mjs@apple.com>
29814
29815        Reviewed by Don.
29816
29817        - revert premature controller --> webView renaming, it's causing
29818        problems with window opening and such.
29819        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
29820
298212003-03-14  Chris Blumenberg  <cblu@apple.com>
29822
29823        Fixed: 3197872 - Standalone plug-in content isn't restarted when switching tabs
29824        Fixed: 3189675 - assertion in plug-in code fails (nil window) with .swf page displaying standalone in a tab
29825
29826        We start plug-ins when they are added to the window and stop them when they are removed. To restart a plug-in, the data stream must be redelivered. This works in the embedded plug-in case, but in the standalone plug-in case, the stream is delivered by th
29827
29828
29829
29830
29831
29832
29833e machinery in WebKit. The stream is only delivered once. This fix addresses that.
29834
29835        Reviewed by trey.
29836
29837        * Plugins.subproj/WebBaseNetscapePluginStream.m:
29838        (-[WebBaseNetscapePluginStream setResponse:]): reset the offset ivar
29839        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): If we create a file for the plug-in, handle the case where the file is already created.
29840        * Plugins.subproj/WebBaseNetscapePluginView.h:
29841        * Plugins.subproj/WebBaseNetscapePluginView.m:
29842        (-[WebBaseNetscapePluginView isStarted]): added so the stream knows the state of the view
29843        * Plugins.subproj/WebNetscapePluginDocumentView.m:
29844        (-[WebNetscapePluginDocumentView initWithFrame:]): tweak
29845        (-[WebNetscapePluginDocumentView viewDidMoveToWindow]): call redeliverStream if we are added back to the window
29846        (-[WebNetscapePluginDocumentView setDataSource:]): only start the plug-in if we are in a window, don't assert
29847        * Plugins.subproj/WebNetscapePluginRepresentation.h:
29848        * Plugins.subproj/WebNetscapePluginRepresentation.m:
29849        (-[WebNetscapePluginRepresentation dealloc]): release the retained data source and error
29850        (-[WebNetscapePluginRepresentation setDataSource:]): retain the data source
29851        (-[WebNetscapePluginRepresentation isPluginViewStarted]): new 
29852        (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): only do work if isPluginViewStarted
29853        (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): retain the error, only do work if isPluginViewStarted
29854        (-[WebNetscapePluginRepresentation finishedLoadingWithDataSource:]): only do work if isPluginViewStarted
29855        (-[WebNetscapePluginRepresentation redeliverStream]): call receivedData:: with all the received data up to this point. Call receivedError:: or finishedLoadingWithDataSource: if the load is already complete.
29856
298572003-03-13  Maciej Stachowiak  <mjs@apple.com>
29858
29859        Reviewed by Trey.
29860
29861        - fixed 3188209 - REGRESSION: onmouseup handlers not running for most form elements
29862
29863        * WebCoreSupport.subproj/WebFileButton.m:
29864        (-[WebFileButton chooseButtonPressed:]): Send appropriate NSNotification. 
29865        * WebView.subproj/WebHTMLViewPrivate.m:
29866        (-[WebNSTextView mouseDown:]): Call fieldEditorDidMouseDown: on
29867        delegate, if implemented, after calling super.
29868
298692003-03-13  Richard Williamson   <rjw@apple.com>
29870
29871        First stage of the WebController -> WebView, WebView -> WebFrameView.
29872        This change does the WebView -> WebFrameView part of the change.  Also
29873        changes WebController's inheritance.  It now inherits from NSView.  Also
29874        added some simple action methods to WebController (soon to be WebView)
29875        to facilitate IB hookup.
29876        
29877        Reviewed by Maciej.
29878
29879        * Carbon.subproj/CarbonWindowAdapter.m:
29880        * Carbon.subproj/HIWebView.h:
29881        * Carbon.subproj/HIWebView.m:
29882        (if):
29883        (switch):
29884        * Carbon.subproj/HIWebViewPriv.h:
29885        * Misc.subproj/WebKitStatistics.m:
29886        (+[WebKitStatistics viewCount]):
29887        * Misc.subproj/WebKitStatisticsPrivate.h:
29888        * Misc.subproj/WebNSViewExtras.h:
29889        * Misc.subproj/WebNSViewExtras.m:
29890        (-[NSView _web_parentWebFrameView]):
29891        * Panels.subproj/WebStandardPanels.m:
29892        (-[WebStandardPanels frontmostWindowLoadingURL:]):
29893        * Plugins.subproj/WebNetscapePluginDocumentView.m:
29894        (-[WebNetscapePluginDocumentView layout]):
29895        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
29896        (-[WebNetscapePluginEmbeddedView dataSource]):
29897        * Plugins.subproj/WebNetscapePluginRepresentation.m:
29898        (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
29899        * Plugins.subproj/WebNullPluginView.m:
29900        (-[WebNullPluginView viewDidMoveToWindow]):
29901        * Plugins.subproj/WebPluginDatabase.m:
29902        (-[WebPluginDatabase init]):
29903        * WebCoreSupport.subproj/WebBridge.m:
29904        (-[WebBridge areScrollbarsVisible]):
29905        (-[WebBridge setScrollbarsVisible:]):
29906        (-[WebBridge window]):
29907        (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
29908        (-[WebBridge nextKeyViewOutsideWebFrameViews]):
29909        (-[WebBridge previousKeyViewOutsideWebFrameViews]):
29910        (-[WebBridge setNeedsReapplyStyles]):
29911        (-[WebBridge setNeedsLayout]):
29912        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
29913        (-[WebBridge frameRequiredForMIMEType:]):
29914        (-[WebBridge handleMouseDragged:]):
29915        (-[WebBridge mayStartDragWithMouseDragged:]):
29916        * WebKit.exp:
29917        * WebKit.pbproj/project.pbxproj:
29918        * WebView.subproj/WebController.h:
29919        * WebView.subproj/WebController.m:
29920        (+[WebContentTypes canShowMIMEType:]):
29921        (-[WebController _commonInitialization:frameName:groupName:]):
29922        (-[WebController init]):
29923        (-[WebController initWithFrame:]):
29924        (-[WebController initWithView:]):
29925        (-[WebController supportsTextEncoding]):
29926        (-[WebController takeStringURLFrom:]):
29927        (-[WebController goBack:]):
29928        (-[WebController goForward:]):
29929        (-[WebController stopLoading:]):
29930        * WebView.subproj/WebControllerPrivate.h:
29931        * WebView.subproj/WebControllerPrivate.m:
29932        (-[WebControllerPrivate _clearControllerReferences:]):
29933        (-[WebController _createFrameNamed:inParent:allowsScrolling:]):
29934        (-[WebController _frameForView:fromFrame:]):
29935        (-[WebController _frameForView:]):
29936        * WebView.subproj/WebDataSource.m:
29937        * WebView.subproj/WebDataSourcePrivate.m:
29938        (-[WebDataSource _layoutChildren]):
29939        (-[WebDataSource _receivedData:]):
29940        * WebView.subproj/WebDebugDOMNode.h:
29941        * WebView.subproj/WebDebugDOMNode.m:
29942        (-[WebDebugDOMNode initWithWebFrameView:]):
29943        * WebView.subproj/WebDefaultContextMenuDelegate.m:
29944        (-[WebDefaultContextMenuDelegate controller:contextMenuItemsForElement:defaultMenuItems:]):
29945        * WebView.subproj/WebDefaultLocationChangeDelegate.m:
29946        (-[WebDefaultLocationChangeDelegate controller:locationChangeStartedForDataSource:]):
29947        (-[WebDefaultLocationChangeDelegate controller:serverRedirectedForDataSource:]):
29948        (-[WebDefaultLocationChangeDelegate controller:locationChangeCommittedForDataSource:]):
29949        (-[WebDefaultLocationChangeDelegate controller:receivedPageTitle:forDataSource:]):
29950        (-[WebDefaultLocationChangeDelegate controller:receivedPageIcon:forDataSource:]):
29951        (-[WebDefaultLocationChangeDelegate controller:locationChangeDone:forDataSource:]):
29952        (-[WebDefaultLocationChangeDelegate controller:willCloseLocationForDataSource:]):
29953        (-[WebDefaultLocationChangeDelegate controller:locationChangedWithinPageForDataSource:]):
29954        (-[WebDefaultLocationChangeDelegate controller:clientWillRedirectTo:delay:fireDate:forFrame:]):
29955        (-[WebDefaultLocationChangeDelegate controller:clientRedirectCancelledForFrame:]):
29956        * WebView.subproj/WebDefaultPolicyDelegate.m:
29957        (-[WebDefaultPolicyDelegate controller:unableToImplementPolicyWithError:inFrame:]):
29958        (-[WebDefaultPolicyDelegate controller:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
29959        (-[WebDefaultPolicyDelegate controller:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
29960        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
29961        (-[WebDefaultResourceLoadDelegate controller:identifierForInitialRequest:fromDataSource:]):
29962        (-[WebDefaultResourceLoadDelegate controller:resource:willSendRequest:fromDataSource:]):
29963        (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveResponse:fromDataSource:]):
29964        (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveContentLength:fromDataSource:]):
29965        (-[WebDefaultResourceLoadDelegate controller:resource:didFinishLoadingFromDataSource:]):
29966        (-[WebDefaultResourceLoadDelegate controller:resource:didFailLoadingWithError:fromDataSource:]):
29967        (-[WebDefaultResourceLoadDelegate controller:pluginFailedWithError:dataSource:]):
29968        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
29969        (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptConfirmPanelWithMessage:]):
29970        (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptTextInputPanelWithPrompt:defaultText:]):
29971        (-[WebDefaultWindowOperationsDelegate controller:runOpenPanelForFileButtonWithResultListener:]):
29972        * WebView.subproj/WebDocument.h:
29973        * WebView.subproj/WebDynamicScrollBarsView.m:
29974        * WebView.subproj/WebFrame.h:
29975        * WebView.subproj/WebFrame.m:
29976        (-[WebFrame init]):
29977        (-[WebFrame initWithName:webFrameView:controller:]):
29978        (-[WebFrame view]):
29979        (+[WebFrame registerViewClass:representationClass:forMIMEType:]):
29980        * WebView.subproj/WebFramePrivate.h:
29981        * WebView.subproj/WebFramePrivate.m:
29982        (if):
29983        (switch):
29984        * WebView.subproj/WebHTMLView.h:
29985        * WebView.subproj/WebHTMLView.m:
29986        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
29987        (-[WebHTMLView draggedImage:endedAt:operation:]):
29988        (-[WebHTMLView becomeFirstResponder]):
29989        * WebView.subproj/WebHTMLViewPrivate.m:
29990        (-[WebHTMLView _controller]):
29991        (-[WebHTMLView _frame]):
29992        (-[WebHTMLView _elementAtPoint:]):
29993        * WebView.subproj/WebImageView.m:
29994        (-[WebImageView controller]):
29995        (-[WebImageView menuForEvent:]):
29996        (-[WebImageView mouseDragged:]):
29997        (-[WebImageView draggedImage:endedAt:operation:]):
29998        * WebView.subproj/WebLocationChangeDelegate.h:
29999        * WebView.subproj/WebRenderNode.h:
30000        * WebView.subproj/WebRenderNode.m:
30001        (-[WebRenderNode initWithName:position:rect:view:children:]):
30002        (-[WebRenderNode initWithWebFrameView:]):
30003        * WebView.subproj/WebResourceLoadDelegate.h:
30004        * WebView.subproj/WebTextView.m:
30005        (-[WebTextView menuForEvent:]):
30006        * WebView.subproj/WebView.h:
30007        * WebView.subproj/WebView.m:
30008        (-[WebFrameView initWithFrame:]):
30009        (-[WebFrameView dealloc]):
30010        * WebView.subproj/WebViewPrivate.h:
30011        * WebView.subproj/WebViewPrivate.m:
30012        * WebView.subproj/WebWindowOperationsDelegate.h:
30013
300142003-03-13  John Sullivan  <sullivan@apple.com>
30015
30016        Reviewed by Trey.
30017
30018        * English.lproj/StringsNotToBeLocalized.txt:
30019        Removed all the bookmarks-related strings that I forgot
30020        to remove in my previous checkin.
30021
300222003-03-13  John Sullivan  <sullivan@apple.com>
30023
30024        Removed all the bookmarks code from WebKit; put it
30025        in WebBrowser instead.
30026
30027        Reviewed by Darin
30028
30029        * Bookmarks.subproj/WebBookmark.h: Removed.
30030        * Bookmarks.subproj/WebBookmark.m: Removed.
30031        * Bookmarks.subproj/WebBookmarkGroup.h: Removed.
30032        * Bookmarks.subproj/WebBookmarkGroup.m: Removed.
30033        * Bookmarks.subproj/WebBookmarkGroupPrivate.h: Removed.
30034        * Bookmarks.subproj/WebBookmarkImporter.h: Removed.
30035        * Bookmarks.subproj/WebBookmarkImporter.m: Removed.
30036        * Bookmarks.subproj/WebBookmarkLeaf.h: Removed.
30037        * Bookmarks.subproj/WebBookmarkLeaf.m: Removed.
30038        * Bookmarks.subproj/WebBookmarkList.h: Removed.
30039        * Bookmarks.subproj/WebBookmarkList.m: Removed.
30040        * Bookmarks.subproj/WebBookmarkPrivate.h: Removed.
30041        * Bookmarks.subproj/WebBookmarkProxy.h: Removed.
30042        * Bookmarks.subproj/WebBookmarkProxy.m: Removed.
30043        * WebKit.exp:
30044        removed all bookmark-related symbols
30045        * WebKit.pbproj/project.pbxproj:
30046        updated for removed files
30047
30048=== Safari-67 ===
30049
300502003-03-12  Chris Blumenberg  <cblu@apple.com>
30051
30052        3196673 - REGRESSION: Assertion failure when download fails to create file
30053        - Retain the download delegate because it will live longer than the WebController which it is an instance of.
30054
30055        Reviewed by rjw.
30056
30057        * Downloads.subproj/WebDownload.m:
30058        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): call _downloadStarted
30059        (-[WebDownload loadWithDelegate:]): call _downloadStarted
30060        (-[WebDownload _downloadStarted]): renamed from _loadStarted
30061        (-[WebDownload _downloadEnded]): release delegate
30062        (-[WebDownload resource:willSendRequest:]): reordered so if we are released in this method, we never call self
30063        (-[WebDownload resourceDidFinishLoading:]): don't call _loadEnded because _downloadEnded gets called in _didCloseFile and _cancelWithError
30064        (-[WebDownload resource:didFailLoadingWithError:]):  don't call _loadEnded because _downloadEnded gets called in _didCloseFile and _cancelWithError
30065        (-[WebDownload _didCloseFile:]): call _downloadEnded
30066        (-[WebDownload _cancelWithError:]): call _downloadEnded
30067        * WebView.subproj/WebController.h: mention that the download delegate gets retained.
30068
300692003-03-12  Darin Adler  <darin@apple.com>
30070
30071        Reviewed by John.
30072
30073        - fixed 3193552 -- REGRESSION: crash loading ftp directory URL
30074        - fixed minor problems with setDefersCallbacks handling and object lifetime
30075
30076        * WebView.subproj/WebBaseResourceHandleDelegate.h: Removed now-unused cancelQuietly.
30077        * WebView.subproj/WebBaseResourceHandleDelegate.m:
30078        (-[WebBaseResourceHandleDelegate cancel]): Changed cancel to tolerate being called
30079        when we have already cancelled. It's an error to call cancelWithError once we
30080        have cancelled.
30081        
30082        * WebView.subproj/WebMainResourceClient.m:
30083        (-[WebMainResourceClient interruptForPolicyChangeError]): Added. New function to
30084        create the WebError object for policy change.
30085        (-[WebMainResourceClient stopLoadingForPolicyChange]): Changed to just be a call
30086        to cancelWithError:.
30087        (-[WebMainResourceClient resource:willSendRequest:]): Call setDefersCallbacks:YES
30088        here; continueAfterNavigationPolicy already takes care of setDefersCallbacks:NO,
30089        but we lost this one somewhere along the way.
30090        (-[WebMainResourceClient continueAfterContentPolicy:response:]): Changed to call
30091        receivedError: on interruptForPolicyChangeError directly. It wasn't clearer to call
30092        a method named interruptForPolicyChange.
30093        (-[WebMainResourceClient resource:didReceiveResponse:]): Don't bother calling
30094        setDefersCallbacks:YES here any more; checkContentPolicyForResponse: takes care
30095        of that so there's no need to do it here. Initialize _contentLength before calling
30096        checkContentPolicyForResponse:, since that method can result in deallocating self.
30097
300982003-03-12  John Sullivan  <sullivan@apple.com>
30099
30100        Reviewed by Trey
30101
30102        * English.lproj/StringsNotToBeLocalized.txt:
30103        updated for recent changes
30104
301052003-03-11  Chris Blumenberg  <cblu@apple.com>
30106
30107        Fixed deployment build failure.
30108
30109        * WebView.subproj/WebFramePrivate.m:
30110
301112003-03-11  Richard Williamson   <rjw@apple.com>
30112
30113        Added controller: parameter to all WebControllers delegates.
30114        
30115        Reviewed by chris.
30116
30117        * Plugins.subproj/WebBaseNetscapePluginView.m:
30118        (-[WebBaseNetscapePluginView loadPluginRequest:]):
30119        * Plugins.subproj/WebNetscapePluginDocumentView.m:
30120        (-[WebNetscapePluginDocumentView setDataSource:]):
30121        * Plugins.subproj/WebNullPluginView.m:
30122        (-[WebNullPluginView viewDidMoveToWindow]):
30123        * Plugins.subproj/WebPluginController.m:
30124        (-[WebPluginController showStatus:]):
30125        * WebCoreSupport.subproj/WebBridge.m:
30126        (-[WebBridge createWindowWithURL:frameName:]):
30127        (-[WebBridge showWindow]):
30128        (-[WebBridge areToolbarsVisible]):
30129        (-[WebBridge setToolbarsVisible:]):
30130        (-[WebBridge isStatusBarVisible]):
30131        (-[WebBridge setStatusBarVisible:]):
30132        (-[WebBridge setWindowFrame:]):
30133        (-[WebBridge runJavaScriptAlertPanelWithMessage:]):
30134        (-[WebBridge runJavaScriptConfirmPanelWithMessage:]):
30135        (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
30136        (-[WebBridge runOpenPanelForFileButtonWithResultListener:]):
30137        (-[WebBridge setStatusText:]):
30138        (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
30139        * WebCoreSupport.subproj/WebSubresourceClient.m:
30140        * WebView.subproj/WebBaseResourceHandleDelegate.m:
30141        (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
30142        (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
30143        (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
30144        (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
30145        (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
30146        (-[WebBaseResourceHandleDelegate cancelWithError:]):
30147        * WebView.subproj/WebContextMenuDelegate.h:
30148        * WebView.subproj/WebControllerPolicyDelegate.h:
30149        * WebView.subproj/WebControllerPrivate.m:
30150        (-[WebController _openNewWindowWithRequest:]):
30151        (-[WebController _menuForElement:]):
30152        (-[WebController _mouseDidMoveOverElement:modifierFlags:]):
30153        * WebView.subproj/WebDataSourcePrivate.m:
30154        (-[WebDataSource _startLoading:]):
30155        (-[WebDataSource _setTitle:]):
30156        (-[WebDataSource _setRequest:]):
30157        (-[WebDataSource _updateIconDatabaseWithURL:]):
30158        * WebView.subproj/WebDefaultContextMenuDelegate.m:
30159        (-[WebDefaultContextMenuDelegate controller:contextMenuItemsForElement:defaultMenuItems:]):
30160        * WebView.subproj/WebDefaultLocationChangeDelegate.m:
30161        (-[WebDefaultLocationChangeDelegate controller:locationChangeStartedForDataSource:]):
30162        (-[WebDefaultLocationChangeDelegate controller:serverRedirectedForDataSource:]):
30163        (-[WebDefaultLocationChangeDelegate controller:locationChangeCommittedForDataSource:]):
30164        (-[WebDefaultLocationChangeDelegate controller:receivedPageTitle:forDataSource:]):
30165        (-[WebDefaultLocationChangeDelegate controller:receivedPageIcon:forDataSource:]):
30166        (-[WebDefaultLocationChangeDelegate controller:locationChangeDone:forDataSource:]):
30167        (-[WebDefaultLocationChangeDelegate controller:willCloseLocationForDataSource:]):
30168        (-[WebDefaultLocationChangeDelegate controller:locationChangedWithinPageForDataSource:]):
30169        (-[WebDefaultLocationChangeDelegate controller:clientWillRedirectTo:delay:fireDate:forFrame:]):
30170        (-[WebDefaultLocationChangeDelegate controller:clientRedirectCancelledForFrame:]):
30171        * WebView.subproj/WebDefaultPolicyDelegate.m:
30172        (-[WebDefaultPolicyDelegate controller:unableToImplementPolicy:error:forURL:inFrame:]):
30173        (-[WebDefaultPolicyDelegate controller:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
30174        (-[WebDefaultPolicyDelegate controller:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
30175        * WebView.subproj/WebDefaultResourceLoadDelegate.m:
30176        (-[WebDefaultResourceLoadDelegate controller:identifierForInitialRequest:fromDataSource:]):
30177        (-[WebDefaultResourceLoadDelegate controller:resource:willSendRequest:fromDataSource:]):
30178        (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveResponse:fromDataSource:]):
30179        (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveContentLength:fromDataSource:]):
30180        (-[WebDefaultResourceLoadDelegate controller:resource:didFinishLoadingFromDataSource:]):
30181        (-[WebDefaultResourceLoadDelegate controller:resource:didFailLoadingWithError:fromDataSource:]):
30182        (-[WebDefaultResourceLoadDelegate controller:pluginFailedWithError:dataSource:]):
30183        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
30184        (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptConfirmPanelWithMessage:]):
30185        (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptTextInputPanelWithPrompt:defaultText:]):
30186        (-[WebDefaultWindowOperationsDelegate controller:runOpenPanelForFileButtonWithResultListener:]):
30187        * WebView.subproj/WebFramePrivate.m:
30188        (if):
30189        (switch):
30190        * WebView.subproj/WebLocationChangeDelegate.h:
30191        * WebView.subproj/WebMainResourceClient.m:
30192        (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]):
30193        * WebView.subproj/WebResourceLoadDelegate.h:
30194        * WebView.subproj/WebWindowOperationsDelegate.h:
30195
301962003-03-11  Maciej Stachowiak  <mjs@apple.com>
30197
30198        Reviewed by Richard.
30199
30200        Final policy API changes:
30201
30202        - changed WebPolicyDecisionListener to protocol in public API
30203        - replaced policy enum with separate methods
30204        - made content policy handling async
30205        * WebKit.pbproj/project.pbxproj:
30206        * WebView.subproj/WebControllerPolicyDelegate.h:
30207        * WebView.subproj/WebControllerPolicyDelegate.m:
30208        (-[WebPolicyDecisionListener _usePolicy:]):
30209        (-[WebPolicyDecisionListener use]):
30210        (-[WebPolicyDecisionListener ignore]):
30211        (-[WebPolicyDecisionListener download]):
30212        * WebView.subproj/WebControllerPolicyDelegatePrivate.h:
30213        * WebView.subproj/WebDefaultPolicyDelegate.m:
30214        (-[WebDefaultPolicyDelegate unableToImplementPolicyWithError:inFrame:]):
30215        (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
30216        (-[WebDefaultPolicyDelegate decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
30217        * WebView.subproj/WebFramePrivate.h:
30218        * WebView.subproj/WebFramePrivate.m:
30219        (switch):
30220        * WebView.subproj/WebMainResourceClient.h:
30221        * WebView.subproj/WebMainResourceClient.m:
30222        (-[WebMainResourceClient cancelContentPolicy]):
30223        (-[WebMainResourceClient cancel]):
30224        (-[WebMainResourceClient cancelQuietly]):
30225        (-[WebMainResourceClient cancelWithError:]):
30226        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
30227        (-[WebMainResourceClient continueAfterContentPolicy:]):
30228        (-[WebMainResourceClient checkContentPolicyForResponse:]):
30229        (-[WebMainResourceClient resource:didReceiveResponse:]):
30230
302312003-03-11  Darin Adler  <darin@apple.com>
30232
30233        Reviewed by John.
30234
30235        - fixed mistake in that last check-in that made Safari assert on startup with Chris's bookmarks bar
30236
30237        * Misc.subproj/WebStringTruncator.m: (centerTruncateToBuffer):
30238        Fix logic here to not use an uninitialized variable.
30239
302402003-03-11  Darin Adler  <darin@apple.com>
30241
30242        Reviewed by John.
30243
30244        - fixed 3193213 -- assert truncatedLength+1 < STRING_BUFFER_SIZE creating tab label for firstyearibs.com
30245        - fixed 3194935 -- WebStringTruncator rightTruncateString: will break between composed characters
30246        - fixed right truncator to use interpolation algorithm rather than linear search
30247
30248        * Misc.subproj/WebStringTruncator.m:
30249        (centerTruncateToBuffer): Changed from a class method to a plain function, and tweaked the code a bit.
30250        (rightTruncateToBuffer): Added. Like centerTruncateToBuffer, but does it on the right end instead.
30251        (stringWidth): Added. Helper function that calls the TextRenderer method with the right parameters.
30252        (truncateString): Moved all the code from centerTruncateString here, adding one new parameter, the
30253        truncate to buffer function.
30254        (+[WebStringTruncator centerTruncateString:toWidth:]): Call truncateString with the appropriate parameters.
30255        (+[WebStringTruncator centerTruncateString:toWidth:withFont:]): Ditto.
30256        (+[WebStringTruncator rightTruncateString:toWidth:withFont:]): Ditto.
30257
30258=== Safari-66 ===
30259
302602003-03-10  Maciej Stachowiak  <mjs@apple.com>
30261
30262        Reviewed by Dave.
30263
30264        - fixed 3194221 - REGRESSION: search results loaded in wrong frame at directory.apple.com
30265
30266        * WebView.subproj/WebFramePrivate.m:
30267        (_postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:):
30268        Deliver targetted form posts correctly.
302692003-03-10  Darin Adler  <darin@apple.com>
30270
30271        Reviewed by Maciej.
30272
30273        - fixed 3010915 -- mouse wheel won't scroll the main document when you are over [i]frame
30274
30275        * WebView.subproj/WebDynamicScrollBarsView.h: Made WebDynamicScrollBarsView a subclass of
30276        WebCoreScrollView instead of NSScrollView.
30277        
30278        - other changes
30279        
30280        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:):
30281        Fix problem where you would not get any information if the click was on a subview of the
30282        WebHTMLView, like a form control.
30283
302842003-03-10  Chris Blumenberg  <cblu@apple.com>
30285
30286        Fixed some download-related leaks. Primarily, we were leaking the data source that started the download. The data source is now immediately released when it becomes a download.
30287
30288        Reviewed by darin.
30289
30290        * Downloads.subproj/WebDownload.m:
30291        (-[WebDownloadPrivate dealloc]): release the WebResourceDelegateProxy
30292        (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): renamed, don't pass a datasource so WebDownload is completely disconnected from the that. Pass the proxy so it transfers ownership from WebMainResourceClient and it doesn'
30293
30294
30295
30296
30297
30298
30299t leak when we cancel a download.
30300        (-[WebDownload _setRequest:]): added
30301        (-[WebDownload _setResponse:]): added
30302        (-[WebDownload resource:willSendRequest:]): call _setRequest
30303        (-[WebDownload resource:didReceiveResponse:]): call _setResponse
30304        * Downloads.subproj/WebDownloadPrivate.h:
30305        * WebView.subproj/WebBaseResourceHandleDelegate.h:
30306        * WebView.subproj/WebBaseResourceHandleDelegate.m: removed notifyDelegatesOfInterruptionByPolicyChange, no longer called
30307        * WebView.subproj/WebMainResourceClient.h: made WebResourceDelegateProxy available to other classes
30308        * WebView.subproj/WebMainResourceClient.m:
30309        (-[WebMainResourceClient receivedError:]): moved most error handling code here
30310        (-[WebMainResourceClient cancel]): stop load, call receivedError
30311        (-[WebMainResourceClient interruptForPolicyChange]): renamed, call receivedError with the policy interrupt error
30312        (-[WebMainResourceClient stopLoadingForPolicyChange]): call interruptForPolicyChange
30313        (-[WebMainResourceClient continueAfterContentPolicy:response:]): for WebPolicySave, create the download, call interruptForPolicyChange and return so the response isn't set on the superclass.
30314        (-[WebMainResourceClient resource:didFailLoadingWithError:]): call receivedError
30315        (-[WebResourceDelegateProxy setDelegate:]): don't retain the delegate
30316        (-[WebResourceDelegateProxy resourceDidFinishLoading:]): don't release the delegate
30317        (-[WebResourceDelegateProxy resource:didFailLoadingWithError:]): don't release the delegate
30318
303192003-03-07  Maciej Stachowiak  <mjs@apple.com>
30320
30321        Reviewed by Richard.
30322
30323        - fixed 3127705 - don't open new window on opt-click even if the link requests it
30324        - fixed 3143971 - cmd-click should override the target="_blank" and target="_new" (important for tabs)
30325
30326        - removed open new window and open new window behind policies
30327        - removed [WebFrame findOrCreateFrameNamed:] from API
30328        - remved showWindowBehind from window operations delegate
30329        - added decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener: delegate method
30330        * Plugins.subproj/WebBaseNetscapePluginView.m:
30331        (-[WebBaseNetscapePluginView loadPluginRequest:]):
30332        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
30333        (-[WebPluginRequest initWithRequest:frameName:notifyData:]):
30334        (-[WebPluginRequest dealloc]):
30335        (-[WebPluginRequest frameName]):
30336        * Plugins.subproj/WebPluginController.m:
30337        (-[WebPluginController showURL:inFrame:]):
30338        * WebCoreSupport.subproj/WebBridge.m:
30339        (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]):
30340        (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
30341        * WebView.subproj/WebControllerPolicyDelegate.h:
30342        * WebView.subproj/WebControllerPrivate.h:
30343        * WebView.subproj/WebControllerPrivate.m:
30344        (-[WebController _openNewWindowWithRequest:]):
30345        * WebView.subproj/WebDefaultContextMenuDelegate.m:
30346        (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
30347        * WebView.subproj/WebDefaultPolicyDelegate.m:
30348        (-[WebDefaultPolicyDelegate decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
30349        * WebView.subproj/WebFrame.h:
30350        * WebView.subproj/WebFrame.m:
30351        * WebView.subproj/WebFramePrivate.h:
30352        * WebView.subproj/WebFramePrivate.m:
30353        (-[NSObject performSelector:withObject:withObject:withObject:]):
30354        * WebView.subproj/WebWindowOperationsDelegate.h:
30355
303562003-03-07  Chris Blumenberg  <cblu@apple.com>
30357
30358        Updated header doc comments.
30359
30360        * Downloads.subproj/WebDownload.h:
30361
303622003-03-07  Richard Williamson   <rjw@apple.com>
30363
30364        Drop mainDocumentError from WebDataSource.
30365        Combine registerView: and registerRepresentation: into one method on WebFrame.
30366        
30367        Reviewed by trey.
30368
30369        * Plugins.subproj/WebPluginDatabase.m:
30370        (-[WebPluginDatabase init]):
30371        * WebView.subproj/WebDataSource.h:
30372        * WebView.subproj/WebDataSource.m:
30373        * WebView.subproj/WebDataSourcePrivate.h:
30374        * WebView.subproj/WebDataSourcePrivate.m:
30375        (-[WebDataSource _mainDocumentError]):
30376        * WebView.subproj/WebFrame.h:
30377        * WebView.subproj/WebFrame.m:
30378        (+[WebFrame registerViewClass:representationClass:forMIMEType:]):
30379        * WebView.subproj/WebFramePrivate.m:
30380        (switch):
30381        * WebView.subproj/WebView.h:
30382        * WebView.subproj/WebView.m:
30383
303842003-03-07  John Sullivan  <sullivan@apple.com>
30385
30386        WebKit part of fixes to these two synching-related bugs:
30387
30388        3190844 -- Bookmarks Bar and Menu collections need to be
30389        marked specially in Bookmarks file
30390
30391        3192197 -- Safari should write out UUID-full Bookmarks 
30392        file after reading UUID-free one
30393
30394        Reviewed by Trey
30395
30396        * Bookmarks.subproj/WebBookmark.h:
30397        * Bookmarks.subproj/WebBookmark.m:
30398        (-[WebBookmark setUUID:]):
30399        Removed the leading underscore, made this method public.
30400        Removed unnecessary constraint that new or old UUID had
30401        to be nil; now short-circuits the no-change case.
30402        (-[WebBookmark copyWithZone:]):
30403        updated for name change
30404        (-[WebBookmark initFromDictionaryRepresentation:withGroup:]):
30405        ditto
30406
30407        * Bookmarks.subproj/WebBookmarkGroup.h:
30408        * Bookmarks.subproj/WebBookmarkGroup.m:
30409        (-[WebBookmarkGroup bookmarkForUUID:]):
30410        new public method to find a bookmark from a UUID.
30411        (-[WebBookmarkGroup _addBookmark:]):
30412        updated for name change
30413
30414        * Bookmarks.subproj/WebBookmarkPrivate.h:
30415        removed declaration for old _setUUID
30416
304172003-03-07  Darin Adler  <darin@apple.com>
30418
30419        Reviewed by John.
30420
30421        - fixed regression caused when we made the stopLoading method on WebDataSource private
30422
30423        * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _recursiveStopLoading]):
30424        The children are frames, so we need to do stopLoading, not _stopLoading.
30425
304262003-03-07  Chris Blumenberg  <cblu@apple.com>
30427
30428        Fixed: 3191052 - Predetermined downloads should not be started from the browser window
30429        - Stripped the rest of WebKit of download related code.
30430
30431        Reviewed by trey.
30432
30433        * Downloads.subproj/WebDownload.h: Changed the download delegate method from download:didStartFromDataSource: download:didStartFromRequest:. Passing the data source wasn't that helpful. It was also quirky that the data source would sometimes be ni
30434
30435
30436
30437
30438
30439
30440l.
30441        * Downloads.subproj/WebDownload.m:
30442        (-[WebDownloadPrivate dealloc]): release directory path
30443        (-[WebDownload _initWithLoadingResource:dataSource:]): call _loadStarted and _loadEnded
30444        (-[WebDownload loadWithDelegate:]): call _loadStarted
30445        (-[WebDownload _loadStarted]): set flag, retain self
30446        (-[WebDownload _loadEnded]): set flag, release self
30447        (-[WebDownload resource:willSendRequest:]): call _loadEnded if the returned request is nil
30448        (-[WebDownload resourceDidFinishLoading:]): call _loadEnded
30449        (-[WebDownload resource:didFailLoadingWithError:]): call _loadEnded
30450        (-[WebDownload _createFileIfNecessary]): handle a predetermined download directory, not path
30451        (-[WebDownload _cancelWithError:]): call _loadEnded
30452        (-[WebDownload _setDirectoryPath:]): new private method
30453        * Downloads.subproj/WebDownloadPrivate.h:
30454        * WebView.subproj/WebControllerPrivate.m:
30455        (-[WebController _mainReceivedError:fromDataSource:complete:]): don't call [dataSource isDownloading]
30456        (-[WebController _downloadURL:toDirectory:]): create and start a self retained WebDownload
30457        * WebView.subproj/WebDataSource.h:
30458        * WebView.subproj/WebDataSource.m: removed download related methods
30459        * WebView.subproj/WebDataSourcePrivate.h:
30460        * WebView.subproj/WebDataSourcePrivate.m: removed download related methods
30461        (-[WebDataSource _commitIfReady:]): don't call isDownloading
30462        * WebView.subproj/WebFramePrivate.h:
30463        * WebView.subproj/WebFramePrivate.m:
30464        * WebView.subproj/WebMainResourceClient.m:
30465        (-[WebMainResourceClient continueAfterContentPolicy:response:]): when handing off the load to the download, don't deal with the download path
30466        (-[WebMainResourceClient resource:didReceiveResponse:]): no more predetermined downloads come through here
30467
304682003-03-06  Maciej Stachowiak  <mjs@apple.com>
30469
30470        Reviewed by Trey.
30471
30472        Step towards policy API changes. Remove WebPolicyNone,
30473        WebPolicyRevealInFinder, WebPolicyOpenURL and WebPolicyShow.
30474        * WebView.subproj/WebControllerPolicyDelegate.h:
30475        * WebView.subproj/WebDefaultPolicyDelegate.m:
30476        (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
30477        * WebView.subproj/WebFramePrivate.m:
30478        (switch):
30479        * WebView.subproj/WebMainResourceClient.m:
30480        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
30481
304822003-03-06  Richard Williamson   <rjw@apple.com>
30483
30484        Remove setWebView: from WebFrame.
30485        
30486        Reviewed by chris.
30487
30488        * WebView.subproj/WebFrame.h:
30489        * WebView.subproj/WebFrame.m:
30490        (-[WebFrame initWithName:webView:controller:]):
30491        (-[WebFrame name]):
30492
304932003-03-06  Richard Williamson   <rjw@apple.com>
30494
30495        API changes.  WebCapabilities -> WebContentTypes.
30496        Move fileExtension from WebDataSource to WebContentTypes
30497        
30498        Reviewed by chris.
30499
30500        * Misc.subproj/WebNSPasteboardExtras.m:
30501        (-[NSPasteboard _web_bestURL]):
30502        * WebKit.exp:
30503        * WebView.subproj/WebController.h:
30504        * WebView.subproj/WebController.m:
30505        (+[WebContentTypes suggestedFileExtensionForMIMEType:]):
30506        (-[WebController supportsTextEncoding]):
30507        (-[WebController setCustomTextEncodingName:]):
30508        (-[WebController _mainFrameOverrideEncoding]):
30509        (-[WebController customTextEncodingName]):
30510        (-[WebController stringByEvaluatingJavaScriptFromString:]):
30511        (-[WebController userAgentForURL:]):
30512        * WebView.subproj/WebControllerPrivate.h:
30513        * WebView.subproj/WebDataSource.h:
30514        * WebView.subproj/WebDataSource.m:
30515        * WebView.subproj/WebDefaultPolicyDelegate.m:
30516        * WebView.subproj/WebMainResourceClient.m:
30517        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
30518
305192003-03-06  Chris Blumenberg  <cblu@apple.com>
30520
30521        Implemented WebDownload API.
30522
30523        Fixed: 3118355 - Download mechanism that doesn't involve WebDataSource, WebFrame, WebController etc
30524        Fixed: 3110173 - add per-request disabling of download decoding, use to turn off when "Open Safe Files" is off
30525
30526        Reviewed by trey, rjw, mjs.
30527
30528        * Downloads.subproj/WebDownload.h: Tweaked comments, added new methods.
30529        * Downloads.subproj/WebDownload.m:
30530        (-[WebDownloadPrivate dealloc]): release new objects
30531        (-[WebDownload initWithRequest:]): was initWithRequest:delegate:, but found that starting the load from the init method made it tricky to do other set up work before the load started.
30532        (-[WebDownload _initWithLoadingResource:dataSource:]): private init method, "catches up" to load by sending delegate method immediately, doesn't retain the dataSource, uses it for info
30533        (-[WebDownload loadWithDelegate:]): new, starts load
30534        (-[WebDownload cancel]): cancel load with no error
30535        (-[WebDownload path]): simple getter
30536        (-[WebDownload setPath:]): implement this because WebDownload is the WebDownloadDecisionListener, call _setPath
30537        (-[WebDownload resource:willSendRequest:]): resource delegate method
30538        (-[WebDownload resource:didReceiveResponse:]): resource delegate method
30539        (-[WebDownload resource:didReceiveData:]): resource delegate method, decode and write data, cancel load if error
30540        (-[WebDownload resourceDidFinishLoading:]): resource delegate method, decode and write data if necessary, end in error if error
30541        (-[WebDownload resource:didFailLoadingWithError:]): resource delegate method, end in error
30542        (-[WebDownload _pathWithUniqueFilenameForPath:]): this work was done in _createFileIfNecessary, does what it says
30543        (-[WebDownload _createFSRefForPath:]): this work was done in _createFileIfNecessary as well, makes fileRefPtr point to a file
30544        (-[WebDownload _createFileIfNecessary]): creates file, creates temp file if path hasn't been set yet
30545        (-[WebDownload _decodeHeaderData:dataForkData:resourceForkData:]): call private method
30546        (-[WebDownload _decodeData:dataForkData:resourceForkData:]): made private, if the download is encoded, ask client if OK to decode
30547        (-[WebDownload _decodeData:]): hardly changed, don't cancel, just return error
30548        (-[WebDownload _dataIfDoneBufferingData:]): moved, not changed
30549        (-[WebDownload _finishDecoding]): hardly changed, don't cancel, just return error
30550        (-[WebDownload _writeForkData:isDataFork:]): moved, not changed
30551        (-[WebDownload _writeDataForkData:resourceForkData:]): moved, not changed
30552        (-[WebDownload _isFileClosed]): new
30553        (-[WebDownload _fileDidClose:]): new, called by the callback thread, delete file if deleteFile flag is set, report error or end successfully
30554        (-[WebDownload _closeForkAsync:]): new
30555        (-[WebDownload _closeForkSync:]): new
30556        (-[WebDownload _closeFileAsync]): new
30557        (-[WebDownload _closeFileSync]): new
30558        (-[WebDownload _deleteFileAsnyc]): new
30559        (-[WebDownload _closeAndDeleteFileAsync]): new
30560        (-[WebDownload _cancelWithError:]): kill load if there is one, report error if there is one, close and delete file is not already closed or deleted
30561        (-[WebDownload _cancelWithErrorCode:]): internal convenienve, calls _cancelWithError
30562        (-[WebDownload _setPath:]): set path, if we are already saving data to a temp path, move the file and continue downloading
30563        (-[WebDownload _currentPath]): new 
30564        (-[WebDownload _errorWithCode:]): new
30565        (-[WebDownload _dataForkReferenceNumber]): added underscore
30566        (-[WebDownload _setDataForkReferenceNumber:]): added underscore
30567        (-[WebDownload _resourceForkReferenceNumber]): added underscore
30568        (-[WebDownload _setResourceForkReferenceNumber:]): added underscore
30569        (-[WebDownload _areWritesCancelled]): added underscore
30570        (-[WebDownload _setWritesCancelled:]): added underscore
30571        (-[WebDownload _encounteredCloseError]): new
30572        (-[WebDownload _setEncounteredCloseError:]): new 
30573        (WriteCompletionCallback): call underscored methods
30574        (CloseCompletionCallback): call underscored methods, handle close error, don't delete file
30575        (DeleteCompletionCallback): call _currentPath
30576        * Downloads.subproj/WebDownloadPrivate.h:
30577        * WebView.subproj/WebBaseResourceHandleDelegate.h: renamed handle to resource
30578        * WebView.subproj/WebBaseResourceHandleDelegate.m: renamed handle to resource
30579        (-[WebBaseResourceHandleDelegate _releaseResources]): renamed handle to resource
30580        (-[WebBaseResourceHandleDelegate startLoading:]): renamed handle to resource
30581        (-[WebBaseResourceHandleDelegate loadWithRequest:]): renamed handle to resource
30582        (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): renamed handle to resource
30583        (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): renamed handle to resource
30584        (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]): renamed handle to resource, don't handle downloads
30585        (-[WebBaseResourceHandleDelegate resource:didReceiveData:]): renamed handle to resource, don't handle downloads
30586        (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]): renamed handle to resource, don't handle downloads
30587        (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]): renamed handle to resource, don't handle downloads
30588        (-[WebBaseResourceHandleDelegate cancelWithError:]): renamed handle to resource, don't handle downloads
30589        * WebView.subproj/WebController.h: updated comments
30590        * WebView.subproj/WebController.m: 
30591        (-[WebController setDownloadDelegate:]): call the ivar downloadDelegate, not downloadProgressDelegate
30592        (-[WebController downloadDelegate]): call the ivar downloadDelegate, not downloadProgressDelegate
30593        * WebView.subproj/WebControllerPolicyDelegate.h: removed saveFilenameForResponse:andRequest:, handle by WebDownload
30594        * WebView.subproj/WebControllerPrivate.h: call the ivar downloadDelegate, not downloadProgressDelegate
30595        * WebView.subproj/WebDefaultPolicyDelegate.m: removed saveFilenameForResponse:andRequest:, handle by WebDownload
30596        * WebView.subproj/WebMainResourceClient.h: added WebResourceDelegateProxy icar
30597        * WebView.subproj/WebMainResourceClient.m: remove most download related stuff
30598        (-[WebMainResourceClient initWithDataSource:]): create a WebResourceDelegateProxy which allows us to change the resource delegate
30599        (-[WebMainResourceClient dealloc]): release the proxy
30600        (-[WebMainResourceClient receivedError:complete:]): don't handle downloads
30601        (-[WebMainResourceClient continueAfterContentPolicy:response:]): pass the load off to the download
30602        (-[WebMainResourceClient resource:didReceiveResponse:]): don't handle downloads
30603        (-[WebMainResourceClient resource:didReceiveData:]): don't handle downloads
30604        (-[WebMainResourceClient resourceDidFinishLoading:]): don't handle downloads
30605        (-[WebMainResourceClient resource:didFailLoadingWithError:]): don't handle downloads
30606        (-[WebMainResourceClient startLoading:]): make the proxy the delegate
30607        (-[WebResourceDelegateProxy setDelegate:]): switches the resource delegate
30608        (-[WebResourceDelegateProxy resource:willSendRequest:]): forwards message
30609        (-[WebResourceDelegateProxy resource:didReceiveResponse:]): forwards message
30610        (-[WebResourceDelegateProxy resource:didReceiveData:]): forwards message
30611        (-[WebResourceDelegateProxy resourceDidFinishLoading:]): forwards message
30612        (-[WebResourceDelegateProxy resource:didFailLoadingWithError:]): forwards message
30613
306142003-03-06  Richard Williamson   <rjw@apple.com>
30615
30616        Move tweaks to WebKit API.
30617        
30618        Removed [WebFrame setController:] from public API.
30619        Removed [WebDataSource stringWithData:] from public API.
30620         
30621        Reviewed by hyatt.
30622
30623        * WebView.subproj/WebDataSource.h:
30624        * WebView.subproj/WebDataSource.m:
30625        (-[WebDataSource mainDocumentError]):
30626        * WebView.subproj/WebDataSourcePrivate.h:
30627        * WebView.subproj/WebDataSourcePrivate.m:
30628        (-[WebDataSource _stringWithData:]):
30629        * WebView.subproj/WebFrame.h:
30630        * WebView.subproj/WebFrame.m:
30631        * WebView.subproj/WebFramePrivate.h:
30632        * WebView.subproj/WebFramePrivate.m:
30633        * WebView.subproj/WebHTMLRepresentation.m:
30634        * WebView.subproj/WebTextRepresentation.m:
30635        (-[WebTextRepresentation setDataSource:]):
30636        * WebView.subproj/WebTextView.m:
30637        (-[WebTextView dataSourceUpdated:]):
30638
306392003-03-06  Richard Williamson   <rjw@apple.com>
30640
30641        Tweaks to WebKit API.
30642        Dropped URL on WebDataSource.
30643        Dropped start/stop loading on WebDataSource.
30644        Drop frameForView and frameForDataSource from WebController.
30645        Moved canShowXX to WebCapabilities.
30646        
30647        Reviewed by hyatt.
30648
30649        * Downloads.subproj/WebDownload.m:
30650        (-[WebDownload errorWithCode:]):
30651        * Misc.subproj/WebNSPasteboardExtras.m:
30652        (-[NSPasteboard _web_bestURL]):
30653        * Misc.subproj/WebNSViewExtras.m:
30654        (-[NSView _web_printViewHierarchy:]):
30655        * Plugins.subproj/WebNetscapePluginDocumentView.m:
30656        (-[WebNetscapePluginDocumentView setDataSource:]):
30657        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
30658        (-[WebNetscapePluginEmbeddedView dataSource]):
30659        * WebCoreSupport.subproj/WebSubresourceClient.m:
30660        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
30661        * WebKit.exp:
30662        * WebView.subproj/WebController.h:
30663        * WebView.subproj/WebController.m:
30664        (+[WebCapabilities canShowMIMEType:]):
30665        (+[WebCapabilities canShowFile:]):
30666        (-[WebController mainFrame]):
30667        * WebView.subproj/WebControllerPrivate.h:
30668        * WebView.subproj/WebControllerPrivate.m:
30669        (-[WebController _frameForDataSource:fromFrame:]):
30670        (-[WebController _frameForDataSource:]):
30671        (-[WebController _frameForView:fromFrame:]):
30672        (-[WebController _frameForView:]):
30673        * WebView.subproj/WebDataSource.h:
30674        * WebView.subproj/WebDataSource.m:
30675        * WebView.subproj/WebDataSourcePrivate.h:
30676        * WebView.subproj/WebDataSourcePrivate.m:
30677        (-[WebDataSource _startLoading]):
30678        (-[WebDataSource _stopLoading]):
30679        (-[WebDataSource _stopLoadingInternal]):
30680        (-[WebDataSource _recursiveStopLoading]):
30681        (-[WebDataSource _updateIconDatabaseWithURL:]):
30682        (-[WebDataSource _loadIcon]):
30683        (-[WebDataSource _URL]):
30684        * WebView.subproj/WebDefaultContextMenuDelegate.m:
30685        (-[WebDefaultContextMenuDelegate openFrameInNewWindow:]):
30686        * WebView.subproj/WebDefaultPolicyDelegate.m:
30687        * WebView.subproj/WebFrame.m:
30688        (-[WebFrame stopLoading]):
30689        * WebView.subproj/WebFramePrivate.m:
30690        (if):
30691        * WebView.subproj/WebHTMLViewPrivate.m:
30692        (-[WebHTMLView _frame]):
30693        (-[WebHTMLView _elementAtPoint:]):
30694        * WebView.subproj/WebImageRepresentation.m:
30695        (-[WebImageRepresentation setDataSource:]):
30696        * WebView.subproj/WebImageView.m:
30697        (-[WebImageView menuForEvent:]):
30698        * WebView.subproj/WebMainResourceClient.m:
30699        (-[WebMainResourceClient cancel]):
30700        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
30701        (-[WebMainResourceClient resource:didReceiveData:]):
30702        (-[WebMainResourceClient resourceDidFinishLoading:]):
30703        * WebView.subproj/WebTextView.m:
30704        (-[WebTextView menuForEvent:]):
30705        * WebView.subproj/WebView.m:
30706        (-[WebView webFrame]):
30707        * WebView.subproj/WebViewPrivate.m:
30708        (-[WebView _isMainFrame]):
30709
307102003-03-06  Ed Voas  voas@apple.com
30711
30712        Reviewed by Richard.
30713
30714        Don't use _HIViewSetNeedsDisplayInRect for now. Fixes
30715        Jaguar builds.
30716
30717        * Carbon.subproj/HIViewAdapter.m:
30718        (-[HIViewAdapter setNeedsDisplay:]):
30719        (-[HIViewAdapter setNeedsDisplayInRect:]):
30720
307212003-03-05  Maciej Stachowiak  <mjs@apple.com>
30722
30723        Reviewed by John.
30724
30725        Step towards policy API chantes - removed unneeded policy and URL
30726        arguments from unableToImplementPolicy:
30727        * WebView.subproj/WebControllerPolicyDelegate.h:
30728        * WebView.subproj/WebFramePrivate.h:
30729        * WebView.subproj/WebFramePrivate.m:
30730        * WebView.subproj/WebMainResourceClient.m:
30731        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
30732
307332003-03-06  Ed Voas  voas@apple.com
30734
30735        Reviewed by Richard.
30736
30737        First cut of Carbon view support. It will need tweaking as we go,
30738        but I think I finally have all the assertions taken care of, and
30739        I also believe that I have the drawing glitches all sorted out now.
30740
30741        * Carbon.subproj/CarbonUtils.h: Added.
30742        * Carbon.subproj/CarbonUtils.m: Added.
30743        (InitWebKitForCarbon):
30744        (PoolCleaner):
30745        (ConvertNSImageToCGImageRef):
30746        * Carbon.subproj/CarbonWindowAdapter.h: Added.
30747        * Carbon.subproj/CarbonWindowAdapter.m: Added.
30748        (+[CarbonWindowAdapter frameViewClassForStyleMask:]):
30749        (-[CarbonWindowAdapter initWithContentRect:styleMask:backing:defer:]):
30750        (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
30751        (-[CarbonWindowAdapter setViewsNeedDisplay:]):
30752        (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:]):
30753        (-[CarbonWindowAdapter dealloc]):
30754        (-[CarbonWindowAdapter windowRef]):
30755        (-[CarbonWindowAdapter _hasWindowRef]):
30756        (-[CarbonWindowAdapter _managesWindowRef]):
30757        (-[CarbonWindowAdapter _removeWindowRef]):
30758        (-[CarbonWindowAdapter _carbonWindowClass]):
30759        (-[CarbonWindowAdapter reconcileToCarbonWindowBounds]):
30760        (-[CarbonWindowAdapter sendSuperEvent:]):
30761        (-[CarbonWindowAdapter _cancelKey:]):
30762        (-[CarbonWindowAdapter _commonAwake]):
30763        (-[CarbonWindowAdapter _destroyRealWindow:]):
30764        (-[CarbonWindowAdapter _oldPlaceWindow:]):
30765        (-[CarbonWindowAdapter _termWindowIfOwner]):
30766        (-[CarbonWindowAdapter _windowMovedToRect:]):
30767        (-[CarbonWindowAdapter constrainFrameRect:toScreen:]):
30768        (-[CarbonWindowAdapter selectKeyViewFollowingView:]):
30769        (-[CarbonWindowAdapter selectKeyViewPrecedingView:]):
30770        (-[CarbonWindowAdapter makeKeyWindow]):
30771        (-[CarbonWindowAdapter canBecomeKeyWindow]):
30772        (-[CarbonWindowAdapter canBecomeMainWindow]):
30773        (-[CarbonWindowAdapter encodeWithCoder:]):
30774        (-[CarbonWindowAdapter initWithCoder:]):
30775        (-[CarbonWindowAdapter setContentView:]):
30776        (-[CarbonWindowAdapter worksWhenModal]):
30777        (-[CarbonWindowAdapter _setModalWindowLevel]):
30778        (-[CarbonWindowAdapter _clearModalWindowLevel]):
30779        (-[CarbonWindowAdapter carbonHICommandIDFromActionSelector:]):
30780        (-[CarbonWindowAdapter sendCarbonProcessHICommandEvent:]):
30781        (-[CarbonWindowAdapter sendCarbonUpdateHICommandStatusEvent:withMenuRef:andMenuItemIndex:]):
30782        (-[CarbonWindowAdapter _handleRootBoundsChanged]):
30783        (-[CarbonWindowAdapter _handleContentBoundsChanged]):
30784        (-[CarbonWindowAdapter _handleCarbonEvent:callRef:]):
30785        (NSCarbonWindowHandleEvent):
30786        * Carbon.subproj/CarbonWindowContentView.h: Added.
30787        * Carbon.subproj/CarbonWindowContentView.m: Added.
30788        * Carbon.subproj/CarbonWindowFrame.h: Added.
30789        * Carbon.subproj/CarbonWindowFrame.m: Added.
30790        (+[CarbonWindowFrame frameRectForContentRect:styleMask:]):
30791        (+[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
30792        (+[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
30793        (-[CarbonWindowFrame frameRectForContentRect:styleMask:]):
30794        (-[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
30795        (-[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
30796        (-[CarbonWindowFrame initWithFrame:styleMask:owner:]):
30797        (-[CarbonWindowFrame dealloc]):
30798        (-[CarbonWindowFrame _setFrameNeedsDisplay:]):
30799        (-[CarbonWindowFrame _setSheet:]):
30800        (-[CarbonWindowFrame _updateButtonState]):
30801        (-[CarbonWindowFrame _windowChangedKeyState]):
30802        (-[CarbonWindowFrame _showToolbarWithAnimation:]):
30803        (-[CarbonWindowFrame _hideToolbarWithAnimation:]):
30804        (-[CarbonWindowFrame closeButton]):
30805        (-[CarbonWindowFrame styleMask]):
30806        (-[CarbonWindowFrame dragRectForFrameRect:]):
30807        (-[CarbonWindowFrame isOpaque]):
30808        (-[CarbonWindowFrame minimizeButton]):
30809        (-[CarbonWindowFrame setTitle:]):
30810        (-[CarbonWindowFrame title]):
30811        (-[CarbonWindowFrame _sheetHeightAdjustment]):
30812        (-[CarbonWindowFrame _maxTitlebarTitleRect]):
30813        (-[CarbonWindowFrame _clearDragMargins]):
30814        (-[CarbonWindowFrame _resetDragMargins]):
30815        * Carbon.subproj/HIViewAdapter.h: Added.
30816        * Carbon.subproj/HIViewAdapter.m: Added.
30817        (+[HIViewAdapter bindHIViewToNSView:nsView:]):
30818        (+[HIViewAdapter getHIViewForNSView:]):
30819        (+[HIViewAdapter unbindNSView:]):
30820        (-[HIViewAdapter initWithFrame:view:]):
30821        (-[HIViewAdapter hiView]):
30822        (-[HIViewAdapter nextValidKeyView]):
30823        (-[HIViewAdapter setNeedsDisplay:]):
30824        (-[HIViewAdapter setNeedsDisplayInRect:]):
30825        (-[CarbonSheetInterceptor _orderFrontRelativeToWindow:]):
30826        (-[CarbonSheetInterceptor _orderOutRelativeToWindow:]):
30827        * Carbon.subproj/HIWebView.h: Added.
30828        * Carbon.subproj/HIWebView.m: Added.
30829        (if):
30830        (switch):
30831        * Carbon.subproj/HIWebViewPriv.h: Added.
30832        * WebKit.exp:
30833        * WebKit.pbproj/project.pbxproj:
30834
30835=== Safari-65 ===
30836
308372003-03-05  Richard Williamson   <rjw@apple.com>
30838
30839        API changes
30840        WebView and WebDataSource give up -(WebController *)controller.
30841        WebView gets -(WebFrame *)webFrame.
30842        
30843        Reviewed by cblu.
30844
30845        * Plugins.subproj/WebNetscapePluginDocumentView.m:
30846        (-[WebNetscapePluginDocumentView setDataSource:]):
30847        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
30848        (-[WebNetscapePluginEmbeddedView dataSource]):
30849        * Plugins.subproj/WebNullPluginView.m:
30850        (-[WebNullPluginView viewDidMoveToWindow]):
30851        * WebCoreSupport.subproj/WebBridge.m:
30852        (-[WebBridge startLoadingResource:withURL:]):
30853        * WebCoreSupport.subproj/WebSubresourceClient.m:
30854        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
30855        (-[WebSubresourceClient receivedError:]):
30856        (-[WebSubresourceClient resourceDidFinishLoading:]):
30857        * WebKit.pbproj/project.pbxproj:
30858        * WebView.subproj/WebBaseResourceHandleDelegate.m:
30859        (-[WebBaseResourceHandleDelegate setDataSource:]):
30860        * WebView.subproj/WebController.h:
30861        * WebView.subproj/WebController.m:
30862        (-[WebController backForwardList]):
30863        (-[WebController setUsesBackForwardList:]):
30864        * WebView.subproj/WebDataSource.h:
30865        * WebView.subproj/WebDataSource.m:
30866        * WebView.subproj/WebDataSourcePrivate.h:
30867        * WebView.subproj/WebDataSourcePrivate.m:
30868        (-[WebDataSource _controller]):
30869        (-[WebDataSource _receivedError:complete:]):
30870        (-[WebDataSource _loadIcon]):
30871        * WebView.subproj/WebFrame.h:
30872        * WebView.subproj/WebFramePrivate.m:
30873        (switch):
30874        * WebView.subproj/WebHTMLViewPrivate.m:
30875        (-[WebHTMLView _controller]):
30876        (-[WebHTMLView _frame]):
30877        (-[WebHTMLView _elementAtPoint:]):
30878        * WebView.subproj/WebImageView.m:
30879        (-[WebImageView controller]):
30880        (-[WebImageView menuForEvent:]):
30881        * WebView.subproj/WebMainResourceClient.m:
30882        (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
30883        (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
30884        (-[WebMainResourceClient resource:willSendRequest:]):
30885        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
30886        (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]):
30887        (-[WebMainResourceClient resource:didReceiveResponse:]):
30888        (-[WebMainResourceClient resource:didReceiveData:]):
30889        (-[WebMainResourceClient resourceDidFinishLoading:]):
30890        (-[WebMainResourceClient resource:didFailLoadingWithError:]):
30891        * WebView.subproj/WebTextView.m:
30892        (-[WebTextView menuForEvent:]):
30893        * WebView.subproj/WebView.h:
30894        * WebView.subproj/WebView.m:
30895        (-[WebView webFrame]):
30896        (-[WebView concludeDragOperation:]):
30897        * WebView.subproj/WebViewPrivate.h:
30898        * WebView.subproj/WebViewPrivate.m:
30899        (-[WebView _controller]):
30900
309012003-03-05  Maciej Stachowiak  <mjs@apple.com>
30902
30903        Reviewed by Ken.
30904
30905        * WebView.subproj/WebFramePrivate.m:
30906        (_recursiveGoToItem:fromItem:withLoadType:): Account for
30907        possibility of nil target.
30908
309092003-03-05  Maciej Stachowiak  <mjs@apple.com>
30910
30911        Reviewed by Darin.
30912
30913        - fixed crash when going back due to frame name of nil since we
30914        don't force the name "_top" any more.
30915        * WebView.subproj/WebController.m:
30916        (-[WebController _goToItem:withLoadType:]): Handle nil target
30917        properly.
30918
309192003-03-05  Darin Adler  <darin@apple.com>
30920
30921        Reviewed by John.
30922
30923        - fixed 3189441 -- REGRESSION: layout tests crash building generated frame name
30924
30925        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _addFramePathToString:]):
30926        Handle a frame name of nil here, since we don't force the name "_top" any more.
30927
309282003-03-04  Trey Matteson  <trey@apple.com>
30929
30930        Support for autofill.  These are just two new glue routines
30931        that call down through the bridge.  They allow regexp driven
30932        binding of AB data to form elements.
30933
30934        Reviewed by Maciej.
30935
30936        * WebView.subproj/WebHTMLRepresentation.h:
30937        * WebView.subproj/WebHTMLRepresentation.m:
30938        (-[WebHTMLRepresentation searchForLabels:beforeElement:]):
30939        Call straight to bridge.
30940        (-[WebHTMLRepresentation matchLabels:againstElement:]):
30941        Call straight to bridge.
30942
309432003-03-04  Maciej Stachowiak  <mjs@apple.com>
30944
30945        Reinstate missing part of last checking.
30946        * WebView.subproj/WebFramePrivate.m:
30947
309482003-03-04  Maciej Stachowiak  <mjs@apple.com>
30949
30950        Reviewed by Trey.
30951
30952        Added the ability to set the top-level frame name via the
30953        WebController initializer. Also made [[controller mainFrame]
30954        frameName] return the true top-level frame name instead of "_top",
30955        since that is already special-cased anywhere it needs to be.
30956        * WebView.subproj/WebController.h:
30957        * WebView.subproj/WebController.m:
30958        (-[WebController init]): Update for change to designated initializer.
30959        (-[WebController initWithView:]): New convenience initializer.
30960        (-[WebController initWithView:frameName:setName:]): Added ability to set
30961        top-level frame name.
30962        * WebView.subproj/WebControllerPrivate.h:
30963        * WebView.subproj/WebControllerPrivate.m:
30964        (-[WebControllerPrivate dealloc]): Remove topLevelFrameNAme field.
30965        (-[WebController _setTopLevelFrameName:]): Actually set it
30966        on the top level frame, no point to keeping it here.
30967        (-[WebController _findFrameInThisWindowNamed:]): No more need to
30968        special-case top-level frame name.
30969        * WebView.subproj/WebFrame.m:
30970        (-[WebFrame initWithName:webView:controller:]): call [self _setName:] instead 
30971        of [_private setName:]
30972        * WebView.subproj/WebFramePrivate.h:
30973        * WebView.subproj/WebFramePrivate.m:
30974        (-[WebFrame _setName:]): Don't let the name get set to _blank.
309752003-03-04  John Sullivan  <sullivan@apple.com>
30976
30977        Reviewed by Darin
30978
30979        * Misc.subproj/WebKitNSStringExtras.h:
30980        * Misc.subproj/WebKitNSStringExtras.m:
30981        (-[NSString _web_widthWithFont:]):
30982        (-[NSString _web_drawAtPoint:font:textColor:):
30983        removed the unnecessary string parameter from these two
30984        NSString methods.
30985
309862003-03-04  Darin Adler  <darin@apple.com>
30987
30988        Reviewed by Maciej.
30989
30990        - got rid of some framework initialization (working on bug 3185161)
30991
30992        * WebView.subproj/WebPreferences.m:
30993        (-[WebPreferences _postPreferencesChangesNotification]): Moved this function up.
30994        (+[WebPreferences standardPreferences]): Call _postPreferencesChangesNotification when this is made,
30995        for consistency with the old behavior.
30996        (+[WebPreferences initialize]): Changed to initialize from load, and got rid of stuff we don't want
30997        to do from inside an initialize function.
30998
309992003-03-04  Richard Williamson   <rjw@apple.com>
31000
31001        Remove initWithURL: and frameName from WebDataSource public API.
31002        
31003        Reviewed by trey.
31004
31005        * WebView.subproj/WebDataSource.h:
31006        * WebView.subproj/WebDataSource.m:
31007        (-[WebDataSource webFrame]):
31008
310092003-03-04  Darin Adler  <darin@apple.com>
31010
31011        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
31012        * English.lproj/Localizable.strings: Regenerated.
31013
310142003-03-03  Richard Williamson   <rjw@apple.com>
31015
31016        Switch all WebController's delegate to use informal protocols.
31017        
31018        Reviewed by trey.
31019
31020        * Plugins.subproj/WebBaseNetscapePluginView.m:
31021        (-[WebBaseNetscapePluginView status:]):
31022        * Plugins.subproj/WebNetscapePluginDocumentView.m:
31023        (-[WebNetscapePluginDocumentView setDataSource:]):
31024        * Plugins.subproj/WebNullPluginView.m:
31025        (-[WebNullPluginView viewDidMoveToWindow]):
31026        * Plugins.subproj/WebPluginController.m:
31027        (-[WebPluginController showStatus:]):
31028        * WebCoreSupport.subproj/WebBridge.h:
31029        * WebCoreSupport.subproj/WebBridge.m:
31030        (-[WebBridge createWindowWithURL:frameName:]):
31031        (-[WebBridge showWindow]):
31032        (-[WebBridge areToolbarsVisible]):
31033        (-[WebBridge setToolbarsVisible:]):
31034        (-[WebBridge isStatusBarVisible]):
31035        (-[WebBridge setStatusBarVisible:]):
31036        (-[WebBridge setWindowFrame:]):
31037        (-[WebBridge setStatusText:]):
31038        (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
31039        (-[WebBridge setWebFrame:]):
31040        * WebKit.exp:
31041        * WebKit.pbproj/project.pbxproj:
31042        * WebView.subproj/WebBaseResourceHandleDelegate.h:
31043        * WebView.subproj/WebBaseResourceHandleDelegate.m:
31044        (-[WebBaseResourceHandleDelegate resourceLoadDelegate]):
31045        (-[WebBaseResourceHandleDelegate downloadDelegate]):
31046        (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
31047        (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
31048        (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
31049        (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
31050        (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
31051        (-[WebBaseResourceHandleDelegate cancelWithError:]):
31052        (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]):
31053        * WebView.subproj/WebContextMenuDelegate.h:
31054        * WebView.subproj/WebController.h:
31055        * WebView.subproj/WebController.m:
31056        (-[WebController setWindowOperationsDelegate:]):
31057        (-[WebController windowOperationsDelegate]):
31058        (-[WebController setResourceLoadDelegate:]):
31059        (-[WebController resourceLoadDelegate]):
31060        (-[WebController setDownloadDelegate:]):
31061        (-[WebController downloadDelegate]):
31062        (-[WebController setContextMenuDelegate:]):
31063        (-[WebController contextMenuDelegate]):
31064        (-[WebController setPolicyDelegate:]):
31065        (-[WebController policyDelegate]):
31066        (-[WebController setLocationChangeDelegate:]):
31067        (-[WebController locationChangeDelegate]):
31068        (-[WebController stringByEvaluatingJavaScriptFromString:]):
31069        * WebView.subproj/WebControllerPolicyDelegate.h:
31070        * WebView.subproj/WebControllerPrivate.h:
31071        * WebView.subproj/WebControllerPrivate.m:
31072        (-[WebController _openNewWindowWithRequest:behind:]):
31073        (-[WebController _menuForElement:]):
31074        (-[WebController _mouseDidMoveOverElement:modifierFlags:]):
31075        (-[WebController _locationChangeDelegateForwarder]):
31076        (-[WebController _resourceLoadDelegateForwarder]):
31077        (-[WebController _policyDelegateForwarder]):
31078        (-[WebController _contextMenuDelegateForwarder]):
31079        (-[WebController _windowOperationsDelegateForwarder]):
31080        (-[_WebSafeForwarder initWithTarget:defaultTarget:templateClass:]):
31081        (-[_WebSafeForwarder forwardInvocation:]):
31082        (-[_WebSafeForwarder methodSignatureForSelector:]):
31083        * WebView.subproj/WebDataSource.h:
31084        * WebView.subproj/WebDataSourcePrivate.m:
31085        (-[WebDataSource _startLoading:]):
31086        (-[WebDataSource _setTitle:]):
31087        (-[WebDataSource _setRequest:]):
31088        (-[WebDataSource _updateIconDatabaseWithURL:]):
31089        * WebView.subproj/WebDefaultContextMenuDelegate.h:
31090        * WebView.subproj/WebDefaultContextMenuDelegate.m:
31091        (+[WebDefaultContextMenuDelegate sharedContextMenuDelegate]):
31092        * WebView.subproj/WebDefaultLocationChangeDelegate.h: Added.
31093        * WebView.subproj/WebDefaultLocationChangeDelegate.m: Added.
31094        (+[WebDefaultLocationChangeDelegate sharedLocationChangeDelegate]):
31095        (-[WebDefaultLocationChangeDelegate locationChangeStartedForDataSource:]):
31096        (-[WebDefaultLocationChangeDelegate serverRedirectedForDataSource:]):
31097        (-[WebDefaultLocationChangeDelegate locationChangeCommittedForDataSource:]):
31098        (-[WebDefaultLocationChangeDelegate receivedPageTitle:forDataSource:]):
31099        (-[WebDefaultLocationChangeDelegate receivedPageIcon:forDataSource:]):
31100        (-[WebDefaultLocationChangeDelegate locationChangeDone:forDataSource:]):
31101        (-[WebDefaultLocationChangeDelegate willCloseLocationForDataSource:]):
31102        (-[WebDefaultLocationChangeDelegate locationChangedWithinPageForDataSource:]):
31103        (-[WebDefaultLocationChangeDelegate clientWillRedirectTo:delay:fireDate:forFrame:]):
31104        (-[WebDefaultLocationChangeDelegate clientRedirectCancelledForFrame:]):
31105        * WebView.subproj/WebDefaultPolicyDelegate.h:
31106        * WebView.subproj/WebDefaultPolicyDelegate.m:
31107        (+[WebDefaultPolicyDelegate sharedPolicyDelegate]):
31108        * WebView.subproj/WebDefaultPolicyDelegatePrivate.h: Removed.
31109        * WebView.subproj/WebDefaultResourceLoadDelegate.h: Added.
31110        * WebView.subproj/WebDefaultResourceLoadDelegate.m: Added.
31111        (+[WebDefaultResourceLoadDelegate sharedResourceLoadDelegate]):
31112        (-[WebDefaultResourceLoadDelegate identifierForInitialRequest:fromDataSource:]):
31113        (-[WebDefaultResourceLoadDelegate resource:willSendRequest:fromDataSource:]):
31114        (-[WebDefaultResourceLoadDelegate resource:didReceiveResponse:fromDataSource:]):
31115        (-[WebDefaultResourceLoadDelegate resource:didReceiveContentLength:fromDataSource:]):
31116        (-[WebDefaultResourceLoadDelegate resource:didFinishLoadingFromDataSource:]):
31117        (-[WebDefaultResourceLoadDelegate resource:didFailLoadingWithError:fromDataSource:]):
31118        (-[WebDefaultResourceLoadDelegate pluginFailedWithError:dataSource:]):
31119        * WebView.subproj/WebDefaultWindowOperationsDelegate.h: Added.
31120        * WebView.subproj/WebDefaultWindowOperationsDelegate.m: Added.
31121        (+[WebDefaultWindowOperationsDelegate sharedWindowOperationsDelegate]):
31122        (-[WebDefaultWindowOperationsDelegate runJavaScriptConfirmPanelWithMessage:]):
31123        (-[WebDefaultWindowOperationsDelegate runJavaScriptTextInputPanelWithPrompt:defaultText:]):
31124        (-[WebDefaultWindowOperationsDelegate runOpenPanelForFileButtonWithResultListener:]):
31125        * WebView.subproj/WebFrame.m:
31126        (-[WebFrame initWithName:webView:controller:]):
31127        (-[WebFrame findOrCreateFrameNamed:]):
31128        * WebView.subproj/WebFramePrivate.m:
31129        (if):
31130        (switch):
31131        * WebView.subproj/WebLocationChangeDelegate.h:
31132        * WebView.subproj/WebLocationChangeDelegate.m: Removed.
31133        * WebView.subproj/WebMainResourceClient.h:
31134        * WebView.subproj/WebMainResourceClient.m:
31135        (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
31136        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
31137        (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]):
31138        * WebView.subproj/WebResourceLoadDelegate.h:
31139        * WebView.subproj/WebWindowOperationsDelegate.h:
31140
311412003-03-03  Darin Adler  <darin@apple.com>
31142
31143        Reviewed by Richard.
31144
31145        - simplified the custom user agent and text encoding methods as per request from documentation group
31146
31147        * WebView.subproj/WebController.h: Removed hasCustomUserAgent, resetUserAgent, hasCustomTextEncoding,
31148        and resetTextEncoding. Updated comments to indicate what nil means.
31149        
31150        * WebView.subproj/WebController.m:
31151        (-[WebController setCustomUserAgent:]): Remove assertion, allow nil.
31152        (-[WebController customUserAgent]): Remove nil check.
31153        (-[WebController setCustomTextEncodingName:]): Remove assertion, allow nil, and do an == check along
31154        with the isEqualToString: check to handle the nil case.
31155        (-[WebController customTextEncodingName]): Remove nil check.
31156
311572003-03-01  Maciej Stachowiak  <mjs@apple.com>
31158
31159        Reviewed by Darin.
31160
31161        - fixed 3163855 - Need control over certain potential dialogs/sheets
31162
31163        * WebCoreSupport.subproj/WebBridge.h:
31164        * WebCoreSupport.subproj/WebBridge.m:
31165        (-[WebBridge runJavaScriptAlertPanelWithMessage:]): Moved here from
31166        view factory. Call the bridge instead of popping up the dialog.
31167        (-[WebBridge runJavaScriptConfirmPanelWithMessage:]): Likewise.
31168        (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
31169        Likewise.
31170        (-[WebBridge fileButton]): Moved here from view factory, so we can
31171        pass the bridge to the button.
31172        (-[WebBridge runOpenPanelForFileButtonWithResultListener:]): Call the delegate.
31173        * WebCoreSupport.subproj/WebFileButton.h:
31174        * WebCoreSupport.subproj/WebFileButton.m:
31175        (-[WebFileButton initWithBridge:]): New method so this object knows about the bridge.
31176        (-[WebFileButton beginSheet]): Instead of popping up the sheet directly,
31177        call the bridge (which will call the delegate).
31178        (-[WebFileButton chooseFilename:]): Update for the new filename.
31179        (-[WebFileButton cancel]): Do nothing.
31180        * WebCoreSupport.subproj/WebViewFactory.m: Removed some methods.
31181        * WebKit.exp: Export .objc_class_WebJavaScriptTextInputPanel (for now).
31182        * WebKit.pbproj/project.pbxproj: Export WebJavaScriptTextInputPanel.h (for now).
31183        * WebView.subproj/WebWindowOperationsDelegate.h: Added new methods.
31184
311852003-03-01  Richard Williamson   <rjw@apple.com>
31186
31187        Reviewed by Chris & Darin.
31188
31189        Fixed frameRequiredForMIMEType: to correctly check for BOTH
31190        netscape plugins and cocoa plugins.
31191        
31192        * WebCoreSupport.subproj/WebBridge.m:
31193        (-[WebBridge frameRequiredForMIMEType:]):
31194        
31195        Made WebPluginViewFactory.h private (SPI) to provide access to
31196        plugin package keys.
31197        
31198        * WebKit.pbproj/project.pbxproj:
31199
312002003-02-28  Richard Williamson   <rjw@apple.com>
31201
31202        Make WebDOM* classes private instead of public.  This change
31203        was made before but the project file must have been accidentally
31204        overwritten.  Make the WebPlugin* classes private.
31205        
31206        * WebKit.pbproj/project.pbxproj:
31207
312087003-02-28  Trey Matteson  <trey@apple.com>
31209
31210        Various support for autofill/autocomplete.
31211
31212        We receive a form along with the formValues from WC on submit, which we
31213        just pass along to the FormDelegate.  As part of this we store the values
31214        and the form together in a new private WebFormState class.  Lots of glue
31215        for passing this around instead of just the values dict.
31216
31217        Send willCloseLocationForDataSource when we are finally through with a page.
31218
31219        Reviewed by Darin.
31220
31221        * WebCoreSupport.subproj/WebBridge.m:
31222        (-[WebBridge loadURL:reload:triggeringEvent:form:formValues:]):
31223        Pass along form along with values
31224        (-[WebBridge postWithURL:data:contentType:triggeringEvent:form:formValues:]):
31225        Pass along form along with values
31226        * WebView.subproj/WebDataSourcePrivate.m:
31227        (-[WebDataSource _commitIfReady:]):  Call frame to send willCloseLocationForDataSource.
31228        * WebView.subproj/WebFormDelegate.h:
31229        * WebView.subproj/WebFormDelegate.m:
31230        (-[WebFormDelegate frame:willSubmitForm:withValues:]):  Pass form along with values
31231        * WebView.subproj/WebFrame.m:
31232        (-[WebFrame loadRequest:]):  Pass FormState instead of just values.
31233        (-[WebFrame reload]):  Pass FormState instead of just values.
31234        * WebView.subproj/WebFramePrivate.h:
31235        * WebView.subproj/WebFramePrivate.m:
31236        <<prepare-ChangeLog flailed on this file>>
31237        Lots of routines were we pass FormState instead of the form values dict
31238        -([WebFrame _closeOldDataSources]):  New, sends willCloseLocation for whole frame tree.
31239        New, trivial, WebFormState class.
31240        * WebView.subproj/WebHTMLRepresentation.h:
31241        * WebView.subproj/WebHTMLRepresentation.m:
31242        (-[WebHTMLRepresentation formIsLoginForm:]):  Changed to take form instead of form field.
31243        (-[WebHTMLRepresentation formForElement:]):  New, just pass through bridge.
31244        (-[WebHTMLRepresentation controlsInForm:]):    New, just pass through bridge.
31245        * WebView.subproj/WebLocationChangeDelegate.h:  Add willCloseLocationForDataSource.
31246        * WebView.subproj/WebLocationChangeDelegate.m:
31247        (-[WebLocationChangeDelegate willCloseLocationForDataSource:]):  Default impl.
31248        * WebView.subproj/WebMainResourceClient.m:
31249        (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
31250        Pass FormState instead of just values.
31251        (-[WebMainResourceClient resource:willSendRequest:]):
31252        Pass FormState instead of just values.
31253
312542003-02-28  Maciej Stachowiak  <mjs@apple.com>
31255
31256        Reviewed by Trey.
31257
31258        - fixed 3180170 - filepile.com does not work correctly
31259
31260        I fixed this by making referrer work correctly for targetted
31261        cross-frame and cross-window links. It is still not working right
31262        for JavaScript window.open though.
31263        * WebCoreSupport.subproj/WebBridge.m:
31264        (-[WebBridge createWindowWithURL:frameName:]): Set referrer.
31265        (-[WebBridge loadURL:referrer:reload:triggeringEvent:formValues:]): Pass referrer
31266        along to frame.
31267        (-[WebBridge postWithURL:referrer:data:contentType:triggeringEvent:formValues:]):
31268        Likewise.
31269        * WebView.subproj/WebFramePrivate.h:
31270        * WebView.subproj/WebFramePrivate.m:
31271        (-[WebFrame _loadItem:fromItem:withLoadType:]): Pass referrer.
31272        (-[WebFrame
31273        _loadURL:referrer:loadType:triggeringEvent:formValues:]): Use
31274        passed-in referrer (link could have been clicked in another
31275        frame).
31276        (-[WebFrame _loadURL:intoChild:]): Pass referrer.
31277        (-[WebFrame
31278        _postWithURL:referrer:data:contentType:triggeringEvent:formValues:]):
31279        Use passed-in referrer.
31280
312812003-02-28  Darin Adler  <darin@apple.com>
31282
31283        Reviewed by Trey.
31284
31285        - fixed 3183575 -- <https://sbcreg.sbcglobal.net> casuses infinite refresh & crash
31286        
31287        The page had history.forward(1) which was causing us to reload.
31288
31289        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge goBackOrForward:]):
31290        Handle edge cases by checking backListCount and forwardListCount at this level.
31291        Be sure to do nothing when we are already on the right page.
31292
31293        * History.subproj/WebBackForwardList.h: Added forwardListCount, updated comment for entryAtIndex.
31294        * History.subproj/WebBackForwardList.m:
31295        (-[WebBackForwardList forwardListCount]): Added.
31296        (-[WebBackForwardList entryAtIndex:]): Return nil for out of range indices.
31297        
312982003-02-27  Maciej Stachowiak  <mjs@apple.com>
31299
31300        Reviewed by Richard.
31301
31302        * WebCoreSupport.subproj/WebBridge.m:
31303        (-[WebBridge window]): Avoid calling removed call.
31304        * WebView.subproj/WebView.m: Remove override of window method.
31305        * WebView.subproj/WebWindowOperationsDelegate.h: 
31306        Adjust for new API.
31307=== Safari-64 ===
31308
31309=== Safari-63 ===
31310
313112003-02-26  Maciej Stachowiak  <mjs@apple.com>
31312
31313        Reviewed by Dave.
31314
31315        - fixed reproducible hang at http://asp.eltonsoft.dk/cast/get.asp?cat=Quicktime
31316
31317        WebKit's processing time was O(N^3) in the number of
31318        frames. Improved it to O(N^2) by storing frame pointer directly in
31319        WebDataSource instead of linear scan. Could still be improved more.
31320        * WebView.subproj/WebDataSource.m:
31321        (-[WebDataSource webFrame]):
31322        * WebView.subproj/WebDataSourcePrivate.h:
31323        * WebView.subproj/WebDataSourcePrivate.m:
31324        (-[WebDataSourcePrivate dealloc]):
31325        (-[WebDataSource _stopLoadingWithError:]):
31326        (-[WebDataSource _setWebFrame:]):
31327        * WebView.subproj/WebFramePrivate.m:
31328        (-[WebFrame _detachFromParent]):
31329        (-[WebFrame _setDataSource:]):
31330        (-[WebFrame _transitionToCommitted:]):
31331        (-[WebFrame _isLoadComplete]):
31332        (-[WebFrame _clearProvisionalDataSource]):
31333        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]):
31334        (-[WebFrame _loadDataSource:withLoadType:formValues:]):
31335        (-[WebFrame _setProvisionalDataSource:]):
31336
313372003-02-26  Richard Williamson   <rjw@apple.com>
31338
31339        Fixed 3102760.  Removed WebDocumentDragSettings from API.
31340        
31341        Reviewed by Chris.
31342
31343        * WebView.subproj/WebDocument.h:
31344        * WebView.subproj/WebHTMLView.h:
31345        * WebView.subproj/WebHTMLView.m:
31346        * WebView.subproj/WebImageView.h:
31347        * WebView.subproj/WebImageView.m:
31348        (-[WebImageView initWithFrame:]):
31349        (-[WebImageView mouseDragged:]):
31350        * WebView.subproj/WebTextView.h:
31351        * WebView.subproj/WebTextView.m:
31352        (-[WebTextView initWithFrame:]):
31353        (-[WebTextView layout]):
31354
313552003-02-25  David Hyatt  <hyatt@apple.com>
31356
31357        Fix for bug #3181249.  Ensure the padding argument gets passed
31358        through properly (instead of just passing 0).
31359        Reviewed by darin
31360
31361        * WebCoreSupport.subproj/WebTextRenderer.m:
31362
313632003-02-25  John Sullivan  <sullivan@apple.com>
31364
31365        WebKit part of fix for 3181290 -- need call to reload all bookmarks from disk, 
31366        for synching's sake.
31367
31368        I ended up not adding a new call, but making the existing loadBookmarkGroup
31369        work better when called after the initial load. It wasn't doing anything wrong
31370        before; it just wasn't passing along enough information to clients to enable
31371        them to do the right thing.
31372
31373        Reviewed by Trey
31374
31375        * Bookmarks.subproj/WebBookmarkGroup.h:
31376        new extern NSStrings WebBookmarksWillBeReloadedNotification and
31377        WebBookmarksWereReloadedNotification
31378
31379        * Bookmarks.subproj/WebBookmarkGroup.m:
31380        (-[WebBookmarkGroup _sendNotification:forBookmark:children:]):
31381        soften assert so it doesn't fire on the new cases.
31382
31383        (-[WebBookmarkGroup _bookmarksWillBeReloaded]):
31384        send WebBookmarksWillBeReloadedNotification
31385        (-[WebBookmarkGroup _bookmarksWereReloaded]):
31386        send WebBookmarksWereReloadedNotification
31387
31388        (-[WebBookmarkGroup _loadBookmarkGroupGuts]):
31389        bracket the load with the new notification-sending calls
31390
31391        * WebKit.exp:
31392        add the two new extern NSStrings
31393
313942003-02-25  Darin Adler  <darin@apple.com>
31395
31396        Reviewed by John.
31397
31398        - fixed 3176962 -- add KHTML somewhere in the user agent string
31399
31400        * English.lproj/StringsNotToBeLocalized.txt: Change "(like Gecko)" to "(KHTML, like Gecko)".
31401        * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]): Ditto.
31402
314032003-02-20  Chris Blumenberg  <cblu@apple.com>
31404
31405        Added _web_superviewOfClass:stoppingAtClass:. Climbs up hierarchy and returns nil when stoppingAtClass is hit.
31406
31407        Reviewed by darin.
31408
31409        * Misc.subproj/WebNSViewExtras.h:
31410        * Misc.subproj/WebNSViewExtras.m:
31411        (-[NSView _web_superviewOfClass:stoppingAtClass:]):
31412        (-[NSView _web_superviewOfClass:]):
31413
314142003-02-20  Ken Kocienda  <kocienda@apple.com>
31415
31416        Reviewed by David
31417
31418        Modified to use new WebFoundation API. Though there seem to be
31419        many changes, they are all "uninteresting" in that the changes
31420        only moved code to use new method and class names.
31421
31422        * Downloads.subproj/WebDownload.h:
31423        * Downloads.subproj/WebDownload.m:
31424        (-[WebDownload initWithRequest:delegate:]):
31425        (-[WebDownload _initWithLoadingHandle:request:response:delegate:]):
31426        (-[WebDownload createFileIfNecessary]):
31427        * Downloads.subproj/WebDownloadPrivate.h:
31428        * Misc.subproj/WebIconLoader.h:
31429        * Misc.subproj/WebIconLoader.m:
31430        (-[WebIconLoader startLoading]):
31431        (-[WebIconLoader resourceDidFinishLoading:]):
31432        (-[WebIconLoader resource:willSendRequest:]):
31433        (-[WebIconLoader resource:didReceiveResponse:]):
31434        (-[WebIconLoader resource:didReceiveData:]):
31435        (-[WebIconLoader resource:didFailLoadingWithError:]):
31436        * Misc.subproj/WebResourceResponseExtras.h:
31437        * Misc.subproj/WebResourceResponseExtras.m:
31438        (-[WebHTTPResponse suggestedFilenameForSaving]):
31439        * Plugins.subproj/WebBaseNetscapePluginStream.h:
31440        * Plugins.subproj/WebBaseNetscapePluginStream.m:
31441        (-[WebBaseNetscapePluginStream setResponse:]):
31442        * Plugins.subproj/WebBaseNetscapePluginView.m:
31443        (-[WebBaseNetscapePluginView sendEvent:]):
31444        (-[WebBaseNetscapePluginView requestWithURLCString:]):
31445        (-[WebBaseNetscapePluginView loadPluginRequest:]):
31446        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
31447        (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]):
31448        (-[WebBaseNetscapePluginView getURL:target:]):
31449        (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]):
31450        (-[WebPluginRequest initWithRequest:frame:notifyData:]):
31451        (-[WebPluginRequest request]):
31452        * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
31453        * Plugins.subproj/WebNetscapePluginDocumentView.m:
31454        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
31455        (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]):
31456        * Plugins.subproj/WebNetscapePluginRepresentation.m:
31457        (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
31458        * Plugins.subproj/WebNetscapePluginStream.h:
31459        * Plugins.subproj/WebNetscapePluginStream.m:
31460        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
31461        (-[WebNetscapePluginStream resource:didReceiveResponse:]):
31462        (-[WebNetscapePluginStream resource:didReceiveData:]):
31463        (-[WebNetscapePluginStream resourceDidFinishLoading:]):
31464        (-[WebNetscapePluginStream resource:didFailLoadingWithError:]):
31465        * Plugins.subproj/WebPluginController.m:
31466        (-[WebPluginController showURL:inFrame:]):
31467        * WebCoreSupport.subproj/WebBridge.m:
31468        (-[WebBridge createWindowWithURL:frameName:]):
31469        (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
31470        (-[WebBridge defersLoading]):
31471        (-[WebBridge setDefersLoading:]):
31472        (-[WebBridge loadEmptyDocumentSynchronously]):
31473        * WebCoreSupport.subproj/WebCookieAdapter.m:
31474        (-[WebCookieAdapter cookiesForURL:]):
31475        (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
31476        * WebCoreSupport.subproj/WebSubresourceClient.h:
31477        * WebCoreSupport.subproj/WebSubresourceClient.m:
31478        (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
31479        (-[WebSubresourceClient resource:willSendRequest:]):
31480        (-[WebSubresourceClient resource:didReceiveResponse:]):
31481        (-[WebSubresourceClient resource:didReceiveData:]):
31482        (-[WebSubresourceClient resourceDidFinishLoading:]):
31483        (-[WebSubresourceClient resource:didFailLoadingWithError:]):
31484        * WebView.subproj/WebBaseResourceHandleDelegate.h:
31485        * WebView.subproj/WebBaseResourceHandleDelegate.m:
31486        (-[WebBaseResourceHandleDelegate startLoading:]):
31487        (-[WebBaseResourceHandleDelegate loadWithRequest:]):
31488        (-[WebBaseResourceHandleDelegate setDefersCallbacks:]):
31489        (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
31490        (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
31491        (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
31492        (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
31493        (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
31494        (-[WebBaseResourceHandleDelegate cancelledError]):
31495        * WebView.subproj/WebController.h:
31496        * WebView.subproj/WebController.m:
31497        (-[WebResourceLoadDelegate identifierForInitialRequest:fromDataSource:]):
31498        (-[WebResourceLoadDelegate resource:willSendRequest:fromDataSource:]):
31499        (-[WebResourceLoadDelegate resource:didReceiveResponse:fromDataSource:]):
31500        * WebView.subproj/WebControllerPolicyDelegate.h:
31501        * WebView.subproj/WebControllerPrivate.h:
31502        * WebView.subproj/WebControllerPrivate.m:
31503        (-[WebController _downloadURL:toDirectory:]):
31504        (-[WebController defersCallbacks]):
31505        (-[WebController setDefersCallbacks:]):
31506        (-[WebController _openNewWindowWithRequest:behind:]):
31507        * WebView.subproj/WebDataSource.h:
31508        * WebView.subproj/WebDataSource.m:
31509        (-[WebDataSource initWithURL:]):
31510        (-[WebDataSource initWithRequest:]):
31511        (-[WebDataSource initialRequest]):
31512        (-[WebDataSource request]):
31513        (-[WebDataSource response]):
31514        * WebView.subproj/WebDataSourcePrivate.h:
31515        * WebView.subproj/WebDataSourcePrivate.m:
31516        (-[WebDataSource _addSubresourceClient:]):
31517        (-[WebDataSource _stopLoading]):
31518        (-[WebDataSource _setURL:]):
31519        (-[WebDataSource _setRequest:]):
31520        (-[WebDataSource _setResponse:]):
31521        (-[WebDataSource _commitIfReady:]):
31522        (-[WebDataSource _defersCallbacksChanged]):
31523        (-[WebDataSource _originalRequest]):
31524        (-[WebDataSource _lastCheckedRequest]):
31525        (-[WebDataSource _setLastCheckedRequest:]):
31526        (-[WebDataSource _addResponse:]):
31527        * WebView.subproj/WebDefaultContextMenuDelegate.m:
31528        (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]):
31529        (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
31530        * WebView.subproj/WebDefaultPolicyDelegate.m:
31531        (-[WebDefaultPolicyDelegate savePathForResponse:andRequest:]):
31532        (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
31533        * WebView.subproj/WebFrame.h:
31534        * WebView.subproj/WebFrame.m:
31535        (-[WebFrame loadRequest:]):
31536        (-[WebFrame reload]):
31537        * WebView.subproj/WebFramePrivate.h:
31538        * WebView.subproj/WebFramePrivate.m:
31539        (-[WebFrame _createItem]):
31540        (-[WebFrame _opened]):
31541        (-[WebFrame _loadItem:fromItem:withLoadType:]):
31542        (-[WebFrame _loadRequest:triggeringAction:loadType:formValues:]):
31543        (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]):
31544        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formValues:andCall:withSelector:]):
31545        (-[WebFrame _continueAfterNavigationPolicy:]):
31546        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formValues:]):
31547        (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
31548        (-[WebFrame _loadURL:loadType:triggeringEvent:formValues:]):
31549        (-[WebFrame _postWithURL:data:contentType:triggeringEvent:formValues:]):
31550        (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
31551        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]):
31552        (-[WebFrame _downloadRequest:toDirectory:]):
31553        * WebView.subproj/WebHTMLRepresentation.m:
31554        * WebView.subproj/WebMainResourceClient.h:
31555        * WebView.subproj/WebMainResourceClient.m:
31556        (-[WebMainResourceClient continueAfterNavigationPolicy:formValues:]):
31557        (-[WebMainResourceClient resource:willSendRequest:]):
31558        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
31559        (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]):
31560        (-[WebMainResourceClient resource:didReceiveResponse:]):
31561        (-[WebMainResourceClient resource:didReceiveData:]):
31562        (-[WebMainResourceClient resourceDidFinishLoading:]):
31563        (-[WebMainResourceClient resource:didFailLoadingWithError:]):
31564        (-[WebMainResourceClient startLoading:]):
31565        * WebView.subproj/WebResourceLoadDelegate.h:
31566        * WebView.subproj/WebTextRepresentation.m:
31567        * WebView.subproj/WebTextView.m:
31568        * WebView.subproj/WebView.m:
31569        (-[WebView concludeDragOperation:]):
31570        * WebView.subproj/WebViewPrivate.m:
31571        * WebView.subproj/WebWindowOperationsDelegate.h:
31572
315732003-02-18  Maciej Stachowiak  <mjs@ap0101m-dhcp138.apple.com>
31574
31575        Reviewed by Chris.
31576        Merged changes from Safari-58-1-branch.
31577    2003-02-11  Richard Williamson   <rjw@apple.com>
31578
31579        Add import of CGFontCache.h, which is no longer
31580        included by CoreGraphicsPrivate.h.
31581        
31582        Reviewed by Vicki.
31583
31584        * WebCoreSupport.subproj/WebTextRendererFactory.m:
31585
31586    2003-02-11  Maciej Stachowiak  <mjs@apple.com>
31587
31588        Reviewed by Darin.
31589
31590        * WebCoreSupport.subproj/WebTextRenderer.m: Change (void **) cast
31591        to (void *) for compatibility with the latest Panther.
31592    2003-02-11  Maciej Stachowiak  <mjs@apple.com>
31593
31594        Reviewed by Trey.
31595
31596        * WebKit.pbproj/project.pbxproj: Add /System/Library/PrivateFrameworks
31597
31598=== Safari-62 ===
31599
316002003-02-17  Ken Kocienda  <kocienda@apple.com>
31601
31602        Reviewed by Trey
31603
31604        Rolled in documentation changes from Peter Kelly, our tech writer.
31605
31606        * History.subproj/WebBackForwardList.h
31607        * History.subproj/WebHistory.h
31608        * Misc.subproj/WebKitErrors.h
31609        * Misc.subproj/WebResourceResponseExtras.h
31610        * Panels.subproj/WebStandardPanels.h
31611        * Plugins.subproj/WebPluginError.h
31612        * WebView.subproj/WebContextMenuDelegate.h
31613        * WebView.subproj/WebController.h
31614        * WebView.subproj/WebControllerPolicyDelegate.h
31615        * WebView.subproj/WebDataSource.h
31616        * WebView.subproj/WebDefaultPolicyDelegate.h
31617        * WebView.subproj/WebDocument.h
31618        * WebView.subproj/WebFrame.h
31619        * WebView.subproj/WebPreferences.h
31620        * WebView.subproj/WebResourceLoadDelegate.h
31621        * WebView.subproj/WebView.h
31622        * WebView.subproj/WebWindowOperationsDelegate.h
31623
316242003-02-13  Trey Matteson  <trey@apple.com>
31625
31626        2943514 hide the cursor when using the arrow keys to scroll
31627        Reviewed by Darin
31628
31629        * WebView.subproj/WebView.m:
31630        (-[WebView keyDown:]):  Hide that cursor.
31631
316322003-02-16  Chris Blumenberg  <cblu@apple.com>
31633
31634        Added debug method that can be used inside of gdb to examine an image. Needed this many times.
31635
31636        Reviewed by darin.
31637
31638        * Misc.subproj/WebNSImageExtras.h:
31639        * Misc.subproj/WebNSImageExtras.m:
31640        (-[NSImage _web_saveAndOpen]):
31641
316422003-02-15  Darin Adler  <darin@apple.com>
31643
31644        * English.lproj/Localizable.strings: Regenerated.
31645
316462003-02-14  David Hyatt  <hyatt@apple.com>
31647
31648        Patch to the drawLine function for the inline box model landing.
31649        Reviewed by kocienda
31650
31651        * WebCoreSupport.subproj/WebTextRenderer.m:
31652
316532003-02-13  Trey Matteson  <trey@apple.com>
31654
31655        First checkin for working forms autocomplete.
31656
31657        This level mostly just has glue to go from app to WC through the bridge.
31658        WebHTMLReo exports some new SPI to get the element of a view, and then to get
31659        some HTML-level properties of that element.
31660
31661        Reviewed by Chris
31662
31663        * Bookmarks.subproj/WebBookmarkGroup.m:
31664        (-[WebBookmarkGroup _saveBookmarkGroupGuts]):  Don't dump entire bookmark
31665        dict in the log.
31666        * WebKit.exp:  New class used by app, objc_class_name_WebHTMLRepresentation.
31667        * WebView.subproj/WebHTMLRepresentation.h:
31668        * WebView.subproj/WebHTMLRepresentation.m:
31669        (-[WebHTMLRepresentation elementForView:]):  New SPI.
31670        (-[WebHTMLRepresentation elementDoesAutoComplete:]):  New SPI.
31671        (-[WebHTMLRepresentation elementIsInLoginForm:]):  New SPI.
31672
316732003-02-13  Chris Blumenberg  <cblu@apple.com>
31674
31675        Fixed WebKit typos found by Peter Wilson.
31676
31677        Reviewed by darin.
31678
31679        * Misc.subproj/WebKitErrors.h:
31680        * Misc.subproj/WebKitErrors.m:
31681        (categoryInitialize): Error should be WebErrorDescriptionCannotFindApplicationForURL not WebErrorDescriptionCannotNotFindApplicationForURL
31682        * Plugins.subproj/WebBaseNetscapePluginView.m:
31683        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call findOrCreateFrameNamed
31684        * Plugins.subproj/WebPluginController.m:
31685        (-[WebPluginController showURL:inFrame:]): call findOrCreateFrameNamed
31686        * WebCoreSupport.subproj/WebBridge.m:
31687        (-[WebBridge findOrCreateFrameNamed:]): call findOrCreateFrameNamed
31688        * WebView.subproj/WebFrame.h:
31689        * WebView.subproj/WebFrame.m:
31690        (-[WebFrame findOrCreateFrameNamed:]): fixed name
31691        * WebView.subproj/WebFramePrivate.m:
31692        (-[WebFrame _continueAfterNavigationPolicy:]): use WebErrorDescriptionCannotFindApplicationForURL
31693        * WebView.subproj/WebMainResourceClient.m:
31694        (-[WebMainResourceClient continueAfterContentPolicy:response:]): use WebErrorDescriptionCannotFindApplicationForURL
31695        * WebView.subproj/WebView.h:
31696        * WebView.subproj/WebView.m:
31697        (-[WebView setAllowsScrolling:]): cast to WebDynamicScrollBarsView
31698        (-[WebView allowsScrolling]): cast to WebDynamicScrollBarsView
31699        (-[WebView frameScrollView]): return NSScrollView
31700        * WebView.subproj/WebViewPrivate.m:
31701        (-[WebView _setDocumentView:]): cast to WebDynamicScrollBarsView
31702
317032003-02-12  Chris Blumenberg  <cblu@apple.com>
31704
31705        - Moved the WebKit error registration out of WebView because apps that use WebKit but not WebView might need to use WebKit errors (like my test app for WebDownload).
31706        - Added file close and file move errors (needed for WebDownload).
31707
31708        Reviewed by kocienda.
31709
31710        * English.lproj/Localizable.strings: Localize file close and file move errors.
31711        * Misc.subproj/WebKitErrors.h: Added file close and file move errors.
31712        * Misc.subproj/WebKitErrors.m: Added.
31713        (+[WebError initialize]): register the errors here
31714        * WebKit.exp: Export the WebDownload class (forgot to do this earlier).
31715        * WebKit.pbproj/project.pbxproj:
31716        * WebView.subproj/WebView.m: don't register the errors here
31717
317182003-02-12  Darin Adler  <darin@apple.com>
31719
31720        Reviewed by Ken.
31721
31722        - fixed 3158484 -- after submission failure, submitting a second time doesn't work
31723
31724        * WebView.subproj/WebDataSourcePrivate.h: Added _receivedError:complete: method.
31725        * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _receivedError:complete:]):
31726        Added, parallel to _receivedData and _finishedLoading. Calls the new bridge method
31727        didNotOpenURL: for cases where we fail before committing (which calls openURL).
31728        Note that we can't use our own _bridge method because it asserts that we have committed
31729        to prevent accidental misuse. Also make the call on the controller that used to be done
31730        directly by the client.
31731
31732        * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:complete:]):
31733        Call the new -[WebDataSource _receivedError:complete:] rather than calling the controller directly.
31734
317352003-02-11  Darin Adler  <darin@apple.com>
31736
31737        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
31738
317392003-02-11  Darin Adler  <darin@apple.com>
31740
31741        Reviewed by Ed.
31742
31743        - applied a fixed version of Ed Voas's change to make plug-ins position correctly
31744          inside Carbon metal windows; should have no effect on Safari
31745
31746        * Plugins.subproj/WebBaseNetscapePluginView.m:
31747        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
31748        Don't assume that the Cocoa concept of the content view matches up with the Carbon
31749        concept of where the port is positioned. Instead, convert coordinates to border
31750        view coordinates, then back to Carbon content coordinates by using the delta between
31751        the port bounds and the port's pixmap bounds. Bug 3160710 was caused by an older version
31752        of this patch implicitly assuming the port bounds always had (0,0) for top left.
31753
317542003-02-11  Trey Matteson  <trey@apple.com>
31755
31756        Set -seg1addr in our build styles, but not for the B&I build.
31757        This makes our SYMROOTS from B&I usable to determine symbols from crash
31758        logs from the field.
31759        Also nuked DeploymentFat build style.
31760
31761        Reviewed by Ken.
31762
31763        * WebKit.pbproj/project.pbxproj:
31764
317652003-02-10  Chris Blumenberg  <cblu@apple.com>
31766
31767        Added HeaderDoc comments for WebDownload and WebPluginError.
31768
31769        Reviewed by rjw.
31770
31771        * Downloads.subproj/WebDownload.h:
31772        * Plugins.subproj/WebPluginError.h:
31773
317742003-02-10  Trey Matteson  <trey@apple.com>
31775
31776        Following the recent fix for ensuring that we always have a FormDelegate,
31777        when we need a default policy delegate we use a shared one instead of allocing
31778        a new one each time, which then would leak.
31779
31780        This included getting rid of the initWithWebController: method in the 
31781        WebDefaultPolicyDelegate API.  The arg was not used.
31782
31783        Reviewed by Richard
31784
31785        * WebKit.pbproj/project.pbxproj:  new private header
31786        * WebView.subproj/WebController.m:
31787        (-[WebController policyDelegate]):  use shared delegate if none set
31788        * WebView.subproj/WebDefaultPolicyDelegate.h:
31789        * WebView.subproj/WebDefaultPolicyDelegate.m:
31790        (+[WebDefaultPolicyDelegate _sharedWebPolicyDelegate]):  return shared instance
31791        * WebView.subproj/WebDefaultPolicyDelegatePrivate.h: Added.
31792        * WebView.subproj/WebFormDelegate.m:
31793        (+[WebFormDelegate _sharedWebFormDelegate]):  Trivial renaming of static.
31794
317952003-02-10  Richard Williamson   <rjw@apple.com>
31796
31797        Update API issues document.
31798        
31799        * API-Issues.rtf:
31800
318012003-02-10  Chris Blumenberg  <cblu@apple.com>
31802
31803        Fixed: 3168888 - REGRESSION: many downloads fail (due to -36 error from write)
31804
31805        Reviewed by darin.
31806
31807        * Downloads.subproj/WebDownload.m:
31808        (-[WebDownload writeForkData:isDataFork:]):
31809
318102003-02-10  Trey Matteson  <trey@apple.com>
31811
31812        Make sure we have a FormsDelegate installed with NOP behavior if our client
31813        does not set one.  Editing forms was broken for Ed by the introduction
31814        of the new FormDelegate.
31815
31816        Reviewed by Darin.
31817
31818        * WebKit.pbproj/project.pbxproj:  Added new header file.
31819        * WebView.subproj/WebControllerPrivate.m:
31820        (-[WebController _formDelegate]):  Use shared delegate if none set yet.
31821        * WebView.subproj/WebFormDelegatePrivate.h:  New header.
31822        * WebView.subproj/WebFormDelegate.h:  Nit cleanup.
31823        * WebView.subproj/WebFormDelegate.m:
31824        (+[WebFormDelegate _sharedWebFormDelegate]):  New method to return a shared
31825        NOP implementation.
31826
318272003-02-07  Richard Williamson   <rjw@apple.com>
31828
31829        Changes to support per WebController preferences.
31830        
31831        Reviewed by Maciej and Ken.
31832
31833        * WebView.subproj/WebController.m:
31834        (-[WebController setPreferences:]):
31835        * WebView.subproj/WebControllerPrivate.h:
31836        * WebView.subproj/WebControllerPrivate.m:
31837        (-[WebControllerPrivate init]):
31838        (-[WebControllerPrivate dealloc]):
31839        (-[WebController _setFormDelegate:]):
31840        (-[WebController _formDelegate]):
31841        (-[WebController _settings]):
31842        (-[WebController _updateWebCoreSettingsFromPreferences:]):
31843        (-[WebController _releaseUserAgentStrings]):
31844        (-[WebController _preferencesChangedNotification:]):
31845        * WebView.subproj/WebFrame.m:
31846        (-[WebFrame initWithName:webView:controller:]):
31847        * WebView.subproj/WebPreferences.h:
31848        * WebView.subproj/WebPreferences.m:
31849        (-[WebPreferences _postPreferencesChangesNotification]):
31850        (+[WebPreferences load]):
31851        (-[WebPreferences _stringValueForKey:]):
31852        (-[WebPreferences _setStringValue:forKey:]):
31853        (-[WebPreferences _integerValueForKey:]):
31854        (-[WebPreferences _setIntegerValue:forKey:]):
31855        (-[WebPreferences _boolValueForKey:]):
31856        (-[WebPreferences _setBoolValue:forKey:]):
31857        (-[WebPreferences standardFontFamily]):
31858        (-[WebPreferences setStandardFontFamily:]):
31859        (-[WebPreferences fixedFontFamily]):
31860        (-[WebPreferences setFixedFontFamily:]):
31861        (-[WebPreferences serifFontFamily]):
31862        (-[WebPreferences setSerifFontFamily:]):
31863        (-[WebPreferences sansSerifFontFamily]):
31864        (-[WebPreferences setSansSerifFontFamily:]):
31865        (-[WebPreferences cursiveFontFamily]):
31866        (-[WebPreferences setCursiveFontFamily:]):
31867        (-[WebPreferences fantasyFontFamily]):
31868        (-[WebPreferences setFantasyFontFamily:]):
31869        (-[WebPreferences defaultFontSize]):
31870        (-[WebPreferences setDefaultFontSize:]):
31871        (-[WebPreferences defaultFixedFontSize]):
31872        (-[WebPreferences setDefaultFixedFontSize:]):
31873        (-[WebPreferences minimumFontSize]):
31874        (-[WebPreferences setMinimumFontSize:]):
31875        (-[WebPreferences defaultTextEncodingName]):
31876        (-[WebPreferences setDefaultTextEncodingName:]):
31877        (-[WebPreferences userStyleSheetEnabled]):
31878        (-[WebPreferences setUserStyleSheetEnabled:]):
31879        (-[WebPreferences userStyleSheetLocation]):
31880        (-[WebPreferences setUserStyleSheetLocation:]):
31881        (-[WebPreferences JavaEnabled]):
31882        (-[WebPreferences setJavaEnabled:]):
31883        (-[WebPreferences JavaScriptEnabled]):
31884        (-[WebPreferences setJavaScriptEnabled:]):
31885        (-[WebPreferences JavaScriptCanOpenWindowsAutomatically]):
31886        (-[WebPreferences setJavaScriptCanOpenWindowsAutomatically:]):
31887        (-[WebPreferences pluginsEnabled]):
31888        (-[WebPreferences setPluginsEnabled:]):
31889        (-[WebPreferences allowAnimatedImages]):
31890        (-[WebPreferences allowAnimatedImageLooping]):
31891        (-[WebPreferences setAllowAnimatedImageLooping:]):
31892        (-[WebPreferences setWillLoadImagesAutomatically:]):
31893        (-[WebPreferences willLoadImagesAutomatically]):
31894        (-[WebPreferences _initialTimedLayoutDelay]):
31895        (-[WebPreferences _initialTimedLayoutSize]):
31896        (-[WebPreferences _pageCacheSize]):
31897        (-[WebPreferences _objectCacheSize]):
31898        (-[WebPreferences _initialTimedLayoutEnabled]):
31899        (-[WebPreferences _resourceTimedLayoutDelay]):
31900        (-[WebPreferences _resourceTimedLayoutEnabled]):
31901        * WebView.subproj/WebPreferencesPrivate.h:
31902
319032003-02-06  Chris Blumenberg  <cblu@apple.com>
31904
31905        - Made WebDownload.h a public header.
31906        - Added stubs for the new methods.
31907        - Moved all private methods to the WebPrivate category.
31908        - Added FIXMEs for things that needed to be removed or implemented.
31909
31910        Reviewed by rjw.
31911
31912        * Downloads.subproj/WebDownload.h:
31913        * Downloads.subproj/WebDownload.m:
31914        (-[WebDownload initWithRequest:delegate:]):
31915        (-[WebDownload dealloc]):
31916        (-[WebDownload cancel]):
31917        (-[WebDownload _initWithLoadingHandle:request:response:delegate:]):
31918        (-[WebDownload initWithDataSource:]):
31919        (-[WebDownload receivedData:]):
31920        (-[WebDownload finishedLoading]):
31921        (-[WebDownload decodeHeaderData:dataForkData:resourceForkData:]):
31922        (-[WebDownload decodeData:dataForkData:resourceForkData:]):
31923        (-[WebDownload createFileIfNecessary]):
31924        (-[WebDownload writeDataForkData:resourceForkData:]):
31925        (-[WebDownload dataIfDoneBufferingData:]):
31926        (-[WebDownload decodeData:]):
31927        (-[WebDownload finishDecoding]):
31928        * Downloads.subproj/WebDownloadPrivate.h:
31929        * WebKit.pbproj/project.pbxproj:
31930        * WebView.subproj/WebMainResourceClient.m:
31931
319322003-02-06  Chris Blumenberg  <cblu@apple.com>
31933
31934        Renamed WebDownloadHandler to WebDownload.
31935        Made ivars of WebDownload private.
31936
31937        Reviewed by kocienda.
31938
31939        * Downloads.subproj/WebDownload.h: Added.
31940        * Downloads.subproj/WebDownload.m: Added.
31941        (-[WebDownloadPrivate init]):
31942        (-[WebDownloadPrivate dealloc]):
31943        (-[WebDownload initWithDataSource:]):
31944        (-[WebDownload dealloc]):
31945        (-[WebDownload decodeHeaderData:dataForkData:resourceForkData:]):
31946        (-[WebDownload decodeData:dataForkData:resourceForkData:]):
31947        (-[WebDownload closeFork:deleteFile:]):
31948        (-[WebDownload closeFileAndDelete:]):
31949        (-[WebDownload closeFile]):
31950        (-[WebDownload cleanUpAfterFailure]):
31951        (-[WebDownload createFileIfNecessary]):
31952        (-[WebDownload writeDataForkData:resourceForkData:]):
31953        (-[WebDownload dataIfDoneBufferingData:]):
31954        (-[WebDownload decodeData:]):
31955        (-[WebDownload receivedData:]):
31956        (-[WebDownload finishDecoding]):
31957        (-[WebDownload finishedLoading]):
31958        (-[WebDownload cancel]):
31959        (-[WebDownload path]):
31960        (-[WebDownload writeForkData:isDataFork:]):
31961        (-[WebDownload errorWithCode:]):
31962        (-[WebDownload cancelWithError:]):
31963        (-[WebDownload dataForkReferenceNumber]):
31964        (-[WebDownload setDataForkReferenceNumber:]):
31965        (-[WebDownload resourceForkReferenceNumber]):
31966        (-[WebDownload setResourceForkReferenceNumber:]):
31967        (-[WebDownload areWritesCancelled]):
31968        (-[WebDownload setWritesCancelled:]):
31969        (WriteCompletionCallback):
31970        (CloseCompletionCallback):
31971        (DeleteCompletionCallback):
31972        * Downloads.subproj/WebDownloadHandler.h: Removed.
31973        * Downloads.subproj/WebDownloadHandler.m: Removed.
31974        * WebKit.pbproj/project.pbxproj:
31975        * WebView.subproj/WebController.h:
31976        * WebView.subproj/WebDataSource.m:
31977        * WebView.subproj/WebDataSourcePrivate.m:
31978        * WebView.subproj/WebMainResourceClient.h:
31979        * WebView.subproj/WebMainResourceClient.m:
31980        (-[WebMainResourceClient dealloc]):
31981        (-[WebMainResourceClient download]):
31982        (-[WebMainResourceClient isDownload]):
31983        (-[WebMainResourceClient receivedError:complete:]):
31984        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
31985        (-[WebMainResourceClient handle:didReceiveData:]):
31986        (-[WebMainResourceClient handleDidFinishLoading:]):
31987
319882003-02-06  Chris Blumenberg  <cblu@apple.com>
31989
31990        Fixed: 3125067 - Investigate performance implications of writing download file data
31991        Reviewed by trey, rjw, darin.
31992
31993        * Downloads.subproj/WebDownloadHandler.h:
31994        * Downloads.subproj/WebDownloadHandler.m:
31995        (-[WebDownloadHandler closeFileAndDelete:]): close the file asynchronously
31996        (-[WebDownloadHandler closeFile]): call closeFileAndDelete:NO
31997        (-[WebDownloadHandler cleanUpAfterFailure]): call closeFileAndDelete:YES
31998        (-[WebDownloadHandler writeDataForkData:resourceForkData:]): call writeForkData:isDataFork:
31999        (-[WebDownloadHandler path]): new
32000        (-[WebDownloadHandler writeForkData:isDataFork:]): writes file asynchronously
32001        (-[WebDownloadHandler errorWithCode:]): moved
32002        (-[WebDownloadHandler cancelWithError:]): new, stops load with error
32003        (-[WebDownloadHandler dataForkReferenceNumber]): new 
32004        (-[WebDownloadHandler setDataForkReferenceNumber:]): new
32005        (-[WebDownloadHandler resourceForkReferenceNumber]): new
32006        (-[WebDownloadHandler setResourceForkReferenceNumber:]): new
32007        (WriteCompletionCallback): new
32008        (CloseCompletionCallback): new, removes file if necessary
32009        (DeleteCompletionCallback): new,
32010        * WebView.subproj/WebDataSourcePrivate.h:
32011        * WebView.subproj/WebDataSourcePrivate.m:
32012        (-[WebDataSource _stopLoadingWithError:]): new
32013
320142003-02-06  Trey Matteson  <trey@apple.com>
32015
32016        3137647 - ad frames get their own history entries at channels.netscape.com        3133844 - 2 items in back list at http://www.kiup-bank.com/personal/main01.html
32017
32018        Move logic for deciding on "quick redirect" down to WebCore, where we really know
32019        what case we're in instead of having to guess from the params we were receiving.
32020
32021        Reviewed by Maciej, Darin.
32022
32023        * Plugins.subproj/WebNetscapePluginDocumentView.m:
32024        (-[WebNetscapePluginDocumentView setDataSource:]):  Fix build error (URL vs String)
32025        * WebView.subproj/WebFramePrivate.h:  Nuke Completing state.
32026        * WebView.subproj/WebFramePrivate.m:
32027        (-[WebFrame _transitionToLayoutAcceptable]):  Nuke Completing state.
32028        (-[WebFrame _transitionToCommitted:]):  Nuke Completing state.
32029        (-[WebFrame _isLoadComplete]):  Nuke Completing state.
32030        (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]):
32031        Just obey lockHistory param when deciding whether we are doing a "client redirect"
32032        instead of previous guesswork.
32033
320342003-02-06  Richard Williamson   <rjw@apple.com>
32035
32036        Rename WebError to WebKitError.
32037        
32038        Reviewed by maciej.
32039
32040        * API-Issues.rtf:
32041        * Bookmarks.subproj/WebBookmarkImporter.m:
32042        (-[WebBookmarkImporter initWithPath:]):
32043        * Downloads.subproj/WebDownloadHandler.m:
32044        (-[WebDownloadHandler createFileIfNecessary]):
32045        (-[WebDownloadHandler writeDataForkData:resourceForkData:]):
32046        (-[WebDownloadHandler decodeData:]):
32047        (-[WebDownloadHandler finishedLoading]):
32048        * Misc.subproj/WebKitErrors.h:
32049        * Plugins.subproj/WebNetscapePluginDocumentView.m:
32050        (-[WebNetscapePluginDocumentView setDataSource:]):
32051        * WebCoreSupport.subproj/WebBridge.m:
32052        (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
32053        (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
32054        * WebView.subproj/WebBaseResourceHandleDelegate.m:
32055        (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]):
32056        * WebView.subproj/WebFramePrivate.m:
32057        (-[WebFrame _continueAfterNavigationPolicy:]):
32058        * WebView.subproj/WebMainResourceClient.m:
32059        (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
32060        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
32061        * WebView.subproj/WebView.m:
32062        (+[WebView initialize]):
32063
320642003-02-05  Chris Blumenberg  <cblu@apple.com>
32065
32066        Comment should have been "Made WebPluginError constructors private."
32067
32068        * ChangeLog:
32069
320702003-02-05  Chris Blumenberg  <cblu@apple.com>
32071
32072        WebKit API clean-up:
32073        - Added enum to WebContextMenuDelegate that is the menu item tag of the menu items passed in the default menu item array.
32074        - WebPluginError should return URL strings.
32075        - Made WebPluginError constructors private.
32076
32077        Reviewed by rjw.
32078
32079        * Plugins.subproj/WebNetscapePluginDocumentView.m:
32080        (-[WebNetscapePluginDocumentView setDataSource:]):
32081        * Plugins.subproj/WebPluginError.h:
32082        * Plugins.subproj/WebPluginError.m:
32083        (-[WebPluginError pluginPageURL]):
32084        * Plugins.subproj/WebPluginErrorPrivate.h: Added.
32085        * WebCoreSupport.subproj/WebBridge.m:
32086        (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
32087        * WebKit.pbproj/project.pbxproj:
32088        * WebView.subproj/WebContextMenuDelegate.h:
32089        * WebView.subproj/WebDefaultContextMenuDelegate.h:
32090        * WebView.subproj/WebDefaultContextMenuDelegate.m:
32091        (-[WebDefaultContextMenuDelegate menuItemWithTag:]):
32092        (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]):
32093
320942003-02-04  Trey Matteson  <trey@apple.com>
32095
32096        WC now tells us the form values being submitted with a get/post.
32097        We forward this info to a new WebFormDelegate method.  Most of this
32098        change is just glue passing the formValues through all our layers.
32099
32100        Reviewed by Maciej
32101
32102        * WebCoreSupport.subproj/WebBridge.m:
32103        (-[WebBridge loadURL:reload:triggeringEvent:formValues:])
32104        Pass along formValues.
32105        (-[WebBridge postWithURL:data:contentType:triggeringEvent:formValues:]):
32106        Pass along formValues.
32107        * WebKit.pbproj/project.pbxproj:  Reorder previously added files.
32108        * WebView.subproj/WebControllerPolicyDelegate.m:  Fix latent copy/paste error
32109        where two keys had the same underlying string value!
32110        * WebView.subproj/WebFormDelegate.h:  Declare new delegate method.
32111        * WebView.subproj/WebFormDelegate.m:
32112        (-[WebFormDelegate frame:willSubmitFormWithValues:]):   NOP impl of new method.
32113        * WebView.subproj/WebFrame.m:
32114        (-[WebFrame loadRequest:]):  Pass nil formValues.
32115        (-[WebFrame reload]):  Pass nil formValues.
32116        * WebView.subproj/WebFramePrivate.h:  New ivar to hold form values
32117        while waiting for the policy delegate response.
32118        * WebView.subproj/WebFramePrivate.m:
32119        (-[WebFramePrivate dealloc]):  ASSERT new ivar is nil.
32120        (-[WebFrame _loadItem:fromItem:withLoadType:]):   Pass nil formValues.
32121        (-[WebFrame _loadRequest:triggeringAction:loadType:formValues:]):
32122        Pass along formValues.
32123        (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]):
32124        Pass nil formValues to continuation method.
32125        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formValues:andCall:withSelector:]):
32126        Stash formValues before calling policy delegate.
32127        (-[WebFrame _continueAfterNavigationPolicy:]):
32128        Resurrect formValues after calling policy delegate, pass to continuation method.
32129        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formValues:]):
32130        Bail on nil request instead of shouldContinue=NO
32131        (-[WebFrame _loadURL:loadType:triggeringEvent:formValues:]):
32132        Pass formValues along.
32133        (-[WebFrame _loadURL:intoChild:]): Pass nil formValues.
32134        (-[WebFrame _postWithURL:data:contentType:triggeringEvent:formValues:]):
32135        Pass formValues along.
32136        (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
32137        Pass nil formValues.
32138        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]):
32139        Bail on nil request instead of shouldContinue=NO.  Call new FormDelegate method.
32140        (-[WebFrame _loadDataSource:withLoadType:formValues:]):
32141        Pass formValues along.
32142        (-[WebFrame _downloadRequest:toDirectory:]):
32143        Pass nil formValues.
32144        * WebView.subproj/WebMainResourceClient.m:
32145        (-[WebMainResourceClient continueAfterNavigationPolicy:formValues:]):
32146        Bail on nil request instead of shouldContinue=NO
32147        (-[WebMainResourceClient handle:willSendRequest:]):
32148        Pass nil formValues.
32149
321502003-02-05  Richard Williamson   <rjw@apple.com>
32151
32152        WebHistory* API clenaup.
32153
32154        Reviewed by Chris.
32155
32156        * Bookmarks.subproj/WebBookmarkLeaf.m:
32157        * History.subproj/WebHistory.h:
32158        * History.subproj/WebHistory.m:
32159        * History.subproj/WebHistoryItem.h:
32160        * History.subproj/WebHistoryItem.m:
32161        (-[WebHistoryItem title]):
32162        (-[WebHistoryItem setDisplayTitle:]):
32163        (-[WebHistoryItem hash]):
32164        (-[WebHistoryItem anchor]):
32165        (-[WebHistoryItem isEqual:]):
32166        (-[WebHistoryItem description]):
32167        (-[WebHistoryItem _retainIconInDatabase:]):
32168        (+[WebHistoryItem entryWithURL:]):
32169        (-[WebHistoryItem initWithURL:title:]):
32170        (-[WebHistoryItem initWithURL:target:parent:title:]):
32171        (-[WebHistoryItem URL]):
32172        (-[WebHistoryItem target]):
32173        (-[WebHistoryItem parent]):
32174        (-[WebHistoryItem dictionaryRepresentation]):
32175        (-[WebHistoryItem initFromDictionaryRepresentation:]):
32176        * History.subproj/WebHistoryItemPrivate.h:
32177        * History.subproj/WebHistoryPrivate.h:
32178        * History.subproj/WebHistoryPrivate.m:
32179        * WebKit.pbproj/project.pbxproj:
32180        * WebView.subproj/WebController.h:
32181        * WebView.subproj/WebController.m:
32182        (-[WebController setPreferences:]):
32183        (-[WebController preferences]):
32184        * WebView.subproj/WebControllerPrivate.h:
32185        * WebView.subproj/WebControllerPrivate.m:
32186        (-[WebControllerPrivate dealloc]):
32187        * WebView.subproj/WebDataSourcePrivate.m:
32188        * WebView.subproj/WebFramePrivate.m:
32189
321902003-02-05  Richard Williamson   <rjw@apple.com>
32191
32192        Cleanup public WebHistory API, stage 1.
32193
32194        Reviewed by trey.
32195
32196        * History.subproj/WebHistory.h:
32197        * History.subproj/WebHistory.m:
32198        (-[_WebCoreHistoryProvider initWithHistory:]):
32199        (-[_WebCoreHistoryProvider containsEntryForURLString:]):
32200        (-[_WebCoreHistoryProvider dealloc]):
32201        (+[WebHistory sharedHistory]):
32202        (+[WebHistory createSharedHistoryWithFile:]):
32203        * History.subproj/WebHistoryPrivate.h:
32204        * History.subproj/WebHistoryPrivate.m:
32205
322062003-02-04  Maciej Stachowiak  <mjs@apple.com>
32207
32208        Reviewed by Darin.
32209
32210        * WebKit.pbproj/project.pbxproj: Updated to build the framework
32211        standalone instead of embedded when doing a B&I build for Panther.
32212
322132003-02-04  Chris Blumenberg  <cblu@apple.com>
32214
32215        Fixed: 3163879 - receivedPageIcon:forDataSource: always sends nil image
32216
32217        Reviewed by rjw.
32218
32219        * WebView.subproj/WebDataSourcePrivate.m:
32220        (-[WebDataSource _updateIconDatabaseWithURL:]): 
32221
322222003-02-04  Darin Adler  <darin@apple.com>
32223
32224        Reviewed by Ken.
32225
32226        - fixed 3135388 -- encoding changes do not affect text in form elements
32227
32228        The problem was that form data was being saved and restored, and in the case of buttons,
32229        the form data was the incorrectly decoded button label.
32230
32231        * WebView.subproj/WebFramePrivate.m:
32232        (-[WebFrame _transitionToLayoutAcceptable]): Remove the default: case so we get a warning if
32233        we omit one of the enum values from this switch statement.
32234        (-[WebFrame _transitionToCommitted:]): Move the WebFrameLoadTypeReloadAllowingStaleData
32235        case up so it's right next to the case it should be merged with.
32236        (-[WebFrame _isLoadComplete]): Remove the default: case so we get a warning if
32237        we omit one of enum values from this switch statement.
32238        (-[WebFrame _itemForRestoringDocState]): Replace the if statement with a switch statement.
32239        Include WebFrameLoadTypeReloadAllowingStaleData, which fixes the bug.
32240
322412003-02-03  Richard Williamson   <rjw@apple.com>
32242
32243        Fixed headerdoc type.
32244        
32245        * WebView.subproj/WebDocument.h:
32246
322472003-02-03  Richard Williamson   <rjw@apple.com>
32248
32249        Support for new canProvideDocumentSource and documentSource API.
32250        Updated all the representations.  Added support to show for RTF source.  
32251        Moved WebKitInitializeUnicode to to early class.  This was necessary
32252        because WebCore may use the unicode property functions before WebTextRenderer
32253        gets initialized.
32254        Ensured guarantee that identifierForInitialRequest:fromDataSource: is called with
32255        the first initial request.
32256        
32257        Reviewed by maciej.
32258
32259        * Plugins.subproj/WebNetscapePluginRepresentation.m:
32260        (-[WebNetscapePluginRepresentation canProvideDocumentSource]):
32261        (-[WebNetscapePluginRepresentation documentSource]):
32262        * WebCoreSupport.subproj/WebTextRenderer.m:
32263        * WebView.subproj/WebBaseResourceHandleDelegate.h:
32264        * WebView.subproj/WebBaseResourceHandleDelegate.m:
32265        (-[WebBaseResourceHandleDelegate setIdentifier:]):
32266        * WebView.subproj/WebDataSource.h:
32267        * WebView.subproj/WebDataSource.m:
32268        (-[WebDataSource initWithRequest:]):
32269        (-[WebDataSource controller]):
32270        (-[WebDataSource initialRequest]):
32271        * WebView.subproj/WebDataSourcePrivate.h:
32272        * WebView.subproj/WebDataSourcePrivate.m:
32273        (-[WebDataSourcePrivate dealloc]):
32274        (-[WebDataSource _startLoading:]):
32275        (-[WebDataSource _originalRequest]):
32276        * WebView.subproj/WebDocument.h:
32277        * WebView.subproj/WebHTMLRepresentation.h:
32278        * WebView.subproj/WebHTMLRepresentation.m:
32279        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
32280        (-[WebHTMLRepresentation canProvideDocumentSource]):
32281        * WebView.subproj/WebHTMLView.m:
32282        (+[WebHTMLView initialize]):
32283        * WebView.subproj/WebImageRepresentation.m:
32284        (-[WebImageRepresentation canProvideDocumentSource]):
32285        (-[WebImageRepresentation documentSource]):
32286        * WebView.subproj/WebTextRepresentation.h:
32287        * WebView.subproj/WebTextRepresentation.m:
32288        (-[WebTextRepresentation dealloc]):
32289        (-[WebTextRepresentation setDataSource:]):
32290        (-[WebTextRepresentation finishedLoadingWithDataSource:]):
32291        (-[WebTextRepresentation canProvideDocumentSource]):
32292        (-[WebTextRepresentation documentSource]):
32293
322942003-02-03  Chris Blumenberg  <cblu@apple.com>
32295
32296        Fixed: 3163073 - SECURITY: Need to check if filename in encoded download is safe
32297
32298        Reviewed by kocienda, darin, mjs.
32299
32300        * Downloads.subproj/WebDownloadHandler.m:
32301        (-[WebDownloadHandler createFileIfNecessary]): call _web_filenameByFixingIllegalCharacters on the encoded filename
32302
323032003-02-01  Maciej Stachowiak  <mjs@apple.com>
32304
32305        Reviewed by Darin and Ken.
32306
32307        - fixed 3162581 - 56 debug: Assertion failure displaying pop-up menu while downloading
32308        * WebView.subproj/WebMainResourceClient.m:
32309        (-[WebMainResourceClient handle:didReceiveResponse:]): No need to assert that the controller is
32310        not deferred if this is a handle being used for a download.
32311        (-[WebMainResourceClient handle:didReceiveData:]): Likewise.
32312        (-[WebMainResourceClient handleDidFinishLoading:]): Likewise.
32313        (-[WebMainResourceClient handle:didFailLoadingWithError:]): Likewise.
32314
323152003-01-31  Trey Matteson  <trey@apple.com>
32316
32317        New plumbing for autofill/autocomplete.  WebBrowser receives controlText delegate
32318        messages from our form widgets.  Should result in no behavior change.
32319
32320        New private API is exposed for the app to set a WebFormDelegate.
32321
32322        Reviewed by Richard
32323
32324        * WebCoreSupport.subproj/WebBridge.m:  Pass msgs from WC on to the controller's FormDelegate.
32325        (formDelegate):  Little utility function.
32326        (-[WebBridge controlTextDidBeginEditing:]):
32327        (-[WebBridge controlTextDidEndEditing:]):
32328        (-[WebBridge controlTextDidChange:]):
32329        (-[WebBridge control:textShouldBeginEditing:]):
32330        (-[WebBridge control:textShouldEndEditing:]):
32331        (-[WebBridge control:didFailToFormatString:errorDescription:]):
32332        (-[WebBridge control:didFailToValidatePartialString:errorDescription:]):
32333        (-[WebBridge control:isValidObject:]):
32334        (-[WebBridge control:textView:doCommandBySelector:]):
32335        * WebKit.exp:  New class exported.
32336        * WebKit.pbproj/project.pbxproj:  New WebFormDelegate files.
32337        * WebView.subproj/WebControllerPrivate.h:  API to set/get FormDelegate.
32338        * WebView.subproj/WebControllerPrivate.m:
32339        (-[WebController _setFormDelegate:]):  simple setter
32340        (-[WebController _formDelegate]):  simple getter
32341        * WebView.subproj/WebFormDelegate.h: Added.
32342        * WebView.subproj/WebFormDelegate.m: Added.
32343        NOP impls for all these delegate methods.
32344        (-[WebFormDelegate controlTextDidBeginEditing:inFrame:]):
32345        (-[WebFormDelegate controlTextDidEndEditing:inFrame:]):
32346        (-[WebFormDelegate controlTextDidChange:inFrame:]):
32347        (-[WebFormDelegate control:textShouldBeginEditing:inFrame:]):
32348        (-[WebFormDelegate control:textShouldEndEditing:inFrame:]):
32349        (-[WebFormDelegate control:didFailToFormatString:errorDescription:inFrame:]):
32350        (-[WebFormDelegate control:didFailToValidatePartialString:errorDescription:inFrame:]):
32351        (-[WebFormDelegate control:isValidObject:inFrame:]):
32352        (-[WebFormDelegate control:textView:doCommandBySelector:inFrame:]):
32353
323542003-01-31  Chris Blumenberg  <cblu@apple.com>
32355
32356        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
32357        * WebView.subproj/WebController.m: fixed key value
32358
323592003-01-31  Chris Blumenberg  <cblu@apple.com>
32360
32361        Fixed : 3155148 - image shown when dragging gets size from image file, not size as used on page
32362
32363        Reviewed by darin.
32364
32365        * Misc.subproj/WebNSViewExtras.h:
32366        * Misc.subproj/WebNSViewExtras.m:
32367        (-[NSView _web_dragPromisedImage:rect:URL:fileType:title:event:]): take a rect so we know the original size and origin
32368        * WebKit.exp: added WebElementImageRectKey
32369        * WebView.subproj/WebController.h: WebElementImageRectKey
32370        * WebView.subproj/WebController.m: WebElementImageRectKey
32371        * WebView.subproj/WebHTMLViewPrivate.m:
32372        (-[WebHTMLView _handleMouseDragged:]): call _web_dragPromisedImage with WebElementImageRect
32373        * WebView.subproj/WebImageView.m: 
32374        (-[WebImageView menuForEvent:]): provide the WebElementImageRect since we do this for other image elements
32375        (-[WebImageView mouseDragged:]): call _web_dragPromisedImage with [self bounds]
32376
32377=== Safari-55 ===
32378
323792003-01-30  Chris Blumenberg  <cblu@apple.com>
32380
32381        Backed out my fix for 3161102. Richard and I found problems the fix. 3161102 turns out to not be an issue.
32382
32383        Reviewed by rjw.
32384
32385        * History.subproj/WebHistoryItem.m:
32386        (+[WebHistoryItem _releaseAllPendingPageCaches]):
32387        * WebView.subproj/WebHTMLView.m:
32388        (-[WebHTMLView windowWillClose:]):
32389
323902003-01-30  Chris Blumenberg  <cblu@apple.com>
32391
32392        Fixed: 3161102 - Avoid retain cycles by destroying plug-ins in the page cache before dealloc
32393
32394        Reviewed by rjw.
32395
32396        * History.subproj/WebHistoryItem.m:
32397        (+[WebHistoryItem _releaseAllPendingPageCaches]): iterate over all of the plug-ins and call destroy
32398        * WebView.subproj/WebHTMLView.m:
32399        (-[WebHTMLView windowWillClose:]): clear page cache
32400
324012003-01-30  Chris Blumenberg  <cblu@apple.com>
32402
32403        Fixed: 3160464 - Slideback sometimes happens twice
32404
32405        Because we start drags in mouseDragged (which AppKit says we shouldn't), we get mouseDragged events
32406        after a drag (image, link, text etc) has ended. We also get mouseDragged events after we've sent the
32407        fake mouseUp to WebCore. That is probably bad for unknown reasons.
32408
32409        Reviewed by darin.
32410
32411        * WebView.subproj/WebHTMLView.m:
32412        (-[WebHTMLView mouseDown:]): set ignoringMouseDraggedEvents to NO
32413        (-[WebHTMLView mouseDragged:]): check ignoringMouseDraggedEvents
32414        (-[WebHTMLView draggedImage:endedAt:operation:]): set ignoringMouseDraggedEvents to NO
32415        * WebView.subproj/WebHTMLViewPrivate.h: added ignoringMouseDraggedEvents
32416
324172003-01-30  Darin Adler  <darin@apple.com>
32418
32419        Reviewed by John.
32420
32421        - fixed 3160710 -- REGRESSION: bizrate.com front page ad in wrong position
32422
32423        The new code to compute port coordinates was screwing up somehow.
32424        I had to roll it out and we'll have to try again to fix the problem Ed was fixing.
32425
32426        * Plugins.subproj/WebBaseNetscapePluginView.m:
32427        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
32428        Roll back changes between 1.45 and 1.47.
32429
324302003-01-29  Darin Adler  <darin@apple.com>
32431
32432        Reviewed by John.
32433
32434        - fixed 3158624 -- crash reentering WebBaseNetscapePluginView removeTrackingRect closing window
32435
32436        * Plugins.subproj/WebBaseNetscapePluginView.m:
32437        (-[WebBaseNetscapePluginView removeTrackingRect]):
32438        Set tracking tag to 0 before releasing the window to prevent reentering.
32439
324402003-01-29  Ken Kocienda  <kocienda@apple.com>
32441
32442        Reviewed by Darin.
32443
32444        Fix for this bug:
32445
32446        Radar 3142818 (Downloading many items quickly can cause future page loads to fail)
32447
32448        The issue was with a mismatch between different object's idea about
32449        whether callbacks were being deferred. I have simplified the code in this
32450        area somewhat, and I have added some asserts to make sure that callbacks
32451        are not sent when deferalls are on. 
32452
32453        More work will need to be done in callback deferral-land, however. This change
32454        fixes the bug, but it may not be a good long-term fix.  I will file a bug on 
32455        the need for this additonal work.
32456
32457        * WebView.subproj/WebBaseResourceHandleDelegate.h:
32458        * WebView.subproj/WebBaseResourceHandleDelegate.m:
32459        (-[WebBaseResourceHandleDelegate defersCallbacks]): Added method.
32460        * WebView.subproj/WebMainResourceClient.h: Removed unneeded defersBeforeCheckingPolicy flag.
32461        * WebView.subproj/WebMainResourceClient.m:
32462        (-[WebMainResourceClient continueAfterNavigationPolicy:request:]): Unconditionally set 
32463        callback deferrals to NO.
32464        (-[WebMainResourceClient handle:willSendRequest:]): Remove all callback deferral code here.
32465        (-[WebMainResourceClient continueAfterContentPolicy:response:]): Unconditionally set 
32466        callback deferrals to NO.
32467        (-[WebMainResourceClient handle:didReceiveResponse:]): Assert that the handle argument
32468        to this method, the client (self), and the data source's controller all are not
32469        deferring callbacks.
32470        Unconditionally set callback deferrals to YES.
32471        (-[WebMainResourceClient handle:didReceiveData:]): Ditto
32472        (-[WebMainResourceClient handleDidFinishLoading:]): Ditto
32473        (-[WebMainResourceClient handle:didFailLoadingWithError:]): Ditto
32474
324752003-01-29  John Sullivan  <sullivan@apple.com>
32476
32477        - fixed 3160116 -- REGRESSION:leak in WebBookmarkLeaf at startup
32478
32479        Reviewed by Darin
32480
32481        * Bookmarks.subproj/WebBookmarkLeaf.m:
32482        (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
32483        don't leak the _entry that was created in initWithURLString:title:group:
32484
324852003-01-29  Trey Matteson  <trey@apple.com>
32486
32487        3159750 - REGRESSION: cursor is I-beam when over a standalone image
32488
32489        We now reset the cursor to arrow before switching doc views.
32490
32491        Also, made various replacements of "id <WebDocumentView>" with "NSView < WebDocumentView> *"
32492        to get better compile time checking.
32493
32494        Reviewed by Darin.
32495
32496        * WebView.subproj/WebFramePrivate.m:
32497        (-[WebFrame _makeDocumentView]):  Use NSView*
32498        (-[WebFrame _transitionToCommitted:]): Use NSView*
32499        * WebView.subproj/WebViewPrivate.h: Use NSView*
32500        * WebView.subproj/WebViewPrivate.m:
32501        (-[WebView _setDocumentView:]): Use NSView*.  Reset cursor.
32502        (-[WebView _makeDocumentViewForDataSource:]): Use NSView*
32503
325042003-01-29  Chris Blumenberg  <cblu@apple.com>
32505
32506        3159529 - REGRESSION: URLs with no path are saved as "-.html"
32507
32508        Reviewed by darin, trey, kocienda.
32509
32510        * Misc.subproj/WebResourceResponseExtras.m:
32511        (-[NSURL _web_suggestedFilenameForSavingWithMIMEType:]): Don't use the lastPathComponent if it is "/".
32512
325132003-01-28  Trey Matteson  <trey@apple.com>
32514
32515        Removing ERROR() that isn't an error, left over from the Safari-48 download firedrill.
32516
32517        Reviewed by Chris.
32518
32519        * Downloads.subproj/WebDownloadHandler.m:
32520        (-[WebDownloadHandler cleanUpAfterFailure]):  Don't ERROR if we are asked to cleanup
32521        a file and there is nothing to cleanup.  This can happen in the rare case of the
32522        download being canceled before the first byte arrives, and we deal properly, no ERROR.
32523
325242003-01-28  Chris Blumenberg  <cblu@apple.com>
32525
32526        Fixed: 3150856 - crash with full-size plugins in frame or iframe
32527
32528        Reviewed by darin.
32529
32530        * Plugins.subproj/WebBaseNetscapePluginView.m:
32531        (-[WebBaseNetscapePluginView start]): added assert
32532        * Plugins.subproj/WebNetscapePluginDocumentView.m:
32533        (-[WebNetscapePluginDocumentView setDataSource:]): added assert
32534        * WebView.subproj/WebFramePrivate.m:
32535        (-[WebFrame _makeDocumentView]): Don't call setDataSource here because the view is not in the view hierarchy at this point.
32536        * WebView.subproj/WebViewPrivate.m:
32537        (-[WebView _makeDocumentViewForDataSource:]): Call setDataSource on the document view after it has been placed in the view hierarchy. This what we for the top-level view, so should do this for views in subframes as well.
32538
325392003-01-28  Chris Blumenberg  <cblu@apple.com>
32540
32541        Fixed: 3156172 - No filename correction when downloading images via drag & drop
32542
32543        Reviewed by mjs, john, trey.
32544
32545        * WebView.subproj/WebControllerPrivate.h:
32546        * WebView.subproj/WebControllerPrivate.m:
32547        (-[WebController _downloadURL:]): call _downloadURL:toDirectory:
32548        (-[WebController _downloadURL:toDirectory:]): call -[WebFrame _downloadRequest:toDirectory:]
32549        * WebView.subproj/WebDataSourcePrivate.h:
32550        * WebView.subproj/WebDataSourcePrivate.m:
32551        (-[WebDataSourcePrivate dealloc]): release the download directory
32552        (-[WebDataSource _setDownloadDirectory:]): new
32553        (-[WebDataSource _downloadDirectory]): new
32554        * WebView.subproj/WebFramePrivate.h:
32555        * WebView.subproj/WebFramePrivate.m:
32556        (-[WebFrame _downloadRequest:toDirectory:]): renamed
32557        * WebView.subproj/WebHTMLView.m:
32558        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call -[WebController _downloadURL:toDirectory:]
32559        * WebView.subproj/WebImageView.m:
32560        (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): call -[WebController _downloadURL:toDirectory:]
32561        * WebView.subproj/WebMainResourceClient.m:
32562        (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the data source has a download directory, use it plus the filename from the response as download path
32563
325642003-01-28  Trey Matteson  <trey@apple.com>
32565
32566        2940179 - Arrow cursor should change to link cursor after click of link in non-frontmost window
32567        3158240 - cursor does not track when switching from panels to safari windows
32568
32569        Two changes here:  First, we post fake mousemoved events to get the cursor fixed up
32570        without checking if the mouse is down (WC deals with that now).  That fixes 2940179,
32571        because the button is down when we get notified of becoming key.
32572
32573        Second, we observe key window instead of main window notifications everywhere, so we
32574        update the cursor when clicking between a panel and our doc windows.
32575
32576        Reviewed by Darin.
32577
32578        * WebView.subproj/WebHTMLView.m:
32579        (-[WebHTMLView addMouseMovedObserver]):  s/main/key/g
32580        (-[WebHTMLView addWindowObservers]):    s/main/key/g
32581        (-[WebHTMLView removeWindowObservers]):  s/main/key/g
32582        (-[WebHTMLView windowDidBecomeKey:]):  s/main/key/g
32583        (-[WebHTMLView windowDidResignKey:]):  s/main/key/g
32584        * WebView.subproj/WebHTMLViewPrivate.m:
32585        (-[WebHTMLView _frameOrBoundsChanged]):  Always post mousemoved event.
32586
325872003-01-28  John Sullivan  <sullivan@apple.com>
32588
32589        - fixed 3158304 -- Assertion failure cancelling "Add Bookmark"
32590        or deleting newly-created bookmarks
32591
32592        Reviewed by Darin
32593
32594        * Bookmarks.subproj/WebBookmarkGroup.m:
32595        (-[WebBookmarkGroup _bookmark:changedUUIDFrom:to:]):
32596        new method that notifies group when a bookmark that's already
32597        in a group changes its UUID -- the UUID to bookmark dictionary
32598        updates for this change.
32599
32600        * Bookmarks.subproj/WebBookmarkGroupPrivate.h:
32601        private declaration for this method
32602
32603        * Bookmarks.subproj/WebBookmark.m:
32604        (-[WebBookmark _setUUID:]):
32605        notify group when UUID changes
32606        (-[WebBookmark UUID]):
32607        ditto
32608
326092003-01-28  Darin Adler  <darin@apple.com>
32610
32611        Reviewed by Ken.
32612
32613        - fixed 3156197 -- leak in -[WebBookmarkList initFromDictionaryRepresentation:withGroup:]
32614
32615        * Bookmarks.subproj/WebBookmarkList.m:
32616        (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]):
32617        Fixed storage leak by not allocating the list here, because [self init] will
32618        be called and that will allocate the list.
32619
326202003-01-26  Maciej Stachowiak  <mjs@apple.com>
32621
32622        Reviewed by Darin and Ken.
32623
32624        * English.lproj/StringsNotToBeLocalized.txt: Removed unused exception.
32625
326262003-01-27  Chris Blumenberg  <cblu@apple.com>
32627
32628        Fixed: 3156230 - REGRESSION: Java 141: Safari Does Not Stop Applets When Browser Window Closes
32629
32630        Reviewed by dave.
32631
32632        * Plugins.subproj/WebPluginController.h:
32633        * Plugins.subproj/WebPluginController.m:
32634        (-[WebPluginController destroyAllPlugins]): renamed from HTMLViewWillBeDeallocated because it may get called before the dealloc
32635        * WebView.subproj/WebHTMLView.m:
32636        (-[WebHTMLView addWindowObservers]): observe NSWindowWillCloseNotification
32637        (-[WebHTMLView removeWindowObservers]): remove observer for NSWindowWillCloseNotification
32638        (-[WebHTMLView windowWillClose:]): call destroyAllPlugins
32639        * WebView.subproj/WebHTMLViewPrivate.m:
32640        (-[WebHTMLViewPrivate dealloc]): call destroyAllPlugins
32641
326422003-01-27  Richard Williamson   <rjw@apple.com>
32643
32644        Fixed 3139909.  Fake the resource load delegate messages (minus willSendRequest)
32645        when a page is loaded from a the page cache.
32646        
32647        Reviewed by john.
32648
32649        * WebView.subproj/WebBaseResourceHandleDelegate.m:
32650        (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]):
32651        * WebView.subproj/WebDataSourcePrivate.h:
32652        * WebView.subproj/WebDataSourcePrivate.m:
32653        (-[WebDataSourcePrivate dealloc]):
32654        (-[WebDataSource _addResponse:]):
32655        (-[WebDataSource _responses]):
32656        * WebView.subproj/WebFramePrivate.m:
32657        (-[WebFrame _opened]):
32658
326592003-01-27  Trey Matteson  <trey@apple.com>
32660
32661        3157104 - reproducible assert in _continueFragmentScrollAfterNavigationPolicy
32662
32663        Remove assertion, and it turns out the existing code will handle the case.
32664
32665        * WebView.subproj/WebFramePrivate.m:
32666        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]):
32667
326682003-01-27  Richard Williamson   <rjw@apple.com>
32669
32670        Make emptying the page cache synchronous when "Empty Cache"
32671        is selected from menu.  More bulletproofing to ensure that
32672        3155781 doesn't happen.
32673        
32674        Reviewed by trey.
32675
32676        * History.subproj/WebBackForwardList.m:
32677        (-[WebBackForwardList clearPageCache]):
32678
326792003-01-27  Chris Blumenberg  <cblu@apple.com>
32680
32681        Fixed: 3156235 - change throttle for plug-in null events to 50 frames per second (when frontmost)
32682
32683        Reviewed by dave.
32684
32685        * Plugins.subproj/WebBaseNetscapePluginView.m:
32686
326872003-01-27  Richard Williamson   <rjw@apple.com>
32688
32689        Fixed 3151241.  Cleanly handle nil return from resource:willSendRequest:fromDataSource:.
32690        
32691        Reviewed by trey.
32692
32693        * WebView.subproj/WebBaseResourceHandleDelegate.m:
32694        (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
32695        (-[WebBaseResourceHandleDelegate handleDidFinishLoading:]):
32696        (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]):
32697        (-[WebBaseResourceHandleDelegate cancelWithError:]):
32698        * WebView.subproj/WebControllerPrivate.m:
32699        (-[WebController _mainReceivedError:fromDataSource:complete:]):
32700
327012003-01-27  John Sullivan  <sullivan@apple.com>
32702
32703        - fixed 3156744 -- REGRESSION: Renaming bookmarks dragged 
32704        into bookmark bar does not work at first
32705
32706        Reviewed by Darin
32707
32708        * Bookmarks.subproj/WebBookmarkList.m:
32709        (-[WebBookmarkList insertChild:atIndex:]):
32710        was adding self to its own group (a no-op), instead of adding
32711        the new child to self's group. This was a typo from the
32712        refactoring to fix 3152427.
32713
327142003-01-27  Chris Blumenberg  <cblu@apple.com>
32715
32716        * English.lproj/StringsNotToBeLocalized.txt: Updated for changes I previously made.
32717
327182003-01-26  Chris Blumenberg  <cblu@apple.com>
32719
32720        Fixed: 3156725 - Partially selected links show extra underlining when dragged
32721
32722        Reviewed by darin.
32723
32724        * WebCoreSupport.subproj/WebTextRenderer.m:
32725        (drawLineForCharacters...): don't ignore "from" "to" parameters
32726
327272003-01-25  Darin Adler  <darin@apple.com>
32728
32729        Reviewed by Maciej.
32730
32731        - fixed 3126211 -- "go back" buttons that use "history.go(-1)" doesn't work (verizonwireless.com is an example)
32732
32733        Implemented new bridge functions for use by the history object.
32734
32735        * History.subproj/WebBackForwardList.h: Added backListCount and entryAtIndex:.
32736        * History.subproj/WebBackForwardList.m:
32737        (-[WebBackForwardList backListCount]): Added.
32738        (-[WebBackForwardList entryAtIndex:]): Added.
32739        * WebCoreSupport.subproj/WebBridge.m:
32740        (-[WebBridge historyLength]): Added. Calls backListCount.
32741        (-[WebBridge goBackOrForward:]): Added. Calls entryAtIndex: and then goBackOrForwardToItem:.
32742
327432003-01-25  Chris Blumenberg  <cblu@apple.com>
32744
32745        Fixed: 3153605 - Drag image when dragging text should be the actual text
32746
32747        Reviewed by darin.
32748
32749        * Misc.subproj/WebNSImageExtras.m:
32750        (-[NSImage _web_dissolveToFraction:]): handle non-flipped images
32751        * Misc.subproj/WebNSViewExtras.h: moved some constants around
32752        * Misc.subproj/WebNSViewExtras.m:
32753        * Resources/text_clipping.tiff: Removed.
32754        * WebKit.pbproj/project.pbxproj:
32755        * WebView.subproj/WebHTMLViewPrivate.m:
32756        (-[WebHTMLView _handleMouseDragged:]): cleaned-up, get text drag image from WebCore
32757
327582003-01-25  Darin Adler  <darin@apple.com>
32759
32760        * Plugins.subproj/WebBaseNetscapePluginView.m: Replace some tabs with spaces.
32761
327622003-01-24  Richard Williamson   <rjw@apple.com>
32763
32764        Cleaned up some stray comments.
32765        
32766        Reviewed by kocienda.
32767
32768        * Misc.subproj/WebUnicode.m:
32769        (getShape):
32770        (nextChar):
32771        (glyphVariantLogical):
32772        (shapedString):
32773
327742003-01-24  Trey Matteson  <trey@apple.com>
32775
32776        Chris pointed out a FIXME that led to a more contained way to make sure the cursor
32777        is correct during and after image/text/URL dragging.
32778
32779        Reviewed by Chris.
32780
32781        * WebView.subproj/WebHTMLView.m:
32782        (-[WebHTMLView draggedImage:endedAt:operation:]):  No need to reset the cursor at
32783        the end of dragging.  WC deals with it.
32784        * WebView.subproj/WebHTMLViewPrivate.m:
32785        (-[WebHTMLView _handleMouseDragged:]):  No need to set the cursor to arrow, WC
32786        deals with it.
32787
327882003-01-24  Darin Adler  <darin@apple.com>
32789
32790        Reviewed by Dave.
32791
32792        - fixed 3142852 -- frame content repeatedly requested
32793
32794        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge incomingReferrer]):
32795        Added a way to get the referrer across the bridge, needed for bug fix.
32796
327972003-01-24  Ed Voas  <voas@apple.com>
32798
32799        Reviewed by Darin.
32800
32801        Netscape plugins were being improperly positioned. I noticed this when I
32802        put the web view into a window with borders around it (Carbon metal window,
32803        but I would imagine Cocoa metal would do it too).
32804
32805        * Plugins.subproj/WebBaseNetscapePluginView.m:
32806        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
32807
328082003-01-23  Trey Matteson  <trey@apple.com>
32809
32810        3155162 - cursor changes to I-beam after dragging image
32811        3154468 - no mouseup event comes through after text snippet drag
32812
32813        During AK dragging the system takes over the event stream and we never get any mouse
32814        move or up events.  It also changes the cursor behind out back.  When done
32815        cached state that thinks it knows the current cursor is wrong.
32816
32817        The fix is that after the drag we reset the cursor and synthesize a mouseup event,
32818        which then sets the cursor based on what we're really over.
32819
32820        Reviewed by Darin.
32821
32822        * WebView.subproj/WebHTMLView.m:
32823        (-[WebHTMLView draggedImage:endedAt:operation:]):  After the drag,
32824        reset the cursor, fake up a mouseup event.
32825
328262003-01-24  John Sullivan  <sullivan@apple.com>
32827
32828        Reviewed by Trey
32829
32830        * WebView.subproj/WebHTMLView.m:
32831        (-[WebHTMLView takeFindStringFromSelection:]):
32832        Now uses new _web_setFindPasteboardString:withOwner: to share code.
32833
328342003-01-24  John Sullivan  <sullivan@apple.com>
32835
32836        Reviewed by Trey
32837
32838        * Misc.subproj/WebNSPasteboardExtras.h:
32839        * Misc.subproj/WebNSPasteboardExtras.m:
32840        (+[NSPasteboard _web_setFindPasteboardString:withOwner:]):
32841        New method to put text on the Find pasteboard.
32842
328432003-01-23  Maciej Stachowiak  <mjs@apple.com>
32844
32845        Reviewed by Trey.
32846
32847        * WebView.subproj/WebController.h: Remove unneeded declaration in
32848        sample code.
32849
328502003-01-23  Chris Blumenberg  <cblu@apple.com>
32851
32852        Made WebTextView use the same format for context menus as the rest of WebKit.
32853        Implemented "Copy" context menu.
32854
32855        Reviewed by john.
32856
32857        * English.lproj/Localizable.strings:
32858        * WebView.subproj/WebControllerPrivate.m:
32859        (-[WebController _menuForElement:]): tweak.
32860        * WebView.subproj/WebDefaultContextMenuDelegate.m:
32861        (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]): added "Copy" context menu.
32862        * WebView.subproj/WebImageView.m:
32863        (-[WebImageView menuForEvent:]): added asserts
32864        * WebView.subproj/WebTextView.m:
32865        (-[WebTextView menuForEvent:]): implemented
32866
328672003-01-23  Maciej Stachowiak  <mjs@apple.com>
32868
32869        Reviewed by Darin.
32870
32871        * WebView.subproj/WebController.m: Add missing static.
32872
328732003-01-23  Darin Adler  <darin@apple.com>
32874
32875        Reviewed by John.
32876
32877        * Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder fileAttributes]):
32878        * Downloads.subproj/WebMacBinaryDecoder.m: (-[WebMacBinaryDecoder fileAttributes]):
32879        Use "FinderFlags" instead of "FinderInfo" as appropriate, since these are
32880        just the Finder flags, not all the Finder info.
32881
32882        * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler createFileIfNecessary]):
32883        * Misc.subproj/WebNSWorkspaceExtras.m: (-[NSWorkspace _web_noteFileChangedAtPath:]):
32884        * Plugins.subproj/WebNetscapePluginPackage.m:
32885        (-[WebNetscapePluginPackage openResourceFile]):
32886        (-[WebNetscapePluginPackage pathByResolvingSymlinksAndAliasesInPath:]):
32887        (-[WebNetscapePluginPackage load]):
32888        Use fileSystemRepresentation instead of fileSystemRepresentationWithPath:
32889        because it's simpler and there's no good reason to use the other one.
32890
32891        * WebView.subproj/WebUserAgentSpoofTable.gperf: Improved one of the motivating comments.
32892
32893        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
32894
32895=== Safari-54 ===
32896
328972003-01-22  Chris Blumenberg  <cblu@apple.com>
32898
32899        Fixed problem where we weren't stopping the Java plug-in. This problem was introduced on Jan. 1
32900        when the ownership of the WebPluginController was moved from WebFrame to WebDataSource. This
32901        change moves the WebPluginController to the WebHTMLView. Why this change?
32902
32903        - The state of the plug-ins (currently only the Java plug-in) completely relies on the state of
32904          the WebHTMLView, not on the state of the WebDataSource.
32905
32906        - WebHTMLView and WebDataSource are usually coupled via WebView and WebFrame, but not always.
32907          In a transitional state, the WebHTMLView may not be up to date with the WebDataSource.
32908
32909        - WebPluginController controls an array of views. It makes more sense for this object to be
32910          owned by a view (WebHTMLView) not a model.
32911
32912        Reviewed by darin.
32913
32914        * Plugins.subproj/WebPluginController.h:
32915        * Plugins.subproj/WebPluginController.m:
32916        (-[WebPluginController initWithHTMLView:]): renamed, take the HTML view
32917        (-[WebPluginController addPlugin:]): use the HTML view
32918        (-[WebPluginController HTMLViewWillBeDeallocated]): renamed
32919        (-[WebPluginController showURL:inFrame:]): use the HTML view
32920        (-[WebPluginController showStatus:]): use the HTML view
32921        * WebCoreSupport.subproj/WebBridge.m:
32922        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): get the plug-in controller from the HTML view
32923        * WebView.subproj/WebDataSourcePrivate.h:
32924        * WebView.subproj/WebDataSourcePrivate.m:
32925        (-[WebDataSourcePrivate dealloc]): removed calls to plug-in controller 
32926        * WebView.subproj/WebHTMLView.m:
32927        (-[WebHTMLView initWithFrame:]): create plug-in controller
32928        (-[WebHTMLView viewWillMoveToWindow:]): get plug-in controller from self, data source won't be accessible here since we don't have a superview
32929        (-[WebHTMLView viewDidMoveToWindow]): get plug-in controller from self
32930        (-[WebHTMLView addSubview:]): get plug-in controller from self
32931        * WebView.subproj/WebHTMLViewPrivate.h:
32932        * WebView.subproj/WebHTMLViewPrivate.m:
32933        (-[WebHTMLViewPrivate dealloc]): release plug-in controller
32934        (-[WebHTMLView _pluginController]): added
32935
329362003-01-22  John Sullivan  <sullivan@apple.com>
32937
32938        - fixed 3152427 -- Need unique IDs for bookmarks, for 
32939        synching's sake
32940
32941        Bookmarks now have a UUID string so that each can maintain its identity
32942        even in the face of multi-machine synching. One known loose end is written 
32943        up in 3153832 (unique IDs in bookmarks aren't preserved correctly after copy/paste).
32944        This should be good enough now for the iSynch folks to start implementing
32945        the bookmarks-synching conduit.
32946
32947        I also did some cleanup in this area to share more code and handle
32948        init methods more cleanly, inspired by earlier feedback from Trey and Darin.
32949
32950        Reviewed by Trey and Darin
32951
32952        * Bookmarks.subproj/WebBookmark.h:
32953        new _UUID ivar, UUID declaration
32954        * Bookmarks.subproj/WebBookmarkPrivate.h:
32955        new _setUUID and _hasUUID declarations
32956
32957        * Bookmarks.subproj/WebBookmark.m:
32958        (-[WebBookmark dealloc]):
32959        assert that group is nil here; release _UUID
32960        (-[WebBookmark copyWithZone:]):
32961        implement the code shared by each subclass; formerly had no implementation.
32962        (-[WebBookmark _setUUID:]):
32963        private method to set the UUID
32964        (-[WebBookmark UUID]):
32965        public method to get the UUID; this lazily creates the UUID.
32966        (-[WebBookmark _hasUUID]):
32967        private method to check whether there's a UUID without creating
32968        one by side effect (as calling -[WebBookmark UUID] would)
32969        (-[WebBookmark initFromDictionaryRepresentation:withGroup:]):
32970        implement the code shared by each subclass; formerly had no implementation.
32971        (-[WebBookmark dictionaryRepresentation]):
32972        implement the code shared by each subclass; formerly had no implementation.
32973
32974        * Bookmarks.subproj/WebBookmarkGroup.h:
32975        new _bookmarksByUUID ivar
32976        * Bookmarks.subproj/WebBookmarkGroupPrivate.h:
32977        declarations for new methods _addBookmark: and _removeBookmark:
32978
32979        * Bookmarks.subproj/WebBookmarkGroup.m:
32980        (-[WebBookmarkGroup init]):
32981        new method, just complains that you should have called initWithFile: instead.
32982        (-[WebBookmarkGroup initWithFile:]):
32983        create _bookmarksByUUID
32984        (-[WebBookmarkGroup dealloc]):
32985        release _bookmarksByUUID
32986        (-[WebBookmarkGroup _addBookmark:]):
32987        new method, if bookmark has UUID, adds it to table, and recursively
32988        processes children the same way
32989        (-[WebBookmarkGroup _removeBookmark:]):
32990        new method, if bookmark has UUID, removes it from table, and recursively
32991        processes children the same way
32992        (-[WebBookmarkGroup _setTopBookmark:]):
32993        replace [bookmark setGroup:group] with [group _addBookmark:bookmark]
32994        so it runs through the UUID code
32995        (-[WebBookmarkGroup _bookmarkChildren:wereRemovedFromParent:]):
32996        retitled this from "wereRemovedToParent"
32997
32998        * Bookmarks.subproj/WebBookmarkLeaf.m:
32999        (-[WebBookmarkLeaf init]):
33000        now calls initWithURLString:title:group with nil parameters so that
33001        there's a designated initializer
33002        (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
33003        rewritten to do only the subclasses' part now
33004        (-[WebBookmarkLeaf dictionaryRepresentation]):
33005        rewritten to do only the subclasses' part now
33006        (-[WebBookmarkLeaf copyWithZone:]):
33007        rewritten to do only the subclasses' part now
33008
33009        * Bookmarks.subproj/WebBookmarkList.m:
33010        (-[WebBookmarkList init]):
33011        now calls initWithTitle:group with nil parameters so that
33012        there's a designated initializer
33013        (-[WebBookmarkList initWithTitle:group:]):
33014        replace [bookmark setGroup:group] with [group _addBookmark:bookmark]
33015        so it runs through the UUID code
33016        (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]):
33017        rewritten to do only the subclasses' part now
33018        (-[WebBookmarkList dictionaryRepresentation]):
33019        rewritten to do only the subclasses' part now
33020        (-[WebBookmarkList copyWithZone:]):
33021        rewritten to do only the subclasses' part now
33022        (-[WebBookmarkList _setGroup:]):
33023        removed this override, which used to do the recursion to set the group
33024        of children; this recursion is now done by -[WebBookmarkGroup _addBookmark:]
33025        and _removeBookmark:
33026        (-[WebBookmarkList removeChild:]):
33027        wereRemovedToParent -> wereRemovedFromParent
33028        (-[WebBookmarkList insertChild:atIndex:]):
33029        replace [bookmark setGroup:group] with [group _addBookmark:bookmark]
33030        so it runs through the UUID code
33031
33032        * Bookmarks.subproj/WebBookmarkProxy.m:
33033        (-[WebBookmarkProxy init]):
33034        now calls initWithTitle:group with nil parameters so that
33035        there's a designated initializer
33036        (-[WebBookmarkProxy initWithTitle:group:]):
33037        replace [bookmark setGroup:group] with [group _addBookmark:bookmark]
33038        so it runs through the UUID code
33039        (-[WebBookmarkProxy initFromDictionaryRepresentation:withGroup:]):
33040        rewritten to do only the subclasses' part now
33041        (-[WebBookmarkProxy dictionaryRepresentation]):
33042        rewritten to do only the subclasses' part now
33043        (-[WebBookmarkProxy copyWithZone:]):
33044        rewritten to do only the subclasses' part now
33045
330462003-01-22  Darin Adler  <darin@apple.com>
33047
33048        Reviewed by Maciej.
33049
33050        - fixed 3153673 -- spoof as MacIE to get into http://www.mazdausa.com
33051        - fixed 3153678 -- spoof as MacIE for http://wap.sonyericsson.com/
33052
33053        * WebView.subproj/WebUserAgentSpoofTable.gperf: Add the two new entries.
33054        Also reorganize existing entries a bit.
33055
330562003-01-22  Chris Blumenberg  <cblu@apple.com>
33057
33058        Removed comment that I added by mistake.
33059
33060        * WebView.subproj/WebHTMLView.m:
33061        (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
33062
330632003-01-22  Chris Blumenberg  <cblu@apple.com>
33064
33065        Fixed: 3153651 - text dragging does not work to Terminal
33066
33067        Reviewed by trey.
33068
33069        * WebView.subproj/WebHTMLView.m:
33070        (-[WebHTMLView draggingSourceOperationMaskForLocal:]): Terminal only accepts the drag if one of the operations is generic. Made the operation both generic and copy.
33071
330722003-01-21  Chris Blumenberg  <cblu@apple.com>
33073
33074        Added support for text dragging.
33075
33076        Reviewed by dave.
33077
33078        * Resources/text_clipping.tiff: Added. Temp drag image until we can create an image of the selected text.
33079        * WebCoreSupport.subproj/WebBridge.m:
33080        (-[WebBridge mayStartDragWithMouseDraggedEvent:]): renamed, we now ask if OK to drag during the drag
33081        * WebKit.exp: renamed element key for selected text
33082        * WebKit.pbproj/project.pbxproj:
33083        * WebView.subproj/WebController.h: renamed element key for selected text
33084        * WebView.subproj/WebController.m: renamed element key for selected text
33085        * WebView.subproj/WebHTMLViewPrivate.h:
33086        * WebView.subproj/WebHTMLViewPrivate.m:
33087        (-[WebHTMLView _handleMouseDragged:]): added support for text dragging
33088        (-[WebHTMLView _mayStartDragWithMouseDragged:]): renamed, we now ask if OK to drag during the drag
33089
330902003-01-20  Maciej Stachowiak  <mjs@apple.com>
33091
33092        Reviewed by Trey.
33093
33094        - fixed 3132120 - onchange handler not firing on mac.com webmail
33095        * WebView.subproj/WebHTMLViewPrivate.m:
33096        (-[WebNSTextView resignFirstResponder]): If we really resign first responder, and
33097        our delegate responds to filedWillBecomeFirstResponder, then call that method.
33098        (-[WebNSTextView becomeFirstResponder]): If we really become first responder, and
33099        our delegate responds to filedWillBecomeFirstResponder, then call that method.
33100
331012003-01-20  Trey Matteson  <trey@apple.com>
33102
33103        Nit fix to remove a dead "cursor" ivar found while grepping.
33104
33105        Reviewed by Richard.
33106
33107        * WebView.subproj/WebDynamicScrollBarsView.h:
33108        * WebView.subproj/WebDynamicScrollBarsView.m:
33109
331102003-01-18  Maciej Stachowiak  <mjs@apple.com>
33111
33112        Reviewed by John.
33113
33114        - fixed 3123041 - VIP: Spewage at bottom of oregonlive.com and other similar pages
33115
33116        * WebView.subproj/WebUserAgentSpoofTable.gperf: Added nj.com to spoof list
33117        below oregonlive.com (which was already in there). Added comment explaining the
33118        need to spoof a bit more.
33119        * WebView.subproj/WebUserAgentSpoofTable.c:
33120        (hash):
33121        (_web_findSpoofTableEntry): Regenerated.
33122
331232003-01-17  Chris Blumenberg  <cblu@apple.com>
33124
33125        Fixed: 3143656 - crash in MIMETypeForFile when a large QT movie is dragged over window
33126
33127        Reviewed by darin.
33128
33129        * WebView.subproj/WebControllerPrivate.m:
33130        (+[WebController _MIMETypeForFile:]): rewrote, now calls _web_guessedMIMEType
33131
331322003-01-17  Darin Adler  <darin@apple.com>
33133
33134        - compressed all our non-compressed TIFF files
33135
33136        * Resources/nullplugin.tiff:
33137        * Resources/url_icon.tiff:
33138
331392003-01-16  Darin Adler  <darin@apple.com>
33140
33141        * WebView.subproj/WebController.h: Fixed a comment that was out of date.
33142
331432003-01-16  Chris Blumenberg  <cblu@apple.com>
33144
33145        Fixed comment.
33146
33147        * Plugins.subproj/WebBaseNetscapePluginView.m:
33148
331492003-01-16  Chris Blumenberg  <cblu@apple.com>
33150
33151        Fixed: 3125743 - right-click doesn't count as ctrl-click in Flash
33152
33153        AppKit doesn't call mouseDown or mouseUp on right-click. Simulate control-click mouseDown and mouseUp so plug-ins get the right-click event as they do in Carbon
33154
33155        Reviewed by darin.
33156
33157        * Plugins.subproj/WebBaseNetscapePluginView.m:
33158        (-[WebBaseNetscapePluginView rightMouseDown:]):
33159        (-[WebBaseNetscapePluginView rightMouseUp:]):
33160
331612003-01-16  Darin Adler  <darin@apple.com>
33162
33163        Reviewed by John.
33164
33165        - added an API for dumping the external representation of the render tree for testing
33166
33167        * Misc.subproj/WebCoreStatistics.h: Added renderTreeAsExternalRepresentation.
33168        * Misc.subproj/WebCoreStatistics.m: (-[WebFrame renderTreeAsExternalRepresentation]): Added.
33169
33170        - removed remnants of an earlier more-naive cut at this same sort of thing
33171
33172        * Misc.subproj/WebTestController.h: Removed.
33173        * Misc.subproj/WebTestController.m: Removed.
33174        * WebKit.exp: Removed WebTestController.
33175        * WebKit.pbproj/project.pbxproj: Removed WebTestController.
33176
33177        - other changes
33178
33179        * WebCoreSupport.subproj/WebBridge.m: Had added new copyright date to touch a file.
33180        That's not needed any more, but the date should be updated anyway.
33181
33182=== Safari-52 ===
33183
331842003-01-15  Maciej Stachowiak  <mjs@apple.com>
33185
33186        Reviewed by Darin.
33187
33188        - fixed 3143418 - controller assert in WebStandardPanels _didStartLoadingURL
33189        - fixed 3141212 - crash in kjs garbage collection (contextimp mark)
33190
33191        * WebCoreSupport.subproj/WebBridge.m:
33192        (-[WebBridge startLoadingResource:withURL:]): If the data source
33193        doesn't have a controller, then block the load.
33194
331952003-01-15  Darin Adler  <darin@apple.com>
33196
33197        Reviewed by Ken.
33198
33199        - fixed problem where Content-Type was going into WebCore with suffixes like "charset"
33200
33201        * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady:]):
33202        Pass in contentType from the response, rather than the "Content-Type" header.
33203        Also pass in the refresh header separately.
33204
33205        * English.lproj/StringsNotToBeLocalized.txt: Updated for above change.
33206
332072003-01-13  Maciej Stachowiak  <mjs@apple.com>
33208
33209        Reviewed by Darin, Dave and Trey, and given the seal of approval by Don.
33210
33211        Use new safer file removal call that does not handle directories.
33212
33213        * Downloads.subproj/WebDownloadHandler.m:
33214        (-[WebDownloadHandler cleanUpAfterFailure]): Use
33215        _web_removeFileOnlyAtPath:
33216        * Plugins.subproj/WebBaseNetscapePluginStream.m:
33217        (-[WebBaseNetscapePluginStream dealloc]): Use _web_removeFileOnlyAtPath:
33218        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Use _web_removeFileOnlyAtPath:
33219
332202003-01-14  Darin Adler  <darin@apple.com>
33221
33222        Reviewed by Dave.
33223
33224        * Plugins.subproj/WebBaseNetscapePluginStream.m:
33225        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
33226        Fixed uninitialized variable warning so builds work again.
33227
33228        * WebView.subproj/WebDataSourcePrivate.m: (+[WebDataSource _repTypes]): Added "application/xml".
33229        * WebView.subproj/WebViewPrivate.m: (+[WebView _viewTypes]): Added "application/xml".
33230
33231        * English.lproj/Localizable.strings: Regenerated.
33232        * English.lproj/StringsNotToBeLocalized.txt: Updated for above change.
33233
332342003-01-13  Darin Adler  <darin@apple.com>
33235
33236        Reviewed by Trey, John, and Maciej, and given the seal of approval by Don.
33237
33238        - fixed 3143317 -- plug-in supplied URLs cause correspondingly named files in /tmp to be deleted
33239        - fixed 3143330 -- plug-in supplied URLs can overwrite files used in other windows by same plug-in
33240
33241        * Plugins.subproj/WebBaseNetscapePluginStream.h: Make path be a char * rather than an NSString.
33242        * Plugins.subproj/WebBaseNetscapePluginStream.m:
33243        (-[WebBaseNetscapePluginStream dealloc]): Use unlink() to delete the temporary file we made.
33244        Since we created the file, we know it doesn't have any fancy stuff like a resource fork.
33245        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Create the file with mkstemp instead of
33246        trying to come up with our own filename. This eliminates the need to delete an old file (because we
33247        are guaranteed the file is new) and also mkstemp opens the file for us, so we just need to write
33248        the contents.
33249
33250        * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes.
33251        
33252        - unrelated change to help with other bug analysis
33253        
33254        * WebView.subproj/WebBaseResourceHandleDelegate.m: Added assertions.
33255
332562003-01-12  Chris Blumenberg  <cblu@apple.com>
33257
33258        Fix for checking and creating proper download filenames.
33259
33260        Reviewed by mjs, kocienda, trey.
33261
33262        * WebKit.pbproj/project.pbxproj:
33263        * WebView.subproj/WebControllerPolicyDelegate.h: changes for renamed savePathForResponse:andRequest: method
33264        * WebView.subproj/WebDefaultPolicyDelegate.m: changes for renamed savePathForResponse:andRequest: method
33265        (-[WebDefaultPolicyDelegate savePathForResponse:andRequest:]): renamed 
33266        * WebView.subproj/WebMainResourceClient.m:
33267        (-[WebMainResourceClient continueAfterContentPolicy:response:]): changes for renamed savePathForResponse:andRequest: method
33268
332692003-01-12  Darin Adler  <darin@apple.com>
33270
33271        Reviewed by John.
33272
33273        - fixed 3144882 -- pretend to be WinIE for abcnews.com
33274
33275        * WebView.subproj/WebControllerPrivate.h: Add an enum, UserAgentStringType, with values
33276        Safari, MacIE, and WinIE. Also add NumUserAgentStringTypes and turn the userAgent and
33277        userAgentWhenPretendingToBeMacIE strings into an array indexed by type.
33278
33279        * WebView.subproj/WebController.m:
33280        (-[WebController setApplicationNameForUserAgent:]): Use a loop to discard the user agent
33281        strings, since we have an array now.
33282        (-[WebController userAgentForURL:]): Change user agent algorithm to check two strings rather
33283        than once against the spoof table, allowing two dots in the "domain name", which is needed
33284        for "abcnews.go.com". Get a user agent string type from the table rather than just a boolean
33285        "pretend to be MacIE". Store a string per type rather than one for normalcy and one for MacIE.
33286        Add a case for WinIE to the user agent computations.
33287
33288        * English.lproj/StringsNotToBeLocalized.txt: Update for change above.
33289
33290        * WebView.subproj/WebControllerPrivate.m:
33291        (-[WebControllerPrivate dealloc]): Use a loop to discard the user agent strings, since we have
33292        an array now.
33293        (-[WebController _defaultsDidChange]): Ditto.
33294
33295        * WebView.subproj/WebUserAgentSpoofTable.gperf: Add a UserAgentStringType field to the struct.
33296        Add MacIE to each existing table entry, and add a new one that says WinIE for abcnews.go.com.
33297
33298        * Makefile.am: Pass "-F ,0" to gperf so that we don't get warnings compiling empty entries
33299        in the hash table.
33300
33301        * WebView.subproj/WebUserAgentSpoofTable.c: Re-generated.
33302        
33303        - other changes
33304        
33305        * WebView.subproj/WebHTMLView.m: Removed some old, dead, #if 0'd code.
33306
333072003-01-11  Darin Adler  <darin@apple.com>
33308
33309        Reviewed by John.
33310
33311        - fixed 3144479 -- put TITLE from links in status bar
33312
33313        * WebKit.exp: Add _WebElementLinkTitleKey and also sort this file.
33314
33315        * WebCoreSupport.subproj/WebImageRenderer.m: Need to touch a file to get the above
33316        to have any effect, so update the copyright date here.
33317
333182003-01-09  Darin Adler  <darin@apple.com>
33319
33320        * WebKit.pbproj/project.pbxproj: Add the year 2003, remove CFBundleIconFile,
33321        bump marketing version to 0.8.1 and version to 52u to keep up with the branch,
33322        remove CFHumanReadableCopyright, remove NSPrincipalClass.
33323
33324        * English.lproj/InfoPlist.strings: Updated to match above changes.
33325
333262003-01-09  Darin Adler  <darin@apple.com>
33327
33328        Reviewed by Maciej.
33329
33330        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
33331
333322003-01-09  Richard Williamson   <rjw@apple.com>
33333
33334        Fixed 3143361.  This was a regression introduced with some image
33335        rendering optimizations.  Don't bypass the tiling code path if
33336        the image needs to be rendered out-of-phase.
33337        
33338        Reviewed by hyatt.
33339
33340        * WebCoreSupport.subproj/WebImageRenderer.m:
33341        (-[WebImageRenderer tileInRect:fromPoint:]):
33342
333432003-01-09  Darin Adler  <darin@apple.com>
33344
33345        Reviewed by Chris.
33346
33347        - second pass on 3143332 - we still need a test case to be sure this is right
33348
33349        * Plugins.subproj/WebBaseNetscapePluginStream.m:
33350        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
33351        Check for "/". Also report the failure instead of just hanging on forever.
33352
333532003-01-09  Darin Adler  <darin@apple.com>
33354
33355        Reviewed by Richard.
33356        
33357        - fixed 3143332 -- if path returned is empty string (or "." or "..") it will trash the /tmp symlink
33358
33359        * Plugins.subproj/WebBaseNetscapePluginStream.m:
33360        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
33361        Check for empty string, ".", and "..", and don't create files by those names.
33362
333632003-01-09  Trey Matteson  <trey@apple.com>
33364
33365        3143294 - need short-term bulletproofing of download code against bad filenames
33366
33367        We protect against a download location that is not an absolute path.
33368
33369        Reviewed by Darin
33370
33371        * WebView.subproj/WebMainResourceClient.m:
33372        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
33373        Bail on download if we don't have a abs path to write to.
33374
333752003-01-08  Trey Matteson  <trey@apple.com>
33376
33377        3142201 - home directory nuked during power download session
33378
33379        We add checks for various error cases that could combine to cause this problem.  While we
33380        never got a reproducible case, we are confident that this is the only file removal done
33381        in the download code, and its ability to wreak havoc has been clipped.
33382        Reviewed by Richard.
33383
33384        * Downloads.subproj/WebDownloadHandler.m:
33385        (-[WebDownloadHandler cleanUpAfterFailure]):  Only nuke the partial download if in fact we created
33386        a new download file.  Never nuke a directory.
33387        (-[WebDownloadHandler createFileIfNecessary]):  Don't add "." to the foo-1 filenames we generate
33388        if the original filename doesn't have any extension.
33389        * WebView.subproj/WebMainResourceClient.m:
33390        (-[WebMainResourceClient continueAfterContentPolicy:response:]):
33391        If the policyDelegate gives us a nil filename, just stop the whole load, instead of trying to
33392        overwrite the user's home directory.
33393
333942003-01-08  Chris Blumenberg  <cblu@apple.com>
33395
33396        Fixed: 3111432 - Support OBJECT tags with type text/plain or text/html
33397
33398        Reviewed by dave.
33399
33400        * WebCoreSupport.subproj/WebBridge.m:
33401        (-[WebBridge frameRequiredForMIMEType:]): added, returns YES for non-plug-in views
33402
334032003-01-08  Chris Blumenberg  <cblu@apple.com>
33404
33405        FIXED: 3128098 - flash performance weak!!!
33406
33407        Reviewed by darin.
33408
33409        * Plugins.subproj/WebBaseNetscapePluginView.m: Don't throttle plug-in when in an active window.
33410
334112003-01-03  Richard Williamson   <rjw@apple.com>
33412
33413        Fixed 3139129.  Added application/xhtml+xml to list of supported type.
33414
33415        Reviewed by gramps.
33416
33417        * WebView.subproj/WebDataSourcePrivate.m:
33418        (+[WebDataSource _repTypes]):
33419        * WebView.subproj/WebViewPrivate.m:
33420        (+[WebView _viewTypes]):
33421
334222003-01-03  Richard Williamson   <rjw@apple.com>
33423
33424        Support for fixes to 3138743, 3138678.  Added
33425        isFontFixedPitch used to determine if font is fixed
33426        pitch.  Makes use of appkit private _isFakeFixedPitch
33427        (detects courier and monoca).  Updated our fakey test
33428        to use the appkit's version.
33429        
33430        Reviewed by darin.
33431
33432        * WebCoreSupport.subproj/WebTextRenderer.m:
33433        * WebCoreSupport.subproj/WebTextRendererFactory.m:
33434        (-[WebTextRendererFactory isFontFixedPitch:]):
33435
334362003-01-03  Darin Adler  <darin@apple.com>
33437
33438        Reviewed by Chris.
33439
33440        - fixed leak of WebIconLoader observed using leaks tool
33441
33442        * WebView.subproj/WebDataSourcePrivate.m:
33443        (-[WebDataSourcePrivate dealloc]): Tell the icon loader to stop loading.
33444        Add a FIXME asking why we had to do this to fix the leak.
33445        (-[WebDataSource _loadIcon]): Add an assertion.
33446
334472003-01-03  Richard Williamson   <rjw@apple.com>
33448
33449        Fix to 3131226.  Don't force a layout when the document view is set 
33450        on the page's scrollview.  A layout would occur indirectly as a result
33451        of reflectScrolledClipView: being called when the document view
33452        was set.  The khtmlpart/khtmlview/WebHTMLView would be out of sync
33453        at this point and a layout would have unintended and incorrect
33454        side effects.
33455        
33456        Reviewed by Darin (and tested by John).
33457
33458        * WebView.subproj/WebDynamicScrollBarsView.h:
33459        * WebView.subproj/WebDynamicScrollBarsView.m:
33460        (-[WebDynamicScrollBarsView updateScrollers]):
33461        * WebView.subproj/WebViewPrivate.m:
33462        (-[WebView _setDocumentView:]):
33463
33464=== Alexander-48 ===
33465
334662003-01-02  Richard Williamson   <rjw@apple.com>
33467
33468        Increase the minimum font size to 9pt.  This bounds the lower
33469        size of the sizes array used for named sizes.  Net effect is
33470        to increase xx-small from 8pt to 9pt.  xx-small is used by
33471        www.microsoft.com.
33472                
33473        Reviewed by hyatt.
33474
33475        * WebView.subproj/WebPreferences.m:
33476        (+[WebPreferences load]):
33477
334782003-01-02  Darin Adler  <darin@apple.com>
33479
33480        Reviewed by Don.
33481
33482        - at Scott and Don's request, roll out small text anti-aliasing cutoff
33483
33484        Turns out this makes small text look worse, not better. We're not going to respect
33485        this setting, and in Panther AppKit will almost certainly be changed not to either.
33486
33487        * WebCoreSupport.subproj/WebTextRenderer.m: Rolled out yesterday's change using CVS.
33488
334892003-01-02  Darin Adler  <darin@apple.com>
33490
33491        Reviewed by John and Don.
33492
33493        - fixed 3137661 -- REGRESSION: autoscroll selection is broken
33494
33495        The new logic in WebCore is slightly pickier, and can't abide a mouse-moved event
33496        coming in during a drag. Unfortunately, we were sending a fake mouse-moved event
33497        during a drag, so lets not do that.
33498
33499        * WebView.subproj/WebHTMLView.m:
33500        (-[WebHTMLView mouseDown:]): Cancel any scheduled fake mouse-moved event.
33501        (-[WebHTMLView mouseUp:]): Send a fake mouse-moved event because we didn't update during the drag.
33502
33503        * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _frameOrBoundsChanged]):
33504        Don't schedule a fake mouse-moved event if the mouse is down, because that means we are in the
33505        middle of a drag.
33506
335072003-01-02  Darin Adler  <darin@apple.com>
33508
33509        Reviewed by John and Ken.
33510
33511        - fixed 3135548 -- exception in Internet Explorer bookmark import code at first startup
33512
33513        * Bookmarks.subproj/WebBookmarkImporter.m:
33514        (_breakStringIntoLines): Break lines before a <DT> or </DL>.
33515        (_HREFTextFromSpec): Rewrite to simplify, search in a case-insensitive manner.
33516        (-[WebBookmarkImporter initWithPath:]): Change prefix checks to be case-insensitive.
33517        Don't discard folders altogether if the name can't be parsed as that would mess up
33518        nesting w.r.t the next </DL>. Make the </DL> handling robust so we misparse, but don't
33519        crash the whole application by raising an exception.
33520
33521        * English.lproj/StringsNotToBeLocalized.txt: Updated for this change and recent changes.
33522
335232003-01-01  Richard Williamson   <rjw@apple.com>
33524
33525        Obey the font smoothing size preference (3137618).
33526        
33527        Reviewed by Don and Darin.
33528
33529        * WebCoreSupport.subproj/WebTextRenderer.m:
33530
335312002-12-31  Maciej Stachowiak  <mjs@apple.com>
33532
33533        Reviewed by Darin.
33534
33535        - fixed 3130831 - HOMEPAGE: JavaScript that tries to intercept onmousedown fails, image gets dragged instead
33536        - fixed 3125554 - while dragging to select text in a nested frame, you can start dragging a link or image
33537
33538        * WebCoreSupport.subproj/WebBridge.m:
33539        (-[WebBridge handleMouseDragged:]): New method; call through the WebHTMLView.
33540        (-[WebBridge mayStartDragWithMouseDown:]): Likewise.
33541        (-[WebBridge handleAutoscrollForMouseDragged:]): Likewise.
33542        * WebView.subproj/WebHTMLView.m:
33543        (-[WebHTMLView mouseDragged:]): Instead of doing drag handling
33544        here, just pass the event to WebCore.
33545        (-[WebHTMLView draggedImage:endedAt:operation:]): Send a fake
33546        mousemove event instead of sending the current event (likely a
33547        mouse up as if it were a mouse move).
33548        * WebView.subproj/WebHTMLViewPrivate.h:
33549        * WebView.subproj/WebHTMLViewPrivate.m:
33550        (-[WebHTMLViewPrivate dealloc]): Release drag element if any.
33551        (-[WebHTMLView _dragImageForElement:]): New method. Split out the
33552        code to make the special drag image for links.
33553        (-[WebHTMLView _handleMouseDragged:]): Move all the drag handling
33554        here. This method will get called only if WebCore hasn't blocked
33555        default drag handling.
33556        (-[WebHTMLView _handleAutoscrollForMouseDragged:]): Do
33557        autoscroll. Autoscroll is still lame, we need a timer.
33558        (-[WebHTMLView _mayStartDragWithMouseDown:]): Determine if the element
33559        is a link or image and so may be dragged; remember the drag element.
33560
335612003-01-01  Richard Williamson   <rjw@apple.com>
33562
33563        Correct fix for 3137430 that doesn't always effectively disable
33564        the cache.
33565        
33566        Reviewed by kocienda.
33567
33568        * History.subproj/WebHistoryItem.m:
33569        * WebView.subproj/WebFramePrivate.m:
33570        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
33571
335722003-01-01  Richard Williamson   <rjw@apple.com>
33573
33574        Don't reset the cookie policy URL if it has already been set.  Fixes to 3109590.
33575        
33576        Reviewed by Maciej.
33577
33578        * WebView.subproj/WebFramePrivate.m:
33579        (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
33580
335812003-01-01  Richard Williamson   <rjw@apple.com>
33582
33583        Don't attempt to restore page from page cache if the cache
33584        doesn't contain valid page state.  This may happen after a
33585        redirect.  Fixes 3137430.
33586        
33587        Reviewed by kocienda.
33588
33589        * History.subproj/WebHistoryItem.m:
33590
335912002-12-31  Darin Adler  <darin@apple.com>
33592
33593        Reviewed by Trey.
33594
33595        - fixed 3137287 -- REGRESSION: Java applets don't work when you go back to them (Java 1.4.1 plug-in)
33596
33597        By attaching the plug-in controller to the frame, we run into trouble.
33598        It really needs to be attached to the data source, which has the right lifetime
33599        and is kept around in the page cache.
33600
33601        * Plugins.subproj/WebPluginController.h: Keep a reference to a data source, not a frame.
33602        Add a new _started variable. Rename addPluginView: to addPlugin:, get rid of didAddPluginView:,
33603        replace destroyAllPlugins with dataSourceWillBeDeallocated, add startAllPlugins and stopAllPlugins.
33604        * Plugins.subproj/WebPluginController.m:
33605        (-[WebPluginController initWithDataSource:]): Store a data source reference, not a frame reference.
33606        Don't bother registering for the window will close notification, WebHTMLView handles that fine.
33607        (-[WebPluginController startAllPlugins]): Do nothing if they are already started, call pluginStart on each otherwise.
33608        (-[WebPluginController stopAllPlugins]): Do nothing if they are not started, call pluginStop on each otherwise.
33609        (-[WebPluginController addPlugin:]): Initialize the plugin if it's not already in our list. Also start
33610        it if we are in "started" mode.
33611        (-[WebPluginController dataSourceWillBeDeallocated]): Stop all the plugins, then destroy them.
33612        Also nil out the fields of the object. This is always called before the controller is released so we
33613        don't need to override dealloc.
33614        (-[WebPluginController showURL:inFrame:]): Added error checking and changed now that we start with a data source.
33615        (-[WebPluginController showStatus:]): Ditto.
33616
33617        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
33618        Use the data source, not the view. Don't add the plugin here, wait until we are ready to start.
33619
33620        * WebView.subproj/WebDataSourcePrivate.h: Store a pointer to the plug-in controller here.
33621        * WebView.subproj/WebDataSourcePrivate.m:
33622        (-[WebDataSourcePrivate dealloc]): Tell the plug-in controller to go away.
33623        (-[WebDataSource _makeHandleDelegates:deferCallbacks:]): Remove unused empty method.
33624        (-[WebDataSource _pluginController]): Create a plug-in controller if needed.
33625
33626        * WebView.subproj/WebFramePrivate.h: Remove plug-in controller code.
33627        * WebView.subproj/WebFramePrivate.m:
33628        (-[WebFramePrivate dealloc]): Remove plug-in controller code.
33629        (-[WebFrame _detachFromParent]): Remove plug-in controller code.
33630        (-[WebFrame _transitionToCommitted:]): Remove plug-in controller code.
33631
33632        * WebView.subproj/WebHTMLView.m:
33633        (-[WebHTMLView viewWillMoveToWindow:]): Stop plug-ins when view moves out of a window.
33634        This includes the case when the window is being destroyed.
33635        (-[WebHTMLView viewDidMoveToWindow]): Start plug-ins when view moves into a window.
33636        (-[WebHTMLView addSubview:]): Add plug-ins to the controller as they are added to us.
33637
33638        * WebView.subproj/WebController.m: Added now-needed include due to header change.
33639        * WebView.subproj/WebDefaultContextMenuDelegate.m: Ditto.
33640
33641=== Alexander-47 ===
33642
336432002-12-30  Darin Adler  <darin@apple.com>
33644
33645        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
33646
336472002-12-30  Trey Matteson  <trey@apple.com>
33648
33649        3137110 - REGRESSION: calls from 2nd and subsequent instances of Java 1.4.1 plug-in seem to be ignored
33650
33651        We had previously made changes to "numb" a plugin controller after its frame
33652        was tossed or changed content.  We now finish the job by making sure a new
33653        controller is created when we go to a new page with plugins.  To so this we
33654        release the old controller whenever we flush the plugins from a page.
33655
33656        Reviewed by Maciej.
33657
33658        * WebView.subproj/WebFramePrivate.m:
33659        (-[WebFrame _detachFromParent]):  Call newly factored code.
33660        (-[WebFrame _transitionToCommitted:]):  Call newly factored code.
33661        (-[WebFrame _destroyPluginController]):  New method to tear down plugins.
33662
336632002-12-30  Trey Matteson  <trey@apple.com>
33664
33665        3135025 - Assertion failure in _transitionToCommitted on espn nba scoreboard
33666
33667        For blank pages we decided that there would be no b/f entry.  This means that
33668        subframes within such pages (created via doc.write()), should not try to make
33669        WebHistoryItems, since they have no parent items to attach them to.
33670
33671        Reviewed by Darin.
33672
33673        * WebView.subproj/WebFramePrivate.m:
33674        (-[WebFrame _transitionToCommitted:]):  Don't make a history item for a subframe
33675        it the parent frame has no item.
33676
336772002-12-30  Trey Matteson  <trey@apple.com>
33678
33679        3135779 - REGRESSION: reproducible assertion failure, going back from ~orubin to the main spies.com page        3136218 - REGRESSION: Assertion failure in _restoreScrollPosition running browser buster
33680        Both were caused by subtle interactions between new code for short-circuiting loading of
33681        blank pages, and the WebHistoryItem manipulations we do for b/f and reload of child frames.
33682
33683        Reviewed by Maciej
33684
33685        * WebView.subproj/WebFramePrivate.m:
33686        (-[WebFrame _loadURL:intoChild:]):  Setup provisional or current item before jumping into
33687        the real work of loading the URL.
33688        (-[WebFrame _restoreScrollPosition]):  Tweaked to make the assertion message clearer.
33689
336902002-12-30  Darin Adler  <darin@apple.com>
33691
33692        Reviewed by Don and Ken.
33693
33694        - fixed 3136797 -- crash when Adobe SVG Viewer plug-in puts up modal dialog
33695
33696        * Plugins.subproj/WebBaseNetscapePluginView.h: Add inSetWindow boolean.
33697        * Plugins.subproj/WebBaseNetscapePluginView.m:
33698        (-[WebBaseNetscapePluginView sendEvent:]): Don't send any events to a plug-in while it's
33699        inside NPP_SetWindow. We don't want to implement more general reentrancy protection, because
33700        it could cause trouble for plugins that can handle it correctly, but it's unlikely that any
33701        legitimate use would require reentrant calls while inside NPP_SetWindow, and that's the case
33702        that crashes for the SVG viewer plug-in when it presents its registration dialog.
33703        (-[WebBaseNetscapePluginView setWindow]): Set boolean.
33704
337052002-12-29  Darin Adler  <darin@apple.com>
33706
33707        Reviewed by Don.
33708
33709        - fixed 3103287 -- body of page not rendered (page uses JavaScript trick to be both a frameset and a frame)
33710
33711        Our self-reference checks prevented this page from working.
33712        I just removed the WebKit one, since it was really just working around a problem with the WebCore
33713        one that I fixed (didn't ignore #xxx suffixes).
33714
33715        * WebCoreSupport.subproj/WebBridge.m:
33716        (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
33717        Remove self-reference check.
33718
337192002-12-29  Darin Adler  <darin@apple.com>
33720
33721        Reviewed by Don.
33722
33723        - fixed 3136801 -- scrolling a page that contains a QuickTime movie leaves garbage behind
33724
33725        * Plugins.subproj/WebBaseNetscapePluginView.m:
33726        (-[WebBaseNetscapePluginView tellQuickTimeToChill]): Added. Calls a QuickDraw SPI
33727        CallDrawingNotifications to let QuickTime know it should take a nature break.
33728        (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Call tellQuickTimeToChill.
33729        (-[WebBaseNetscapePluginView viewHasMoved:]): Call tellQuickTimeToChill.
33730
337312002-12-29  Darin Adler  <darin@apple.com>
33732
33733        Reviewed by Don.
33734
33735        - follow-on to my fix for 3125877 that fixes a crash I observed when a plug-in fails to NPP_New
33736        
33737        I filed bug 3136870 about the fact that we don't do a good job reporting the error.
33738
33739        * Plugins.subproj/WebBaseNetscapePluginView.m:
33740        (-[WebBaseNetscapePluginView sendEvent:]): Return quietly if this is called when
33741        the plug-in is not started rather than asserting (and doing bad things on Deployment).
33742        (-[WebBaseNetscapePluginView setWindow]): Ditto.
33743        (-[WebBaseNetscapePluginView viewHasMoved:]): Just call setWindow since it now checks isStarted.
33744
337452002-12-29  Darin Adler  <darin@apple.com>
33746
33747        Reviewed by Don.
33748
33749        - fixed 3120630 -- spacebar scrolls the page as well as pausing the QuickTime movie
33750
33751        Imitate Mozilla and OmniWeb by not propagating keyboard events after passing them to
33752        plug-ins regardless of what the plug-in returns, rather than imitating MacIE, which
33753        looks at the return value from NPP_HandleEvent.
33754
33755        * Plugins.subproj/WebBaseNetscapePluginView.m:
33756        (-[WebBaseNetscapePluginView keyUp:]): Remove call to super, add comment.
33757        (-[WebBaseNetscapePluginView keyDown:]): Ditto.
33758
337592002-12-29  Darin Adler  <darin@apple.com>
33760
33761        Reviewed by Ken and Don.
33762
33763        - fixed 3136120 -- much content missing at www.olympic.org
33764
33765        This site gives modern CSS to "Internet Explorer" or "Netscape 6". Since we are neither of
33766        those, we need to pretend to be one or the other. So we add olympic.org to our MacIE spoofing list.
33767
33768        * WebView.subproj/WebUserAgentSpoofTable.gperf: Add olympic.org to the list of pages that give us better
33769        CSS if we claim to be Internet Explorer.
33770        * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
33771
33772=== Alexander-46 ===
33773
337742002-12-28  Ken Kocienda  <kocienda@apple.com>
33775
33776         Reviewed by Gramps and Richard
33777
33778         Fix for this bug:
33779
33780         Radar 3112233 (400 response when attaching files at mail.yahoo.com)
33781
33782         I added the MIMETypeForPath method which accesses the WebFoundation mime
33783         file map we maintain. KHTML can now access this map by using the bridge.
33784
33785         * WebCoreSupport.subproj/WebBridge.m:
33786         (-[WebBridge MIMETypeForPath:])
33787
337882002-12-28  Darin Adler  <darin@apple.com>
33789
33790        Reviewed by Gramps and Ken
33791        Checked in by Ken
33792
33793        - fixed 3125877 -- RealPlayer plug-in doesn't work in Safari
33794
33795        * Plugins.subproj/WebBaseNetscapePluginView.h: Remove some methods that don't have
33796        any need to be public, getCarbonEvent:, sendEvent:, sendUpdateEvent, setUpWindowAndPort.
33797        Make setWindow public.
33798
33799        * Plugins.subproj/WebBaseNetscapePluginView.m:
33800        (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): Added. This replaces the
33801        old setUpWindowAndPort. Besides setting up the port and the window, it also sets up the
33802        port's origin, clip, visible, and update regions properly, and sets the current port.
33803        In the case of an update event, we have extra work to do, which was formerly done in drawRect:.
33804        (-[WebBaseNetscapePluginView saveAndSetPortState]): Calls saveAndSetPortStateForUpdate:NO.
33805        (-[WebBaseNetscapePluginView restorePortState:]): Undoes the port state changes done by the
33806        saveAndSetPortState calls.
33807        (-[WebBaseNetscapePluginView sendEvent:]): Call saveAndSetPortStateForUpdate: before sending
33808        the event to the plug-in. This is the core of fixing the bug. We need to have the port set
33809        up properly. Specifically, RealPlayer depended on the port's origin being set and the update
33810        region being set. Also added a "draw green" debugging aid to builds without NDEBUG set.
33811        (-[WebBaseNetscapePluginView sendNullEvent]): Update text of a FIXME.
33812        (-[WebBaseNetscapePluginView setWindow]): Call the new saveAndSetPortState method instead of
33813        the old setUpWindowAndPort method.
33814        (-[WebBaseNetscapePluginView drawRect:]): Remove bug workarounds that are now inside the
33815        saveAndSetPortStateForUpdate: method.
33816        (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Add missing call to super.
33817        (-[WebBaseNetscapePluginView windowBecameKey:]): Don't send an update event to the plugin directly.
33818        Instead mark this view as needing display so we'll get a drawRect later.
33819        (-[WebBaseNetscapePluginView windowResignedKey:]): Ditto.
33820        (-[WebBaseNetscapePluginView requestWithURLCString:]): Corrected handling of URLs. Absolute URLs
33821        are handled by the relative URL function, so there's no need to do an explicit check. Also use
33822        requestWithURL instead of doing a three-method dance that does the same thing.
33823        (-[WebBaseNetscapePluginView invalidateRect:]): Use setNeedsDisplayInRect: to schedule redrawing
33824        rather than forcing an update right away by doing a sendUpdateEvent directly.
33825        (-[WebBaseNetscapePluginView invalidateRegion:]): Ditto.
33826        (-[WebBaseNetscapePluginView forceRedraw]): Use setNeedsDisplay: and displayIfNeeded to do the
33827        drawing through the view system instead of doing a sendUpdateEvent directly.
33828
33829        * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView layout]):
33830        Do a setWindow rather than a setUpWindowAndPort when the size of the view changes. This matches
33831        what other browsers do and extends the bug fix for the Java plug-in to the resize case as well as
33832        the scrolling case.
33833
33834        * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]):
33835        Remove RealPlayer antibodies.
33836
338372002-12-27  Darin Adler  <darin@apple.com>
33838
33839        Reviewed by Don.
33840
33841        - fixed 3136206 -- Can't display images in Ambrosia Software image viewer
33842
33843        WebKit wasn't creating the frames correctly when they weren't HTML.
33844
33845        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _makeDocumentView]): Added. Calls the
33846        WebView to make the document view and then installs the new view, as WebHTMLView used to do.
33847        (-[WebFrame _transitionToCommitted:]): Call _makeDocumentView instead of calling WebView
33848        directly. These are all the calls to _makeDocumentViewForDataSource:.
33849
33850        * WebView.subproj/WebViewPrivate.h: Add return value to _makeDocumentViewForDataSource:.
33851        * WebView.subproj/WebViewPrivate.m: (-[WebView _makeDocumentViewForDataSource:]):
33852        Return the newly-created view.
33853
33854        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView setDataSource:]): Removed the code here
33855        since it's done by WebFrame now.
33856
338572002-12-25  Darin Adler  <darin@apple.com>
33858
33859        Reviewed by Don.
33860
33861        - fixed 3133611 -- Java "ticker" applet renders badly when scrolling page
33862
33863        * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView viewHasMoved:]):
33864        Call setWindow so we make a call to the plugin each time it moves, rather than just adjusting
33865        the data structure we had passed to it earlier.
33866
338672002-12-24  Darin Adler  <darin@apple.com>
33868
33869        Reviewed by Richard and Don.
33870
33871        - fixed 3132192 -- HOMEPAGE: Quicktime plug in with AVI content brings Plug-ins not found panel
33872
33873        * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
33874        Lower-case the key before searching for it. This is needed for both MIME types and extensions,
33875        since we want case insensitive comparison in both cases.
33876
33877=== Alexander-45 ===
33878
338792002-12-23  Ken Kocienda  <kocienda@apple.com>
33880
33881        Reviewed by Darin and Gramps
33882
33883        Workaround for this bug:
33884
33885        Radar 3134219 (MPEG-4 files don't work with the QuickTime plugin in Safari, 
33886        work fine in Mozilla, IE)
33887
33888        For beta 1, when getting the MIME information for the QuickTime plugin, we directly 
33889        insert the information to handle MP4.
33890
33891        In the future, we will use the additional plugin entry points to dynamically load 
33892        this information from the plugin itself.
33893
33894        * Plugins.subproj/WebNetscapePluginPackage.m:
33895        (-[WebNetscapePluginPackage getMIMEInformation])
33896
338972002-12-23  Darin Adler  <darin@apple.com>
33898
33899        Reviewed by John and Don.
33900
33901        - fixed 3134282 -- REGRESSION: text encoding setting reverts when you go to a new location
33902
33903        * WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): Propagate an override encoding if there
33904        was an existing data source and it had an override encoding.
33905        * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadRequest:triggeringAction:loadType:]): Ditto.
33906
33907=== Alexander-44 ===
33908
339092002-12-20  Trey Matteson  <trey@apple.com>
33910
33911        Do not add empty URLs to the back forward list.
33912
33913        Reviewed by Richard, Darin
33914
33915        * WebView.subproj/WebFramePrivate.m:
33916        (-[WebFrame _transitionToCommitted:]):
33917
339182002-12-20  Trey Matteson  <trey@apple.com>
33919
33920        3133829 - crash leaving page with a running applet
33921
33922        This fixes some holes in how we teardown plugins.  An additional fix is expected
33923        from Mike Hay to finish the issue. (3133981)
33924
33925        Reviewed by Richard
33926
33927        * Plugins.subproj/WebPluginController.m:
33928        (-[WebPluginController destroyAllPlugins]):  frame=nil, so we don't do any more
33929        messaging back to WK after this step.
33930        (-[WebPluginController showURL:inFrame:]):  bail if !frame
33931        (-[WebPluginController showStatus:]):  bail if !frame
33932        * WebView.subproj/WebFramePrivate.m:
33933        (-[WebFrame _detachFromParent]):  destroy plugins here.  We were only doing it
33934        in the non-frame case.
33935
33936=== Alexander-43 ===
33937
339382002-12-20  Trey Matteson  <trey@apple.com>
33939
33940        3131841 - crash when switching encodings on a page with frames
33941
33942        Reviewed by rjw
33943
33944        * WebView.subproj/WebFramePrivate.m:
33945        (-[WebFrame _transitionToCommitted:]):  Create a docView in the LoadStale case, like
33946        every other kind of load does.
33947
339482002-12-20  Richard Williamson   <rjw@apple.com>
33949
33950        Fixed 3133261.  This fix really has two parts.  This first part
33951        is here in WebTextRenderer.  The second part adds some width
33952        caching to RenderText.  I was using a stack allocated array,
33953        this would blow out the stack for large strings.
33954
33955        Reviewed by john.
33956
33957        * WebCoreSupport.subproj/WebTextRenderer.m:
33958
339592002-12-20  Trey Matteson  <trey@apple.com>
33960
33961        We now build with symbols the B&I.  Deployment builds are without symbols,
33962        so it is easy to generate a non-huge app as a one-off.
33963
33964        Reviewed by Darin
33965
33966        * WebKit.pbproj/project.pbxproj:
33967
33968=== Alexander-42 ===
33969
339702002-12-19  John Sullivan  <sullivan@apple.com>
33971
33972        - WebKit part of fix for 3124949 -- Alexander recreates the 
33973        default set of bookmarks every time a separate app copy is launched
33974
33975        Reviewed by Darin
33976
33977        * Bookmarks.subproj/WebBookmarkGroup.h:
33978        new _tag ivar and -tag method.
33979
33980        * Bookmarks.subproj/WebBookmarkGroup.m:
33981        (-[WebBookmarkGroup dealloc]):
33982        release _tag
33983        (-[WebBookmarkGroup tag]):
33984        return _tag
33985        (-[WebBookmarkGroup _loadBookmarkGroupGuts]):
33986        read _tag from the dictionary in the file (or leave it at
33987        nil if there's no value in the file).
33988
33989        * English.lproj/StringsNotToBeLocalized.txt:
33990        kept this file up to date
33991
339922002-12-19  Darin Adler  <darin@apple.com>
33993
33994        Reviewed by John.
33995
33996        - corrected the name of a method that was leading to trouble elsewhere
33997
33998        * WebView.subproj/WebDataSource.h: Change fileType to fileExtension for clarity.
33999        * WebView.subproj/WebDataSource.m: (-[WebDataSource fileExtension]): Ditto.
34000
34001=== Alexander-41 ===
34002
340032002-12-19  Darin Adler  <darin@apple.com>
34004
34005        Reviewed by John.
34006
34007        - probably fixed 3129395 -- Reproducible crash when running a javascript at www.scenespot.org
34008
34009        * WebCoreSupport.subproj/WebViewFactory.m:
34010        (-[WebViewFactory runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
34011        Close the window. Before we relied on it being released which was bad. But it's not clear this
34012        actually was the cause of the bug.
34013
340142002-12-19  Darin Adler  <darin@apple.com>
34015
34016        Reviewed by Chris.
34017
34018        - fixed 31323455 -- REGRESSION: Crash in plugin code closing popup window on lordoftherings.net
34019
34020        * Plugins.subproj/WebBaseNetscapePluginView.m:
34021        (-[WebBaseNetscapePluginView sendEvent:]): Added an assert.
34022        (-[WebBaseNetscapePluginView setWindow]): Added an assert.
34023        (-[WebBaseNetscapePluginView stop]): Cancel perform requests, now that we are using them for
34024        URL navigation.
34025        (-[WebBaseNetscapePluginView frameStateChanged:]): Only notify if the plugin is still running.
34026        (-[WebBaseNetscapePluginView loadPluginRequest:]): Added. Does the actual load at idle time.
34027        Also fixed to only notify if plugin is loaded. Added a number of FIXMEs for other problems here.
34028        Also send JavaScript to the appropriate frame, not always the top level.
34029        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use loadPluginRequest:
34030        to do the request after a delay. Also remove the special cases for special frame names; they
34031        were trying to avoid calling a plugin that has gone away, but we do that a better way now.
34032        (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): Added logging.
34033        (-[WebBaseNetscapePluginView status:]): Use Windows Latin-1 rather than MacRoman for messages.
34034        I guess we should test later to find out which is used by MacIE and conform to that, but for now
34035        this seems like a better default.
34036        (-[WebPluginRequest initWithRequest:frame:notifyData:]): Added.
34037        (-[WebPluginRequest dealloc]): Added.
34038        (-[WebPluginRequest request]): Added.
34039        (-[WebPluginRequest webFrame]): Added.
34040        (-[WebPluginRequest notifyData]): Added.
34041
340422002-12-18  Darin Adler  <darin@apple.com>
34043
34044        Reviewed by Chris.
34045
34046        - fixed fix for 3132056 -- Supply Finder bits for decoded BinHex files
34047
34048        * Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder decodeHeader]):
34049        Mask off fewer Finder flag bits. Use the same mask as for MacBinary, in fact.
34050
340512002-12-18  Darin Adler  <darin@apple.com>
34052
34053        Reviewed by Richard.
34054
34055        - fixed 3127490 -- pages w/frames sometimes show up blank
34056
34057        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
34058        Updated the optimization where we draw the entire view if we did a layout
34059        so that it works properly for the case where the clip is narrower because of
34060        the parent WebHTMLView.
34061
34062        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
34063
34064=== Alexander-40 ===
34065
340662002-12-18  Trey Matteson  <trey@apple.com>
34067
34068        3098388 - Pressing the back button goes back two levels at allmusic.com
34069
34070        I rewrote the logic we use to decide whether a given redirect should be
34071        treated as part of the previous navigation.  We make use of WebCore's
34072        lockHistory setting, the delay time and the frame state.
34073
34074        Reviewed by Darin.
34075
34076        * WebCoreSupport.subproj/WebBridge.m:
34077        (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:]):
34078        Pass lockHistory up to the frame.
34079        * WebView.subproj/WebFramePrivate.h:
34080        * WebView.subproj/WebFramePrivate.m:
34081        (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]):
34082        New logic.  No quick summary, best to read the code.
34083
340842002-12-18  Chris Blumenberg  <cblu@apple.com>
34085
34086        Reject the RealPlayer plug-in because we know it doesn't work.
34087
34088        Reviewed by sullivan.
34089
34090        * English.lproj/StringsNotToBeLocalized.txt:
34091        * Plugins.subproj/WebNetscapePluginPackage.m:
34092        (-[WebNetscapePluginPackage initWithPath:]): reject the RealPlayer plug-in
34093
340942002-12-18  Maciej Stachowiak  <mjs@apple.com>
34095
34096        Reviewed by John.
34097
34098        - fixed 3131171 - Change Alex versions to satisfy both marketing and B&I requirements
34099        * English.lproj/InfoPlist.strings:
34100
341012002-12-18  Richard Williamson   <rjw@apple.com>
34102
34103        Fixed 3129951.  Don't allow pages that are stopping to enter the page cache.
34104        (Fixed yesterday, forgot to checkin.)
34105         
34106        Reviewed by trey.
34107
34108        * WebView.subproj/WebFramePrivate.m:
34109        (-[WebFrame _setState:]):
34110
341112002-12-18  Maciej Stachowiak  <mjs@apple.com>
34112
34113        Reviewed by Darin and Trey.
34114
34115        - fixed 3124933 - abcnews.com leads to empty window with sheet complaining about javascript: URL
34116        - fixed 3091248 - picture does not show up in window from epinions
34117        - made "about:blank" load synchronously, which I'm told is required by some sites.
34118
34119        * WebCoreSupport.subproj/WebBridge.m:
34120        (-[WebBridge createWindowWithURL:frameName:]): If the URL is nil
34121        or empty, pass a nil request - otherwise WebBrowser will try to
34122        load it, resulting in an extra back/forward list entry.
34123        (-[WebBridge loadEmptyDocumentSynchronously]): Tell the frame to
34124        load a request with an empty URL - this will cause a synchronous
34125        load of an empty html document
34126        * WebView.subproj/WebBaseResourceHandleDelegate.h:
34127        * WebView.subproj/WebBaseResourceHandleDelegate.m:
34128        (-[WebBaseResourceHandleDelegate loadWithRequest:]): Split off
34129        startLoading: part of method to allow behavior to be subclassed.
34130        (-[WebBaseResourceHandleDelegate startLoading:]): 
34131        * WebView.subproj/WebDataSourcePrivate.m:
34132        (-[WebDataSource _commitIfReady:]): Lie and claim the URL is
34133        "about:blank" if it's really empty to avoid confusing WebCore.
34134        * WebView.subproj/WebFramePrivate.m:
34135        (-[WebFrame _transitionToCommitted:]): Don't put the empty URL in
34136        global history.
34137        (-[WebFrame
34138        _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]):
34139        Don't check policy if URL is empty - this is likely to confuse the
34140        client and we know what the right behavior here is.
34141        * WebView.subproj/WebMainResourceClient.m:
34142        (-[WebMainResourceClient startLoading:]): Try to load
34143        "about:blank" and the empty URL synchronously, bypassing
34144        WebFoundation.
34145        (-[WebMainResourceClient continueAfterContentPolicy:response:]): Ditto.
34146        (-[WebMainResourceClient setDefersCallbacks:]): Ditto.
34147        * English.lproj/StringsNotToBeLocalized.txt: Updated.
34148
341492002-12-18  Chris Blumenberg  <cblu@apple.com>
34150
34151        Fixed: 2862385 - need to pass browser's user agent and version to plug-ins
34152        Added some more error checking to the plug-in code
34153
34154        Reviewed by trey.
34155
34156        * Plugins.subproj/WebBaseNetscapePluginView.h:
34157        * Plugins.subproj/WebBaseNetscapePluginView.m:
34158        (+[WebBaseNetscapePluginView setCurrentPluginView:]): new, sets a global variable for the current plug-in
34159        (+[WebBaseNetscapePluginView currentPluginView]): new, returns the current plug-in
34160        (-[WebBaseNetscapePluginView start]): check if NPP_New fails, return NO if it does, set the current plug-in view. Currently, this is the only place we need to do this.
34161        (-[WebBaseNetscapePluginView userAgent]): made instance-specific because it depends on the plug-in view's WebController
34162        * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
34163        * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
34164        (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]): don't start the stream is start fails
34165        * Plugins.subproj/npapi.m: 
34166        (NPN_MemAlloc): tweak
34167        (NPN_RequestRead): tweak
34168        (pluginViewForInstance): returns the instance's plug-in view if it has one, if not, return the current plug-in view
34169        (NPN_GetURLNotify): get the instance from pluginViewForInstance  
34170        (NPN_GetURL):
34171        (NPN_PostURLNotify):
34172        (NPN_PostURL):
34173        (NPN_NewStream):
34174        (NPN_Write):
34175        (NPN_DestroyStream):
34176        (NPN_UserAgent):
34177        (NPN_Status):
34178        (NPN_InvalidateRect):
34179        (NPN_InvalidateRegion):
34180        (NPN_ForceRedraw):
34181        (NPN_GetValue):
34182        (NPN_SetValue):
34183        (NPN_GetJavaEnv):
34184        (NPN_GetJavaPeer):
34185
341862002-12-18  Richard Williamson   <rjw@apple.com>
34187
34188        Fixed 3109590.  We now set the cookie policy URL to a frame's URL if the
34189        contents of the frame changes as a result of user action.  The site mentioned
34190        is this bug branded a service by wrapping it in their own frameset.  That frameset
34191        had a different domain than the service, so our cookie policy prevented cookies
34192        from being set.
34193        
34194        Reviewed by trey.
34195
34196        * WebView.subproj/WebDataSourcePrivate.m:
34197        (-[WebDataSource _startLoading:]):
34198        * WebView.subproj/WebFrame.m:
34199        (-[WebFrame loadRequest:]):
34200        * WebView.subproj/WebFramePrivate.h:
34201        * WebView.subproj/WebFramePrivate.m:
34202        (-[WebFrame _loadItem:fromItem:withLoadType:]):
34203        (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
34204        (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
34205        (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]):
34206
342072002-12-18  Chris Blumenberg  <cblu@apple.com>
34208
34209        Fixed: 3131714 - System becomes unresponsive while downloading
34210
34211        While downloading a file, Safari and the Finder take up 30%-40% of the CPU each. This is happening because for every chunk of data we write to disk, we call -[NSWorkspace noteFileSystemChanged:]. noteFileSystemChanged is inefficient. It calls 2 AppleEven
34212
34213
34214
34215
34216
34217
34218
34219
34220
34221ts each with 60 timeouts. The event also cause the Finder to do a lot of work.
34222
34223        We should:
34224        - Send 1 AppleEvent ourselves with no timeout since we don't care about the reply
34225        - Call the notification/event less often. The only benefit of sending the event for every chunk written is that the file size updates in the Finder. Not worth the performance impact.
34226
34227        Reviewed by kocienda.
34228
34229        * Downloads.subproj/WebDownloadHandler.m:
34230        (-[WebDownloadHandler cleanUpAfterFailure]): call _web_noteFileChangedAtPath
34231        (-[WebDownloadHandler createFileIfNecessary]): call _web_noteFileChangedAtPath
34232        (-[WebDownloadHandler writeDataForkData:resourceForkData:]): don't call noteFileSystemChanged
34233        (-[WebDownloadHandler finishedLoading]): call _web_noteFileChangedAtPath
34234        * Misc.subproj/WebNSWorkspaceExtras.h: Added.
34235        * Misc.subproj/WebNSWorkspaceExtras.m: Added.
34236        (-[NSWorkspace _web_noteFileChangedAtPath:]): Notifies the Finder (or any other app that cares) that we added, removed or changed the attributes of a file. This method is better than calling noteFileSystemChanged: because noteFileSystemChanged: se
34237
34238
34239
34240
34241
34242
34243
34244
34245
34246nds 2 apple events both with a 60 second timeout. This method returns immediately.
34247        * WebKit.pbproj/project.pbxproj:
34248
342492002-12-18  Darin Adler  <darin@apple.com>
34250
34251        Reviewed by Maciej.
34252
34253        - fixed 3098293 -- Shockwave plug-in doesn't work
34254
34255        The problem is that the Shockwave plug-in depends on being able to do LMGetCurApRefNum
34256        and then do a PBGetFCBInfoSync on the result, and if it gets an error it will refuse
34257        to initialize.
34258
34259        * Plugins.subproj/WebNetscapePluginPackage.m: (+[WebNetscapePluginPackage initialize]):
34260        Supply a bogus CurApRefNum. Do it only if CurApRefNum is -1, so we don't screw things
34261        up if we are used in a Carbon application.
34262
342632002-12-17  Darin Adler  <darin@apple.com>
34264
34265        Reviewed by Trey.
34266
34267        * WebKit.pbproj/project.pbxproj: Remove signature.
34268        * WebView.subproj/WebController.m: Turn off inlining so we can build even on the
34269        compiler that warns about static data in inline functions.
34270
342712002-12-17  John Sullivan  <sullivan@apple.com>
34272
34273        - fixed 2895826 -- ICON: Need a "no plug-in" icon
34274
34275        * Resources/nullplugin.tiff:
34276        new plug-in icon. Blue 3-D lego with question marks.
34277
342782002-12-17  Richard Williamson   <rjw@apple.com>
34279
34280        Added support for Aki's 20% boost to line height.  This is
34281        done with a horrible hack and should be removed when 3129490
34282        is fixed.
34283        
34284        Reviewed by hyatt.
34285
34286        * WebCoreSupport.subproj/WebTextRenderer.m:
34287
34288=== Alexander-39 ===
34289
34290=== Alexander-38 ===
34291
342922002-12-17  Richard Williamson   <rjw@apple.com>
34293
34294        Fixed 3127932.  Added WebFrameLoadTypeReloadAllowingStaleData to cases that do not
34295        get cached in the b/f cache.
34296        
34297        Reviewed by trey.
34298
34299        * WebView.subproj/WebFramePrivate.m:
34300        (-[WebFrame _setState:]):
34301
343022002-12-17  Richard Williamson   <rjw@apple.com>
34303
34304        Fixed 3128794.  Use CG directy to get font metrics rather than the appkit.  The appkit
34305        has a bug (3129490) that sometimes causes line height to be 20% too large.
34306        
34307        Reviewed by hyatt.
34308
34309        * WebCoreSupport.subproj/WebTextRenderer.m:
34310        (-[WebTextRenderer initWithFont:]):
34311        (-[WebTextRenderer ascent]):
34312        (-[WebTextRenderer descent]):
34313        (-[WebTextRenderer lineSpacing]):
34314
343152002-12-17  Trey Matteson  <trey@apple.com>
34316
34317        Reworking the code to update the page icon led me to roll the WebIconDB API
34318        for URL to NSString.  In addition, the vestigial "Site" was removed.
34319
34320        Everything below is renaming, except where noted.
34321
34322        Reviewed by Darin
34323
34324        * English.lproj/StringsNotToBeLocalized.txt:
34325        * History.subproj/WebHistoryItem.m:
34326        (-[WebHistoryItem _retainIconInDatabase:]):
34327        (-[WebHistoryItem icon]):
34328        * Misc.subproj/WebIconDatabase.h:
34329        * Misc.subproj/WebIconDatabase.m:
34330        (-[WebIconDatabase init]):
34331        (-[WebIconDatabase iconForURL:withSize:cache:]):  Use _web_isFileURL.
34332        (-[WebIconDatabase iconForURL:withSize:]):
34333        (-[WebIconDatabase retainIconForURL:]):
34334        (-[WebIconDatabase releaseIconForURL:]):
34335        (-[WebIconDatabase _iconDictionariesAreGood]):
34336        (-[WebIconDatabase _loadIconDictionaries]):
34337        (-[WebIconDatabase _updateFileDatabase]):
34338        (-[WebIconDatabase _iconForFileURL:withSize:]):  Cons up a NSURL to get the path.
34339        Test explicitly for .htm and .html suffixes.
34340        (-[WebIconDatabase _setIcon:forIconURL:]):
34341        (-[WebIconDatabase _setIconURL:forURL:]):
34342        (-[WebIconDatabase _releaseIconForIconURLString:]):
34343        (-[WebIconDatabase _retainFutureIconForURL:]):
34344        (-[WebIconDatabase _releaseFutureIconForURL:]):
34345        (-[WebIconDatabase _sendNotificationForURL:]):
34346        * Misc.subproj/WebIconDatabasePrivate.h:
34347        * Misc.subproj/WebIconLoader.m:
34348        (-[WebIconLoader handleDidFinishLoading:]):
34349        * WebKit.exp:
34350        * WebView.subproj/WebDataSourcePrivate.m:
34351        (-[WebDataSource _updateIconDatabaseWithURL:]):
34352        (-[WebDataSource _loadIcon]):
34353
343542002-12-17  Chris Blumenberg  <cblu@apple.com>
34355
34356        Fixed: 3113073 - link on http://studio.adobe.com/explore/ redirects to not found page in Alex
34357
34358        Reviewed by darin.
34359
34360        * Misc.subproj/WebNSPasteboardExtras.m:
34361        (-[NSPasteboard _web_bestURL]): don't trim whitespace because _web_URLWithString does this for us
34362        * Plugins.subproj/WebBaseNetscapePluginView.m:
34363        (-[WebBaseNetscapePluginView pluginURLFromCString:]): tweak
34364
343652002-12-17  John Sullivan  <sullivan@apple.com>
34366
34367        - to help with performance of various bookmark operations,
34368        added a call that returns the internal array of children,
34369        to complement the safer call that returns a copy.
34370
34371        Reviewed by Darin
34372
34373        * Bookmarks.subproj/WebBookmark.h:
34374        commented -children and new -rawChildren
34375        * Bookmarks.subproj/WebBookmark.m:
34376        (-[WebBookmark rawChildren]):
34377        new method, returns nil at this level.
34378        (-[WebBookmark contentMatches:]):
34379        use -rawChildren instead of -children
34380
34381        * Bookmarks.subproj/WebBookmarkList.m:
34382        (-[WebBookmarkList rawChildren]):
34383        new method, returns internal array without copying
34384
343852002-12-16  Darin Adler  <darin@apple.com>
34386
34387        Reviewed by Don and Maciej.
34388
34389        * WebView.subproj/WebUserAgentSpoofTable.gperf: Added a couple of new domains to the list we
34390        spoof as Mac IE, and added comments.
34391        * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
34392
34393        * WebKit.pbproj/project.pbxproj: Set MACOSX_DEPLOYMENT_TARGET to 10.2
34394
343952002-12-16  Chris Blumenberg  <cblu@apple.com>
34396
34397        Fixed: 3129503 - Crash cancelling download after closing browser window that started download
34398
34399        Reviewed by rjw.
34400
34401        * WebView.subproj/WebDataSourcePrivate.m:
34402        (-[WebDataSource _setLoading:]): Added comment about our tragic dependence on a non-retained reference to the controller.
34403        (-[WebDataSource _recursiveStopLoading]): Call webFrame before calling _stopLoading because we release the controller in _stopLoading and we depend on it in webFrame.
34404
34405=== Alexander-37 ===
34406
344072002-12-16  Maciej Stachowiak  <mjs@apple.com>
34408
34409        Reviewed by no one but it's just a version bump.
34410
34411        * WebKit.pbproj/project.pbxproj: Bump version to 37u3
34412
344132002-12-16  Darin Adler  <darin@apple.com>
34414
34415        Reviewed by Maciej.
34416
34417        - fixed 3128858 -- Supply Finder bits for decoded BinHex files
34418
34419        * Downloads.subproj/WebBinHexDecoder.h: Add a _finderFlags field.
34420        * Downloads.subproj/WebBinHexDecoder.m:
34421        (-[WebBinHexDecoder decodeHeader]): Decode Finder flags.
34422        (-[WebBinHexDecoder fileAttributes]): Put Finder flags in dictionary.
34423
34424        * Downloads.subproj/WebMacBinaryDecoder.m: Tweaked things for no good reason.
34425        (It is good to always import your own header first as a check that it's self-sufficient).
34426
34427        * WebKit.pbproj/project.pbxproj: Let Electron wipe the slate clean of pre-Electron iniquity.
34428
344292002-12-15  Chris Blumenberg  <cblu@apple.com>
34430        Fixed: 3094928 - Apply Finder bits to decoded downloads
34431
34432        Reviewed by darin.
34433
34434        * Downloads.subproj/WebDownloadHandler.m:
34435        (-[WebDownloadHandler createFileIfNecessary]): call _web_createFileAtPath:contents:attributes: so we set Finder bits
34436        * Downloads.subproj/WebMacBinaryDecoder.h:
34437        * Downloads.subproj/WebMacBinaryDecoder.m:
34438        (-[WebMacBinaryDecoder decodeData:dataForkData:resourceForkData:]): save Finder bits
34439        (-[WebMacBinaryDecoder fileAttributes]): return Finder bits
34440
34441=== WebKit-37u2 ===
34442
344432002-12-15  Maciej Stachowiak  <mjs@apple.com>
34444
34445        Reviewed by Darin.
34446
34447        - fixed likely B&I build problem.
34448
34449        * WebKit.pbproj/project.pbxproj: Get at other frameworks in B&I
34450        build. Bump version to 37u2.
34451
344522002-12-15  Darin Adler  <darin@apple.com>
34453
34454        Reviewed by Dave.
34455
34456        - implemented user-agent spoofing as described in bug 3044569
34457
34458        * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]):
34459        Find the suffix of the host name that contains exactly one dot, lower-case it,
34460        and look it up in the user-agent spoof table. For now, anything in the table
34461        pretends to be MacIE. Don't fret that this table is simple. We will complicate it
34462        as needed. The technique is flexible, even though it may not look it now.
34463
34464        * WebView.subproj/WebControllerPrivate.h: Add userAgentWhenPretendingToBeMacIE field.
34465        * WebView.subproj/WebControllerPrivate.m:
34466        (-[WebControllerPrivate dealloc]): Release userAgentWhenPretendingToBeMacIE.
34467        (-[WebController _defaultsDidChange]): Release and nil userAgentWhenPretendingToBeMacIE.
34468
34469        * Makefile.am: Added rules to build WebUserAgentSpoofTable.c using gperf.
34470        * WebView.subproj/WebUserAgentSpoofTable.c: Added. Generated file.
34471        * WebView.subproj/WebUserAgentSpoofTable.gperf: Added. Table 
34472
34473        * English.lproj/StringsNotToBeLocalized.txt: Update for above changes.
34474
34475        - fixed a crash I saw in a simplistic way
34476
34477        * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]):
34478        Don't assert if the webFrame is nil, just return a partial dictionary.
34479
344802002-12-15  Darin Adler  <darin@apple.com>
34481
34482        Reviewed by Trey.
34483
34484        - fixed 3128260 -- REGRESSION: context menus in frames are always the generic page menu
34485
34486        * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView hitTest:]):
34487        Check the control key in the mouse down event. If it's down, then do no magic.
34488
344892002-12-15  Darin Adler  <darin@apple.com>
34490
34491        Reviewed by Dave.
34492
34493        - fixed 3128651 -- REGRESSION: Mouse wheeling is busted on frames pages
34494
34495        * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView hitTest:]):
34496        Only do the hitTest magic for left mouse downs; the rest of the clicks end up going
34497        to the correct view anyway, without our help. This makes this stop making trouble for
34498        the scroll wheel events.
34499
345002002-12-14  Don Melton  <gramps@apple.com>
34501
34502        Fixed 3127173 -- REGRESSION: fboweb.com renders incorrectly
34503
34504        Reviewed by darin
34505
34506        * English.lproj/StringsNotToBeLocalized.txt:
34507        * WebView.subproj/WebController.m:
34508        (-[WebController userAgentForURL:]):
34509
34510        Changed "PPC" in our user agent string to "PPC Mac OS X" in order to
34511        match Mozilla and make the silly server-side user agent string checking
34512        work at fboweb.com.  Actually, just "PPC " would work fine at
34513        fboweb.com.  Go figure.
34514
345152002-12-13  Darin Adler  <darin@apple.com>
34516
34517        Reviewed by Don.
34518
34519        * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]):
34520        Add "(like Gecko)" string and change "WebKit" to "AppleWebKit".
34521
34522        * English.lproj/StringsNotToBeLocalized.txt: Update for these changes.
34523        * Misc.subproj/WebUnicode.h: No need for & 0xFF since we cast to unsigned char.
34524
345252002-12-13  John Sullivan  <sullivan@apple.com>
34526
34527        - WebKit part of fix for 3028061 -- visiting a bookmarked site
34528        that now has a site icon will not update bookmark's icon
34529
34530        No longer store the icon in the WebHistoryItem, since there's no
34531        mechanism for keeping it fresh and telling interested clients
34532        when it changes. Instead, the latest icon is always returned from
34533        the icon database, and it's up to clients to get a fresh one when
34534        they notice that the icon for a URL has been updated.
34535
34536        Reviewed by Darin
34537
34538        * History.subproj/WebHistoryItem.h:
34539        remove _icon and _loadedIcon ivars
34540
34541        * History.subproj/WebHistoryItem.m:
34542        (-[WebHistoryItem dealloc]):
34543        don't release _icon
34544        (-[WebHistoryItem icon]):
34545        just return fresh icon from database, don't store
34546        (-[WebHistoryItem setURL:]):
34547        don't set _loadedIcon to NO
34548
34549=== Alexander-37u1 ===
34550
345512002-12-13  Darin Adler  <darin@apple.com>
34552
34553        Reviewed by Maciej.
34554
34555        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
34556
345572002-12-13  Trey Matteson  <trey@apple.com>
34558
34559        3108976 - assert _private provisionalItem in -[WebFrame(WebPrivate) _transitionToCommitted
34560        3108865 - frames not maintained going back at directory.apple.com
34561
34562        Both bugs are fixed by the same small change.  We no longer try to inherit loadType
34563        across redirects.  Instead we just make sure the right thing happens in _transitionToCommitted:
34564        for redirects in the loadType=Standard case.
34565
34566        3122721 - History stores both original and redirected sites
34567
34568        Easy fix while in the neighborhood.  We just don't add to History when doing a redirect.
34569
34570        Reviewed by rjw
34571
34572        * WebView.subproj/WebFramePrivate.m:
34573        (-[WebFrame _transitionToCommitted:]):  On redirect, update the URL of the frame's current
34574        item, not the current item in the b/f list.  Also do not add to history on redirect.
34575        (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):  Cut out funny business
34576        that tried to guess when to inherit loadtype across redirects.
34577
345782002-12-13  Richard Williamson   <rjw@apple.com>
34579
34580        Fixed 3127225.  Scale page cache based on available memory.
34581        Also added support for setting WebCore object cache size via
34582        a preference.
34583        Fixed 3126267.  Increase CG glyph cache size if font smoothing
34584        is turned on.
34585        
34586        Reviewed by gramps.
34587
34588        * History.subproj/WebBackForwardList.m:
34589        (+[WebBackForwardList pageCacheSize]):
34590        * Misc.subproj/WebKitLogging.h:
34591        * Misc.subproj/WebKitLogging.m:
34592        * WebCoreSupport.subproj/WebBridge.m:
34593        (-[WebBridge getObjectCacheSize]):
34594        * WebCoreSupport.subproj/WebTextRendererFactory.m:
34595        (getAppDefaultValue):
34596        (getUserDefaultValue):
34597        (getLCDScaleParameters):
34598        * WebView.subproj/WebPreferences.m:
34599        (+[WebPreferences load]):
34600        (-[WebPreferences _pageCacheSize]):
34601        (-[WebPreferences _objectCacheSize]):
34602        * WebView.subproj/WebPreferencesPrivate.h:
34603
346042002-12-13  Chris Blumenberg  <cblu@apple.com>
34605
34606        Fixed: 3105486 - c|net news.com site seems to have lost its favicon again
34607
34608        Reviewed by darin.
34609
34610        * Misc.subproj/WebIconDatabase.m:
34611        (-[WebIconDatabase _updateFileDatabase]): Only save icons with a size of 16 x 16 since that's the only size we use.
34612
346132002-12-13  Chris Blumenberg  <cblu@apple.com>
34614
34615        Catch NULL status strings passed to NPN_Status.
34616        Reviewed by darin.
34617
34618        * Plugins.subproj/WebBaseNetscapePluginView.m:
34619        (-[WebBaseNetscapePluginView status:]): check the incoming string before calling [NSString stringWithCString]
34620
346212002-12-12  Trey Matteson  <trey@apple.com>
34622
34623        3117101 - PLT slows down as history fills up
34624
34625        I saw a 3% sloth effect from a huge (100k) history.  This change cut that cost in half.
34626        I think we still have a marginally measurable cost for our worst practical case.
34627
34628        Reviewed by rjw
34629
34630        * History.subproj/WebHistoryPrivate.m:
34631        (-[WebHistoryPrivate insertEntry:atDateIndex:]):  Comment.
34632        (-[WebHistoryPrivate removeEntryForURLString:]):  Use removeIdentical
34633        instead of remove, since we don't need to do all the equals comparisons.
34634
346352002-12-12  Richard Williamson   <rjw@apple.com>
34636
34637        Changes to fix 3116584.
34638        Reviewed by hyatt.
34639        
34640        Changes to support emptying the page cache from the
34641        "Empty Cache" menu.
34642        Reviewed by trey.
34643
34644        * ChangeLog:
34645        * History.subproj/WebBackForwardList.h:
34646        * History.subproj/WebBackForwardList.m:
34647        (-[WebBackForwardList clearPageCache]):
34648        * History.subproj/WebHistoryItem.m:
34649        (+[WebHistoryItem _scheduleReleaseTimer]):
34650        (-[WebHistoryItem _scheduleRelease]):
34651        (+[WebHistoryItem _releasePageCache:]):
34652        (-[WebHistoryItem setHasPageCache:]):
34653        * WebCoreSupport.subproj/WebTextRenderer.m:
34654        * WebView.subproj/WebFramePrivate.m:
34655        (-[WebFrame _opened]):
34656
346572002-12-12  Richard Williamson   <rjw@apple.com>
34658
34659        Fixed 3119693.  Restore scroll position when going back
34660        to item in b/f cache.
34661        
34662        Reviewed by trey.
34663
34664        * WebView.subproj/WebFramePrivate.m:
34665        (-[WebFrame _opened]):
34666
34667=== Alexander-36 ===
34668
346692002-12-12  Richard Williamson   <rjw@apple.com>
34670
34671        Change relating to 3083287.  This doesn't fix the problem but
34672        flips the geometry calcs to get most incremental images to draw
34673        correctly.  .mac now slideshows draw with the incorrect sliding 
34674        behavior while loading.
34675        
34676        3083287 has been moved to 0.9/1.
34677        
34678        Reviewed by darin.
34679
34680        * WebCoreSupport.subproj/WebImageRenderer.m:
34681        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
34682        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
34683
346842002-12-12  Trey Matteson  <trey@apple.com>
34685
34686        Fixed 3094525 - Need to use SPI to fix flipped drag image problem
34687
34688        We call the new SPI.  I also had to rework the dissolve steps to get it
34689        to non flip the image in Panther in millions (but leave the old code for
34690        the Jaguar case).
34691
34692        Reviewed by cblu
34693
34694        * Misc.subproj/WebNSImageExtras.m:
34695        (+[NSImage load]):  Call the SPI.
34696        (-[NSImage _web_dissolveToFraction:]):  Add new way of building the image for Panther.
34697
346982002-12-12  Darin Adler  <darin@apple.com>
34699
34700        Reviewed by Maciej.
34701
34702        - fixed most likely cause of 3125565 -- 2% regression running the PLT for uncached loads
34703        
34704        Don't recompute the user agent when it doesn't change. It almost never changes.
34705
34706        * WebView.subproj/WebController.m:
34707        (-[WebController initWithView:controllerSetName:]): Add observer so we know when defaults change.
34708        (-[WebController dealloc]): Remove observer.
34709        (-[WebController setApplicationNameForUserAgent:]): Clear out computed user agent to force it
34710        to be recomputed later.
34711        (-[WebController applicationNameForUserAgent]): Just retain since we copied when we stored it
34712        so we know it's not mutable.
34713        (-[WebController customUserAgent]): Ditto.
34714        (-[WebController userAgentForURL:]): Use the cached user agent if it's good. Otherwise compute
34715        and cache the user agent string. This means that we will almost never recompute it.
34716
34717        * WebView.subproj/WebControllerPrivate.h: Add userAgent field to cache in.
34718        * WebView.subproj/WebControllerPrivate.m:
34719        (-[WebControllerPrivate dealloc]): Release userAgent.
34720        (-[WebController _defaultsDidChange]): Release and nil userAgent.
34721
347222002-12-12  Darin Adler  <darin@apple.com>
34723
34724        Reviewed by Maciej.
34725
34726        - fixed 3125504 -- REGRESSION: Selection not working correctly for text area on http://glish.com/css/7.asp
34727
34728        The problem is that the text area lost its first responder status because WebHTMLView took the click,
34729        and NSWindow wanted WebHTMLView to become first responder too.
34730
34731        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView acceptsFirstResponder]):
34732        Don't allow the NSWindow to make this the first responder during the early part of mouseDown event
34733        handling. But do allow anyone else to make this the first responder, for example from keyboard events,
34734        or from calls back from WebCore once we begin mouse-down event handling.
34735
347362002-12-12  Darin Adler  <darin@apple.com>
34737
34738        Reviewed by Maciej and Richard.
34739
34740        - fixed reentrancy crash I ran into while debugging infinite recursion bugs
34741
34742        * WebView.subproj/WebHTMLViewPrivate.m:
34743        (-[WebHTMLView _updateMouseoverWithFakeEvent]): Added. Does part of what _frameOrBoundsChanged did.
34744        (-[WebHTMLView _frameOrBoundsChanged]): Schedule the mouseover update to happen soon, rather than
34745        doing it right away. If we do it right away, we might reenter because sending a mouse moved event
34746        can result in another layout since mouse moved events are the same as mouse dragged events in KHTML.
34747        * WebView.subproj/WebHTMLView.m:
34748        (-[WebHTMLView viewWillMoveToWindow:]): Cancel the scheduled mouseover update.
34749
34750        * WebKit.pbproj/project.pbxproj: Electron uber alles.
34751
347522002-12-12  Richard Williamson   <rjw@apple.com>
34753
34754        Fixed 3125585.  One click crasher option clicking on
34755        any link.  Added additional check to curtail overly
34756        zealous ASSERT.
34757        
34758        Reviewed by mjs.
34759
34760        * WebView.subproj/WebControllerPrivate.m:
34761        (-[WebController _mainReceivedError:fromDataSource:complete:]):
34762
347632002-12-11  Richard Williamson   <rjw@apple.com>
34764
34765        Fixed 3125425.  Just call super if view isn't in view heirarchy,
34766        rather than asserting.  The assert was firing because NSText 
34767        was trying to perform a background layout on an item view that
34768        was moved to the page cache.
34769        
34770        Reviewed by gramps.
34771
34772        * WebCoreSupport.subproj/WebImageRenderer.m:
34773        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
34774        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
34775        * WebView.subproj/WebHTMLView.m:
34776        (-[WebHTMLView visibleRect]):
34777
347782002-12-11  Richard Williamson   <rjw@apple.com>
34779
34780        Fixed 3124121, 3124716 (and other dupes).  Regressions related to b/f crash.
34781        
34782        Reviewed by hyatt.
34783
34784        * ChangeLog:
34785        * History.subproj/WebHistoryItem.m:
34786        (-[WebHistoryItem _scheduleRelease]):
34787        * WebCoreSupport.subproj/WebBridge.m:
34788        (-[WebBridge saveDocumentToPageCache:]):
34789        * WebCoreSupport.subproj/WebImageRenderer.m:
34790        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
34791        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
34792        * WebView.subproj/WebFramePrivate.m:
34793        (-[WebFrame _setState:]):
34794
347952002-12-11  Richard Williamson   <rjw@apple.com>
34796
34797        Fixed 3123375.  Provide SPI to release all pending page caches
34798        
34799        Reviewed by kocienda.
34800
34801        * History.subproj/WebBackForwardList.m:
34802        * History.subproj/WebHistoryItem.h:
34803        * History.subproj/WebHistoryItem.m:
34804        * History.subproj/WebHistoryItemPrivate.h: Added.
34805        * WebCoreSupport.subproj/WebBridge.m:
34806        * WebKit.pbproj/project.pbxproj:
34807        * WebView.subproj/WebFramePrivate.m:
34808
348092002-12-11  Darin Adler  <darin@apple.com>
34810
34811        Reviewed by Richard.
34812
34813        - fixed 3124837 -- Crash trying to handle weird javascript URL in page address field
34814
34815        * Plugins.subproj/WebBaseNetscapePluginView.m:
34816        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
34817        Use the new _web_scriptIfJavaScriptURL to simplify the check for JavaScript URLs,
34818        and to use a more tolerant unescaper.
34819
34820        * English.lproj/StringsNotToBeLocalized.txt: Updated.
34821
348222002-12-11  Darin Adler  <darin@apple.com>
34823
34824        Reviewed by John.
34825
34826        - turned on the mechanism that passes events through WebCore, now that it's working better
34827
34828        * WebView.subproj/WebHTMLViewPrivate.m:
34829        (-[WebHTMLView hitTest:]): Moved this function in here. Rewrote it. It has a new feature where
34830        you can set a global and do a normal hit test, needed for the mouse-moved handling below. Also,
34831        for efficiency, it does the actual hit testing of itself, rather than calling super, which recurses,
34832        and ignoring the result. The sum total is that it always returns self for mouse-moved events, so
34833        we pass them all over the bridge at the topmost frame.
34834
34835        (-[WebHTMLView _updateMouseoverWithEvent:]):
34836        * WebView.subproj/WebHTMLView.m: Moved hitTest: out of here.
34837
348382002-12-11  John Sullivan  <sullivan@apple.com>
34839
34840        - fixed 3124640 -- Crash importing IE Favorites if there 
34841        are no IE favorites
34842
34843        Reviewed by Darin
34844
34845        * Bookmarks.subproj/WebBookmarkImporter.m:
34846        (-[WebBookmarkImporter initWithPath:]):
34847        use alloc/init instead of autoreleasing constructor for error since
34848        it's kept around until dealloc.
34849
348502002-12-11  Darin Adler  <darin@apple.com>
34851
34852        Reviewed by John.
34853
34854        - fixed 3117611 -- REGRESSION: exception in mouseoverTextForElement with accented characters in status
34855
34856        * WebView.subproj/WebHTMLViewPrivate.m:
34857        (-[NSMutableDictionary _web_setObjectIfNotNil:forKey:]):
34858        Remove the object from the dictionary rather than just leaving the dictionary alone if it's nil.
34859        This is needed since we now are reusing an already-existing dictionary.
34860
34861        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
34862
348632002-12-11  Chris Blumenberg  <cblu@apple.com>
34864
34865        Fixed: 3118430 - crash / loop trying to copy url of link to clipboard
34866        Fixed: 3122585 - REGRESSION: dragging links to the desktop or a Finder window does not do anything
34867
34868        Reviewed by john.
34869
34870        We were reusing the drag types from the previous drag pasteboard. For example, we would declare image types when dragging URLs. This would confuse the Finder, so location files weren't being created. This would occasional cause us to crash because we wer
34871
34872
34873
34874
34875
34876
34877
34878
34879
34880en't providing the declared data. 
34881
34882        * Misc.subproj/WebNSPasteboardExtras.h:
34883        * Misc.subproj/WebNSPasteboardExtras.m:
34884        (+[NSPasteboard _web_dragTypesForURL]): Added more types that we handle
34885        (-[NSPasteboard _web_writeURL:andTitle:withOwner:declareTypes:]): declares the provided types, writes URL and title
34886        (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): call _web_writeURL:andTitle:withOwner:types: with _web_dragTypesForURL
34887        * Misc.subproj/WebNSViewExtras.h:
34888        * Misc.subproj/WebNSViewExtras.m:
34889        (-[NSView _web_dragPromisedImage:origin:URL:fileType:title:event:]): call _web_writeURL:andTitle:withOwner: types: plus images types
34890
348912002-12-10  Trey Matteson  <trey@apple.com>
34892
34893        3092966 - going back goes to different page (can't go back to a POST page)
34894        3123450 - if the user refuses a navigation, the b/f menus is wrong
34895
34896        We will rePOST data upon back/forward/refresh if our caches fail us.  The policy delegate
34897        gets a crack at confirming this operation.  Latent bugs where the policy delegate was double
34898        queried are fixed.  A bug in the b/f cursor when a page failed to load is fixed.
34899
34900        Reviewed by Maciej.
34901
34902        * English.lproj/StringsNotToBeLocalized.txt:  Usual suspects.
34903        * History.subproj/WebHistoryItem.h:  Add state for reposting forms.
34904        * History.subproj/WebHistoryItem.m:  Boilerplate changes for new state.
34905        (-[WebHistoryItem dealloc]):
34906        (-[WebHistoryItem setFormData:]):
34907        (-[WebHistoryItem setFormContentType:]):
34908        (-[WebHistoryItem formData]):
34909        (-[WebHistoryItem formContentType]):
34910        (-[WebHistoryItem description]):
34911        * WebView.subproj/WebController.m:
34912        (-[WebController _goToItem:withLoadType:]):  Tighten up an assert as I clarified an
34913        assumption as I worked through this task.
34914        * WebView.subproj/WebControllerPolicyDelegate.h:  New WebNavigationType's for back/forward,
34915        refresh, and repost.
34916        * WebView.subproj/WebFrame.m:
34917        (-[WebFrame loadRequest:]):  Eliminate extra copy of a request.
34918        (-[WebFrame reload]):  Eliminate extra copy of a request.  Setup triggeringAction properly
34919        if we're about to rePOST.
34920        * WebView.subproj/WebFramePrivate.h:  Started moving some private methods into the .m file.
34921        * WebView.subproj/WebFramePrivate.m:
34922        (-[WebFrame _createItem]):  Save form state with history items.
34923        (-[WebFrame _isLoadComplete]):  Fix up b/f cursor on page error before commit succeeds.
34924        (-[WebFrame _loadItem:fromItem:withLoadType:]):  Set up request to rePOST if that's what the
34925        HistoryItem demands.  Add call to _addExtraFieldsToRequest so we don't do a double
34926        query of the policy delegate.  Pre-flight the form post vs. WF cache to setup triggering
34927        action properly.
34928        (-[WebFrame _actionInformationForLoadType:isFormSubmission:event:originalURL:]):
34929        New utility method to help build action dict.
34930        (-[WebFrame _continueAfterNavigationPolicy:]):  Comment only.
34931        (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):  Call new utility method
34932        instead (just code factoring).
34933        (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]):  Call new utility method
34934        instead (just code factoring).  Add call to _addExtraFieldsToRequest so we don't do a double
34935        query of the policy delegate.
34936        (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):  Whitespace only.
34937        (-[WebFrame _resetBackForwardListToCurrent]):  Utility routine to fix up b/f cursor on page error.
34938        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):  Fix up b/f cursor on page
34939        error before commit succeeds.
34940
349412002-12-10  Darin Adler  <darin@apple.com>
34942
34943        Reviewed by Maciej.
34944
34945        - fixed 3124302 -- REGRESSION: Can't use directory.apple.com because
34946        frame resize bar intercepts mouse clicks
34947
34948        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]):
34949        Don't steal clicks for views that are inside nested WebViews.
34950        This isn't the real fix, but it's good enough for now. The real fix will be in WebCore.
34951
349522002-12-10  Darin Adler  <darin@apple.com>
34953
34954        - fixed fix for 3124081 -- REGRESSION: partial progress is left in address field after download
34955
34956        Reviewed by Chris.
34957
34958        Need to move it down one line so the data source is clear before callback.
34959
34960        * WebView.subproj/WebMainResourceClient.m:
34961        (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
34962        Do the _clearProvisionalDataSource before the locationChangeDone: callback.
34963
349642002-12-10  John Sullivan  <sullivan@apple.com>
34965
34966        Fixed more "Alexander"s that were lurking in places I forgot 
34967        to look before.
34968
34969        Reviewed by Darin
34970
34971        * Makefile.am:
34972        "rm -rf $(SYMROOTS)/Safari.app/Frameworks/WebKit.framework"
34973
349742002-12-10  Darin Adler  <darin@apple.com>
34975
34976        - fixed 3124081 -- REGRESSION: partial progress is left in address field after download
34977
34978        Reviewed by Chris.
34979
34980        * WebView.subproj/WebMainResourceClient.m:
34981        (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
34982        Put in code to call the locationChangeDone: method on the location change delegate if
34983        keepLoading is YES. Since the data source is not finished loading WebFrame won't do it.
34984
349852002-12-10  Chris Blumenberg  <cblu@apple.com>
34986
34987        Fixed: 3124079 - REGRESSION: Downloads never complete
34988
34989        Reviewed by darin.
34990
34991        * WebView.subproj/WebMainResourceClient.m:
34992        (-[WebMainResourceClient handleDidFinishLoading:]): release and set to nil the download handler after calling [super handleDidFinishLoading:h]
34993
349942002-12-10  Richard Williamson   <rjw@apple.com>
34995
34996        Fixed 3115427.  Page now draws instantly instead of 20 seconds.
34997        I added the substitution font we get from the appkit to the character to glyph
34998        cache.
34999        
35000        Fixed early return optimization from letter forming function.  It was too
35001        eager to return!
35002        
35003        Reviewed by mjs.
35004
35005        * Misc.subproj/WebUnicode.m:
35006        (shapedString):
35007        * WebCoreSupport.subproj/WebTextRenderer.h:
35008        * WebCoreSupport.subproj/WebTextRenderer.m:
35009        (glyphForCharacter):
35010        (glyphForUnicodeCharacter):
35011        (widthForGlyph):
35012        (widthForCharacter):
35013        (_fontContainsString):
35014        (-[WebTextRenderer substituteFontForString:families:]):
35015        (-[WebTextRenderer _computeWidthForSpace]):
35016        (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]):
35017        (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]):
35018        (-[WebTextRenderer updateGlyphEntryForCharacter:glyphID:font:]):
35019        (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
35020        (-[WebTextRenderer extendGlyphToWidthMapToInclude:]):
35021
350222002-12-10  John Sullivan  <sullivan@apple.com>
35023
35024        - tweaked the API of WebBookmarkImporter while implementing
35025        real "Import IE Favorites" UI
35026
35027        Reviewed by Ken
35028
35029        * Bookmarks.subproj/WebBookmarkImporter.h:
35030        fixed a typo in a constant
35031        * Bookmarks.subproj/WebBookmarkImporter.m:
35032        (-[WebBookmarkImporter initWithPath:]):
35033        Don't pass a group here. This method now creates the topBookmark
35034        (as it was doing before) but does not attempt to insert it
35035        anywhere. It's up to the client to fetch the topBookmark and do
35036        something with it. Also, don't name the new folder here; leave
35037        that to the caller also.
35038
35039        * English.lproj/Localizable.strings:
35040        kept this file up to date
35041
350422002-12-10  Darin Adler  <darin@apple.com>
35043
35044        Reviewed by John.
35045
35046        - fixed 3108912 -- onclick handlers not supported on form elements
35047
35048        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]):
35049        Take over hit testing so that all clicks on subviews are handled by the WebHTMLView.
35050        WebCore now handles getting the mouse events to the subviews after passing
35051        the events through the DOM.
35052
350532002-12-09  Maciej Stachowiak  <mjs@apple.com>
35054
35055        Reviewed by Trey.
35056
35057        - fixed 3123057 - SJ: DHTML doesn't always work on http://www.pixar.com/howwedoit/
35058        * WebView.subproj/WebFramePrivate.m:
35059        (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
35060        Treat a click on a link to the same URL with an anchor as a scroll
35061        to anchor, not a same URL load.
35062        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Avoid
35063        adding the same anchor URL to the back/forward list many times.
35064
350652002-12-09  Darin Adler  <darin@apple.com>
35066
35067        Reviewed by Maciej.
35068
35069        - fixed 3028664 -- change user agent string to include application name and version
35070
35071        * WebView.subproj/WebController.m:
35072        (-[WebController setApplicationNameForUserAgent:]): Remove locking, unneeded since we changed
35073        how WebFoundation handles user agent.
35074        (-[WebController setCustomUserAgent:]): Ditto.
35075        (-[WebController resetUserAgent]): Ditto.
35076        (-[WebController userAgentForURL:]): Remove locking. Also add new algorithm for computing the
35077        user agent which takes the preferred language into account, and incorporates the WebKit version
35078        and the application name.
35079
35080        * WebView.subproj/WebControllerPrivate.h: No need for a lock.
35081        * WebView.subproj/WebControllerPrivate.m:
35082        (-[WebControllerPrivate init]): Don't create a lock.
35083        (-[WebControllerPrivate dealloc]): Don't release a lock.
35084
35085        * WebKit.pbproj/project.pbxproj: Bump versions to 0.8 and 35u.
35086        * English.lproj/InfoPlist.strings: In here too.
35087
35088        * English.lproj/StringsNotToBeLocalized.txt: Updated for these and other recent changes.
35089
350902002-12-09  Richard Williamson   <rjw@apple.com>
35091
35092        Many changes for b/f list.
35093        1.  Always attempt to cache snap back items.
35094        2.  Lazily release resources from page cache.  This garners gains on the PLT (and presumably iBench) tests, both for uncached.
35095        3.  Set the page cache size to 4 (+ snap back items).  After releasing resources we hover around 28MB footprint.  Closing windows releases all resources.
35096        4.  Turn on the back/forward cache by default.  The menu item still allows you to toggle b/f on and off.  Useful when conducting speed comparison in the PLT.
35097        5.  Addition of lazy update to PLT memory statistics to show footprint after lazy release of page cache resources.
35098        6.  Delayed to leak detector to account for lazy release of resources.
35099        7.  A change when saving a page to back/forward cache to clear and restore the documents root renderer.  Without this fix pages would appear to 'flicker' more when content arrived.
35100        8.  A change to ensure a layout when restoring a page from the b/f cache.  Without this fix scrollbars wouldn't appear correctly.
35101        9.  A change to ensure that khtmlview layout and paint timers are unscheduled when a page is placed in the b/f cache.
35102        10.  A fix to decouple of khtmlview from it's part when placed in the b/f cache.  This fixed a crash caused by inappropriate deference of the part when a page cache item was released.
35103        11.  A comment in KHTMLPageCache.h explaining the that our page cache is not the same as the khtml page cache.  (Their cache just cached the html source.)
35104        12.  Reapply styles when loading page from cache.  This ensures that visited link get the appropriate style.
35105
35106        Reviewed by kocienda.
35107
35108        * History.subproj/WebBackForwardList.m:
35109        (+[WebBackForwardList pageCacheSize]):
35110        (+[WebBackForwardList setUsesPageCache:]):
35111        (+[WebBackForwardList usesPageCache]):
35112        * History.subproj/WebHistoryItem.h:
35113        * History.subproj/WebHistoryItem.m:
35114        (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
35115        (-[WebHistoryItem alwaysAttemptToUsePageCache]):
35116        (+[WebHistoryItem _invalidateReleaseTimer]):
35117        (-[WebHistoryItem _scheduleRelease]):
35118        (+[WebHistoryItem _releaseAllPendingPageCaches]):
35119        (-[WebHistoryItem _releasePageCache:]):
35120        (-[WebHistoryItem setHasPageCache:]):
35121        (-[WebWindowWatcher windowWillClose:]):
35122        * WebView.subproj/WebDataSourcePrivate.h:
35123        * WebView.subproj/WebDataSourcePrivate.m:
35124        (-[WebDataSource _startLoading:]):
35125        (-[WebDataSource _commitIfReady:]):
35126        (-[WebDataSource _loadingFromPageCache]):
35127        * WebView.subproj/WebDynamicScrollBarsView.h:
35128        * WebView.subproj/WebFramePrivate.h:
35129        * WebView.subproj/WebFramePrivate.m:
35130        (-[WebFrame _purgePageCache]):
35131        (+[WebFrame _timeOfLastCompletedLoad]):
35132        (-[WebFrame _setState:]):
35133        (-[WebFrame _opened]):
35134        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
35135        * WebView.subproj/WebPreferences.m:
35136        (+[WebPreferences load]):
35137
351382002-12-09  Darin Adler  <darin@apple.com>
35139
35140        Reviewed by Chris.
35141
35142        - fixed 3122608 -- REGRESSION: Downloads can't be cancelled
35143
35144        When I fixed the leak for other categories of policy interruption, I messed
35145        things up for downloads. Added new parameters to handle this right.
35146
35147        * WebView.subproj/WebBaseResourceHandleDelegate.h: Remove isDownload flag.
35148        * WebView.subproj/WebBaseResourceHandleDelegate.m:
35149        (-[WebBaseResourceHandleDelegate isDownload]): Return NO, override in subclass.
35150        (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]): Call isDownload
35151        method instead of looking at flag directly.
35152
35153        * WebView.subproj/WebControllerPrivate.h: Add complete: parameter to _mainReceivedError:.
35154        * WebView.subproj/WebControllerPrivate.m:
35155        (-[WebController _mainReceivedError:fromDataSource:complete:]): If complete is NO, then
35156        don't mark the primary load as complete.
35157        * WebView.subproj/WebMainResourceClient.m:
35158        (-[WebMainResourceClient isDownload]): Added. Returns YES if downloadHandler is non-nil.
35159        (-[WebMainResourceClient receivedError:complete:]): Added complete parameter. Call the
35160        _setPrimaryLoadComplete: method in the download case (fixes a possible leak), and pass
35161        the complete parameter through to the controller.
35162        (-[WebMainResourceClient cancel]): Pass complete:YES.
35163        (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): Added the keepLoading
35164        flag, and pass complete:!keepLoading.
35165        (-[WebMainResourceClient stopLoadingForPolicyChange]): Pass keepLoading:NO.
35166        (-[WebMainResourceClient continueAfterContentPolicy:response:]): Pass keepLoading:YES,
35167        and remove the call to the now-obsolete setIsDownload:.
35168        (-[WebMainResourceClient handle:didFailLoadingWithError:]): Pass complete:YES.
35169
351702002-12-08  Darin Adler  <darin@apple.com>
35171
35172        Reviewed by Don and Dave.
35173
35174        - fixed 3120578 -- REGRESSION: going to about:blank creates null view
35175
35176        This part of the fix makes sure that a renderer is created, even when there are no bytes
35177        of data passed through. This makes the empty document about:blank case work just like the
35178        "document with just whitespace in it case". There's another part of the fix in WebCore that
35179        takes care of the remaining problem. 
35180
35181        * WebView.subproj/WebHTMLRepresentation.m:
35182        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
35183        Call receivedData:withDataSource: on the bridge with nil for the data. It would be even more
35184        elegant to add a new call for the case where we finish, but it's not necessary, since the
35185        existing receivedData: call does all the right things if passed nil.
35186
35187        * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _finishedLoading]):
35188        Call finishedLoadingWithDataSource: here, to make sure it's done after committing.
35189        This parallels what we already do for the didReceiveData call.
35190        * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handleDidFinishLoading:]):
35191        Remove the call to finishedLoadingWithDataSource: because it's handled by _finishedLoading now.
35192        This parallels what we already do for the didReceiveData call.
35193
35194        - fixed long standing problem where resizing could make you see a "null view"
35195
35196        * WebView.subproj/WebView.m:
35197        (-[WebView drawRect:]): Add a "paint cyan" feature in development builds.
35198        Null view problems are particularly hard to debug without something like this,
35199        and we don't care if development builds are slightly slower. No change in deployment.
35200        (-[WebView setFrameSize:]): Tell the scroll view to draw the background if we are
35201        resized. We can't do our "let the old bits show through" thing any more if we have to
35202        redraw because of resizing.
35203
35204        - other changes
35205
35206        * WebKit.pbproj/project.pbxproj: Remove the old -DAPPLE_CHANGES and -DHAVE_CONFIG_H that we
35207        once needed when WebKit used to compile  C++ headers from the KHTML part of WebCore.
35208        We haven't needed those for ages. Also sort things a bit, using the new Electron feature for
35209        sorting lists of files alphabetically, and some by hand.
35210
35211        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
35212
352132002-12-08  Chris Blumenberg  <cblu@apple.com>
35214
35215        Fixed: 3121627 - REGRESSION: partial progress is left in address field after download
35216
35217        Reviewed by: darin
35218
35219        In WebMainResourceClient, make sure to always call receivedError before _clearProvisionalDataSource so that
35220        receivedError works. This is done in multiple places, so I factored this out into one method interuptForPolicyChange.
35221
35222        * WebView.subproj/WebControllerPrivate.m:
35223        (-[WebController _mainReceivedError:fromDataSource:]): added asserts for nil error, dataSource and frame
35224        * WebView.subproj/WebMainResourceClient.m:
35225        (-[WebMainResourceClient interruptForPolicyChange]): renamed from notifyDelegatesOfInterruptionByPolicyChange because it now also sets the provisionalDataSource on the frame to nil. 
35226        (-[WebMainResourceClient stopLoadingForPolicyChange]): call interruptForPolicyChange, stop load
35227        (-[WebMainResourceClient continueAfterContentPolicy:response:]): call interruptForPolicyChange
35228
352292002-12-06  Trey Matteson  <trey@apple.com>
35230
35231        Clean up some printfs.  Use WebKitLogPageCache for page cache info.
35232
35233        Reviewed by: rjw
35234
35235        * WebView.subproj/WebFramePrivate.m:
35236        (-[WebFrame _transitionToCommitted:]):
35237        (-[WebFrame _purgePageCache]):
35238        (-[WebFrame _setState:]):
35239        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
35240
352412002-12-06  Trey Matteson  <trey@apple.com>
35242
35243        3118584 - implement desired behavior for load - reload - b/f
35244        3119241 - page cache needs to be refreshed after reload
35245        3118096 - isTargetItem:NO saved to disk with every bookmark
35246
35247        The most noticeable changes are the addition of the "Same" loadType, and that reload
35248        does not restore form state.  3119241 was noticed in passing, and is related.
35249        3118096 is a nit with a possible small perf benefit.
35250
35251        Reviewed by: rjw
35252
35253        * History.subproj/WebHistoryItem.h:
35254        * History.subproj/WebHistoryItem.m:
35255        (-[WebHistoryItem dealloc]):  New originalURL field.
35256        (-[WebHistoryItem originalURL]):  New getter.
35257        (-[WebHistoryItem setOriginalURL:]):  New setter.
35258        (-[WebHistoryItem dictionaryRepresentation]):  Dont save isTarget.
35259        (-[WebHistoryItem initFromDictionaryRepresentation:]):  Dont save isTarget.
35260        * WebView.subproj/WebFrame.m:
35261        (-[WebFrame loadRequest:]):  Test for going to same URL, invoke loadTypeSame case.
35262        * WebView.subproj/WebFramePrivate.h:  Add loadTypeSame
35263        * WebView.subproj/WebFramePrivate.m:
35264        (-[WebFrame _addBackForwardItemClippedAtTarget:]):  Remove a line of dead code.
35265        (-[WebFrame _createItem]):  Set originalURL when item is created.
35266        (-[WebFrame _transitionToCommitted:]):  For loadTypeSame, clear page cache
35267        (-[WebFrame _purgePageCache]):  Added logging.
35268        (-[WebFrame _setState:]):  Don't add to page cache if doing a reload.
35269        (-[WebFrame _isLoadComplete]):  LoadTypeSame is a NOP.
35270        (-[WebFrame _loadItem:fromItem:withLoadType:]):  LoadTypeSame is an ASSERT.
35271        (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):  In
35272        the LoadTypeSame case load from origin and never do anchor nav.  If asked to load
35273        the same URL, invoke LoadTypeSame case.
35274        (-[WebFrame _loadURL:intoChild:]):  Latent bug: WebFrameLoadTypeReloadAllowingStaleData
35275        should restore child frame content like reload does.
35276        (-[WebFrame _itemForRestoringDocState]):  Prevent form state restore on reload and loadSame.
35277        (-[WebFrame _shouldTreatURLAsSameAsCurrent:]):  New utility function.
35278
352792002-12-06  Maciej Stachowiak  <mjs@apple.com>
35280
35281        Reviewed by: Darin Adler
35282
35283        - made framework embedding work correctly with buildit
35284
35285        * WebKit.pbproj/project.pbxproj: Give framework a relative
35286        install path, don't install it the normal way, and copy it
35287        manually to /AppleInternal/Library/Frameworks if installing. Also
35288        look for other frameworks in
35289        ${DSTROOT}/AppleInternal/Library/Frameworks.
35290
352912002-12-05  Darin Adler  <darin@apple.com>
35292
35293        Reviewed by Trey.
35294
35295        - fixed 3103691 -- assertion in WebHTMLView addMouseMovedObserver at versiontracker
35296
35297        * WebView.subproj/WebHTMLView.m:
35298        (-[WebHTMLView addMouseMovedObserver]): Instead of asserting, do the checks here to
35299        determine if the observer should be installed.
35300        (-[WebHTMLView viewDidMoveToWindow]): Remove checks, since addMouseMovedObserver now checks.
35301        (-[WebHTMLView windowDidBecomeMain:]): Remove checks, since addMouseMovedObserver now checks.
35302
353032002-12-05  Richard Williamson   <rjw@apple.com>
35304
35305        Don't ceil spaces if not a fixed pitch font.  This make sites
35306        that have hard coded block widths have less wrapping beyond what the
35307        designer expected.  Fixes 3117225.
35308        
35309        Reviewed by: mjs
35310
35311        * WebCoreSupport.subproj/WebTextRenderer.h:
35312        * WebCoreSupport.subproj/WebTextRenderer.m:
35313        (widthForGlyph):
35314        (-[WebTextRenderer _computeWidthForSpace]):
35315        (-[WebTextRenderer initWithFont:]):
35316        (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]):
35317
353182002-12-05  Chris Blumenberg  <cblu@apple.com>
35319
35320        Added WebDocumentText protocol. Made WebHTMLView and WebTextView implement it.
35321
35322        Reviewed by: rjw
35323
35324        * WebView.subproj/WebController.m:
35325        (-[WebController supportsTextEncoding]): check if protocol is WebDocumentText
35326        * WebView.subproj/WebDocument.h:
35327        * WebView.subproj/WebHTMLView.h:
35328        * WebView.subproj/WebHTMLView.m:
35329        (-[WebHTMLView hasSelection]): call selectedString
35330        (-[WebHTMLView takeFindStringFromSelection:]): call selectedString
35331        (-[WebHTMLView selectAll:]): call selectAll
35332        (-[WebHTMLView string]): part of WebDocumentText protocol
35333        (-[WebHTMLView attributedString]): part of WebDocumentText protocol
35334        (-[WebHTMLView selectedString]): part of WebDocumentText protocol
35335        (-[WebHTMLView selectedAttributedString]): part of WebDocumentText protocol
35336        (-[WebHTMLView selectAll]): part of WebDocumentText protocol
35337        (-[WebHTMLView deselectAll]): part of WebDocumentText protocol
35338        * WebView.subproj/WebHTMLViewPrivate.m:
35339        (-[WebHTMLView _writeSelectionToPasteboard:]): call selectedAttributedString
35340        * WebView.subproj/WebTextView.h:
35341        * WebView.subproj/WebTextView.m:
35342        (-[WebTextView string]): part of WebDocumentText protocol
35343        (-[WebTextView attributedString]): part of WebDocumentText protocol
35344        (-[WebTextView selectedString]): part of WebDocumentText protocol
35345        (-[WebTextView selectedAttributedString]): part of WebDocumentText protocol
35346        (-[WebTextView selectAll]): part of WebDocumentText protocol
35347        (-[WebTextView deselectAll]): part of WebDocumentText protocol
35348
353492002-12-05  Darin Adler  <darin@apple.com>
35350
35351        Reviewed by Richard.
35352
35353        - fixed 3107240 -- world leak: reproducible, trying to open TIFF file
35354
35355        * WebView.subproj/WebMainResourceClient.m:
35356        (-[WebMainResourceClient notifyDelegatesOfInterruptionByPolicyChange]):
35357        Send error to the delegate using receivedError: rather than directly.
35358        This results in the frame properly stopping the load and fixes the leak.
35359
353602002-12-05  Darin Adler  <darin@apple.com>
35361
35362        Reviewed by Chris.
35363
35364        * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler initWithDataSource:]):
35365        Add WebGZipDecoder to the list.
35366
35367        * Downloads.subproj/WebGZipDecoder.h: Finished this.
35368        * Downloads.subproj/WebGZipDecoder.m: Finished this.
35369
35370        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
35371
353722002-12-05  Maciej Stachowiak  <mjs@apple.com>
35373
35374        Reviewed by: Darin
35375
35376        * English.lproj/InfoPlist.strings: removed letters from
35377        CFBundleShortVersionString to make buildit happy.
35378
35379=== Alexander-35 ===
35380
353812002-12-05  Darin Adler  <darin@apple.com>
35382
35383        Reviewed by Ken.
35384
35385        - fixed 3118647 -- REGRESSION: click policy no longer works
35386
35387        * WebView.subproj/WebFramePrivate.m:
35388        (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
35389        Allow mouse up events too. Those are usually the ones that trigger navigation.
35390
353912002-12-04  Darin Adler  <darin@apple.com>
35392
35393        Reviewed by Maciej.
35394
35395        - fixed assert when you choose an item from a menu, for example, and that navigates
35396
35397        * WebView.subproj/WebFramePrivate.m:
35398        (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
35399        If the event is over some other element, just don't include the element info.
35400
354012002-12-04  Chris Blumenberg  <cblu@apple.com>
35402
35403        Fixed: 3116294 - Need "Reload" feature in Downloads window
35404
35405        Reviewed by: rjw
35406
35407        * WebKit.pbproj/project.pbxproj: made WebFramePrivate.h private so that WebBrowser can call _downloadRequest:toPath:
35408        * WebView.subproj/WebFramePrivate.m:
35409        (-[WebFrame _loadDataSource:withLoadType:]): commented out assert that complains about lack of WebView. Long-term solution is to catch this earlier and have a lone datasource download mechanism 3118355.
35410
354112002-12-04  Trey Matteson  <trey@apple.com>
35412
35413        3097585 - Crash in -[WebFrame(WebPrivate) _isLoadComplete] at result of google image search
35414
35415        The root of this problem was that we would detach child frames by calling detach
35416        on them all, then clearing the whole array.  This would fail because detaching a
35417        frame might have to stop a load, which calls checkLoadComplete, which visits the
35418        entire frame tree.  But if a previously detached child is still sitting in that
35419        tree, we end up with an assertion failure.  The solution is to remove the kids as
35420        they are detached.
35421
35422        Reviewed by: Darin Adler
35423
35424        * WebView.subproj/WebFramePrivate.m:
35425        (-[WebFrame _createItem]):   Method rename (a nit I missed from an earlier change)
35426        (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):  Method rename
35427        (-[WebFrame _detachChildren]):   new method to do detaching right
35428        (-[WebFrame _detachFromParent]):  call new method
35429        (-[WebFrame _setDataSource:]):  call new method
35430        (-[WebFrame _transitionToCommitted:]):    Method rename
35431
354322002-12-04  Darin Adler  <darin@apple.com>
35433
35434        Reviewed by Trey and Maciej.
35435
35436        - fixed 3117558 -- Assertion failure in KWQKHTMLPart::slotData after typing "amazon.com" twice
35437        - update NSEvent handling in preparation for NSView mouse event handling going through WebCore
35438
35439        * WebView.subproj/WebFramePrivate.m:
35440        (-[WebFrame _loadItem:fromItem:withLoadType:]): Added FIXME comments about matching the _loadURL
35441        case more closely.
35442        (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Only use the event if it's
35443        a mouse down event. This prevents trouble when we have other kinds of events coming through.
35444        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Call the new scrollToAnchorWithURL:
35445        instead of openURL:. This fixes the assertion failure in the bug above.
35446        (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Update checks here to more closely
35447        match the ones in KHTMLPart::openURL that we are replacing. Add more comments.
35448
35449        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]): Function to intercept all clicks at the
35450        WebHTMLView level, disabled for now because we are not yet ready.
35451
35452        - started a gzip download decoder, not yet hooked up
35453
35454        * Downloads.subproj/WebGZipDecoder.h: Added.
35455        * Downloads.subproj/WebGZipDecoder.m: Added.
35456        * WebKit.pbproj/project.pbxproj: Add WebGZipDecoder and zlib.
35457
35458        - other changes
35459
35460        * Panels.subproj/WebAuthenticationPanel.m: Fixed screwed-up indentation.
35461
354622002-12-04  Richard Williamson   <rjw@apple.com>
35463
35464        Cache the fallback font in the same way we cache other
35465        fonts.
35466        
35467        Reviewed by: Darin
35468
35469        * WebCoreSupport.subproj/WebTextRendererFactory.h:
35470        * WebCoreSupport.subproj/WebTextRendererFactory.m:
35471        (-[WebTextRendererFactory fallbackFontWithTraits:size:]):
35472        (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
35473        (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
35474
354752002-12-04  Richard Williamson   <rjw@apple.com>
35476
35477        Fixed massive performance regression.
35478        We were leaking WebFontCacheKey.
35479        Added a cache of missing fonts to avoid
35480        expensive appkit lookup.
35481        
35482        Reviewed by: Maciej
35483
35484        * WebCoreSupport.subproj/WebTextRendererFactory.m:
35485        (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
35486        (-[WebTextRendererFactory cachedFontFromFamilies:traits:size:]):
35487
354882002-12-03  Darin Adler  <darin@apple.com>
35489
35490        - fixed 3117193 -- REGRESSION: Hang on Hixie's weblog
35491
35492        Reviewed by Maciej.
35493
35494        * WebCoreSupport.subproj/WebTextRenderer.m:
35495        (-[WebTextRenderer substituteFontForString:families:]):
35496        Do the operation on the whole string at once instead of a character at a time.
35497        I decided to do this rather than correct the bug in the character-at-a-time version.
35498
35499== Rolled over to ChangeLog-2002-12-03 ==
35500