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