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