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