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