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