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