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