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