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