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