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