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