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