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