dd72a162852bd6342aded4c3d60fafb7e3b70764
[WebKit-https.git] / WebKit / ChangeLog
1 2006-07-07  Levi Weintraub  <lweintraub@apple.com>
2
3         Reviewed by justin
4
5         Finished moving deletion selection expansion across the bridge... say that 3 times fast.
6
7         * WebView/WebHTMLView.m:  Pass granularity to WebCore to handle expansion
8         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
9         (-[WebHTMLView _deleteSelection]):
10         (-[NSArray _deleteWithDirection:granularity:killRing:isTypingAction:]):
11         (-[NSArray deleteToMark:]):
12
13 2006-07-07  Brady Eidson  <beidson@apple.com>
14
15         Reviewed by John
16
17         Changed an ASSERT to a LOG_ERROR for an error that could be handled gracefully, but
18         whose assertion was reproducibly causing a build bot failure
19
20         * Misc/WebIconDatabase.m:
21         (-[WebIconDatabase _releaseIconForIconURLString:]):
22
23 2006-07-06  Levi Weintraub  <lweintraub@apple.com>
24
25         Reviewed by justin
26
27         Improved table editing
28
29         * WebCoreSupport/WebFrameBridge.m: Added method to allow WebCore to trigger
30         deletion editing delegate
31         (-[WebFrameBridge shouldDeleteSelectedDOMRange:]):
32         * WebView/WebHTMLView.m: Moved code that expanded a selection when the delete
33         key is pressed over to WebCore so we can be more intelligent about how to handle it
34         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]):
35         (-[NSArray _deleteWithDirection:granularity:killRing:isTypingAction:]):
36
37 2006-07-07  John Sullivan  <sullivan@apple.com>
38
39         Reviewed by Tim Hatcher
40         
41         - fixed <rdar://problem/4606857> WebKit: WebPreferencesChangedNotification not exported
42
43         * WebKit.exp:
44         added surprisingly missing _WebPreferencesChangedNotification, defined in
45         WebPreferences.h
46
47 2006-07-06  Brady Eidson  <beidson@apple.com>
48
49         Reviewed by John.
50
51         Small fix to my previous small fix that only lets the ASSERT off the hook if the DB
52         is closing
53
54         * Misc/WebIconDatabase.m:
55         (-[WebIconDatabase _releaseIconForIconURLString:]):
56
57 2006-07-05  Brady Eidson  <beidson@apple.com>
58
59         Reviewed by Maciej
60
61         Small fix that prevents an assertion from triggering if the DB is being cleaned up 
62         (ie, the app being shut down)
63
64         * Misc/WebIconDatabase.h:
65         * Misc/WebIconDatabase.m:
66         (-[NSMutableDictionary init]):
67         (-[WebIconDatabase _applicationWillTerminate:]):
68         (-[WebIconDatabase _releaseIconForIconURLString:]):
69
70 2006-07-05  Adele Peterson  <adele@apple.com>
71
72         Reviewed by Maciej and Hyatt.
73
74         WebKit part of initial popup menu implementation.
75
76         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
77         Initialize WKPopupMenu.
78
79 2006-07-05  Anders Carlsson  <acarlsson@apple.com>
80
81         Reviewed by Maciej.
82
83         http://bugzilla.opendarwin.org/show_bug.cgi?id=3581
84         iFrames set to display:none are Missing from frames array
85         
86         * WebCoreSupport/WebFrameBridge.m:
87         (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
88         (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
89         Modify to pass the owner element instead of the owner renderer.
90         
91         * WebView/WebHTMLView.m:
92         (-[WebHTMLView _topHTMLView]):
93         Remove assertion, it's not valid anymore.
94
95 2006-07-05  Timothy Hatcher  <timothy@apple.com>
96
97         Reviewed by Harrison.
98
99         <rdar://problem/4608423> HIViewAdapter used but not defined
100         Adds a new export file to fix the build.
101
102         * WebKit.LP64.exp: Added.
103         * WebKit.xcodeproj/project.pbxproj:
104
105 2006-07-04  Timothy Hatcher  <timothy@apple.com>
106
107         Reviewed by Maciej.
108
109         Bug 9731: [Drosera] crash when trying to access the scope chain
110         http://bugzilla.opendarwin.org/show_bug.cgi?id=9731
111
112         Because of <rdar://problem/4608404> the WebScriptObject, _globalObj, that
113         WebCoreScriptDebugger holds is unprotected each time the page changes.
114         This causes Drosera to crash Safari when trying to access the scope chain.
115         We simply need to detach and re-attach the debugger when the window script
116         object is cleared until 4608404 is fixed. This change also attaches the
117         debugger before we call the windowScriptObjectAvailable: delegate method,
118         so the debugger is ready before anyone might use the window object.
119
120         * WebCoreSupport/WebFrameBridge.m:
121         (-[WebFrameBridge windowObjectCleared]):
122
123 2006-07-04  Timothy Hatcher  <timothy@apple.com>
124
125         Reviewed by Darin.
126
127         Bug 9732: [Drosera] calling removeListener to many times will cause
128                   WebKit's listener count to underflow/wraparound
129         http://bugzilla.opendarwin.org/show_bug.cgi?id=9732
130
131         Adds a check to make sure the listener was in our listeners set before
132         decrementing the global listener count. Also checks for nil in addListner
133         to prevent a possible exception when adding the object to the set.
134
135         * DefaultDelegates/WebScriptDebugServer.m:
136         (-[WebScriptDebugServer addListener:]):
137         (-[WebScriptDebugServer removeListener:]):
138
139 2006-07-04  Alexey Proskuryakov  <ap@nypop.com>
140
141         Reviewed by Maciej.
142
143         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8210
144         Conditional XMLHttpRequest gets should pass 304 responses unchanged
145
146         Test: http/tests/xmlhttprequest/cache-override.html
147
148         * Misc/WebNSURLRequestExtras.h: Added _web_isConditionalRequest
149         * Misc/WebNSURLRequestExtras.m:
150         (-[NSURLRequest _web_isConditionalRequest]):
151         * WebCoreSupport/WebFrameBridge.m:
152         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
153         Bypass the cache for conditional requests.
154         * WebCoreSupport/WebSubresourceLoader.m:
155         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): Ditto.
156
157 2006-07-01  David Kilzer  <ddkilzer@kilzer.net>
158
159         Reviewed by NOBODY (fixed Tim's build fix).
160
161         * WebView/WebView.m: Added back missing '/' at the beginning of the file.
162
163 2006-07-01  Tim Omernick  <timo@apple.com>
164
165         Reviewed by NOBODY (build fix)
166
167         * WebView/WebView.m:
168         (-[WebView _isMIMETypeRegisteredAsPlugin:]):
169         Changed nil to NO (typo).
170
171 === Safari-521.14 ===
172
173 2006-06-30  Timothy Hatcher  <timothy@apple.com>
174
175         Reviewed by Darin.
176
177         Only enable shouldCloseWithWindow when ObjC GC is enabled.
178         This maintains backwards compatibility with applications
179         that expect a WebView to be usable after the window closes.
180
181         * WebView/WebView.m:
182         (-[WebViewPrivate init]):
183
184 2006-06-30  Timothy Hatcher  <timothy@apple.com>
185
186         Reviewed by Anders.
187
188         Call _close in dealloc to ensure we cleanup for backwards
189         compatibility. This will safeguard and cleanup even if the
190         application doesn't use the new close API yet, like Mail.
191
192         * WebView/WebView.m:
193         (-[WebView dealloc]):
194
195 2006-06-29  Timothy Hatcher  <timothy@apple.com>
196
197         Reviewed by Darin.
198
199         <rdar://problem/4484405> WebKit leaks, improper tear-down
200         <rdar://problem/3694059> -[WebBackForwardList finalize] is incorrect; design change needed
201         <rdar://problem/3694103> -[WebFrame finalize] is incorrect; design change needed
202         <rdar://problem/3694104> -[WebHTMLView finalize] is incorrect; design change needed
203
204         Adds a close method to WebView, this needs to be called when the 
205         WebView is no longer needed. To make this easier for the common cases
206         there is now an "auto close" on WebView that listens to the view's
207         parent window. If the parent window closes and the WebView has no
208         hostWindow then the WebView is automatically closed if autoClose is YES.
209         To manage WebView closing yourself call setAutoClose: and pass NO.
210
211         When a WebView closes it will tear-down and not be usable anymore.
212         Close will will called on various other internal objects as a part
213         of this, to ensure proper tear-down in GC without relying on finalize.
214
215         * History/WebBackForwardList.m:
216         (-[WebBackForwardList dealloc]):
217         (-[WebBackForwardList finalize]):
218         (-[WebBackForwardList _close]):
219         * History/WebHistoryItem.m:
220         (+[WebHistoryItem _closeObjectsInPendingPageCaches]):
221         (+[WebHistoryItem _releaseAllPendingPageCaches]):
222         * History/WebHistoryItemPrivate.h:
223         * WebCoreSupport/WebFrameBridge.m:
224         (-[WebFrameBridge close]):
225         (-[WebFrameBridge saveDocumentToPageCache:]):
226         (-[WebFrameBridge canGoBackOrForward:]):
227         * WebView/WebFrame.m:
228         (-[WebFrame _detachFromParent]):
229         (-[WebFrame dealloc]):
230         (-[WebFrame finalize]):
231         * WebView/WebFrameView.m:
232         (-[WebFrameView _setWebFrame:]):
233         (-[WebFrameView finalize]):
234         * WebView/WebHTMLView.m:
235         (-[WebHTMLView close]):
236         (-[NSArray dealloc]):
237         (-[NSArray finalize]):
238         * WebView/WebHTMLViewInternal.h:
239         * WebView/WebHTMLViewPrivate.h:
240         * WebView/WebScriptDebugDelegate.m:
241         (-[WebScriptCallFrame _initWithFrame:initWithWebFrame:]):
242         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
243         (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
244         (-[WebScriptCallFrame hitStatement:sourceId:line:]):
245         (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
246         * WebView/WebScriptDebugDelegatePrivate.h:
247         * WebView/WebView.m:
248         (-[WebViewPrivate init]):
249         (-[WebView _close]):
250         (-[WebView dealloc]):
251         (-[WebView finalize]):
252         (-[WebView viewWillMoveToWindow:]):
253         (-[WebView _windowWillClose:]):
254         (-[WebView setPreferencesIdentifier:]):
255         (-[WebView mainFrame]):
256         (-[WebView setHostWindow:]):
257         (-[WebView searchFor:direction:caseSensitive:wrap:]):
258         (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
259         (-[WebView close]):
260         (-[WebView setAutoClose:]):
261         (-[WebView autoClose]):
262         (-[WebView _frameViewAtWindowPoint:]):
263         * WebView/WebViewPrivate.h:
264
265 2006-06-29  Kevin Decker  <kdecker@apple.com>
266
267         Reviewed by mjs and timo.
268         
269         Fixed: <rdar://problem/4609119> handleAuthenticationFromResource was removed; needed by the Dashboard
270
271         * WebView/WebViewPrivate.h: Added handleAuthenticationFromResource back into the header. Needed by the
272         Dashboard, but was removed in r.14028 on 2006-04-23. 
273
274 2006-06-29  Tim Omernick  <timo@apple.com>
275
276         Reviewed by Kevin Decker.
277
278         <rdar://problem/4608487> REGRESSION: reproducible crash in +[WebCoreFrameBridge supportedImageMIMETypes]
279
280         * Plugins/WebPluginDatabase.m:
281         (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
282         One might be tempted to add additionalWebPlugInPaths to the global WebPluginDatabase here.
283         For backward compatibility with earlier versions of the +setAdditionalWebPlugInPaths: SPI,
284         we need to save a copy of the additional paths and not cause a refresh of the plugin DB
285         at this time.
286         (-[WebPluginDatabase _plugInPaths]):
287         Include additionalWebPlugInPaths if this is the global DB.
288         (-[WebPluginDatabase refresh]):
289         Call -_plugInPaths to get the modified array of paths.  This is similar to what the old code
290         (before we had per-WebView plugin search paths).
291
292 2006-06-29  Tim Omernick  <timo@apple.com>
293
294         Reviewed by John Sullivan.
295
296         WebHistoryItem now supports getting and setting arbitrary properties via _transientPropertyForKey: and
297         -_setTransientProperty:forKey:.
298         For now, these properties do not persist with the rest of the history data.  They are intended to hold transient
299         per-history-item state, which is something that was until now difficult for a WebKit client app to do.
300         
301         * History/WebHistoryItemPrivate.h:
302         * History/WebHistoryItem.m:
303         (-[WebHistoryItemPrivate dealloc]):
304         (-[WebHistoryItem _transientPropertyForKey:]):
305         (-[WebHistoryItem _setTransientProperty:forKey:]):
306
307 2006-06-29  Timothy Hatcher  <timothy@apple.com>
308
309         Reviewed by Harrison.
310
311         Smart insert and delete, continuous spell checking and autoscroll
312         can now be used for any WebView, not just editable ones. All of
313         these make sense for documents that might contain content editable 
314         areas or our new text fields. Autoscroll is usefull for dragging
315         for file input controls also.
316
317         Added a SPI to toggle WebViews tab key behavior, tabKeyCyclesThroughElements.
318         WebHTMLView's _interceptEditingKeyEvent now uses WebView's
319         tabKeyCyclesThroughElements state to determine whether or not
320         to process tab key events. The idea here is that tabKeyCyclesThroughElements
321         will be YES when this WebView is being used in a browser, and we
322         desire the behavior where tab moves to the next element in tab order.
323         If tabKeyCyclesThroughElements is NO, it is likely that the WebView
324         is being embedded as the whole view, as in Mail, and tabs should input
325         tabs as expected in a text editor. Using Option-Tab always cycles
326         through elements.
327
328         * WebView/WebHTMLRepresentation.m:
329         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
330         * WebView/WebHTMLView.m:
331         (-[NSArray _interceptEditingKeyEvent:]):
332         * WebView/WebView.m:
333         (-[WebViewPrivate init]):
334         (-[WebView _autoscrollForDraggingInfo:timeDelta:]):
335         (-[WebView _shouldAutoscrollForDraggingInfo:]):
336         (-[WebView validateUserInterfaceItem:]):
337         (-[WebView toggleSmartInsertDelete:]):
338         (-[WebView toggleContinuousSpellChecking:]):
339         (-[WebView setTabKeyCyclesThroughElements:]):
340         (-[WebView tabKeyCyclesThroughElements]):
341         * WebView/WebViewPrivate.h:
342
343 2006-06-29  Anders Carlsson  <acarlsson@apple.com>
344
345         Reviewed by Tim O.
346
347         * WebKit.xcodeproj/project.pbxproj:
348         Add DOMXPath.h header.
349
350 2006-06-28  David Hyatt  <hyatt@apple.com>
351
352         Fix custom highlighting so that you can paint the entire line (and go
353         outside the bounds of the line).
354
355         Reviewed by harrison
356
357         * WebCoreSupport/WebFrameBridge.m:
358         (-[WebFrameBridge customHighlightRect:forLine:]):
359         (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:]):
360         * WebKit.xcodeproj/project.pbxproj:
361         * WebView/WebHTMLViewPrivate.h:
362
363 2006-06-28  Maciej Stachowiak  <mjs@apple.com>
364
365         Reviewed by Anders.
366         
367         - fix Frame leak on layout tests
368
369         * WebCoreSupport/WebPageBridge.m:
370         (-[WebPageBridge outerView]): Return WebFrameView for main frame instead
371         of WebView to avoid reference cycle between WebView and Page.
372
373 2006-06-28  Timothy Hatcher  <timothy@apple.com>
374
375         Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
376
377         * WebKit.xcodeproj/project.pbxproj:
378
379 2006-06-28  Levi Weintraub  <lweintraub@apple.com>
380
381         Reviewed by justin
382
383         http://bugzilla.opendarwin.org/show_bug.cgi?id=7568
384         Bug 7568: Implement Indent/Outdent
385         Added undo action strings and enum values
386
387         * English.lproj/Localizable.strings:
388         * WebCoreSupport/WebFrameBridge.m: 
389         (-[WebFrameBridge nameForUndoAction:]):
390
391 2006-06-27  Brady Eidson  <beidson@apple.com>
392
393         Reviewed by Maciej
394
395         Hookup the new semi-functional SQLite icon database.
396         For now, it is living side-by-side with the old DB so one can compare the
397         two for debugging purposes.  Also, it is disabled (in WebKit) by default unless you
398         compile with ICONDEBUG #defined.
399         Note:  To repeat that, if you want to try the new DB, #define ICONDEBUG (WebKitPrefix.h is a good place to do it)
400
401         * Misc/WebIconDatabase.m:
402         (-[NSMutableDictionary iconForURL:withSize:cache:]):
403         (-[NSMutableDictionary iconURLForURL:]):
404         (-[NSMutableDictionary retainIconForURL:]):
405         (-[NSMutableDictionary releaseIconForURL:]):
406         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
407         (-[WebIconDatabase _setIconURL:forURL:]):
408         (-[WebIconDatabase _hasIconForIconURL:]):
409         (-[WebIconDatabase _resetCachedWebPreferences:]):
410         * Misc/WebIconLoader.m:
411         (-[WebIconLoader didFinishLoading]):
412         * WebKit.xcodeproj/project.pbxproj:
413
414 2006-06-26  David Hyatt  <hyatt@apple.com>
415
416         Fix for 9538, support syntax highlighting for HTML source.
417
418         Reviewed by darin
419
420         * WebKit.xcodeproj/project.pbxproj:
421         * WebView/WebView.m:
422         (-[WebView _setInViewSourceMode:]):
423         (-[WebView _inViewSourceMode]):
424         * WebView/WebViewPrivate.h:
425
426 2006-06-25  Timothy Hatcher  <timothy@apple.com>
427
428         Reviewed by Darin.
429
430         Bug 9574: Drosera should show inline scripts within the original HTML
431         http://bugzilla.opendarwin.org/show_bug.cgi?id=9574
432
433         * Adds a new version of the didParseSource delegate callback with base line number.
434         * Adds a new delegate callback for when a script fails to parse.
435         * These new callbacks use NSURLs for the url parameter.
436         * Adds a new script listener callback to notify when the main resource loads.
437         * Adds a WebScriptErrorDomian and other keys for use with NSError.
438
439         * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
440         (-[WebDefaultScriptDebugDelegate webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
441         (-[WebDefaultScriptDebugDelegate webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
442         * DefaultDelegates/WebScriptDebugServer.h:
443         * DefaultDelegates/WebScriptDebugServer.m:
444         (-[WebScriptDebugServer webView:didLoadMainResourceForDataSource:]):
445         (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
446         (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
447         * DefaultDelegates/WebScriptDebugServerPrivate.h:
448         * WebKit.exp:
449         * WebView/WebDataSource.m:
450         (-[WebDataSource _setPrimaryLoadComplete:]):
451         * WebView/WebScriptDebugDelegate.h:
452         * WebView/WebScriptDebugDelegate.m:
453         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
454
455 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
456
457         Reviewed by Timothy.
458
459         * Info.plist: Fixed copyright to include 2003-2006.
460
461 2006-06-24  Alexey Proskuryakov  <ap@nypop.com>
462
463         Reviewed by Darin.
464
465         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9418
466         WebKit will not build when Space exists in path
467
468         * WebKit.xcodeproj/project.pbxproj: Enclose search paths in quotes.
469
470 2006-06-23  Tim Omernick  <timo@apple.com>
471
472         Reviewed by John Sullivan.
473
474         * Plugins/WebBaseNetscapePluginView.m:
475         (-[WebBaseNetscapePluginView sendEvent:]):
476         Fixed a bug I found in the CoreGraphics drawing model that was preventing certain types of
477         events from being dispatched to the plugin, unless the plugin was being updated.  The check
478         for portState was only required to call -setWindowIfNecessary, not required for the entire
479         event dispatch.
480         Also, don't paint the green debug rect unless this is a QuickDraw plugin.  Otherwise the
481         current QD port is not set, and the green rect fills the entire screen.  Pretty awesome
482         looking, but not intended behavior.
483         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
484         Improved the logging here to include the NPWindow's width and height.
485
486 2006-06-23  Timothy Hatcher  <timothy@apple.com>
487
488         Reviewed by Tim O.
489
490         Adds back SPI that Mail is still depending on.
491
492         * WebView/WebDataSource.m:
493         (-[WebDataSource _addSubframeArchives:]):
494         * WebView/WebDataSourcePrivate.h:
495
496 === WebKit-521.13 ===
497
498 2006-06-23  Timothy Hatcher  <timothy@apple.com>
499
500         Reviewed by Geoff.
501
502         script debugger should only attach to JavaScriptCore when there are listeners
503         http://bugzilla.opendarwin.org/show_bug.cgi?id=9552
504
505         Attaches the debugger to all WebFrames when the first listener
506         is added. Detaches when the last listener is removed.
507         Also detach when the script debug delegate is set to nil.
508
509         * DefaultDelegates/WebScriptDebugServer.m:
510         (+[WebScriptDebugServer listenerCount]):
511         (-[WebScriptDebugServer dealloc]):
512         (-[WebScriptDebugServer attachScriptDebuggerToAllWebViews]):
513         (-[WebScriptDebugServer detachScriptDebuggerFromAllWebViews]):
514         (-[WebScriptDebugServer listenerConnectionDidDie:]):
515         (-[WebScriptDebugServer addListener:]):
516         (-[WebScriptDebugServer removeListener:]):
517         * DefaultDelegates/WebScriptDebugServerPrivate.h:
518         * WebCoreSupport/WebFrameBridge.m:
519         (-[WebFrameBridge windowObjectCleared]):
520         * WebView/WebFrame.m:
521         (-[WebFrame _attachScriptDebugger]):
522         (-[WebFrame _detachScriptDebugger]):
523         * WebView/WebFramePrivate.h:
524         * WebView/WebScriptDebugDelegate.m:
525         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
526         (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
527         (-[WebScriptCallFrame hitStatement:sourceId:line:]):
528         (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
529         * WebView/WebView.m:
530         (-[WebView _attachScriptDebuggerToAllFrames]):
531         (-[WebView _detachScriptDebuggerFromAllFrames]):
532         (-[WebView setScriptDebugDelegate:]):
533         * WebView/WebViewPrivate.h:
534
535 2006-06-22  John Sullivan  <sullivan@apple.com>
536
537         Reviewed by Tim Omernick
538         
539         - added support for UIDelegate to be notified of scrolling in any WebHTMLView
540         - cleaned up recently-added UIDelegate code
541
542         * WebView/WebUIDelegatePrivate.h:
543         declared webView:didScrollDocumentInFrameView: method
544
545         * DefaultDelegates/WebDefaultUIDelegate.m:
546         (-[NSApplication webView:didDrawRect:]):
547         provide default (empty) implementation of this recently-added method, so the
548         DelegateForwarder mechanism will work for it
549         (-[NSApplication webView:didScrollDocumentInFrameView:]):
550         same thing for the new method
551         
552         * WebView/WebHTMLView.m:
553         (-[WebHTMLView _frameOrBoundsChanged]):
554         use _UIDelegateForwarder mechanism to notify delegate that scrolling occurred
555         (-[NSArray drawSingleRect:]):
556         use _UIDelegateForwarder mechanism instead of checking respondsToSelector stuff
557         here (that's packaged up nicely by the forwarder mechanism)
558         
559 2006-06-22  Tim Omernick  <timo@apple.com>
560
561         Reviewed by NOBODY (build fix)
562
563         * WebView/WebFrameLoader.m:
564         Import WebMainResourceLoader instead of using @class so that we can call WebMainResourceLoader
565         methods.
566         
567 2006-06-22  Tim Omernick  <timo@apple.com>
568
569         Reviewed by NOBODY (build fix)
570
571         * WebView/WebFrameLoader.m:
572         Import JavaScriptCore/Assertions.h instead of WebKit/WebAssertions.h (which no longer exists)
573
574 2006-06-22  Maciej Stachowiak  <mjs@apple.com>
575
576         Reviewed by Adele.
577         
578         - start moving loading logic to new WebFrameLoader class; move management of WebLoaders there
579
580         * Misc/WebIconLoader.h:
581         * Misc/WebIconLoader.m:
582         (-[WebIconLoader didFinishLoading]):
583         * WebKit.xcodeproj/project.pbxproj:
584         * WebView/WebDataSource.m:
585         (-[WebDataSourcePrivate dealloc]):
586         (-[WebDataSource _updateLoading]):
587         (-[WebDataSource _loadIcon]):
588         (-[WebDataSource _setPrimaryLoadComplete:]):
589         (-[WebDataSource _stopLoading]):
590         (-[WebDataSource _startLoading]):
591         (-[WebDataSource _addSubresourceLoader:]):
592         (-[WebDataSource _removeSubresourceLoader:]):
593         (-[WebDataSource _addPlugInStreamLoader:]):
594         (-[WebDataSource _removePlugInStreamLoader:]):
595         (-[WebDataSource _iconLoaderReceivedPageIcon:]):
596         (-[WebDataSource _defersCallbacksChanged]):
597         (-[WebDataSource _stopLoadingWithError:]):
598         (-[WebDataSource _setupForReplaceByMIMEType:]):
599         (-[WebDataSource initWithRequest:]):
600         (-[WebDataSource dealloc]):
601         (-[WebDataSource finalize]):
602         (-[WebDataSource data]):
603         (-[WebDataSource isLoading]):
604         * WebView/WebFrameLoader.h: Added.
605         * WebView/WebFrameLoader.m: Added.
606         (-[WebFrameLoader initWithDataSource:]):
607         (-[WebFrameLoader dealloc]):
608         (-[WebFrameLoader hasIconLoader]):
609         (-[WebFrameLoader loadIconWithRequest:]):
610         (-[WebFrameLoader stopLoadingIcon]):
611         (-[WebFrameLoader addPlugInStreamLoader:]):
612         (-[WebFrameLoader removePlugInStreamLoader:]):
613         (-[WebFrameLoader setDefersCallbacks:]):
614         (-[WebFrameLoader stopLoadingPlugIns]):
615         (-[WebFrameLoader isLoadingMainResource]):
616         (-[WebFrameLoader isLoadingSubresources]):
617         (-[WebFrameLoader isLoading]):
618         (-[WebFrameLoader stopLoadingSubresources]):
619         (-[WebFrameLoader addSubresourceLoader:]):
620         (-[WebFrameLoader removeSubresourceLoader:]):
621         (-[WebFrameLoader mainResourceData]):
622         (-[WebFrameLoader releaseMainResourceLoader]):
623         (-[WebFrameLoader cancelMainResourceLoad]):
624         (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
625         (-[WebFrameLoader stopLoadingWithError:]):
626
627 2006-06-21  Brady Eidson  <beidson@apple.com>
628
629         Reviewed by Maciej
630
631         The WebCoreIconDatabaseBridge was getting messages sent to it after it had been closed, resulting in a crash
632         on an ASSERT().  After closing the databaseBridge, we simply set it to nil so this can't happen.
633         anymore.
634
635         * Misc/WebIconDatabase.m:
636         (-[WebIconDatabase _applicationWillTerminate:]):
637
638 2006-06-21  Tim Omernick  <timo@apple.com>
639
640         Reviewed by Geoff Garen.
641
642         <rdar://problem/4564131> WebPluginDatabase setAdditionalWebPlugInPaths needs to be per WebView
643
644         Added some WebView SPI so that individual WebViews may have different plugin search paths.  There are some 
645         limitations with the approach taken here:
646
647         - JavaScript may only access the global plugin DB.
648         - When this SPI is in use, certain WebView methods may not give accurate results, such as +canShowMIMEType:.
649         - This only works for plugins referenced using the <object> or <embed> tags; plugins that reside in non-standard
650         file system locations may not be loaded directly into frames.
651         
652         None of these issues are important to the client that needs this SPI.  Rather than re-architect our entire
653         plugin database, I think it is better to simply accept these limitations for now.
654
655         * Plugins/WebPluginDatabase.h:
656         Added "plugInPaths" ivar, so different plugin databases can have different search paths.
657         * Plugins/WebPluginDatabase.m:
658         (+[WebPluginDatabase installedPlugins]):
659         Give the global plugin database the default plugin search paths.
660         (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
661         Removed static global; this method now sets the plugin paths on the global plugin database.
662         (-[WebPluginDatabase setPlugInPaths:]):
663         Setter method for plugin paths.
664         (-[WebPluginDatabase close]):
665         New method; called when the plugin database is no longer needed (when its WebView is being destroyed).
666         (-[WebPluginDatabase init]):
667         Don't refresh in -init, so that callers can set the DB's plugin path array before it refreshes.
668         (-[WebPluginDatabase dealloc]):
669         Moved here from near the bottom of the file.  Release new ivar.
670         (-[WebPluginDatabase refresh]):
671         Use the plugInPaths ivar instead of calling pluginLocations().
672         Notify plugin packages when they are added to and removed from a plugin database.  A plugin package will
673         unload itself when it is removed from all of its plugin databases.
674         The only really tricky thing here is that the global MIME <-> view class registrations are only modified
675         by the shared plugin DB.
676         (+[WebPluginDatabase _defaultPlugInPaths]):
677         Refactored from the old pluginLocations() function; returns the default set of plugin search paths.
678
679         * Plugins/WebBasePluginPackage.h:
680         * Plugins/WebBasePluginPackage.m:
681         (-[WebBasePluginPackage dealloc]):
682         Assert that this package has been removed from all of its containing plugin databases.
683         (-[WebBasePluginPackage finalize]):
684         ditto
685         (-[WebBasePluginPackage wasAddedToPluginDatabase:]):
686         Add plugin database to set.
687         (-[WebBasePluginPackage wasRemovedFromPluginDatabase:]):
688         Remove plugin database from set.  If it was the last DB, then unload the plugin package.
689
690         * WebView/WebViewInternal.h:
691         Added instance methods to find the view class or plugin package, given a MIME type or file extension.
692         * WebView/WebViewPrivate.h:
693         Added SPI to set plugin search paths per WebView.
694         * WebView/WebView.m:
695         (-[WebView _viewClass:andRepresentationClass:forMIMEType:]):
696         New method; tries the global MIME <-> view map first; failing that, it checks the WebView's plugin DB.
697         (-[WebView _close]):
698         Close the plugin DB.
699         (-[WebView _setAdditionalWebPlugInPaths:]):
700         Create the plugin DB if necessary, and set its plugin paths.
701         (-[WebView _pluginForMIMEType:]):
702         Checks global plugin DB, falls back on WebView DB.
703         (-[WebView _pluginForExtension:]):
704         ditto
705         (-[WebView _isMIMETypeRegisteredAsPlugin:]):
706         ditto
707
708         * WebCoreSupport/WebFrameBridge.m:
709         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
710         Use new WebView instance methods to look for plugins.
711         (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
712         ditto
713         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
714         ditto
715
716 2006-06-20  Brady Eidson  <beidson@apple.com>
717
718         Reviewed by Maciej
719
720         Added calls through to the WebCoreIconDatabaseBridge for all the major WebIconDatabase API.  For now these calls
721         are wrapped with #ifdef's and are for debugging only.
722
723         * Misc/WebIconDatabase.h:
724         * Misc/WebIconDatabase.m:
725         (-[NSMutableDictionary _scaleIcon:toSize:]):
726         (-[NSMutableDictionary init]):
727         (-[NSMutableDictionary iconForURL:withSize:cache:]):
728         (-[NSMutableDictionary iconURLForURL:]):
729         (-[NSMutableDictionary retainIconForURL:]):
730         (-[NSMutableDictionary releaseIconForURL:]):
731         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
732         (-[WebIconDatabase _setIconURL:forURL:]):
733         (-[WebIconDatabase _hasIconForIconURL:]):
734         * Misc/WebIconLoader.m:
735         (-[WebIconLoader didFinishLoading]):
736
737         * Misc/WebKitLogging.h:  Added a logging channel for WebIconDatabase debugging
738         * Misc/WebKitLogging.m:
739         (WebKitInitializeLoggingChannelsIfNecessary):
740
741 2006-06-20  Adele Peterson  <adele@apple.com>
742
743         Reviewed by Tim Hatcher.
744
745         * WebView/WebMainResourceLoader.m: Added missing header to fix build on Leopard.
746
747 2006-06-20  Timothy Hatcher  <timothy@apple.com>
748
749         Reviewed by Darin.
750
751         Removes the @try/@catch from the callbacks to improve performance,
752         simply check if the proxy object's connection is still valid first.
753         Listener objects are now required to be NSDistantObjects.
754
755         Adds pause, resume and step support. The debugger process use to handle this,
756         but it caused problems when there were multiple listeners.
757
758         Sends the bundle identifier in the notification userInfo dictionary along with
759         process name and process ID.
760
761         * DefaultDelegates/WebScriptDebugServer.h:
762         * DefaultDelegates/WebScriptDebugServer.m:
763         (-[WebScriptDebugServer serverQuery:]):
764         (-[WebScriptDebugServer addListener:]):
765         (-[WebScriptDebugServer removeListener:]):
766         (-[WebScriptDebugServer step]):
767         (-[WebScriptDebugServer pause]):
768         (-[WebScriptDebugServer resume]):
769         (-[WebScriptDebugServer isPaused]):
770         (-[WebScriptDebugServer suspendProcessIfPaused]):
771         (-[WebScriptDebugServer webView:didParseSource:fromURL:sourceId:forWebFrame:]):
772         (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
773         (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
774         (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
775         * DefaultDelegates/WebScriptDebugServerPrivate.h:
776         * WebKit.exp:
777
778 2006-06-19  Alexey Proskuryakov  <ap@nypop.com>
779
780         Reviewed by Darin.
781
782         - http://bugzilla.opendarwin.org/show_bug.cgi?id=5499
783         Page reload does not send any cache control headers
784
785         * WebView/WebFrame.m:
786         (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]): Set a proper Cache-Control header for 
787         reload requests.
788         (-[WebFrame loadRequest:]): Reset loadType to WebFrameLoadTypeStandard (after a reload, it stayed at 
789         WebFrameLoadTypeReload, so _addExtraFieldsToRequest erroneously added a Cache-Control header to them).
790
791 2006-06-19  John Sullivan  <sullivan@apple.com>
792
793         Reviewed by Darin.
794         
795         - added mechanism to notify UIDelegate when part of the webview is redrawn. For now, it only
796           works for HTML views.
797
798         * WebView/WebUIDelegatePrivate.h:
799         Define a new UIDelegate method -webView:didDrawRect:
800         * WebView/WebHTMLView.m:
801         (-[WebView drawSingleRect:]):
802         Call through to UIDelegate if it implements that method. I tested that this does not impact PLT numbers
803         in the case where the delegate implements the method but does nothing in it.
804
805 2006-06-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>
806
807         Reviewed by Maciej.
808
809         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9452
810           Assertion failure in -[WebFramePrivate setProvisionalDataSource:]
811
812         * WebView/WebFrame.m:
813         (-[WebFrame _checkLoadCompleteForThisFrame]): Avoid re-entering the delegate's
814         -[webView:didFailProvisionalLoadWithError:forFrame].
815
816 2006-06-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
817
818         Reviewed by xenon.
819
820         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9479
821           Disassociate the inspector from the frame when it detaches from its parent
822
823         * WebInspector/WebInspector.m:
824         (-[NSWindow setWebFrame:]): Added code to (de)register with the WebFrame
825         the inspector is (no longer) targeting.
826         (-[WebInspector _webFrameDetached:]): Added. Moved the code that was previously
827         in -[inspectedWindowWillClose:] here. This is called by the WebFrame when it
828         is detached from its parent.
829         * WebInspector/WebInspectorInternal.h:
830         * WebView/WebFrame.m:
831         (-[WebFramePrivate dealloc]):
832         (-[WebFrame _detachFromParent]): Added code to notify all registered inspectors
833         that the WebFrame is detaching.
834         (-[WebFrame _addInspector:]): Added.
835         (-[WebFrame _removeInspector:]): Added.
836         * WebView/WebFrameInternal.h:
837
838 2006-06-18  Anders Carlsson  <acarlsson@apple.com>
839
840         Reviewed by Geoff.
841
842         * WebCoreSupport/WebFrameBridge.m:
843         (-[WebFrameBridge shouldInterruptJavaScript]):
844         Ask the UI delegate if the script should be interrupted.
845         
846         * WebView/WebUIDelegatePrivate.h:
847         Declare webViewShouldInterruptJavaScript: delegate method
848
849 2006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
850
851         Reviewed by Darin.
852
853         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9466
854           Assertion failure when dragging an image from the document into Safari's address bar
855
856         * WebView/WebFrameView.m:
857         (-[WebFrameView _setDocumentView:]): Reset the WebView's initiatedDrag flag
858         when the document view is changed.
859         * WebView/WebHTMLView.m:
860         (-[WebHTMLView draggedImage:endedAt:operation:]): Changed the ASSERT to allow
861         for drags that end after the view has been removed from the WebView.
862
863 2006-06-16  Timothy Hatcher  <timothy@apple.com>
864
865         Reviewed by Tim O.
866
867         Exposes a distributed objects server for clients to register for script debugger calls.
868         For preformance concerns this is disabled by default, you will need to enable this per application.
869         To enable for Safari do this: defaults write com.apple.Safari WebKitScriptDebuggerEnabled -bool true
870
871         Clients will need to listen to the following distributed notification to discover servers:
872         WebScriptDebugServerDidLoadNotification
873
874         To discover servers that previously loaded before the client, the client needs to send the following notification:
875         WebScriptDebugServerQueryNotification
876
877         All servers will reply with the WebScriptDebugServerQueryReplyNotification notification that contains the
878         registered server connection name to use with distributed objects.
879
880         * DefaultDelegates/WebScriptDebugServer.h: Added.
881         * DefaultDelegates/WebScriptDebugServer.m: Added.
882         (+[WebScriptDebugServer sharedScriptDebugServer]):
883         (-[WebScriptDebugServer init]):
884         (-[WebScriptDebugServer dealloc]):
885         (-[WebScriptDebugServer serverQuery:]):
886         (-[WebScriptDebugServer listenerConnectionDidDie:]):
887         (-[WebScriptDebugServer addListener:]):
888         (-[WebScriptDebugServer removeListener:]):
889         (-[WebScriptDebugServer webView:didParseSource:fromURL:sourceId:forWebFrame:]):
890         (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
891         (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
892         (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
893         * DefaultDelegates/WebScriptDebugServerPrivate.h: Added.
894         * WebCoreSupport/WebFrameBridge.m:
895         (-[WebFrameBridge windowObjectCleared]):
896         * WebKit.exp:
897         * WebKit.xcodeproj/project.pbxproj:
898         * WebView/WebScriptDebugDelegate.m:
899         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
900         (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
901         (-[WebScriptCallFrame hitStatement:sourceId:line:]):
902         (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
903         * WebView/WebView.m:
904         (+[WebView _developerExtrasEnabled]):
905         (+[WebView _scriptDebuggerEnabled]):
906         (-[WebView _menuForElement:defaultItems:]):
907         (-[WebView _commonInitializationWithFrameName:groupName:]):
908         * WebView/WebViewPrivate.h:
909
910 2006-06-16  Adele Peterson  <adele@apple.com>
911
912         Reviewed by Alice.
913
914         Added initialization for WKDrawBezeledTextArea.
915
916         * WebCoreSupport/WebSystemInterface.m:
917         (InitWebCoreSystemInterface):
918
919 2006-06-15  Timothy Hatcher  <timothy@apple.com>
920
921         Reviewed by Geoff and Darin.
922         
923         Prefer the DWARF debugging symbols format for use in Xcode 2.3.
924
925         * WebKit.xcodeproj/project.pbxproj:
926
927 2006-06-15  John Sullivan  <sullivan@apple.com>
928
929         Reviewed by Tim O.
930         
931         Fixed bug in WebKit support for computing but not highlighting rects for text matches.
932
933         * WebView/WebView.m:
934         (-[WebView rectsForTextMatches]):
935         leave out empty rects, and convert rects to WebView coordinates. Since this makes a batch
936         of autoreleased NSValue objects, use a local autorelease pool
937
938 2006-02-11  David Kilzer  <ddkilzer@kilzer.net>
939
940         Reviewed by John Sullivan.
941
942         * Plugins/WebPluginController.m:
943         (-[WebPluginController _cancelOutstandingChecks]):
944         add nil check before calling CFSetApplyFunction
945
946 2006-06-14  Levi Weintraub  <lweintraub@apple.com>
947
948         Reviewed by justin
949         
950         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7580>
951         TinyMCE: Implement execCommand(formatBlock, ...)
952         
953         * English.lproj/Localizable.strings:
954         * WebCoreSupport/WebFrameBridge.m:
955         (-[WebFrameBridge nameForUndoAction:]):
956
957 2006-06-14  Tim Omernick  <timo@apple.com>
958
959         Reviewed by John Sullivan.
960
961         <rdar://problem/4577988> GC: WebPluginController uses inefficient resurrecting enumeration
962
963         * Plugins/WebPluginController.m:
964         (cancelOutstandingCheck):
965         (-[WebPluginController _cancelOutstandingChecks]):
966         Use CFSetApplyFunction() instead of an enumerator to guard against modifications to the set while enumerating.
967
968 2006-06-13  John Sullivan  <sullivan@apple.com>
969
970         Reviewed by Tim O.
971         
972         - fixed <rdar://problem/4498606> REGRESSION (417.8-420+): 3 missing items (but extra separators) in context 
973         menu in Mail message body
974
975         * WebView/WebView.m:
976         (-[WebView _menuForElement:defaultItems:]):
977         Add special-case hackery to recover from this SPI -> API mismatch.
978
979 2006-06-13  Tim Omernick  <timo@apple.com>
980
981         Reviewed by Anders.
982
983         Fixed a recently-introduced assertion failure when handling 404 errors.
984
985         * WebView/WebDataSource.m:
986         (-[WebDataSource _handleFallbackContent]):
987         Use the -[WebFrame _bridge] instead of -[WebDataSource _bridge].  The former is not valid until the data
988         source has been committed, which is not the case when the resource fails to load.  The latter is safe to call
989         at any time.  This broke last night with Maciej's change to WebFrameResourceLoader.  The old code used to
990         call -[WebFrame _bridge].
991
992 2006-06-13  Anders Carlsson  <acarlsson@apple.com>
993
994         Reviewed by Geoff.
995
996         http://bugzilla.opendarwin.org/show_bug.cgi?id=9406
997         REGRESSION: fix for bug 9390 broke two layout tests
998
999         * Plugins/WebPluginDatabase.h:
1000         (-[WebPluginDatabase isMIMETypeRegistered:]):
1001         Add new function isMIMETypeRegistered which returns whether a given MIME type has a 
1002         plugin registered. 
1003
1004         * Plugins/WebPluginDatabase.m:
1005         (-[WebPluginDatabase init]):        
1006         Init set of registered MIME types.
1007         
1008         (-[WebPluginDatabase refresh]):
1009         Add and remove MIME types from the set of registered MIME types when registering and unregistering
1010         plugin MIME types.
1011         
1012         (-[WebPluginDatabase dealloc]):
1013         Release set of registered MIME types.
1014         
1015         * WebCoreSupport/WebFrameBridge.m:
1016         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
1017         Use isMIMETypeRegistered here.
1018
1019 2006-06-12  Maciej Stachowiak  <mjs@apple.com>
1020
1021         - fix for cocoa exception (whoops)
1022
1023         * WebView/WebView.m:
1024         (+[WebView _generatedMIMETypeForURLScheme:]): put this back
1025         * WebView/WebDataSource.m:
1026         (+[WebDataSource _generatedMIMETypeForURLScheme:]): call WebView
1027
1028 2006-06-12  Maciej Stachowiak  <mjs@apple.com>
1029
1030         Reviewed by Darin.
1031         
1032         - remove use of WebView and related from WebMainResourceLoader
1033
1034         * WebKit.xcodeproj/project.pbxproj:
1035         * WebView/WebDataSource.m:
1036         (+[WebDataSource _generatedMIMETypeForURLScheme:]):
1037         (+[WebDataSource _representationExistsForURLScheme:]):
1038         (+[WebDataSource _canShowMIMEType:]):
1039         (-[WebDataSource _handleFallbackContent]):
1040         (-[WebDataSource _decidePolicyForMIMEType:decisionListener:]):
1041         * WebView/WebDataSourceInternal.h:
1042         * WebView/WebFrame.m:
1043         (-[WebFrame _isMainFrame]):
1044         * WebView/WebFrameInternal.h:
1045         * WebView/WebMainResourceLoader.m:
1046         (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
1047         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
1048         (-[WebMainResourceLoader checkContentPolicyForResponse:]):
1049         (-[WebMainResourceLoader loadWithRequestNow:]):
1050         * WebView/WebView.m:
1051
1052 2006-06-12  Tim Omernick  <timo@apple.com>
1053
1054         Reviewed by Maciej.
1055
1056         <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc] running layout tests
1057
1058         * Plugins/WebNetscapePluginPackage.m:
1059         (-[WebNetscapePluginPackage _initWithPath:]):
1060         Renamed from -initWithPath:.  Instead of releasing/deallocating self on error, return NO.
1061         (-[WebNetscapePluginPackage initWithPath:]):
1062         Call the new -_initWithPath:.  If it returns NO, unload the plugin package before deallocating it.
1063
1064 2006-06-11  Darin Adler  <darin@apple.com>
1065
1066         - try to fix Windows build
1067
1068         * COM/WebKitDLL.cpp: (loadResourceIntoArray): Use Vector<char> instead of
1069         DeprecatedByteArray.
1070
1071 2006-06-11  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1072
1073         Reviewed by Tim H.
1074
1075         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8672
1076           Red outline from web inspector reappears after inspector is closed
1077
1078         * WebInspector/WebInspector.m:
1079         (-[NSWindow windowWillClose:]): Added a call to setWebFrame to avoid further
1080         load progress notifications.
1081         (-[NSWindow setWebFrame:]): Changed to resign the WebView's hostWindow rather
1082         than its window for close notifications, to avoid resigning from all windows' close
1083         notifications (including the inspector window's) when the WebView is in a hidden tab.
1084         Also changed to prevent highlighting the initial focused node.
1085
1086 2006-06-11  Anders Carlsson  <acarlsson@apple.com>
1087
1088         Reviewed by Tim.
1089
1090         http://bugzilla.opendarwin.org/show_bug.cgi?id=9390
1091         Move full-frame plugins to WebCore
1092
1093         * Plugins/WebBaseNetscapePluginStream.h:
1094         * Plugins/WebBaseNetscapePluginStream.m:
1095         (-[WebBaseNetscapePluginStream instance]):
1096         Add instance method which returns the plugin instance.
1097         
1098         * Plugins/WebBasePluginPackage.h:
1099         Add WebPluginManualLoader protocol
1100         
1101         * Plugins/WebNetscapePluginDocumentView.h: Removed.
1102         * Plugins/WebNetscapePluginDocumentView.m: Removed.
1103
1104         * Plugins/WebNetscapePluginEmbeddedView.h:
1105         * Plugins/WebNetscapePluginEmbeddedView.m:
1106         (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:]):
1107         (-[WebNetscapePluginEmbeddedView dealloc]):
1108         (-[WebNetscapePluginEmbeddedView didStart]):
1109         (-[WebNetscapePluginEmbeddedView pluginView:receivedResponse:]):
1110         (-[WebNetscapePluginEmbeddedView pluginView:receivedData:]):
1111         (-[WebNetscapePluginEmbeddedView pluginView:receivedError:]):
1112         (-[WebNetscapePluginEmbeddedView pluginViewFinishedLoading:]):
1113         (-[WebNetscapePluginEmbeddedView redeliverStream]):
1114         Make WebNetscapePluginEmbeddedView support the WebPluginManualLoader protocol. It creates a plugin stream and feeds the
1115         data manually. Much of this code has been copied from WebNetscapePluginRepresentation.
1116
1117         * Plugins/WebNetscapePluginRepresentation.h: Removed.
1118         * Plugins/WebNetscapePluginRepresentation.m: Removed.
1119
1120         * Plugins/WebPluginController.h:
1121         * Plugins/WebPluginController.m:
1122         (-[WebPluginController pluginView:receivedResponse:]):
1123         (-[WebPluginController pluginView:receivedData:]):
1124         (-[WebPluginController pluginView:receivedError:]):
1125         (-[WebPluginController pluginViewFinishedLoading:]):
1126         Make WebPluginController support the WebPluginManualLoader protocol so it can feed data manually to WebKit plugins.
1127
1128         * Plugins/WebPluginDatabase.m:        
1129         (-[WebPluginDatabase refresh]):
1130         Use WebHTMLView and WebHTMLRepresentation when registering/unregistering plug-in MIME types.
1131         
1132         * Plugins/WebPluginDocumentView.h: Removed.
1133         * Plugins/WebPluginDocumentView.m: Removed.
1134
1135         * WebCoreSupport/WebFrameBridge.m:
1136         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
1137         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
1138         Add loadManually argument.
1139         
1140         (-[WebFrameBridge redirectDataToPlugin:]):
1141         Call down to the HTML representation.
1142         
1143         (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
1144         Pass NO to loadManually.
1145         
1146         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
1147         Explicitly check if the MIME type is supported by a plug-in instead of checking the view class.
1148         
1149         * WebCoreSupport/WebViewFactory.m:
1150         (-[WebViewFactory pluginSupportsMIMEType:]):
1151         New function which returns whether any plugins support a given MIME type.
1152         
1153         * WebKit.xcodeproj/project.pbxproj:
1154         Update for removed files.
1155         
1156         * WebView/WebFrame.m:
1157         (-[WebFrame _reloadForPluginChanges]):
1158         Remove view type checks.
1159         
1160         (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
1161         (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
1162         Remove FIXME comments.
1163         
1164         * WebView/WebHTMLRepresentation.m:
1165         (-[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]):        
1166         New function which redirects incoming data to a manual loader.
1167         
1168         (-[WebHTMLRepresentation receivedData:withDataSource:]):
1169         (-[WebHTMLRepresentation receivedError:withDataSource:]):
1170         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
1171         Optionally redirect incoming data.
1172         
1173         * WebView/WebHTMLRepresentationPrivate.h:
1174
1175 2006-06-09  John Sullivan  <sullivan@apple.com>
1176
1177         Reviewed by Tim Omernick and Dave Hyatt.
1178
1179         WebKit support for computing but not highlighting rects for text matches.
1180
1181         * WebView/WebHTMLViewPrivate.h:
1182         added markedTextMatchesAreHighlighted/setMarkedTextMatchesAreHighlighted and
1183         rectsForTextMatches, and renamed related methods for clarity/consistency
1184         * WebView/WebHTMLView.m:
1185         (-[WebHTMLView markAllMatchesForText:caseSensitive:]):
1186         renamed, calls similarly-renamed method
1187         (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
1188         new method, calls through to bridge
1189         (-[WebHTMLView markedTextMatchesAreHighlighted]):
1190         ditto
1191         (-[WebHTMLView unmarkAllTextMatches]):
1192         renamed
1193         (-[WebHTMLView rectsForTextMatches]):
1194         new method, calls through to bridge
1195
1196         * WebView/WebViewPrivate.h:
1197         added rectsForTextMatches, renamed other methods (and added highlight: parameter)
1198         * WebView/WebView.m:
1199         (-[WebView markAllMatchesForText:caseSensitive:highlight:]):
1200         renamed for clarity/consistency, and now has highlight: parameter, which is passed down
1201         (-[WebView unmarkAllTextMatches]):
1202         renamed for clarity/consistency, and calls similarly-renamed method lower down. diff got
1203         confused with the end of this and the end of the next method.
1204         (-[WebView rectsForTextMatches]):
1205         new method, calls through to WebHTMLView as related methods currently do
1206
1207 2006-06-10  Graham Dennis  <Graham.Dennis@gmail.com>
1208
1209         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9384>
1210         WebView's initWithCoder: method does not set useBackForwardList
1211         correctly
1212         
1213         Reviewed by John Sullivan.
1214
1215         * WebView/WebView.m:
1216         (-[WebView initWithCoder:]):
1217         Make sure that the function variable useBackForwardList is correctly
1218         set, so that the copy in the _private ivar is set.
1219
1220 2006-06-09  David Hyatt  <hyatt@apple.com>
1221
1222         Rename updateFocusState to updateActiveState.
1223
1224         * WebView/WebHTMLView.m:
1225         (-[WebHTMLView _updateActiveState]):
1226         (-[NSArray viewDidMoveToWindow]):
1227         (-[NSArray windowDidBecomeKey:]):
1228         (-[NSArray windowDidResignKey:]):
1229         (-[NSArray becomeFirstResponder]):
1230         (-[NSArray resignFirstResponder]):
1231         (-[WebHTMLView _formControlIsBecomingFirstResponder:]):
1232         (-[WebHTMLView _formControlIsResigningFirstResponder:]):
1233         * WebView/WebHTMLViewPrivate.h:
1234
1235 2006-06-09  David Hyatt  <hyatt@apple.com>
1236
1237         Rename displaysWithFocusAttributes to isActive.
1238
1239         Reviewed by sfalken
1240
1241         * WebKit.xcodeproj/project.pbxproj:
1242         * WebView/WebHTMLView.m:
1243         (-[WebHTMLView _updateFocusState]):
1244
1245 2006-06-08  Justin Garcia  <justin.garcia@apple.com>
1246
1247         Reviewed by levi
1248         
1249         <http://bugzilla.opendarwin.org/show_bug.cgi?id=4468>
1250         Implement execCommand(Insert{Un}OrderedList)
1251
1252         * WebView/WebFrame.m:
1253         (-[WebFrame _findFrameWithSelection]): Removed an assertion
1254         that we only have one frame with a selection.  
1255         * WebView/WebView.m:
1256         (-[WebView selectedFrame]): Ditto.
1257
1258 2006-06-08  Timothy Hatcher  <timothy@apple.com>
1259
1260         Reviewed by Darin and John.
1261
1262         <rdar://problem/3600734> API: please add a way to turn vertical scrollbar
1263         always on (for Mail, to avoid reflow when typing)
1264
1265         Adds new methods to lock the scrolling mode on WebDynamicScrollBarsView.
1266         Locking the scroll mode prevents WebCore from changing it as needed.
1267         Also adds an SPI on WebView that will lock the "always on" mode
1268         for each scroller.
1269
1270         * WebKit.xcodeproj/project.pbxproj:
1271         * WebView/WebDynamicScrollBarsView.h:
1272         * WebView/WebDynamicScrollBarsView.m:
1273         (-[WebDynamicScrollBarsView setAllowsScrolling:]):
1274         (-[WebDynamicScrollBarsView allowsScrolling]):
1275         (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
1276         (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]):
1277         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
1278         (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
1279         (-[WebDynamicScrollBarsView setScrollingMode:]):
1280         (-[WebDynamicScrollBarsView setHorizontalScrollingModeLocked:]):
1281         (-[WebDynamicScrollBarsView setVerticalScrollingModeLocked:]):
1282         (-[WebDynamicScrollBarsView setScrollingModesLocked:]):
1283         (-[WebDynamicScrollBarsView horizontalScrollingModeLocked]):
1284         (-[WebDynamicScrollBarsView verticalScrollingModeLocked]):
1285         * WebView/WebView.m:
1286         (-[WebView setAlwaysShowVerticalScroller:]):
1287         (-[WebView alwaysShowVerticalScroller]):
1288         (-[WebView setAlwaysShowHorizontalScroller:]):
1289         (-[WebView alwaysShowHorizontalScroller]):
1290         * WebView/WebViewPrivate.h:
1291
1292 2006-06-08  Darin Adler  <darin@apple.com>
1293
1294         Reviewed by Justin.
1295
1296         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8616
1297           REGRESSION: TinyMCE: Crash on Undo
1298
1299         * WebView/WebHTMLView.m:
1300         (-[WebHTMLView _topHTMLView]): Added.
1301         (-[WebHTMLView _isTopHTMLView]): Added.
1302         (-[WebHTMLView _insideAnotherHTMLView]): Changed to use _topHTMLView.
1303         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
1304         Forward to the top HTML view, so that only the top view ever starts a dragging operation.
1305         Change dragging code to not assume that the dragged node is in the current view's document.
1306         Added checks that the node is an element in a couple places and coordinate conversions.
1307         (-[WebHTMLView _mayStartDragAtEventLocation:]): Forward to the top HTML view.
1308         (-[NSArray addMouseMovedObserver]): Change to do nothing when the dataSource field is 0,
1309         since we now use the dataSource field to get to the WebView.
1310         (-[NSArray removeMouseMovedObserver]): Added a comment.
1311         (-[NSArray dragImage:at:offset:event:pasteboard:source:slideBack:]):
1312         Forward to the top HTML view.
1313         (-[NSArray draggingSourceOperationMaskForLocal:]): Assert that it's the top HTML view.
1314         (-[NSArray draggedImage:movedTo:]): Ditto.
1315         (-[NSArray draggedImage:endedAt:operation:]): Ditto.
1316         (-[NSArray namesOfPromisedFilesDroppedAtDestination:]): Ditto.
1317         (-[NSArray _canProcessDragWithDraggingInfo:]): Ditto.
1318         (-[NSArray _isMoveDrag]): Ditto.
1319         (-[NSArray draggingUpdatedWithDraggingInfo:actionMask:]): Ditto.
1320         (-[NSArray draggingCancelledWithDraggingInfo:]): Ditto.
1321         (-[NSArray concludeDragForDraggingInfo:actionMask:]): Ditto. Also added code to work
1322         with the appropriate bridge when receiving a drag. This fixes the problem where the
1323         top level frame got a selection intended for the inner frame; the source of the bug.
1324         (-[NSArray elementAtPoint:allowShadowContent:]): Added code to convert the coordinates
1325         so this works properly when returning an element from an inner frame.
1326         (-[NSArray setDataSource:]): Added a call to addMouseMovedObserver, needed now that
1327         addMouseMovedObserver won't do anything if called when dataSource is nil.
1328         (-[WebHTMLView _delegateDragSourceActionMask]): Forward to the top HTML view.
1329
1330         * WebView/WebView.m:
1331         (-[WebViewPrivate dealloc]): Removed code to release dragCaretBridge since that field
1332         is now gone.
1333         (-[WebView moveDragCaretToPoint:]): Always call the main frame's bridge, since the
1334         drag caret is now a page-level item. Later we'll move it to the page bridge.
1335         (-[WebView removeDragCaret]): Ditto.
1336
1337 2006-06-07  David Hyatt  <hyatt@apple.com>
1338
1339         Add support for custom highlighting to WebKit.
1340
1341         Reviewed by justin
1342
1343         * WebCoreSupport/WebFrameBridge.m:
1344         (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:]):
1345         * WebView/WebHTMLView.m:
1346         (-[WebHTMLView _highlighterForType:]):
1347         * WebView/WebHTMLViewInternal.h:
1348         * WebView/WebHTMLViewPrivate.h:
1349
1350 2006-06-07  Adele Peterson  <adele@apple.com>
1351
1352         Reviewed by Hyatt. 
1353
1354         Added resources for missingImage and textAreaResizeCorner.
1355
1356         * COM/WebKitDLL.cpp:
1357         (loadResourceIntoArray): Added. Returns a DeprecatedByteArray with the resource's data.
1358         * WebKit.vcproj/WebKit.rc: Added missing image and resize pngs as resources. 
1359         * WebKit.vcproj/WebKit.vcproj: Added pngs.
1360         * WebKit.vcproj/missingImage.png: Added.
1361         * WebKit.vcproj/resource.h: Added entries for pngs.
1362         * WebKit.vcproj/textAreaResizeCorner.png: Added.
1363
1364 2006-06-07  David Hyatt  <hyatt@apple.com>
1365
1366         Add SPI for setting and removing custom highlighters.
1367
1368         Reviewed by Tim H
1369
1370         * WebView/WebHTMLView.m:
1371         (-[WebTextCompleteController dealloc]):
1372         (-[WebHTMLView _setHighlighter:ofType:]):
1373         (-[WebHTMLView _removeHighlighterOfType:]):
1374         * WebView/WebHTMLViewInternal.h:
1375         * WebView/WebHTMLViewPrivate.h:
1376
1377 2006-06-06  Adele Peterson  <adele@apple.com>
1378
1379         Reviewed by Justin. 
1380
1381         * COM/WebView.cpp:
1382         (WebView::keyPress): Added case for VK_RETURN. 
1383
1384 2006-06-06  Anders Carlsson  <acarlsson@apple.com>
1385
1386         Reviewed by John.
1387
1388         * WebView/WebFrame.m:
1389         (-[WebFrame _reloadForPluginChanges]):
1390         Don't traverse the view hierarchy looking for plugin views. Instead, just
1391         ask the frame whether it contains any plugins.
1392
1393 2006-06-03  Steve Falkenburg  <sfalken@apple.com>
1394
1395         Reviewed by hyatt.
1396         
1397         Add implementation of loadHTMLString for Spinneret
1398
1399         * COM/WebFrame.cpp:
1400         (WebFrame::loadHTMLString):
1401
1402 2006-06-02  Steve Falkenburg  <sfalken@apple.com>
1403
1404         Reviewed by darin.
1405
1406         New hosting for Spinneret to avoid static linking
1407
1408         * COM: Added.
1409         * COM/Interfaces: Added.
1410         * COM/Interfaces/DOMCSS.idl: Added.
1411         * COM/Interfaces/DOMCore.idl: Added.
1412         * COM/Interfaces/DOMHTML.idl: Added.
1413         * COM/Interfaces/DOMRange.idl: Added.
1414         * COM/Interfaces/IWebArchive.idl: Added.
1415         * COM/Interfaces/IWebAttributedString.idl: Added.
1416         * COM/Interfaces/IWebBackForwardList.idl: Added.
1417         * COM/Interfaces/IWebDataSource.idl: Added.
1418         * COM/Interfaces/IWebDocument.idl: Added.
1419         * COM/Interfaces/IWebDownload.idl: Added.
1420         * COM/Interfaces/IWebEditingDelegate.idl: Added.
1421         * COM/Interfaces/IWebError.idl: Added.
1422         * COM/Interfaces/IWebFrame.idl: Added.
1423         * COM/Interfaces/IWebFrameLoadDelegate.idl: Added.
1424         * COM/Interfaces/IWebFrameView.idl: Added.
1425         * COM/Interfaces/IWebHistoryItem.idl: Added.
1426         * COM/Interfaces/IWebIconDatabase.idl: Added.
1427         * COM/Interfaces/IWebImage.idl: Added.
1428         * COM/Interfaces/IWebMutableURLRequest.idl: Added.
1429         * COM/Interfaces/IWebNotification.idl: Added.
1430         * COM/Interfaces/IWebPolicyDelegate.idl: Added.
1431         * COM/Interfaces/IWebPreferences.idl: Added.
1432         * COM/Interfaces/IWebResource.idl: Added.
1433         * COM/Interfaces/IWebResourceLoadDelegate.idl: Added.
1434         * COM/Interfaces/IWebScriptObject.idl: Added.
1435         * COM/Interfaces/IWebUIDelegate.idl: Added.
1436         * COM/Interfaces/IWebURLAuthenticationChallenge.idl: Added.
1437         * COM/Interfaces/IWebURLRequest.idl: Added.
1438         * COM/Interfaces/IWebURLResponse.idl: Added.
1439         * COM/Interfaces/IWebUndoManager.idl: Added.
1440         * COM/Interfaces/IWebView.idl: Added.
1441         * COM/Interfaces/WebKit.idl: Added.
1442         * COM/WebBackForwardList.cpp: Added.
1443         (WebBackForwardList::WebBackForwardList):
1444         (WebBackForwardList::~WebBackForwardList):
1445         (WebBackForwardList::createInstance):
1446         (WebBackForwardList::QueryInterface):
1447         (WebBackForwardList::AddRef):
1448         (WebBackForwardList::Release):
1449         (WebBackForwardList::addItem):
1450         (WebBackForwardList::goBack):
1451         (WebBackForwardList::goForward):
1452         (WebBackForwardList::goToItem):
1453         (WebBackForwardList::backItem):
1454         (WebBackForwardList::currentItem):
1455         (WebBackForwardList::forwardItem):
1456         (WebBackForwardList::backListWithLimit):
1457         (WebBackForwardList::forwardListWithLimit):
1458         (WebBackForwardList::capacity):
1459         (WebBackForwardList::setCapacity):
1460         (WebBackForwardList::backListCount):
1461         (WebBackForwardList::forwardListCount):
1462         (WebBackForwardList::containsItem):
1463         (WebBackForwardList::itemAtIndex):
1464         (WebBackForwardList::setPageCacheSize):
1465         (WebBackForwardList::pageCacheSize):
1466         * COM/WebBackForwardList.h: Added.
1467         * COM/WebDataSource.cpp: Added.
1468         (WebDataSource::WebDataSource):
1469         (WebDataSource::~WebDataSource):
1470         (WebDataSource::createInstance):
1471         (WebDataSource::QueryInterface):
1472         (WebDataSource::AddRef):
1473         (WebDataSource::Release):
1474         (WebDataSource::initWithRequest):
1475         (WebDataSource::data):
1476         (WebDataSource::representation):
1477         (WebDataSource::webFrame):
1478         (WebDataSource::initialRequest):
1479         (WebDataSource::request):
1480         (WebDataSource::response):
1481         (WebDataSource::textEncodingName):
1482         (WebDataSource::isLoading):
1483         (WebDataSource::pageTitle):
1484         (WebDataSource::unreachableURL):
1485         (WebDataSource::webArchive):
1486         (WebDataSource::mainResource):
1487         (WebDataSource::subresources):
1488         (WebDataSource::subresourceForURL):
1489         (WebDataSource::addSubresource):
1490         * COM/WebDataSource.h: Added.
1491         * COM/WebFrame.cpp: Added.
1492         (WebFrame::WebFramePrivate::WebFramePrivate):
1493         (WebFrame::WebFramePrivate::~WebFramePrivate):
1494         (WebFrame::WebFrame):
1495         (WebFrame::~WebFrame):
1496         (WebFrame::createInstance):
1497         (WebFrame::QueryInterface):
1498         (WebFrame::AddRef):
1499         (WebFrame::Release):
1500         (WebFrame::initWithName):
1501         (WebFrame::name):
1502         (WebFrame::webView):
1503         (WebFrame::frameView):
1504         (WebFrame::DOMDocument):
1505         (WebFrame::frameElement):
1506         (WebFrame::loadRequest):
1507         (WebFrame::loadData):
1508         (WebFrame::loadHTMLString):
1509         (WebFrame::loadAlternateHTMLString):
1510         (WebFrame::loadArchive):
1511         (WebFrame::dataSource):
1512         (WebFrame::provisionalDataSource):
1513         (WebFrame::stopLoading):
1514         (WebFrame::reload):
1515         (WebFrame::findFrameNamed):
1516         (WebFrame::parentFrame):
1517         (WebFrame::childFrames):
1518         (WebFrame::paint):
1519         (WebFrame::impl):
1520         (WebFrame::loadDataSource):
1521         (WebFrame::loading):
1522         (WebFrame::goToItem):
1523         (WebFrame::loadItem):
1524         (WebSystemMainMemory):
1525         (WebFrame::getObjectCacheSize):
1526         (WebFrame::receivedRedirect):
1527         (WebFrame::receivedResponse):
1528         (WebFrame::receivedData):
1529         (WebFrame::receivedAllData):
1530         (WebFrame::openURL):
1531         (WebFrame::submitForm):
1532         (WebFrame::setTitle):
1533         (WebFrame::setStatusText):
1534         * COM/WebFrame.h: Added.
1535         * COM/WebHistoryItem.cpp: Added.
1536         (WebHistoryItem::WebHistoryItem):
1537         (WebHistoryItem::~WebHistoryItem):
1538         (WebHistoryItem::createInstance):
1539         (WebHistoryItem::QueryInterface):
1540         (WebHistoryItem::AddRef):
1541         (WebHistoryItem::Release):
1542         (WebHistoryItem::initWithURLString):
1543         (WebHistoryItem::originalURLString):
1544         (WebHistoryItem::URLString):
1545         (WebHistoryItem::title):
1546         (WebHistoryItem::lastVisitedTimeInterval):
1547         (WebHistoryItem::setAlternateTitle):
1548         (WebHistoryItem::alternateTitle):
1549         (WebHistoryItem::icon):
1550         * COM/WebHistoryItem.h: Added.
1551         * COM/WebIconDatabase.cpp: Added.
1552         (WebIconDatabase::WebIconDatabase):
1553         (WebIconDatabase::~WebIconDatabase):
1554         (WebIconDatabase::createInstance):
1555         (WebIconDatabase::QueryInterface):
1556         (WebIconDatabase::AddRef):
1557         (WebIconDatabase::Release):
1558         (WebIconDatabase::sharedIconDatabase):
1559         (WebIconDatabase::iconForURL):
1560         (WebIconDatabase::defaultIconWithSize):
1561         (WebIconDatabase::retainIconForURL):
1562         (WebIconDatabase::releaseIconForURL):
1563         (WebIconDatabase::delayDatabaseCleanup):
1564         (WebIconDatabase::allowDatabaseCleanup):
1565         * COM/WebIconDatabase.h: Added.
1566         * COM/WebKitClassFactory.cpp: Added.
1567         (WebKitClassFactory::WebKitClassFactory):
1568         (WebKitClassFactory::~WebKitClassFactory):
1569         (WebKitClassFactory::QueryInterface):
1570         (WebKitClassFactory::AddRef):
1571         (WebKitClassFactory::Release):
1572         (WebKitClassFactory::CreateInstance):
1573         (WebKitClassFactory::LockServer):
1574         * COM/WebKitClassFactory.h: Added.
1575         * COM/WebKitDLL.cpp: Added.
1576         (DllMain):
1577         (DllGetClassObject):
1578         (DllCanUnloadNow):
1579         (DllUnregisterServer):
1580         (DllRegisterServer):
1581         * COM/WebKitDLL.h: Added.
1582         * COM/WebMutableURLRequest.cpp: Added.
1583         (WebMutableURLRequest::WebMutableURLRequest):
1584         (WebMutableURLRequest::~WebMutableURLRequest):
1585         (WebMutableURLRequest::createInstance):
1586         (WebMutableURLRequest::QueryInterface):
1587         (WebMutableURLRequest::AddRef):
1588         (WebMutableURLRequest::Release):
1589         (WebMutableURLRequest::requestWithURL):
1590         (WebMutableURLRequest::allHTTPHeaderFields):
1591         (WebMutableURLRequest::cachePolicy):
1592         (WebMutableURLRequest::HTTPBody):
1593         (WebMutableURLRequest::HTTPBodyStream):
1594         (WebMutableURLRequest::HTTPMethod):
1595         (WebMutableURLRequest::HTTPShouldHandleCookies):
1596         (WebMutableURLRequest::initWithURL):
1597         (WebMutableURLRequest::mainDocumentURL):
1598         (WebMutableURLRequest::timeoutInterval):
1599         (WebMutableURLRequest::URL):
1600         (WebMutableURLRequest::valueForHTTPHeaderField):
1601         (WebMutableURLRequest::addValue):
1602         (WebMutableURLRequest::setAllHTTPHeaderFields):
1603         (WebMutableURLRequest::setCachePolicy):
1604         (WebMutableURLRequest::setHTTPBody):
1605         (WebMutableURLRequest::setHTTPBodyStream):
1606         (WebMutableURLRequest::setHTTPMethod):
1607         (WebMutableURLRequest::setHTTPShouldHandleCookies):
1608         (WebMutableURLRequest::setMainDocumentURL):
1609         (WebMutableURLRequest::setTimeoutInterval):
1610         (WebMutableURLRequest::setURL):
1611         (WebMutableURLRequest::setValue):
1612         (WebMutableURLRequest::setFormData):
1613         (WebMutableURLRequest::formData):
1614         * COM/WebMutableURLRequest.h: Added.
1615         * COM/WebView.cpp: Added.
1616         (WebView::WebView):
1617         (WebView::~WebView):
1618         (WebView::createInstance):
1619         (WebView::mouseMoved):
1620         (WebView::mouseDown):
1621         (WebView::mouseUp):
1622         (WebView::mouseDoubleClick):
1623         (WebView::keyPress):
1624         (registerWebView):
1625         (WebViewWndProc):
1626         (calculateScrollDelta):
1627         (scrollMessageForKey):
1628         (WebView::goToItem):
1629         (WebView::QueryInterface):
1630         (WebView::AddRef):
1631         (WebView::Release):
1632         (WebView::canShowMIMEType):
1633         (WebView::canShowMIMETypeAsHTML):
1634         (WebView::MIMETypesShownAsHTML):
1635         (WebView::setMIMETypesShownAsHTML):
1636         (WebView::URLFromPasteboard):
1637         (WebView::URLTitleFromPasteboard):
1638         (WebView::initWithFrame):
1639         (WebView::setUIDelegate):
1640         (WebView::uiDelegate):
1641         (WebView::setResourceLoadDelegate):
1642         (WebView::resourceLoadDelegate):
1643         (WebView::setDownloadDelegate):
1644         (WebView::downloadDelegate):
1645         (WebView::setFrameLoadDelegate):
1646         (WebView::frameLoadDelegate):
1647         (WebView::setPolicyDelegate):
1648         (WebView::policyDelegate):
1649         (WebView::mainFrame):
1650         (WebView::backForwardList):
1651         (WebView::setMaintainsBackForwardList):
1652         (WebView::goBack):
1653         (WebView::goForward):
1654         (WebView::goToBackForwardItem):
1655         (WebView::setTextSizeMultiplier):
1656         (WebView::textSizeMultiplier):
1657         (WebView::setApplicationNameForUserAgent):
1658         (WebView::applicationNameForUserAgent):
1659         (WebView::setCustomUserAgent):
1660         (WebView::customUserAgent):
1661         (WebView::userAgentForURL):
1662         (WebView::supportsTextEncoding):
1663         (WebView::setCustomTextEncodingName):
1664         (WebView::customTextEncodingName):
1665         (WebView::setMediaStyle):
1666         (WebView::mediaStyle):
1667         (WebView::stringByEvaluatingJavaScriptFromString):
1668         (WebView::windowScriptObject):
1669         (WebView::setPreferences):
1670         (WebView::preferences):
1671         (WebView::setPreferencesIdentifier):
1672         (WebView::preferencesIdentifier):
1673         (WebView::setHostWindow):
1674         (WebView::hostWindow):
1675         (WebView::searchFor):
1676         (WebView::registerViewClass):
1677         (WebView::takeStringURLFrom):
1678         (WebView::stopLoading):
1679         (WebView::reload):
1680         (WebView::canGoBack):
1681         (WebView::canGoForward):
1682         (WebView::canMakeTextLarger):
1683         (WebView::makeTextLarger):
1684         (WebView::canMakeTextSmaller):
1685         (WebView::makeTextSmaller):
1686         (WebView::computedStyleForElement):
1687         (WebView::editableDOMRangeForPoint):
1688         (WebView::setSelectedDOMRange):
1689         (WebView::selectedDOMRange):
1690         (WebView::selectionAffinity):
1691         (WebView::setEditable):
1692         (WebView::isEditable):
1693         (WebView::setTypingStyle):
1694         (WebView::typingStyle):
1695         (WebView::setSmartInsertDeleteEnabled):
1696         (WebView::smartInsertDeleteEnabled):
1697         (WebView::setContinuousSpellCheckingEnabled):
1698         (WebView::isContinuousSpellCheckingEnabled):
1699         (WebView::spellCheckerDocumentTag):
1700         (WebView::undoManager):
1701         (WebView::setEditingDelegate):
1702         (WebView::editingDelegate):
1703         (WebView::styleDeclarationWithText):
1704         (WebView::replaceSelectionWithNode):
1705         (WebView::replaceSelectionWithText):
1706         (WebView::replaceSelectionWithMarkupString):
1707         (WebView::replaceSelectionWithArchive):
1708         (WebView::deleteSelection):
1709         (WebView::applyStyle):
1710         (WebView::copy):
1711         (WebView::cut):
1712         (WebView::paste):
1713         (WebView::copyFont):
1714         (WebView::pasteFont):
1715         (WebView::delete_):
1716         (WebView::pasteAsPlainText):
1717         (WebView::pasteAsRichText):
1718         (WebView::changeFont):
1719         (WebView::changeAttributes):
1720         (WebView::changeDocumentBackgroundColor):
1721         (WebView::changeColor):
1722         (WebView::alignCenter):
1723         (WebView::alignJustified):
1724         (WebView::alignLeft):
1725         (WebView::alignRight):
1726         (WebView::checkSpelling):
1727         (WebView::showGuessPanel):
1728         (WebView::performFindPanelAction):
1729         (WebView::startSpeaking):
1730         (WebView::stopSpeaking):
1731         (WebView::viewWindow):
1732         * COM/WebView.h: Added.
1733         * WebKit.vcproj: Added.
1734         * WebKit.vcproj/Interfaces.vcproj: Added.
1735         * WebKit.vcproj/WebKit.def: Added.
1736         * WebKit.vcproj/WebKit.rc: Added.
1737         * WebKit.vcproj/WebKit.sln: Added.
1738         * WebKit.vcproj/WebKit.vcproj: Added.
1739         * WebKit.vcproj/WebKitGUID.vcproj: Added.
1740         * WebKit.vcproj/autoversion.h: Added.
1741         * WebKit.vcproj/resource.h: Added.
1742
1743 2006-06-02  Darin Adler  <darin@apple.com>
1744
1745         * WebCoreSupport/WebImageRendererFactory.m: Fix crash on Safari startup
1746         by include NSObject as a superclass (oops!).
1747
1748 2006-06-01  Darin Adler  <darin@apple.com>
1749
1750         Reviewed by Maciej.
1751
1752         - WebCore doesn't need to load WebKit images any more; removed code for that
1753
1754         * Resources/missing_image.tiff: Removed.
1755         * WebCoreSupport/WebImageRendererFactory.h: Removed.
1756
1757         * WebCoreSupport/WebImageRendererFactory.m: Moved @interface in here.
1758         Removed all but the "threaded decoding" calls that older Safari calls.
1759         This file can go altogether when compatibility with that older Safari
1760         is no longer needed.
1761
1762         * WebKit.xcodeproj/project.pbxproj: Removed WebImageRendererFactory.h
1763         and missing_image.tiff.
1764
1765         * WebView/WebFrameView.m: (-[WebFrameView initWithFrame:]): Removed call
1766         to [WebImageRendererFactory createSharedFactory].
1767
1768 2006-06-01  Brady Eidson  <beidson@apple.com>
1769
1770         Reviewed by Maciej.
1771
1772         Simple changes to hook up the new WebCore based Icon Database
1773         for testing.
1774
1775         * ChangeLog:
1776         * Misc/WebIconDatabase.m:
1777         (-[WebIconDatabase _applicationWillTerminate:]):
1778         * Misc/WebIconDatabasePrivate.h:
1779         * WebKit.xcodeproj/project.pbxproj:
1780
1781 2006-06-01  Anders Carlsson  <acarlsson@apple.com>
1782
1783         Reviewed by Darin.
1784
1785         http://bugzilla.opendarwin.org/show_bug.cgi?id=6309
1786         multiple problems prevent bookmarking/back button technique for AJAX/DHTML applications from working
1787
1788         * Misc/WebNSURLExtras.m:
1789         (-[NSString _webkit_URLFragment]):
1790         Don't include the "#" character in the fragment.
1791         
1792         * WebCoreSupport/WebFrameBridge.m:
1793         (-[WebFrameBridge historyURL:]):
1794         New function, returns the history URL for a given position in the back/forward list
1795         
1796         * WebView/WebFrame.m:
1797         (-[WebFrame _loadItem:withLoadType:]):
1798         Always call scrollToAnchorWithURL, even if there is no fragment. This way we keep the WebCore frame's
1799         URL up-to-date.
1800
1801 2006-06-01  Maciej Stachowiak  <mjs@apple.com>
1802
1803         Reviewed by Anders.
1804         
1805         - fixed "REGRESSION: Can't order from Pizza Hut (ToT, 05/24/06)"
1806         http://bugzilla.opendarwin.org/show_bug.cgi?id=9103
1807
1808         * WebView/WebDataSource.m:
1809         (-[WebDataSource _willSendRequest:forResource:redirectResponse:]): Set up the
1810         User-Agent header.
1811         * WebView/WebDataSourceInternal.h:
1812         * WebView/WebLoader.m:
1813         (-[NSURLProtocol willSendRequest:redirectResponse:]): Pass a mutable URL request
1814         so the above can work.
1815
1816 2006-06-01  Anders Carlsson  <acarlsson@apple.com>
1817
1818         Reviewed by Darin.
1819
1820         * WebView/WebFrameView.m:
1821         (+[WebFrameView _canShowMIMETypeAsHTML:]):
1822         Use _webkit_objectForMIMEType here so we'll get an object back for "text/".
1823
1824 2006-05-31  David Hyatt  <hyatt@apple.com>
1825
1826         Make programmatic focus/blur actually work on sub-frames.  Make the
1827         top-level UI delegate get called for deactivation of windows.
1828
1829         Reviewed by darin
1830
1831         * WebCoreSupport/WebFrameBridge.m:
1832         (-[WebFrameBridge activateWindow]):
1833         (-[WebFrameBridge deactivateWindow]):
1834         (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
1835         (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
1836         * WebKit.xcodeproj/project.pbxproj:
1837
1838 === WebKit-521.12 ===
1839
1840 2006-05-26  David Harrison  <harrison@apple.com>
1841
1842         Reviewed by John Sullivan.
1843
1844         <rdar://problem/4514529> Add a list type parameter and a return value to _increaseSelectionListLevel
1845
1846         * WebView/WebHTMLView.m:
1847         (-[WebHTMLView _increaseSelectionListLevel]):
1848         - Now returns DOMNode*
1849
1850         (-[WebHTMLView _increaseSelectionListLevelOrdered]):
1851         (-[WebHTMLView _increaseSelectionListLevelUnordered]):
1852         - Added.  These also return DOMNode*
1853
1854         * WebView/WebHTMLViewPrivate.h:
1855         - Updated as above
1856
1857 2006-05-25  Tim Omernick  <timo@apple.com>
1858
1859         Reviewed by Anders.
1860
1861         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8347>
1862         REGRESSION: Flash movie audible but not visible until window is resized
1863
1864         * Plugins/WebNetscapePluginDocumentView.m:
1865         (-[WebNetscapePluginDocumentView dataSourceUpdated:]):
1866         Layout if needed here.  Maciej recently removed the "LayoutAcceptable" frame state, which used to
1867         cause plugin document views to lay out immediately upon receiving data.  This call to -layout has
1868         the same effect.
1869
1870 === WebKit-521.11.1 ===
1871
1872 2006-05-25  Timothy Hatcher  <timothy@apple.com>
1873
1874         Reviewed by Tim O.
1875
1876         <rdar://problem/4559808> WebKit fails to compile for ppc64
1877         <rdar://problem/4522085> 64-bit: WebKit uses FSSpec which is not available in 64-bit
1878         Gets WebKit building under 64-bit. Rename WebNSInt and WebNSUInt to WebNSInteger and WebNSUInteger.
1879         Start using WebNSInteger where we need to match AppKit API usage of NSInteger.
1880
1881         HIWebView and a couple of helper functions are disabled until they can be moved off of QuickDraw.
1882         <rdar://problem/4561772> HIWebView needs to be reworked to not use QuickDraw, needed for 64-bit
1883
1884         * Carbon/CarbonUtils.m: disabled this file in 64-bit <rdar://problem/4561772>
1885         * Carbon/CarbonWindowAdapter.m:
1886         (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
1887         * Carbon/CarbonWindowFrame.m:
1888         (+[CarbonWindowFrame frameRectForContentRect:styleMask:]):
1889         (+[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
1890         (+[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
1891         (-[CarbonWindowFrame frameRectForContentRect:styleMask:]):
1892         (-[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
1893         (-[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
1894         * Carbon/HIViewAdapter.m: disabled this file in 64-bit <rdar://problem/4561772>
1895         * Carbon/HIWebView.m: disabled this file in 64-bit <rdar://problem/4561772>
1896         (HIWebViewEventHandler):
1897         * DefaultDelegates/WebDefaultResourceLoadDelegate.m:
1898         (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]):
1899         * History/WebBackForwardList.m:
1900         (-[WebBackForwardList removeItem:]):
1901         (-[WebBackForwardList goToItem:]):
1902         * Misc/WebDownload.m:
1903         (-[WebDownloadInternal download:didReceiveDataOfLength:]):
1904         * Misc/WebFileDatabase.m:
1905         (UniqueFilePathForKey):
1906         * Misc/WebIconDatabase.m:
1907         (-[NSMutableDictionary retainIconForURL:]):
1908         (-[NSMutableDictionary releaseIconForURL:]):
1909         (-[WebIconDatabase _totalRetainCountForIconURLString:]):
1910         (-[WebIconDatabase _retainIconForIconURLString:]):
1911         (-[WebIconDatabase _releaseIconForIconURLString:]):
1912         * Misc/WebSearchableTextView.m:
1913         (-[NSString selectionRect]):
1914         * Misc/WebTypesInternal.h: Added.
1915         * Plugins/WebBaseNetscapePluginStream.m:
1916         (-[WebBaseNetscapePluginStream _destroyStream]):
1917         (CarbonPathFromPOSIXPath):
1918         * Plugins/WebBaseNetscapePluginView.m:
1919         (-[WebBaseNetscapePluginView sendActivateEvent:]):
1920         (-[WebBaseNetscapePluginView sendUpdateEvent]):
1921         (TSMEventHandler):
1922         (-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]):
1923         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
1924         (-[NSData _web_locationAfterFirstBlankLine]):
1925         * Plugins/WebBasePluginPackage.m:
1926         (-[WebBasePluginPackage hash]):
1927         * Plugins/WebNetscapePluginPackage.m:
1928         (-[WebNetscapePluginPackage load]):
1929         (functionPointerForTVector):
1930         * WebInspector/WebInspector.m:
1931         (-[WebInspector _updateSystemColors]):
1932         * WebKit.xcodeproj/project.pbxproj:
1933         * WebView/WebDataSource.m:
1934         (-[WebDataSource _didReceiveData:contentLength:forResource:]):
1935         * WebView/WebFrame.m:
1936         (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
1937         * WebView/WebHTMLView.m:
1938         (-[NSArray drawRect:]):
1939         (-[WebHTMLView characterIndexForPoint:]):
1940         (-[WebHTMLView conversationIdentifier]):
1941         * WebView/WebResourceLoadDelegate.h:
1942         * WebView/WebUIDelegate.h:
1943         * WebView/WebView.h:
1944         * WebView/WebView.m:
1945         (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
1946         (-[WebView spellCheckerDocumentTag]):
1947         * WebView/WebViewInternal.h:
1948         * WebView/WebViewPrivate.h:
1949
1950 === WebKit-521.11 ===
1951
1952 2006-05-23  Maciej Stachowiak  <mjs@apple.com>
1953
1954         Reviewed by Tim.
1955         
1956         - more loader refactoring to simplify things and remove knowledge of WebView from WebSubresourceLoader
1957
1958         * WebCoreSupport/WebSubresourceLoader.m:
1959         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
1960         (-[WebSubresourceLoader didReceiveResponse:]):
1961         * WebView/WebDataSource.m:
1962         (-[WebDataSource _loadIcon]):
1963         (-[WebDataSource _startLoading]):
1964         * WebView/WebFrame.m:
1965         (-[WebFrame _loadRequest:archive:]):
1966         (-[WebFrame _loadItem:withLoadType:]):
1967         (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
1968         (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
1969         (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
1970         * WebView/WebFrameInternal.h:
1971         * WebView/WebFramePrivate.h:
1972         * WebView/WebLoader.h:
1973         * WebView/WebLoader.m:
1974         * WebView/WebMainResourceLoader.m:
1975         (-[WebMainResourceLoader initWithDataSource:]):
1976         (-[WebMainResourceLoader didReceiveResponse:]):
1977
1978 2006-05-23  Tim Omernick  <timo@apple.com>
1979
1980         Reviewed by John Sullivan.
1981
1982         <rdar://problem/4558301> REGRESSION (420+): After clearing history and closing bookmark view window,
1983         attempting to select Safari's menu bar results in a crash
1984
1985         * Misc/WebNSWindowExtras.m:
1986         (replacementPostWindowNeedsDisplay):
1987         My fix yesterday for 4557117 was not quite good enough.  Now that we cancel the display timer for a
1988         window *before* it deallocates, we need to make sure that while a window deallocates, no new display
1989         timers are scheduled for that window.  This is actually possible, as 4558301 demonstrates.
1990         Luckily, NSWindow sets a handy "windowDying" flag when it deallocates, so we can just check that flag
1991         and bail out of the throttle hack if it is set.  This should fix the last of the crashes involving
1992         display timers scheduled for deallocated or deallocating windows.
1993
1994 2006-05-23  Maciej Stachowiak  <mjs@apple.com>
1995
1996         Reviewed by Eric.
1997         
1998         - remove knowledge of WebView from WebLoader in preparation for moving the code down
1999
2000         * WebView/WebDataSource.m:
2001         (-[WebDataSource _defersCallbacks]):
2002         (-[WebDataSource _identifierForInitialRequest:]):
2003         (-[WebDataSource _willSendRequest:forResource:redirectResponse:]):
2004         (-[WebDataSource _didReceiveAuthenticationChallenge:forResource:]):
2005         (-[WebDataSource _didCancelAuthenticationChallenge:forResource:]):
2006         (-[WebDataSource _didReceiveResponse:forResource:]):
2007         (-[WebDataSource _didReceiveData:contentLength:forResource:]):
2008         (-[WebDataSource _didFinishLoadingForResource:]):
2009         (-[WebDataSource _didFailLoadingWithError:forResource:]):
2010         (-[WebDataSource _downloadWithLoadingConnection:request:response:proxy:]):
2011         (-[WebDataSource _privateBrowsingEnabled]):
2012         * WebView/WebDataSourceInternal.h:
2013         * WebView/WebLoader.h:
2014         * WebView/WebLoader.m:
2015         (-[WebLoader releaseResources]):
2016         (-[WebLoader setDataSource:]):
2017         (-[WebLoader willSendRequest:redirectResponse:]):
2018         (-[WebLoader didReceiveAuthenticationChallenge:]):
2019         (-[WebLoader didCancelAuthenticationChallenge:]):
2020         (-[WebLoader didReceiveResponse:]):
2021         (-[WebLoader didReceiveData:lengthReceived:]):
2022         (-[WebLoader signalFinish]):
2023         (-[WebLoader didFinishLoading]):
2024         (-[WebLoader didFailWithError:]):
2025         (-[WebLoader willCacheResponse:]):
2026         (-[WebLoader cancelWithError:]):
2027         * WebView/WebMainResourceLoader.m:
2028         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
2029         * WebView/WebView.m:
2030         (-[WebView _incrementProgressForIdentifier:response:]):
2031         (-[WebView _incrementProgressForIdentifier:data:]):
2032         (-[WebView _completeProgressForIdentifier:]):
2033         * WebView/WebViewInternal.h:
2034
2035 === WebKit-521.10 ===
2036
2037 2006-05-22  Tim Omernick  <timo@apple.com>
2038
2039         Reviewed by Geoff.
2040
2041         <rdar://problem/4557117> TOT REGRESSION: Repro crash in cancelPendingWindowDisplay --> _timerRelease when
2042         opening file from file open dialog
2043
2044         Note that I could not reproduce this situation at all on any of my machines; I had to debug this on Geoff's
2045         machine.
2046
2047         * Misc/WebNSWindowExtras.m:
2048         (replacementDealloc):
2049         Cancel display timer before dealloc, not after.  Cancelling the timer can cause a message to be sent to the
2050         window; best to do that before the window deallocates.
2051         (replacementFinalize):
2052         ditto
2053
2054 2006-05-20  Maciej Stachowiak  <mjs@apple.com>
2055
2056         Reviewed by Beth.
2057         
2058         - fix assertion failure on layout tests
2059
2060         * WebView/WebDataSource.m:
2061         (-[WebDataSource _mainReceivedError:complete:]): Don't do anything
2062         if this data source is no longer connected to a frame. Used to be
2063         this couldn't happen because the WebView would have been nil, but
2064         we no longer go through the WebView.
2065
2066 2006-05-20  Timothy Hatcher  <timothy@apple.com>
2067
2068         Reviewed by Anders.
2069
2070         Bug 9018: REGRESSION: resizing the top area of the inspector does not grow as expected
2071         http://bugzilla.opendarwin.org/show_bug.cgi?id=9018
2072         
2073         Use clientHeight now that offsetHeight includes the border and padding.
2074         clientHeight should have been used initially.
2075
2076         * WebInspector/WebInspector.m:
2077         (-[WebInspector resizeTopArea]):
2078
2079 2006-05-18  Maciej Stachowiak  <mjs@apple.com>
2080
2081         Reviewed by Eric.
2082         
2083         - remove loading-related code from WebView
2084         http://bugzilla.opendarwin.org/show_bug.cgi?id=8981
2085
2086         * Plugins/WebNetscapePluginStream.m:
2087         (-[WebNetscapePlugInStreamLoader didFinishLoading]):
2088         (-[WebNetscapePlugInStreamLoader didFailWithError:]):
2089         * WebCoreSupport/WebSubresourceLoader.m:
2090         (-[WebSubresourceLoader receivedError:]):
2091         (-[WebSubresourceLoader signalFinish]):
2092         * WebView/WebDataSource.m:
2093         (-[WebDataSource _stopLoading]):
2094         (-[WebDataSource _receivedMainResourceError:complete:]):
2095         (-[WebDataSource _finishedLoadingResource]):
2096         (-[WebDataSource _mainReceivedBytesSoFar:complete:]):
2097         (-[WebDataSource _receivedError:]):
2098         (-[WebDataSource _mainReceivedError:complete:]):
2099         * WebView/WebDataSourceInternal.h:
2100         * WebView/WebFrame.m:
2101         (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
2102         * WebView/WebMainResourceLoader.m:
2103         (-[WebMainResourceLoader didReceiveData:lengthReceived:]):
2104         (-[WebMainResourceLoader didFinishLoading]):
2105         * WebView/WebView.m:
2106         * WebView/WebViewInternal.h:
2107
2108 2006-05-18  Tim Omernick  <timo@apple.com>
2109
2110         Reviewed by John Sullivan.
2111
2112         <rdar://problem/4551938> More options needed for window display throttle
2113
2114         We decided to play it safe and leave our window flushing behavior unchanged from the previous
2115         public release.  By default, CoreGraphics deferred updates are once again OFF, and the window
2116         display throttle is OFF.
2117
2118         Individual applications should set the WebKitThrottleWindowDisplayPreferenceKey and 
2119         WebKitEnableDeferredUpdatesPreferenceKey defaults to suit their needs.
2120
2121         Old behavior (like 10.4.6): WebKitThrottleWindowDisplayPreferenceKey=0 (or unset), 
2122         WebKitEnableDeferredUpdatesPreferenceKey (or unset).
2123
2124         Tear-free scrolling/animations: WebKitThrottleWindowDisplayPreferenceKey=0 (or unset),
2125         WebKitEnableDeferredUpdatesPreferenceKey=1.  While this configuration fixes the tearing issues
2126         caused by over-flushing, some applications will experience performance problems as over-flushing
2127         with CG deferred updates enabled will cause the app to block.
2128
2129         Tear-free scrolling/animations, high performance: WebKitThrottleWindowDisplayPreferenceKey=1, 
2130         WebKitEnableDeferredUpdatesPreferenceKey=1.  This is the riskiest configuration in that it
2131         enables the window display throttle "feature", potentially breaking applications' assumptions
2132         about when displays occur.  However, it provides the "best of both worlds", in that updates
2133         are tear-free, and performance impact should me minimal.
2134
2135         * WebView/WebPreferenceKeysPrivate.h:
2136         Declared WebKitThrottleWindowDisplayPreferenceKey and WebKitEnableDeferredUpdatesPreferenceKey.
2137
2138         * WebView/WebFrameView.m:
2139         (-[WebFrameView initWithFrame:]):
2140         Turn off CG deferred updates if WebKitEnableDeferredUpdatesPreferenceKey is NO or has no value.
2141         Added some comments.
2142
2143 2006-05-18  John Sullivan  <sullivan@apple.com>
2144
2145         Reviewed by Darin Adler.
2146         
2147         - fixed <rdar://problem/4552713> REGRESSION: WebFrameView no longer responds to responder methods sent by Safari code
2148
2149         * WebView/WebView.m:
2150         (-[WebView _responderForResponderOperations]):
2151         Treat sibling views of the main frameView the same as views outside of the webview for the purposes of this mechanism.
2152
2153 2006-05-18  Tim Omernick  <timo@apple.com>
2154
2155         Reviewed by John Sullivan.
2156
2157         <rdar://problem/4553450> Make disabling window throttle safer
2158
2159         * Misc/WebNSWindowExtras.m:
2160         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
2161         Don't assume that +_webkit_disableWindowDisplayThrottle restored the NSWindow method implementations; 
2162         now we'll only swizzle them once, and our replacement IMPs will call the old IMPs when the window
2163         throttle is disabled.  This is a safer approach when other components/"haxies" override the same methods
2164         that we are overriding, as it allows the overrides to "chain" properly.
2165         Moved the dictionary initialization code down a bit.  The order doesn't matter here.
2166         (disableWindowDisplayThrottleApplierFunction):
2167         Noticed that this could have been written safer with respect to the timer having the last reference to
2168         the window.  I never experienced a crash here, but this code is definitely safer.
2169         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
2170         Don't restore NSWindow method implementations; just clear the flag, flush pending displays, and destroy
2171         the dictionary.
2172         (replacementPostWindowNeedsDisplay):
2173         If throttling is disabled, just call the original IMP.
2174         (clearWindowDisplayInfo):
2175         Added an assert.
2176         (replacementDealloc):
2177         Don't call clearWindowDisplayInfo() when throttling is disabled.
2178         (replacementFinalize):
2179         ditto
2180         (cancelPendingWindowDisplay):
2181         Removed an unnecessary assertion.
2182
2183 2006-05-17  Tim Omernick  <timo@apple.com>
2184
2185         Reviewed by Kevin Decker and John Sullivan.
2186
2187         <rdar://problem/4550801> REGRESSION: Window throttle code can sometimes leak NSWindows
2188
2189         The window display throttle depended on windows being closed before they were deallocated; this is
2190         not guaranteed by AppKit.  Windows that were being released without being closed were getting stuck
2191         in our NSWindow -> WindowDisplayInfo dictionary.
2192         
2193         * Misc/WebNSWindowExtras.m:
2194         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
2195         Don't retain the NSWindow keys in the window display info dictionary.
2196         Instead of overriding -close, override -dealloc and -finalize so that we can remove the NSWindow ->
2197         WindowDisplayInfo mapping when a window deallocates.
2198         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
2199         Restore -dealloc and -finalize.
2200         (clearWindowDisplayInfo):
2201         Factored the WindowDisplayInfo cleanup code out of the now-defunct replacementClose().
2202         (replacementClose):
2203         Removed; no longer needed.
2204         (replacementDealloc):
2205         Clear the WindowDisplayInfo for the window after deallocation.
2206         (replacementFinalize):
2207         ditto
2208         (-[NSWindow _webkit_doPendingPostWindowNeedsDisplay:]):
2209         Rewrote this method to be safe in the case where the firing display timer has the last reference to the
2210         window.
2211         Added comments.
2212         
2213 2006-05-17  bradeeoh  <beidson@apple.com>
2214
2215         Reviewed by Tim Hatcher
2216
2217         Consolidated WebDatabase base class into WebFileDatabase as the inheritance relationship became 
2218         obsolete.  This improves readability and sets the stage for a further in-depth rewrite of the 
2219         WebIcon* code.
2220
2221         * Misc/WebDatabase.h: Removed.
2222         * Misc/WebDatabase.m: Removed.
2223         * Misc/WebFileDatabase.h:
2224         * Misc/WebFileDatabase.m:
2225         (-[WebFileDatabaseOp dealloc]): 
2226         (-[WebFileDatabase dealloc]):  
2227         (-[WebFileDatabase path]):
2228         (-[WebFileDatabase isOpen]):
2229         (-[WebFileDatabase sizeLimit]):
2230         * WebKit.xcodeproj/project.pbxproj:
2231
2232 2006-05-17  Adele Peterson  <adele@apple.com>
2233
2234         Reviewed by Hyatt.
2235
2236         WebKit part of initial checkin to prepare for http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
2237         Switch to use new text field implementation for <textarea>
2238
2239         * WebView/WebHTMLView.m:
2240         (-[NSArray insertNewline:]): If we're in plain text mode, insert a line break instead of a paragraph separator.
2241         (-[NSArray insertParagraphSeparator:]): ditto.
2242         * WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]):
2243         Checks for textareas as well as textfields before allowing the delegate to control
2244         the context menu.  This won't affect the old textareas because AppKit handles those context menus.
2245
2246 2006-05-17  John Sullivan  <sullivan@apple.com>
2247
2248         Reviewed by Maciej.
2249
2250         First step towards making text-matching mechanism more flexible; updated for changes
2251         to WebCoreFrameBridge calls.
2252
2253         * WebView/WebHTMLView.m:
2254         (-[WebHTMLView highlightAllMatchesForString:caseSensitive:]):
2255         updated for name change in WebCoreFrameBridge, also now calls setMarkedTextMatchesAreHighlighted:
2256         (-[WebHTMLView clearHighlightedMatches]):
2257         updated for name change in WebCoreFrameBridge
2258
2259 2006-05-16  Matt Gough  <matt@softchaos.com>
2260
2261         Reviewed by Geoff.
2262         
2263         Ensured all the public headers have a newline at their end.
2264
2265         Client code can now have 'Missing Newline at end of File' warnings enabled without emitting
2266         such warnings against any WebKit includes.
2267
2268         * Misc/WebDownload.h:
2269         * Plugins/npfunctions.h:
2270         * WebView/WebResourceLoadDelegate.h:
2271         * WebView/WebUIDelegate.h:
2272         * WebView/WebView.h:
2273
2274 2006-05-16  Tim Omernick  <timo@apple.com>
2275
2276         Reviewed by Tim Hatcher.
2277
2278         http://bugzilla.opendarwin.org/show_bug.cgi?id=8945 (REGRESSION: Scrolling is very slow when dragging
2279         the thumb)
2280
2281         Rolled out one of my tweaks to the window display throttle hack (remember the last flush time instead
2282         of the last display time).  While that was technically a better approach, we discovered a problem
2283         with how it interacts with NSView scroll tracking.  Rather than further complicate this already
2284         crazy hack, I'm reverting back to the simple version.  This should yield similar numbers on iBench,
2285         but not exhibit the nasty scrolling problem.
2286         
2287         * Misc/WebNSWindowExtras.m:
2288         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
2289         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
2290         (getWindowDisplayInfo):
2291         (requestWindowDisplay):
2292
2293 2006-05-16  bradeeoh  <beidson@apple.com>
2294
2295         Reviewed by Maciej Stachowiak
2296
2297         - Fixed an old deprecated method in Misc/WebFileDatabase.m
2298
2299         * Misc/WebFileDatabase.m:
2300         (UniqueFilePathForKey):  changed `lossyCString` to `UTF8String`
2301
2302 2006-05-16  Darin Adler  <darin@apple.com>
2303
2304         Reviewed by Anders.
2305
2306         - did the name change from "ImageElement" to "ImageForElement" that I said I would
2307           (oops!)
2308
2309         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
2310         (-[WebDefaultUIDelegate copyImageToClipboard:]):
2311         * Misc/WebNSPasteboardExtras.h:
2312         * Misc/WebNSPasteboardExtras.m:
2313         (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
2314         * Misc/WebNSViewExtras.h:
2315         * Misc/WebNSViewExtras.m:
2316         (-[NSView _web_DragImageForElement:rect:event:pasteboard:source:offset:]):
2317         * WebView/WebHTMLView.m:
2318         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2319         * WebView/WebView.m:
2320         (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]):
2321         (-[WebView writeElement:withPasteboardTypes:toPasteboard:]):
2322         * WebView/WebViewInternal.h:
2323
2324 2006-05-16  Darin Adler  <darin@apple.com>
2325
2326         Reviewed by Anders.
2327
2328         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8940
2329           remove extra copy of image code
2330
2331         * English.lproj/StringsNotToBeLocalized.txt: Updated for many recent changes.
2332
2333         * WebKit.xcodeproj/project.pbxproj: Removed files.
2334         * WebCoreSupport/WebImageData.h: Removed.
2335         * WebCoreSupport/WebImageData.m: Removed.
2336         * WebCoreSupport/WebImageDecodeItem.h: Removed.
2337         * WebCoreSupport/WebImageDecodeItem.m: Removed.
2338         * WebCoreSupport/WebImageDecoder.h: Removed.
2339         * WebCoreSupport/WebImageDecoder.m: Removed.
2340         * WebCoreSupport/WebImageRenderer.h: Removed.
2341         * WebCoreSupport/WebImageRenderer.m: Removed.
2342
2343         * WebCoreSupport/WebImageRendererFactory.h:
2344         * WebCoreSupport/WebImageRendererFactory.m: Removed everything except for
2345         shouldUseThreadedDecoding, setShouldUseThreadedDecoding, and imageDataForName:.
2346
2347         * Misc/WebNSPasteboardExtras.h: Removed WebImageRenderer parameter from
2348         _web_declareAndWriteDragImage and renamed _web_declareAndWriteDragImageElement.
2349         * Misc/WebNSPasteboardExtras.m:
2350         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): Changed to
2351         call +[WebFrameBridge supportedImageResourceMIMETypes] instead of
2352         -[WebImageRendererFactory supportedMIMETypes].
2353         (-[NSPasteboard _web_declareAndWriteDragImageElement:URL:title:archive:source:]):
2354         Removed WebImageRenderer parameter, and updated code since it was always nil.
2355
2356         * Misc/WebNSViewExtras.h: Removed WebImageRenderer parameter from
2357         _web_dragImage and renamed _web_dragImageElement.
2358         * Misc/WebNSViewExtras.m:
2359         (-[NSView _web_dragImageElement:rect:event:pasteboard:source:offset:]):
2360         Removed WebImageRenderer parameter, and updated code since it was always nil.
2361
2362         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Added some new
2363         functions now used by WebCore.
2364
2365         * WebView/WebDataSource.m: (-[WebDataSource _documentFragmentWithArchive:]):
2366         Call +[WebFrameBridge supportedImageResourceMIMETypes] instead of
2367         -[WebImageRendererFactory supportedMIMETypes].
2368
2369         * WebView/WebFrameView.m: Removed include of WebImageRenderer.h.
2370
2371         * WebView/WebHTMLRepresentation.m: (+[WebHTMLRepresentation supportedImageMIMETypes]):
2372         Removed call to +[WebImageRendererFactory createSharedFactory].
2373
2374         * WebView/WebHTMLView.m:
2375         (-[WebHTMLView _imageExistsAtPaths:]): Call +[WebFrameBridge supportedImageResourceMIMETypes]
2376         instead of -[WebImageRendererFactory supportedMIMETypes].
2377         (-[WebHTMLView _documentFragmentWithPaths:]): Ditto.
2378         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Update
2379         to no longer pass nil for an image to _web_declareAndWriteDragImageElement and to
2380         _web_dragImageElement.
2381         (-[WebHTMLView dealloc]): Remove call to now-unneeded _reset.
2382         (-[WebHTMLView finalize]): Ditto.
2383         (-[WebHTMLView viewDidMoveToWindow]): Remove logic for calling _reset, including the inWindow
2384         boolean field.
2385
2386         * WebView/WebHTMLViewInternal.h: Removed inWindow boolean.
2387         * WebView/WebHTMLViewPrivate.h: Removed _reset method.
2388
2389 2006-05-16  Darin Adler  <darin@apple.com>
2390
2391         Reviewed by Hyatt.
2392
2393         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8898
2394           REGRESSION: Attempting to right-click image in own tab on website causes crash
2395         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8919
2396           REGRESSION: image could not be dragged, subsequent click-drag activity caused crash
2397
2398         These fixes may become obsolete when Anders lands his standalone image viewer
2399         patch, but in my tree they are needed to make Copy Image work after the fix
2400         over on the WebCore side to avoid the crashes.
2401
2402         * Misc/WebNSPasteboardExtras.h: Change _web_writeImage parameter to an NSImage.
2403         * Misc/WebNSPasteboardExtras.m:
2404         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): Change parameter
2405         to an NSImage instead of a WebImageRenderer.
2406         (-[NSPasteboard _web_declareAndWriteDragImage:element:URL:title:archive:source:]):
2407         Call -[WebImageRenderer image] to get an NSImage to pass to _web_writeImage.
2408
2409         * WebView/WebView.m: (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
2410         Get the image using WebElementImageKey if WebElementDOMNodeKey is nil.
2411
2412 2006-05-16  Anders Carlsson  <acarlsson@apple.com>
2413
2414         Reviewed by Maciej.
2415
2416         http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
2417         Use WebCore to render full-frame images
2418         
2419         * WebCoreSupport/WebFrameBridge.m:
2420         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
2421         Remove WebImageView handling.
2422         
2423         (-[WebFrameBridge mainResourceURLResponse]):
2424         New function which returns the URL response for the main resource. This is used by the
2425         manual loading of images.
2426         
2427         (-[WebFrameBridge imageTitleForFilename:size:]):
2428         New function which returns a correctly translated image title given a filename and a size.
2429         
2430         * WebCoreSupport/WebImageRenderer.m:
2431         (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
2432         Remove WebImageView handling.
2433         
2434         * WebKit.xcodeproj/project.pbxproj:
2435         Remove WebImageRepresentation and WebImageView.
2436         
2437         * WebView/WebArchiver.h:
2438         * WebView/WebArchiver.m:
2439         (+[WebArchiver archiveMainResourceForFrame:]):
2440         New functions which returns a WebArchive with just the main resource, ignoring any subresources.
2441         
2442         * WebView/WebDataSource.m:
2443         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
2444         Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.
2445         
2446         * WebView/WebFrameView.m:
2447         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
2448         Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.
2449         
2450         (+[WebHTMLRepresentation supportedMIMETypes]):
2451         Create an array of image and non-image MIME Types.
2452         
2453         (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
2454         (+[WebHTMLRepresentation supportedImageMIMETypes]):
2455         New functions, separating the list of MIME types into image and non-image ones.
2456         
2457         * WebView/WebHTMLView.m:
2458         (+[WebHTMLView supportedImageMIMETypes]):
2459         (+[WebHTMLView supportedNonImageMIMETypes]):
2460         New functions which call down to WebHTMLRepresentation.
2461         
2462         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2463         If the image element comes from an ImageDocument, just use an archive of the main resource
2464         instead of the generated HTML document.
2465         
2466         * WebView/WebHTMLViewPrivate.h:
2467         Declare new functions.
2468         
2469         * WebView/WebImageRepresentation.h: Removed.
2470         * WebView/WebImageRepresentation.m: Removed.
2471         * WebView/WebImageView.h: Removed.
2472         * WebView/WebImageView.m: Removed.
2473         
2474 2006-05-15  Tim Omernick  <timo@apple.com>
2475
2476         Reviewed by John Sullivan.
2477
2478         Part of <rdar://problem/4466508> Add 64-bit support to the Netscape Plugin API
2479
2480         Added to the Netscape Plugin API the concept of "plugin drawing models".  The drawing model
2481         determines the kind of graphics context created by the browser for the plugin, as well as 
2482         the Mac types of various Netscape Plugin API data structures.
2483
2484         There is a drawing model to represent the old QuickDraw-based API.  It is used by default
2485         if QuickDraw is available on the system, unless the plugin specifies another drawing model.
2486
2487         The big change is the addition of the CoreGraphics drawing model.  A plugin may request this
2488         drawing model to obtain access to a CGContextRef for drawing, instead of a QuickDraw CGrafPtr.
2489
2490         * Plugins/WebBaseNetscapePluginView.h:
2491         Added PluginPort union, which wraps a NP_Port and a NP_CGContext.  This is to make access to
2492         the nPort and lastSetPort ivars more convenient now that the port type differs based on the 
2493         drawing model.
2494         Changed types of nPort and lastSetPort to PluginPort so they can be used with any drawing model.
2495         Added drawingModel ivar.
2496         * Plugins/WebBaseNetscapePluginView.m:
2497         Renamed PortState to PortState_QD.  PortState is now an opaque pointer.  PortState_QD cannot be
2498         used if QuickDraw is unavailable.
2499         (-[WebBaseNetscapePluginView fixWindowPort]):
2500         Cannot be used if QuickDraw is unavailable.
2501         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2502         Only fix window port if drawing model is QuickDraw.
2503         Re-ordered some code so I could group QuickDraw-specific stuff into switch and if blocks (that's
2504         why the diff here is so terrible).
2505         Now returns a malloc()'ed PortState that the caller is responsible for freeing.  Renamed to
2506         better reflect this behavior.
2507         Support for the CoreGraphics drawing model -- fill PortState_CG struct, save CGContext state.
2508         (-[WebBaseNetscapePluginView restorePortState:]):
2509         Switch based on drawing model.
2510         Support for the CoreGraphics drawing model -- restore CGContext state saved earlier.
2511         (-[WebBaseNetscapePluginView sendEvent:]):
2512         Formatting.
2513         Don't set save/set port state or set the window in CoreGraphics mode unless the event being
2514         sent is an updateEvt.  We can't provide the plugin with a CGContext outside of our view display
2515         cycle.
2516         Don't restore PortState if it's NULL (didn't used to be a pointer).  Free when we're done with it.
2517         (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]):
2518         Formatting.
2519         Switch how we compare ports based on the drawing model.
2520         (-[WebBaseNetscapePluginView updateAndSetWindow]):
2521         Fixed for CoreGraphics by triggering a redisplay instead of sending an update event to the plugin
2522         outside of the view display cycle.
2523         Don't restore PortState if it's NULL (didn't used to be a pointer).  Free when we're done with it.
2524         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
2525         Assert that the window is only set when updating in CoreGraphics mode.
2526         Log differently depending on the drawing model.
2527         (-[WebBaseNetscapePluginView start]):
2528         Fall back on QuickDraw if the plugin does not specify a drawing model.
2529         (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
2530         Cannot be used if QuickDraw is unavailable.
2531         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
2532         Only call -tellQuickTimeToChill in QuickDraw mode.
2533         (-[WebBaseNetscapePluginView viewHasMoved:]):
2534         ditto
2535         (-[WebBaseNetscapePluginView invalidateRegion:]):
2536         NPRegion is a CGPathRef in CoreGraphics mode.
2537         (-[WebBaseNetscapePluginView getVariable:value:]):
2538         Added support for retriveing the NPNVpluginDrawingModel, NPNVsupportsQuickDrawBool, and
2539         NPNVsupportsCoreGraphicsBool browser variables.
2540         (-[WebBaseNetscapePluginView setVariable:value:]):
2541         Added support for setting the NPNVpluginDrawingModel variable.
2542
2543 2006-05-15  Tim Omernick  <timo@apple.com>
2544
2545         Reviewed by Kevin Decker.
2546
2547         Follow-up to my previous PLT fix.  I found upon further testing (by dramatically decreasing the
2548         allowed display rate) that +_webkit_displayThrottledWindows did not always force a display when
2549         necessary.  The reason is that I was not giving a proper timeout to CFRunLoopRunInMode().  I was
2550         passing 0, which was causing only "expired" timers to fire.  This method is actually supposed to
2551         block until all currently scheduled display timers fire.
2552
2553         I tested this change and found that it did not affect my PLT times when the display rate was
2554         capped to 60 fps.  It also behaves as expected when the display rate is set much lower (say, 1
2555         display per second); my previous fix did not work well at such display rates.
2556
2557         * Misc/WebNSWindowExtras.m:
2558         (+[NSWindow _webkit_displayThrottledWindows]):
2559         Run the runloop for an amount of time equal to the minimum allowed interval between displays.
2560         This ensures that we'll block until all currently scheduled display timers fire (but we won't
2561         block for future display timers).
2562
2563 2006-05-15  John Sullivan  <sullivan@apple.com>
2564
2565         Reviewed by Tim Omernick.
2566         
2567         - followup to previous fix; I hadn't tested quitting adequately
2568
2569         * WebView/WebHTMLView.m:
2570         (-[WebHTMLView dealloc]):
2571         call removeAllToolTips before clearing _private so that removeTrackingRect: override can work 
2572         properly. Normally removeAllToolTips would be called by super, but that's too late.
2573         (-[WebHTMLView finalize]):
2574         ditto
2575
2576 2006-05-15  John Sullivan  <sullivan@apple.com>
2577
2578         Reviewed by Darin.
2579         
2580         - fixed <rdar://problem/4503016> TOT assertion failure in -[WebHTMLView(WebPrivate) removeTrackingRect:]
2581         
2582         We have some tricky code to deal with tracking rects, which succumbed to a fix in AppKit. Updated our
2583         tricky code to work with the AppKit fix.
2584
2585         * WebView/WebHTMLViewInternal.h:
2586         new instance variable lastToolTipTag
2587         
2588         * WebView/WebHTMLView.m:
2589         (-[WebHTMLView removeTrackingRect:]):
2590         handle removing lastToolTipTag by calling super
2591         (-[WebHTMLView _setToolTip:]):
2592         save tool tip tag in lastToolTipTag; this apparently used to always return 0, so we formerly had no way
2593         to distinguish it from the no-tool-tips-yet case.
2594
2595         * WebKit.xcodeproj/project.pbxproj:
2596         Xcode removed some old cruft
2597
2598 2006-05-15  Tim Omernick  <timo@apple.com>
2599
2600         Reviewed by Darin.
2601
2602         Safari's Page Load Test (PLT) saturates the runloop with so many sources that timers are not allowed to fire 
2603         as frequently as they should.  This is a general problem with the PLT -- because of this, it does not measure
2604         work done in timer callbacks during/after the page load process.
2605
2606         Unfortunately, this aspect of the PLT interferes with our window display throttle hack.  Because we throttle
2607         display using timers, and the PLT starves timers, most of the pages loaded by the PLT do not actually display.
2608         This makes the PLT run "too fast", yielding ridiculously fast numbers compared to when throttling is disabled.
2609
2610         I've added a new method that the PLT can call after each page load to force any starved display throttle timers
2611         to fire.  By doing this, Safari's PLT will be guaranteed to display each page at least once.
2612
2613         * Misc/WebNSWindowExtras.h:
2614         * Misc/WebNSWindowExtras.m:
2615         Added a special internal runloop mode for the throttle timers.
2616         (+[NSWindow _webkit_displayThrottledWindows]):
2617         Run the runloop in our special internal mode until there are no more sources to handle.
2618         (requestWindowDisplay):
2619         Schedule the timer in the new mode as well as the standard modes.
2620         
2621 2006-05-15  Anders Carlsson  <acarlsson@apple.com>
2622
2623         Reviewed by Maciej.
2624
2625         http://bugzilla.opendarwin.org/show_bug.cgi?id=8913
2626         REGRESSION: Can view source for text files
2627
2628         * WebView/WebDocumentPrivate.h:
2629         Add canSaveAsWebArchive.
2630         
2631         * WebView/WebHTMLRepresentation.m:
2632         (-[WebHTMLRepresentation canProvideDocumentSource]):
2633         Call the bridge.
2634         
2635         (-[WebHTMLRepresentation canSaveAsWebArchive]):
2636         New function. This will be used in Safari ToT to determine if a page can be saved as an archive.
2637
2638 2006-05-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2639
2640         Reviewed by Darin.
2641
2642         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8739
2643           Crash in RenderTableSection::paint due to manipulating DOM on resize
2644
2645         Manual test: manual-tests/dom-manipulation-on-resize.html
2646
2647         * WebView/WebHTMLView.m:
2648         (-[NSArray layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Relayout if necessary
2649         after sending the resize event.
2650
2651 2006-05-12  Maciej Stachowiak  <mjs@apple.com>
2652
2653         Reviewed by Brady.
2654         
2655         http://bugzilla.opendarwin.org/show_bug.cgi?id=8876
2656         - move most private WebDataSource methods to uninstalled header
2657         
2658         I put the declarations for the ones only used in WebKit in WebDataSourceInternal.h
2659         and removed two entirey unused ones.
2660
2661         * Plugins/WebNetscapePluginRepresentation.m:
2662         * Plugins/WebNetscapePluginStream.m:
2663         * Plugins/WebPluginController.m:
2664         * Plugins/WebPluginDocumentView.m:
2665         * WebCoreSupport/WebFrameBridge.m:
2666         (-[WebFrameBridge dataSource]):
2667         * WebCoreSupport/WebSubresourceLoader.m:
2668         * WebKit.xcodeproj/project.pbxproj:
2669         * WebView/WebDataSource.m:
2670         (-[WebDataSource _updateIconDatabaseWithURL:]):
2671         (-[WebDataSource _loadIcon]):
2672         (-[WebDataSource _clearErrors]):
2673         (-[WebDataSource _commitLoadWithData:]):
2674         (-[WebDataSource _doesProgressiveLoadWithMIMEType:]):
2675         (-[WebDataSource _addResponse:]):
2676         * WebView/WebDataSourceInternal.h: Added.
2677         * WebView/WebDataSourcePrivate.h:
2678         * WebView/WebFrame.m:
2679         * WebView/WebHTMLRepresentation.m:
2680         * WebView/WebHTMLView.m:
2681         * WebView/WebImageView.m:
2682         * WebView/WebLoader.m:
2683         * WebView/WebMainResourceLoader.m:
2684         * WebView/WebPDFView.m:
2685         * WebView/WebRenderNode.m:
2686         * WebView/WebView.m:
2687
2688 2006-05-12  Tim Omernick  <timo@apple.com>
2689
2690         Reviewed by John Sullivan.
2691
2692         <rdar://problem/4542808> REGRESSION: benchjs test 1 has slowed by over 150% (8740)
2693         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8740>
2694
2695         Improvement to my NSWindow display throttle hack.  Remember the last flush time instead of the last display time.
2696         Our goal is to never draw less than 1/60th of a second after the window is flushed in order to avoid blocking on
2697         a CG coalesced update.  Using the last display time is close, but this is much more accurate.  I have verified that
2698         this further improves our score on BenchJS Test 1 (by 9.8% with the status bar shown compared to the previous build),
2699         as well as on our internal PLT scores by a smaller percentage.
2700
2701         * Misc/WebNSWindowExtras.m:
2702         Renamed lastDisplayTime to lastFlushTime.
2703         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
2704         Replace -[NSWindow flushWindow] with our own implementation.
2705         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
2706         Restore -[NSWindow flushWindow].
2707         (replacementFlushWindow):
2708         Use the last flush time instead of the last display time.
2709         (getWindowDisplayInfo):
2710         Renamed lastDisplayTime to lastFlushTime.
2711         (requestWindowDisplay):
2712         Moved some code to replacementFlushWindow().
2713
2714 2006-05-11  Timothy Hatcher  <timothy@apple.com>
2715
2716         Reviewed by Darin.
2717
2718         Bug 8856: Web Inspector should show the Xpath for the selected node
2719         http://bugzilla.opendarwin.org/show_bug.cgi?id=8856
2720         
2721         Adds an Xpath area to the Node panel.
2722
2723         * WebInspector/webInspector/inspector.css:
2724         * WebInspector/webInspector/inspector.html:
2725         * WebInspector/webInspector/inspector.js:
2726
2727 2006-05-11  Timothy Hatcher  <timothy@apple.com>
2728
2729         Reviewed by Anders.
2730
2731         Fixes <rdar://problem/4411845> lots of SPOD trying to scroll through
2732         Markup & Content inspecting body at apple.com (6614)
2733         http://bugzilla.opendarwin.org/show_bug.cgi?id=6614
2734
2735         Removed the Markup & Content pane when viewing a element.
2736         This pane was not that useful and made the inspector really slow
2737         when the markup was large. Only show this pane for text nodes.
2738
2739         * WebInspector/webInspector/inspector.css: use -webkit prefix
2740         * WebInspector/webInspector/inspector.html:
2741         * WebInspector/webInspector/inspector.js:
2742
2743 2006-05-11  Sam Weinig  <sam.weinig@gmail.com>
2744
2745         Reviewed by Timothy.
2746
2747         Patch for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8810>
2748         Bug 8810: Scrollbars in WebInspector rendered incorrectly
2749
2750         * WebInspector/webInspector/inspector.css: 
2751         Make scroll bars absolutely positioned.
2752
2753 2006-05-10  Tim Omernick  <timo@apple.com>
2754
2755         Reviewed by Darin.
2756
2757         <rdar://problem/4542808> REGRESSION: benchjs test 1 has slowed by over 150% (8740)
2758         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8740>
2759
2760         * Misc/WebNSWindowExtras.h:
2761         * Misc/WebNSWindowExtras.m:
2762         (+[NSWindow _webkit_enableWindowDisplayThrottle]):
2763         Overrides certain NSWindow methods so that window autodisplay can be throttled to 60Hz.
2764
2765         (disableWindowDisplayThrottleApplierFunction):
2766         CFDictionary applier function for when the throttle is disabled.  Cancels all pending window displays,
2767         and calls -displayIfNeeded on each window with a pending display.
2768
2769         (+[NSWindow _webkit_disableWindowDisplayThrottle]):
2770         Restores default NSWindow method implementations and clears pending window displays.
2771
2772         (swizzleInstanceMethod):
2773         Helper function to swizzle ObjC method implementations.
2774
2775         (replacementPostWindowNeedsDisplay):
2776         Don't call into -[NSWindow _postWindowNeedsDisplay] if requestWindowDisplay() returns NO (this is the
2777         function that throttles display).
2778
2779         (replacementClose):
2780         Clean up the WindowDisplayInfo struct for the window, since it's about to go away.
2781
2782         (getWindowDisplayInfo):
2783         Gets the WindowDisplayInfo struct for the window, or creates it if absent.
2784
2785         (requestWindowDisplay):
2786         Returns YES if a display is allowed right now.  Returns NO otherwise, and schedules a timer to try the
2787         display again.
2788
2789         (cancelPendingWindowDisplay):
2790         Cancels the pending display for the window, if any.
2791
2792         (-[NSWindow _webkit_doPendingPostWindowNeedsDisplay:]):
2793         Try to call _postWindowNeedsDisplay again.
2794
2795         * WebView/WebFrameView.m:
2796         (-[WebFrameView initWithFrame:]):
2797         If the secret "WebKitThrottleWindowDisplay" default is set, then enable the NSWindow throttle.
2798
2799 2006-05-10  Anders Carlsson  <acarlsson@apple.com>
2800
2801         Reviewed by Maciej.
2802
2803         * WebView/WebHTMLView.m:
2804         (+[WebHTMLView unsupportedTextMIMETypes]):
2805         Add text/rtf
2806         
2807 2006-05-09  Levi Weintraub  <lweintraub@apple.com>
2808
2809         Reviewed by justin.
2810
2811         <rdar://problem/4442395>
2812         Tiny MCE: Link isn't inserted after dragging into textarea field
2813         
2814         * WebView/WebHTMLView.m:
2815         (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]):
2816         Modified to create an anchor object with a title as opposed to just the URL as text.
2817
2818 2006-05-09  Tim Omernick  <timo@apple.com>
2819
2820         Reviewed by Dave Harrison.
2821
2822         <rdar://problem/4523432> safari crashed right after disabling "block pop up windows" (or
2823         other WebPreferences changes)
2824
2825         * Plugins/WebBaseNetscapePluginView.m:
2826         (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]):
2827         When the plugin view is removed from both its window and its hostWindow, stop observing
2828         WebPreferences.
2829
2830 2006-05-09  Anders Carlsson  <acarlsson@apple.com>
2831
2832         Reviewed by Darin.
2833
2834         http://bugzilla.opendarwin.org/show_bug.cgi?id=8808
2835         WebCore should handle text files
2836
2837         * WebKit.exp:
2838         Remove WebTextView.
2839         
2840         * WebKit.xcodeproj/project.pbxproj:
2841         Get rid of WebTextView and WebTextRepresentation.
2842         
2843         * WebView/WebDataSource.m:
2844         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
2845         * WebView/WebFrameView.m:
2846         (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
2847         * WebView/WebHTMLView.m:
2848         The text MIME types are now handled by WebHTMLView.
2849         
2850         (+[WebHTMLView unsupportedTextMIMETypes]):
2851         New function, moved here from WebTextView.
2852         
2853         * WebView/WebHTMLViewPrivate.h:
2854         * WebView/WebTextRepresentation.h: Removed.
2855         * WebView/WebTextRepresentation.m: Removed.
2856         * WebView/WebTextView.h: Removed.
2857         * WebView/WebTextView.m: Removed.
2858         
2859         * WebView/WebView.m:
2860         (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
2861         Now special-case WebHTMLView instead of WebTextView for MIME types
2862         that shouldn't be shown.
2863
2864 2006-05-09  Maciej Stachowiak  <mjs@apple.com>
2865
2866         Rubber stamped by Anders.
2867         
2868         - renamed kxmlcore to wtf
2869         
2870         kxmlcore --> wtf
2871         KXMLCore --> WTF
2872         KXC --> WTF
2873
2874         * Misc/WebKitLogging.h:
2875         * Misc/WebKitLogging.m:
2876         (initializeLogChannel):
2877
2878 2006-05-09  Timothy Hatcher  <timothy@apple.com>
2879
2880         Reviewed by Anders.
2881
2882         Bug 8804: Inspector should support searching by Xpath query
2883         http://bugzilla.opendarwin.org/show_bug.cgi?id=8804
2884
2885         * WebInspector/WebInspector.m:
2886         (-[WebInspector _refreshSearch]):
2887         * WebInspector/webInspector/inspector.js:
2888
2889 2006-05-08  Maciej Stachowiak  <mjs@apple.com>
2890
2891         Reviewed by Tim Hatcher.
2892         
2893         - refactor things so that WebKit doesn't save a WebResource for every loaded URL,
2894         but rather retrieves the data from the WebCore cache as needed.
2895         http://bugzilla.opendarwin.org/show_bug.cgi?id=8802
2896
2897         * WebCoreSupport/WebFrameBridge.m:
2898         (-[WebFrameBridge objectLoadedFromCacheWithURL:response:data:]):
2899         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2900         * WebCoreSupport/WebSubresourceLoader.m:
2901         (-[WebSubresourceLoader didReceiveResponse:]):
2902         * WebView/WebDataSource.m:
2903         (-[WebDataSourcePrivate dealloc]):
2904         (-[WebDataSource _setupForReplaceByMIMEType:]):
2905         (-[WebDataSource _archivedSubresourceForURL:]):
2906         (-[WebDataSource initWithRequest:]):
2907         (-[WebDataSource subresources]):
2908         (-[WebDataSource subresourceForURL:]):
2909         (-[WebDataSource addSubresource:]):
2910         * WebView/WebDataSourcePrivate.h:
2911         * WebView/WebFrame.m:
2912         * WebView/WebFrameInternal.h:
2913         * WebView/WebHTMLView.m:
2914         * WebView/WebLoader.h:
2915         * WebView/WebLoader.m:
2916         (-[NSURLProtocol loadWithRequest:]):
2917         (-[NSURLProtocol didFinishLoading]):
2918         * WebView/WebUnarchivingState.h:
2919         * WebView/WebUnarchivingState.m:
2920         (-[WebUnarchivingState addResource:]):
2921
2922 2006-05-04  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2923
2924         Reviewed by Darin.
2925
2926         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8594
2927           REGRESSION: Exception on closing a page containing (just) an mp3
2928
2929         Test: plugins/pluginDocumentView-deallocated-dataSource.html
2930
2931         * Plugins/WebPluginDocumentView.m:
2932         (-[WebPluginDocumentView dealloc]): Release the dataSource.
2933         (-[WebPluginDocumentView setDataSource:]): Retain the dataSource.
2934
2935 2006-05-04  Tim Omernick  <timo@apple.com>
2936
2937         Reviewed by Darin.
2938
2939         <rdar://problem/4537606> Give Java WebKit plugin access to its own DOM element
2940
2941         * WebCoreSupport/WebFrameBridge.m:
2942         (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
2943         Pass the DOMElement to the plugin if it's a WebKit plugin (we need to handle Netscape plugins
2944         differently).
2945
2946 2006-05-04  Tim Omernick  <timo@apple.com>
2947
2948         Reviewed by John Sullivan.
2949
2950         <rdar://problem/4480186> Give WebKit plugins access to their own DOM element
2951
2952         This does not fix <rdar://problem/4480187> Give Netscape plugins access to their own DOM element --
2953         we're not going to use the ObjC DOM API for that, but rather the NP bindings API.
2954
2955         * Plugins/WebPluginPackage.m:
2956         Declared WebPlugInContainingElementKey.  This is not a new plugin argument -- it's been in our public
2957         headers since all along, but has never been concretely declared -- plugins that referenced it would not
2958         link.
2959
2960         * WebCoreSupport/WebFrameBridge.m:
2961         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:]):
2962         Added DOMElement parameter, which is now included in the plugin arguments dictionary.
2963         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:]):
2964         ditto
2965
2966         * WebKit.exp:
2967         Export WebPlugInContainingElementKey.
2968
2969 2006-05-02  Darin Adler  <darin@apple.com>
2970
2971         Reviewed by Eric.
2972
2973         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8677
2974           REGRESSION: wkSetUpFontCache() may be called before the SPIs are connected.
2975
2976         I don't know how reproduce this without one of Rosyna's hacks installed, so I
2977         did not include a test.
2978
2979         * Misc/WebStringTruncator.m: (+[WebStringTruncator initialize]): Add call to
2980         InitWebCoreSystemInterface.
2981
2982         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Add a boolean
2983         so we will only do this one time.
2984
2985 2006-05-02  Adele Peterson  <adele@apple.com>
2986
2987         Reviewed by Tim O.
2988
2989         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6988
2990         REGRESSION: Display correct context menus for new text fields
2991
2992         * WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]):
2993         Don't let the UI delegate have control over the context menu for text fields.
2994
2995 2006-05-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2996
2997         Reviewed by Darin.
2998
2999         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8658
3000           Assertion failure in -[WebPluginContainerCheck _isForbiddenFileLoad]
3001           (bridge is null) when clicking QuickTime object with href
3002
3003         * WebView/WebHTMLView.m:
3004        (-[WebHTMLView setDataSource:]): Set the pluginController's dataSource.
3005
3006 2006-05-01  Maciej Stachowiak  <mjs@apple.com>
3007
3008         - fix build
3009
3010         * WebKit.exp: Add symbol that the new Safari will need.
3011
3012 2006-05-01  John Sullivan  <sullivan@apple.com>
3013
3014         Reviewed by Tim Omernick.
3015         
3016         - fixed <rdar://problem/3126419> history load enforces history limit, but deletes the newest instead of oldest items
3017         - added notification reporting items discarded during load because the age limit or item count limit is exceeded
3018         - a few other minor tweaks
3019
3020         * History/WebHistory.h:
3021         fixed a typo and an incorrect method name
3022         
3023         * History/WebHistoryPrivate.h:
3024         Added declaration of WebHistoryItemsDiscardedWhileLoadingNotification. Also changed signature of
3025         WebHistoryPrivate method -loadFromURL:error: to have new collectDiscardedItemsInto: parameter.
3026         Also deleted declarations of two methods that didn't actually exist (loadHistory and initWithFile:), 
3027         and added comments about which methods should become public API, WebKit-internal, or file-internal.
3028
3029         * History/WebHistory.m:
3030         (-[WebHistoryPrivate arrayRepresentation]):
3031         This method, called only by _saveHistoryGuts:, used to deliberately leave out items that violated
3032         either the age limit or the item count limit. Now all the items are included (and thus saved), and
3033         all the pruning is done at load time, so clients can keep track of the pruned items by observing
3034         the new WebHistoryItemsDiscardedWhileLoadingNotification
3035         (-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
3036         Now keeps track of all the items that violated the age limit or item count limit in the new
3037         collectedDiscardedItemsInto: parameter. Also, now processes items in forward order rather than
3038         reverse order to fix 3126419. Now uses compare: rather than _webkit_compareDay: to check against
3039         age limit; this is faster and also more correct (most noticeable with small age limits).
3040         (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]):
3041         new collectDiscardedItemsInto: parameter, passed into _loadHistoryGuts:...
3042         (-[WebHistory loadFromURL:error:]):
3043         Now sends new WebHistoryItemsDiscardedWhileLoadingNotification if any items were discarded due
3044         to age limit or item count limit.
3045         
3046         * WebKit.exp:
3047         exported symbol for WebHistoryItemsDiscardedWhileLoadingNotification
3048
3049 2006-04-29  Timothy Hatcher  <timothy@apple.com>
3050
3051         Reviewed by Maciej.
3052
3053         Bug 8577: [TabBarView _web_superviewOfClass:stoppingAtClass:]
3054         http://bugzilla.opendarwin.org/show_bug.cgi?id=8577
3055
3056         Added back _web_superviewOfClass:stoppingAtClass:.
3057         This method was removed in r14032 (bug 8562), but Safari 2.0 still uses it.
3058         We should remove this method once Open Source users have a new version
3059         to use with TOT WebKit.
3060
3061         * Misc/WebNSViewExtras.m:
3062         (-[NSView _web_superviewOfClass:stoppingAtClass:]):
3063
3064 2006-04-28  David Hyatt  <hyatt@apple.com>
3065
3066         Double the cache size to account for our revised (more accurate)
3067         measurement of the image buffers.
3068
3069         Reviewed by darin
3070
3071         * WebView/WebPreferences.m:
3072         (+[WebPreferences initialize]):
3073
3074 2006-04-28  David Hyatt  <hyatt@apple.com>
3075
3076         Fix for 8586, move WebTextRenderer into WebCore.
3077
3078         Reviewed by darin
3079
3080         * Misc/WebKitNSStringExtras.m:
3081         (-[NSString _web_drawAtPoint:font:textColor:]):
3082         (-[NSString _web_widthWithFont:]):
3083         * Misc/WebStringTruncator.m:
3084         (+[WebStringTruncator centerTruncateString:toWidth:]):
3085         (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
3086         (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
3087         (+[WebStringTruncator widthOfString:font:]):
3088         * WebCoreSupport/WebSystemInterface.m:
3089         (InitWebCoreSystemInterface):
3090         * WebCoreSupport/WebTextRenderer.h: Removed.
3091         * WebCoreSupport/WebTextRenderer.m: Removed.
3092         * WebCoreSupport/WebTextRendererFactory.h: Removed.
3093         * WebCoreSupport/WebTextRendererFactory.m: Removed.
3094         * WebKit.xcodeproj/project.pbxproj:
3095         * WebView/WebFrameView.m:
3096         (-[WebFrameView initWithFrame:]):
3097         * WebView/WebHTMLView.m:
3098         (-[NSArray _addToStyle:fontA:fontB:]):
3099         * WebView/WebTextView.m:
3100         (-[WebTextView setFixedWidthFont]):
3101         * WebView/WebView.m:
3102         (+[WebView _setAlwaysUseATSU:]):
3103         (+[WebView _setShouldUseFontSmoothing:]):
3104         (+[WebView _shouldUseFontSmoothing]):
3105
3106 2006-04-28  Eric Seidel  <eseidel@apple.com>
3107
3108         Reviewed by darin.
3109
3110         Misc. style cleanup.
3111         http://bugzilla.opendarwin.org/show_bug.cgi?id=8643
3112
3113         * Misc/WebIconDatabase.m:
3114         (-[NSMutableDictionary iconForURL:withSize:cache:]):
3115         (-[NSMutableDictionary iconURLForURL:]):
3116         (-[NSMutableDictionary retainIconForURL:]):
3117         (-[NSMutableDictionary releaseIconForURL:]):
3118         (-[WebIconDatabase _setIcon:forIconURL:]):
3119         (-[WebIconDatabase _iconsForIconURLString:]):
3120         (-[WebIconDatabase _forgetIconForIconURLString:]):
3121         (-[WebIconDatabase _releaseIconForIconURLString:]):
3122         (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
3123         * Plugins/WebBasePluginPackage.m:
3124         (+[WebBasePluginPackage pluginWithPath:]):
3125         (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]):
3126         (-[WebBasePluginPackage initWithPath:]):
3127         (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]):
3128         (-[WebBasePluginPackage pListForPath:createFile:]):
3129         (-[WebBasePluginPackage getPluginInfoFromPLists]):
3130         (-[WebBasePluginPackage load]):
3131         (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):
3132         (-[WebBasePluginPackage isNativeLibraryData:]):
3133         (-[NSArray _web_lowercaseStrings]):
3134         * Plugins/WebNetscapePluginPackage.m:
3135         (-[WebNetscapePluginPackage openResourceFile]):
3136         (-[WebNetscapePluginPackage closeResourceFile:]):
3137         (-[WebNetscapePluginPackage stringForStringListID:andIndex:]):
3138         (-[WebNetscapePluginPackage getPluginInfoFromResources]):
3139         (-[WebNetscapePluginPackage initWithPath:]):
3140         (-[WebNetscapePluginPackage executableType]):
3141         (-[WebNetscapePluginPackage unloadWithoutShutdown]):
3142         (-[WebNetscapePluginPackage load]):
3143         (-[WebNetscapePluginPackage unload]):
3144         * Plugins/WebNetscapePluginRepresentation.m:
3145         (-[WebNetscapePluginRepresentation redeliverStream]):
3146         * Plugins/WebPluginDatabase.m:
3147         (+[WebPluginDatabase installedPlugins]):
3148         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
3149         (-[WebPluginDatabase pluginForExtension:]):
3150         (pluginLocations):
3151         (-[WebPluginDatabase init]):
3152         (-[WebPluginDatabase refresh]):
3153         * Plugins/npapi.m:
3154         (NPN_MemAlloc):
3155         (NPN_MemFree):
3156         (pluginViewForInstance):
3157         * WebCoreSupport/WebSubresourceLoader.m:
3158         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
3159         (-[WebSubresourceLoader willSendRequest:redirectResponse:]):
3160         * WebView/WebDataSource.m:
3161         (-[WebDataSource isLoading]):
3162         * WebView/WebFrame.m:
3163         (-[WebFrame _loadDataSource:withLoadType:formState:]):
3164         (-[WebFrame _subframeIsLoading]):
3165         * WebView/WebView.m:
3166         (-[WebView initWithFrame:]):
3167         (-[WebView initWithFrame:frameName:groupName:]):
3168
3169 2006-04-26  Tim Omernick  <timo@apple.com>
3170
3171         Reviewed by Geoff.
3172
3173         <rdar://problem/4525105> Repro TOT crash in [WebBaseNetscapePluginView dealloc] at coachella.com
3174         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8564> crashed when closing a tab
3175
3176         * WebView/WebFrame.m:
3177         (-[WebFramePrivate dealloc]):
3178         Assert that plugInViews has been released.
3179         (-[WebFrame _addPlugInView:]):
3180         New method.  Adds the plug-in view to the plugInViews set and calls -setWebFrame: on it.
3181         (-[WebFrame _removeAllPlugInViews]):
3182         New method.  Calls -setWebFrame:nil on all plug-in views and releases the plugInViews set.
3183         (-[WebFrame _willCloseURL]):
3184         New method.  Dispose of plug-in views when leaving a page (or closing the WebView).
3185
3186         * WebView/WebFrameInternal.h:
3187         Declared -_addPlugInView:, -_removeAllPlugInViews, -_willCloseURL
3188
3189         * WebCoreSupport/WebFrameBridge.m:
3190         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
3191         Call -[WebFrame _addPlugInView:] instead of directly setting plug-in views' frames.  This
3192         allows us to keep track of them so that we can explicitly dispose of them when leaving the page.
3193         (-[WebFrameBridge closeURL]):
3194         Override -[WebCoreFrameBridge closeURL] so that we can perform our own teardown when leaving
3195         a page or closing the WebView.
3196
3197         * Plugins/WebBaseNetscapePluginView.h:
3198         Declared -stop so that subclass WebNetscapePluginEmbeddedView can call it.
3199
3200         * Plugins/WebNetscapePluginEmbeddedView.m:
3201         (-[WebNetscapePluginEmbeddedView setWebFrame:]):
3202         Stop the plug-in when it is removed from its WebFrame.
3203
3204 2006-04-25  Tim Omernick  <timo@apple.com>
3205
3206         Reviewed by John Sullivan.
3207
3208         <rdar://problem/4472035> SPI that checks for URL policy fails in plugin documents
3209
3210         * Plugins/WebPluginController.h:
3211         * Plugins/WebPluginController.m:
3212         (-[WebPluginController URLPolicyCheckReferrer]):
3213         New method.  Get the referrer from the frame's data source's NSURLResponse.  Note that for
3214         document types loaded by WebCore, this URL is the same as -[WebCorePageBridge referrer],
3215         since the response URL is what we pass to -[WebCorePageBridge openURL:].
3216
3217         * Plugins/WebPluginContainerCheck.m:
3218         (-[WebPluginContainerCheck _isForbiddenFileLoad]):
3219         Use the WebPluginController's -URLPolicyCheckReferrer instead of assuming that the bridge's
3220         -referrer is valid.  -[WebCorePageBridge referrer] is only set during the normal WebCore page
3221         load process, which has nothing to do with loading standalone plugin documents.
3222
3223 2006-04-25  Tim Omernick  <timo@apple.com>
3224
3225         Reviewed by Eric.
3226
3227         <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc]
3228         running layout tests
3229
3230         * Plugins/WebPluginPackage.m:
3231         (-[WebPluginPackage unload]):
3232         Clear isLoaded here.  It turns out that only WebNetscapePluginPackage cleared its isLoaded
3233         flag in -unload.  We need to also do it here, because the superclass (WebBasePluginPackage)
3234         asserts in -dealloc that -unload has been called.
3235
3236 2006-04-25  Tim Omernick  <timo@apple.com>
3237
3238         Reviewed by Eric.
3239
3240         <rdar://problem/4526120> -[WebBasePluginPackage finalize] leaks the CFBundle (under GC only)
3241
3242         * Plugins/WebBasePluginPackage.m:
3243         (-[WebBasePluginPackage finalize]):
3244         Release the CFBundle here.
3245
3246 2006-04-25  Tim Omernick  <timo@apple.com>
3247
3248         Reviewed by Geoff.
3249
3250         <rdar://problem/4472037>
3251         
3252         Private extensions to the WebPlugin interface.  A plugin may implement these methods to receive loading callbacks
3253         for its main resource.  Plug-ins that implement this SPI show better loading progress in the browser, can be saved
3254         to disk, and are more efficient by avoiding making duplicate GET or POST requests for the plug-in's main resource.
3255
3256         I want to provide a solid API for plug-in networking, but time constraints require that I first provide this simple
3257         SPI for internal clients.
3258
3259         * Plugins/WebPluginViewFactoryPrivate.h:
3260         Added a new plugin argument, WebPlugInShouldLoadMainResourceKey.  If YES, the plugin is responsible
3261         for loading its own content.  If NO, the plugin should wait for WebKit to send it the data via the
3262         new request-sharing SPI.
3263
3264         * Plugins/WebPluginPrivate.h: Added.
3265         Request-sharing SPI.  See comments in code.
3266
3267         * Plugins/WebPluginDocumentView.h:
3268         Hang onto the plugin view as an ivar so we can call the new resource loading methods on it.
3269         * Plugins/WebPluginDocumentView.m:
3270         (-[WebPluginDocumentView dealloc]):
3271         Release pluginView ivar.
3272         (-[WebPluginDocumentView setDataSource:]):
3273         Pass NO for WebPlugInShouldLoadMainResourceKey to indicate to the plugin that it should not 
3274         load its own main resource -- the data will come from WebKit.  This is only necessary for plugin
3275         documents.  By the time we create the view for a plugin document, we already have fetched some
3276         of its main resource's data.  Embedded plugins do not have this issue because WebKit is not
3277         involved in loading their content.
3278         Call -webPlugInMainResourceDidReceivResponse: on the plugin if necessary.  This lets the plugin
3279         know how much and what kind of data is going to be received.
3280         (-[WebPluginDocumentView dataSourceUpdated:]):
3281         If the plugin implements the new request-sharing SPI, don't cancel the in-progress request.
3282         (-[WebPluginDocumentView receivedData:withDataSource:]):
3283         Forward to the plugin via the new request-sharing SPI.
3284         (-[WebPluginDocumentView receivedError:withDataSource:]):
3285         ditto
3286         (-[WebPluginDocumentView finishedLoadingWithDataSource:]):
3287         ditto
3288
3289         * Plugins/WebPluginPackage.m:
3290         Added WebPlugInShouldLoadMainResourceKey, tweaked some style a bit.
3291
3292         * WebCoreSupport/WebFrameBridge.m:
3293         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]):
3294         Pass YES for WebPlugInShouldLoadMainResourceKey.  Embedded plugins must load their own data.
3295         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
3296         ditto
3297         
3298         * WebKit.xcodeproj/project.pbxproj:
3299         Added WebPluginPrivate.h
3300
3301 2006-04-24  Maciej Stachowiak  <mjs@apple.com>
3302
3303         Reviewed by Geoff.
3304         
3305         <rdar://problem/4525364> REGRESSION (yesterday?): LOG() mechanism is broken
3306         
3307         - initialize WebKit's log channels
3308
3309         * Misc/WebKitLogging.h:
3310         * Misc/WebKitLogging.m:
3311         (initializeLogChannel):
3312         (WebKitInitializeLoggingChannelsIfNecessary):
3313         * WebView/WebPreferences.m:
3314         (+[WebPreferences initialize]):
3315         * WebView/WebView.m:
3316         (-[WebView _commonInitializationWithFrameName:groupName:]):
3317
3318 2006-04-24  Maciej Stachowiak  <mjs@apple.com>
3319
3320         Build fix:
3321         
3322         - move some prematurely moved code back
3323
3324         * WebCoreSupport/WebFrameBridge.h:
3325         * WebCoreSupport/WebFrameBridge.m:
3326         (-[WebFrameBridge fini]):
3327         (-[WebFrameBridge _preferences]):
3328         (-[WebFrameBridge _retrieveKeyboardUIModeFromPreferences:]):
3329         (-[WebFrameBridge keyboardUIMode]):
3330
3331 2006-04-24  Maciej Stachowiak  <mjs@apple.com>
3332
3333         Reviewed by Darin.
3334
3335         - move more code from WebFrameBridge to WebCoreFrameBridge
3336
3337         * WebCoreSupport/WebFrameBridge.h:
3338         * WebCoreSupport/WebFrameBridge.m:
3339         (-[WebFrameBridge fini]):
3340         (-[WebFrameBridge expiresTimeForResponse:]):
3341         (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
3342         (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
3343         (-[WebFrameBridge valueForKey:keys:values:]):
3344         (-[WebFrameBridge _preferences]):
3345
3346 2006-04-24  Maciej Stachowiak  <mjs@apple.com>
3347
3348         Reviewed by Anders.
3349         
3350         - Remove use of _webSuperviewOfClass: and related
3351         http://bugzilla.opendarwin.org/show_bug.cgi?id=8562
3352         
3353         I removed all use of these, now objects get at each other via
3354         actual pointers, not using the view hierarchy. However, I left two
3355         of the calls in because other clients rely on them as SPI (ugh).
3356
3357         * History/WebHistoryItem.m:
3358         * Misc/WebNSViewExtras.h:
3359         * Misc/WebNSViewExtras.m:
3360         (-[NSView _web_superviewOfClass:]):
3361         (-[NSView _web_parentWebFrameView]):
3362         * Plugins/WebNetscapePluginDocumentView.m:
3363         (-[WebNetscapePluginDocumentView layout]):
3364         * Plugins/WebNetscapePluginEmbeddedView.h:
3365         * Plugins/WebNetscapePluginEmbeddedView.m:
3366         (-[WebNetscapePluginEmbeddedView setWebFrame:]):
3367         (-[WebNetscapePluginEmbeddedView dataSource]):
3368         * Plugins/WebNullPluginView.h:
3369         * Plugins/WebNullPluginView.m:
3370         (-[WebNullPluginView setWebFrame:]):
3371         (-[WebNullPluginView viewDidMoveToWindow]):
3372         * Plugins/WebPluginController.h:
3373         * Plugins/WebPluginController.m:
3374         (-[WebPluginController setDataSource:]):
3375         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
3376         (-[WebPluginController webPlugInContainerShowStatus:]):
3377         (-[WebPluginController webPlugInContainerSelectionColor]):
3378         (-[WebPluginController webFrame]):
3379         * Plugins/WebPluginDocumentView.h:
3380         * Plugins/WebPluginDocumentView.m:
3381         (-[WebPluginDocumentView setDataSource:]):
3382         (-[WebPluginDocumentView layout]):
3383         (-[WebPluginDocumentView currentWindow]):
3384         (-[WebPluginDocumentView viewWillMoveToWindow:]):
3385         * WebCoreSupport/WebFrameBridge.m:
3386         (-[WebFrameBridge formControlIsBecomingFirstResponder:]):
3387         (-[WebFrameBridge formControlIsResigningFirstResponder:]):
3388         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
3389         * WebCoreSupport/WebViewFactory.m:
3390         (-[WebViewFactory bridgeForView:]):
3391         * WebView/WebClipView.m:
3392         (-[NSView initWithFrame:]):
3393         * WebView/WebFrameView.m:
3394         (-[WebFrameView _shouldDrawBorder]):
3395         (-[WebFrameView webCoreBridge]):
3396         * WebView/WebHTMLView.m:
3397         (-[WebTextCompleteController dealloc]):
3398         (-[WebHTMLView _dataSource]):
3399         (-[WebHTMLView _bridge]):
3400         (-[WebHTMLView _webView]):
3401         (-[WebHTMLView _frameView]):
3402         (-[WebHTMLView _web_firstResponderCausesFocusDisplay]):
3403         (-[NSArray becomeFirstResponder]):
3404         (-[NSArray setDataSource:]):
3405         (-[NSArray pageUp:]):
3406         (-[NSArray pageDown:]):
3407         (-[NSArray pageUpAndModifySelection:]):
3408         (-[NSArray pageDownAndModifySelection:]):
3409         (-[WebHTMLView _frame]):
3410         * WebView/WebHTMLViewInternal.h:
3411         * WebView/WebImageView.h:
3412         * WebView/WebImageView.m:
3413         (-[WebImageView drawRect:]):
3414         (-[WebImageView adjustFrameSize]):
3415         (-[WebImageView setDataSource:]):
3416         (-[WebImageView webView]):
3417         (-[WebImageView writeImageToPasteboard:types:]):
3418         (-[WebImageView copy:]):
3419         (-[WebImageView elementAtPoint:]):
3420         (-[WebImageView mouseDragged:]):
3421         * WebView/WebPDFView.h:
3422         * WebView/WebPDFView.m:
3423         (-[WebPDFView _applyPDFDefaults]):
3424         (-[WebPDFView _trackFirstResponder]):
3425         (-[PDFPrefUpdatingProxy forwardInvocation:]):
3426         * WebView/WebRenderNode.m:
3427         (-[WebRenderNode initWithWebFrameView:]):
3428         * WebView/WebTextView.h:
3429         * WebView/WebTextView.m:
3430         (-[WebTextView _textSizeMultiplierFromWebView]):
3431         (-[WebTextView _preferences]):
3432         (-[WebTextView setDataSource:]):
3433         (-[WebTextView _webFrame]):
3434         (-[WebTextView dragSelectionWithEvent:offset:slideBack:]):
3435         (-[WebTextView menuForEvent:]):
3436         (-[WebTextView resignFirstResponder]):
3437         (-[WebTextView drawPageBorderWithSize:]):
3438         (-[WebTextView knowsPageRange:]):
3439         * WebView/WebView.m:
3440         (-[WebView searchFor:direction:caseSensitive:wrap:]):
3441         (containingFrameView):
3442         (-[WebView _focusedFrame]):
3443         (-[WebView _frameViewAtWindowPoint:]):
3444
3445 2006-04-23  Maciej Stachowiak  <mjs@apple.com>
3446
3447         Reviewed by Darin.
3448         
3449         - push WebFileButton and WebStringTruncator code down to WebCore
3450         http://bugzilla.opendarwin.org/show_bug.cgi?id=8552
3451
3452         * Misc/WebStringTruncator.m:
3453         (+[WebStringTruncator centerTruncateString:toWidth:]):
3454         (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
3455         (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
3456         (+[WebStringTruncator widthOfString:font:]):
3457         * WebCoreSupport/WebFileButton.h: Removed.
3458         * WebCoreSupport/WebFileButton.m: Removed.
3459         * WebCoreSupport/WebFrameBridge.h:
3460         * WebCoreSupport/WebFrameBridge.m:
3461         (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
3462         * WebCoreSupport/WebViewFactory.m:
3463         (-[WebViewFactory fileButtonChooseFileLabel]):
3464         (-[WebViewFactory fileButtonNoFileSelectedLabel]):
3465         * WebKit.xcodeproj/project.pbxproj:
3466
3467 2006-04-23  Maciej Stachowiak  <mjs@apple.com>
3468
3469         Reviewed by Eric.
3470         
3471         - remove WebCookieAdapter, WebCore can just use Foundation directly.
3472
3473         * WebCoreSupport/WebCookieAdapter.h: Removed.
3474         * WebCoreSupport/WebCookieAdapter.m: Removed.
3475         * WebKit.xcodeproj/project.pbxproj:
3476         * WebView/WebFrameView.m:
3477         (-[WebFrameView initWithFrame:]):
3478
3479 2006-04-23  Maciej Stachowiak  <mjs@apple.com>
3480
3481         Reviewed by Adele.
3482         
3483         - prune WebView SPI of unused calls
3484         
3485         Specifically I moved methods that have no callers outside WebKit
3486         to WebViewInternal.h or removed them entirely.
3487
3488         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
3489         * Plugins/WebBaseNetscapePluginView.m:
3490         * Plugins/WebNetscapePluginDocumentView.m:
3491         * Plugins/WebNetscapePluginStream.m:
3492         * Plugins/WebNullPluginView.m:
3493         * Plugins/WebPluginContainerCheck.m:
3494         * Plugins/WebPluginController.m:
3495         * WebCoreSupport/WebFrameBridge.m:
3496         * WebCoreSupport/WebPageBridge.m:
3497         * WebCoreSupport/WebSubresourceLoader.m:
3498         * WebView/WebDataSource.m:
3499         * WebView/WebHTMLView.m:
3500         * WebView/WebImageView.m:
3501         * WebView/WebLoader.m:
3502         * WebView/WebMainResourceLoader.m:
3503         * WebView/WebPDFView.m:
3504         * WebView/WebScriptDebugDelegate.m:
3505         * WebView/WebView.m:
3506         (-[WebView _downloadURL:]):
3507         * WebView/WebViewInternal.h:
3508         * WebView/WebViewPrivate.h:
3509
3510 2006-04-22  Maciej Stachowiak  <mjs@apple.com>
3511
3512         Reviewed by Eric.
3513
3514         - remove WebKit copy of assertions code, use the assertions
3515         stuff from JavaScriptCore instead.
3516
3517         * Carbon/HIViewAdapter.m:
3518         * DOM/WebDOMOperations.m:
3519         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
3520         * DefaultDelegates/WebDefaultPolicyDelegate.m:
3521         (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]):
3522         * History/WebBackForwardList.m:
3523         * History/WebHistory.m:
3524         (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
3525         (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]):
3526         * History/WebHistoryItem.m:
3527         * Misc/WebAssertions.h: Removed.
3528         * Misc/WebAssertions.m: Removed.
3529         * Misc/WebDatabase.m:
3530         * Misc/WebDownload.m:
3531         * Misc/WebFileDatabase.m:
3532         (SetThreadPriority):
3533         * Misc/WebIconDatabase.m:
3534         (-[NSMutableDictionary iconForURL:withSize:cache:]):
3535         (-[NSMutableDictionary releaseIconForURL:]):
3536         (-[NSMutableDictionary delayDatabaseCleanup]):
3537         (-[NSMutableDictionary allowDatabaseCleanup]):
3538         (-[WebIconDatabase _loadIconDictionaries]):
3539         (-[WebIconDatabase _updateFileDatabase]):
3540         (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
3541         * Misc/WebIconLoader.m:
3542         * Misc/WebKitLogging.h:
3543         * Misc/WebKitLogging.m:
3544         * Misc/WebKitSystemBits.m:
3545         (initCapabilities):
3546         * Misc/WebLRUFileList.m:
3547         (WebLRUFileListRemoveOldestFileFromList):
3548         (WebLRUFileListGetFileSize):
3549         * Misc/WebLocalizableStrings.m:
3550         * Misc/WebNSCalendarDateExtras.m:
3551         * Misc/WebNSDataExtras.m:
3552         * Misc/WebNSDictionaryExtras.m:
3553         * Misc/WebNSFileManagerExtras.m:
3554         * Misc/WebNSPasteboardExtras.m:
3555         * Misc/WebNSURLExtras.m:
3556         (hexDigit):
3557         (hexDigitValue):
3558         (allCharactersInIDNScriptWhiteList):
3559         * Misc/WebNSURLRequestExtras.m:
3560         * Misc/WebNSUserDefaultsExtras.m:
3561         * Misc/WebStringTruncator.m:
3562         * Panels/WebAuthenticationPanel.m:
3563         (-[WebAuthenticationPanel loadNib]):
3564         * Panels/WebPanelAuthenticationHandler.m:
3565         * Plugins/WebBaseNetscapePluginStream.m:
3566         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
3567         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
3568         * Plugins/WebBaseNetscapePluginView.m:
3569         (TSMEventHandler):
3570         (-[WebBaseNetscapePluginView start]):
3571         (-[WebBaseNetscapePluginView status:]):
3572         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
3573         * Plugins/WebBasePluginPackage.m:
3574         * Plugins/WebNetscapePluginDocumentView.m:
3575         * Plugins/WebNetscapePluginPackage.m:
3576         (-[WebNetscapePluginPackage load]):
3577         * Plugins/WebNetscapePluginRepresentation.m:
3578         * Plugins/WebPluginContainerCheck.m:
3579         * Plugins/WebPluginController.m:
3580         (-[WebPluginController addPlugin:]):
3581         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
3582         (-[WebPluginController webPlugInContainerShowStatus:]):
3583         * Plugins/WebPluginDatabase.m:
3584         * Plugins/WebPluginDocumentView.m:
3585         * WebCoreSupport/WebCookieAdapter.m:
3586         * WebCoreSupport/WebFileButton.m:
3587         * WebCoreSupport/WebFrameBridge.m:
3588         (-[WebFrameBridge runModal]):
3589         * WebCoreSupport/WebImageData.m:
3590         (-[WebImageData _checkSolidColor:]):
3591         (-[WebImageData tileInRect:fromPoint:context:]):
3592         (-[WebImageData scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]):
3593         * WebCoreSupport/WebImageDecoder.m:
3594         * WebCoreSupport/WebImageRenderer.m:
3595         (-[WebImageRenderer TIFFRepresentation]):
3596         * WebCoreSupport/WebImageRendererFactory.m:
3597         * WebCoreSupport/WebJavaScriptTextInputPanel.m:
3598         * WebCoreSupport/WebKeyGenerator.m:
3599         * WebCoreSupport/WebPageBridge.m:
3600         * WebCoreSupport/WebSubresourceLoader.m:
3601         * WebCoreSupport/WebTextRenderer.m:
3602         (widthForGlyph):
3603         (-[WebTextRenderer initWithFont:]):
3604         (drawGlyphs):
3605         (initializeATSUStyle):
3606         (createATSULayoutParameters):
3607         (getTextBounds):
3608         (ATSU_draw):
3609         * WebCoreSupport/WebTextRendererFactory.m:
3610         * WebCoreSupport/WebViewFactory.m:
3611         * WebKit.exp:
3612         * WebKit.xcodeproj/project.pbxproj:
3613         * WebKitPrefix.h:
3614         * WebView/WebArchiver.m:
3615         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
3616         * WebView/WebClipView.m:
3617         * WebView/WebDataProtocol.m:
3618         * WebView/WebDataSource.m:
3619         (-[WebDataSource _startLoading]):
3620         * WebView/WebFormDataStream.m:
3621         (formEventCallback):
3622         (webSetHTTPBody):
3623         * WebView/WebFrame.m:
3624         (-[WebFrame _transitionToCommitted:]):
3625         * WebView/WebFrameView.m:
3626         * WebView/WebHTMLRepresentation.m:
3627         * WebView/WebHTMLView.m:
3628         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
3629         (-[NSArray drawSingleRect:]):
3630         (-[NSArray namesOfPromisedFilesDroppedAtDestination:]):
3631         (-[NSArray _scaleFactorForPrintOperation:]):
3632         (-[NSArray deleteBackwardByDecomposingPreviousCharacter:]):
3633         (-[NSArray checkSpelling:]):
3634         (-[NSArray showGuessPanel:]):
3635         (-[NSArray _changeSpellingToWord:]):
3636         (-[NSArray ignoreSpelling:]):
3637         (-[NSArray performFindPanelAction:]):
3638         (-[WebTextCompleteController doCompletion]):
3639         * WebView/WebImageView.m:
3640         * WebView/WebLoader.m:
3641         (-[NSURLProtocol connection:willCacheResponse:]):
3642         * WebView/WebPDFRepresentation.m:
3643         (+[WebPDFRepresentation PDFDocumentClass]):
3644         * WebView/WebPDFView.m:
3645         (+[WebPDFView PDFKitBundle]):
3646         (+[WebPDFView PDFViewClass]):
3647         (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
3648         * WebView/WebTextRepresentation.m:
3649         * WebView/WebTextView.m:
3650         * WebView/WebUnarchivingState.m:
3651         * WebView/WebView.m:
3652
3653 2006-04-22  Timothy Hatcher  <timothy@apple.com>
3654
3655         Reviewed by Eric.
3656
3657         http://bugzilla.opendarwin.org/show_bug.cgi?id=8514
3658         Bug 8514: Web Inspector hides when the app is in the background
3659
3660         Makes the inspector not hide in the background. Since the inspector is a floating panel
3661         we need to call setFloatingPanel:NO when the app is switching into the background. Then
3662         call setFloatingPanel:YES when the app is activated again. Without this the inspector
3663         would float above all applications.
3664
3665         * WebInspector/WebInspector.m:
3666         (-[NSWindow window]): setHidesOnDeactivate:NO
3667         (-[NSWindow windowWillClose:]): de-regiser appliction active notifications
3668         (-[NSWindow showWindow:]): register for appliction active notifications
3669         (-[WebInspector _applicationWillResignActive]): setFloatingPanel:NO
3670         (-[WebInspector _applicationDidBecomeActive]): setFloatingPanel:YES
3671
3672 2006-04-21  Adele Peterson  <adele@apple.com>
3673
3674         Reviewed by Darin.
3675
3676         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8181
3677         REGRESSION: After tabbing in page's field, attempting to tab from Google toolbar search to page fails on first try
3678
3679         Test: manual-tests/tabbing-input-google.html
3680
3681         * WebView/WebHTMLView.m: (-[NSArray resignFirstResponder]):
3682         When resigning first responder, reset willBecomeFirstResponderForNodeFocus, so when the WebHTMLView gets focus again
3683         it knows it can start moving through the tab cycle.
3684
3685 2006-04-20  Tim Omernick  <timo@apple.com>
3686
3687         Reviewed by John Sullivan.
3688
3689         <rdar://problem/4476875> Support printing for embedded Netscape plugins
3690
3691         NOTE: This only works with the Flash plugin right now.  It appears that the other
3692         major plugins either have awful printing support, or no printing support.  If someone
3693         can find an example of any other embedded Netscape plugin printing in any browser on
3694         the Mac, I will be happy to eat my own words!
3695
3696         * Plugins/WebBaseNetscapePluginView.m:
3697         (-[WebBaseNetscapePluginView drawRect:]):
3698         When printing, get the printed bitmap via -_printedPluginBitmap, and draw it into the
3699         plugin view.
3700         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
3701         Call NPP_Print on the plugin to render it into a GWorld.  This GWorld has the same
3702         underlying buffer as an NSBitmapImageRep, which is returned to the caller.
3703
3704 2006-04-20 Mitz Pettel  <opendarwin.org@mitzpettel.com>
3705
3706         Reviewed by Darin.
3707
3708         WebKit part of:
3709         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8276
3710           REGRESSION (NativeTextField): Pasting a Finder item into a text field results in
3711             a file: URL being pasted instead of just the file name
3712         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8283
3713           REGRESSION: File's path doesn't appear after dragging file into input field
3714
3715         * WebView/WebHTMLView.m:
3716         (-[WebHTMLView _plainTextFromPasteboard:]): Added method that tries to copy AppKit
3717         text fields' logic for extracting plain text from the pasteboard.
3718         (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Added helper method.
3719         (-[WebHTMLView _shouldInsertText:replacingDOMRange:givenAction:]):
3720         (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]):
3721         (-[WebHTMLView readSelectionFromPasteboard:]): Paste as plain text if
3722         rich text is not allowed.
3723         (-[WebHTMLView validateUserInterfaceItem:]): Changed to not allow pasteAsRichText:
3724         if the paste is not going to be handled by the DOM and the selection
3725         does not allow pasting rich text.
3726         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Paste as plain text if
3727         rich text is not allowed.
3728         (-[WebHTMLView paste:]): Ditto.
3729         (-[WebHTMLView pasteAsPlainText:]):
3730
3731 2006-04-20  Darin Adler  <darin@apple.com>
3732
3733         Reviewed by Adele.
3734
3735         - WebKit part of http://bugzilla.opendarwin.org/show_bug.cgi?id=8505
3736           eliminate WebCoreGraphics bridge, demonstrate new SystemInterface technique
3737
3738         * WebCoreSupport/WebGraphicsBridge.h: Removed.
3739         * WebCoreSupport/WebGraphicsBridge.m: Removed.
3740         * WebCoreSupport/WebSystemInterface.h: Added.
3741         * WebCoreSupport/WebSystemInterface.m: Added.
3742
3743         * WebKit.xcodeproj/project.pbxproj: Updated for removed and added files.
3744
3745         * WebCoreSupport/WebImageData.m: Removed unneeded include of WebGraphicsBridge.h.
3746         * WebCoreSupport/WebImageRenderer.m: Ditto.
3747         * WebCoreSupport/WebTextRenderer.m: Ditto.
3748
3749         * WebView/WebFrameView.m: (-[WebFrameView initWithFrame:]): Guarded all the one-time
3750         initialization inside a boolean, just in case some things take a little time. Added
3751         a call to InitWebCoreSystemInterface to the one-time initialization here. Later, we
3752         will need to add it in some other places if we call code that requires the use of
3753         WebCoreSystemInterface functions from anywhere that can be invoked before creations
3754         of the first WebFrameView, but for now there is no need.
3755
3756 2006-04-19  James G. Speth  <speth@end.com>
3757
3758         Reviewed by Timothy.
3759
3760         http://bugzilla.opendarwin.org/show_bug.cgi?id=8442
3761         Bug 8442: improvements to Cocoa bindings support in WebView - code simplification
3762
3763         Removes the WebController class added earlier; changes NSTreeController and 
3764         WebView to together without it. Now you can just bind the contentObject binding
3765         of the tree controller directly to the mainFrameDocument key of the WebView.
3766
3767         * WebCoreSupport/WebFrameBridge.m:
3768         (-[WebFrameBridge windowObjectCleared]):
3769         * WebView/WebDataSource.m:
3770         (-[WebDataSource _setTitle:]):
3771         * WebView/WebFrame.m:
3772         (-[WebFrame _closeOldDataSources]):
3773         * WebView/WebView.m:
3774         (-[WebView _progressStarted:]):
3775         (-[WebView _finalProgressComplete]):
3776         (-[WebView _commonInitializationWithFrameName:groupName:]):
3777         (-[WebView setMainFrameDocumentReady:]):
3778         (-[WebView mainFrameDocument]):
3779         * WebView/WebViewPrivate.h:
3780
3781 2006-04-19  James G. Speth  <speth@end.com>
3782
3783         Reviewed by Timothy.
3784
3785         http://bugzilla.opendarwin.org/show_bug.cgi?id=6635
3786         Bug 6635: Crash selecting inspector nodes for tabs that aren't foremost
3787
3788         Stop observing window will close notifications before we tell the highlight window to close,
3789         this prevents the crash. Also prevent drawing highlights for hidden tabs.
3790
3791         * WebInspector/WebInspector.m:
3792         (-[WebInspector _highlightNode:]):
3793         * WebInspector/WebNodeHighlight.m:
3794         (-[WebNodeHighlight expire]):
3795
3796 2006-04-19  James G. Speth  <speth@end.com>
3797
3798         Reviewed by Timothy.
3799
3800         http://bugzilla.opendarwin.org/show_bug.cgi?id=6637
3801         Bug 6637: selecting node in Inspector after closing window crashes Safari
3802
3803         When the window the Web Inspector was inspecting is closed, the inspector goes into its
3804         no-selection state. Choosing to inspect another element activates it again. The inspector
3805         will also follow the WebView if the URL changes and select the root element on the new page.
3806
3807         * WebInspector/WebInspector.m:
3808         (-[NSWindow setWebFrame:]):
3809         (-[NSWindow setRootDOMNode:]):
3810         (-[WebInspector _revealAndSelectNodeInTree:]):
3811         (-[WebInspector _update]):
3812         (-[WebInspector _updateRoot]):
3813         (-[WebInspector inspectedWebViewProgressFinished:]):
3814         (-[WebInspector inspectedWindowWillClose:]):
3815         (-[WebInspector webView:didFinishLoadForFrame:]):
3816         * WebInspector/WebInspectorPanel.m:
3817         (-[WebInspectorPanel canBecomeMainWindow]):
3818
3819 2006-04-18  Darin Adler  <darin@apple.com>
3820
3821         Reviewed by Beth.
3822
3823         * WebInspector/webInspector/inspector.css: Add "-webkit-" prefixes to the border
3824         radius properties to make the corners rounded again.
3825
3826 2006-04-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3827
3828         Reviewed by Darin.
3829
3830         - WebKit part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8324
3831           REGRESSION: textarea :focus not applied immediately
3832
3833         * WebCoreSupport/WebFrameBridge.m:
3834         (-[WebFrameBridge formControlIsBecomingFirstResponder:]): Added. Calls the ancestor
3835         WebHTMLView's _formControlIsBecomingFirstResponder:
3836         * WebView/WebHTMLView.m:
3837         (-[WebHTMLView _updateFocusState:]): If a descendant is becoming first responder,
3838         enable focused appearance.
3839         (-[WebHTMLView _formControlIsBecomingFirstResponder:]): Added. Calls _updateFocusState,
3840         causing the frame to display with focus attributes.
3841         * WebView/WebHTMLViewInternal.h:
3842
3843 2006-04-14  James G. Speth  <speth@end.com>
3844
3845         Reviewed by Timothy.
3846
3847         Bug 8389: support for Cocoa bindings - binding an NSTreeController to the WebView's DOM
3848         http://bugzilla.opendarwin.org/show_bug.cgi?id=8389
3849
3850         Added a controller class, WebController, that is a subclass of
3851         NSTreeController that has a new outlet/binding for the WebView.
3852
3853         * WebCoreSupport/WebFrameBridge.m:
3854         (-[WebFrameBridge windowObjectCleared]): notify bindings about the document change
3855         * WebView/WebView.m:
3856         (-[WebView _progressStarted:]): notify bindings about the document change
3857         (-[WebView _finalProgressComplete]): notify bindings about the document change
3858         (-[WebView _declaredKeys]): added a key for the main frame document
3859         (-[WebController init]):
3860         (-[WebController exposedBindings]):
3861         (-[WebController valueClassForBinding:]):
3862         (-[WebController setContent:]):
3863         (-[WebController webView]):
3864         (-[WebController setWebView:]):
3865         (-[WebView mainFrameDocument]): get the main frame's DOMDocument
3866         * WebView/WebViewPrivate.h: Adds mainFrameDocument to pending public.
3867
3868 2006-04-12  David Harrison  <harrison@apple.com>
3869
3870         Reviewed by Darin.
3871         
3872         <rdar://problem/4386640> AX: AXPreviousSentenceStartTextMarkerForTextMarker does not respect paragraph boundary
3873         <rdar://problem/4414575> AX: Dictionary popup cannot find some words on Dictionary.app
3874         
3875         (see related changes in WebCore)
3876         
3877         Tests added:
3878         * editing/selection/extend-by-sentence-001.html: Added.
3879         * fast/dom/inner-text-001.html: Added.
3880
3881         * WebView/WebHTMLView.m:
3882         (-[NSArray validateUserInterfaceItem:]):
3883         (-[NSArray moveToBeginningOfSentence:]):
3884         (-[NSArray moveToBeginningOfSentenceAndModifySelection:]):
3885         (-[NSArray moveToEndOfSentence:]):
3886         (-[NSArray moveToEndOfSentenceAndModifySelection:]):
3887         (-[NSArray selectSentence:]):
3888         * WebView/WebView.m:
3889         * WebView/WebViewPrivate.h:
3890         Add sentence navigation and selection.
3891
3892 2006-04-12  Tim Omernick  <timo@apple.com>
3893
3894         Reviewed by Darin.
3895
3896         Part of <rdar://problem/4482530>
3897
3898         * WebView/WebView.m:
3899         (-[WebView _focusedFrame]):
3900         Fixed up the logic here to take into account immediate subviews of WebView, which are not actually in a WebFrameView
3901         (they are peers to the main frame's WebFrameView).
3902
3903 2006-04-10  John Sullivan  <sullivan@apple.com>
3904
3905         Reviewed by Tim Omernick.
3906         
3907         - fixed <rdar://problem/4139799> Seed: Safari: Private Browsing leaves traces in Icon Cache
3908         
3909         * Misc/WebIconDatabasePrivate.h:
3910         new ivars: pageURLsBoundDuringPrivateBrowsing, iconURLsBoundDuringPrivateBrowsing, and privateBrowsingEnabled
3911
3912         * Misc/WebIconDatabase.m:
3913         (-[NSMutableDictionary init]):
3914         initialize new ivars, and listen for notifications that WebPreferences changed so we can react to changes
3915         to private browsing.
3916         (-[NSMutableDictionary iconForURL:withSize:cache:]):
3917         Don't remove icon URL from extraRetain dictionary; that's now done in _forgetIconForIconURLString. (I left a
3918         comment here earlier about why I was worried about this change, but I convinced myself that it's fine.)
3919         (-[WebIconDatabase removeAllIcons]):
3920         Removed no-longer-true (and never very clear) comment, and braces. Also remove all objects from the two
3921         private-browsing-related dictionaries.
3922         (-[WebIconDatabase _setIcon:forIconURL:]):
3923         remember icon URL if private browsing is enabled
3924         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
3925         remember icon URL if private browsing is enabled
3926         (-[WebIconDatabase _setIconURL:forURL:]):
3927         added an assert that helped me out at one point
3928         (-[WebIconDatabase _clearDictionaries]):
3929         clear the two new dictionaries too
3930         (-[WebIconDatabase _loadIconDictionaries]):
3931         made an existing ERROR not fire in the expected case where there are no icons at all on disk
3932         (-[WebIconDatabase _updateFileDatabase]):
3933         when saving the pageURLToIconURL dictionary to disk, first remove any values that were created during
3934         private browsing
3935         (-[WebIconDatabase _retainIconForIconURLString:]):
3936         skip the code that deals with saving changes to disk if private browsing is enabled
3937         (-[WebIconDatabase _forgetIconForIconURLString:]):
3938         Remove the icon URL from extraRetain dictionary here. We're forgetting everything about this icon URL
3939         so we should forget its former extraRetain count too.
3940         (-[WebIconDatabase _resetCachedWebPreferences:]):
3941         Cache the new value of private browsing. If it has now been turned off, forget everything we learned
3942         while it was on. This causes (e.g.) icons for bookmarks or pre-existing history items to be forgotten
3943         if the icon was only learned during private browsing.
3944
3945         * History/WebHistoryItem.m:
3946         removed an unnecessary #import I happened to notice
3947         
3948 2006-04-10  David Hyatt  <hyatt@apple.com>
3949
3950         Make the broken CG focus ring painting work when WebCore sets a clip
3951         (in addition to respecting the dirty rect clip).
3952
3953         Reviewed by darin
3954
3955         * WebCoreSupport/WebGraphicsBridge.m:
3956         (-[WebGraphicsBridge drawFocusRingWithPath:radius:color:clipRect:]):
3957
3958 2006-04-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3959
3960         Reviewed by Darin.
3961
3962         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8100
3963           REGRESSION (NativeTextField): Right-aligned and RTL text jitters in new text fields
3964
3965         * WebCoreSupport/WebTextRenderer.m:
3966         (overrideLayoutOperation): For RTL runs, apply the word-rounding on the left.
3967         (CG_floatWidthForRun): For RTL runs, apply the last character's rounding
3968         on the left by adjusting the start position.
3969         (initializeWidthIterator): Added finalRoundingWidth field to WidthIterator.
3970         (advanceWidthIterator): For RTL runs, apply rounding on the left of the character,
3971         by increasing the width of the next character (which is the character to the left). For
3972         the last character, keep the rounding width in the iterator's finalRoundingWidth, to be used by
3973         CG_floatWidthForRun().
3974
3975 2006-04-08  John Sullivan  <sullivan@apple.com>
3976
3977         Reviewed by Adele Peterson.
3978
3979         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=8260
3980         REGRESSION: Assertion failure: ![_private->iconsToSaveWithURLs containsObject:iconURLString] 
3981         in WebIconDatabase.m:695-[WebIconDatabase(WebInternal) _retainIconForIconURLString:]
3982
3983         * Misc/WebIconDatabase.m:
3984         (-[WebIconDatabase _retainIconForIconURLString:]):
3985         This new assertion was one block too high; moved it in.
3986
3987 2006-04-07  David Hyatt  <hyatt@apple.com>
3988
3989         A fix that makes coalesced updates work much better (and makes our
3990         single animated GIF timer work better).  The new rect painting algorithm
3991         for WebHTMLView will use the single unioned rect if the # of rects exceeds
3992         a threshold (10 is my initial cut), or if the union has enough "wasted"
3993         additional pixels (conservatively set at 75%).
3994
3995         Reviewed by darin
3996
3997         * WebView/WebHTMLView.m:
3998         (-[NSArray drawSingleRect:]):
3999         (-[NSArray drawRect:]):
4000
4001 2006-04-07  Maciej Stachowiak  <mjs@apple.com>
4002
4003         Reviewed by Darin.
4004         
4005         - simplify archive loading
4006
4007         * WebView/WebDataSource.m:
4008         (-[WebDataSource representation]): fix whitespace
4009         * WebView/WebHTMLRepresentation.m:
4010         (-[WebHTMLRepresentation loadArchive]): Use WebFrame's loadArchive: instead
4011         of trying to do a manual load here.
4012         (-[WebHTMLRepresentation documentSource]): No more special case for WebArchive.
4013
4014 2006-04-07  John Sullivan  <sullivan@apple.com>
4015
4016         Reviewed by Tim Omernick.
4017         
4018         - fixed <rdar://problem/4507054> If an icon file is removed from disk behind Safari's back, 
4019         Safari will not try to refetch it
4020         
4021         In addition to letting WebIconDatabase recover from disk/memory mismatches as per 4507054, I also found
4022         a bug in the way icons are remembered that could account for some of the other cases where
4023         site icons didn't appear (and you'd get an ERROR on debug builds about WebIconDatabase saying it
4024         had some icon when it really doesn't).
4025
4026         * Misc/WebIconDatabase.m:
4027         (-[WebIconDatabase iconForURL:withSize:cache:]):
4028         When the icon file for a previously-saved site icon isn't found, forget about the darn icon URL thoroughly
4029         so that this situation is self-correcting. Formerly, once you got into this state WebKit would never find
4030         the icon again (short of removing the entire icon database cleanly). Note that this does *not* change
4031         the behavior of sites that didn't have a site icon when WebKit checked -- these will continue to not
4032         return a site icon indefinitely (that's a separate, possibly performance-sensitive issue).
4033         (-[WebIconDatabase _retainIconForIconURLString:]):
4034         This code did the wrong thing in the case where an icon was in the process of being forgotten about. In
4035         that case, the icon would still be in _private->iconsOnDiskWithURLs, so we wouldn't try to save it here,
4036         so the new icon wouldn't stick.
4037
4038 2006-04-07  David Hyatt  <hyatt@apple.com>
4039
4040         Re-enable coalesced updates.  Our move to a single timer has essentially
4041         implemented coalescing of updates anyway, so the regression has already
4042         come back.  Since we have to deal with that now anyway, there's no reason
4043         to visually tear also. :)
4044
4045         Reviewed by darin
4046
4047         * ChangeLog:
4048         * WebView/WebView.m:
4049         (-[WebView _commonInitializationWithFrameName:groupName:]):
4050
4051 2006-04-05  Darin Adler  <darin@apple.com>
4052
4053         - fixed a storage leak from that last check-in
4054
4055         * WebView/WebUnarchivingState.m: (-[WebUnarchivingState dealloc]):
4056         Release the two dictionaries.
4057
4058 2006-04-05  Maciej Stachowiak  <mjs@apple.com>
4059
4060         Reviewed by Eric.
4061         
4062         - start on factoring WebArchive unpacking more into a separate class.
4063         http://bugzilla.opendarwin.org/show_bug.cgi?id=8208
4064         
4065         * WebKit.xcodeproj/project.pbxproj:
4066         * WebView/WebDataSource.m:
4067         (-[WebDataSourcePrivate dealloc]):
4068         (-[WebDataSource _addToUnarchiveState:]):
4069         (-[WebDataSource _popSubframeArchiveWithName:]):
4070         (-[WebDataSource _documentFragmentWithArchive:]):
4071         (-[WebDataSource _setupForReplaceByMIMEType:]):
4072         (-[WebDataSource subresourceForURL:]):
4073         * WebView/WebDataSourcePrivate.h:
4074         * WebView/WebFrame.m:
4075         (-[WebFrame _loadRequest:archive:]):
4076         (-[WebFrame loadRequest:]):
4077         (-[WebFrame loadArchive:]):
4078         * WebView/WebFramePrivate.h:
4079         * WebView/WebHTMLRepresentation.m:
4080         (-[WebHTMLRepresentation loadArchive]):
4081         * WebView/WebUnarchivingState.h: Added.
4082         * WebView/WebUnarchivingState.m: Added.
4083         (-[WebUnarchivingState init]):
4084         (-[WebUnarchivingState addArchive:]):
4085         (-[WebUnarchivingState archivedResourceForURL:]):
4086         (-[WebUnarchivingState popSubframeArchiveWithFrameName:]):
4087
4088 2006-04-04  Timothy Hatcher  <timothy@apple.com>
4089
4090         Reviewed by Darin.
4091
4092         The Debug and Release frameworks are now built with install paths relative to the build products directory.
4093         This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 
4094
4095         * WebKit.xcodeproj/project.pbxproj:
4096
4097 2006-04-04  John Sullivan  <sullivan@apple.com>
4098
4099         Reviewed by Adele Peterson.
4100
4101         - WebKit part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing
4102
4103         * WebView/WebView.m:
4104         (-[WebView _updateWebCoreSettingsFromPreferences:]):
4105         Pass private browsing setting down to WebCore.
4106
4107 2006-04-03  John Sullivan  <sullivan@apple.com>
4108
4109         Reviewed by Tim Hatcher.
4110         
4111         - re-fixed <rdar://problem/4481198> REGRESSION (TOT): search results list in bookmarks view 
4112         remains when search text is deleted
4113
4114         * WebView/WebView.m:
4115         (-[WebView searchFor:direction:caseSensitive:wrap:]):
4116         I fixed this recently, but then broke it again by adding an early bail-out to this method. So
4117         now I'm removing the early bail-out.
4118
4119 2006-04-02  Trey Matteson  <trey@usa.net>
4120
4121         Reviewed by Maciej.
4122
4123         fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8121
4124         REGRESSION: 404s are not displayed
4125
4126         * WebView/WebMainResourceLoader.m:
4127         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
4128         Only cancel failed loads for object elements, not for frames or a whole page.
4129
4130 2006-04-02  Maciej Stachowiak  <mjs@apple.com>
4131
4132         Reviewed by Hyatt.
4133
4134         - fixed <rdar://problem/4198619> REGRESSION: tabbing through links fails after hitting text field w/ sys's "tab to all controls" off
4135         - fixed <rdar://problem/4463760> REGRESSION: Can't tab from old text field (like password fields) to new text field (6811)
4136         (http://bugzilla.opendarwin.org/show_bug.cgi?id=6811)
4137         - fixed tab and shift tab don't select the right things
4138         http://bugzilla.opendarwin.org/show_bug.cgi?id=5685
4139
4140         * WebCoreSupport/WebFrameBridge.m:
4141         (-[WebFrameBridge willMakeFirstResponderForNodeFocus]): New method
4142         - let WebHTMLView know that the next time it becomes first