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