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