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