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