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