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