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