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