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