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