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