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