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