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