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