Reviewed by Maciej
[WebKit-https.git] / WebKit / ChangeLog
1 2006-08-23  Brady Eidson  <beidson@apple.com>
2
3         Reviewed by Maciej
4
5         First pass at pruning unused WebIconDatabase code.  Focus on removing methods that simply
6         have no place in the new DB at all.  A few renames and a few important FIXMEs result, but no
7         functionality changes.
8
9         * Loader/WebIconLoader.m:
10         (-[WebIconLoader didFinishLoading]): Call to WebIconDatabase instead of directly to the bridge
11         * Misc/WebIconDatabase.h:
12         * Misc/WebIconDatabase.m:
13         (-[WebIconDatabase init]):
14         (-[WebIconDatabase iconForURL:withSize:cache:]):
15         (-[WebIconDatabase iconURLForURL:]):
16         (-[WebIconDatabase defaultIconWithSize:]):
17         (-[WebIconDatabase retainIconForURL:]):
18         (-[WebIconDatabase releaseIconForURL:]):
19         (-[WebIconDatabase removeAllIcons]):
20         (-[WebIconDatabase _setIconData:forIconURL:]):
21         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
22         (-[WebIconDatabase _setIconURL:forURL:]):
23         (-[WebIconDatabase _hasEntryForIconURL:]):
24         (-[WebIconDatabase _applicationWillTerminate:]):
25         (-[WebIconDatabase _resetCachedWebPreferences:]):
26         * Misc/WebIconDatabasePrivate.h: Changed setIcon: to setIconData:
27
28 2006-08-23  Maciej Stachowiak  <mjs@apple.com>
29
30         Reviewed by Adele.
31         
32         - started factoring most of the guts of WebDataSource into a new class
33         
34         WebDocumentLoadState is decoupled from the rest of WebKit and will
35         be moved down to WebCore. I only moved one of the data fields of
36         WebDataSource for now.
37
38         * Loader/WebDocumentLoadState.h: Added.
39         * Loader/WebDocumentLoadState.m: Added.
40         (-[WebDocumentLoadState initWithRequest:]): New class.
41         (-[WebDocumentLoadState dealloc]):
42         (-[WebDocumentLoadState setFrameLoader:]):
43         (-[WebDocumentLoadState setMainResourceData:]):
44         (-[WebDocumentLoadState mainResourceData]):
45         * Loader/WebFrameLoader.m:
46         (-[WebFrameLoader _setDataSource:]): Remove redundant _setWebFrame: call,
47         it would have been called already by this point.
48         (-[WebFrameLoader _setProvisionalDataSource:]): ditto.
49         * WebKit.xcodeproj/project.pbxproj:
50         * WebView/WebDataSource.m:
51         (-[WebDataSourcePrivate dealloc]):
52         (-[WebDataSource _setWebFrame:]):
53         (-[WebDataSource _setPrimaryLoadComplete:]):
54         (-[WebDataSource initWithRequest:]):
55         (-[WebDataSource data]):
56
57 2006-08-23  Maciej Stachowiak  <mjs@apple.com>
58
59         Reviewed by Adele.
60         
61         - refactoring of WebDataSource in preparation for moving a bunch of it to a new class
62         
63         - minimize WebDataSourceInternal.h to be only methods called from outside WebDataSource
64         - reduce Private category implementation to be only the SPI methods
65         - make new Internal and FileInternal categories which contain the
66         remainder (depending on whether they are called from outside of
67         WebDataSource)
68
69         * WebView/WebDataSource.m:
70         (-[WebDataSource _setMainDocumentError:]):
71         (addTypesFromClass):
72         (+[WebDataSource _representationClassForMIMEType:]):
73         (-[WebDataSource _commitIfReady]):
74         (-[WebDataSource _commitLoadWithData:]):
75         (-[WebDataSource _doesProgressiveLoadWithMIMEType:]):
76         (-[WebDataSource _addResponse:]):
77         (-[WebDataSource _revertToProvisionalState]):
78         (-[WebDataSource _mainDocumentError]):
79         (-[WebDataSource _addSubframeArchives:]):
80         (-[WebDataSource _fileWrapperForURL:]):
81         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
82         (-[WebDataSource _decidePolicyForMIMEType:decisionListener:]):
83         (-[WebDataSource _finishedLoading]):
84         (-[WebDataSource _setResponse:]):
85         (-[WebDataSource _setRequest:]):
86         (-[WebDataSource _setupForReplaceByMIMEType:]):
87         (-[WebDataSource _receivedMainResourceError:complete:]):
88         (-[WebDataSource _mainReceivedError:complete:]):
89         (-[WebDataSource _defersCallbacks]):
90         (-[WebDataSource _downloadWithLoadingConnection:request:response:proxy:]):
91         (-[WebDataSource _didFailLoadingWithError:forResource:]):
92         (-[WebDataSource _didFinishLoadingForResource:]):
93         (-[WebDataSource _didReceiveData:contentLength:forResource:]):
94         (-[WebDataSource _didReceiveResponse:forResource:]):
95         (-[WebDataSource _didCancelAuthenticationChallenge:forResource:]):
96         (-[WebDataSource _didReceiveAuthenticationChallenge:forResource:]):
97         (-[WebDataSource _willSendRequest:forResource:redirectResponse:]):
98         (-[WebDataSource _identifierForInitialRequest:]):
99         (-[WebDataSource _archivedSubresourceForURL:]):
100         (-[WebDataSource _startLoading]):
101         (-[WebDataSource _stopRecordingResponses]):
102         (-[WebDataSource _loadingStartedTime]):
103         (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]):
104         (-[WebDataSource _documentFragmentWithArchive:]):
105         (-[WebDataSource _documentFragmentWithImageResource:]):
106         (-[WebDataSource _imageElementWithImageResource:]):
107         (-[WebDataSource _title]):
108         (-[WebDataSource _isStopping]):
109         (-[WebDataSource _setWebFrame:]):
110         (-[WebDataSource _URL]):
111         (-[WebDataSource _loadFromPageCache:]):
112         (-[WebDataSource _popSubframeArchiveWithName:]):
113         (-[WebDataSource _setIsClientRedirect:]):
114         (-[WebDataSource _setURL:]):
115         (-[WebDataSource _setLastCheckedRequest:]):
116         (-[WebDataSource _defersCallbacksChanged]):
117         (-[WebDataSource _lastCheckedRequest]):
118         (-[WebDataSource _stopLoading]):
119         (-[WebDataSource _bridge]):
120         (-[WebDataSource _webView]):
121         (-[WebDataSource _triggeringAction]):
122         (-[WebDataSource _setTriggeringAction:]):
123         (-[WebDataSource __adoptRequest:]):
124         (-[WebDataSource _isDocumentHTML]):
125         (-[WebDataSource _stopLoadingWithError:]):
126         (-[WebDataSource _setPrimaryLoadComplete:]):
127         (-[WebDataSource _responses]):
128         (-[WebDataSource _makeRepresentation]):
129         (-[WebDataSource _isClientRedirect]):
130         (-[WebDataSource _originalRequest]):
131         (-[WebDataSource _URLForHistory]):
132         (-[WebDataSource _addToUnarchiveState:]):
133         (-[WebDataSource _setOverrideEncoding:]):
134         (-[WebDataSource _setIconURL:]):
135         (-[WebDataSource _setIconURL:withType:]):
136         (-[WebDataSource _overrideEncoding]):
137         (-[WebDataSource _setTitle:]):
138         * WebView/WebDataSourceInternal.h:
139
140 2006-08-23  Brady Eidson  <beidson@apple.com>
141
142         Reviewed by John Sullivan
143
144         /me crosses fingers
145         Flip the switch to the new Icon Database
146         Massive code pruning is coming up
147
148         * WebKitPrefix.h: Flipped the switch
149
150 2006-08-23  Brady Eidson  <beidson@apple.com>
151
152         Reviewed by Beth
153         Since I just pushed the default URL icon from WebKit to WebCore, but
154         WebKit was still using its version of the default icon, this patch makes it
155         use the WebCore version
156
157         * Misc/WebIconDatabase.m:
158         (-[WebIconDatabase defaultIconWithSize:]):
159
160 2006-08-22  Maciej Stachowiak  <mjs@apple.com>
161
162         Reviewed by Brady.
163         
164         - remove "loading" flag from WebDataSource and code that manages it; it is redundat.
165
166         * Loader/WebFrameLoader.m:
167         (-[WebFrameLoader addPlugInStreamLoader:]):
168         (-[WebFrameLoader removePlugInStreamLoader:]):
169         (-[WebFrameLoader addSubresourceLoader:]):
170         (-[WebFrameLoader removeSubresourceLoader:]):
171         * WebView/WebDataSource.m:
172         (-[WebDataSourcePrivate dealloc]):
173         (-[WebDataSource _setPrimaryLoadComplete:]):
174         (-[WebDataSource _stopLoading]):
175         (-[WebDataSource _prepareForLoadStart]):
176         (-[WebDataSource _startLoading]):
177         (-[WebDataSource isLoading]):
178         * WebView/WebDataSourceInternal.h:
179
180 2006-08-22  Maciej Stachowiak  <mjs@apple.com>
181
182         Reviewed by Eric.
183
184         <rdar://problem/4683948> REGRESSION: Assertion failure in [FrameProgressEntry addChild:forDataSource:] (fandango.com)
185         
186         * Loader/WebFrameLoader.m:
187         (-[WebFrameLoader addSubresourceLoader:]): Add a WebKit-level assertion that should fire when this bad
188         situation occurs.
189         * Loader/WebSubresourceLoader.m:
190         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]): Prevent
191         the situation from occuring.
192
193 2006-08-22  Maciej Stachowiak  <mjs@apple.com>
194
195         Reviewed by Anders.
196         
197         - pull more WebDataSource code into WebFrameLoader
198         - make WebMainResourceLoader not depend on WebKit or on SPI
199
200         * Loader/WebFrameLoader.h:
201         * Loader/WebFrameLoader.m:
202         (-[WebFrameLoader _downloadWithLoadingConnection:request:response:proxy:]):
203         (-[WebFrameLoader _updateIconDatabaseWithURL:]):
204         (-[WebFrameLoader _notifyIconChanged:]):
205         (-[WebFrameLoader _iconLoaderReceivedPageIcon:]):
206         (-[WebFrameLoader _checkNavigationPolicyForRequest:andCall:withSelector:]):
207         (-[WebFrameLoader _checkContentPolicyForMIMEType:andCall:withSelector:]):
208         (-[WebFrameLoader cancelContentPolicy]):
209         * Loader/WebIconLoader.m:
210         (-[WebIconLoader didFinishLoading]):
211         * Loader/WebLoader.m:
212         (-[NSURLProtocol loadWithRequest:]):
213         (-[NSURLProtocol setDefersCallbacks:]):
214         * Loader/WebMainResourceLoader.h:
215         * Loader/WebMainResourceLoader.m:
216         (-[WebMainResourceLoader initWithFrameLoader:]):
217         (-[WebMainResourceLoader dealloc]):
218         (-[WebMainResourceLoader cancelWithError:]):
219         (-[WebMainResourceLoader continueAfterNavigationPolicy:formState:]):
220         (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
221         (-[WebMainResourceLoader continueAfterContentPolicy:]):
222         (-[WebMainResourceLoader checkContentPolicy]):
223         (-[WebMainResourceLoader didReceiveResponse:]):
224         * Plugins/WebPluginContainerCheck.m:
225         * WebCoreSupport/WebSystemInterface.m:
226         (InitWebCoreSystemInterface):
227         * WebView/WebDataSource.m:
228         (-[WebDataSource _loadIcon]):
229         (-[WebDataSource _cancelledError]):
230         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
231         (+[WebDataSource _representationClassForMIMEType:]):
232         (-[WebDataSource _commitLoadWithData:]):
233         (-[WebDataSource _isDocumentHTML]):
234         * WebView/WebDataSourceInternal.h:
235         * WebView/WebFramePrivate.h:
236         * WebView/WebPolicyDelegate.m:
237         * WebView/WebPolicyDelegatePrivate.h:
238
239 2006-08-21  Maciej Stachowiak  <mjs@apple.com>
240
241         Reviewed by Brady.
242         
243         - move more code from WebDataSource to WebFrameLoader
244         
245         Also marked a few more methods in WebDataSource as likely MOVABLE in a future round, since they do not
246         use any of WebDataSource's private data.
247
248         * Loader/WebFrameLoader.h:
249         * Loader/WebFrameLoader.m:
250         (-[WebFrameLoader addPlugInStreamLoader:]):
251         (-[WebFrameLoader removePlugInStreamLoader:]):
252         (-[WebFrameLoader addSubresourceLoader:]):
253         (-[WebFrameLoader removeSubresourceLoader:]):
254         (-[WebFrameLoader _didReceiveAuthenticationChallenge:forResource:]):
255         (-[WebFrameLoader _didCancelAuthenticationChallenge:forResource:]):
256         (-[WebFrameLoader _didReceiveResponse:forResource:]):
257         (-[WebFrameLoader _didReceiveData:contentLength:forResource:]):
258         (-[WebFrameLoader _didFinishLoadingForResource:]):
259         (-[WebFrameLoader _didFailLoadingWithError:forResource:]):
260         (-[WebFrameLoader _privateBrowsingEnabled]):
261         (-[WebFrameLoader _finishedLoadingResource]):
262         (-[WebFrameLoader _receivedError:]):
263         (-[WebFrameLoader _finishedLoading]):
264         * Loader/WebMainResourceLoader.m:
265         (-[WebMainResourceLoader didReceiveData:lengthReceived:allAtOnce:]):
266         (-[WebMainResourceLoader didFinishLoading]):
267         * Loader/WebNetscapePlugInStreamLoader.m:
268         (-[WebNetscapePlugInStreamLoader didFinishLoading]):
269         (-[WebNetscapePlugInStreamLoader didFailWithError:]):
270         (-[WebNetscapePlugInStreamLoader cancelWithError:]):
271         * Loader/WebSubresourceLoader.m:
272         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
273         (-[WebSubresourceLoader signalFinish]):
274         (-[WebSubresourceLoader didFailWithError:]):
275         (-[WebSubresourceLoader cancel]):
276         * Plugins/WebNetscapePluginStream.m:
277         (-[WebNetscapePluginStream start]):
278         * WebView/WebDataSource.m:
279         (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]):
280         (-[WebDataSource _updateIconDatabaseWithURL:]):
281         (-[WebDataSource _loadIcon]):
282         (-[WebDataSource _setPrimaryLoadComplete:]):
283         (-[WebDataSource _cancelledError]):
284         (+[WebDataSource _repTypesAllowImageTypeOmission:]):
285         (+[WebDataSource _representationClassForMIMEType:]):
286         (-[WebDataSource _commitLoadWithData:]):
287         (-[WebDataSource _receivedMainResourceError:complete:]):
288         (-[WebDataSource _iconLoaderReceivedPageIcon:]):
289         (-[WebDataSource _isDocumentHTML]):
290         * WebView/WebDataSourceInternal.h:
291
292 2006-08-21  Brady Eidson  <beidson@apple.com>
293
294         Reviewed by John
295
296         Quick ICONDEBUG flag fix
297
298         * Misc/WebIconDatabase.m:
299         (-[WebIconDatabase _applicationWillTerminate:]):
300
301 2006-08-21  Brady Eidson  <beidson@apple.com>
302
303         Reviewed by Anders
304
305         -Renamed an internal only method for clarity
306         -Tweaked WebDataSource for notification purposes with the new expiring icons
307         -Fixed a bug with the ICONDEBUG flag
308
309         * Misc/WebIconDatabase.m:
310         (-[WebIconDatabase init]):
311         (-[WebIconDatabase iconForURL:withSize:cache:]): #ifdef bug fixed
312         (-[WebIconDatabase _hasEntryForIconURL:]): Renamed for clarity
313         * Misc/WebIconDatabasePrivate.h:
314         * WebView/WebDataSource.m:
315         (-[WebDataSource _updateIconDatabaseWithURL:]):
316         (-[WebDataSource _notifyIconChanged:]):
317         (-[WebDataSource _loadIcon]):
318         (-[WebDataSource _iconLoaderReceivedPageIcon:]):
319
320 2006-08-17  Maciej Stachowiak  <mjs@apple.com>
321
322         Reviewed by Brady.
323         
324         - pull a bit of WebDataSource code into WebFrameLoader
325
326         * Loader/WebFrameLoader.m:
327         (-[WebFrameLoader _receivedError:]):
328         (-[WebFrameLoader webFrame]):
329         (-[WebFrameLoader _handleFallbackContent]):
330         (+[WebFrameLoader _canShowMIMEType:]):
331         (+[WebFrameLoader _representationExistsForURLScheme:]):
332         (+[WebFrameLoader _generatedMIMETypeForURLScheme:]):
333         * WebView/WebDataSource.m:
334         * WebView/WebDataSourceInternal.h:
335
336 2006-08-17  Timothy Hatcher  <timothy@apple.com>
337
338         Reviewed by Kevin Decker.
339
340         <rdar://problem/4606857> WebKit: WebPreferencesChangedNotification not exported in 64-bit
341
342         * WebKit.LP64.exp:
343
344 2006-08-17  Timothy Hatcher  <timothy@apple.com>
345
346         Reviewed by Kevin Decker.
347
348         <rdar://problem/4633896> -[WebView close] should clear all delegates and call setHostWindow:nil
349         <rdar://problem/4649759> Crash when selecting View Source menu using Chinese (-[WebView _close])
350
351         Check to make sure _private is not null. A WebView can be dealloced before _private is setup.
352         Set the _private->closed flag at the beginning of _close to prevent reentry.
353         Set the host window and all the delegates to nil in _close.
354
355         * WebView/WebView.m:
356         (-[WebView _close]):
357
358 2006-08-16  Brady Eidson  <beidson@apple.com>
359
360         Reviewed by Maciej
361
362         * Misc/WebIconDatabase.m: Pruned unused method
363         * Misc/WebIconDatabasePrivate.h: Ditto
364
365
366 2006-08-15  Maciej Stachowiak  <mjs@apple.com>
367
368         Reviewed by Adele (preliminary version) and later by Kevin.
369         
370         - remove most WebKit dependencies from WebMainResourceLoader.
371
372         * Loader/WebFrameLoader.h:
373         * Loader/WebFrameLoader.m:
374         (-[WebFrameLoader cannotShowMIMETypeForURL:]):
375         (-[WebFrameLoader interruptForPolicyChangeErrorWithRequest:]):
376         (-[WebFrameLoader isHostedByObjectElement]):
377         (-[WebFrameLoader isLoadingMainFrame]):
378         (+[WebFrameLoader _canShowMIMEType:]):
379         (+[WebFrameLoader _representationExistsForURLScheme:]):
380         (+[WebFrameLoader _generatedMIMETypeForURLScheme:]):
381         * Loader/WebMainResourceLoader.h:
382         * Loader/WebMainResourceLoader.m:
383         (-[WebMainResourceLoader interruptForPolicyChangeError]):
384         (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
385         (isCaseInsensitiveEqual):
386         (shouldLoadAsEmptyDocument):
387         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
388         (-[WebMainResourceLoader didReceiveResponse:]):
389         (-[WebMainResourceLoader didReceiveData:lengthReceived:allAtOnce:]):
390         (-[WebMainResourceLoader didFinishLoading]):
391         (-[WebMainResourceLoader loadWithRequestNow:]):
392         (-[WebMainResourceLoader loadWithRequest:]):
393
394 2006-08-15  Tim Omernick  <timo@apple.com>
395
396         Reviewed by Kevin Decker.
397
398         * Plugins/WebNetscapePluginPackage.m:
399         (-[WebNetscapePluginPackage _unloadWithShutdown:]):
400         Fixed a subtle problem with the 64-bit debug build -- as written, this would LOG() on 64-bit and do nothing on
401         32-bit!
402         * Plugins/WebPluginDatabase.m:
403         (-[WebPluginDatabase _scanForNewPlugins]):
404         Use +[NSMutableSet set] here.
405
406 2006-08-15  Tim Omernick  <timo@apple.com>
407
408         Reviewed by Darin Adler.
409
410         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8980>
411         ASSERTION FAILED: !isLoaded (WebKit/WebKit/Plugins/WebBasePluginPackage.m:228 -[WebBasePluginPackage dealloc])
412
413         <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc] running layout tests (8980)
414         
415         * Plugins/WebPluginDatabase.h:
416         * Plugins/WebPluginDatabase.m:
417         (+[WebPluginDatabase installedPlugins]):
418         Observe NSApplicationWillTerminateNotification so we can unload plug-ins on quit.
419         (-[WebPluginDatabase plugins]):
420         'plugins' is now a dictionary.
421         (-[WebPluginDatabase close]):
422         Call new -_removePlugin: method.
423         (-[WebPluginDatabase refresh]):
424         Moved parts of this method out into other methods: -_addPlugin:, -_removePlugin:, and -_scanForNewPlugins.
425         (-[WebPluginDatabase _plugInPaths]):
426         No changes; just moved in file.
427         (-[WebPluginDatabase _addPlugin:]):
428         New method.  Refactored from -refresh.  Adds a plug-in to the database.
429         (-[WebPluginDatabase _removePlugin:]):
430         New method.  Refactored from -refresh.  Remove a plug-in from the database.
431         (-[WebPluginDatabase _scanForNewPlugins]):
432         New method.  Refactored from -refresh.  Returns the list of plug-in packages on disk.
433         (-[WebPluginDatabase _applicationWillTerminate]):
434         New method.  Called when the application terminates.  Closes the plug-in database so that all plug-ins are
435         removed from the DB (and unloaded if necessary).
436
437         * Plugins/WebBasePluginPackage.h:
438         * Plugins/WebBasePluginPackage.m:
439         (-[WebBasePluginPackage initWithPath:]):
440         Try to create the NSBundle first, so if the file is not a valid bundle we bail out early.  This
441         avoids some stat()s and allocations during the plug-in refresh process.
442         (-[WebBasePluginPackage isLoaded]):
443         Removed.
444         (-[WebBasePluginPackage load]):
445         Base class for plug-in packages now always loads "successfully".
446         (-[WebBasePluginPackage dealloc]):
447         Removed this assertion.  The base plug-in package class has no concept of
448         "unloading".
449         (-[WebBasePluginPackage finalize]):
450         ditto.
451         (-[WebBasePluginPackage wasRemovedFromPluginDatabase:]):
452         Moved code to unload plug-in package to WebNetscapePluginPackage.  Not all plug-in
453         packages can be "unloaded".
454
455         * Plugins/WebNetscapePluginPackage.h:
456         * Plugins/WebNetscapePluginPackage.m:
457         (-[WebNetscapePluginPackage _unloadWithShutdown:]):
458         Combined old -unload and -unloadWithoutShutdown methods into this new one.
459         (-[WebNetscapePluginPackage initWithPath:]):
460         Call new unload method.
461         (-[WebNetscapePluginPackage load]):
462         ditto
463         (-[WebNetscapePluginPackage wasRemovedFromPluginDatabase:]):
464         ditto
465         (-[WebNetscapePluginPackage open]):
466         New method.  Called when a plug-in instance starts running.
467         (-[WebNetscapePluginPackage close]):
468         New method.  Called when a plug-in instance stops running.  When all plug-in instances
469         close the plug-in package, and the plug-in package is removed from the database, the plug-in
470         is unloaded.
471
472         * Plugins/WebPluginPackage.m:
473         (-[WebPluginPackage initWithPath:]):
474         (-[WebPluginPackage load]):
475         Made this a bit more efficient by checking if the bundle is already loaded.
476         (-[WebBasePluginPackage unload]):
477         Removed.
478         (-[WebBasePluginPackage isLoaded]):
479         Removed.
480
481         * Plugins/WebBaseNetscapePluginView.m:
482         (-[WebBaseNetscapePluginView start]):
483         Open the plug-in package so it remains loaded while this instance uses it.
484         (-[WebBaseNetscapePluginView stop]):
485         Close the plug-in package when the plug-in instance is stopped.
486         
487         * Plugins/WebBaseNetscapePluginStream.m:
488         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
489         This check is not necessary.  Netscape plug-in packages are never unloaded until all their instances have
490         been stopped, and a Netscape plug-in instance will stop its streams when it is stopped.
491         (-[WebBaseNetscapePluginStream _destroyStream]):
492         ditto
493         (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
494         ditto
495         (-[WebBaseNetscapePluginStream _deliverData]):
496         ditto
497
498 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
499
500         Reviewed by Tim H.
501
502         Build fix:  DWARF and -gfull are incompatible with symbol separation.
503
504         * WebKit.xcodeproj/project.pbxproj:
505
506 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
507
508         Reviewed by Tim H.
509
510         http://bugzilla.opendarwin.org/show_bug.cgi?id=10394
511         Bug 10394: WebKit Release and Production configurations should enable dead code stripping
512
513         * WebKit.xcodeproj/project.pbxproj:
514
515 2006-08-15  Maciej Stachowiak  <mjs@apple.com>
516
517         Reviewed by Anders.
518         
519         - remove WebKit dependencies from WebPlugInStreamLoader via a protocol veil of ignorance
520
521         * Loader/WebNetscapePlugInStreamLoader.h:
522         * Loader/WebNetscapePlugInStreamLoader.m:
523         (-[WebNetscapePlugInStreamLoader initWithDelegate:frameLoader:]):
524         * Loader/WebPlugInStreamLoaderDelegate.h: Added.
525         * Plugins/WebBaseNetscapePluginStream.h:
526         * Plugins/WebNetscapePluginStream.m:
527         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
528         * WebKit.xcodeproj/project.pbxproj:
529
530 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
531
532         Reviewed by Tim H.
533
534         http://bugzilla.opendarwin.org/show_bug.cgi?id=10384
535         Bug 10384: Switch to DWARF for Release configuration
536
537         * WebKit.xcodeproj/project.pbxproj:
538
539 2006-08-15  Graham Dennis  <graham.dennis@gmail.com>
540
541         Reviewed by Darin.
542         
543         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10314
544           WebUnarchivingState archivedResourceForURL: doesn't work
545
546         * WebView/WebUnarchivingState.m:
547         (-[WebUnarchivingState archivedResourceForURL:]):
548         Fixed to get objects from the archived resources dictionary using
549         the URL as a string instead of as the URL itself (as this is how
550         the data is put into the dictionary).
551
552 2006-08-14  Maciej Stachowiak  <mjs@apple.com>
553
554         Reviewed by Beth.
555         
556         - remove many (but not all) WebKit dependencies from WebNetscapePlugInStreamLoader (it still 
557         depends on WebNetscapePluginStream).
558
559         * Loader/WebFrameLoader.h:
560         * Loader/WebFrameLoader.m:
561         (-[WebFrameLoader fileDoesNotExistErrorWithResponse:]):
562         * Loader/WebNetscapePlugInStreamLoader.h:
563         * Loader/WebNetscapePlugInStreamLoader.m:
564         (-[WebNetscapePlugInStreamLoader initWithStream:frameLoader:]):
565         (-[WebNetscapePlugInStreamLoader releaseResources]):
566         (-[WebNetscapePlugInStreamLoader didReceiveResponse:]):
567         * Plugins/WebNetscapePluginStream.m:
568         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
569
570 2006-08-14  Maciej Stachowiak  <mjs@apple.com>
571
572         Reviewed by Tim Omernick.
573         
574         - fixed REGRESSION: crash when leaving youtube page while movie is still loading
575         http://bugzilla.opendarwin.org/show_bug.cgi?id=10398
576
577         * Loader/WebNetscapePlugInStreamLoader.m:
578         (-[WebNetscapePlugInStreamLoader initWithStream:view:]): Set the frame loader for this stream.
579         (-[WebNetscapePlugInStreamLoader cancelWithError:]): Make sure to destroy the stream as well;
580         otherwise, when we try to clean up later, we won't have the right context.
581
582 2006-08-14  David Hyatt  <hyatt@apple.com>
583
584         Fix for Radar bug 4478840, Safari should not reduce null events sent to
585         plug-ins in windows that are inactive but visible.
586
587         With this fix you can view videos in visible background windows on YouTube
588         (for example) and not see any drop in frame rate.
589
590         Reviewed by timo
591
592         * Plugins/WebBaseNetscapePluginView.m:
593         (-[WebBaseNetscapePluginView restartNullEvents]):
594
595 2006-08-14  Maciej Stachowiak  <mjs@apple.com>
596
597         Reviewed by Brady.
598         
599         - removed WebKit-level dependencies from WebFormDataStream. Use WebCore version of system interface
600
601         * Loader/WebFormDataStream.m:
602         (formCanRead):
603         (formEventCallback):
604         (webSetHTTPBody):
605         * WebCoreSupport/WebSystemInterface.m:
606         (InitWebCoreSystemInterface):
607
608 2006-08-14  Maciej Stachowiak  <mjs@apple.com>
609
610         Rubber stamped by Brady.
611         
612         - move WebFormDataStream from WebView to Loader
613
614         * WebKit.xcodeproj/project.pbxproj:
615         * WebView/WebFormDataStream.h: Removed.
616         * WebView/WebFormDataStream.m: Removed.
617
618 2006-08-13  Maciej Stachowiak  <mjs@apple.com>
619
620         Reviewed by Brady.
621         
622         - remove WebKit dependencies from WebSubresourceLoader, except WebFormDataStream
623         
624         (WebFormDataStream will be moved into the Loader directory soon)
625
626         * Loader/WebFrameLoader.h:
627         * Loader/WebFrameLoader.m:
628         (-[WebFrameLoader _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
629         * Loader/WebSubresourceLoader.m:
630         (isConditionalRequest):
631         (hasCaseInsensitivePrefix):
632         (isFileURLString):
633         (setHTTPReferrer):
634         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
635
636 2006-08-13  Brady Eidson  <beidson@apple.com>
637
638         Reviewed by Maciej
639
640         Relocated the WebIconLoaders
641
642         * Misc/WebIconLoader.h: Moved to Loader/
643         * Misc/WebIconLoader.m: Moved to Loader/
644         * WebKit.xcodeproj/project.pbxproj:
645
646 2006-08-13  Maciej Stachowiak  <mjs@apple.com>
647
648         Reviewed by Beth.
649         
650         - removed non-Loader WebKit dependencies from WebDataProtocol for
651         real (whoops) and fix some typos.
652
653         * Loader/WebDataProtocol.m:
654         (isCaseInsensitiveEqual): Added.
655         (+[WebDataProtocol _webIsDataProtocolURL:]): Avoid WebKit calls.
656         (-[WebDataProtocol startLoading]): ditto
657         * Loader/WebFrameLoader.m:
658         (isCaseInsensitiveEqual): Fixed spelling from isCaseSensitiveEqual.
659         (-[WebFrameLoader _canUseResourceForRequest:]): Use proper call.
660
661 2006-08-13  Brady Eidson  <beidson@apple.com>
662
663         Reviewed by Maciej
664
665         The way of detecting a failed icon load before was to try and construct
666         an image from the icon and if that image construction failed, mark the icon
667         as missing.  
668         A much more efficient way is to check for an error response.  We'll still
669         check for invalid image data, but most servers will correctly return an HTTP 
670         error on a missing icon.
671         
672         * Misc/WebIconLoader.m:
673         (-[WebIconLoader didFinishLoading]): Added check for http error response
674
675 2006-08-13  Maciej Stachowiak  <mjs@apple.com>
676
677         Reviewed by Darin.
678         
679         - remove all non-Loader dependencies from WebLoader
680         
681         As part of this I moved WebDataProtocol to the loader directory
682         and removed dependencies on the rest of WebKit from that too.
683
684         * Loader/WebFrameLoader.h:
685         * Loader/WebFrameLoader.m:
686         (-[WebFrameLoader setDefersCallbacks:]):
687         (-[WebFrameLoader stopLoading]):
688         (-[WebFrameLoader cancelledErrorWithRequest:]):
689         (-[WebFrameLoader clearArchivedResources]):
690         (-[WebFrameLoader deliverArchivedResources]):
691         (-[WebFrameLoader deliverArchivedResourcesAfterDelay]):
692         (isCaseSensitiveEqual):
693         (-[WebFrameLoader _canUseResourceForRequest:]):
694         (-[WebFrameLoader _canUseResourceWithResponse:]):
695         (-[WebFrameLoader pendingArchivedResources]):
696         (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
697         (-[WebFrameLoader archiveLoadPendingForLoader:]):
698         (-[WebFrameLoader cancelPendingArchiveLoadForLoader:]):
699         * Loader/WebLoader.h:
700         * Loader/WebLoader.m:
701         (-[NSURLProtocol releaseResources]):
702         (-[NSURLProtocol loadWithRequest:]):
703         (-[NSURLProtocol setDefersCallbacks:]):
704         (-[NSURLProtocol addData:allAtOnce:]):
705         (-[NSURLProtocol resourceData]):
706         (-[NSURLProtocol didReceiveData:lengthReceived:allAtOnce:]):
707         (-[NSURLProtocol connection:didReceiveData:lengthReceived:]):
708         (-[NSURLProtocol cancelWithError:]):
709         (-[NSURLProtocol cancelledError]):
710         * Loader/WebMainResourceLoader.m:
711         (-[WebMainResourceLoader addData:allAtOnce:]):
712         (-[WebMainResourceLoader didReceiveData:lengthReceived:allAtOnce:]):
713         * Loader/WebNetscapePlugInStreamLoader.m:
714         (-[WebNetscapePlugInStreamLoader didReceiveData:lengthReceived:allAtOnce:]):
715         * Loader/WebSubresourceLoader.m:
716         (-[WebSubresourceLoader didReceiveData:lengthReceived:allAtOnce:]):
717         * WebKit.xcodeproj/project.pbxproj:
718         * WebView/WebDataProtocol.h: Removed.
719         * WebView/WebDataProtocol.m: Removed.
720
721 2006-08-11  Tim Omernick  <timo@apple.com>
722
723         Reviewed by Darin.
724
725         <http://bugzilla.opendarwin.org/show_bug.cgi?id=10111> - Menu flickers over Flash content
726         <rdar://problem/3052546> Plugins don't work with z-index (overlapping elements, etc.)
727
728         * Plugins/WebBaseNetscapePluginView.m:
729         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
730         Don't just clip to the dirty region for "transparent" plug-ins -- do it for all plug-ins.  This is a
731         generally useful thing to do, as it prevents the plug-in from drawing over parts of the window that
732         have already been drawn and are not expected to be redrawn in the same update.
733
734 2006-08-11  Brady Eidson  <beidson@apple.com>
735
736         Reviewed by John, Timo, Adele, and Darin
737
738         In addition to a few style/good-practice cleanups, this patch will convert the old icon database
739         format to the WebCore format if the WebCore db is empty (implying this conversion has yet to take
740         place).  After the conversion, it will delete all traces of the old format to free the unneeded space
741
742         * Misc/WebIconDatabase.m:
743         (-[WebIconDatabase init]):  
744         (-[WebIconDatabase _setIconURL:forURL:]):  Changed the bridge's name for this method to be more clear
745         (-[WebIconDatabase _createFileDatabase]):  
746         (-[WebIconDatabase _iconDataForIconURL:]):  This grabs the raw data for use in the conversion function
747         (-[WebIconDatabase _convertToWebCoreFormat]):  This does the actual conversion
748
749 2006-08-11  Tim Omernick  <timo@apple.com>
750
751         Reviewed by John Sullivan.
752         
753         Needed for <rdar://problem/4678070>.
754
755         * Plugins/WebBaseNetscapePluginView.m:
756         (-[WebBaseNetscapePluginView sendEvent:]):
757         Changed an assertion to an early return.  It should be possible to send events, especially updateEvt (for image capturing
758         purposes), to off-screen plug-ins.  It just doesn't work right now.  See <rdar://problem/4318269>.
759
760 2006-08-11  John Sullivan  <sullivan@apple.com>
761
762         Reviewed by Darin
763         
764         - fixed <rdar://problem/4522894> Would be nice if Safari shrank pages a little if necessary 
765         to avoid printing an almost-empty page
766
767         * WebView/WebHTMLView.m:
768         (-[NSArray knowsPageRange:]):
769         If the last page has a short-enough orphan (< 1/10 of the page height is the number I pulled
770         out of ... the air), then we adjust the scale factor slightly and check whether this reduces
771         the page count and thus eliminates the orphan.
772         
773 2006-08-07  Brady Eidson  <beidson@apple.com>
774
775         Reviewed by Anders and John
776
777         * Misc/WebIconDatabase.m:
778         (-[WebIconDatabase init]):
779         (-[WebIconDatabase isIconExpiredForIconURL:]): Get if an icon expired
780         (-[WebIconDatabase isIconExpiredForPageURL:]): Ditto
781         (-[WebIconDatabase _setIconURL:forURL:]):
782         (-[WebIconDatabase _sendNotificationForURL:]): Moved to WebKitPendingPublic for use outside of WebIconDatabase
783         (-[WebIconDatabase loadIconFromURL:]): Allow a load outside the context of a page load
784         * Misc/WebIconDatabasePrivate.h:
785
786         * Misc/WebIconLoader.m:
787         (-[WebIconLoader didFinishLoading]): fixed up the "flipping the switch" #defs a bit
788         (-[WebIconLoader willSendRequest:redirectResponse:]): override to allow a load
789         outside of the context of a page load
790
791         * WebCoreSupport/WebIconDatabaseBridge.h: Added.
792         * WebCoreSupport/WebIconDatabaseBridge.m: Added.
793         (-[WebIconDatabaseBridge init]):
794         (-[WebIconDatabaseBridge dealloc]):
795         (-[WebIconDatabaseBridge loadIconFromURL:]):  Kick off a load on an icon outside
796         of the context of any page load
797         (-[WebIconDatabaseBridge _setIconData:forIconURL:]):  WebKit side of bridge method
798         (-[WebIconDatabaseBridge _setHaveNoIconForIconURL:]):  WebKit side of bridge method
799         (-[WebIconDatabaseBridge releaseCachedLoaderForIconURL:]): 
800         (+[WebIconDatabaseBridge sharedBridgeInstance]): Moved this from WebCore to WebKit
801         so both sides of the bridge get the WebKit version
802         * WebKit.xcodeproj/project.pbxproj: Added some files
803         * WebView/WebDataSource.m:
804         (-[WebDataSource _loadIcon]): Added check for reload/expired icon to force
805         a load even if we already have it
806
807 2006-08-04  Sam Weinig  <sam.weinig@gmail.com>
808
809         Reviewed by Darin.
810
811         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10192
812           Make WebCore (and friends) compile with -Wshorten-64-to-32
813
814           * Adds 'f' to float literals where expecting a float.
815           * Use ceilf() instead of ceil() when assigning to a float.
816           * Adds explicit casts where OK.
817           
818           NOTE: The -Wshorten-64-to-32 flag was not added for WebKit
819           because there are still a few places where no error handling 
820           is in place.  The flag can be added as soon as those are worked
821           out.
822
823         * Misc/WebNSControlExtras.m:
824         (-[NSControl sizeToFitAndAdjustWindowHeight]):
825         * Misc/WebNSImageExtras.m:
826         (-[NSImage _web_scaleToMaxSize:]):
827         * Misc/WebNSViewExtras.h:
828         * Misc/WebNSViewExtras.m:
829         * Plugins/WebBaseNetscapePluginView.m:
830         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
831         (-[WebBaseNetscapePluginView drawRect:]):
832         * WebCoreSupport/WebFrameBridge.m:
833         (-[WebFrameBridge expiresTimeForResponse:]):
834         * WebInspector/WebInspector.m:
835         (-[NSWindow window]):
836         (-[WebInspector treeViewScrollTo:]):
837         (-[WebInspector _updateSystemColors]):
838         (-[WebInspector webView:plugInViewWithArguments:]):
839         (-[WebInspector outlineView:objectValueForTableColumn:byItem:]):
840         * WebInspector/WebInspectorOutlineView.m:
841         (-[WebInspectorOutlineView _highlightRow:clipRect:]):
842         * WebInspector/WebNodeHighlight.m:
843         (-[WebNodeHighlight initWithBounds:andRects:forView:]):
844         * WebInspector/WebNodeHighlightView.m:
845         (-[WebNodeHighlightView roundedRect:withRadius:]):
846         (-[WebNodeHighlightView initWithHighlight:andRects:forView:]):
847         (-[WebNodeHighlightView drawRect:]):
848         * WebView/WebFrame.m:
849         (-[WebFrame _opened]):
850         * WebView/WebFrameView.m:
851         (-[WebFrameView initWithFrame:]):
852         * WebView/WebHTMLView.m:
853         (-[WebHTMLView _dragImageForLinkElement:]):
854         (-[WebHTMLView _web_setPrintingModeRecursive]):
855         (-[WebHTMLView _web_clearPrintingModeRecursive]):
856         (-[NSArray layout]):
857         (-[NSArray _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
858         (-[NSArray adjustPageHeightNew:top:bottom:limit:]):
859         (-[NSArray _scaleFactorForPrintOperation:]):
860         (-[NSArray setPageWidthForPrinting:]):
861         (-[NSArray _endPrintMode]):
862         (-[NSArray knowsPageRange:]):
863         (-[NSArray _originalFontA]):
864         (-[NSArray _originalFontB]):
865         (-[WebTextCompleteController _buildUI]):
866         (-[WebTextCompleteController _placePopupWindow:]):
867         * WebView/WebPDFView.m:
868         (-[WebPDFView _makeTextStandardSize:]):
869         (-[WebPDFView selectionImageForcingWhiteText:]):
870         (-[PDFPrefUpdatingProxy forwardInvocation:]):
871         * WebView/WebPreferences.m:
872         (-[WebPreferences _floatValueForKey:]):
873         * WebView/WebView.m:
874         (-[WebView makeTextSmaller:]):
875         (-[WebView canMakeTextStandardSize]):
876         (-[WebView makeTextStandardSize:]):
877
878 2006-08-04  David Kilzer  <ddkilzer@kilzer.net>
879
880         Reviewed by NOBODY (build fix).
881
882         * WebCoreSupport/WebSubresourceLoader.m: REALLY moved to Loader/
883         * WebView/WebFrameLoader.h: REALLY moved to Loader/
884         * WebView/WebFrameLoader.m: REALLY moved to Loader/
885         * WebView/WebLoader.h: REALLY moved to Loader/
886         * WebView/WebLoader.m: REALLY moved to Loader/
887         * WebView/WebMainResourceLoader.m: REALLY moved to Loader/
888
889 2006-08-03  Maciej Stachowiak  <mjs@apple.com>
890
891         Reviewed by Darin.
892         
893         - moved all loader code that is slated to be moved down to WebCore to a new Loader directory
894         
895         (next step is to remove dependencies on the rest of WebKit from this directory)
896
897         * Loader/WebNetscapePlugInStreamLoader.h: Added.
898         * Loader/WebNetscapePlugInStreamLoader.m: Added. Cut out of WebNetscapePluginStream.m
899         (-[WebNetscapePlugInStreamLoader initWithStream:view:]):
900         (-[WebNetscapePlugInStreamLoader isDone]):
901         (-[WebNetscapePlugInStreamLoader releaseResources]):
902         (-[WebNetscapePlugInStreamLoader didReceiveResponse:]):
903         (-[WebNetscapePlugInStreamLoader didReceiveData:lengthReceived:]):
904         (-[WebNetscapePlugInStreamLoader didFinishLoading]):
905         (-[WebNetscapePlugInStreamLoader didFailWithError:]):
906         (-[WebNetscapePlugInStreamLoader cancelWithError:]):
907         * Plugins/WebNetscapePluginStream.m:
908         * WebKit.xcodeproj/project.pbxproj:
909         * WebCoreSupport/WebSubresourceLoader.h: Moved to Loader/
910         * WebCoreSupport/WebSubresourceLoader.m: Moved to Loader/
911         * WebView/WebFrameLoader.h: Moved to Loader/
912         * WebView/WebFrameLoader.m: Moved to Loader/
913         * WebView/WebLoader.h: Moved to Loader/
914         * WebView/WebLoader.m: Moved to Loader/
915         * WebView/WebMainResourceLoader.h: Moved to Loader/
916         * WebView/WebMainResourceLoader.m: Moved to Loader/
917
918 2006-08-03  Tim Omernick  <timo@apple.com>
919
920         Reviewed by Kevin Decker.
921
922         <rdar://problem/4667460> Windowless OpenGL plug-ins render incorrectly on PowerPC
923
924         * Plugins/WebBaseNetscapePluginView.m:
925         (-[WebBaseNetscapePluginView _aglOffscreenImageForDrawingInRect:]):
926         Fixed color component swapping so that it works on both x86 and PPC.  See comments.
927
928 2006-08-03  Brady Eidson  <beidson@apple.com>
929
930         Reviewed by Tim Hatcher's rubber stamp
931         Fixed Intel build break caused by weinig's -W change in r15781
932
933         * WebView/WebView.m: wrapped cpu-dependent defs with defined() macro
934
935 2006-08-03  Maciej Stachowiak  <mjs@apple.com>
936
937         Reviewed by John.
938
939         - fixed problem that could cause assertion failures in Safari
940         
941         * Plugins/WebBaseNetscapePluginView.m:
942         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): Don't
943         allow a plugin to start new loads once its document is no longer the one actively loading.
944
945 2006-08-03  Maciej Stachowiak  <mjs@apple.com>
946
947         Reviewed by John.
948         
949         - remove use of WebDataSource from WebLoader and subclasses, just have them talk to the
950         WebFrameLoader instead. 
951         
952         For now this is done by forarding all the calls.
953
954         * Misc/WebIconLoader.m:
955         (-[WebIconLoader didFinishLoading]):
956         * Plugins/WebNetscapePluginStream.m:
957         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
958         (-[WebNetscapePluginStream start]):
959         (-[WebNetscapePlugInStreamLoader didFinishLoading]):
960         (-[WebNetscapePlugInStreamLoader didFailWithError:]):
961         (-[WebNetscapePlugInStreamLoader cancelWithError:]):
962         * WebCoreSupport/WebFrameBridge.m:
963         (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
964         (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
965         * WebCoreSupport/WebSubresourceLoader.h:
966         * WebCoreSupport/WebSubresourceLoader.m:
967         (-[WebSubresourceLoader initWithLoader:frameLoader:]):
968         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
969         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forFrameLoader:]):
970         (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forFrameLoader:]):
971         (-[WebSubresourceLoader receivedError:]):
972         (-[WebSubresourceLoader signalFinish]):
973         (-[WebSubresourceLoader didFailWithError:]):
974         (-[WebSubresourceLoader cancel]):
975         * WebKit.xcodeproj/project.pbxproj:
976         * WebView/WebDataSource.m:
977         (-[WebDataSource _updateLoading]):
978         (-[WebDataSource textEncodingName]):
979         (-[WebDataSource _mainReceivedBytesSoFar:complete:]):
980         * WebView/WebFrameLoader.h:
981         * WebView/WebFrameLoader.m:
982         (-[WebFrameLoader loadIconWithRequest:]):
983         (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
984         (-[WebFrameLoader clearIconLoader]):
985         (-[WebFrameLoader commitProvisionalLoad]):
986         (-[WebFrameLoader activeDataSource]):
987         (-[WebFrameLoader _archivedSubresourceForURL:]):
988         (-[WebFrameLoader _defersCallbacks]):
989         (-[WebFrameLoader _identifierForInitialRequest:]):
990         (-[WebFrameLoader _willSendRequest:forResource:redirectResponse:]):
991         (-[WebFrameLoader _didReceiveAuthenticationChallenge:forResource:]):
992         (-[WebFrameLoader _didCancelAuthenticationChallenge:forResource:]):
993         (-[WebFrameLoader _didReceiveResponse:forResource:]):
994         (-[WebFrameLoader _didReceiveData:contentLength:forResource:]):
995         (-[WebFrameLoader _didFinishLoadingForResource:]):
996         (-[WebFrameLoader _didFailLoadingWithError:forResource:]):
997         (-[WebFrameLoader _privateBrowsingEnabled]):
998         (-[WebFrameLoader _addPlugInStreamLoader:]):
999         (-[WebFrameLoader _removePlugInStreamLoader:]):
1000         (-[WebFrameLoader _finishedLoadingResource]):
1001         (-[WebFrameLoader _receivedError:]):
1002         (-[WebFrameLoader _addSubresourceLoader:]):
1003         (-[WebFrameLoader _removeSubresourceLoader:]):
1004         (-[WebFrameLoader _originalRequest]):
1005         (-[WebFrameLoader webFrame]):
1006         (-[WebFrameLoader _receivedMainResourceError:complete:]):
1007         (-[WebFrameLoader initialRequest]):
1008         (-[WebFrameLoader _receivedData:]):
1009         (-[WebFrameLoader _setRequest:]):
1010         (-[WebFrameLoader _downloadWithLoadingConnection:request:response:proxy:]):
1011         (-[WebFrameLoader _handleFallbackContent]):
1012         (-[WebFrameLoader _isStopping]):
1013         (-[WebFrameLoader _decidePolicyForMIMEType:decisionListener:]):
1014         (-[WebFrameLoader _setupForReplaceByMIMEType:]):
1015         (-[WebFrameLoader _setResponse:]):
1016         (-[WebFrameLoader _mainReceivedError:complete:]):
1017         (-[WebFrameLoader _finishedLoading]):
1018         (-[WebFrameLoader _mainReceivedBytesSoFar:complete:]):
1019         (-[WebFrameLoader _iconLoaderReceivedPageIcon:]):
1020         (-[WebFrameLoader _URL]):
1021         * WebView/WebLoader.h:
1022         * WebView/WebLoader.m:
1023         (-[NSURLProtocol releaseResources]):
1024         (-[NSURLProtocol loadWithRequest:]):
1025         (-[NSURLProtocol setFrameLoader:]):
1026         (-[NSURLProtocol frameLoader]):
1027         (-[NSURLProtocol willSendRequest:redirectResponse:]):
1028         (-[NSURLProtocol didReceiveAuthenticationChallenge:]):
1029         (-[NSURLProtocol didCancelAuthenticationChallenge:]):
1030         (-[NSURLProtocol didReceiveResponse:]):
1031         (-[NSURLProtocol didReceiveData:lengthReceived:]):
1032         (-[NSURLProtocol signalFinish]):
1033         (-[NSURLProtocol didFailWithError:]):
1034         (-[NSURLProtocol willCacheResponse:]):
1035         (-[NSURLProtocol cancelWithError:]):
1036         * WebView/WebMainResourceLoader.h:
1037         * WebView/WebMainResourceLoader.m:
1038         (-[WebMainResourceLoader initWithFrameLoader:]):
1039         (-[WebMainResourceLoader receivedError:]):
1040         (-[WebMainResourceLoader cancelWithError:]):
1041         (-[WebMainResourceLoader _isPostOrRedirectAfterPost:redirectResponse:]):
1042         (-[WebMainResourceLoader addData:]):
1043         (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
1044         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
1045         (-[WebMainResourceLoader continueAfterContentPolicy:]):
1046         (-[WebMainResourceLoader checkContentPolicyForResponse:]):
1047         (-[WebMainResourceLoader didReceiveResponse:]):
1048         (-[WebMainResourceLoader didReceiveData:lengthReceived:]):
1049         (-[WebMainResourceLoader didFinishLoading]):
1050         (-[WebMainResourceLoader didFailWithError:]):
1051         (-[WebMainResourceLoader loadWithRequestNow:]):
1052
1053 2006-08-03  Sam Weinig  <sam.weinig@gmail.com>
1054
1055         Reviewed by Darin.
1056
1057         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10176
1058           Make WebCore compile with -Wundef
1059
1060           * Adds -Wundef flag to Xcode project
1061           * Converts #ifs to #ifdef and #ifndefs where needed.
1062
1063         * Carbon/CarbonUtils.m:
1064         * Carbon/CarbonWindowAdapter.m:
1065         * Carbon/HIViewAdapter.m:
1066         (+[NSView bindHIViewToNSView:nsView:]):
1067         * Carbon/HIWebView.m:
1068         (HIWebViewEventHandler):
1069         * Misc/WebFileDatabase.m:
1070         (UniqueFilePathForKey):
1071         * Misc/WebNSWindowExtras.m:
1072         (swizzleInstanceMethod):
1073         * Misc/WebTypesInternal.h:
1074         * Plugins/WebNetscapeDeprecatedFunctions.c:
1075         * Plugins/WebNetscapeDeprecatedFunctions.h:
1076         * Plugins/WebNetscapePluginPackage.h:
1077         * Plugins/WebNetscapePluginPackage.m:
1078         (-[WebNetscapePluginPackage unloadWithoutShutdown]):
1079         (-[WebNetscapePluginPackage load]):
1080         * WebKit.xcodeproj/project.pbxproj:
1081
1082 2006-08-03  Darin Adler  <darin@apple.com>
1083
1084         Reviewed by Eric Seidel.
1085
1086         - fix storage leak
1087
1088         * WebView/WebFrame.m: (-[WebFramePrivate dealloc]): Release the frame loader.
1089
1090 2006-08-02  Timothy Hatcher  <timothy@apple.com>
1091
1092         Rubber stamped by Maciej.
1093
1094         Adding back resultsWithXpathQuery, removed by Darin's earlier change.
1095         This function is called from ObjC, but not used from JavaScript.
1096
1097         * WebInspector/webInspector/inspector.js:
1098
1099 2006-08-02  Timothy Hatcher  <timothy@apple.com>
1100
1101         Reviewed by Darin.
1102
1103         Bug 10200: [Drosera] Deadlock between Drosera and Safari while loading page
1104         http://bugzilla.opendarwin.org/show_bug.cgi?id=10200
1105
1106         Prevent reentrancy in our debugger callbacks. This was causing a deadlock in Drosera because
1107         suspendProcessIfPaused was being called during a DO call into Safari.
1108
1109         Preventing reentrancy also prevents scripts that Drosera injects and evaluates from showing
1110         up in rare cases (such as a iframe loading about:blank). I thought this would prevent cases
1111         where you call a function from the console and expect it to break on a breakpoint in them, but
1112         this appears to never have worked even without this change. When that is figured out we can
1113         reconsider a better solution to reentrancy. I have filed that as bug 10214.
1114
1115         I also removed the NSRunLoop runMode:beforeDate: calls since DO handles this for us since
1116         we don't use "onway void" as the return type for the callbacks. Note: using onway void for
1117         the listener callbacks causes bad synchronization issues and obscure crashes.
1118
1119         * DefaultDelegates/WebScriptDebugServer.m:
1120         (-[WebScriptDebugServer webView:didLoadMainResourceForDataSource:]):
1121         (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
1122         (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
1123         (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
1124         (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
1125         (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
1126         (-[WebScriptDebugServer webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
1127         * DefaultDelegates/WebScriptDebugServerPrivate.h:
1128
1129 2006-08-02  Maciej Stachowiak  <mjs@apple.com>
1130
1131         Reviewed by John.
1132         
1133         - fix assertion failure on layout tests by stopping plugins from loading at a clearly defined time
1134         - add more assertions for safety
1135
1136         * WebView/WebDataSource.m:
1137         (-[WebDataSourcePrivate dealloc]): Removed obsolete comment.
1138         (-[WebDataSource _updateLoading]): Add assertion ensuring this method is only called
1139         at a time when this data source is the one that might be loading for a frame.
1140         (-[WebDataSource _stopLoading]): Stop loading plugins as a FIXME suggests we should.
1141         * WebView/WebFrameLoader.m:
1142         (-[WebFrameLoader isLoadingPlugIns]): New helper method.
1143         (-[WebFrameLoader isLoading]): Consider plugin loads too - otherwise we won't stop them
1144         at stopLoading time.
1145
1146 2006-08-02  Adam Roben  <aroben@apple.com>
1147
1148         Reviewed by Brady.
1149
1150         - Rename TransferJob to ResourceLoader (this file was forgotten in an
1151         earlier change by Maciej)
1152
1153         * COM/WebView.cpp:
1154
1155 2006-08-01  Maciej Stachowiak  <mjs@apple.com>
1156
1157         Reviewed by Adele.
1158         
1159         - Change things around so WebFrameLoader tracks the main and provisional data source,
1160         as well as the frame load state, pulling much code out of WebFrame along the way.
1161         
1162         The most significant aspects of this change are:
1163         
1164         - management of WebDataSources and WebFrameState was moved into WebFrameLoader
1165         - there is now just one WebFrameLoader shared between the primary and provisional data source
1166
1167         * WebKit.xcodeproj/project.pbxproj:
1168         * WebView/WebDataSource.m:
1169         (-[WebDataSourcePrivate dealloc]):
1170         (-[WebDataSource _updateLoading]):
1171         (-[WebDataSource _loadIcon]):
1172         (-[WebDataSource _setPrimaryLoadComplete:]):
1173         (-[WebDataSource _stopLoading]):
1174         (-[WebDataSource _startLoading]):
1175         (-[WebDataSource _addSubresourceLoader:]):
1176         (-[WebDataSource _removeSubresourceLoader:]):
1177         (-[WebDataSource _addPlugInStreamLoader:]):
1178         (-[WebDataSource _removePlugInStreamLoader:]):
1179         (-[WebDataSource _defersCallbacksChanged]):
1180         (-[WebDataSource _stopLoadingWithError:]):
1181         (-[WebDataSource _revertToProvisionalState]):
1182         (-[WebDataSource _setupForReplaceByMIMEType:]):
1183         (-[WebDataSource initWithRequest:]):
1184         (-[WebDataSource data]):
1185         (-[WebDataSource isLoading]):
1186         * WebView/WebFrame.m:
1187         (-[WebFramePrivate init]):
1188         (-[WebFramePrivate dealloc]):
1189         (-[WebFrame _closeOldDataSources]):
1190         (-[WebFrame _detachFromParent]):
1191         (-[WebFrame _makeDocumentView]):
1192         (-[WebFrame _receivedMainResourceError:]):
1193         (-[WebFrame _transitionToCommitted:]):
1194         (+[WebFrame _timeOfLastCompletedLoad]):
1195         (-[WebFrame _checkLoadCompleteForThisFrame]):
1196         (-[WebFrame _loadItem:withLoadType:]):
1197         (-[WebFrame _continueAfterWillSubmitForm:]):
1198         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
1199         (-[WebFrame _initWithWebFrameView:webView:bridge:]):
1200         (-[WebFrame _frameLoader]):
1201         (-[WebFrame _provisionalLoadStarted]):
1202         (-[WebFrame _prepareForDataSourceReplacement]):
1203         (-[WebFrame _frameLoadCompleted]):
1204         (-[WebFrame provisionalDataSource]):
1205         (-[WebFrame dataSource]):
1206         (-[WebFrame stopLoading]):
1207         * WebView/WebFrameInternal.h:
1208         * WebView/WebFrameLoader.h:
1209         * WebView/WebFrameLoader.m:
1210         (-[WebFrameLoader initWithWebFrame:]):
1211         (-[WebFrameLoader dealloc]):
1212         (-[WebFrameLoader dataSource]):
1213         (-[WebFrameLoader _setDataSource:]):
1214         (-[WebFrameLoader clearDataSource]):
1215         (-[WebFrameLoader provisionalDataSource]):
1216         (-[WebFrameLoader _setProvisionalDataSource:]):
1217         (-[WebFrameLoader _clearProvisionalDataSource]):
1218         (-[WebFrameLoader state]):
1219         (+[WebFrameLoader timeOfLastCompletedLoad]):
1220         (-[WebFrameLoader _setState:]):
1221         (-[WebFrameLoader clearProvisionalLoad]):
1222         (-[WebFrameLoader markLoadComplete]):
1223         (-[WebFrameLoader commitProvisionalLoad]):
1224         (-[WebFrameLoader stopLoading]):
1225         (-[WebFrameLoader startLoading]):
1226         (-[WebFrameLoader startProvisionalLoad:]):
1227         (-[WebFrameLoader setupForReplace]):
1228         * WebView/WebFramePrivate.h:
1229
1230 2006-08-01  Tim Omernick  <timo@apple.com>
1231
1232         Reviewed by John Sullivan.
1233
1234         <rdar://problem/4480737> Flash crashes after it replaces itself via a document.write()
1235         
1236         I kind of hate to do this, but this is the best way to work around buggy plug-ins like Flash that assume that
1237         NPP_Destroy() cannot be called while the browser is calling one of its other plug-in functions.  The classic
1238         situation is a plug-in that replaces itself via an NPN_Invoke() that executes a document.write().
1239
1240         * Plugins/WebBaseNetscapePluginView.h:
1241         * Plugins/WebBaseNetscapePluginView.m:
1242         (-[WebBaseNetscapePluginView sendEvent:]):
1243         Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
1244         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
1245         ditto
1246         (-[WebBaseNetscapePluginView start]):
1247         It should not be possible to start a plug-in instance while we are calling into it (one of those chicken/egg
1248         problems).  Added a sanity-checking assertion.
1249         (-[WebBaseNetscapePluginView stop]):
1250         If we're already calling a plug-in function, do not call NPP_Destroy().  The plug-in function we are calling
1251         may assume that its instance->pdata, or other memory freed by NPP_Destroy(), is valid and unchanged until said
1252         plugin-function returns.
1253         (-[WebBaseNetscapePluginView pluginScriptableObject]):
1254         Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
1255         (-[WebBaseNetscapePluginView willCallPlugInFunction]):
1256         Increment plug-in function call depth.
1257         (-[WebBaseNetscapePluginView didCallPlugInFunction]):
1258         Decrement plug-in function call depth.  Stop if we're supposed to stop.
1259         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
1260         Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
1261         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
1262         ditto
1263         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
1264         ditto
1265
1266         * Plugins/WebBaseNetscapePluginStream.m:
1267         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
1268         Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
1269         (-[WebBaseNetscapePluginStream _destroyStream]):
1270         ditto
1271         (-[WebBaseNetscapePluginStream _deliverData]):
1272         ditto
1273
1274 2006-08-01  Maciej Stachowiak  <mjs@apple.com>
1275
1276         - fix build after last change
1277
1278         * WebView/WebFrame.m:
1279         (-[WebFrame _checkLoadCompleteForThisFrame]):
1280
1281 2006-08-01  Maciej Stachowiak  <mjs@apple.com>
1282
1283         Reviewed by Beth.
1284
1285         - revert part of my last fix that broke the Safari bookmarks view
1286         
1287         * WebView/WebFrame.m:
1288         (-[WebFrame _checkLoadCompleteForThisFrame]): still send layout message for non-HTML views
1289
1290 2006-08-01  Tim Omernick  <timo@apple.com>
1291
1292         Reviewed by Anders.
1293
1294         Fixed an assertion failure I ran into while debugging <rdar://problem/4652683>.
1295
1296         * Plugins/WebNetscapePluginEmbeddedView.m:
1297         (-[WebNetscapePluginEmbeddedView redeliverStream]):
1298         Don't clear the "instance" ivar here.  This code was refactored here from the old WebNetscapePluginRepresentation,
1299         which also had an "instance" ivar.  It is never appropriate to clear a plug-in view's instance.  That is done when
1300         the plug-in is destroyed.
1301
1302 2006-08-01  Maciej Stachowiak  <mjs@apple.com>
1303
1304         Reviewed by Geoff.
1305         
1306         - some refactoring in preparation for moving more stuff to WebFrameLoader.
1307
1308         * WebView/WebFrame.m:
1309         (-[WebFrame _clearDataSource]): 
1310         (-[WebFrame _detachFromParent]):
1311         (-[WebFrame _commitProvisionalLoad]):
1312         (-[WebFrame _transitionToCommitted:]):
1313         (-[WebFrame _clearProvisionalLoad]):
1314         (-[WebFrame _markLoadComplete]):
1315         (-[WebFrame _checkLoadCompleteForThisFrame]):
1316         (-[WebFrame _startProvisionalLoad:]):
1317         (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
1318         (-[WebFrame stopLoading]):
1319
1320 2006-07-31  Maciej Stachowiak  <mjs@apple.com>
1321
1322         Reviewed by Tim Hatcher.
1323         
1324         - renamed TransferJob to ResourceLoader in WebCore
1325
1326         * COM/WebFrame.cpp:
1327         (WebFrame::loadDataSource):
1328         (WebFrame::receivedRedirect):
1329         (WebFrame::receivedResponse):
1330         (WebFrame::receivedData):
1331         (WebFrame::receivedAllData):
1332         (WebFrame::setStatusText):
1333         * COM/WebFrame.h:
1334
1335 2006-07-31  Darin Adler  <darin@apple.com>
1336
1337         Reviewed by Maciej.
1338
1339         - omit the margin and padding boxes for display types where they are ignored
1340         - use CSS instead of properties for table spacing and padding as suggested by Tim H.
1341
1342         * WebInspector/webInspector/inspector.css: Added rules for spacing and padding.
1343         Added rules that hide the margin and padding boxes (borders and all but the center cell)
1344         when the hide attribute is present.
1345         * WebInspector/webInspector/inspector.html: Added classes for the rules above.
1346         Removed cellpadding and cellspacing attributes.
1347         * WebInspector/webInspector/inspector.js: Added code to hide/show the margin and
1348         padding boxes based on the display type.
1349
1350 2006-07-31  Duncan Wilcox  <duncan@mclink.it>
1351
1352         Reviewed by Darin.
1353
1354         Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=10159>
1355         "REGRESSION: delegate returning no menu elements crashes webkit"
1356
1357         No automated test, because there's no way to programmatically open a context menu,
1358         no manual test because there's no way to customize the context menu delegate.
1359
1360         * WebView/WebView.m:
1361         (-[WebView _menuForElement:defaultItems:]): Make sure the context menu returned
1362         some menu items before accessing the first one.
1363
1364 2006-07-31  Timothy Hatcher  <timothy@apple.com>
1365
1366         Reviewed by John.
1367
1368         <rdar://problem/4658194> REGRESSION: "Search in Google"
1369         and "Search in Spotlight" fail to work on text selected in a frame
1370
1371         Use selectedFrame to get the frame with the text selection.
1372
1373         * WebView/WebView.m:
1374         (-[WebView _searchWithGoogleFromMenu:]):
1375         (-[WebView _searchWithSpotlightFromMenu:]):
1376
1377 2006-07-31  Darin Adler  <darin@apple.com>
1378
1379         Reviewed by Tim Hatcher.
1380
1381         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10168
1382           add a first cut at a Metrics pane to the inspector
1383
1384         * WebInspector/webInspector/inspector.css: Add styles for the new metrics pane.
1385         * WebInspector/webInspector/inspector.html: Add the new metrics pane, starting with
1386         the table to show the box model.
1387         * WebInspector/webInspector/inspector.js: Add the new metrics pane. Add back some
1388         "title" attributes so we have more tooltips. Removed the optional parameter to
1389         getComputedStyle.
1390
1391 2006-07-31  Anders Carlsson  <acarlsson@apple.com>
1392
1393         Reviewed by John.
1394
1395         * Plugins/WebPluginDatabase.m:
1396         (-[WebPluginDatabase refresh]):
1397         Create a mutable set instead of a mutable array.
1398
1399 2006-07-30  Darin Adler  <darin@apple.com>
1400
1401         Reviewed by Tim Hatcher.
1402
1403         * WebInspector/webInspector/inspector.js: Fix bug where a null property value
1404         leads to an empty style pane.
1405
1406 2006-07-30  Darin Adler  <darin@apple.com>
1407
1408         Reviewed by Tim Hatcher.
1409
1410         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10163
1411           some improvements for the inspector
1412
1413         * WebInspector/WebInspector.m:
1414         (+[WebInspector sharedWebInspector:]): Fixed bug that could cause the inspector
1415         to be garbage collected if used in an application with GC enabled.
1416         (-[WebInspector dealloc]): Removed a call to a non-existent close method.
1417         (-[WebInspector window]): Added a custom WebPreferences object and called
1418         setPrivateBrowsingEnabled:YES so the inspector won't appear in the history menu.
1419         Also call setProhibitsMainFrameScrolling:YES to try to get rid of trouble where
1420         the inspector scrolls when dragging.
1421
1422         * WebInspector/webInspector/inspector.css: Added style for the new color swatch,
1423         and JavaScript properties. More of the style should be shared between the panes,
1424         but this should be OK for now.
1425
1426         * WebInspector/webInspector/inspector.html: Added a first cut at a JavaScript
1427         properties pane. Needs work, but better than nothing.
1428
1429         * WebInspector/webInspector/inspector.js: Lots of improvements:
1430         - Omit "typical" property values from computed style display, making it much shorter.
1431         - Use the words "black", "white", and "transparent" when appropriate for color values.
1432         - Refactored the loaded() function to get rid of repetitive scrollbar setup.
1433         - Added a new scrollarea for the JavaScript properties pane.
1434         - Simplified refreshScrollbars() -- we now refresh all scrollbars every time, which does no harm.
1435         - Removed unused resultsWithXpathQuery().
1436         - Use [] instead of "new Array()" and {} instead of "new Object()".
1437         - Removed unused xpathForNode().
1438         - Changed style pane to display the style for a text node's parent instead of saying
1439           it can't display the style for text.
1440         - Fixed regression I caused a while back by checking the length of a computed style
1441           and not trying to display anything if its length is 0. Before this change and the
1442           corresponding change in WebCore, we'd see a complete list of all styles with the
1443           empty string as the value for each one.
1444         - Changed the name of the computedStyle flag on the style rules array to isComputedStyle
1445           to make it easier to understand it's a boolean.
1446         - Fixed an error in the code that does !important scanning where it was trying to
1447           do a special case for computed style, but was checking the computed style flag on
1448           the wrong object.
1449         - Added populateStyleListItem() function to factor out things in common between the
1450           items in the top level list and the expanded tree for shorthand properties.
1451         - Added code to make a color swatch next to the textual representation for any
1452           property that contains a color.
1453         - Implemented a first cut at a simple JavaScript properties pane.
1454
1455 2006-07-29  Darin Adler  <darin@apple.com>
1456
1457         - Removed tabs from these source files that still had them.
1458           We don't use them; that way source files look fine in editors
1459           that have tabs set to 8 spaces or to 4 spaces.
1460         - Removed allow-tabs Subversion property from the files too.
1461
1462         * DefaultDelegates/WebDefaultPolicyDelegate.m:
1463         * History/WebHistory.m:
1464         * Misc/WebDownload.m:
1465         * Misc/WebIconDatabase.m:
1466         * Misc/WebKitErrors.m:
1467         * Misc/WebKitLogging.m:
1468         * Misc/WebNSDataExtras.m:
1469         * Misc/WebNSFileManagerExtras.m:
1470         * Panels/WebPanelAuthenticationHandler.m:
1471         * Plugins/WebBaseNetscapePluginView.m:
1472         * Plugins/npfunctions.h:
1473         * WebCoreSupport/WebSubresourceLoader.m:
1474         * WebView/WebMainResourceLoader.m:
1475         * WebView/WebView.h:
1476         * WebView/WebView.m:
1477
1478 2006-07-29  Sam Weinig  <sam.weinig@gmail.com>
1479
1480         Reviewed by Darin.
1481
1482         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10080
1483           Adopt pedantic changes from the Unity project to improve 
1484           cross-compiler compatibility
1485
1486           Changes include:
1487           * Adding missing newline to the end of the file.
1488           * Turning on gcc warning for missing newline at the end of a source file
1489             (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
1490
1491         * WebKit.xcodeproj/project.pbxproj:
1492         * WebView/WebResourcePrivate.h:
1493
1494 2006-07-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1495
1496         Reviewed by John Sullivan.
1497
1498          - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9984
1499           ASSERTION FAILURE: _private->mouseDownEvent != nil
1500           (WebKit/WebView/WebHTMLView.m:4863 -[WebHTMLView(WebInternal) _delegateDragSourceActionMask])
1501
1502         * WebView/WebHTMLView.m:
1503         (-[WebHTMLView _setMouseDownEvent:]): Moved into the WebHTMLViewFileInternal category and changed
1504         to accept nil.
1505         (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
1506         Copy the hit HTMLView's mouse down event to the top HTMLView.
1507         (-[WebHTMLView acceptsFirstMouse:]): Added a call to _setMouseDownEvent:nil before returning.
1508         (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): Added a call to _setMouseDownEvent:nil
1509         before returning.
1510         (-[WebHTMLView mouseUp:]): Added a call to _setMouseDownEvent:nil to clear the event set in
1511         mouseDown: (and used during dragging).
1512         (-[WebHTMLView _delegateDragSourceActionMask]): Copy the hit HTMLView's mouse down event to
1513         the top HTMLView.
1514
1515 2006-07-28  Timothy Hatcher  <timothy@apple.com>
1516
1517         Reviewed by John.
1518
1519         <rdar://problem/4657473> REGRESSION: Spell check not available from contextual menu in Mail
1520
1521         The context menu code should be checking isContentEditable
1522         on DOMNode not just DOMElement. This is needed because DOMText
1523         will be the node class of any text that is clicked.
1524
1525         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
1526         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
1527
1528 2006-07-25  Geoffrey Garen  <ggaren@apple.com>
1529
1530         Reviewed by Maciej, inspired by John.
1531         
1532         - Fixed <rdar://problem/4651931> 1% REGRESSION on iBench HTML due to 
1533         repeated requests for non-existent favicon
1534         
1535         An optimization to avoid serializing favicon data for missing icons had stomped an
1536         optimization to avoid GETing a missing favicon more than once. The solution
1537         is a happy marriage of optimizations, ensuring that we *retain* the missing
1538         favicon's "i am missing" data without posting a notification or saving it to disk.
1539
1540         * Misc/WebIconDatabase.m:
1541         (-[WebIconDatabase _setIconURL:forURL:]):
1542
1543 2006-07-25  David Harrison  <harrison@apple.com>
1544
1545         Reviewed by timo and Darin.
1546
1547         <rdar://problem/4618584> "Paste and Match Style" is not working in Mail (add SPI)
1548         
1549         * WebKit.xcodeproj/project.pbxproj:
1550         * WebView/WebView.m:
1551         (-[WebView replaceSelectionWithNode:]):
1552         (-[WebView _replaceSelectionWithNode:matchStyle:]):
1553         * WebView/WebViewPrivate.h:
1554         (-[WebView _replaceSelectionWithNode:matchStyle::]):
1555         New SPI that is same as replaceSelectionWithNode: with added parameter whether to match existing style.
1556
1557 2006-07-24  Darin Adler  <darin@apple.com>
1558
1559         Reviewed by Adele and Justin.
1560
1561         - update for change to require context when creating fragments from text
1562           (needed to handle whitespace properly)
1563
1564         * WebView/WebHTMLView.m:
1565         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
1566         Added context parameter, pass through to bridge.
1567         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Pass selection range as context
1568         when calling above method.
1569         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Pass drag caret as context when
1570         calling above method.
1571
1572 2006-07-24  Maciej Stachowiak  <mjs@apple.com>
1573
1574         Reviewed by Geoff.
1575         
1576         - fix <rdar://problem/4609195> Help Viewer loads empty window (not getting didFailLoadingWithError: callback)
1577         (without re-introducing http://bugzilla.opendarwin.org/show_bug.cgi?id=10062 )
1578
1579         * WebView/WebLoader.h:
1580         * WebView/WebMainResourceLoader.m:
1581         (-[WebMainResourceLoader receivedError:]): Copy in some code from the base class to do it in the proper
1582         order, surrounding the call to [ds _receivedMainResourceError:error complete:YES].
1583
1584 2006-07-24  Anders Carlsson  <acarlsson@apple.com>
1585
1586         Reviewed by Tim O.
1587
1588         * Misc/WebIconDatabase.m:
1589         (-[WebIconDatabase removeAllIcons]):
1590         Make an array of the keys and iterate through it to avoid modifying the
1591         dictionary while enumerating it.
1592
1593 2006-07-24  Timothy Hatcher  <timothy@apple.com>
1594
1595         Reviewed by John and Darin.
1596
1597         <rdar://problem/4634290> Cannot selectively install a custom
1598         scroller that differs from the default Aqua frame size.
1599
1600         Adds two new private methods to WebFrameView that allows
1601         an application to set a custom scroll view class. This is needed
1602         if the application wants to install a custom scroller that is wider
1603         than the typical scroller, because NSScrollView does the content
1604         rect calculations in a class method (ignoring custom scrollers.)
1605         The _setScrollViewClass method requires the class to be a subclass
1606         of WebDynamicScrollBarView, or nil can be passed to reset to the default class.
1607         A new scroll view of the specified class will then replace the previous
1608         one without the need to reload content of the frame.
1609
1610         * WebView/WebFrameView.m:
1611         (-[WebFrameView _customScrollViewClass]):
1612         (-[WebFrameView _setCustomScrollViewClass:]):
1613         * WebView/WebFrameViewPrivate.h:
1614
1615 2006-07-24  Alexey Proskuryakov  <ap@nypop.com>
1616
1617         Reviewed by Darin.
1618
1619         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10009
1620         REGRESSION: Schubert-IT PDF Plug-in not working for full page (works in frames)
1621
1622         * WebView/WebView.m:
1623         (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): If we've got a type supported by WebPDFView,
1624         make sure to initialize the plugin database, in case a plugin wants to handle it.
1625
1626 2006-07-23  Mark Rowe  <opendarwin.org@bdash.net.nz>
1627
1628         Reviewed by Maciej.
1629
1630         Bug 9686: [Drosera] Need the ability to break into Drosera on Javascript exceptions
1631         http://bugzilla.opendarwin.org/show_bug.cgi?id=9686
1632
1633         WebKit portion of the fix.
1634
1635         * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
1636         (-[WebDefaultScriptDebugDelegate webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
1637         * DefaultDelegates/WebScriptDebugServer.h:
1638         * DefaultDelegates/WebScriptDebugServer.m:
1639         (-[WebScriptDebugServer webView:exceptionWasRaised:sourceId:line:forWebFrame:]): Notify
1640         listeners that an exception has been raised.
1641         * WebView/WebScriptDebugDelegate.h:
1642         * WebView/WebScriptDebugDelegate.m:
1643         (-[WebScriptCallFrame exceptionRaised:sourceId:line:]): Dispatch through to delegate and
1644         WebScriptDebugServer.
1645
1646 2006-07-23  Adele Peterson  <adele@apple.com>
1647
1648         Reviewed by Darin.
1649
1650         - Fix for <rdar://problem/4646276> CrashTracer: 7 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::paint + 155
1651
1652         * WebView/WebHTMLView.m: (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
1653         needsDisplay was returning NO even though the view has a dirty rect (see <rdar://problem/4647062>).  Since we know about
1654         the dirty rect, we don't actually need to check needsDisplay.
1655
1656 2006-07-22  Timothy Hatcher  <timothy@apple.com>
1657
1658         Rolling out r15572.
1659         
1660         Bug 10062: REGRESSION: dom/xhtml/level2/html/HTMLIFrameElement11.xhtml asserts/crashes
1661         http://bugzilla.opendarwin.org/show_bug.cgi?id=10062
1662
1663     2006-07-21  Timothy Hatcher  <timothy@apple.com>
1664
1665         Reviewed by Maciej.
1666
1667         <rdar://problem/4609195> Help Viewer loads empty window
1668         (not getting didFailLoadingWithError: callback)
1669
1670         Call super's didFailWithError before _receivedMainResourceError
1671         because _receivedMainResourceError will cause the datasource's
1672         frame to be set to nil before the didFailLoadingWithError delegate
1673         callback is sent. (This order is needed now that WebDataSource does
1674         not hold on to the WebView; it uses the WebFrame to get to the WebView.
1675         If the WebFrame is nil we can't get to the WebView's resource load delegate.)
1676
1677         * WebView/WebMainResourceLoader.m:
1678         (-[WebMainResourceLoader receivedError:]):
1679
1680
1681 2006-07-22  Timothy Hatcher  <timothy@apple.com>
1682
1683         Reviewed by Adele.
1684
1685         <rdar://problem/4646318> REGRESSION: Ctrl-clicking on a selection containing a word doesn't display a complete contextual menu
1686         
1687         Show the editing context menu if the WebView is editible.
1688         The original change only checked if the DOM element was editable,
1689         and isContentEditable returns NO if entire WebView is editable.
1690
1691         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
1692         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
1693
1694 2006-07-21  Timothy Hatcher  <timothy@apple.com>
1695
1696         Reviewed by Maciej.
1697
1698         <rdar://problem/4609195> Help Viewer loads empty window
1699         (not getting didFailLoadingWithError: callback)
1700
1701         Call super's didFailWithError before _receivedMainResourceError
1702         because _receivedMainResourceError will cause the datasource's
1703         frame to be set to nil before the didFailLoadingWithError delegate
1704         callback is sent. (This order is needed now that WebDataSource does
1705         not hold on to the WebView; it uses the WebFrame to get to the WebView.
1706         If the WebFrame is nil we can't get to the WebView's resource load delegate.)
1707
1708         * WebView/WebMainResourceLoader.m:
1709         (-[WebMainResourceLoader receivedError:]):
1710
1711 === Safari-521.20 ===
1712
1713 2006-07-21  Timothy Hatcher  <timothy@apple.com>
1714
1715         Reviewed by John.
1716
1717         <rdar://problem/4607572> REGRESSION (521.10.1 - 521.13): most context menu items missing when a form field is focused (common on google.com) (9680)
1718
1719         Do not use _isEditable call since that only checks if the current
1720         selection or frame is editible. We now check if the currently clicked element
1721         is a content editible area, a textarea, an isindex or an input element that
1722         return YES to _isTextField.
1723
1724         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
1725         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
1726
1727 2006-07-20  John Sullivan  <sullivan@apple.com>
1728
1729         Reviewed by Maciej
1730
1731         - WebKit part of fix for:
1732         <rdar://problem/4557386> REGRESSION (419.3-521.19): repro Safari world leak involving 
1733         closing tabs after clicking in a web page
1734
1735         * WebCoreSupport/WebFrameBridge.m:
1736         (-[WebFrameBridge textViewWasFirstResponderAtMouseDownTime:]):
1737         renamed to be more specific (formerly wasFirstResponderAtMouseDownTime:)        
1738         
1739         * WebView/WebHTMLViewInternal.h:
1740         * WebView/WebHTMLView.m:
1741         (-[WebTextCompleteController dealloc]):
1742         updated for name change
1743         (-[NSArray _setMouseDownEvent:]):
1744         Now only retains the first responder if it's a textView, since that's the only case that the only client
1745         actually cares about. This avoids a reference cycle caused by retaining self. This is the only substantive
1746         part of the patch; all the rest is just renaming for clarity, and comments.
1747         (-[NSArray mouseDown:]):
1748         updated for name change
1749         (-[WebHTMLView _textViewWasFirstResponderAtMouseDownTime:]):
1750         renamed to be more specific (formerly _wasFirstResponderAtMouseDownTime:)        
1751
1752 2006-07-19  Tim Omernick  <timo@apple.com>
1753
1754         Reviewed by Darin.
1755
1756         <rdar://problem/4523432> safari crashed right after disabling "block pop up windows" (or other WebPreferences changes)
1757
1758         * Plugins/WebBaseNetscapePluginView.m:
1759         (-[WebBaseNetscapePluginView viewWillMoveToSuperview:]):
1760         Stop the plug-in when it is removed from its superview.  It is not sufficient to do this in -viewWillMoveToWindow:nil, because
1761         the WebView might still has a hostWindow at that point, which prevents the plug-in from being destroyed.
1762         There is no need to start the plug-in when moving into a superview.  -viewDidMoveToWindow takes care of that.
1763
1764 === Safari-521.19 ===
1765
1766 2006-07-17  Tim Omernick  <timo@apple.com>
1767
1768         Reviewed by Maciej.
1769
1770         <rdar://problem/4612079> need a way to prevent pages from scrolling to reveal elements that are focused
1771         by script
1772
1773         * WebView/WebViewPrivate.h:
1774         * WebView/WebView.m:
1775         (-[WebView setProhibitsMainFrameScrolling:]):
1776         New method.  Prohibits scrolling in the WebView's main frame.  Used to "lock" a WebView to a specific
1777         scroll position.
1778
1779 2006-07-17  Timothy Hatcher  <timothy@apple.com>
1780
1781         Reviewed by Darin.
1782         
1783         <rdar://problem/4635311> REGRESSION: WebKit should call windowScriptObjectAvailable before attaching the script debugger
1784
1785         * WebCoreSupport/WebFrameBridge.m:
1786         (-[WebFrameBridge windowObjectCleared]):
1787
1788 2006-07-17  Timothy Hatcher  <timothy@apple.com>
1789
1790         Reviewed by Maciej.
1791
1792         <rdar://problem/4634874> WebScriptObject and WebUndefined are no longer defined by WebKit
1793
1794         Copy WebScriptObject.h from WebCore's private headers, not JavaScriptCore.
1795
1796         * WebKit.xcodeproj/project.pbxproj:
1797
1798 2006-07-17  John Sullivan  <sullivan@apple.com>
1799
1800         Reviewed by Tim Omernick.
1801         
1802         - fixed <rdar://problem/4604366> Orange Find highlight displays text in wrong size on PDF pages 
1803         if they're not at "actual size"
1804         
1805         To match WebHTMLView, I made the methods that return attributed strings take the view's scale
1806         factor into account.
1807
1808         * WebView/WebPDFView.m:
1809         (-[WebPDFView _scaledAttributedString:]):
1810         new helper method, takes an attributed string and returns one that's scaled by the view's
1811         current scale factor
1812         (-[WebPDFView attributedString]):
1813         pass result through _scaledAttributedString:
1814         (-[WebPDFView selectedAttributedString]):
1815         ditto
1816
1817 2006-07-17  Justin Garcia  <justin.garcia@apple.com>
1818
1819         Reviewed by levi
1820         
1821         Rolled the first fix for:
1822         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
1823         GMail Editor: Operations that use drop down menus blow away the selection
1824         back in and removed the call to _clearSelectionInOtherFrames from 
1825         -[WebHTMLView becomeFirstResponder] to fix the bug.
1826
1827         * WebView/WebHTMLView.m:
1828         (-[NSArray maintainsInactiveSelection]):
1829         (-[NSArray becomeFirstResponder]):
1830         * WebView/WebView.m:
1831         (-[WebView maintainsInactiveSelection]):
1832
1833 2006-07-15  Darin Adler  <darin@apple.com>
1834
1835         Reviewed by John Sullivan.
1836
1837         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9928
1838           REGRESSION: Text Encoding menu inoperative (after gcc protocol build fix)
1839
1840         * WebView/WebHTMLView.m:
1841         (-[WebHTMLView _documentRange]): Moved into WebHTMLViewFileInternal category.
1842         (-[WebHTMLView selectionRect]): Moved into WebDocumentPrivateProtocols category.
1843         (-[WebHTMLView selectionView]): Ditto.
1844         (-[WebHTMLView selectionImageForcingWhiteText:]): Ditto.
1845         (-[WebHTMLView selectionImageRect]): Ditto.
1846         (-[WebHTMLView pasteboardTypesForSelection]): Ditto.
1847         (-[WebHTMLView selectAll]): Ditto.
1848         (-[WebHTMLView deselectAll]): Ditto.
1849         (-[WebHTMLView string]): Ditto.
1850         (-[WebHTMLView _attributeStringFromDOMRange:]): Ditto.
1851         (-[WebHTMLView attributedString]): Ditto.
1852         (-[WebHTMLView selectedString]): Ditto.
1853         (-[WebHTMLView selectedAttributedString]): Ditto.
1854         (-[WebHTMLView supportsTextEncoding]): Ditto.
1855         (-[WebHTMLView _canProcessDragWithDraggingInfo:]): Moved into WebDocumentInternalProtocols.
1856         (-[WebHTMLView _isMoveDrag]): Ditto.
1857         (-[WebHTMLView _isNSColorDrag:]): Ditto.
1858         (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Ditto.
1859         (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
1860         (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Ditto.
1861         (-[WebHTMLView elementAtPoint:]): Ditto.
1862         (-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto.
1863
1864         * WebKit.xcodeproj/project.pbxproj: Let Xcode 2.3 do its thing.
1865
1866 === Safari-521.17 ===
1867
1868 2006-07-14  Timothy Hatcher  <timothy@apple.com>
1869
1870         Rolling out this fix from r15358 since it isn't resolved.
1871
1872     2006-07-11  Justin Garcia  <justin.garcia@apple.com>
1873
1874         Reviewed by levi & thatcher
1875
1876         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
1877         GMail Editor: Operations that use drop down menus blow away the selection
1878
1879         * WebView/WebHTMLView.m:
1880         (-[WebHTMLView maintainsInactiveSelection]): Maintain an inactive selection
1881         when resigning as first responder if the selection is editable
1882         or if the WebView tells us to.
1883         * WebView/WebView.m:
1884         (-[WebView maintainsInactiveSelection]): Just because a WebView is
1885         editable doesn't mean selections inside subframes will be.  Return
1886         NO by default.
1887
1888 2006-07-14  Timothy Hatcher  <timothy@apple.com>
1889
1890         <rdar://problem/4623957> SWB: gcc-5412 (new?) objc warning causes WebCore project failure
1891
1892         Build fix with the new GCC. Removes forward declarations of protocols.
1893
1894         * Misc/WebSearchableTextView.h:
1895         * WebCoreSupport/WebSubresourceLoader.h:
1896         * WebKit.xcodeproj/project.pbxproj:
1897         * WebView/WebDocumentInternal.h:
1898         * WebView/WebDocumentPrivate.h:
1899         * WebView/WebHTMLView.h:
1900         * WebView/WebPDFView.h:
1901         * WebView/WebScriptDebugDelegatePrivate.h:
1902
1903 2006-06-28  Darin Adler  <darin@apple.com>
1904
1905         Reviewed by Adele.
1906
1907         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9625
1908           <rdar://problem/4604703>
1909           REGRESSION: Focus not removed from password field after ctrl-click in text field
1910
1911         * WebView/WebHTMLView.m: (-[WebHTMLView menuForEvent:]): Set handlingMouseDownEvent to
1912         YES while calling sendContextMenuEvent: on the bridge.
1913
1914 2006-07-14  Timothy Hatcher  <timothy@apple.com>
1915
1916         Reviewed by Maciej.
1917
1918         Moved JavaScriptCore to be a public framework.
1919
1920         * WebKit.xcodeproj/project.pbxproj:
1921
1922 2006-07-13  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1923
1924         Reviewed by Darin.
1925
1926         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9795
1927           REGRESSION: Crash in [WebHTMLView(WebPrivate) 
1928           _updateMouseoverWithEvent:]
1929           and http://bugzilla.opendarwin.org/show_bug.cgi?id=9850
1930           REGRESSION: Assertion failure (SHOULD NEVER BE REACHED) in -
1931           [WebHTMLView(WebPrivate) removeTrackingRect:]
1932
1933         * WebView/WebHTMLView.m:
1934         (-[WebHTMLView _updateMouseoverWithEvent:]): Return immediately if 
1935         the view has already been closed.
1936
1937 2006-07-13  David Harrison  <harrison@apple.com>
1938
1939         Reviewed by Justin and Levi.
1940
1941         <rdar://problem/4620743> REGRESSION: Option-Delete doesn't delete words during typing
1942
1943         * Tests:
1944         editing/deleting/delete-by-word-001.html
1945         editing/deleting/delete-by-word-002.html
1946
1947         * WebView/WebHTMLView.m:
1948         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
1949
1950 2006-07-13  Timothy Hatcher  <timothy@apple.com>
1951
1952         Rolling out this earlier change (r15378) now that it is fixed on AGL's end.
1953         Fixes <rdar://problem/4624865> Restore 64-bit OpenGL plug-in support once AGL is 64-bit
1954
1955         <rdar://problem/4624858> AGL isn't 64-bit yet; temporarily remove it from WebKit 64-bit build
1956
1957         * Plugins/WebBaseNetscapePluginView.h:
1958         * Plugins/WebBaseNetscapePluginView.m:
1959
1960 2006-07-13  Timothy Hatcher  <timothy@apple.com>
1961
1962         Reviewed by Darin.
1963
1964         <rdar://problem/4616920> REGRESSION: tabbing in mail moves focus
1965         to next control instead of inserting a tab space.
1966
1967         Change editible WebView's tabKeyCyclesThroughElements to NO only
1968         if the setTabKeyCyclesThroughElements SPI wasn't called.
1969
1970         * WebView/WebView.m:
1971         (-[WebView setEditable:]):
1972
1973 2006-07-12  Anders Carlsson  <acarlsson@apple.com>
1974
1975         Reviewed by Darin.
1976
1977         http://bugzilla.opendarwin.org/show_bug.cgi?id=9624
1978         REGRESSION: After ctrl-clicking in a EMPTY input or textarea field, the contextual menu shows "Search in Google" and "Search in Spotlight" as active menu items
1979
1980         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
1981         (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
1982         Don't create Dictionary, Spotlight or Google lookup items if there's no selection.
1983
1984 2006-07-12  Mark Rowe  <opendarwin.org@bdash.net.nz>
1985
1986         Reviewed by Timothy.
1987
1988         http://bugzilla.opendarwin.org/show_bug.cgi?id=9868
1989         Applications shown in Drosera's "Attach" window remain after exit
1990
1991         * DefaultDelegates/WebScriptDebugServer.m:
1992         (-[WebScriptDebugServer init]): Register for NSApplicationWillTerminateNotification so we will
1993         know when the application is being exited.
1994         (-[WebScriptDebugServer dealloc]): Unregister notification before we are deallocated.
1995         (-[WebScriptDebugServer applicationTerminating:]): Inform anyone listening that we are going away.
1996
1997 2006-07-12  Tim Omernick  <timo@apple.com>
1998
1999         Reviewed by Tim Hatcher.
2000
2001         <rdar://problem/4624858> AGL isn't 64-bit yet; temporarily remove it from WebKit 64-bit build
2002
2003         Also, fixed a LOG_ERROR() so that it uses the CGL error instead of the AGL error; Tim H missed this in his build fix
2004         from earlier.
2005
2006         * Plugins/WebBaseNetscapePluginView.h:
2007         * Plugins/WebBaseNetscapePluginView.m:
2008
2009 2006-07-11  John Sullivan  <sullivan@apple.com>
2010
2011         Reviewed by Kevin and Tim O
2012
2013         - added support for creating a selection image with white text
2014
2015         * WebView/WebDocumentPrivate.h:
2016         added -selectionImageForcingWhiteText: and -selectionImageRect to the private
2017         <WebDocumentSelection> protocol
2018
2019         * Misc/WebSearchableTextView.m:
2020         (-[NSString selectionImageForcingWhiteText:]):
2021         added stub for this new method to this obsolete class to satisfy the compiler
2022         (-[NSString selectionImageRect]):
2023         ditto
2024         
2025         * WebView/WebHTMLView.m:
2026         (-[WebHTMLView _selectionDraggingImage]):
2027         now calls -selectionImageForcingWhiteText:NO instead of just -selectionImage
2028         (-[WebHTMLView _selectionDraggingRect]):
2029         now calls selectionImageRect, to which the implementation moved
2030         (-[WebHTMLView selectionImageForcingWhiteText:]):
2031         implemented this new method by calling through to new bridge method selectionImageForcingWhiteText:
2032         (-[WebHTMLView selectionImageRect]):
2033         implemented this new method by using existing _selectionDraggingRect implementation
2034         
2035         * WebView/WebPDFView.m:
2036         (-[WebPDFView selectionImageForcingWhiteText:]):
2037         implemented by using code that was formerly in Safari
2038         (-[WebPDFView selectionImageRect]):
2039         implemented by returning selectionRect
2040
2041 2006-07-11  Tim Omernick  <timo@apple.com>
2042
2043         Reviewed by Geoff.
2044
2045         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9843>:
2046         Give Netscape plug-ins access to their own DOM element
2047
2048         * Plugins/WebBaseNetscapePluginView.h:
2049         * Plugins/WebBaseNetscapePluginView.m:
2050         (-[WebBaseNetscapePluginView dealloc]):
2051         Release DOM element.
2052         (-[WebBaseNetscapePluginView getVariable:value:]):
2053         Return NPObject for plugin DOM element.
2054
2055         * Plugins/WebNetscapePluginEmbeddedView.h:
2056         * Plugins/WebNetscapePluginEmbeddedView.m:
2057         (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
2058         Now takes a DOMElement, in much the same way that WebKit plug-in views take a DOMElement.
2059
2060         * WebCoreSupport/WebFrameBridge.m:
2061         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
2062         Pass DOMElement to Netscape plug-ins.
2063         (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
2064         ditto
2065
2066 2006-07-11  Justin Garcia  <justin.garcia@apple.com>
2067
2068         Reviewed by levi & thatcher
2069         
2070         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
2071         GMail Editor: Operations that use drop down menus blow away the selection
2072         
2073         * WebView/WebHTMLView.m:
2074         (-[WebHTMLView maintainsInactiveSelection]): Maintain an inactive selection
2075         when resigning as first responder if the selection is editable
2076         or if the WebView tells us to.
2077         * WebView/WebView.m:
2078         (-[WebView maintainsInactiveSelection]): Just because a WebView is
2079         editable doesn't mean selections inside subframes will be.  Return
2080         NO by default.
2081
2082 2006-07-11  Tim Omernick  <timo@apple.com>
2083
2084         Reviewed by Tim Hatcher.
2085
2086         <rdar://problem/4622748> WebKit now uses deprecated AGL functions
2087
2088         * Plugins/WebBaseNetscapePluginView.m:
2089         (-[WebBaseNetscapePluginView _createWindowedAGLContext]):
2090         aglSetDrawable() is deprecated in AGL 3.0.  Use aglSetWindowRef() instead.
2091         (-[WebBaseNetscapePluginView _createWindowlessAGLContext]):
2092         aglSetOffScreen() is deprecated in AGL 3.0.  Use CGLSetOffScreen(), which does the same thing.
2093
2094 2006-07-11  Alexey Proskuryakov  <ap@nypop.com>
2095
2096         Reviewed by Tim O.
2097
2098         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7808
2099         Assertion failure in -[WebBaseNetscapePluginStream dealloc] when requesting an invalid URL
2100
2101         * Plugins/WebNetscapePluginStream.m:
2102         (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
2103         Remove the early return when requesting an invalid (unsupported) URL.
2104
2105 === Safari-521.16 ===
2106
2107 2006-07-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2108
2109         Reviewed by John Sullivan.
2110
2111         - fix <rdar://problem/4621541>, aka <http://bugzilla.opendarwin.org/show_bug.cgi?id=9838>
2112           REGRESSION (r14968-r14977): View Source doesn't work for pages from the back/forward cache
2113
2114         * WebView/WebDataSource.m:
2115         (-[WebDataSource _setPrimaryLoadComplete:]): Set our data only if the frame loader is
2116         has just loaded it (when coming from the back/forward cache, it hasn't).
2117
2118 2006-07-10  Brady Eidson  <beidson@apple.com>
2119
2120         Reviewed by Alexey
2121
2122         Resolved the console error messages people got from the new DB even if they didn't have it enabled
2123
2124         * Misc/WebIconDatabase.m:
2125         (-[WebIconDatabase init]):
2126         Disabled initializing the IconDatabaseBridge if user is living on the old DB
2127
2128 2006-07-10  Darin Adler  <darin@apple.com>
2129
2130         - try to fix Windows build
2131
2132         * COM/WebFrame.h: Qualify DeprecatedString and KURL with WebCore:: prefixes.
2133
2134 2006-07-09  Darin Adler  <darin@apple.com>
2135
2136         - try to fix Windows build
2137
2138         * COM/WebFrame.cpp: Rename QChar to DeprecatedChar.
2139
2140 2006-07-09  Darin Adler  <darin@apple.com>
2141
2142         - fix newlines to be consistent for all files in the COM directory
2143           (many had mixed style) and set the EOL style to "native" on them.
2144
2145         * COM/*: Set properties and changed files.
2146
2147 2006-07-09  Tim Omernick  <timo@apple.com>
2148
2149         Reviewed by Maciej.
2150
2151         <rdar://problem/4404652> Netscape plug-in mouse events broken in HiDPI
2152
2153         Multiply global mouse coordinates by the window scale factor so that plug-ins can use GlobalToLocal() in HiDPI.
2154         This fixes many bugs involving plug-in mouse event handling in HiDPI.  Most notably, the Flash player will now
2155         correctly respond to clicks.
2156
2157         * Plugins/WebBaseNetscapePluginView.m:
2158         (+[WebBaseNetscapePluginView getCarbonEvent:]):
2159         (-[WebBaseNetscapePluginView getCarbonEvent:withEvent:]):
2160
2161 2006-07-09  Darin Adler  <darin@apple.com>
2162
2163         Reviewed by Tim Hatcher.
2164
2165         - fix assertion firing in plug-in layout tests
2166
2167         * Plugins/WebBaseNetscapePluginView.m:
2168         (-[WebBaseNetscapePluginView restartNullEvents]):
2169         Don't start null events if the plug-in is not in the
2170         started state. This happens when the plug-in moves within
2171         its view hierarchy after it has been stopped.
2172
2173 2006-07-09  Timothy Hatcher  <timothy@apple.com>
2174
2175         Reviewed by Darin.
2176
2177         Bug 9820: Move new DOM API that has been through API review to public headers
2178         http://bugzilla.opendarwin.org/show_bug.cgi?id=9820
2179
2180         * Misc/WebElementDictionary.m: include DOMExtensions.h
2181         * Misc/WebNSViewExtras.m: include DOMExtensions.h
2182         * WebKit.xcodeproj/project.pbxproj: make DOMXPath.h public
2183
2184 2006-07-09  Timothy Hatcher  <timothy@apple.com>
2185
2186         Reviewed by Kevin.
2187
2188         Bug 9818: move new UIDelegate API that has been through API review to public headers
2189         http://bugzilla.opendarwin.org/show_bug.cgi?id=9818
2190
2191         <rdar://problem/4387541> API: Remove webView:setContentRect: & webViewContentRect: delegate methods?
2192         The fix for 4310363 removed the only use of webViewContentRect: in our code. webView:setContentRect:
2193         was never used to begin with. There's no harm in leaving these around in the API, but they'll cruft it up.
2194
2195         Also removes the never used webViewPrint: SPI that was replaced by webView:printFrameView:.
2196
2197         * DefaultDelegates/WebDefaultUIDelegate.m:
2198         * WebCoreSupport/WebFrameBridge.m:
2199         (-[WebFrameBridge print]):
2200         * WebView/WebFrameView.h:
2201         * WebView/WebFrameView.m:
2202         * WebView/WebFrameViewPrivate.h:
2203         * WebView/WebUIDelegate.h:
2204         * WebView/WebUIDelegatePrivate.h:
2205
2206 2006-07-09  Timothy Hatcher  <timothy@apple.com>
2207
2208         Reviewed by Darin.
2209
2210         Bug 9814: Move new WebView API that has been through API review to public headers
2211         http://bugzilla.opendarwin.org/show_bug.cgi?id=9814
2212
2213         * WebView/WebView.h:
2214         * WebView/WebView.m:
2215         (-[WebView close]):
2216         (-[WebView setShouldCloseWithWindow:]):
2217         (-[WebView shouldCloseWithWindow]):
2218         (-[WebView selectedFrame]):
2219         (-[WebView setMainFrameURL:]):
2220         (-[WebView mainFrameURL]):
2221         (-[WebView isLoading]):
2222         (-[WebView mainFrameTitle]):
2223         (-[WebView mainFrameIcon]):
2224         (-[WebView mainFrameDocument]):
2225         (-[WebView setDrawsBackground:]):
2226         (-[WebView drawsBackground]):
2227         (-[WebView toggleSmartInsertDelete:]):
2228         (-[WebView toggleContinuousSpellChecking:]):
2229         (-[WebView canMakeTextStandardSize]):
2230         (-[WebView makeTextStandardSize:]):
2231         (-[WebView maintainsInactiveSelection]):
2232         * WebView/WebViewPrivate.h:
2233
2234 2006-07-09  Timothy Hatcher  <timothy@apple.com>
2235
2236         Reviewed by Maciej.
2237
2238         Bug 9487: The XPath section should be removed and/or moved.
2239         http://bugzilla.opendarwin.org/show_bug.cgi?id=9487
2240
2241         * WebInspector/webInspector/inspector.css:
2242         * WebInspector/webInspector/inspector.html:
2243         * WebInspector/webInspector/inspector.js:
2244
2245 2006-07-09  Anders Carlsson  <acarlsson@apple.com>
2246
2247         Reviewed by Tim O.
2248
2249         * WebCoreSupport/WebSystemInterface.m:
2250         (InitWebCoreSystemInterface):
2251         Initialize wkPathFromFont.
2252
2253 2006-07-09  Darin Adler  <darin@apple.com>
2254
2255         - fix release build
2256
2257         * Plugins/WebBaseNetscapePluginView.m:
2258         (-[WebBaseNetscapePluginView restorePortState:]): Cast inside the assertion so
2259         that we don't have an unused variable in versions with assertions disabled.
2260         The alternative would be to wrap the whole thing in an #if statement.
2261
2262 2006-07-08  Tim Omernick  <timo@apple.com>
2263
2264         Reviewed by John Sullivan.
2265
2266         * Plugins/WebBaseNetscapePluginView.h:
2267         - Added ivars for OpenGL support.  Someday it would be nice to refactor this class so
2268           that each drawing model is encapsulated in a class; this would allow
2269           WebBaseNetscapePluginView to make more efficient use of space, for example by not
2270           keeping OpenGL-related ivars for Quickdraw plug-ins.
2271         
2272         * Plugins/WebBaseNetscapePluginView.m:
2273         - Declared a bunch of internal methods for OpenGL support (see below).
2274         - Removed "forUpdate" from CoreGraphics port state struct; it was always set to "YES",
2275           so I just cleaned up the silly code that used it.
2276         - Declared OpenGL port state struct.
2277         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2278         - Moved a CoreGraphics-related assertion down to the big "switch" statement.
2279         - Don't set window.type here -- according to the Netscape Plug-in API docs, the plug-in
2280           should default to "windowed" mode, and may call NPN_SetValue() during its NPN_New() to
2281           request that the browser use a "windowless" (offscreen) context instead.
2282         - Moved the assertion from the top of this method here; removed a less restrictive
2283           assertion that is now obsolete.
2284         - Removed "forUpdate" flag from CoreGraphics port state struct.
2285         - Fill in OpenGL port state struct.  Set up the viewport appropriately for both windowed
2286           and windowless OpenGL plug-ins.  Windowed plug-ins need to have their GL viewport
2287           transformed by the amount the plug-in is clipped; windowless plug-ins are drawn off-screen
2288           into a surface whose geometry is never changed or clipped, so they may always draw with
2289           a viewport origin of (0, 0).
2290         (-[WebBaseNetscapePluginView restorePortState:]):
2291         - Removed "forUpdate" flag from CoreGraphics port state struct.
2292         - Restore the old OpenGL context saved by -saveAndSetNewPortStateForUpdate:.
2293         (-[WebBaseNetscapePluginView sendEvent:]):
2294         - Updated an assertion to also include OpenGL.  To ensure that attached plug-in window movements
2295           happen atomically with web page redisplays, we assert that the plug-in's window is set only while
2296           the plug-in view is redrawing.
2297         - Same deal as with the assertion; only save/set port state when redrawing the plug-in view.  Plug-ins
2298           that use the new drawing models are only allowed to draw when the web page draws.  I might consider
2299           changing this for windowed OpenGL plug-ins, since they always obscure the page content anyway.
2300         (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]):
2301         - Compare new NP_GLContext structs.
2302         (-[WebBaseNetscapePluginView updateAndSetWindow]):
2303         - In OpenGL mode, can only set window when updating plug-in view.
2304         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
2305         - ditto
2306         - Updated logging for OpenGL drawing mode.
2307         (-[WebBaseNetscapePluginView addWindowObservers]):
2308         - No need to observe frame/bounds change notifications for this and all parent views.  See -renewGState
2309           comments below.
2310         (-[WebBaseNetscapePluginView removeWindowObservers]):
2311         - Don't need to remove frame/bounds observers anymore.
2312         (-[WebBaseNetscapePluginView start]):
2313         - Plug-ins are "windowed" by default.  This is not a change from our previous behavior, but this is a
2314           better place to set the default value as it allows the plug-in to override it later.
2315         (-[WebBaseNetscapePluginView stop]):
2316         - Destroy AGL context when the plug-in stops.
2317         (-[WebBaseNetscapePluginView dealloc]):
2318         - Assert that the AGL stuff has been cleaned up.
2319         (-[WebBaseNetscapePluginView drawRect:]):
2320         - If this is a windowless OpenGL plugin, blit its contents back into this view.
2321         (-[WebBaseNetscapePluginView renewGState]):
2322         - This method is called when the view or one of its parents is moved or resized (see comments).
2323         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
2324         - Hide the AGL window if the plug-in view is about to be removed from its window.
2325         (-[WebBaseNetscapePluginView viewHasMoved:]):
2326         - Renamed and moved to the "Internal" category.
2327         (-[WebBaseNetscapePluginView invalidateRegion:]):
2328         - Style changes.
2329         - Add support for OpenGL (uses the same region type as CoreGraphics).
2330         (-[WebBaseNetscapePluginView getVariable:value:]):
2331         - Style changes.
2332         - Implemented NPNVsupportsOpenGLBool; returns YES since we now support the OpenGL drawing model.
2333         (-[WebBaseNetscapePluginView setVariable:value:]):
2334         - Implemented NPPVpluginWindowBool, which allows plug-ins to specify whether they should be rendered in
2335           "windowed" or "windowless" mode.  This is an older part of the Netscape Plug-in API that was never
2336           implemented in WebKit.  "Windowed" Quickdraw plug-ins do not actually reside in a separate window, and
2337           can already do many of the same things (such as transparency) that only "windowless" plug-ins can do on
2338           other platforms.  However, we need the "windowed" vs. "windowless" distinction for OpenGL plug-ins so
2339           that they have some way of specifying whether they should be rendered on an accelerated overlay surface,
2340           composited into the browser window.
2341         - Support for setting the drawing model to OpenGL.
2342         (-[WebBaseNetscapePluginView _viewHasMoved]):
2343         - Renamed from -viewHasMoved:, and moved down in the file.
2344         - None of this work is necessary when the plug-in is not in a window; the plug-in's state will be properly
2345           restored when it is moved back into a window.
2346         - Reshape OpenGL surface window here.
2347         (-[WebBaseNetscapePluginView _createAGLContextIfNeeded]):
2348         - Creates the AGL context of the appropriate type (windowed/windowless).
2349         (-[WebBaseNetscapePluginView _createWindowedAGLContext]):
2350         - Creates a windowed AGL context, which is an AGL context attached to a child window.  This is the only way
2351           to get true hardware acceleration.
2352         (-[WebBaseNetscapePluginView _createWindowlessAGLContext]):
2353         - Creates a windowless AGL context, which is an AGL context attached to an offscreen buffer.  This buffer can
2354           then be blitted back into the browser window with a different alpha, or scaled, or whatever.
2355         (-[WebBaseNetscapePluginView _cglContext]):
2356         - Returns the underlying CGL context from the AGL context.  We give the plug-in access to the CGL context because
2357           CGL is the more primitive of the GL drawable APIs and allows for finer control over the context.
2358         (-[WebBaseNetscapePluginView _getAGLOffscreenBuffer:width:height:]):
2359         - Returns the buffer allocated for the offscreen AGL context, if there is one.
2360         (-[WebBaseNetscapePluginView _destroyAGLContext]):
2361         - Destroys the AGL context, as well as the associated offscreen buffer or child window.
2362         (-[WebBaseNetscapePluginView _reshapeAGLWindow]):
2363         - Positions the AGL window over the browser window.
2364         (-[WebBaseNetscapePluginView _hideAGLWindow]):
2365         - Hides the AGL window.
2366         (-[WebBaseNetscapePluginView _aglOffscreenImageForDrawingInRect:]):
2367         - Returns an NSImage representation of the offscreen AGL context's framebuffer.  This is used to draw the offscreen
2368           bits back into the plug-in view.  This is kind of tricky because it has to convert the offscreen buffer in-place
2369           from BGRA to RGBA so that it can be wrapped in an NSBitmapImageRep.  See comments.
2370
2371         * WebKit.xcodeproj/project.pbxproj:
2372         Link OpenGL and AGL.
2373
2374 2006-07-09  Brady Eidson  <beidson@apple.com>
2375
2376         Reviewed by Maciej
2377
2378         The ICONDEBUG flag now chooses either the new icon database or the old one
2379         No longer any need to live side by side to compare results
2380
2381         * Misc/WebIconDatabase.m:
2382         (-[NSMutableDictionary iconURLForURL:]):
2383         (-[NSMutableDictionary retainIconForURL:]):
2384         (-[NSMutableDictionary releaseIconForURL:]):
2385         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
2386         (-[WebIconDatabase _setIconURL:forURL:]):
2387         (-[WebIconDatabase _resetCachedWebPreferences:]):
2388
2389 2006-07-08  Timothy Hatcher  <timothy@apple.com>
2390
2391         Reviewed by Maciej.
2392
2393         Bug 5312: comments aren't available via DOM
2394         http://bugzilla.opendarwin.org/show_bug.cgi?id=5312
2395
2396         Makes the Web Inspector show comment node contents.
2397
2398         * WebInspector/WebInspector.m:
2399         (-[DOMNode _displayName]): return the contents of the comment
2400         * WebInspector/webInspector/inspector.js: check for comment nodes
2401
2402 2006-07-09  Alexey Proskuryakov  <ap@nypop.com>
2403
2404         Reviewed by Darin.
2405
2406         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9572
2407         Add application/xhtml+xml to the Accept header
2408
2409         * WebView/WebFrame.m:
2410         (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]): Add an Accept header
2411         to main resource requests.
2412         * English.lproj/StringsNotToBeLocalized.txt: Added new strings.
2413
2414 2006-07-08  Darin Adler  <darin@apple.com>
2415
2416         * DefaultDelegates/WebDefaultContextMenuDelegate.m:
2417         (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
2418         Removed misleading old comment.
2419
2420 === Safari-521.15 ===
2421
2422 2006-07-07  Levi Weintraub  <lweintraub@apple.com>
2423
2424         Reviewed by justin
2425
2426         Finished moving deletion selection expansion across the bridge... say that 3 times fast.
2427
2428         * WebView/WebHTMLView.m:  Pass granularity to WebCore to handle expansion
2429         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
2430         (-[WebHTMLView _deleteSelection]):
2431         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
2432         (-[WebHTMLView deleteToMark:]):
2433
2434 2006-07-07  Brady Eidson  <beidson@apple.com>
2435
2436         Reviewed by John
2437
2438         Changed an ASSERT to a LOG_ERROR for an error that could be handled gracefully, but
2439         whose assertion was reproducibly causing a build bot failure
2440
2441         * Misc/WebIconDatabase.m:
2442         (-[WebIconDatabase _releaseIconForIconURLString:]):
2443
2444 2006-07-06  Levi Weintraub  <lweintraub@apple.com>
2445
2446         Reviewed by justin
2447
2448         Improved table editing
2449
2450         * WebCoreSupport/WebFrameBridge.m: Added method to allow WebCore to trigger
2451         deletion editing delegate
2452         (-[WebFrameBridge shouldDeleteSelectedDOMRange:]):
2453         * WebView/WebHTMLView.m: Moved code that expanded a selection when the delete
2454         key is pressed over to WebCore so we can be more intelligent about how to handle it
2455         (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]):
2456         (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
2457
2458 2006-07-07  John Sullivan  <sullivan@apple.com>
2459
2460         Reviewed by Tim Hatcher
2461         
2462         - fixed <rdar://problem/4606857> WebKit: WebPreferencesChangedNotification not exported
2463
2464         * WebKit.exp:
2465         added surprisingly missing _WebPreferencesChangedNotification, defined in
2466         WebPreferences.h
2467
2468 2006-07-06  Brady Eidson  <beidson@apple.com>
2469
2470         Reviewed by John.
2471
2472         Small fix to my previous small fix that only lets the ASSERT off the hook if the DB
2473         is closing
2474
2475         * Misc/WebIconDatabase.m:
2476         (-[WebIconDatabase _releaseIconForIconURLString:]):
2477
2478 2006-07-05  Brady Eidson  <beidson@apple.com>
2479
2480         Reviewed by Maciej
2481
2482         Small fix that prevents an assertion from triggering if the DB is being cleaned up 
2483         (ie, the app being shut down)
2484
2485         * Misc/WebIconDatabase.h:
2486         * Misc/WebIconDatabase.m:
2487         (-[NSMutableDictionary init]):
2488         (-[WebIconDatabase _applicationWillTerminate:]):
2489         (-[WebIconDatabase _releaseIconForIconURLString:]):
2490
2491 2006-07-05  Adele Peterson  <adele@apple.com>
2492
2493         Reviewed by Maciej and Hyatt.
2494
2495         WebKit part of initial popup menu implementation.
2496
2497         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
2498         Initialize WKPopupMenu.
2499
2500 2006-07-05  Anders Carlsson  <acarlsson@apple.com>
2501
2502         Reviewed by Maciej.
2503
2504         http://bugzilla.opendarwin.org/show_bug.cgi?id=3581
2505         iFrames set to display:none are Missing from frames array
2506         
2507         * WebCoreSupport/WebFrameBridge.m:
2508         (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
2509         (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
2510         Modify to pass the owner element instead of the owner renderer.
2511         
2512         * WebView/WebHTMLView.m:
2513         (-[WebHTMLView _topHTMLView]):
2514         Remove assertion, it's not valid anymore.
2515
2516 2006-07-05  Timothy Hatcher  <timothy@apple.com>
2517
2518         Reviewed by Harrison.
2519
2520         <rdar://problem/4608423> HIViewAdapter used but not defined
2521         Adds a new export file to fix the build.
2522
2523         * WebKit.LP64.exp: Added.
2524         * WebKit.xcodeproj/project.pbxproj:
2525
2526 2006-07-04  Timothy Hatcher  <timothy@apple.com>
2527
2528         Reviewed by Maciej.
2529
2530         Bug 9731: [Drosera] crash when trying to access the scope chain
2531         http://bugzilla.opendarwin.org/show_bug.cgi?id=9731
2532
2533         Because of <rdar://problem/4608404> the WebScriptObject, _globalObj, that
2534         WebCoreScriptDebugger holds is unprotected each time the page changes.
2535         This causes Drosera to crash Safari when trying to access the scope chain.
2536         We simply need to detach and re-attach the debugger when the window script
2537         object is cleared until 4608404 is fixed. This change also attaches the
2538         debugger before we call the windowScriptObjectAvailable: delegate method,
2539         so the debugger is ready before anyone might use the window object.
2540
2541         * WebCoreSupport/WebFrameBridge.m:
2542         (-[WebFrameBridge windowObjectCleared]):
2543
2544 2006-07-04  Timothy Hatcher  <timothy@apple.com>
2545
2546         Reviewed by Darin.
2547
2548         Bug 9732: [Drosera] calling removeListener to many times will cause
2549                   WebKit's listener count to underflow/wraparound
2550         http://bugzilla.opendarwin.org/show_bug.cgi?id=9732
2551
2552         Adds a check to make sure the listener was in our listeners set before
2553         decrementing the global listener count. Also checks for nil in addListner
2554         to prevent a possible exception when adding the object to the set.
2555
2556         * DefaultDelegates/WebScriptDebugServer.m:
2557         (-[WebScriptDebugServer addListener:]):
2558         (-[WebScriptDebugServer removeListener:]):
2559
2560 2006-07-04  Alexey Proskuryakov  <ap@nypop.com>
2561
2562         Reviewed by Maciej.
2563
2564         - http://bugzilla.opendarwin.org/show_bug.cgi?id=8210
2565         Conditional XMLHttpRequest gets should pass 304 responses unchanged
2566
2567         Test: http/tests/xmlhttprequest/cache-override.html
2568
2569         * Misc/WebNSURLRequestExtras.h: Added _web_isConditionalRequest
2570         * Misc/WebNSURLRequestExtras.m:
2571         (-[NSURLRequest _web_isConditionalRequest]):
2572         * WebCoreSupport/WebFrameBridge.m:
2573         (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
2574         Bypass the cache for conditional requests.
2575         * WebCoreSupport/WebSubresourceLoader.m:
2576         (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): Ditto.
2577
2578 2006-07-01  David Kilzer  <ddkilzer@kilzer.net>
2579
2580         Reviewed by NOBODY (fixed Tim's build fix).
2581
2582         * WebView/WebView.m: Added back missing '/' at the beginning of the file.
2583
2584 2006-07-01  Tim Omernick  <timo@apple.com>
2585
2586         Reviewed by NOBODY (build fix)
2587
2588         * WebView/WebView.m:
2589         (-[WebView _isMIMETypeRegisteredAsPlugin:]):
2590         Changed nil to NO (typo).
2591
2592 === Safari-521.14 ===
2593
2594 2006-06-30  Timothy Hatcher  <timothy@apple.com>
2595
2596         Reviewed by Darin.
2597
2598         Only enable shouldCloseWithWindow when ObjC GC is enabled.
2599         This maintains backwards compatibility with applications
2600         that expect a WebView to be usable after the window closes.
2601
2602         * WebView/WebView.m:
2603         (-[WebViewPrivate init]):
2604
2605 2006-06-30  Timothy Hatcher  <timothy@apple.com>
2606
2607         Reviewed by Anders.
2608
2609         Call _close in dealloc to ensure we cleanup for backwards
2610         compatibility. This will safeguard and cleanup even if the
2611         application doesn't use the new close API yet, like Mail.
2612
2613         * WebView/WebView.m:
2614         (-[WebView dealloc]):
2615
2616 2006-06-29  Timothy Hatcher  <timothy@apple.com>
2617
2618         Reviewed by Darin.
2619
2620         <rdar://problem/4484405> WebKit leaks, improper tear-down
2621         <rdar://problem/3694059> -[WebBackForwardList finalize] is incorrect; design change needed
2622         <rdar://problem/3694103> -[WebFrame finalize] is incorrect; design change needed
2623         <rdar://problem/3694104> -[WebHTMLView finalize] is incorrect; design change needed
2624
2625         Adds a close method to WebView, this needs to be called when the 
2626         WebView is no longer needed. To make this easier for the common cases
2627         there is now an "auto close" on WebView that listens to the view's
2628         parent window. If the parent window closes and the WebView has no
2629         hostWindow then the WebView is automatically closed if autoClose is YES.
2630         To manage WebView closing yourself call setAutoClose: and pass NO.
2631
2632         When a WebView closes it will tear-down and not be usable anymore.
2633         Close will will called on various other internal objects as a part
2634         of this, to ensure proper tear-down in GC without relying on finalize.
2635
2636         * History/WebBackForwardList.m:
2637         (-[WebBackForwardList dealloc]):
2638         (-[WebBackForwardList finalize]):
2639         (-[WebBackForwardList _close]):
2640         * History/WebHistoryItem.m:
2641         (+[WebHistoryItem _closeObjectsInPendingPageCaches]):
2642         (+[WebHistoryItem _releaseAllPendingPageCaches]):
2643         * History/WebHistoryItemPrivate.h:
2644         * WebCoreSupport/WebFrameBridge.m:
2645         (-[WebFrameBridge close]):
2646         (-[WebFrameBridge saveDocumentToPageCache:]):
2647         (-[WebFrameBridge canGoBackOrForward:]):
2648         * WebView/WebFrame.m:
2649         (-[WebFrame _detachFromParent]):
2650         (-[WebFrame dealloc]):
2651         (-[WebFrame finalize]):
2652         * WebView/WebFrameView.m:
2653         (-[WebFrameView _setWebFrame:]):
2654         (-[WebFrameView finalize]):
2655         * WebView/WebHTMLView.m:
2656         (-[WebHTMLView close]):
2657         (-[WebHTMLView dealloc]):
2658         (-[WebHTMLView finalize]):
2659         * WebView/WebHTMLViewInternal.h:
2660         * WebView/WebHTMLViewPrivate.h:
2661         * WebView/WebScriptDebugDelegate.m:
2662         (-[WebScriptCallFrame _initWithFrame:initWithWebFrame:]):
2663         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
2664         (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
2665         (-[WebScriptCallFrame hitStatement:sourceId:line:]):
2666         (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
2667         * WebView/WebScriptDebugDelegatePrivate.h:
2668         * WebView/WebView.m:
2669         (-[WebViewPrivate init]):
2670         (-[WebView _close]):
2671         (-[WebView dealloc]):
2672         (-[WebView finalize]):
2673         (-[WebView viewWillMoveToWindow:]):
2674         (-[WebView _windowWillClose:]):
2675         (-[WebView setPreferencesIdentifier:]):
2676         (-[WebView mainFrame]):
2677         (-[WebView setHostWindow:]):
2678         (-[WebView searchFor:direction:caseSensitive:wrap:]):
2679         (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
2680         (-[WebView close]):
2681         (-[WebView setAutoClose:]):
2682         (-[WebView autoClose]):
2683         (-[WebView _frameViewAtWindowPoint:]):
2684         * WebView/WebViewPrivate.h:
2685
2686 2006-06-29  Kevin Decker  <kdecker@apple.com>
2687
2688         Reviewed by mjs and timo.
2689         
2690         Fixed: <rdar://problem/4609119> handleAuthenticationFromResource was removed; needed by the Dashboard
2691
2692         * WebView/WebViewPrivate.h: Added handleAuthenticationFromResource back into the header. Needed by the
2693         Dashboard, but was removed in r.14028 on 2006-04-23. 
2694
2695 2006-06-29  Tim Omernick  <timo@apple.com>
2696
2697         Reviewed by Kevin Decker.
2698
2699         <rdar://problem/4608487> REGRESSION: reproducible crash in +[WebCoreFrameBridge supportedImageMIMETypes]
2700
2701         * Plugins/WebPluginDatabase.m:
2702         (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
2703         One might be tempted to add additionalWebPlugInPaths to the global WebPluginDatabase here.
2704         For backward compatibility with earlier versions of the +setAdditionalWebPlugInPaths: SPI,
2705         we need to save a copy of the additional paths and not cause a refresh of the plugin DB
2706         at this time.
2707         (-[WebPluginDatabase _plugInPaths]):
2708         Include additionalWebPlugInPaths if this is the global DB.
2709         (-[WebPluginDatabase refresh]):
2710         Call -_plugInPaths to get the modified array of paths.  This is similar to what the old code
2711         (before we had per-WebView plugin search paths).
2712
2713 2006-06-29  Tim Omernick  <timo@apple.com>
2714
2715         Reviewed by John Sullivan.
2716
2717         WebHistoryItem now supports getting and setting arbitrary properties via _transientPropertyForKey: and
2718         -_setTransientProperty:forKey:.
2719         For now, these properties do not persist with the rest of the history data.  They are intended to hold transient
2720         per-history-item state, which is something that was until now difficult for a WebKit client app to do.
2721         
2722         * History/WebHistoryItemPrivate.h:
2723         * History/WebHistoryItem.m:
2724         (-[WebHistoryItemPrivate dealloc]):
2725         (-[WebHistoryItem _transientPropertyForKey:]):
2726         (-[WebHistoryItem _setTransientProperty:forKey:]):
2727
2728 2006-06-29  Timothy Hatcher  <timothy@apple.com>
2729
2730         Reviewed by Harrison.
2731
2732         Smart insert and delete, continuous spell checking and autoscroll
2733         can now be used for any WebView, not just editable ones. All of
2734         these make sense for documents that might contain content editable 
2735         areas or our new text fields. Autoscroll is usefull for dragging
2736         for file input controls also.
2737
2738         Added a SPI to toggle WebViews tab key behavior, tabKeyCyclesThroughElements.
2739         WebHTMLView's _interceptEditingKeyEvent now uses WebView's
2740         tabKeyCyclesThroughElements state to determine whether or not
2741         to process tab key events. The idea here is that tabKeyCyclesThroughElements
2742         will be YES when this WebView is being used in a browser, and we
2743         desire the behavior where tab moves to the next element in tab order.
2744         If tabKeyCyclesThroughElements is NO, it is likely that the WebView
2745         is being embedded as the whole view, as in Mail, and tabs should input
2746         tabs as expected in a text editor. Using Option-Tab always cycles
2747         through elements.
2748
2749         * WebView/WebHTMLRepresentation.m:
2750         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
2751         * WebView/WebHTMLView.m:
2752         (-[WebHTMLView _interceptEditingKeyEvent:]):
2753         * WebView/WebView.m:
2754         (-[WebViewPrivate init]):
2755         (-[WebView _autoscrollForDraggingInfo:timeDelta:]):
2756         (-[WebView _shouldAutoscrollForDraggingInfo:]):
2757         (-[WebView validateUserInterfaceItem:]):
2758         (-[WebView toggleSmartInsertDelete:]):
2759         (-[WebView toggleContinuousSpellChecking:]):
2760         (-[WebView setTabKeyCyclesThroughElements:]):
2761         (-[WebView tabKeyCyclesThroughElements]):
2762         * WebView/WebViewPrivate.h:
2763
2764 2006-06-29  Anders Carlsson  <acarlsson@apple.com>
2765
2766         Reviewed by Tim O.
2767
2768         * WebKit.xcodeproj/project.pbxproj:
2769         Add DOMXPath.h header.
2770
2771 2006-06-28  David Hyatt  <hyatt@apple.com>
2772
2773         Fix custom highlighting so that you can paint the entire line (and go
2774         outside the bounds of the line).
2775
2776         Reviewed by harrison
2777
2778         * WebCoreSupport/WebFrameBridge.m:
2779         (-[WebFrameBridge customHighlightRect:forLine:]):
2780         (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:]):
2781         * WebKit.xcodeproj/project.pbxproj:
2782         * WebView/WebHTMLViewPrivate.h:
2783
2784 2006-06-28  Maciej Stachowiak  <mjs@apple.com>
2785
2786         Reviewed by Anders.
2787         
2788         - fix Frame leak on layout tests
2789
2790         * WebCoreSupport/WebPageBridge.m:
2791         (-[WebPageBridge outerView]): Return WebFrameView for main frame instead
2792         of WebView to avoid reference cycle between WebView and Page.
2793
2794 2006-06-28  Timothy Hatcher  <timothy@apple.com>
2795
2796         Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
2797
2798         * WebKit.xcodeproj/project.pbxproj:
2799
2800 2006-06-28  Levi Weintraub  <lweintraub@apple.com>
2801
2802         Reviewed by justin
2803
2804         http://bugzilla.opendarwin.org/show_bug.cgi?id=7568
2805         Bug 7568: Implement Indent/Outdent
2806         Added undo action strings and enum values
2807
2808         * English.lproj/Localizable.strings:
2809         * WebCoreSupport/WebFrameBridge.m: 
2810         (-[WebFrameBridge nameForUndoAction:]):
2811
2812 2006-06-27  Brady Eidson  <beidson@apple.com>
2813
2814         Reviewed by Maciej
2815
2816         Hookup the new semi-functional SQLite icon database.
2817         For now, it is living side-by-side with the old DB so one can compare the
2818         two for debugging purposes.  Also, it is disabled (in WebKit) by default unless you
2819         compile with ICONDEBUG #defined.
2820         Note:  To repeat that, if you want to try the new DB, #define ICONDEBUG (WebKitPrefix.h is a good place to do it)
2821
2822         * Misc/WebIconDatabase.m:
2823         (-[NSMutableDictionary iconForURL:withSize:cache:]):
2824         (-[NSMutableDictionary iconURLForURL:]):
2825         (-[NSMutableDictionary retainIconForURL:]):
2826         (-[NSMutableDictionary releaseIconForURL:]):
2827         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
2828         (-[WebIconDatabase _setIconURL:forURL:]):
2829         (-[WebIconDatabase _hasIconForIconURL:]):
2830         (-[WebIconDatabase _resetCachedWebPreferences:]):
2831         * Misc/WebIconLoader.m:
2832         (-[WebIconLoader didFinishLoading]):
2833         * WebKit.xcodeproj/project.pbxproj:
2834
2835 2006-06-26  David Hyatt  <hyatt@apple.com>
2836
2837         Fix for 9538, support syntax highlighting for HTML source.
2838
2839         Reviewed by darin
2840
2841         * WebKit.xcodeproj/project.pbxproj:
2842         * WebView/WebView.m:
2843         (-[WebView _setInViewSourceMode:]):
2844         (-[WebView _inViewSourceMode]):
2845         * WebView/WebViewPrivate.h:
2846
2847 2006-06-25  Timothy Hatcher  <timothy@apple.com>
2848
2849         Reviewed by Darin.
2850
2851         Bug 9574: Drosera should show inline scripts within the original HTML
2852         http://bugzilla.opendarwin.org/show_bug.cgi?id=9574
2853
2854         * Adds a new version of the didParseSource delegate callback with base line number.
2855         * Adds a new delegate callback for when a script fails to parse.
2856         * These new callbacks use NSURLs for the url parameter.
2857         * Adds a new script listener callback to notify when the main resource loads.
2858         * Adds a WebScriptErrorDomian and other keys for use with NSError.
2859
2860         * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
2861         (-[WebDefaultScriptDebugDelegate webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
2862         (-[WebDefaultScriptDebugDelegate webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
2863         * DefaultDelegates/WebScriptDebugServer.h:
2864         * DefaultDelegates/WebScriptDebugServer.m:
2865         (-[WebScriptDebugServer webView:didLoadMainResourceForDataSource:]):
2866         (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
2867         (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
2868         * DefaultDelegates/WebScriptDebugServerPrivate.h:
2869         * WebKit.exp:
2870         * WebView/WebDataSource.m:
2871         (-[WebDataSource _setPrimaryLoadComplete:]):
2872         * WebView/WebScriptDebugDelegate.h:
2873         * WebView/WebScriptDebugDelegate.m:
2874         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
2875
2876 2006-06-24  David Kilzer  <ddkilzer@kilzer.net>
2877
2878         Reviewed by Timothy.
2879
2880         * Info.plist: Fixed copyright to include 2003-2006.
2881
2882 2006-06-24  Alexey Proskuryakov  <ap@nypop.com>
2883
2884         Reviewed by Darin.
2885
2886         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9418
2887         WebKit will not build when Space exists in path
2888
2889         * WebKit.xcodeproj/project.pbxproj: Enclose search paths in quotes.
2890
2891 2006-06-23  Tim Omernick  <timo@apple.com>
2892
2893         Reviewed by John Sullivan.
2894
2895         * Plugins/WebBaseNetscapePluginView.m:
2896         (-[WebBaseNetscapePluginView sendEvent:]):
2897         Fixed a bug I found in the CoreGraphics drawing model that was preventing certain types of
2898         events from being dispatched to the plugin, unless the plugin was being updated.  The check
2899         for portState was only required to call -setWindowIfNecessary, not required for the entire
2900         event dispatch.
2901         Also, don't paint the green debug rect unless this is a QuickDraw plugin.  Otherwise the
2902         current QD port is not set, and the green rect fills the entire screen.  Pretty awesome
2903         looking, but not intended behavior.
2904         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
2905         Improved the logging here to include the NPWindow's width and height.
2906
2907 2006-06-23  Timothy Hatcher  <timothy@apple.com>
2908
2909         Reviewed by Tim O.
2910
2911         Adds back SPI that Mail is still depending on.
2912
2913         * WebView/WebDataSource.m:
2914         (-[WebDataSource _addSubframeArchives:]):
2915         * WebView/WebDataSourcePrivate.h:
2916
2917 === WebKit-521.13 ===
2918
2919 2006-06-23  Timothy Hatcher  <timothy@apple.com>
2920
2921         Reviewed by Geoff.
2922
2923         script debugger should only attach to JavaScriptCore when there are listeners
2924         http://bugzilla.opendarwin.org/show_bug.cgi?id=9552
2925
2926         Attaches the debugger to all WebFrames when the first listener
2927         is added. Detaches when the last listener is removed.
2928         Also detach when the script debug delegate is set to nil.
2929
2930         * DefaultDelegates/WebScriptDebugServer.m:
2931         (+[WebScriptDebugServer listenerCount]):
2932         (-[WebScriptDebugServer dealloc]):
2933         (-[WebScriptDebugServer attachScriptDebuggerToAllWebViews]):
2934         (-[WebScriptDebugServer detachScriptDebuggerFromAllWebViews]):
2935         (-[WebScriptDebugServer listenerConnectionDidDie:]):
2936         (-[WebScriptDebugServer addListener:]):
2937         (-[WebScriptDebugServer removeListener:]):
2938         * DefaultDelegates/WebScriptDebugServerPrivate.h:
2939         * WebCoreSupport/WebFrameBridge.m:
2940         (-[WebFrameBridge windowObjectCleared]):
2941         * WebView/WebFrame.m:
2942         (-[WebFrame _attachScriptDebugger]):
2943         (-[WebFrame _detachScriptDebugger]):
2944         * WebView/WebFramePrivate.h:
2945         * WebView/WebScriptDebugDelegate.m:
2946         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
2947         (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
2948         (-[WebScriptCallFrame hitStatement:sourceId:line:]):
2949         (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
2950         * WebView/WebView.m:
2951         (-[WebView _attachScriptDebuggerToAllFrames]):
2952         (-[WebView _detachScriptDebuggerFromAllFrames]):
2953         (-[WebView setScriptDebugDelegate:]):
2954         * WebView/WebViewPrivate.h:
2955
2956 2006-06-22  John Sullivan  <sullivan@apple.com>
2957
2958         Reviewed by Tim Omernick
2959         
2960         - added support for UIDelegate to be notified of scrolling in any WebHTMLView
2961         - cleaned up recently-added UIDelegate code
2962
2963         * WebView/WebUIDelegatePrivate.h:
2964         declared webView:didScrollDocumentInFrameView: method
2965
2966         * DefaultDelegates/WebDefaultUIDelegate.m:
2967         (-[NSApplication webView:didDrawRect:]):
2968         provide default (empty) implementation of this recently-added method, so the
2969         DelegateForwarder mechanism will work for it
2970         (-[NSApplication webView:didScrollDocumentInFrameView:]):
2971         same thing for the new method
2972         
2973         * WebView/WebHTMLView.m:
2974         (-[WebHTMLView _frameOrBoundsChanged]):
2975         use _UIDelegateForwarder mechanism to notify delegate that scrolling occurred
2976         (-[WebHTMLView drawSingleRect:]):
2977         use _UIDelegateForwarder mechanism instead of checking respondsToSelector stuff
2978         here (that's packaged up nicely by the forwarder mechanism)
2979         
2980 2006-06-22  Tim Omernick  <timo@apple.com>
2981
2982         Reviewed by NOBODY (build fix)
2983
2984         * WebView/WebFrameLoader.m:
2985         Import WebMainResourceLoader instead of using @class so that we can call WebMainResourceLoader
2986         methods.
2987         
2988 2006-06-22  Tim Omernick  <timo@apple.com>
2989
2990         Reviewed by NOBODY (build fix)
2991
2992         * WebView/WebFrameLoader.m:
2993         Import JavaScriptCore/Assertions.h instead of WebKit/WebAssertions.h (which no longer exists)
2994
2995 2006-06-22  Maciej Stachowiak  <mjs@apple.com>
2996
2997         Reviewed by Adele.
2998         
2999         - start moving loading logic to new WebFrameLoader class; move management of WebLoaders there
3000
3001         * Misc/WebIconLoader.h:
3002         * Misc/WebIconLoader.m:
3003         (-[WebIconLoader didFinishLoading]):
3004         * WebKit.xcodeproj/project.pbxproj:
3005         * WebView/WebDataSource.m:
3006         (-[WebDataSourcePrivate dealloc]):
3007         (-[WebDataSource _updateLoading]):
3008         (-[WebDataSource _loadIcon]):
3009         (-[WebDataSource _setPrimaryLoadComplete:]):
3010         (-[WebDataSource _stopLoading]):
3011         (-[WebDataSource _startLoading]):
3012         (-[WebDataSource _addSubresourceLoader:]):
3013         (-[WebDataSource _removeSubresourceLoader:]):
3014         (-[WebDataSource _addPlugInStreamLoader:]):
3015         (-[WebDataSource _removePlugInStreamLoader:]):
3016         (-[WebDataSource _iconLoaderReceivedPageIcon:]):
3017         (-[WebDataSource _defersCallbacksChanged]):
3018         (-[WebDataSource _stopLoadingWithError:]):
3019         (-[WebDataSource _setupForReplaceByMIMEType:]):
3020         (-[WebDataSource initWithRequest:]):
3021         (-[WebDataSource dealloc]):
3022         (-[WebDataSource finalize]):
3023         (-[WebDataSource data]):
3024         (-[WebDataSource isLoading]):
3025         * WebView/WebFrameLoader.h: Added.
3026         * WebView/WebFrameLoader.m: Added.
3027         (-[WebFrameLoader initWithDataSource:]):
3028         (-[WebFrameLoader dealloc]):
3029         (-[WebFrameLoader hasIconLoader]):
3030         (-[WebFrameLoader loadIconWithRequest:]):
3031         (-[WebFrameLoader stopLoadingIcon]):
3032         (-[WebFrameLoader addPlugInStreamLoader:]):
3033         (-[WebFrameLoader removePlugInStreamLoader:]):
3034         (-[WebFrameLoader setDefersCallbacks:]):
3035         (-[WebFrameLoader stopLoadingPlugIns]):
3036         (-[WebFrameLoader isLoadingMainResource]):
3037         (-[WebFrameLoader isLoadingSubresources]):
3038         (-[WebFrameLoader isLoading]):
3039         (-[WebFrameLoader stopLoadingSubresources]):
3040         (-[WebFrameLoader addSubresourceLoader:]):
3041         (-[WebFrameLoader removeSubresourceLoader:]):
3042         (-[WebFrameLoader mainResourceData]):
3043         (-[WebFrameLoader releaseMainResourceLoader]):
3044         (-[WebFrameLoader cancelMainResourceLoad]):
3045         (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
3046         (-[WebFrameLoader stopLoadingWithError:]):
3047
3048 2006-06-21  Brady Eidson  <beidson@apple.com>
3049
3050         Reviewed by Maciej
3051
3052         The WebCoreIconDatabaseBridge was getting messages sent to it after it had been closed, resulting in a crash
3053         on an ASSERT().  After closing the databaseBridge, we simply set it to nil so this can't happen.
3054         anymore.
3055
3056         * Misc/WebIconDatabase.m:
3057         (-[WebIconDatabase _applicationWillTerminate:]):
3058
3059 2006-06-21  Tim Omernick  <timo@apple.com>
3060
3061         Reviewed by Geoff Garen.
3062
3063         <rdar://problem/4564131> WebPluginDatabase setAdditionalWebPlugInPaths needs to be per WebView
3064
3065         Added some WebView SPI so that individual WebViews may have different plugin search paths.  There are some 
3066         limitations with the approach taken here:
3067
3068         - JavaScript may only access the global plugin DB.
3069         - When this SPI is in use, certain WebView methods may not give accurate results, such as +canShowMIMEType:.
3070         - This only works for plugins referenced using the <object> or <embed> tags; plugins that reside in non-standard
3071         file system locations may not be loaded directly into frames.
3072         
3073         None of these issues are important to the client that needs this SPI.  Rather than re-architect our entire
3074         plugin database, I think it is better to simply accept these limitations for now.
3075
3076         * Plugins/WebPluginDatabase.h:
3077         Added "plugInPaths" ivar, so different plugin databases can have different search paths.
3078         * Plugins/WebPluginDatabase.m:
3079         (+[WebPluginDatabase installedPlugins]):
3080         Give the global plugin database the default plugin search paths.
3081         (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
3082         Removed static global; this method now sets the plugin paths on the global plugin database.
3083         (-[WebPluginDatabase setPlugInPaths:]):
3084         Setter method for plugin paths.
3085         (-[WebPluginDatabase close]):
3086         New method; called when the plugin database is no longer needed (when its WebView is being destroyed).
3087         (-[WebPluginDatabase init]):
3088         Don't refresh in -init, so that callers can set the DB's plugin path array before it refreshes.
3089         (-[WebPluginDatabase dealloc]):
3090         Moved here from near the bottom of the file.  Release new ivar.
3091         (-[WebPluginDatabase refresh]):
3092         Use the plugInPaths ivar instead of calling pluginLocations().
3093         Notify plugin packages when they are added to and removed from a plugin database.  A plugin package will
3094         unload itself when it is removed from all of its plugin databases.
3095         The only really tricky thing here is that the global MIME <-> view class registrations are only modified
3096         by the shared plugin DB.
3097         (+[WebPluginDatabase _defaultPlugInPaths]):
3098         Refactored from the old pluginLocations() function; returns the default set of plugin search paths.
3099
3100         * Plugins/WebBasePluginPackage.h:
3101         * Plugins/WebBasePluginPackage.m:
3102         (-[WebBasePluginPackage dealloc]):
3103         Assert that this package has been removed from all of its containing plugin databases.
3104         (-[WebBasePluginPackage finalize]):
3105         ditto
3106         (-[WebBasePluginPackage wasAddedToPluginDatabase:]):
3107         Add plugin database to set.
3108         (-[WebBasePluginPackage wasRemovedFromPluginDatabase:]):
3109         Remove plugin database from set.  If it was the last DB, then unload the plugin package.
3110
3111         * WebView/WebViewInternal.h:
3112         Added instance methods to find the view class or plugin package, given a MIME type or file extension.
3113         * WebView/WebViewPrivate.h:
3114         Added SPI to set plugin search paths per WebView.
3115         * WebView/WebView.m:
3116         (-[WebView _viewClass:andRepresentationClass:forMIMEType:]):
3117         New method; tries the global MIME <-> view map first; failing that, it checks the WebView's plugin DB.
3118         (-[WebView _close]):
3119         Close the plugin DB.
3120         (-[WebView _setAdditionalWebPlugInPaths:]):
3121         Create the plugin DB if necessary, and set its plugin paths.
3122         (-[WebView _pluginForMIMEType:]):
3123         Checks global plugin DB, falls back on WebView DB.
3124         (-[WebView _pluginForExtension:]):
3125         ditto
3126         (-[WebView _isMIMETypeRegisteredAsPlugin:]):
3127         ditto
3128
3129         * WebCoreSupport/WebFrameBridge.m:
3130         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
3131         Use new WebView instance methods to look for plugins.
3132         (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
3133         ditto
3134         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
3135         ditto
3136
3137 2006-06-20  Brady Eidson  <beidson@apple.com>
3138
3139         Reviewed by Maciej
3140
3141         Added calls through to the WebCoreIconDatabaseBridge for all the major WebIconDatabase API.  For now these calls
3142         are wrapped with #ifdef's and are for debugging only.
3143
3144         * Misc/WebIconDatabase.h:
3145         * Misc/WebIconDatabase.m:
3146         (-[NSMutableDictionary _scaleIcon:toSize:]):
3147         (-[NSMutableDictionary init]):
3148         (-[NSMutableDictionary iconForURL:withSize:cache:]):
3149         (-[NSMutableDictionary iconURLForURL:]):
3150         (-[NSMutableDictionary retainIconForURL:]):
3151         (-[NSMutableDictionary releaseIconForURL:]):
3152         (-[WebIconDatabase _setHaveNoIconForIconURL:]):
3153         (-[WebIconDatabase _setIconURL:forURL:]):
3154         (-[WebIconDatabase _hasIconForIconURL:]):
3155         * Misc/WebIconLoader.m:
3156         (-[WebIconLoader didFinishLoading]):
3157
3158         * Misc/WebKitLogging.h:  Added a logging channel for WebIconDatabase debugging
3159         * Misc/WebKitLogging.m:
3160         (WebKitInitializeLoggingChannelsIfNecessary):
3161
3162 2006-06-20  Adele Peterson  <adele@apple.com>
3163
3164         Reviewed by Tim Hatcher.
3165
3166         * WebView/WebMainResourceLoader.m: Added missing header to fix build on Leopard.
3167
3168 2006-06-20  Timothy Hatcher  <timothy@apple.com>
3169
3170         Reviewed by Darin.
3171
3172         Removes the @try/@catch from the callbacks to improve performance,
3173         simply check if the proxy object's connection is still valid first.
3174         Listener objects are now required to be NSDistantObjects.
3175
3176         Adds pause, resume and step support. The debugger process use to handle this,
3177         but it caused problems when there were multiple listeners.
3178
3179         Sends the bundle identifier in the notification userInfo dictionary along with
3180         process name and process ID.
3181
3182         * DefaultDelegates/WebScriptDebugServer.h:
3183         * DefaultDelegates/WebScriptDebugServer.m:
3184         (-[WebScriptDebugServer serverQuery:]):
3185         (-[WebScriptDebugServer addListener:]):
3186         (-[WebScriptDebugServer removeListener:]):
3187         (-[WebScriptDebugServer step]):
3188         (-[WebScriptDebugServer pause]):
3189         (-[WebScriptDebugServer resume]):
3190         (-[WebScriptDebugServer isPaused]):
3191         (-[WebScriptDebugServer suspendProcessIfPaused]):
3192         (-[WebScriptDebugServer webView:didParseSource:fromURL:sourceId:forWebFrame:]):
3193         (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
3194         (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
3195         (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
3196         * DefaultDelegates/WebScriptDebugServerPrivate.h:
3197         * WebKit.exp:
3198
3199 2006-06-19  Alexey Proskuryakov  <ap@nypop.com>
3200
3201         Reviewed by Darin.
3202
3203         - http://bugzilla.opendarwin.org/show_bug.cgi?id=5499
3204         Page reload does not send any cache control headers
3205
3206         * WebView/WebFrame.m:
3207         (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]): Set a proper Cache-Control header for 
3208         reload requests.
3209         (-[WebFrame loadRequest:]): Reset loadType to WebFrameLoadTypeStandard (after a reload, it stayed at 
3210         WebFrameLoadTypeReload, so _addExtraFieldsToRequest erroneously added a Cache-Control header to them).
3211
3212 2006-06-19  John Sullivan  <sullivan@apple.com>
3213
3214         Reviewed by Darin.
3215         
3216         - added mechanism to notify UIDelegate when part of the webview is redrawn. For now, it only
3217           works for HTML views.
3218
3219         * WebView/WebUIDelegatePrivate.h:
3220         Define a new UIDelegate method -webView:didDrawRect:
3221         * WebView/WebHTMLView.m:
3222         (-[WebView drawSingleRect:]):
3223         Call through to UIDelegate if it implements that method. I tested that this does not impact PLT numbers
3224         in the case where the delegate implements the method but does nothing in it.
3225
3226 2006-06-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3227
3228         Reviewed by Maciej.
3229
3230         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9452
3231           Assertion failure in -[WebFramePrivate setProvisionalDataSource:]
3232
3233         * WebView/WebFrame.m:
3234         (-[WebFrame _checkLoadCompleteForThisFrame]): Avoid re-entering the delegate's
3235         -[webView:didFailProvisionalLoadWithError:forFrame].
3236
3237 2006-06-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3238
3239         Reviewed by xenon.
3240
3241         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9479
3242           Disassociate the inspector from the frame when it detaches from its parent
3243
3244         * WebInspector/WebInspector.m:
3245         (-[NSWindow setWebFrame:]): Added code to (de)register with the WebFrame
3246         the inspector is (no longer) targeting.
3247         (-[WebInspector _webFrameDetached:]): Added. Moved the code that was previously
3248         in -[inspectedWindowWillClose:] here. This is called by the WebFrame when it
3249         is detached from its parent.
3250         * WebInspector/WebInspectorInternal.h:
3251         * WebView/WebFrame.m:
3252         (-[WebFramePrivate dealloc]):
3253         (-[WebFrame _detachFromParent]): Added code to notify all registered inspectors
3254         that the WebFrame is detaching.
3255         (-[WebFrame _addInspector:]): Added.
3256         (-[WebFrame _removeInspector:]): Added.
3257         * WebView/WebFrameInternal.h:
3258
3259 2006-06-18  Anders Carlsson  <acarlsson@apple.com>
3260
3261         Reviewed by Geoff.
3262
3263         * WebCoreSupport/WebFrameBridge.m:
3264         (-[WebFrameBridge shouldInterruptJavaScript]):
3265         Ask the UI delegate if the script should be interrupted.
3266         
3267         * WebView/WebUIDelegatePrivate.h:
3268         Declare webViewShouldInterruptJavaScript: delegate method
3269
3270 2006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3271
3272         Reviewed by Darin.
3273
3274         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9466
3275           Assertion failure when dragging an image from the document into Safari's address bar
3276
3277         * WebView/WebFrameView.m:
3278         (-[WebFrameView _setDocumentView:]): Reset the WebView's initiatedDrag flag
3279         when the document view is changed.
3280         * WebView/WebHTMLView.m:
3281         (-[WebHTMLView draggedImage:endedAt:operation:]): Changed the ASSERT to allow
3282         for drags that end after the view has been removed from the WebView.
3283
3284 2006-06-16  Timothy Hatcher  <timothy@apple.com>
3285
3286         Reviewed by Tim O.
3287
3288         Exposes a distributed objects server for clients to register for script debugger calls.
3289         For preformance concerns this is disabled by default, you will need to enable this per application.
3290         To enable for Safari do this: defaults write com.apple.Safari WebKitScriptDebuggerEnabled -bool true
3291
3292         Clients will need to listen to the following distributed notification to discover servers:
3293         WebScriptDebugServerDidLoadNotification
3294
3295         To discover servers that previously loaded before the client, the client needs to send the following notification:
3296         WebScriptDebugServerQueryNotification
3297
3298         All servers will reply with the WebScriptDebugServerQueryReplyNotification notification that contains the
3299         registered server connection name to use with distributed objects.
3300
3301         * DefaultDelegates/WebScriptDebugServer.h: Added.
3302         * DefaultDelegates/WebScriptDebugServer.m: Added.
3303         (+[WebScriptDebugServer sharedScriptDebugServer]):
3304         (-[WebScriptDebugServer init]):
3305         (-[WebScriptDebugServer dealloc]):
3306         (-[WebScriptDebugServer serverQuery:]):
3307         (-[WebScriptDebugServer listenerConnectionDidDie:]):
3308         (-[WebScriptDebugServer addListener:]):
3309         (-[WebScriptDebugServer removeListener:]):
3310         (-[WebScriptDebugServer webView:didParseSource:fromURL:sourceId:forWebFrame:]):
3311         (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
3312         (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
3313         (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
3314         * DefaultDelegates/WebScriptDebugServerPrivate.h: Added.
3315         * WebCoreSupport/WebFrameBridge.m:
3316         (-[WebFrameBridge windowObjectCleared]):
3317         * WebKit.exp:
3318         * WebKit.xcodeproj/project.pbxproj:
3319         * WebView/WebScriptDebugDelegate.m:
3320         (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
3321         (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
3322         (-[WebScriptCallFrame hitStatement:sourceId:line:]):
3323         (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
3324         * WebView/WebView.m:
3325         (+[WebView _developerExtrasEnabled]):
3326         (+[WebView _scriptDebuggerEnabled]):
3327         (-[WebView _menuForElement:defaultItems:]):
3328         (-[WebView _commonInitializationWithFrameName:groupName:]):
3329         * WebView/WebViewPrivate.h:
3330
3331 2006-06-16  Adele Peterson  <adele@apple.com>
3332
3333         Reviewed by Alice.
3334
3335         Added initialization for WKDrawBezeledTextArea.
3336
3337         * WebCoreSupport/WebSystemInterface.m:
3338         (InitWebCoreSystemInterface):
3339
3340 2006-06-15  Timothy Hatcher  <timothy@apple.com>
3341
3342         Reviewed by Geoff and Darin.
3343         
3344         Prefer the DWARF debugging symbols format for use in Xcode 2.3.
3345
3346         * WebKit.xcodeproj/project.pbxproj:
3347
3348 2006-06-15  John Sullivan  <sullivan@apple.com>
3349
3350         Reviewed by Tim O.
3351         
3352         Fixed bug in WebKit support for computing but not highlighting rects for text matches.
3353
3354         * WebView/WebView.m:
3355         (-[WebView rectsForTextMatches]):
3356         leave out empty rects, and convert rects to WebView coordinates. Since this makes a batch
3357         of autoreleased NSValue objects, use a local autorelease pool
3358
3359 2006-02-11  David Kilzer  <ddkilzer@kilzer.net>
3360
3361         Reviewed by John Sullivan.
3362
3363         * Plugins/WebPluginController.m:
3364         (-[WebPluginController _cancelOutstandingChecks]):
3365         add nil check before calling CFSetApplyFunction
3366
3367 2006-06-14  Levi Weintraub  <lweintraub@apple.com>
3368
3369         Reviewed by justin
3370         
3371         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7580>
3372         TinyMCE: Implement execCommand(formatBlock, ...)
3373         
3374         * English.lproj/Localizable.strings:
3375         * WebCoreSupport/WebFrameBridge.m:
3376         (-[WebFrameBridge nameForUndoAction:]):
3377
3378 2006-06-14  Tim Omernick  <timo@apple.com>
3379
3380         Reviewed by John Sullivan.
3381
3382         <rdar://problem/4577988> GC: WebPluginController uses inefficient resurrecting enumeration
3383
3384         * Plugins/WebPluginController.m:
3385         (cancelOutstandingCheck):
3386         (-[WebPluginController _cancelOutstandingChecks]):
3387         Use CFSetApplyFunction() instead of an enumerator to guard against modifications to the set while enumerating.
3388
3389 2006-06-13  John Sullivan  <sullivan@apple.com>
3390
3391         Reviewed by Tim O.
3392         
3393         - fixed <rdar://problem/4498606> REGRESSION (417.8-420+): 3 missing items (but extra separators) in context 
3394         menu in Mail message body
3395
3396         * WebView/WebView.m:
3397         (-[WebView _menuForElement:defaultItems:]):
3398         Add special-case hackery to recover from this SPI -> API mismatch.
3399
3400 2006-06-13  Tim Omernick  <timo@apple.com>
3401
3402         Reviewed by Anders.
3403
3404         Fixed a recently-introduced assertion failure when handling 404 errors.
3405
3406         * WebView/WebDataSource.m:
3407         (-[WebDataSource _handleFallbackContent]):
3408         Use the -[WebFrame _bridge] instead of -[WebDataSource _bridge].  The former is not valid until the data
3409         source has been committed, which is not the case when the resource fails to load.  The latter is safe to call
3410         at any time.  This broke last night with Maciej's change to WebFrameResourceLoader.  The old code used to
3411         call -[WebFrame _bridge].
3412
3413 2006-06-13  Anders Carlsson  <acarlsson@apple.com>
3414
3415         Reviewed by Geoff.
3416
3417         http://bugzilla.opendarwin.org/show_bug.cgi?id=9406
3418         REGRESSION: fix for bug 9390 broke two layout tests
3419
3420         * Plugins/WebPluginDatabase.h:
3421         (-[WebPluginDatabase isMIMETypeRegistered:]):
3422         Add new function isMIMETypeRegistered which returns whether a given MIME type has a 
3423         plugin registered. 
3424
3425         * Plugins/WebPluginDatabase.m:
3426         (-[WebPluginDatabase init]):        
3427         Init set of registered MIME types.
3428         
3429         (-[WebPluginDatabase refresh]):
3430         Add and remove MIME types from the set of registered MIME types when registering and unregistering
3431         plugin MIME types.
3432         
3433         (-[WebPluginDatabase dealloc]):
3434         Release set of registered MIME types.
3435         
3436         * WebCoreSupport/WebFrameBridge.m:
3437         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
3438         Use isMIMETypeRegistered here.
3439
3440 2006-06-12  Maciej Stachowiak  <mjs@apple.com>
3441
3442         - fix for cocoa exception (whoops)
3443
3444         * WebView/WebView.m:
3445         (+[WebView _generatedMIMETypeForURLScheme:]): put this back
3446         * WebView/WebDataSource.m:
3447         (+[WebDataSource _generatedMIMETypeForURLScheme:]): call WebView
3448
3449 2006-06-12  Maciej Stachowiak  <mjs@apple.com>
3450
3451         Reviewed by Darin.
3452         
3453         - remove use of WebView and related from WebMainResourceLoader
3454
3455         * WebKit.xcodeproj/project.pbxproj:
3456         * WebView/WebDataSource.m:
3457         (+[WebDataSource _generatedMIMETypeForURLScheme:]):
3458         (+[WebDataSource _representationExistsForURLScheme:]):
3459         (+[WebDataSource _canShowMIMEType:]):
3460         (-[WebDataSource _handleFallbackContent]):
3461         (-[WebDataSource _decidePolicyForMIMEType:decisionListener:]):
3462         * WebView/WebDataSourceInternal.h:
3463         * WebView/WebFrame.m:
3464         (-[WebFrame _isMainFrame]):
3465         * WebView/WebFrameInternal.h:
3466         * WebView/WebMainResourceLoader.m:
3467         (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
3468         (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
3469         (-[WebMainResourceLoader checkContentPolicyForResponse:]):
3470         (-[WebMainResourceLoader loadWithRequestNow:]):
3471         * WebView/WebView.m:
3472
3473 2006-06-12  Tim Omernick  <timo@apple.com>
3474
3475         Reviewed by Maciej.
3476
3477         <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc] running layout tests
3478
3479         * Plugins/WebNetscapePluginPackage.m:
3480         (-[WebNetscapePluginPackage _initWithPath:]):
3481         Renamed from -initWithPath:.  Instead of releasing/deallocating self on error, return NO.
3482         (-[WebNetscapePluginPackage initWithPath:]):
3483         Call the new -_initWithPath:.  If it returns NO, unload the plugin package before deallocating it.
3484
3485 2006-06-11  Darin Adler  <darin@apple.com>
3486
3487         - try to fix Windows build
3488
3489         * COM/WebKitDLL.cpp: (loadResourceIntoArray): Use Vector<char> instead of
3490         DeprecatedByteArray.
3491
3492 2006-06-11  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3493
3494         Reviewed by Tim H.
3495
3496         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8672
3497           Red outline from web inspector reappears after inspector is closed
3498
3499         * WebInspector/WebInspector.m:
3500         (-[NSWindow windowWillClose:]): Added a call to setWebFrame to avoid further
3501         load progress notifications.
3502         (-[NSWindow setWebFrame:]): Changed to resign the WebView's hostWindow rather
3503         than its window for close notifications, to avoid resigning from all windows' close
3504         notifications (including the inspector window's) when the WebView is in a hidden tab.
3505         Also changed to prevent highlighting the initial focused node.
3506
3507 2006-06-11  Anders Carlsson  <acarlsson@apple.com>
3508
3509         Reviewed by Tim.
3510
3511         http://bugzilla.opendarwin.org/show_bug.cgi?id=9390
3512         Move full-frame plugins to WebCore
3513
3514         * Plugins/WebBaseNetscapePluginStream.h:
3515         * Plugins/WebBaseNetscapePluginStream.m:
3516         (-[WebBaseNetscapePluginStream instance]):
3517