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