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