a06a69e6f12e61ba094dd61f03653a19ab75638e
[WebKit-https.git] / WebKit / ChangeLog
1 2007-08-17  Maciej Stachowiak  <mjs@apple.com>
2
3         Reviewed by Darin.
4
5         - WebKit part of fix to scrollbar suppression hack for Leopard
6
7         * WebView/WebDynamicScrollBarsView.m:
8         (-[WebDynamicScrollBarsView reflectScrolledClipView:]): Don't call the superclass method
9         when scrollbars are suppressed.
10         (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]): Instead call it
11         here, when unsuppressing.
12
13 2007-08-17  Darin Adler  <darin@apple.com>
14
15         Reviewed by Maciej.
16
17         - fix <rdar://problem/5414518> Use root URL as origin URL when quarantining downloads
18
19         * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::setOriginalURLForDownload):
20         Extract only the scheme and host name and make the originating URL from that.
21
22         * WebKit/StringsNotToBeLocalized.txt: Updated for recent changes.
23
24 2007-08-17  Timothy Hatcher  <timothy@apple.com>
25
26         Reviewed by Darin.
27
28         <rdar://problem/5398301> Xcode threw mutation exception while enumerating subviews (GC only)
29
30         I was never able to reproduce this exception. But there can be cases where layout will
31         trigger JavaScript or plugin code that can modify the WebView view hierarchy during a
32         recursive enumeration of all the subviews.
33
34         This patch does two things:
35         1) Adds a check in debug builds that will LOG when any view is added or removed during layout.
36         Noting that added views will not recieve layout this round and might paint without first recieving layout.
37
38         2) Recursivly builds up an array of descendant WebHTMLViews before calling layout on them.
39         This matches the behavior of makeObjectsPerformSelector: in the non-GC case (making a copy
40         before enumerating.)
41
42         * WebView/WebHTMLView.mm:
43         (-[WebHTMLView _web_setPrintingModeRecursive]): Use _web_addDescendantWebHTMLViewsToArray to build up an array
44         of WebHTMLViews to enumerate.
45         (-[WebHTMLView _web_clearPrintingModeRecursive]): Ditto.
46         (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]): Ditto.
47         (-[WebHTMLView _web_layoutIfNeededRecursive]): Ditto.
48         (-[WebHTMLView _layoutIfNeeded]): Moved to WebHTMLViewFileInternal category.
49         (-[WebHTMLView didAddSubview:]): LOG in debug builds.
50         (-[WebHTMLView willRemoveSubview:]): Ditto.
51         (-[NSView _web_addDescendantWebHTMLViewsToArray:]): Recursivly build an array of descendant WebHTMLViews.
52         * WebView/WebHTMLViewInternal.h: Added a BOOL in WebHTMLViewPrivate to track subview changes (debug only.)
53
54 2007-08-17  Anders Carlsson  <andersca@apple.com>
55
56         Reviewed by Dave Hyatt.
57
58         <rdar://problem/5379040> 
59         REGRESSION (Tiger-Leopard): ADOBE: Safari calls NPP_SetWindow with bad values sometimes
60         
61         Pass the right size when creating the views.
62         
63         * WebCoreSupport/WebFrameBridge.mm:
64         (-[WebFrameBridge viewForPluginWithFrame:URL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
65         * WebCoreSupport/WebFrameLoaderClient.h:
66         * WebCoreSupport/WebFrameLoaderClient.mm:
67         (WebFrameLoaderClient::createPlugin):
68
69 2007-08-13  Geoffrey Garen  <ggaren@apple.com>
70
71         Reviewed by Dave Hyatt.
72         
73         WebKit changes to support new cache eviction model in WebCore.
74
75         * WebView/WebPreferences.m:
76         (+[WebPreferences initialize]): Modified to reflect new API in WebCore.
77         * WebView/WebView.mm:
78         (+[WebView _initializeCacheSizesIfNecessary]): Slightly increased cache
79         size on low memory systems to avoid affecting the PLT for now.
80
81 2007-08-15  Timothy Hatcher  <timothy@apple.com>
82
83         Reviewed by Darin.
84
85         <rdar://problem/5410937> HIWebView in SimpleCarbonWeb doesn't seem to be getting adequate invalidation when window is resized
86
87         HIWebViewCreate now just returns a HIViewRef created with HICocoaViewCreate. This eliminates lots of old code and
88         makes HIWebView a better citizen starting with Leopard. The old code paths are still needed for Tiger, so now
89         most of the files in the WebKit/Carbon directory are #ifdef BUILDING_ON_TIGER.
90
91         The Tiger code is unchanged and dosen't exhibit the invalidation problem when the window resizes.
92
93         * Carbon/CarbonUtils.m:
94         (WebInitForCarbon): #ifdef BUILDING_ON_TIGER portions of this code that is not needed on Leopard.
95         * Carbon/CarbonWindowAdapter.h: #ifdef BUILDING_ON_TIGER
96         * Carbon/CarbonWindowAdapter.m: Ditto.
97         * Carbon/CarbonWindowContentView.h: Ditto.
98         * Carbon/CarbonWindowContentView.m: Ditto.
99         * Carbon/CarbonWindowFrame.h: Ditto.
100         * Carbon/CarbonWindowFrame.m: Ditto.
101         * Carbon/HIViewAdapter.h: Ditto.
102         * Carbon/HIViewAdapter.m: Ditto.
103         * Carbon/HIWebView.h: Consolidate two #ifdef __OBJC__ blocks into one.
104         * Carbon/HIWebView.m: Implement Leopard specific HIWebViewCreate, HIWebViewCreateWithClass and HIWebViewGetWebView.
105         (HIWebViewCreate): Call HIWebViewCreateWithClass passing [WebView class].
106         (HIWebViewCreateWithClass): Call HICocoaViewCreate with an instance of the class passed in.
107         (HIWebViewGetWebView): Call HICocoaViewGetView.
108
109 2007-08-14  Brady Eidson  <beidson@apple.com>
110
111         Reviewed by Darin, John, Maciej, Oliver, and Tim
112
113         <rdar://problem/5394708> - Crash on launch with corrupt icon database
114
115         Expose some new SPI to help recover from this case should it happen again
116
117         * Misc/WebIconDatabase.mm:
118         (-[WebIconDatabase init]): Use the new _databaseDirectory to determine where to open the database on disk
119         (+[WebIconDatabase _checkIntegrityBeforeOpening]): Tell the icon database to check integrity when it opens
120         (-[WebIconDatabase _databaseDirectory]): Moved the database-directory-determining logic here as it's now used in two places
121         * Misc/WebIconDatabasePrivate.h: Added _checkIntegrityBeforeOpening SPI for clients to give hints about when the
122           integrity check should run
123
124 2007-08-12  Alexey Proskuryakov  <ap@webkit.org>
125
126         Reviewed by Darin.
127
128         http://bugs.webkit.org/show_bug.cgi?id=4648
129         Shockwave unable to load GZip'd text resources when server sends Content-Length header
130
131         * Plugins/WebBaseNetscapePluginStream.mm:
132         (-[WebBaseNetscapePluginStream startStreamWithResponse:]): Don't trust 
133         -[NSURLResponse expectedContentLength] if Content-Encoding is not identity.
134
135 2007-08-10  Timothy Hatcher  <timothy@apple.com>
136
137         Reviewed by Mark Rowe.
138
139         <rdar://problem/5403302> HIWebView.h should be #ifdefed out for 64-bit
140
141         * Carbon/HIWebView.h: #ifdef out the header in 64-bit. Adds a comment about 32-bit only.
142         * Carbon/CarbonUtils.h: Ditto.
143
144 2007-08-10  Timothy Hatcher  <timothy@apple.com>
145
146         Reviewed by Adam.
147
148         <rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit
149
150         Disable NPObject use in 64-bit on Mac OS X. Also generate the 64-bit export file.
151
152         * Configurations/WebKit.xcconfig: Point to the generated 64-bit export file.
153         * Plugins/WebBasePluginPackage.h:
154         * Plugins/npfunctions.h: #ifdef out this header in 64-bit on Mac OS X.
155         * WebKit.LP64.exp: Removed.
156         * WebKit.xcodeproj/project.pbxproj: Generate the the 64-bit export file.
157         * WebKitPrefix.h: Define WTF_USE_NPOBJECT.
158
159 2007-08-10  Anders Carlsson  <andersca@apple.com>
160
161         Reviewed by Geoff.
162
163         <rdar://problem/5390568>
164         REGRESSION: –[WebFrame loadHTMLString:baseURL:] leaks the data source
165         
166         If the identifier is not in the map, just bail out instead of asserting. This is a better fix for
167         <rdar://problem/5133420> because WebCore shouldn't have to worry about the lifetime of WebKit objects.
168         
169         * WebView/WebDocumentLoaderMac.mm:
170         (WebDocumentLoaderMac::decreaseLoadCount):
171
172 2007-08-10  Oliver Hunt  <oliver@apple.com>
173
174         Reviewed by Darin.
175
176         Fixed <rdar://problem/5000470> REGRESSION: ATOK IM: reconvert returns incorrect symbol due to inconsistent range domains in TSM by working around <rdar://problem/5400551> [NSAttributedString(WebKitExtras) _web_attributedStringFromRange:] adds whitespace to the requested range
177
178         We truncate the returned string to the expected length.
179
180         * WebView/WebHTMLView.mm:
181         (-[WebHTMLView attributedSubstringFromRange:]):
182
183 2007-08-09  Mark Rowe  <mrowe@apple.com>
184
185         Reviewed by Antti.
186
187         <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +
188
189         * Configurations/Version.xcconfig:
190         * WebKit.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between
191         Version.xcconfig and Info.plist explicit to Xcode.
192
193 2007-08-08  Kevin Decker <kdecker@apple.com>
194
195         Reviewed by Anders Carlsson.
196
197         Fixed: <rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit
198         
199         #ifdef'd out Netscape style plug-ins on 64-bit because Mac OS X doesn't support 64-bit Carbon UI.
200         
201         * Plugins/WebBaseNetscapePluginStream.h:
202         * Plugins/WebBaseNetscapePluginStream.mm:
203         * Plugins/WebBaseNetscapePluginView.h:
204         * Plugins/WebBaseNetscapePluginView.mm:
205         (+[WebBaseNetscapePluginView getCarbonEvent:]):
206         (TSMEventHandler):
207         * Plugins/WebBaseNetscapePluginViewInternal.h:
208         * Plugins/WebBaseNetscapePluginViewPrivate.h:
209         * Plugins/WebBasePluginPackage.m:
210         (+[WebBasePluginPackage pluginWithPath:]):
211         * Plugins/WebNetscapePluginEmbeddedView.h:
212         * Plugins/WebNetscapePluginEmbeddedView.mm:
213         * Plugins/WebNetscapePluginPackage.h:
214         * Plugins/WebNetscapePluginPackage.m:
215         * Plugins/WebNetscapePluginStream.h:
216         * Plugins/WebNetscapePluginStream.mm:
217         * Plugins/WebPluginDatabase.m:
218         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
219         * Plugins/npapi.m:
220         * WebCoreSupport/WebFrameBridge.mm:
221         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
222         * WebView/WebFrame.mm:
223         * WebView/WebFramePrivate.h:
224         * WebView/WebHTMLView.mm:
225         (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
226         * WebView/WebHTMLViewInternal.h:
227
228 2007-08-07  David Hyatt  <hyatt@apple.com>
229
230         Fix a botched backout of the Quicktime plugin clipping fix that broke Java.  The plugin view should not
231         be set to autosize with the parent view.  Also, cleanup of script objects was removed accidentally as
232         well.
233
234         Reviewed by olliej
235
236         * Plugins/WebPluginController.mm:
237         (-[WebPluginController destroyPlugin:]):
238         (-[WebPluginController destroyAllPlugins]):
239         * WebCoreSupport/WebFrameBridge.mm:
240         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
241
242 2007-08-03  Brady Eidson  <beidson@apple.com>
243
244         Reviewed by Oliver
245
246         Fix for http://bugs.webkit.org/show_bug.cgi?id=14824 and <rdar://problem/5372989>
247
248         When unregistering a MIMEType, remove it from the WebCore registry unconditionally
249         When registrying a MIMEType whose view class is WebHTMLView, add it to the WebCore registry
250
251         * WebView/WebView.mm:
252         (+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]): 
253         (+[WebView _registerViewClass:representationClass:forURLScheme:]):
254         (+[WebView registerViewClass:representationClass:forMIMEType:]):
255
256 2007-08-03  Timothy Hatcher  <timothy@apple.com>
257
258         Reviewed by Mark Rowe.
259
260         Correct the bundle version check to work in Debug and Release builds too.
261
262         * WebKit.xcodeproj/project.pbxproj:
263
264 2007-08-02  Brady Eidson  <beidson@apple.com>
265
266         Reviewed by Tim
267
268         <rdar://problem/5381463> - setMIMETypesShownAsHTML mutates while enumerating
269
270         * WebView/WebView.mm:
271         (+[WebView setMIMETypesShownAsHTML:]): Copy the dictionary before we work with it.
272
273 2007-08-02  Alice Liu  <alice.liu@apple.com>
274
275         Reviewed by Kevin McCullough.
276
277         fixed <rdar://problem/5310312> REGRESSION: javascript is mis-escaped at http://labs.zarate.org/passwd causing bookmarklet to break
278
279         * Misc/WebNSURLExtras.mm:
280         (+[NSURL _web_URLWithUserTypedString:relativeToURL:]):
281         (-[NSURL _web_userVisibleString]):
282         (-[NSURL _web_URLWithLowercasedScheme]):
283         (-[NSURL _web_dataForURLComponentType:]):
284         These 4 changes are just casting changes.
285
286         (-[NSString _webkit_stringByReplacingValidPercentEscapes]):
287         This change replaces the call to an NSURL method with a webcore one that doesn't abort the escaping effort once an illegal character is encountered. 
288
289 2007-08-01  Anders Carlsson  <andersca@apple.com>
290
291         Fix build.
292         
293         * Misc/WebNSURLExtras.mm:
294         (+[NSURL _web_URLWithUserTypedString:relativeToURL:]):
295         (-[NSURL _web_userVisibleString]):
296         (-[NSURL _web_URLWithLowercasedScheme]):
297         (-[NSURL _web_dataForURLComponentType:]):
298
299 2007-08-01  Alice Liu  <alice.liu@apple.com>
300
301         Reviewed by .
302
303         Making WebNSURLExtras objc++
304
305         * Misc/WebNSURLExtras.m: Removed.
306         * Misc/WebNSURLExtras.mm: Copied from WebKit/Misc/WebNSURLExtras.m.
307         * WebKit.xcodeproj/project.pbxproj:
308
309 2007-08-01  Darin Adler  <darin@apple.com>
310
311         Reviewed by Anders Carlsson and Kevin Decker.
312
313         - fix <rdar://problem/5377432> Removal of MakeDataExecutable from 64-bit breaks WebKit build
314
315         The trick was to ifdef out more of the code that's only needed to support CFM, which exists
316         only for 32-bit PowerPC.
317
318         * Plugins/WebNetscapePluginPackage.h: Define a SUPPORT_CFM symbol in this internal header when
319         we support CFM. We support it only on 32-bit PowerPC. Only define the isBundle, isCFM, and
320         connID fields when SUPPORT_CFM is on. Also use ResFileRefNum instead of SInt16.
321         * Plugins/WebNetscapePluginPackage.m: Only compile the function pointer and transition vector
322         functions when SUPPORT_CFM is on.
323         (-[WebNetscapePluginPackage openResourceFile]): Put the non-bundle case inside a SUPPORT_CFM
324         ifdef, since all non-CFM plug-ins are bundles.
325         (-[WebNetscapePluginPackage closeResourceFile:]): Ditto.
326         (-[WebNetscapePluginPackage _initWithPath:]): Use SUPPORT_CFM to compile out the code for
327         non-bundle and bundle-based CFM plug-ins, and code that sets isBundle and isCFM.
328         (-[WebNetscapePluginPackage executableType]): Put the CFM case inside SUPPORT_CFM.
329         (-[WebNetscapePluginPackage load]): Put the non-bundle and CFM cases inside SUPPORT_CFM.
330         There was a bit of dead code here.
331         (-[WebNetscapePluginPackage _unloadWithShutdown:]): Put the non-bundle case inside
332         SUPPORT_CFM.
333
334 2007-07-31  Timothy Hatcher  <timothy@apple.com>
335
336         Reviewed by Oliver and Beth.
337
338         <rdar://problem/5211271> ADOBE Leopard 9A410: At the first Launching InDesign after deactivate, EULA page gets blanked.
339
340         Check for more Adobe applications that need the frame reload quirk. Also cache the answer
341         so the version check dosen't happen more than once.
342
343         * WebView/WebView.mm:
344         (-[WebView _needsAdobeFrameReloadingQuirk]):
345         (-[WebView _updateWebCoreSettingsFromPreferences:]):
346
347 2007-07-30  Adele Peterson  <adele@apple.com>
348
349         Reviewed by Oliver.
350
351         Fix for <rdar://problem/5308020> REGRESSION: Command-N with Dvorak-Qwerty keyboard layout stopped working inside web page text fields
352
353         * WebView/WebHTMLView.mm: (-[WebHTMLView _handleStyleKeyEquivalent:]):
354         The input method may have modified the character we get, so don't use charactersIgnoringModifiers to interpret the character we get.
355
356 2007-07-30  John Sullivan  <sullivan@apple.com>
357
358         Reviewed by Darin
359         
360         - fixed <rdar://problem/5216176> Need WebKit SPI to allow clients using embedded WebViews to avoid 
361           clipping ends of some printed pages
362           
363         This provides Mail, and other clients that print views that embed WebViews, a way to ensure that
364         the HTML is laid out for printing before pagination occurs.
365
366         * WebView/WebHTMLViewPrivate.h:
367         new SPI method -_layoutForPrinting
368         
369         * WebView/WebHTMLView.mm:
370         (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]):
371         new method, just like existing _web_setPrintingModeRecursive except passes YES for adjustViewSize
372         (-[WebHTMLView _layoutForPrinting]):
373         new SPI method, sets printing mode temporarily to adjust the view size for printing 
374         (-[NSView _web_setPrintingModeRecursiveAndAdjustViewSize]):
375         new helper method to do the recursion
376
377 2007-07-30  Adele Peterson  <adele@apple.com>
378
379         Reviewed by Darin.
380
381         Fix for <rdar://problem/5367919> A crash occurs at WebCore::Frame::isFrameSet() when attempting to print a iframe before it loads at http://www.monster.com/
382
383         * WebView/WebHTMLView.mm: (-[WebHTMLView knowsPageRange:]): Nil check for frame.
384
385 2007-07-30  Anders Carlsson  <andersca@apple.com>
386
387         Reviewed by Darin.
388
389         <rdar://problem/5370710> 
390         REGRESSION: After switching from Bookmark view, the Find Banner won't appear while displaying a PDF file
391
392         Implement hasHTMLView.
393         
394         * WebCoreSupport/WebFrameLoaderClient.h:
395         * WebCoreSupport/WebFrameLoaderClient.mm:
396         (WebFrameLoaderClient::hasHTMLView):
397
398 2007-07-30  Justin Garcia  <justin.garcia@apple.com>
399
400         Reviewed by Tristan.
401         
402         <rdar://problem/5098931> Attachments are lost when they are moved into a ToDo after a delete
403         
404         Mail needs to be asked if it is OK to do the content movement that happens 
405         after a deleting in a situation like this one: 
406         <div contenteditable="plaintext-only">foo</div><div>^bar</div> 
407         so that they can prevent the move or so that they can save content that 
408         will be stripped by the move. This could have been done with shouldInsertNode 
409         and a new WebViewInsertAction for "moves", but WebKit clients like Mail and 
410         DashCode think that a shouldInsert* means that the user pasted something and
411         perform actions only appropriate for pastes.  This change is less risky because
412         it won't require those clients to change their code.
413
414         * DefaultDelegates/WebDefaultEditingDelegate.m:
415         (-[WebDefaultEditingDelegate webView:shouldMoveRangeAfterDelete:replacingRange:]):
416         * WebCoreSupport/WebEditorClient.h:
417         * WebCoreSupport/WebEditorClient.mm:
418         (WebEditorClient::shouldMoveRangeAfterDelete):
419         * WebView/WebEditingDelegatePrivate.h:
420
421 2007-07-29  Adele Peterson  <adele@apple.com>
422
423         Reviewed by John.
424
425         WebKit part of fix for <rdar://problem/5102522> REGRESSION: Can't tab to webview that doesn't have editable content
426
427         * WebView/WebHTMLView.mm: (-[WebHTMLView becomeFirstResponder]): Call new setInitialFocus method instead of advanceFocus.
428
429 2007-07-27  Darin Adler  <darin@apple.com>
430
431         - fix build
432
433         * WebKitPrefix.h: Removed the USING_WEBCORE_XXX definitions.
434         * WebView/WebHTMLView.mm:
435         (-[WebHTMLView delete:]): Fixed this to use WebCore again; I accidentally revived a dead
436         code path that didn't work in the last patch!
437         (-[WebHTMLView deleteToMark:]): Ditto.
438         (-[WebHTMLView copy:]): Removed the unused side of the ifdef.
439         (-[WebHTMLView cut:]): Ditto.
440         (-[WebHTMLView paste:]): Ditto.
441
442 2007-07-27  Darin Adler  <darin@apple.com>
443
444         Reviewed by Tim Hatcher and Oliver Hunt.
445
446         - fix <rdar://problem/5355815> webView:doCommandBySelector: isn't getting called for copy:
447
448         Added code so that webView:doCommandBySelector: is called for every command.
449
450         * WebView/WebHTMLView.mm: Made 44 of the commands use the WEBCORE_COMMAND macro instead
451         of being handwritten. For all the others, added invocation of COMMAND_PROLOGUE macro at
452         the start of the command.
453         (-[WebHTMLView callDelegateDoCommandBySelectorIfNeeded:]): Added.
454         (-[WebHTMLView callWebCoreCommand:]): Added.
455         (-[WebHTMLView delete:]): Removed unused code path -- easy to bring back some day, but
456         we don't need it compiled in.
457         (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Changed so this doesn't
458         call deleteBackward: any more so we don't call the delegate two times.
459         (-[WebHTMLView deleteToMark:]): Changed so this doesn't call delete: any more so we don't
460         call the delegate two times.
461         (-[WebHTMLView selectToMark:]): Changed so this doesn't call setMark: any more so we don't
462         call the delegate two times.
463         (-[WebHTMLView doCommandBySelector:]): Added code to set the private variable
464         selectorForDoCommandBySelector. This allows callDelegateDoCommandBySelectorIfNeeded to
465         detect that we've already called the delegate and avoids calling it twice.
466
467         * WebView/WebHTMLViewInternal.h: Added the selectorForDoCommandBySelector field.
468
469 2007-07-26  Alexey Proskuryakov  <ap@webkit.org>
470
471         Reviewed by Oliver.
472
473         http://bugs.webkit.org/show_bug.cgi?id=14733
474         Add a logging channel for text input
475         <rdar://problem/5364667>
476
477         * Misc/WebKitLogging.h:
478         * Misc/WebKitLogging.m:
479         (WebKitInitializeLoggingChannelsIfNecessary):
480         * WebView/WebHTMLView.mm:
481         (-[WebHTMLView validAttributesForMarkedText]):
482         (-[WebHTMLView textStorage]):
483         (-[WebHTMLView characterIndexForPoint:]):
484         (-[WebHTMLView firstRectForCharacterRange:]):
485         (-[WebHTMLView selectedRange]):
486         (-[WebHTMLView markedRange]):
487         (-[WebHTMLView attributedSubstringFromRange:]):
488         (-[WebHTMLView hasMarkedText]):
489         (-[WebHTMLView unmarkText]):
490         (-[WebHTMLView setMarkedText:selectedRange:]):
491         (-[WebHTMLView doCommandBySelector:]):
492         (-[WebHTMLView insertText:]):
493
494 2007-07-26  Darin Adler  <darin@apple.com>
495
496         - fix Tiger build
497
498         * Misc/WebTypesInternal.h: For use inside the library, use NSInteger and
499         NSUInteger, just like on Leopard. WebNSInteger and WebNSUInteger are still
500         present, but they are used in public and private headers only.
501
502         * Carbon/CarbonWindowAdapter.m:
503         * Carbon/CarbonWindowFrame.m:
504         * DefaultDelegates/WebScriptDebugServer.m:
505         * History/WebBackForwardList.mm:
506         * Misc/WebDownload.m:
507         * Misc/WebSearchableTextView.m:
508         * Plugins/WebBaseNetscapePluginView.mm:
509         * WebCoreSupport/WebFrameLoaderClient.mm:
510         * WebView/WebHTMLView.mm:
511         * WebView/WebPDFView.mm:
512         * WebView/WebView.mm:
513         * WebView/WebViewInternal.h:
514         Update all implementation files and internal headers to use NSInteger and
515         NSUInteger rather than WebNSInteger and WebNSUInteger.
516
517 2007-07-26  John Sullivan  <sullivan@apple.com>
518
519         Reviewed by Kevin Decker
520         
521         - fixed <rdar://problem/5362989> Searching a pdf in some modes shows hilights for all instances 
522           of the word, even those not on the current page
523           
524         It turns out that there were three different issues here, all contributing to incorrect display
525         of multiple matches for PDF pages in certain display modes. (1) in non-continuous display modes,
526         we weren't updating the match rects when the displayed page is changed with page up/down (e.g.);
527         (2) the mechanism to update the match rects on scrolling was busted except for the first scroll
528         away from 0,0; (3) the PDFKit API returns selection bounds for non-displayed pages in non-continuous
529         modes just as if they were the displayed pages. This patch fixes all three issues.
530
531         * WebView/WebPDFView.h:
532         made ivar name even longer
533         
534         * WebView/WebPDFView.mm:
535         (-[WebPDFView setPDFDocument:]):
536         updated for ivar name change
537         (-[WebPDFView viewDidMoveToWindow]):
538         observe page-change notifications as well as the others; this is necessary because in the
539         non-continuous modes the view can be completely updated without any scrolling involved (problem 1)
540         (-[WebPDFView viewWillMoveToWindow:]):
541         stop observing page-change notifications
542         (-[WebPDFView rectsForTextMatches]):
543         skip any pages that aren't visible; this avoids treating matches on non-displayed non-continous
544         modes as if they were on the displayed page (problem 3)
545         (-[WebPDFView _PDFDocumentViewMightHaveScrolled:]):
546         after checking whether scroll position has changed since we last checked it, remember the new
547         one (d'oh!) (problem 2)
548
549         (-[WebPDFView _scaleOrDisplayModeOrPageChanged:]):
550         renamed to include page changes
551         
552         (-[WebPDFView _visiblePDFPages]):
553         new method, returns the set of pages that are at least partly visible
554
555 2007-07-24  Oliver Hunt  <oliver@apple.com>
556
557         Reviewed by Adam and Justin.
558
559         <rdar://problem/5141779> WebView editableDOMRangeForPoint: & moveDragCaretToPoint: returns last position in DOMText range
560
561         editableDOMRangeForPoint:, moveDragCaretToPoint:, and removeDragCaret now call directly into
562         WebCore without relying on bridge look up through the now removed _bridgeAtPoint:.
563
564         * WebKit.xcodeproj/project.pbxproj:
565         * WebView/WebView.mm:
566         (-[WebView moveDragCaretToPoint:]):
567         (-[WebView removeDragCaret]):
568         (-[WebView editableDOMRangeForPoint:]):
569
570 2007-07-24  Kevin Decker  <kdecker@apple.com>
571
572         Reviewed by Anders.
573
574         <rdar://problem/4699455> REGRESSION (Safari 2->Safari 3): Adobe Reader 7.0.8 plug-in doesn't work
575         
576         * Plugins/WebNetscapePluginEmbeddedView.h: Added a #define that renames this class to "WebNetscapePluginDocumentView"
577         This is necessary because the Adobe 7.x Acrobat plug-in has a hard coded check for a view named "WebNetscapePluginDocumentView"
578         and will not function correctly if it doesn't find a view in the hierarchy without the old class name.
579
580 2007-07-24  Mark Rowe  <mrowe@apple.com>
581
582         Reviewed by Antti.
583
584         <rdar://problem/5356666> NSMenuItem's seen leaking on buildbot
585
586         * WebCoreSupport/WebContextMenuClient.mm:
587         (WebContextMenuClient::contextMenuItemSelected): Release platformItem as we were transferred its ownership by releasePlatformDescription.
588
589 2007-07-23  Oliver Hunt  <oliver@apple.com>
590
591         Reviewed by Darin.
592
593         We have to be able to support insertText: followed by doCommandBySelector: in 
594         order to support the 2- and 3-Set Korean and RuSwitcher IMs at least.
595
596         * WebView/WebHTMLView.mm:
597         (-[WebHTMLView insertText:]):
598
599 2007-07-23  Alice Liu  <alice.liu@apple.com>
600
601         Reverting change 24535 now that a solution has been found that doesn't 
602         involve exposing an interface unnecessarily.
603
604         * WebView/WebHTMLView.mm:
605         * WebView/WebHTMLViewPrivate.h:
606
607 2007-07-23  Alice Liu  <alice.liu@apple.com>
608
609         Reviewed by Oliver Hunt.
610
611         Expose [WebHTMLView hasMarkedText] to 
612         fix <rdar://problem/4830074> autocomplete breaks Japanese typing
613
614         * WebView/WebHTMLView.mm:
615         * WebView/WebHTMLViewPrivate.h:
616
617 2007-07-22  Darin Adler  <darin@apple.com>
618
619         * StringsNotToBeLocalized.txt: Updated for recent changes.
620
621 2007-07-21  Adam Roben  <aroben@apple.com>
622
623         Fix REGRESSION: Right-click/control-click broken
624
625         http://bugs.webkit.org/show_bug.cgi?id=14658
626         <rdar://problem/5346830>
627
628         Reviewed by Mitz.
629
630         * WebCoreSupport/WebContextMenuClient.mm:
631         (fixMenusToSendToOldClients): Update defaultItemsCount after removing
632         items from the defaultItems array.
633
634 2007-07-20  Oliver Hunt  <oliver@apple.com>
635
636         Reviewed by Adele.
637
638         <rdar://problem/5319438> REGRESSION: Cannot paste into an active inline input area (14522)
639         http://bugs.webkit.org/show_bug.cgi?id=14522
640
641         AppKit sends noop: to -[WebHTMLView doCommandBySelector:] when an IM does not handle event,
642         we now check this as it is necessary to work around some IMs that do send messages 
643         (such as insertText: rather than unmarkText: to confirm a composition)
644
645         * WebView/WebHTMLView.mm:
646         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
647         (-[WebHTMLView doCommandBySelector:]):
648         * WebView/WebHTMLViewInternal.h:
649
650 2007-07-20  Brady Eidson  <beidson@apple.com>
651
652         Reviewed by Adele and Andersca
653
654         <rdar://problem/5336105> - WebBackForwardList created from scratch is unusable (always leads to crash)
655
656         * History/WebBackForwardList.mm:
657         (-[WebBackForwardList init]): Have a default initializer that uses an empty BackFowardList not associated with a page.
658
659         * WebView/WebFrame.mm:
660         (kit): For clarity's sake, this should return nil, not 0
661
662 2007-07-20  Justin Garcia  <justin.garcia@apple.com>
663
664         Reviewed by Darin.
665         
666         <rdar://problem/5109817> Ctrl-click on word in non-editable text doesn't select it
667
668         * WebCoreSupport/WebEditorClient.h:
669         * WebCoreSupport/WebEditorClient.mm: Removed the method
670         for enabling/disabling word selection on right click.
671         * WebView/WebView.mm: Ditto.
672         * WebView/WebViewPrivate.h: Removed the getter/setter entirely, 
673         it was in a private Category for Mail, but wasn't used by Mail
674         on Tiger or Leopard, they apparently implement word selection on 
675         their own.
676
677 2007-07-20  Timothy Hatcher  <timothy@apple.com>
678
679         Reviewed by Darin.
680
681         <rdar://problem/5199812> WebView needs to adopt viewWillDraw (moving off of _propagateDirtyRectsToOpaqueAncestors)
682         <rdar://problem/5017301> REGRESSION: Scroller in Widget Manager splits down the middle while scrolling
683
684         On Leopard _propagateDirtyRectsToOpaqueAncestors is no longer called by AppKit. Also marking new dirty rects
685         underneath _recursiveDisplayRectIfNeededIgnoringOpacity will wait until the next runloop to draw them,
686         causing rendering to happen in two steps instead of one as WebCore expected.
687
688         * WebView/WebHTMLView.mm:
689         (-[WebHTMLView _topHTMLView]): Move to the file internal category so we can use it in viewWillDraw.
690         (-[WebHTMLView _isTopHTMLView]): Ditto.
691         (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): #ifdef for Tiger only.
692         (-[WebHTMLView viewWillDraw]): Do a recursive layout if this is the top WebHTMLView.
693         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
694           Don't do layout here on Leopard since viewWillDraw handled it.
695         (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto.
696
697 2007-07-20  Beth Dakin  <bdakin@apple.com>
698
699         Reviewed by Tim and Geoff.
700
701         Fix for <rdar://problem/5346855> Mail crashes at 
702         WebCore::RenderTableSection:paint + 846 when attempting to display 
703         a HTML based message
704
705         After reapplying styles, the RenderView needs layout. However, 
706         layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize used to 
707         return early if the WebHTMLView itself does not need layout. 
708         Because the WebHTMLView is not necessarily in synch with the 
709         RenderTree, returning early here can get us into a bad situation 
710         where we paint before laying out the Render Tree. This patch checks 
711         both the WebHTMLView and the bridge (which checks the RenderView, 
712         etc), so that we do not return early without laying out the Render 
713         Tree. 
714
715         Some day, we should phase out WebHTMLView keeping track of 
716         needsLayout at all. But that is a bit beyond the scope of this fix.  
717
718         * WebView/WebHTMLView.mm:
719         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
720
721 2007-07-20  John Sullivan  <sullivan@apple.com>
722
723         Reviewed by Darin Adler and David Harrison
724         
725         - fixed <rdar://problem/5307075> REGRESSION: Bottom of some printed pages are truncated
726         
727         The "avoid orphan" code I added a year ago was causing the page to be imaged to a larger 
728         height (good), but not shrinking everything to compensate (bad). Bad one-year-ago me!
729
730         * WebView/WebHTMLViewInternal.h:
731         added avoidingPrintOrphan boolean
732
733         * WebView/WebHTMLView.mm:
734         (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
735         clear _private->avoidingPrintOrphan when clearing _private->printing
736         (-[WebHTMLView _scaleFactorForPrintOperation:]):
737         take _private->avoidingPrintOrphan into account when computing the scale factor
738         (-[WebHTMLView knowsPageRange:]):
739         set _private->avoidingPrintOrphan when we're shrinking to avoid an orphan
740
741 2007-07-19  Adam Roben  <aroben@apple.com>
742
743         Fix <rdar://problem/5344972> REGRESSION: A error dialog occurs when
744         attempting to ctrl-click in a iChat message window (webview)
745
746         Reviewed by Oliver.
747
748         * WebCoreSupport/WebContextMenuClient.mm:
749         (fixMenusToSendToOldClients): Don't check for the Inspect Element item
750         if we have fewer than 2 items.
751
752 2007-07-18  Geoffrey Garen  <ggaren@apple.com>
753
754         Reviewed by Dave Hyatt.
755         
756         <rdar://problem/5345099>
757         
758         Reduced default WebCore cache size from 32 MB to 23 MB on systems below 
759         512 MB RAM. This improves RPRVT usage in the Safari pageout test by 
760         ~10% on a system with 384 MB RAM.
761         
762         At 23 MB, no extra resources are evicted from the cache during a PLT 
763         run, so this is a safe change PLT-wise. 23 MB is also seems to be a
764         generous number in real world usage.
765
766         * WebView/WebPreferences.m:
767         (+[WebPreferences initialize]):
768
769 2007-07-18  Anders Carlsson  <andersca@apple.com>
770
771         Reviewed by Geoff.
772
773         <rdar://problem/5341133> REGRESSION (Safari 2->Safari 3): DjVu plug-in doesn't load in Safari 3
774         
775         The DjVu plug-in uses the size of the passed in NPNetscapeFuncs struct to copy it over to a NPNetscapeFuncs struct
776         whose size was determined when DjVu was compiled. This means that when we add extra functions to the vtable, 
777         DjVu will segfault copying it into the (too small) destination struct.
778         
779         Fix this by special-casing the DjVu plug-in and setting the NPNetscapeFuncs size to be the same size as what DjVu expects.
780         
781         * Plugins/WebNetscapePluginPackage.m:
782         (-[WebNetscapePluginPackage _applyDjVuWorkaround]):
783         (-[WebNetscapePluginPackage load]):
784
785 2007-07-18  Timothy Hatcher  <timothy@apple.com>
786
787         Reviewed by Adam.
788
789         <rdar://problem/5343767> Should have a way to disable the Web Inspector
790
791         Adds a new DisableWebKitDeveloperExtras default that will force the Web Inspector to be disabled.
792         This overrides the WebKitDeveloperExtras and IncludeDebugMenu default. It also disables
793         the Web Inspector in Debug builds.
794
795         * WebView/WebView.mm:
796         (+[WebView _developerExtrasEnabled]): Check for the DisableWebKitDeveloperExtras default.
797         (-[WebView _commonInitializationWithFrameName:groupName:]): Make a new WebInspectorClient when making the Page.
798
799 2007-07-18  Anders Carlsson  <andersca@apple.com>
800
801         Build fix.
802         
803         * Misc/WebNSAttributedStringExtras.mm:
804
805 2007-07-18  Sam Weinig  <sam@webkit.org>
806
807         Rubber-stamped by Adam Roben.
808
809         Update after renaming MimeTypeRegistry to MIMETypeRegistry.
810
811         * Misc/WebNSPasteboardExtras.mm:
812         (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
813         * WebCoreSupport/WebFrameBridge.mm:
814         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
815         * WebView/WebDataSource.mm:
816         (-[WebDataSource _documentFragmentWithArchive:]):
817         * WebView/WebHTMLRepresentation.mm:
818         (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
819         (+[WebHTMLRepresentation supportedImageMIMETypes]):
820         * WebView/WebHTMLView.mm:
821         (-[WebHTMLView _imageExistsAtPaths:]):
822
823 2007-07-18  Tristan O'Tierney  <tristan@apple.com>
824
825         Reviewed by Maciej Stachowiak.
826         
827         <rdar://problem/5341334> Alt-clicking a link in Safari does not register original URL info with gatekeeper
828         <rdar://problem/5342570> REGRESSION: A hang occurs when attempting to open a attached file from a .Mac web mail message
829
830         * WebCoreSupport/WebFrameLoaderClient.h:
831         Added a new method, setOriginalURLForDownload, for both download() 
832         and startDownload() to share.
833         
834         * WebCoreSupport/WebFrameLoaderClient.mm:
835         (WebFrameLoaderClient::download):
836         Moved all the gatekeeper code into setOriginalURLForDownload.
837         
838         (WebFrameLoaderClient::setOriginalURLForDownload):
839         Same code that was in download() but moved into a single place for both
840         startDownload and download to use.  Also returned the boolean logic
841         for detecting _wasUserGesture back to it's previous state, since my prior change
842         was incorrect.  Additionally I found a loop index bug with backListCount and fixed it.
843         
844         (WebFrameLoaderClient::startDownload):
845         Calls out to setOriginalURLForDownload after a download is created.
846         
847         * WebView/WebView.mm:
848         (-[WebView _downloadURL:]):
849         Changed to return the WebDownload object created inside _downloadURL
850         
851         * WebView/WebViewInternal.h:
852         Changed _downloadURL to return the WebDownload it creates.
853
854 2007-07-17  Timothy Hatcher  <timothy@apple.com>
855
856         Reviewed by Geoff.
857
858         <rdar://problem/5336267> loadData:MIMEType:textEncodingName:baseURL: doesn't like relative URLs
859
860         Get the absoluteURL from any user supplied NSURL before we pass it down to WebCore.
861
862         * WebView/WebFrame.mm:
863         (-[WebFrame _loadURL:referrer:intoChild:]):
864         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
865         * WebView/WebView.mm:
866         (-[WebView userAgentForURL:]):
867
868 2007-07-17  Adam Roben  <aroben@apple.com>
869
870         Fix Bug 14324: Cannot remove/customize the "Inspect Element" contextual menu item
871         http://bugs.webkit.org/show_bug.cgi?id=14324
872
873         Only clients linking against new versions of WebKit will see the item.
874         I've maintained our behavior for old clients of not including the
875         Inspect Element item in the menu items passed to the UI delegate.
876
877         Reviewed by Tim.
878
879         * Misc/WebKitVersionChecks.h: Added a new constant.
880         * WebCoreSupport/WebContextMenuClient.mm:
881         (isPreInspectElementTagClient): Added.
882         (fixMenusToSendToOldClients): Return an array of items that should be
883         appended to the menu received from the delegate.
884         (fixMenusReceivedFromOldClients): Append the saved items to the array.
885         (WebContextMenuClient::getCustomMenuFromDefaultItems): Retain/release
886         the saved items.
887
888 2007-07-17  Adam Roben  <aroben@apple.com>
889
890         Remove WebContextMenuClient::shouldIncludeInspectElementItem
891
892         Reviewed by Tim.
893
894         * WebCoreSupport/WebContextMenuClient.h:
895         * WebCoreSupport/WebContextMenuClient.mm:
896
897 2007-07-17  Adam Roben  <aroben@apple.com>
898
899         Initialize Settings::developerExtrasEnabled
900
901         Reviewed by Tim.
902
903         * WebView/WebView.mm:
904         (-[WebView _updateWebCoreSettingsFromPreferences:]):
905
906 2007-07-17  Geoffrey Garen  <ggaren@apple.com>
907
908         Build fix.
909
910         * WebView/WebFrame.mm:
911         (-[WebFrame _loadURL:referrer:intoChild:]):
912         * WebView/WebFramePrivate.h:
913
914 2007-07-17  Tristan O'Tierney  <tristan@apple.com>
915
916         Reviewed by Maciej Stachowiak.
917
918         <rdar://problem/5294691> Source of file is misrepresented if downloaded by typing in URL in Safari address bar
919
920         * WebCoreSupport/WebFrameLoaderClient.h:
921         * WebCoreSupport/WebFrameLoaderClient.mm:
922         (WebFrameLoaderClient::download):
923         Revised code to check the initial request's referrer before assuming it has a history to check.
924
925 2007-07-16  Brady Eidson  <beidson@apple.com>
926
927         Reviewed by Adam
928
929         Begin the arduous task of localizing FTP directory listings while removing a global initializer!
930
931         * English.lproj/Localizable.strings:
932         * WebCoreSupport/WebViewFactory.mm:
933         (-[WebViewFactory unknownFileSizeText]):
934
935 2007-07-16  Adam Roben  <aroben@apple.com>
936
937         Move printing from WebFrameBridge to WebChromeClient
938
939         Reviewed by Darin.
940
941         * WebCoreSupport/WebChromeClient.h: Updated for ChromeClient changes.
942         * WebCoreSupport/WebChromeClient.mm:
943         (WebChromeClient::print): Moved code from WebFrameBridge.
944         * WebCoreSupport/WebFrameBridge.mm: Removed -print.
945
946 2007-07-16  Darin Adler  <darin@apple.com>
947
948         * StringsNotToBeLocalized.txt: Update for recent changes.
949
950 2007-07-16  John Sullivan  <sullivan@apple.com>
951
952         Reviewed by Kevin Decker and Darin Adler
953         
954         - fixed <rdar://problem/5337529> Holes in Find banner overlay on PDF pages are left in wrong place after changing scale
955
956         * WebView/WebPDFView.mm:
957         (-[WebPDFView _scaleOrDisplayModeChanged:]):
958         tell UI delegate that the entire PDF view has been redrawn
959
960 2007-07-14  Brady Eidson  <beidson@apple.com>
961
962         Reviewed by Sam Weinig
963
964         Initial check-in for <rdar://problem/3154486> - Supporting FTP directory listings in the browser
965
966         * WebView/WebPreferenceKeysPrivate.h: Added preference keys for the FTP template location, as well as to force 
967           FTP directory listings, bypassing the policy delegate.  This is necessary to test the new feature until browser
968           policy delegate support is added.
969
970         * WebView/WebPreferences.m:
971         (-[WebPreferences _setFTPDirectoryTemplatePath:]):
972         (-[WebPreferences _ftpDirectoryTemplatePath]):
973         (-[WebPreferences _setForceFTPDirectoryListings:]):
974         (-[WebPreferences _forceFTPDirectoryListings]):
975         * WebView/WebPreferencesPrivate.h:
976         * WebView/WebView.mm:
977         (-[WebView _updateWebCoreSettingsFromPreferences:]):
978
979 2007-07-13  Anders Carlsson  <andersca@apple.com>
980
981         Reviewed by Maciej.
982
983         <rdar://problem/5290103> Assert failure when loading page with multipart resource
984         
985         Don't try to call the delegate method if the resource object doesn't exist in the 
986         identifier map. When a multipart resource has finished loading one part, it is removed from the
987         web view identifier map. 
988         
989         This is not an ideal fix, a better fix would be to special-case multipart resources and not remove
990         them when the first part has finished loading. I've filed <rdar://problem/5335034> to track doing that.
991         
992         * WebCoreSupport/WebFrameLoaderClient.mm:
993         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
994         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
995         (WebFrameLoaderClient::dispatchDidReceiveResponse):
996         (WebFrameLoaderClient::willCacheResponse):
997         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
998         (WebFrameLoaderClient::dispatchDidFinishLoading):
999         (WebFrameLoaderClient::dispatchDidFailLoading):
1000
1001 2007-07-13  Timothy Hatcher  <timothy@apple.com>
1002
1003         Reviewed by Oliver Hunt.
1004
1005         <rdar://problem/5333766> Can't include WebEditingDelegatePrivate.h
1006
1007         * WebView/WebEditingDelegatePrivate.h: Changed the include to be a framework include,
1008         so other projects can use this header.
1009
1010 2007-07-12  Anders Carlsson  <andersca@apple.com>
1011
1012         Reviewed by Darin and Maciej.
1013
1014         <rdar://problem/5271096> panic after Safari stress test, caused by port leak
1015
1016         Replace uses of -[NSObject performSelector:withObject:afterDelay:] with CFRunLoopTimer. performSelector
1017         causes the target (the WebHTMLView in this case) to be retained until the timer fires. Furthermore, when
1018         running the PLT or iBench, the timers will not fire until the main loop is entered (usually after running all tests).
1019         
1020         This means that the timers and ports will not be released until after the test has finished running.
1021         
1022         * WebView/WebHTMLView.mm:
1023         (-[WebHTMLViewPrivate dealloc]):
1024         (-[WebHTMLView _cancelUpdateMouseoverTimer]):
1025         (-[WebHTMLView _updateMouseoverWithFakeEvent]):
1026         (-[WebHTMLView _updateMouseoverTimerCallback:]):
1027         (-[WebHTMLView _frameOrBoundsChanged]):
1028         (-[WebHTMLView _updateActiveState]):
1029         (-[WebHTMLView _updateActiveStateTimerCallback:]):
1030         (-[WebHTMLView viewWillMoveToWindow:]):
1031         (-[WebHTMLView viewDidMoveToWindow]):
1032         (-[WebHTMLView mouseDown:]):
1033         (-[WebTextCompleteController dealloc]):
1034         * WebView/WebHTMLViewInternal.h:
1035
1036 2007-07-13  Mark Rowe  <mrowe@apple.com>
1037
1038         Reviewed by Mitz.
1039
1040         Build fix.  Stub out WebChromeClient::print.
1041
1042         * WebCoreSupport/WebChromeClient.h:
1043         * WebCoreSupport/WebChromeClient.mm:
1044         (WebChromeClient::print):
1045
1046 2007-07-11  Timothy Hatcher  <timothy@apple.com>
1047
1048         Reviewed by Oliver.
1049
1050         <rdar://problem/5108789> WEBVIEW: Drawing artifacts when dragging in IB
1051
1052         Interface Builder 3 is relying on KVO notifications for frameOrigin and frameSize,
1053         among other standard NSView keys. Change automaticallyNotifiesObserversForKey to 
1054         return NO only for keys WebView manually fires notifications for.
1055
1056         * WebView/WebView.mm:
1057         (+[WebView automaticallyNotifiesObserversForKey:]): Selectivly return NO for keys we manually fire.
1058         (-[WebView _declaredKeys]): Code clean up.
1059
1060 2007-07-10  Antti Koivisto  <antti@apple.com>
1061
1062         Reviewed by John.
1063         
1064         Fix <rdar://problem/4570550>
1065         Hang in layout/layoutBlock/layoutBlockChildren preparing to print certain Mail messages
1066         
1067         When printing from Mail, WebHTMLView is a subview of the view that is actually printed and does not 
1068         receive calls that would set it to printing mode. Method adjustPageHeightNew is called repeatedly (for each page) during
1069         printing and it enables printing mode temporarily for each call. This triggers two full style recalcs and layouts
1070         each time making printing at least O(n^2). 
1071
1072         Instead of enabling printing mode and resetting it back immediatly do the resetting asynchronously, after
1073         all adjustPageHeightNew calls are done. Normal Safari printing is not affected as adjustPageHeightNew is only
1074         called in case WebHTMLView is embedded in the view that is being printed.
1075         
1076         No automatic test possible, requires printing and non-Safari client.
1077         
1078         * WebView/WebHTMLView.mm:
1079         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
1080
1081 2007-07-10  Geoffrey Garen  <ggaren@apple.com>
1082
1083         Reviewed by Maciej Stachowiak.
1084
1085         - Fixed <rdar://problem/5049509> REGRESSION(10.4.9-9A377a): REAP Suite 
1086         installer shows empty modal alert window (hangs) if user cancels during
1087         "installing shared components" phase
1088         
1089         Added Adobe installers to the family of apps that need a data load
1090         loading quirk.
1091         
1092         Added a linked-on-or-after check because this code is no longer 
1093         Tiger-only.
1094         
1095         I tested this code on Tiger and Leopard.
1096
1097         * Misc/WebKitVersionChecks.h:
1098         * WebKit.xcodeproj/project.pbxproj:
1099         * WebView/WebDocumentLoaderMac.mm:
1100         (needsDataLoadWorkaround):
1101         (WebDocumentLoaderMac::setDataSource):
1102
1103 2007-07-10  Darin Adler  <darin@apple.com>
1104
1105         - fix build
1106
1107         * WebView/WebHTMLView.mm: Add include of ContextMenu.h.
1108
1109 2007-07-10  Darin Adler  <darin@apple.com>
1110
1111         Reviewed by John Sullivan.
1112
1113         - <rdar://problem/5321953> remove workaround for fixed AppKit mouse moved bug
1114
1115         * WebView/WebHTMLView.mm: Put the workaround for bug 3429631 inside an
1116         ifdef BUILDING_ON_TIGER.
1117
1118 2007-07-09  Anders Carlsson  <andersca@apple.com>
1119
1120         Reviewed by Oliver.
1121
1122         <rdar://problem/4954319> 
1123         Acrobat 7 / Safari crash: CrashTracer: 99 crashes in Safari at 
1124         com.apple.WebCore: WebCore::NetscapePlugInStreamLoader::isDone const + 0
1125
1126         Add a new initWithFrameLoader: method to WebNetscapePluginStream which is to be used when
1127         the stream is a "fake" stream for full frame plug-ins.
1128         
1129         * Plugins/WebBaseNetscapePluginView.mm:
1130         (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
1131         * Plugins/WebNetscapePluginStream.h:
1132         * Plugins/WebNetscapePluginStream.mm:
1133         (-[WebNetscapePluginStream initWithFrameLoader:]):
1134         (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
1135         (-[WebNetscapePluginStream start]):
1136         (-[WebNetscapePluginStream cancelLoadWithError:]):
1137         (-[WebNetscapePluginStream stop]):
1138         * WebCoreSupport/WebFrameLoaderClient.mm:
1139         (WebFrameLoaderClient::createFrame):
1140
1141 2007-07-09  John Sullivan  <sullivan@apple.com>
1142
1143         Reviewed by Darin
1144         
1145         - fixed <rdar://problem/5320208> WebKit should prevent Time Machine from backing up WebKit clients' icon databases
1146
1147         * Misc/WebIconDatabase.mm:
1148         (-[WebIconDatabase init]):
1149         Re-added the code to exclude the icon database from backups. We now do this at the same time we (try to) import
1150         the old icon database format, which happens only once per icon database's lifetime.
1151         (-[WebIconDatabase _importToWebCoreFormat]):
1152         Assert that we haven't imported yet rather than bailing out. It's now the caller's responsibility to check
1153         whether we've imported yet.
1154
1155 2007-07-08  John Sullivan  <sullivan@apple.com>
1156
1157         * Misc/WebIconDatabase.mm:
1158         (-[WebIconDatabase init]):
1159         Removed the code to exclude the icon database from backups. We still want to do this, but in a way
1160         that only runs once ever, instead of once per launch, due to performance concerns.
1161
1162 2007-07-07  Darin Adler  <darin@apple.com>
1163
1164         Reviewed by Maciej.
1165
1166         - fix <rdar://problem/5124665> WebCore secondary-thread assertion should use linked-on-or-after check instead of building on Tiger check
1167
1168         * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITH_MAIN_THREAD_EXCEPTIONS.
1169
1170         * WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]): In first-time initialization block,
1171         check for binaries linked against older versions of WebKit, and set the default thread violation
1172         behavior to LogOnFirstThreadViolation.
1173
1174         * WebView/WebView.mm: (+[WebView initialize]): Improved comments.
1175
1176 2007-07-06  Oliver Hunt  <oliver@apple.com>
1177
1178         Reviewed by Maciej.
1179
1180         <rdar://problem/5318756> Need to refactor IM/Marked text code to share logic with windows.
1181
1182         Moved a number of methods from WebHTMLView into WebCore.
1183         Replaced bridge methods with calls directly into WebCore objects.
1184
1185         * WebKit.xcodeproj/project.pbxproj:
1186         * WebView/WebHTMLView.mm:
1187         (-[WebHTMLView setMarkedText:selectedRange:]):
1188           Now calls WebCore object methods directly, rather than calling 
1189           via the bridge.
1190
1191 2007-07-06  John Sullivan  <sullivan@apple.com>
1192
1193         Reviewed by Brady
1194
1195         - WebKit part of fix for: 
1196           <rdar://problem/5310739> Time Machine shouldn't back up WebKit's icon database files
1197
1198         * Misc/WebIconDatabase.mm:
1199         (-[WebIconDatabase init]):
1200         Use CSBackupSetItemExcluded to tell Time Machine not to back up the icon database file
1201
1202 2007-07-07  Mark Rowe  <mrowe@apple.com>
1203
1204         Build fix.  Update WebDynamicScrollBarsView.h to include methods added and used in r24060.
1205
1206         * WebView/WebDynamicScrollBarsView.h:
1207
1208 2007-07-05  Timothy Hatcher  <timothy@apple.com>
1209
1210         Reviewed by John.
1211
1212         <rdar://problem/5236277> REGRESSION-9A458: SPI for setting scroll bar behavior doesn't work
1213
1214         Calling setHorizontalScrollingMode: calls updateScrollers before returning, this will cause
1215         WebCore to reset the scrolling mode based on the CSS overflow rules. So the setAlwaysShowHorizontalScroller:
1216         and setAlwaysShowVerticalScroller: methods needed a way to lock the scrolling mode before
1217         calling updateScrollers.
1218
1219         * WebView/WebDynamicScrollBarsView.m:
1220         (-[WebDynamicScrollBarsView updateScrollers]):
1221         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
1222         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]):
1223         (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
1224         (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]):
1225         (-[WebDynamicScrollBarsView setScrollingMode:]):
1226         (-[WebDynamicScrollBarsView setScrollingMode:andLock:]):
1227         * WebView/WebView.mm:
1228         (-[WebView setAlwaysShowVerticalScroller:]):
1229         (-[WebView setAlwaysShowHorizontalScroller:]):
1230
1231 2007-07-06  Mitz Pettel  <mitz@webkit.org>
1232
1233         Reviewed by Maciej.
1234
1235         - fix http://bugs.webkit.org/show_bug.cgi?id=10267
1236           Can't scroll page downwards with scroll wheel, when pointer is on top of non-scrolling iframe
1237
1238         * WebView/WebDynamicScrollBarsView.m:
1239         (-[WebDynamicScrollBarsView scrollWheel:]): Override the superclass
1240         implementation to forward the wheel event to the next responder if this view
1241         does not allow scrolling in the event's direction.
1242
1243 2007-07-05  John Sullivan  <sullivan@apple.com>
1244
1245         Reviewed by Adam
1246         
1247         - WebKit part of fix for <rdar://problem/5315033>
1248
1249         * WebView/WebDocumentPrivate.h:
1250         new selectionImageForcingBlackText: method. selectionImageForcingWhiteText: is no longer used and was never
1251         in an official release of WebKit, so it could be removed, except that doing so would cause trouble for people
1252         using nightly WebKit with Safari 3.0 beta. So I left it in, but made it just force black text instead of
1253         white text, which will look different for those nightly WebKit/Safari 3.0 beta people but not break anything.
1254         
1255         * Misc/WebSearchableTextView.m:
1256         (-[WebSearchableTextView selectionImageForcingBlackText:]):
1257         new unimplemented protocol method for this obsolete class
1258         
1259         * WebView/WebHTMLView.mm:
1260         (-[WebHTMLView selectionImageForcingBlackText:]):
1261         calls through to WebCore the way selectionImageForcingWhiteText: used to
1262         (-[WebHTMLView selectionImageForcingWhiteText:]):
1263         now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name
1264         
1265         * WebView/WebPDFView.mm:
1266         (-[WebPDFView selectionImageForcingBlackText:]):
1267         guts of old selectionImageForcingWhiteText:, but with black substituted for white
1268         (-[WebPDFView selectionImageForcingWhiteText:]):
1269         now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name
1270
1271 2007-07-05  Timothy Hatcher  <timothy@apple.com>
1272
1273         Reviewed by John.
1274
1275         <rdar://problem/5314993> Shiira 2.1 throws an exception open a new window: -[WebInspector window]: unrecognized selector
1276
1277         Add an empty implementation of this method to prevent Shiira from throwing an exception.
1278         Also log that this method is obsolete and the class will be removed.
1279
1280         * WebInspector/WebInspector.mm:
1281         (-[WebInspector window]):
1282
1283 2007-07-04  Adam Roben  <aroben@apple.com>
1284
1285         Move tooltip logic down into WebCore so that it can be shared cross-platform
1286
1287         Reviewed by Sam.
1288
1289         * WebCoreSupport/WebChromeClient.h:
1290         * WebCoreSupport/WebChromeClient.mm:
1291         (WebChromeClient::setToolTip): Added.
1292         * WebView/WebHTMLView.mm: Removed _resetCachedWebPreferences.
1293         (-[WebHTMLView _updateMouseoverWithEvent:]): Removed tooltip code.
1294         (-[WebHTMLView initWithFrame:]): Removed call to
1295         _resetCachedWebPreferences.
1296         (-[WebHTMLView setDataSource:]): Ditto.
1297         * WebView/WebHTMLViewInternal.h: Removed showsURLsInToolTips ivar.
1298         * WebView/WebHTMLViewPrivate.h: Added declaration for _setTooltip so
1299         that WebChromeClient can call it.
1300
1301 2007-07-04  Adam Roben  <aroben@apple.com>
1302
1303         Initialize Settings::showsURLsInToolTips
1304
1305         Reviewed by Sam.
1306
1307         * WebView/WebView.mm:
1308         (-[WebView _updateWebCoreSettingsFromPreferences:]):
1309
1310 2007-07-04  Adam Roben  <aroben@apple.com>
1311
1312         Removed call to mouseDidMoveOverElement now that WebCore handles it
1313
1314         Reviewed by Sam.
1315
1316         * WebView/WebHTMLView.mm:
1317         (-[WebHTMLView _updateMouseoverWithEvent:]):
1318
1319 2007-07-04  Adam Roben  <aroben@apple.com>
1320
1321         Add WebChromeClient::mouseDidMoveOverElement
1322
1323         This is not called yet.
1324
1325         Reviewed by Sam.
1326
1327         * WebCoreSupport/WebChromeClient.h:
1328         * WebCoreSupport/WebChromeClient.mm:
1329
1330 2007-07-03  Darin Adler  <darin@apple.com>
1331
1332         * StringsNotToBeLocalized.txt: Updated for recent changes.
1333
1334 2007-07-03  Timothy Hatcher  <timothy@apple.com>
1335
1336         Reviewed by Darin.
1337
1338         Remove HIWebView in 64-bit.
1339
1340         Also disable a few calls that are now gone in 64-bit and filed these bugs:
1341
1342         <rdar://problem/5311653> WebKit needs to adopt HIGetMousePosition where we used GetGlobalMouse before
1343         <rdar://problem/5311648> WebKit needs to move off of CopyEvent in WebBaseNetscapePluginView
1344         <rdar://problem/5311640> WebKit needs a new solution for HISearchWindowShow on 64-bit
1345
1346         * Carbon/CarbonUtils.m:
1347         * Carbon/CarbonWindowAdapter.m:
1348         * Carbon/CarbonWindowContentView.m:
1349         * Carbon/CarbonWindowFrame.m:
1350         * Carbon/HIViewAdapter.m:
1351         (SetViewNeedsDisplay):
1352         * Carbon/HIWebView.m:
1353         (Draw):
1354         (SyncFrame):
1355         * Configurations/WebKit.xcconfig:
1356         * Plugins/WebBaseNetscapePluginView.mm:
1357         (+[WebBaseNetscapePluginView getCarbonEvent:]):
1358         (TSMEventHandler):
1359         * WebKit.LP64.exp: Added.
1360         * WebView/WebView.mm:
1361         (-[WebView _searchWithSpotlightFromMenu:]):
1362
1363 2007-07-03  Adam Roben  <aroben@apple.com>
1364
1365         Merge the Windows and Mac localized strings and exceptions files
1366
1367         Reviewed by Darin and Anders.
1368
1369         * English.lproj/Localizable.strings: Added Windows strings.
1370         * StringsNotToBeLocalized.txt: Renamed from WebKit/English.lproj/StringsNotToBeLocalized.txt.
1371
1372 2007-07-03  Adele Peterson  <adele@apple.com>
1373
1374         Removed printf I accidently left in.
1375
1376         * Misc/WebNSURLExtras.m: (mapHostNames):
1377
1378 2007-07-03  Adele Peterson  <adele@apple.com>
1379
1380         Reviewed by Darin.
1381
1382         Fix for: <rdar://problem/5292988> domain names shouldn't contain ignorable characters
1383
1384         * Misc/WebNSURLExtras.m:
1385         (isLookalikeCharacter): Renamed.  Also excludes any non-printable character, 
1386          any character considered as whitespace that isn't already converted to a space by ICU, any ignorable character,
1387          and any character excluded in Mozilla's blacklist: http://kb.mozillazine.org/Network.IDN.blacklist_chars
1388         (allCharactersInIDNScriptWhiteList):
1389
1390 2007-07-03  Darin Adler  <darin@apple.com>
1391
1392         Reviewed by Maciej.
1393
1394         - fix <rdar://problem/5310848> WebDataSource lifetime problem -- may be cause of the leaks seen on the buildbot
1395
1396         * WebView/WebDataSource.mm:
1397         (-[WebDataSourcePrivate dealloc]): Added a call to the new detachDataSource function.
1398         (-[WebDataSourcePrivate finalize]): Ditto.
1399
1400         * WebView/WebDocumentLoaderMac.h: Added detachDataSource function to be used when the
1401         WebDataSource is deallocated. Added retain/releaseDataSource helper functions to be
1402         used to retain and release the data source object. Replaced the m_hasEverBeenDetached
1403         boolean with a more primitive and hence easier to understand m_isDataSourceRetained boolean.
1404
1405         * WebView/WebDocumentLoaderMac.mm:
1406         (WebDocumentLoaderMac::WebDocumentLoaderMac): Initialize m_isDataSourceRetained to false.
1407         (WebDocumentLoaderMac::setDataSource): Call retainDataSource instead of calling HardRetain
1408         on the dataSource parameter. Also updated a comment.
1409         (WebDocumentLoaderMac::attachToFrame): Call retainDataSource unconditionally rather than
1410         trying to use m_hasEverBeenDetached to decide if a retain is needed. Also got rid of an
1411         assertion that m_loadingResources is empty -- not important any more.
1412         (WebDocumentLoaderMac::detachFromFrame): Call releaseDataSource instead of using
1413         HardRelease, but only if m_loadingResources is empty. If it's non-empty, then we'll
1414         do the releaseDataSource later in decreaseLoadCount.
1415         (WebDocumentLoaderMac::increaseLoadCount): Call retainDataSource unconditionally
1416         rather than calling HardRetain only if the old set of resources was empty.
1417         (WebDocumentLoaderMac::decreaseLoadCount): Call releaseDataSource if m_loadingResources
1418         is empty and we're not attached to a frame. If we are attached to a frame, then
1419         we'll do the releaseDataSource later in detachFromFrame.
1420         (WebDocumentLoaderMac::retainDataSource): Added. Calls CFRetain, but only if the data
1421         source is not already retained (according to the boolean).
1422         (WebDocumentLoaderMac::releaseDataSource): Added. Calls CFRelease, but only if the data
1423         source is currently retained (according to the boolean).
1424         (WebDocumentLoaderMac::detachDataSource): Added. Sets m_dataSource to nil. Since this
1425         is only called from WebDataSource's dealloc and finalize methods, it won't ever be called
1426         when the m_isDataSourceRetained boolean is true.
1427
1428 2007-07-03  Darin Adler  <darin@apple.com>
1429
1430         - forgot to check in one file in the fix for <rdar://problem/5307880>
1431           some classes need finalize methods because of non-trivial work done in dealloc methods
1432
1433         * WebView/WebView.mm: (-[WebViewPrivate finalize]): Delete identifierMap so it doesn't leak.
1434
1435 2007-07-03  Anders Carlsson  <andersca@apple.com>
1436
1437         Reviewed by Darin.
1438
1439         * WebView/WebView.mm:
1440         (-[WebView stringByEvaluatingJavaScriptFromString:]):
1441         ASSERT that the value returned isn't nil. It can't be nil when invoked on the main frame.
1442
1443 2007-07-04  Mark Rowe  <mrowe@apple.com>
1444
1445         Unreviewed 64-bit build fixes.
1446
1447         * WebCoreSupport/WebInspectorClient.mm: Let the compiler know that WebFrameView is a subclass of NSView.
1448         * WebView/WebDocumentInternal.h: Remove our preprocessor macro once we're done with it.
1449         * WebView/WebHTMLView.mm:
1450         (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Fix argument types.
1451
1452 2007-07-02  Darin Adler  <darin@apple.com>
1453
1454         Reviewed by Kevin Decker and Tim Hatcher.
1455
1456         - fix <rdar://problem/5307880> some classes need finalize methods
1457           because of non-trivial work done in dealloc methods
1458
1459         * DefaultDelegates/WebScriptDebugServer.m:
1460         (-[WebScriptDebugServer dealloc]): Added a comment about how this probably won't
1461         work under GC.
1462         * WebInspector/WebNodeHighlight.m:
1463         (-[WebNodeHighlight dealloc]): Ditto.
1464
1465         * WebView/WebDataSource.mm:
1466         (+[WebDataSourcePrivate initialize]): Added. Makes finalize run on main thread.
1467         (-[WebDataSourcePrivate finalize]): Added. Calls deref on the document loader.
1468         * WebView/WebHTMLView.mm:
1469         (+[WebHTMLViewPrivate initialize]): Added. Makes finalize run on main thread.
1470         (-[WebHTMLViewPrivate finalize]): Added. Calls deref on promisedDragTIFFDataSource.
1471
1472         * WebKit.xcodeproj/project.pbxproj: Let Xcode be Xcode.
1473
1474 2007-07-02  Oliver Hunt  <oliver@apple.com>
1475
1476         Reviewed by Justin.
1477
1478         Fix for 
1479           <rdar://problem/5290113> WebKit does not correctly handle replacement ranges from the IM in -[WebHTMLView insertText:]
1480           http://bugs.webkit.org/show_bug.cgi?id=13664
1481
1482         We replicate the logic of -[WebHTMLView setMarkedText:selectedRange:] to handle the Input Method 
1483         feeding us a replacement string through insertText: so we can handle IMs that use insertText to
1484         replace text.
1485
1486         * WebView/WebHTMLView.mm:
1487         (-[WebHTMLView insertText:]):
1488
1489 2007-07-01  Oliver Hunt  <oliver@apple.com>
1490
1491         Reviewed by Alexey.
1492
1493         Fix for <rdar://problem/5306210> Some events are still passed to WebCore despite being handled by the IM
1494         http://bugs.webkit.org/show_bug.cgi?id=14457
1495
1496         We have to assume that the IM will consume all events, so we remove the dependency
1497         on -[WebHTMLView hasMarkedText].
1498
1499         * WebView/WebHTMLView.mm:
1500         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
1501
1502 2007-06-29  John Sullivan  <sullivan@apple.com>
1503
1504         Reviewed by Oliver Hunt.
1505
1506         - WebKit support for accessing the set of rectangles that encompass the selected text
1507
1508         * WebView/WebDocumentPrivate.h:
1509         added -selectionTextRects to WebDocumentSelection protocol; tweaked comments
1510
1511         * WebView/WebHTMLView.mm:
1512         (-[WebHTMLView _selectionDraggingRect]):
1513         use selectionRect instead of selectionImageRect since they're the same and maybe we can get
1514         rid of selectionImageRect someday
1515         (-[WebHTMLView selectionTextRects]):
1516         added implementation of new protocol method, which calls through to WebCore
1517         
1518         * WebView/WebPDFView.mm:
1519         (-[WebPDFView selectionTextRects]):
1520         added simple implementation of new protocol method, which just returns the single selection rect.
1521         PDFKit doesn't support obtaining multiple rects to describe a multi-line selection.
1522         (-[WebPDFView selectionImageForcingWhiteText:]):
1523         use selectionRect instead of selectionImageRect since they're the same and maybe we can get
1524         rid of selectionImageRect someday
1525         
1526         * Misc/WebSearchableTextView.m:
1527         (-[WebSearchableTextView selectionTextRects]):
1528         added no-op implementation of new protocol method to this obsolete class
1529
1530 2007-06-28  Timothy Hatcher  <timothy@apple.com>
1531
1532         Reviewed by Darin.
1533
1534         <rdar://problem/5287569> WEBVIEW: Creating a webview in IB 3.0 (v2.0) NIB later crashes Interface Builder 2.5.4 on Tiger
1535
1536         Prevent encoding any of the WebView subviews. The subviews are ignored by -[WebView initWithCoder:] and will be recreated.
1537         The Tiger 2.0 code crashed when the WebView released the subviews in initWithCoder:, so now there are no subviews to release.
1538         This never happened before because the Tiger 2.0 code and IB wouldn't encode a WebView that has a WebHTMLView.
1539
1540         * WebView/WebView.mm:
1541         (-[WebView encodeWithCoder:]):
1542
1543 2007-06-26  John Sullivan  <sullivan@apple.com>
1544
1545         Reviewed by Darin
1546         
1547         - WebKit support for displaying multiple text matches in PDF views (<rdar://problem/4601967>)
1548
1549         * WebView/WebPDFView.h:
1550         new ivars textMatches and lastScrollPosition; now conforms to WebMultipleTextMatches protocol
1551         
1552         * WebView/WebPDFView.mm:
1553         (-[WebPDFView dealloc]):
1554         release textMatches
1555         (-[WebPDFView viewDidMoveToWindow]):
1556         start observing bounds changes in the PDF document's enclosing clip view, so we can notice when
1557         scrolling takes place
1558         (-[WebPDFView viewWillMoveToWindow:]):
1559         stop observing bounds changes in the PDF document's enclosing clip view
1560         (-[WebPDFView searchFor:direction:caseSensitive:wrap:startInSelection:]):
1561         most of the code here has been moved into the new method _nextMatchFor::::, which this now calls
1562         (-[WebPDFView setMarkedTextMatchesAreHighlighted:]):
1563         implementation of WebMultipleTextMatches protocol method, does nothing useful here because we don't
1564         support inline highlighting of matches in PDF documents
1565         (-[WebPDFView markedTextMatchesAreHighlighted]):
1566         implementation of WebMultipleTextMatches protocol method
1567         (-[WebPDFView markAllMatchesForText:caseSensitive:limit:]):
1568         implementation of WebMultipleTextMatches protocol method; calls _nextMatchFor:::: in a loop until
1569         entire document is searched or limit is hit; records results by saving PDFSelections in textMatches ivar
1570         (-[WebPDFView unmarkAllTextMatches]):
1571         implementation of WebMultipleTextMatches protocol method; clears saved textMatches
1572         (-[WebPDFView rectsForTextMatches]):
1573         implementation of WebMultipleTextMatches protocol method; converts saved PDFSelections into NSValue 
1574         objects that represent NSRects
1575         (-[WebPDFView _clipViewForPDFDocumentView]):
1576         new helper method to find the clip view whose bounds determine the current scroll position
1577         (-[WebPDFView _nextMatchFor:direction:caseSensitive:wrap:fromSelection:startInSelection:]):
1578         new helper method, extracted from searchFor:::::
1579         (-[WebPDFView _PDFDocumentViewMightHaveScrolled:]):
1580         new notification callback; tells webView's delegate when document has scrolled
1581         (-[WebPDFView _setTextMatches:]):
1582         new helper method, stores value in ivar
1583
1584 2007-06-26  Oliver Hunt  <oliver@apple.com>
1585
1586         Reviewed by Maciej.
1587
1588         Hopefully fix remainder of the IME issues on Mac.  
1589         We now assume that the IME silently consumes any event given
1590         to it during text composition, and only override this assumption
1591         if the NSTextInput or NSResponder callbacks are made.
1592
1593         This prevents us from treating those events that the IME has 
1594         consumed internally (eg. candidate window navigation) as unhandled
1595         events that should be bubbled.
1596
1597         This fixes:
1598           <rdar://problem/5107538> Major problems handling key press event with non-english Input Methods
1599           <rdar://problem/4196249> REGRESSION: Mail: Inputting space (U+0020) with IM deletes subsequent line breaks on Mail.app
1600           <rdar://problem/5015544> REGRESSION: Reverse conversion keyboard command does not work in Safari.
1601           <rdar://problem/5045121> REGRESSION: Inline is confirmed after press left/right arrow keys, happens in Mail but not in TextEdit.
1602           <rdar://problem/5076807> REGRESSION: Can't undo conversion of inline text (by hitting ESC)
1603           <rdar://problem/5085781> REGRESSION: Active input area lost "selected" highlight
1604           <rdar://problem/5094200> space key pressed to close the associated words candidate window gets inserted as text
1605           <rdar://problem/5228294> Candidate item for character matrix is sometimes skipped
1606
1607         * WebKit.xcodeproj/project.pbxproj:
1608         * WebView/WebHTMLView.mm:
1609         (-[WebHTMLView launchKeyEvent:]):
1610         (-[WebHTMLView keyDown:]):
1611         (-[WebHTMLView keyUp:]):
1612         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
1613         (-[WebHTMLView unmarkText]):
1614         (-[WebHTMLView setMarkedText:selectedRange:]):
1615         (-[WebHTMLView doCommandBySelector:]):
1616         (-[WebHTMLView insertText:]):
1617
1618 2007-06-26  Jim Correia  <jim.correia@pobox.com>
1619
1620         Reviewed by Darin.
1621
1622         Fix http://bugs.webkit.org/show_bug.cgi?id=14411
1623         Bug 14411: WebNetscapePluginPackage overagressively sets CurApRefNum, which affects shipping versions of BBEdit.
1624         <rdar://problem/5297268>
1625
1626         * Plugins/WebNetscapePluginPackage.m:
1627         (+[WebNetscapePluginPackage initialize]): Force the Resource Manager to
1628         lazy initialize, and only set CurApRefNum to the system file if
1629         CurApRefNum is still -1 after that forced lazy initialization.
1630
1631 2007-06-25  Kevin Decker  <kdecker@apple.com>
1632
1633         Reviewed by Darin.
1634
1635         <rdar://problem/5294036> -[WebView customTextEncodingName] API may return empty string instead of nil
1636
1637         * WebView/WebView.mm:
1638         (-[WebView _mainFrameOverrideEncoding]): Addded the nsStringNilIfEmpty() inline to the data being returned because 
1639         our API says "The custom text encoding name or nil if no custom text encoding name has been set." I also verified
1640         the standing Tiger WebKit behavior for this method and it does indeed return nil if a custom encoding wasn't set.
1641
1642 2007-06-25  John Sullivan  <sullivan@apple.com>
1643
1644         Reviewed by Darin
1645         
1646         - WebKit part of <rdar://problem/5293820>, needed to support multiple matches in PDFs
1647
1648         * WebView/WebDocumentInternal.h:
1649         Added WebMultipleTextMatches protocol, containing five methods that were formerly implemented in WebHTMLView
1650         * WebView/WebHTMLViewPrivate.h:
1651         Removed declarations for the methods that are now in WebMultipleTextMatches protocol
1652         
1653         * WebView/WebHTMLView.mm:
1654         (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]):
1655         moved this method into the WebDocumentInternalProtocols portion of the file
1656         (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
1657         ditto
1658         (-[WebHTMLView markedTextMatchesAreHighlighted]):
1659         ditto
1660         (-[WebHTMLView unmarkAllTextMatches]):
1661         ditto
1662         (-[WebHTMLView rectsForTextMatches]):
1663         ditto
1664
1665         * WebView/WebView.mm:
1666         (-[WebView canMarkAllTextMatches]):
1667         new method, returns YES only if the documentView of every frame implements WebMultipleTextMatches
1668         (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
1669         check for WebMultipleTextMatches protocol instead of checking for WebHTMLView class
1670         (-[WebView unmarkAllTextMatches]):
1671         ditto
1672         (-[WebView rectsForTextMatches]):
1673         ditto
1674
1675         * WebView/WebViewPrivate.h:
1676         declared new method canMarkAllTextMatches
1677
1678 2007-06-25  John Sullivan  <sullivan@apple.com>
1679
1680         Reviewed by Darin
1681         
1682         Fixed <rdar://problem/5292259> Find on Page doesn't work (throws exception) on page that includes PDF in a subframe
1683
1684         * WebView/WebView.mm:
1685         (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
1686         We were testing whether the view was an HTMLView, but then running code that assumed it was an HTMLView outside of
1687         that test. That's a bad idea.
1688
1689 2007-06-22  Adele Peterson  <adele@apple.com>
1690
1691         Reviewed by Geoff and Darin.
1692
1693         Fix for: <rdar://problem/5239236> Other slash characters should not be permitted as part of a domain name
1694
1695         * Misc/WebNSURLExtras.m:
1696         (isSlashOrPeriodLookalike):
1697         (allCharactersInIDNScriptWhiteList):
1698
1699 2007-06-21  Sam Weinig  <sam@webkit.org>
1700
1701         Reviewed by Antti.
1702
1703         Remove empty directories
1704
1705         * WebInspector/webInspector: directory removed.
1706         * WebInspector/webInspector/Images: directory removed
1707
1708 2007-06-21  Justin Garcia  <justin.garcia@apple.com>
1709
1710         Reviewed by Tim.
1711         
1712         <rdar://problem/5237524> 
1713         REGRESSION: Keyboard commands don't work in a message window until you click inside the message
1714         
1715         When you open a message in its own window, Mail creates an empty 
1716         WebView, makes that WebView firstResponder and then sets off a 
1717         load inside that WebView.
1718         
1719         When we're asked to create the empty WebView, we put an empty 
1720         WebHTMLView inside it (in r21367 we began creating a document 
1721         for empty frames).  When Mail makes the WebView first responder 
1722         we make that empty WebHTMLView firstResponder.  Then when the 
1723         load finishes we create a new WebHTMLView and set it as the 
1724         document view.  
1725         
1726         Inside _setDocumentView, if the old document view or one of its
1727         descendants was the first responder, we'd makeFirstResponder:nil 
1728         so that the window wouldn't be left with a firstResponder that 
1729         was no longer inside of it.  This change fixes the bug by instead 
1730         transferring firstResponder status to the new document view.
1731         
1732         We could also fix this by not allowing the WebHTMLView to become
1733         firstResponder when it's in the provisional state mentioned above.
1734
1735         * WebView/WebFrameView.mm:
1736         (-[WebFrameView _setDocumentView:]):
1737
1738 2007-06-21  John Sullivan  <sullivan@apple.com>
1739
1740         Reviewed by Adele
1741         
1742         - fixed <rdar://problem/5268673> REGRESSION: Context menu missing for PDF in frame when there's no selection
1743         
1744         This was surprisingly interesting. It turns out that at least for Safari, the method [WebDefaultUIDelegate
1745         webView:contextMenuItemsForElement:defaultMenuItems:] is only exercised from WebPDFView these days. It mimics
1746         some of the code that was moved to WebCore as part of the Great Context Menu Refactoring of 2006, but is
1747         independent of that code. And it was partly broken/incomplete, probably as a result of said refactoring.
1748
1749         * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
1750         (localizedMenuTitleFromAppKit()):
1751         deleted this function since I removed all callers
1752         (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
1753         Handle WebMenuItemTagOpenFrameInNewWindow tag, since code later in this file was relying on it. Added
1754         ASSERT_NOT_REACHED to the default case, since returning nil from this method is bad.
1755         Also, use WebKit versions of menu title strings rather than AppKit versions. We added these strings to WebKit 
1756         a while back so we don't need to sneakily find them in AppKit anymore.
1757         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
1758         make the WebView be the target of the Open Frame in New Window item; previously it was self, but that was
1759         just silly (probably a leftover from some code shuffling when context menus were reimplemented)
1760
1761         * WebView/WebView.mm:
1762         (-[WebView _openFrameInNewWindowFromMenu:]):
1763         new method, used by Open Frame in New Window menu item.
1764
1765         * WebView/WebViewInternal.h:
1766         Declare new method used by menu item. This isn't necessary for compilation, but could prevent the accidental
1767         deletion of the method implementation.
1768
1769 2007-06-20  Mark Rowe  <mrowe@apple.com>
1770
1771         Reviewed by Adam.
1772
1773         Fix http://bugs.webkit.org/show_bug.cgi?id=14255.
1774         Bug 14255: Reproducible crash opening web inspector from debug menu
1775
1776         Reinstate the WebInspector class so WebKit clients that currently depend on it
1777         will build and run correctly.
1778
1779         * WebInspector/WebInspector.h: Added.
1780         * WebInspector/WebInspector.mm: Added.
1781         (+[WebInspector webInspector]):
1782         (-[WebInspector dealloc]):
1783         (-[WebInspector setWebFrame:]):
1784         (-[WebInspector showWindow:]):
1785         * WebKit.exp:
1786         * WebKit.xcodeproj/project.pbxproj:
1787
1788 2007-06-20  Adam Roben  <aroben@apple.com>
1789
1790         Land the new Inspector.
1791
1792         Co-written with Tim Hatcher.
1793
1794         Reviewed by Anders, Adele, Hyatt, and Sam.
1795
1796         Implement the InspectorClient interface.
1797
1798         * WebCoreSupport/WebInspectorClient.h: Added.
1799         * WebCoreSupport/WebInspectorClient.mm: Added.
1800         (WebInspectorClient::WebInspectorClient):
1801         (WebInspectorClient::inspectorDestroyed):
1802         (WebInspectorClient::createPage):
1803         (WebInspectorClient::showWindow):
1804         (WebInspectorClient::closeWindow):
1805         (WebInspectorClient::attachWindow):
1806         (WebInspectorClient::detachWindow):
1807         (WebInspectorClient::highlight):
1808         (WebInspectorClient::hideHighlight):
1809         (WebInspectorClient::inspectedURLChanged):
1810         (WebInspectorClient::updateWindowTitle):
1811         (-[WebInspectorWindowController init]):
1812         (-[WebInspectorWindowController initWithInspectedWebView:]):
1813         (-[WebInspectorWindowController dealloc]):
1814         (-[WebInspectorWindowController inspectorVisible]):
1815         (-[WebInspectorWindowController webView]):
1816         (-[WebInspectorWindowController window]):
1817         (-[WebInspectorWindowController windowShouldClose:]):
1818         (-[WebInspectorWindowController close]):
1819         (-[WebInspectorWindowController showWindow:]):
1820         (-[WebInspectorWindowController attach]):
1821         (-[WebInspectorWindowController detach]):
1822         (-[WebInspectorWindowController highlightAndScrollToNode:]):
1823         (-[WebInspectorWindowController highlightNode:]):
1824         (-[WebInspectorWindowController hideHighlight]):
1825         (-[WebInspectorWindowController animationDidEnd:]):
1826
1827         Add an easier-to-see highlight.
1828
1829         * Misc/WebNSViewExtras.h:
1830         * Misc/WebNSViewExtras.m:
1831         (-[NSView _web_convertRect:toView:]):
1832         * WebInspector/WebNodeHighlight.h:
1833         * WebInspector/WebNodeHighlight.m:
1834         (-[WebNodeHighlightFadeInAnimation setCurrentProgress:]):
1835         (-[WebNodeHighlight initWithTargetView:]):
1836         (-[WebNodeHighlight setHighlightedNode:]):
1837         (-[WebNodeHighlight highlightedNode]):
1838         (-[WebNodeHighlight dealloc]):
1839         (-[WebNodeHighlight attachHighlight]):
1840         (-[WebNodeHighlight delegate]):
1841         (-[WebNodeHighlight detachHighlight]):
1842         (-[WebNodeHighlight show]):
1843         (-[WebNodeHighlight hide]):
1844         (-[WebNodeHighlight animationDidEnd:]):
1845         (-[WebNodeHighlight ignoresMouseEvents]):
1846         (-[WebNodeHighlight highlightView]):
1847         (-[WebNodeHighlight setDelegate:]):
1848         (-[WebNodeHighlight setHolesNeedUpdateInTargetViewRect:]):
1849         (-[WebNodeHighlight setIgnoresMouseEvents:]):
1850         (-[WebNodeHighlight targetView]):
1851         (-[WebNodeHighlight _computeHighlightWindowFrame]):
1852         (-[WebNodeHighlight _repositionHighlightWindow]):
1853         * WebInspector/WebNodeHighlightView.h:
1854         * WebInspector/WebNodeHighlightView.m:
1855         (-[WebNodeHighlightView initWithWebNodeHighlight:]):
1856         (-[WebNodeHighlightView dealloc]):
1857         (-[WebNodeHighlightView detachFromWebNodeHighlight]):
1858         (-[WebNodeHighlightView drawRect:]):
1859         (-[WebNodeHighlightView webNodeHighlight]):
1860         (-[WebNodeHighlightView fractionFadedIn]):
1861         (-[WebNodeHighlightView setFractionFadedIn:]):
1862         (-[WebNodeHighlightView setHolesNeedUpdateInRect:]):
1863         (-[WebNodeHighlightView _holes]):
1864
1865         WebView changes needed for the new Inspector.
1866
1867         * WebView/WebView.mm: Remove the old _inspectElement method now that
1868         this is handled by WebCore.
1869         (-[WebView _isClosed]): Added.
1870         (-[WebView initWithFrame]): Give each Page an InspectorClient to
1871         enable the Inspector.
1872         * WebView/WebViewPrivate.h:
1873
1874         Updates needed for WebCore changes.
1875
1876         * WebCoreSupport/WebContextMenuClient.h:
1877         * WebCoreSupport/WebContextMenuClient.mm:
1878         * WebCoreSupport/WebViewFactory.mm:
1879         (-[WebViewFactory contextMenuItemTagInspectElement]):
1880         * WebView/WebUIDelegatePrivate.h:
1881
1882         Remove old Inspector code.
1883
1884         * WebCoreSupport/WebFrameLoaderClient.mm:
1885         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
1886         (WebFrameLoaderClient::assignIdentifierToInitialRequest):
1887         (WebFrameLoaderClient::dispatchDidFinishLoading):
1888         * WebInspector/WebInspector.m: Removed.
1889         * WebInspector/WebInspectorPanel.h: Removed.
1890         * WebInspector/WebInspectorPanel.m: Removed.
1891         * WebInspector/webInspector/Images/button.png: Removed.
1892         * WebInspector/webInspector/Images/buttonDivider.png: Removed.
1893         * WebInspector/webInspector/Images/buttonPressed.png: Removed.
1894         * WebInspector/webInspector/Images/close.png: Removed.
1895         * WebInspector/webInspector/Images/closePressed.png: Removed.
1896         * WebInspector/webInspector/Images/downTriangle.png: Removed.
1897         * WebInspector/webInspector/Images/menu.png: Removed.
1898         * WebInspector/webInspector/Images/menuPressed.png: Removed.
1899         * WebInspector/webInspector/Images/popup.png: Removed.
1900         * WebInspector/webInspector/Images/popupPressed.png: Removed.
1901         * WebInspector/webInspector/Images/resize.png: Removed.
1902         * WebInspector/webInspector/Images/rightTriangle.png: Removed.
1903         * WebInspector/webInspector/Images/scrollThumbBottom.png: Removed.
1904         * WebInspector/webInspector/Images/scrollThumbMiddle.png: Removed.
1905         * WebInspector/webInspector/Images/scrollTrackBottom.png: Removed.
1906         * WebInspector/webInspector/Images/upTriangle.png: Removed.
1907         * WebInspector/webInspector/inspector.css: Removed.
1908         * WebInspector/webInspector/inspector.html: Removed.
1909         * WebInspector/webInspector/inspector.js: Removed.
1910         * WebInspector/webInspector/scrollarea.js: Removed.
1911         * WebInspector/webInspector/scrollbar.js: Removed.
1912         * WebInspector/webInspector/utilities.js: Removed.
1913         * WebView/WebFrame.mm:
1914         (-[WebFramePrivate dealloc]):
1915         * WebView/WebFrameInternal.h:
1916         * WebView/WebHTMLView.mm:
1917         (-[WebHTMLView menuForEvent:]):
1918
1919         Build-fu:
1920
1921         * WebKit.exp:
1922         * WebKit.xcodeproj/project.pbxproj:
1923
1924 2007-06-20  Justin Garcia  <justin.garcia@apple.com>
1925
1926         Reviewed by Darin.
1927         
1928         <rdar://problem/5263541> REGRESSION (Safari 3 Beta 1): Pressing Delete doesn't delete an HTML message in Mail
1929         
1930         Mail wasn't receiving the keyDown event because WebFrameView was blocking it.
1931         It blocks the event and moves back/forward on Delete/Shift+Delete if the
1932         back/forward list is enabled.
1933
1934         * WebView/WebFrameView.mm:
1935         (-[WebFrameView keyDown:]): Check to see if the BackForwardList is
1936         enabled.  It always exists.
1937
1938 2007-06-19  Anders Carlsson  <andersca@apple.com>
1939
1940         Reviewed by Kevin Decker.
1941
1942         <rdar://problem/5266289> REGRESSION (Safari 3 Beta 1): Incoming iChat messages are delayed
1943
1944         * WebView/WebDocumentLoaderMac.mm:
1945         (needsAppKitWorkaround):
1946         New function which checks if the frame load delegate belongs to AppKit.
1947         
1948         (WebDocumentLoaderMac::setDataSource):
1949         If the frame load delegate belongs to AppKit, set m_deferMainResourceDataLoad to false.
1950
1951 2007-06-19  John Sullivan  <sullivan@apple.com>
1952
1953         Reviewed by Tim Hatcher
1954
1955         - fixed <rdar://problem/5272011> Hole for find-on-page match in subframe isn't clipped by frame bounds
1956
1957         * WebView/WebView.mm:
1958         (-[WebView rectsForTextMatches]):
1959         intersect the HTMLView's computed rect with the visible rect for that view
1960
1961 2007-06-19  Jim Correia  <jim.correia@pobox.com>
1962
1963         Reviewed by Kevin Decker
1964         
1965         * Carbon/HIWebView.m:
1966         (WindowHandler): HIObjectIsOfClass requires non-NULL input on Tiger. Reworked Kevin Decker's patch to remove the conditional compilation for Tiger, yet still avoid crashing BBEdit.
1967
1968 2007-06-18  Sam Weinig  <sam@webkit.org>
1969
1970         Reviewed by Beth.
1971
1972         Build fix.
1973
1974         * WebCoreSupport/WebChromeClient.mm:
1975
1976 2007-06-18  Kevin Decker <kdecker@apple.com>
1977
1978         * Carbon/HIWebView.m:
1979         (WindowHandler): Fixed the Tiger build; ControlKind wasn't defined.
1980
1981 2007-06-18  Kevin Decker  <kdecker@apple.com>
1982
1983         Reviewed by Tim Hatcher.
1984
1985         Fixed: <rdar://problem/5276135> With Safari 3 Tiger Beta installed, a crash occurs in BBEdit while mousing down and dragging outside of HTML preview window
1986
1987         * Carbon/HIWebView.m:
1988         (WindowHandler): Because the fix for 5051616 causes Tiger to crash in HIToolbox (but not on Leopard), I reverted back to using GetControlKind
1989         on Tiger only, instead of HIObjectIsOfClass.
1990
1991 2007-06-16  David Hyatt  <hyatt@apple.com>
1992
1993         Back out fix for 13972.  Quicktime will no longer clip correctly. :(
1994         Too many regressions in Mail caused by inserting an extra view into the
1995         hierarchy.  Can revisit later.
1996
1997         Reviewed by olliej
1998
1999         * Plugins/WebPluginController.mm:
2000         (-[WebPluginController destroyPlugin:]):
2001         (-[WebPluginController destroyAllPlugins]):
2002         * WebCoreSupport/WebFrameBridge.mm:
2003         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
2004         * WebView/WebHTMLView.mm:
2005         (-[WebHTMLView addSubview:]):
2006         (-[WebHTMLView willRemoveSubview:]):
2007
2008 2007-06-15  Sam Weinig  <sam@webkit.org>
2009
2010         Reviewed by Darin.
2011
2012         Patch for http://bugs.webkit.org/show_bug.cgi?id=14053
2013         Autogenerate JS binding for Rect
2014
2015         - Fix conflicts by using ::Rect instead of Rect.
2016
2017         * Plugins/WebBaseNetscapePluginView.mm:
2018         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2019         (-[WebBaseNetscapePluginView sendEvent:]):
2020         (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
2021         (-[WebBaseNetscapePluginView invalidateRegion:]):
2022         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
2023
2024 2007-06-15  Anders Carlsson  <andersca@apple.com>
2025
2026         Reviewed by Kevin.
2027
2028         A better fix for <rdar://problem/5271774>. Only try to access the element if the
2029         view has an associated window. This also works with GC. (Fix suggested by Kevin.)
2030
2031         * Plugins/WebKitPluginContainerView.mm:
2032         (-[WebKitPluginContainerView dealloc]):
2033         (-[WebKitPluginContainerView visibleRect]):
2034
2035 2007-06-15  Anders Carlsson  <andersca@apple.com>
2036
2037         Reviewed by Kevin.
2038
2039         <rdar://problem/5271774> REGRESSION: A crash occurs when closing a window that contains a QT movie
2040         
2041         In some cases, calling [super dealloc] might end up calling visibleRect, so make sure to
2042         set _element to 0 so we won't send a message to a freed object and crash.
2043         
2044         * Plugins/WebKitPluginContainerView.mm:
2045         (-[WebKitPluginContainerView dealloc]):
2046         (-[WebKitPluginContainerView visibleRect]):
2047
2048 2007-06-14  Anders Carlsson  <andersca@apple.com>
2049
2050         Reviewed by Geoff.
2051
2052         Call cleanupScriptObjectsForPlugin on the frame after destroying the plug-in.
2053         
2054         * Plugins/WebBaseNetscapePluginView.mm:
2055         (-[WebBaseNetscapePluginView _destroyPlugin]):
2056         * Plugins/WebPluginController.mm:
2057         (-[WebPluginController destroyPlugin:]):
2058         (-[WebPluginController destroyAllPlugins]):
2059
2060 2007-06-13  John Sullivan  <sullivan@apple.com>
2061
2062         Reviewed by Adele Peterson
2063         
2064         - fixed <rdar://problem/5267607> Clicking the "Save to Downloads" button in 
2065           PDF overlay too soon results in corrupt file
2066
2067         * WebView/WebPDFView.mm:
2068         (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
2069         Just beep if the document isn't available yet, since trying to save it as a file
2070         really isn't a good idea.
2071
2072 2007-06-12  Oliver Hunt  <oliver@apple.com>
2073
2074         Reviewed by Darin.
2075
2076         Use correct size for BITMAPINFOHEADER -- whoops.
2077
2078         * win/WebIconDatabase.cpp:
2079         (createDIB):
2080         (WebIconDatabase::getOrCreateDefaultIconBitmap):
2081
2082 2007-06-10  David Hyatt  <hyatt@apple.com>
2083
2084         Fix for bug 14037, make sure respondsToSelector does the write thing
2085         when invoked on a WebKit plugin's container view.
2086
2087         Reviewed by Mark Rowe
2088
2089         * Plugins/WebKitPluginContainerView.mm:
2090         (-[WebKitPluginContainerView respondsToSelector:]):
2091
2092 2007-06-08  John Sullivan  <sullivan@apple.com>
2093
2094         * WebView/WebViewPrivate.h:
2095         Added a FIXME
2096
2097 2007-06-07  Justin Garcia  <justin.garcia@apple.com>
2098
2099         Reviewed by Tristan.
2100         
2101         <rdar://problem/5250997> A crash occurs when selecting Undo Typing for a page that has been closed in tab
2102
2103         * WebView/WebView.mm:
2104         (-[WebView _clearUndoRedoOperations]): Added.
2105         * WebView/WebViewPrivate.h:
2106
2107 2007-06-07  Oliver Hunt  <oliver@apple.com>
2108
2109         Reviewed by Sam "The Intern" Weinig.
2110         
2111         Don't be overzealous with the input checks, firstRectForCharacterRange
2112         can be determined even when there is not an active editable region.
2113         
2114         This unbreaks editing/input/range-for-empty-document which was broken
2115         by aforementioned overzealousness. 
2116
2117         * WebView/WebHTMLView.mm:
2118         (-[WebHTMLView firstRectForCharacterRange:]):
2119
2120 2007-06-07  Oliver Hunt  <oliver@apple.com>
2121
2122         Reviewed by Justin.
2123         
2124         Add checks to make sure we don't try to create, use
2125         or return invalid ranges to TSM when it calls us despite
2126         not currently being in an editable region.
2127
2128         * WebView/WebHTMLView.mm:
2129         (isTextInput):
2130         (-[WebHTMLView textStorage]):
2131         (-[WebHTMLView firstRectForCharacterRange:]):
2132         (-[WebHTMLView selectedRange]):
2133         (-[WebHTMLView attributedSubstringFromRange:]):
2134
2135 2007-06-06  David Hyatt  <hyatt@apple.com>
2136
2137         Make sure to hand back a script object for webkit plugins (the container
2138         view forwards to its plugin child).
2139
2140         Reviewed by sullivan
2141
2142         * Plugins/WebKitPluginContainerView.h:
2143         * Plugins/WebKitPluginContainerView.mm:
2144         (-[WebKitPluginContainerView objectForWebScript]):
2145
2146 2007-06-06  David Hyatt  <hyatt@apple.com>
2147
2148         Fix for bug 13972, quicktime doesn't respect CSS clip and overflow properties.
2149         Make sure that calls to [NSView visibleRect] will do the right thing for both
2150         Netscape plugins and WebKit plugins.
2151
2152         Reviewed by olliej
2153
2154         * Plugins/WebBaseNetscapePluginView.mm:
2155         (-[WebBaseNetscapePluginView visibleRect]):
2156         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2157         (-[WebBaseNetscapePluginView isOpaque]):
2158         * Plugins/WebKitPluginContainerView.h: Added.
2159         * Plugins/WebKitPluginContainerView.mm: Added.
2160         (-[WebKitPluginContainerView initWithFrame:DOMElement:]):
2161         (-[WebKitPluginContainerView dealloc]):
2162         (-[WebKitPluginContainerView visibleRect]):
2163         * Plugins/WebPluginController.mm:
2164         (-[WebPluginController destroyAllPlugins]):
2165         * WebCoreSupport/WebFrameBridge.mm:
2166         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
2167         * WebKit.xcodeproj/project.pbxproj:
2168         * WebView/WebHTMLView.mm:
2169         (-[WebHTMLView addSubview:]):
2170         (-[WebHTMLView willRemoveSubview:]):
2171
2172 2007-06-04  Oliver Hunt  <oliver@apple.com>
2173
2174         Reviewed by Geoff and Justin.
2175
2176         Fix for <rdar://problem/5246941> Clicking URL field on 
2177         Safari causes halt for a minute when using input methods.
2178         and <rdar://problem/5245964> Safari hangs for several 
2179         seconds when trying to select text using mouse
2180         
2181         This is a by product of the textStorage hack used to fix 
2182         rdar://problem/5000470 -- TSM calls textStorage repeatedly
2183         when changing focus, on certain mouse events, etc.  If there
2184         is no selection/editable region we repeatedly create an     
2185         NSAttributedString from the full document.  If the document is
2186         sufficiently long this starts consuming an inordinate amount of 
2187         time.
2188         
2189         This check should really have been present in the original 
2190         patch.
2191
2192         * WebKit.xcodeproj/project.pbxproj:
2193         * WebView/WebHTMLView.mm:
2194         (-[WebHTMLView textStorage]):
2195
2196 2007-05-31  David Hyatt  <hyatt@apple.com>
2197
2198         Fix for 11768, Flash plugin does not respect clips set by CSS.
2199
2200         Reviewed by olliej
2201
2202         * Plugins/WebBaseNetscapePluginView.mm:
2203         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2204
2205 2007-05-30  Mark Rowe  <mrowe@apple.com>
2206
2207         Build fixes after r21889.
2208
2209         * ForwardingHeaders/kjs/function.h: Added.
2210
2211 2007-05-29  Mark Rowe  <mrowe@apple.com>
2212
2213         Reviewed by Geoff.
2214
2215         64-bit build fix.  Ensure that use of WebNSUInteger in headers is matched by WebNSUInteger in implementations.
2216
2217         * DefaultDelegates/WebScriptDebugServer.h:
2218         * DefaultDelegates/WebScriptDebugServer.m:
2219         (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
2220         (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
2221         * DefaultDelegates/WebScriptDebugServerPrivate.h:
2222         * History/WebBackForwardList.mm:
2223         (-[WebBackForwardList setPageCacheSize:]):
2224         (-[WebBackForwardList pageCacheSize]):
2225         * WebView/WebView.mm:
2226         (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
2227
2228 2007-05-26  Darin Adler  <darin@apple.com>
2229
2230         Reviewed by Tim Hatcher.
2231
2232         * MigrateHeaders.make: Added dependency on this makefile itself, which is
2233         useful when you change the sed command or other aspect of this file. My build
2234         failed until I made this fix.
2235
2236 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
2237
2238         Reviewed by Darin Adler.
2239
2240         Fixed <rdar://problem/5055182> The page cache has no global cap.
2241         
2242         The main WebKit changes are:
2243             1. Changed -[WebBackForwardList setPageCacheSize] and -[WebBackForwardList 
2244             pageCacheSize] to accomodate the new global page cache model, updating
2245             their documentation. 
2246             
2247             2. Added -[WebPreferences setShouldUsePageCache] and -[WebPreferences 
2248             shouldUsePageCache] as pending public API.
2249             
2250             3. Centralized calculation of object cache and page cache sizes inside
2251             WebPreferences. 
2252             
2253             Cchanged our old behavior of reading a preference and applying a fudge 
2254             factor with a new behavior of just using the preference directly. The 
2255             old behavior was confusing and often inappropriate. (For example, if 
2256             you set a page cache size of 100, a 256MB machine would somewhat 
2257             arbitrarily reduce that number to 98. ???)
2258
2259         * WebView/WebView.mm: Added support for two flags to determine whether
2260         to use the page cache. If either -[WebBackForwardList setPageCacheSize:0]
2261         or -[WebPreferences setShouldUsePageCache:NO] is called, we don't use
2262         the page cache.
2263
2264 2007-05-25  Timothy Hatcher  <timothy@apple.com>
2265
2266         Reviewed by Kevin Decker.
2267
2268         <rdar://problem/5219089> Changes for migration of DictionaryServices
2269
2270         * WebView/WebHTMLView.mm:
2271         (-[WebHTMLView _lookUpInDictionaryFromMenu:]): look for the HIDictionaryWindowShow symbol in HIToolbox
2272
2273 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
2274
2275         Reviewed by Oliver Hunt.
2276         
2277         Fixed global initializer (like you fix a dog).
2278         
2279         I'm not sure how our script missed this. I tested, and it generally doesn't 
2280         seem to work very well.
2281
2282         * WebView/WebHTMLView.mm: Allocate lazily to avoid the performance hit of
2283         a global initializer.
2284         (promisedDataClient):
2285         (-[WebHTMLViewPrivate dealloc]):
2286         (-[WebHTMLViewPrivate clear]):
2287         (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
2288
2289 2007-05-25  Brady Eidson  <beidson@apple.com>
2290
2291         Reviewed by Darin
2292
2293         <rdar://problem/5228371> - REGRESSION - Certain mail message bodies display as empty
2294
2295         This is due to http://trac.webkit.org/projects/webkit/changeset/21480 which unintentionally
2296         made applewebdata urls result in check.call(false) instead of check.call(true)
2297
2298         Best place for a fix is to have the FrameLoaderClient::canHandleRequest() call return true, which
2299         really is rooted in WebView
2300
2301         <rdar://problem/5229587> tracks adding a layout test
2302
2303         * WebView/WebView.mm:
2304         (+[WebView _canHandleRequest:]): Return true for applewebdata URLs
2305
2306 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
2307
2308         Reviewed by Darin Adler, Tim Hatcher.
2309         
2310         "unsigned" => "WebNSUInteger" in public API.
2311
2312         * History/WebBackForwardList.h:
2313         * WebView/WebScriptDebugDelegate.h:
2314         * WebView/WebUIDelegate.h:
2315         * WebView/WebViewPrivate.h:
2316
2317 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
2318
2319         Reviewed by Darin Adler.
2320         
2321         Moved JavaScriptCore-related pending public API to public API.
2322
2323         * MigrateHeaders.make: Hack to prevent <JavaScriptCore/JSBase.h> from 
2324         automatically converting to <WebKit/JSBase.h>
2325         
2326         Moved -windowObject and -globalContext
2327
2328         * WebView/WebFramePrivate.h: from here
2329         * WebView/WebFrame.h: to here
2330         * WebView/WebFrame.mm: and out of its temporary category
2331
2332         Moved -didClearWindowObject:forFrame:
2333
2334         * WebView/WebViewPrivate.h: from here
2335         * WebView/WebFrameLoadDelegate.h: to here
2336
2337 2007-05-25  John Sullivan  <sullivan@apple.com>
2338
2339         Reviewed by Anders and Tim
2340         
2341         - fixed <rdar://problem/5226000> REGRESSION: In Gmail and Mail, a hang occurs when attempting 
2342           to grammar/spellcheck a word in a reply
2343
2344         * WebCoreSupport/WebEditorClient.mm:
2345         (WebEditorClient::checkGrammarOfString):
2346         Fixed recently-introduced false assumption that NSNotFound == -1
2347
2348 2007-05-24  dethbakin  <bdakin@apple.com>
2349
2350         Reviewed by Geoff.
2351
2352         Fix for <rdar://problem/5023545> QuickBooks Pro 2007:hang/crash 
2353         after closing QuickBooks Tutorial Center with Leopard9A377
2354
2355         We can hit a race condition where drawRect will be called after the 
2356         WebView has closed. Quickbooks does not properly close the WebView 
2357         and set the UIDelegate to nil, so the UIDelegate is stale and we 
2358         crash. This is a regression because the code that uses the 
2359         UIDelegate in the drawRect code path was only added recently. The 
2360         method that the UIDelegate calls into is new -- it does not exist 
2361         on Tiger -- so there is no harm in not running this code for 
2362         applications linked against older WebKits. Other applications may 
2363         run into this same bug so I am not doing a bundle 
2364         check...particularly because, as I mentioned, the new UIDelegate 
2365         call would not be implemented by older clients anyway.  
2366
2367         * Misc/WebKitVersionChecks.h:
2368         * WebView/WebHTMLView.mm:
2369         (-[WebHTMLView drawSingleRect:]):
2370
2371 2007-05-24  Darin Adler  <darin@apple.com>
2372
2373         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
2374
2375 2007-05-24  Oliver Hunt  <oliver@apple.com>
2376
2377         Reviewed by Adam, Darin, and Geoff.
2378
2379         Fix for <rdar://problem/5000470> REGRESSION: The IM reconvert
2380         function returns incorrect symbol due to inconsistent range
2381         domains in TSM
2382
2383         Text Services Management uses ranges provided by the
2384         NSTextInput API to index into the string return by
2385         -[WebHTMLView string]. As a result some input methods
2386         incorrectly get their candidate text from the beginning
2387         of the document instead of from the input element.
2388
2389         TSM prefers to query -textStorage over -string so as a
2390         workaround we provide an implementation of -textStorage that
2391         returns the content of the current text input.  TSM only ever
2392         queries the result of textStorage as an NSAttributedString so
2393         we do not need to implement a fake NSTextStorage class
2394
2395         This should not cause harm to anything else as textStorage is
2396         actually a method on NSTextView, which we clearly are not. TSM
2397         only queries the method because it uses respondsToSelector to
2398         control behaviour.
2399
2400         * WebView/WebHTMLView.mm:
2401         (-[WebHTMLView textStorage]):
2402
2403
2404 2007-05-24  David Harrison  <harrison@apple.com>
2405
2406         Reviewed by Tim Hatcher.
2407
2408         <rdar://problem/5225343> REGRESSION: With View Source window opened, navigating to a different URL in the browser window results in a crash at WebCore::FrameLoader::frameHasLoaded()
2409         
2410         _private->loader->frameLoader() was not being nil checked.
2411         * WebView/WebDataSource.mm:
2412         (-[WebDataSource request]):
2413         Add nil check for _private->loader->frameLoader() 
2414
2415 2007-05-23  Anders Carlsson  <andersca@apple.com>
2416
2417         Reviewed by Geoff.
2418
2419         <rdar://problem/3663808> Resize large images to fit in the browser window
2420         
2421         Add new WebPreferences SPI.
2422         
2423         * WebView/WebPreferenceKeysPrivate.h:
2424         * WebView/WebPreferences.m:
2425         (+[WebPreferences initialize]):
2426         (-[WebPreferences enableAutomaticImageResizing]):
2427         (-[WebPreferences setEnableAutomaticImageResizing:]):
2428         * WebView/WebPreferencesPrivate.h:
2429         * WebView/WebView.mm:
2430         (-[WebView _updateWebCoreSettingsFromPreferences:]):
2431
2432 2007-05-23  Sam Weinig  <sam@webkit.org>
2433
2434         Reviewed by Darin.
2435
2436         Patch for http://bugs.webkit.org/show_bug.cgi?id=13830
2437         Auto-generate JS DOM bindings for HTMLDocument and most of the rest
2438         of HTMLElement
2439
2440         * MigrateHeaders.make: add DOMHTMLDocumentPrivate.h
2441         * WebKit.xcodeproj/project.pbxproj:
2442
2443 2007-05-23  Oliver Hunt  <oliver@apple.com>
2444
2445         Reviewed by Geoff.
2446
2447         Fix for <rdar://problem/5223782> REGRESSION: Can't drag and drop a standalone image
2448
2449         The main resource for a standalone image webarchive has the same mimetype as the
2450         underlying image.
2451
2452         * Misc/WebNSPasteboardExtras.mm:
2453         (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
2454
2455 2007-05-22  Sam Weinig  <sam@webkit.org>
2456
2457         Reviewed by Adam.
2458
2459         Patch for http://bugs.webkit.org/show_bug.cgi?id=13833
2460         Add ObjC DOM binding for HTMLMarqeeElement
2461
2462         - Also adds missing DOMHTMLFramePrivate.
2463
2464         * MigrateHeaders.make:
2465
2466 2007-05-22  Darin Adler  <darin@apple.com>
2467
2468         Reviewed by Geoff.
2469
2470         * WebInspector/webInspector/treeoutline.js: Use ownerDocument instead of non-standard
2471         document property.
2472
2473 2007-05-22  Adele Peterson  <adele@apple.com>
2474
2475         Reviewed by Darin.
2476
2477         Adding some asserts to help detect other cases of <rdar://problem/5171145>
2478
2479         * WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge makeFirstResponder:]):
2480
2481 2007-05-22  Brady Eidson  <beidson@apple.com>
2482
2483         Reviewed by Kevin (Sarge)
2484
2485         <rdar://problem/5219885> - Crash after closing a inline popup ad at http://news.yahoo.com/
2486
2487         This regressed in http://trac.webkit.org/projects/webkit/changeset/21618
2488
2489         * WebView/WebFrame.mm:
2490         (-[WebFrame dataSource]): Null check the frameloader
2491
2492 2007-05-21  Adele Peterson  <adele@apple.com>
2493
2494         Fix by Darin, reviewed by me.
2495
2496         Fix for <rdar://problem/5171145> Safari crashed closing tab in NSInputContext updateInputContexts
2497
2498         * WebView/WebFrameView.mm: (-[WebFrameView _setDocumentView:]): If the old view is the first responder,
2499         then set the window's first responder to nil so we don't leave the window pointing to a view that's no longer in it.
2500
2501 2007-05-21  Brady Eidson  <beidson@apple.com>
2502
2503         Making the importance of my last change more clear
2504
2505         * WebView/WebViewPrivate.h: "Leave for Dashboard, people!"
2506
2507 2007-05-21  Brady Eidson  <beidson@apple.com>
2508
2509         Reviewed by Kevin (Sarge)
2510
2511         <rdar://problem/5217124> - Re-add mistakenly removed SPI
2512
2513         * WebView/WebView.mm:
2514         (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]):
2515         * WebView/WebViewPrivate.h:
2516
2517 2007-05-21  Anders Carlsson  <andersca@apple.com>
2518
2519         Reviewed by Ada.
2520
2521         <rdar://problem/5200816> REGRESSION: With Shiira 1.2.2 , I can't open embedded link in flash object by clicking (http:/www.adobe.com )
2522         
2523         Null check the request.
2524         
2525         * WebView/WebView.mm:
2526         (+[WebView _canHandleRequest:]):
2527
2528 2007-05-19  Maciej Stachowiak  <mjs@apple.com>
2529
2530         Reviewed by Geoff.
2531         
2532         <rdar://problem/5205358> REGRESSION (r21367): All messages appear entirely blank when running Mail off of tip of tree WebKit
2533         
2534         The fix is to return nil from [WebFrame dataSource] when it has not loaded anything but the fake
2535         empty initial document. However, WebKit still needs the real data source internally, so I also
2536         added a [WebFrame _dataSource] method that skips this check, and made WebKit use it throughout.
2537
2538         * Misc/WebNSAttributedStringExtras.mm:
2539         (fileWrapperForElement):
2540         * Plugins/WebBaseNetscapePluginView.mm:
2541         (-[WebBaseNetscapePluginView dataSource]):
2542         * Plugins/WebNullPluginView.mm:
2543         (-[WebNullPluginView viewDidMoveToWindow]):
2544         * Plugins/WebPluginController.mm:
2545         (-[WebPluginController URLPolicyCheckReferrer]):
2546         * WebCoreSupport/WebFrameBridge.mm:
2547         (-[WebFrameBridge dataSource]):
2548         (-[WebFrameBridge redirectDataToPlugin:]):
2549         * WebCoreSupport/WebFrameLoaderClient.mm:
2550         (WebFrameLoaderClient::makeDocumentView):
2551         (WebFrameLoaderClient::forceLayoutForNonHTML):
2552         (WebFrameLoaderClient::prepareForDataSourceReplacement):
2553         (WebFrameLoaderClient::canCachePage):
2554         * WebCoreSupport/WebViewFactory.mm:
2555         (-[WebViewFactory bridgeForView:]):
2556         * WebKit.xcodeproj/project.pbxproj:
2557         * WebView/WebArchiver.mm:
2558         (+[WebArchiver archiveFrame:]):
2559         (+[WebArchiver archiveMainResourceForFrame:]):
2560         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
2561         (+[WebArchiver archiveSelectionInFrame:]):
2562         * WebView/WebFrame.mm:
2563         (-[WebFrame _loadURL:referrer:intoChild:]):
2564         (-[WebFrame _addChild:]):
2565         (-[WebFrame _dataSource]):
2566         (-[WebFrame DOMDocument]):
2567         (-[WebFrame dataSource]):
2568         * WebView/WebFrameInternal.h:
2569         * WebView/WebHTMLView.mm:
2570         (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
2571         * WebView/WebRenderNode.mm:
2572         (-[WebRenderNode initWithWebFrameView:]):
2573         * WebView/WebView.mm:
2574         (-[WebView _mainFrameOverrideEncoding]):
2575         (-[WebView mainFrameURL]):
2576         (-[WebView mainFrameTitle]):
2577         (-[WebView mainFrameIcon]):
2578         (-[WebView validateUserInterfaceItemWithoutDelegate:]):
2579         (-[WebView replaceSelectionWithArchive:]):
2580         (-[WebView _isLoading]):
2581         (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
2582         (-[WebView _notifyTextSizeMultiplierChanged]):
2583
2584 2007-05-18  Oliver Hunt  <oliver@apple.com>
2585
2586         Reviewed by Sam.
2587
2588         Fix for http://bugs.webkit.org/show_bug.cgi?id=13782 
2589         REGRESSION (r21528-r21533): Failing editing/selection/drag-in-iframe in pixel mode
2590         
2591         r21533 made used a DOMElement as the source for promise data, this meant it had to 
2592         clear the dragging pasteboard following the drag.  In DRT a drag is non-blocking
2593         so this resulted in us prematurely clearing the pasteboard.  
2594         
2595         This patch avoids this problem by referencing the source CachedImage rather than the
2596         DOMElement, so we don't need to worry about retaining an entire document forever, so
2597         we don't need to clear the dragging pasteboard following the drag.
2598         
2599         * Misc/WebNSPasteboardExtras.mm:
2600         (imageFromElement):
2601           Extract the underlying CachedImage from a DOMElement
2602         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):
2603           Use a CachedImage instead of a DOMElement
2604           
2605         * WebCoreSupport/WebDragClient.mm:
2606         (WebDragClient::startDrag):
2607         
2608         * WebKit.xcodeproj/project.pbxproj:
2609         
2610         * WebView/WebHTMLView.mm:
2611         (-[WebHTMLViewPrivate dealloc]):
2612         (-[WebHTMLViewPrivate clear]):
2613         (-[WebHTMLView pasteboardChangedOwner:]):
2614         (-[WebHTMLView pasteboard:provideDataForType:]):
2615         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
2616         (-[WebHTMLView WebCore::]):
2617         (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
2618           Use CachedImage rather than DOMElement as promised data source
2619           
2620         * WebView/WebHTMLViewInternal.h:
2621         * WebView/WebHTMLViewPrivate.h:
2622
2623 2007-05-18  Tristan O'Tierney  <tristan@apple.com>
2624
2625         Reviewed by Brady E.
2626
2627         * WebCoreSupport/WebFrameLoaderClient.mm:
2628         (WebFrameLoaderClient::download):
2629         asked the webframeloaderclient for its webview's history and 
2630         injected the originated url into the created WebDownload
2631
2632 2007-05-18  John Sullivan  <sullivan@apple.com>
2633
2634         Reviewed by Kevin Decker
2635         
2636         Improvement to WebKit part of fix for 5201499 based on more modern understanding. (That is,
2637         a couple of hours more modern.)
2638
2639         * WebView/WebUIDelegatePrivate.h:
2640         add showPanel: parameter to just-introduced delegate method webView:saveFrameView:
2641
2642         * WebView/WebPDFView.mm:
2643         (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
2644         pass NO for new showPanel: parameter, and update comment
2645
2646 2007-05-18  Maciej Stachowiak  <mjs@apple.com>
2647
2648         Reviewed by John.
2649         
2650         <rdar://problem/5204792> REGRESSION (r21367): System widgets are drawn with vertical/horizontal scroll bars
2651         
2652         No test because the bug requires calling setAllowsScrolling: to reproduce.
2653
2654         * WebView/WebFrameView.mm:
2655         (-[WebFrameView setAllowsScrolling:]): Update the FrameView's scroll state as well as the one
2656         on WebDynamicScrollBarsView, otherwise this setting won't stick if the frame has already loaded
2657         a document.
2658
2659 2007-05-18  Geoffrey Garen  <ggaren@apple.com>
2660
2661         Fixed spelling error.
2662         
2663         * WebView/WebViewPrivate.h:
2664
2665 2007-05-18  John Sullivan  <sullivan@apple.com>
2666
2667         Reviewed by Kevin Decker
2668         
2669         WebKit part of fix for 5201499 (support for PDFKit UI for saving PDFs to disk)
2670         
2671         Also, the PDFKit mechanism for notifying clients about "Open File Externally" was
2672         changed from a notification to a delegate method. The notification was new to 
2673         Leopard, so removing it doesn't affect clients in the field.
2674
2675         * WebView/WebUIDelegatePrivate.h:
2676         Declared new UI delegate method webView:saveFrameView:, analogous to the existing
2677         webView:printFrameView:
2678
2679         * WebView/WebPDFView.mm:
2680         removed declaration of _webkit_PDFKitLaunchNotification
2681         (-[WebPDFView viewDidMoveToWindow]):
2682         don't observe _webkit_PDFKitLaunchNotification
2683         (-[WebPDFView viewWillMoveToWindow:]):
2684         ditto
2685         (-[WebPDFView PDFViewOpenPDFInNativeApplication:]):
2686         new PDFKit delegate method, replaces our use of _webkit_PDFKitLaunchNotification
2687         (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
2688         new PDFKit delegate method, calls through to new WebKit UI delegate method
2689         
2690 2007-05-17  Oliver Hunt  <oliver@apple.com>
2691
2692         Reviewed by Justin.
2693
2694         Fix for <rdar://problem/4244861> Safari fails to create image file
2695         after releasing dragged image that has changed on source page
2696
2697         This patch fixes this bug by manually creating an NSFileWrapper from
2698         the TIFF promise data for a drag if it is available.  This bypasses
2699         the problem of the required resource no longer being held due to page
2700         loads or other constraints.
2701         
2702         We need to leave the old path in place to allow for the case where
2703         the promised data is not available.
2704
2705         * WebCoreSupport/WebDragClient.mm:
2706         (WebDragClient::declareAndWriteDragImage):
2707           Always use the top WebHTMLView as the pasteboard owner, this is
2708           safe as we only use the owner for resolving promised types.
2709         * WebView/WebHTMLView.mm:
2710         (-[WebHTMLView _writeSelectionToPasteboard:]):
2711         (-[WebHTMLView writeSelectionToPasteboard:types:]):
2712           Always use the top WebHTMLView as the pasteboard owner.
2713         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
2714           Add path to create NSFileWrapper from promise data.
2715
2716 2007-05-17  Oliver Hunt  <oliver@apple.com>
2717
2718         Reviewed by Adam.
2719         
2720         Fix for <rdar://problem/4343832> Trying to drag a large 6.2MB jpeg image
2721          out of Safari is unexpectedly slow (4 copies of image plus RTF document on pasteboard)
2722          
2723         This patch causes the construction of the RTF and TIFF data to be delayed until requested.
2724         
2725         We delay TIFF construction from a DOMElement as this may require generating TIFF data
2726         from the CachedImage, which is slow.  To allow the TIFF data to be created later the 
2727         it's necessary to add a reference to the source DOMElement to the view.
2728
2729         * Misc/WebNSPasteboardExtras.h:
2730         * Misc/WebNSPasteboardExtras.mm:
2731         (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
2732           Implements the delayed write of RTF data
2733         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):
2734           Set up the pasteboard to allow the data writing to be delayed
2735         (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
2736           Now we need to pass the WebHTMLView on to _web_writeImage:element:URL:title:archive:types:source:
2737         * WebCoreSupport/WebDragClient.mm:
2738         (WebDragClient::startDrag):
2739           Clear the dragging pasteboard once the drag has ended to ensure we don't hold references
2740           to anything longer than we need to.
2741         (WebDragClient::declareAndWriteDragImage):
2742           
2743         * WebView/WebHTMLView.mm:
2744         (-[WebHTMLViewPrivate dealloc]):
2745         (-[WebHTMLViewPrivate clear]):
2746         (-[WebHTMLView pasteboardChangedOwner:]):
2747           Make sure we clear out the DOMElement reference once it is no longer needed
2748         (-[WebHTMLView pasteboard:provideDataForType:]):
2749           Provide delayed data
2750         (-[WebHTMLView _writeSelectionToPasteboard:]):
2751           Make sure we set pasteboard ownership correctly
2752         (-[WebHTMLView promisedDragTIFFDataSource]):
2753         (-[WebHTMLView setPromisedDragTIFFDataSource:]):
2754         (-[WebHTMLView writeSelectionToPasteboard:types:]):
2755         * WebView/WebHTMLViewInternal.h:
2756         * WebView/WebHTMLViewPrivate.h:
2757         
2758         * WebView/WebView.mm:
2759         (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]):
2760
2761 2007-05-16  Anders Carlsson  <andersca@apple.com>
2762
2763         Reviewed by Darin.
2764
2765         <rdar://problem/5207156> Hamachi test tool causes assertion in FormCompletionController in Safari
2766
2767         Update for WebCore changes.
2768         
2769         * WebView/WebFrame.mm:
2770         (-[WebFrame _loadURL:referrer:intoChild:]):
2771
2772 2007-05-15  Oliver Hunt  <oliver@apple.com>
2773
2774         Reviewed by Sam and Geoff.
2775         
2776         Removing dead code left behind from drag and drop refactoring.
2777
2778         * WebCoreSupport/WebFrameBridge.mm:
2779         * WebView/WebHTMLView.mm:
2780         * WebView/WebHTMLViewPrivate.h:
2781
2782 2007-05-15  Bruce Q Hammond  <bruceq@apple.com>
2783
2784         Reviewed by Darin.
2785
2786         Correction of previous patch for http://bugs.webkit.org/show_bug.cgi?id=13578
2787         This corrects the sign of the Y-Axis origin adjustment.
2788
2789         * Plugins/WebBaseNetscapePluginView.mm:
2790         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2791
2792 2007-05-15  Geoffrey Garen  <ggaren@apple.com>
2793
2794         Reviewed by Maciej Stachowiak.
2795         
2796         Patch: fixed <rdar://problem/5198890> .5% performance regression caused 
2797         by r21307
2798         
2799         The only code r21307 added that runs during the PLT is a frame load delegate
2800         -respondsToSelector: call inside windowObjectCleared(), so it seems like 
2801         our message dispatch overhead for the frame load delegate is significant.
2802         
2803         This patch is a straight port of Maciej's fix for the same problem in the
2804         resource load delegate. The solution is simple enough: don't use Objective-C. 
2805         Instead, use a special structure that caches which methods the delegate 
2806         implements, along with pointers to those methods.
2807         
2808         I verified each frame load delegate callback in the debugger, except for
2809         -webView:didFailLoadWithError:forFrame:, which is not implemented by Safari
2810         or DumpRenderTree.
2811
2812         * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.h: Removed.
2813         * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.m: Removed.
2814
2815         * WebCoreSupport/WebFrameBridge.mm:
2816         (-[WebFrameBridge windowObjectCleared]): I also removed a misleading 
2817         comment here. The JS debugger caches the windowScriptObject, so you do
2818         need to re-create the debugger every time you invalidate the old 
2819         WebScriptObject wrapper for the window object and create a new one, or
2820         the debugger will stop working. We could fix this in a number of ways, 
2821         but <rdar://problem/4608404> is not the key issue.
2822
2823 2007-05-15  Maciej Stachowiak  <mjs@apple.com>
2824
2825         Reviewed by Hyatt and Lars.
2826         
2827         - fixed <rdar://problem/5201758> REGRESSION: Stop button enabled and other problems caused by [WebView currentURL] returning non-nil for empty window
2828         
2829         * WebView/WebDataSource.mm:
2830         (-[WebDataSource request]): Return nil when we are still showing the initial empty doc
2831
2832 2007-05-14  Geoffrey Garen  <ggaren@apple.com>
2833
2834         Reviewed by Darin Adler.
2835         
2836         Updated for WebCore move to PageCache singleton. Also removed some WebCore::
2837         prefixes and replaced them with 'using namespace WebCore'.
2838
2839         * History/WebHistoryItem.mm:
2840         (+[WebHistoryItem _releaseAllPendingPageCaches]):
2841         (-[WebWindowWatcher windowWillClose:]):
2842
2843 2007-05-13  Darin Adler  <darin@apple.com>
2844
2845         - one more retain/release for a tiny bit more robustness
2846
2847         * WebView/WebPDFView.mm:
2848         (-[WebPDFView _updatePreferences:]): [prefs release]
2849         (-[WebPDFView _updatePreferencesSoon]): [prefs retain]
2850
2851 2007-05-13  Darin Adler  <darin@apple.com>
2852
2853         Reviewed by Geoff.
2854
2855         - fix <rdar://problem/5188400> Webkit crashes going back from PDF at perl.org site
2856
2857         * WebView/WebPDFView.h: Replace _updatePreferencesTimer with _willUpdatePreferencesSoon BOOL.
2858         Also remove unneeded @public that gives other classes access to our dataSource member.
2859
2860         * WebView/WebPDFView.mm: Rearrange top of file a bit, remove forward declaration of the
2861         _cancelUpdatePreferencesTimer method.
2862         (-[WebPDFView dealloc]): Removed call to _cancelUpdatePreferencesTimer.
2863         (-[WebPDFView _updatePreferencesNow:]): Added WebPreferences parameter. This sidesteps problems
2864         where the dataSource is no longer present by not looking at the dataSource field at all.
2865         Also removed the call to _cancelUpdatePreferencesTimer, added code to set _willUpdatePreferencesSoon
2866         to NO and added a release to balance a retain I did in _updatePreferencesSoon.
2867         (-[WebPDFView _updatePreferencesSoon]): Changed to use performSelectorAfterDelay instead of
2868         an NSTimer. Pass in the preferences object as a parameter, since we might not be able to get to
2869         the dataSource when the timer fires.
2870
2871 2007-05-10  Geoffrey Garen  <ggaren@apple.com>
2872
2873         Reviewed by Darin Adler.
2874         
2875         "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness.
2876
2877 2007-05-10  Adele Peterson  <adele@apple.com>
2878
2879         Reviewed by Hyatt.
2880
2881         WebKit part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result
2882
2883         Updated to use selectionRect instead of visibleSelectionRect.  selectionRect() now returns the visible rect by default.
2884
2885         * WebView/WebHTMLView.mm:
2886         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
2887         (-[WebHTMLView selectionImageRect]):
2888
2889 2007-05-10  dethbakin  <bdakin@apple.com>
2890
2891         Reviewed by Darin.
2892
2893         Fix for <rdar://problem/5191941> Leopard: Adobe Acrobat 8: 
2894         Distiller 8 needs same check fix as 4992521
2895
2896         * WebView/WebView.mm:
2897         (-[WebView _updateWebCoreSettingsFromPreferences:]): Adobe 
2898         Distiller needs the same quirk.
2899
2900 2007-05-10  Maciej Stachowiak  <mjs@apple.com>
2901
2902         Reviewed by Oliver.
2903
2904         - WebKit part of fix for:
2905         <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
2906         <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
2907
2908         The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
2909         so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.
2910         
2911         However, this caused many regressions so I had to fix the fallout.
2912
2913         * WebCoreSupport/WebChromeClient.mm:
2914         (WebChromeClient::takeFocus): Avoid focus cycle problems (can happen in DumpRenderTree
2915         with initial empty document now).
2916         * WebCoreSupport/WebFrameBridge.mm:
2917         (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]): init the frame.
2918         (-[WebFrameBridge determineObjectFromMIMEType:URL:]): return image type when appropriate
2919         * WebView/WebFrame.mm:
2920         (-[WebFrame stopLoading]): use stopForUserCancel().
2921         * WebView/WebFrameView.mm:
2922         (-[WebFrameView _makeDocumentViewForDataSource:]): assume html when no mime type available.
2923         * WebView/WebView.mm:
2924         (-[WebView becomeFirstResponder]): Track whether we are becoming first responder from
2925         outside the view.
2926         (-[WebView _becomingFirstResponderFromOutside]): Return this value.
2927         * WebView/WebViewInternal.h:
2928
2929 2007-05-09  Oliver Hunt  <oliver@apple.com>
2930
2931         rs=Adele.
2932
2933         The previous patch (r21346) broke editing, rolling out
2934
2935         * WebView/WebHTMLView.mm:
2936         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
2937         (-[WebHTMLView doCommandBySelector:]):
2938
2939 2007-05-09  Adele Peterson  <adele@apple.com>
2940
2941         Reviewed by Oliver.
2942         
2943         Re-applying fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
2944         http://bugs.webkit.org/show_bug.cgi?id=13263
2945         
2946         We don't need to call interpretKeyEvents for cmd-key events as
2947         they events will be interpreted by performKeyEquivalent.
2948
2949         * WebView/WebHTMLView.mm:
2950         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
2951         (-[WebHTMLView doCommandBySelector:]):
2952
2953 2007-05-09  Mark Rowe  <mrowe@apple.com>
2954
2955         Build fix to keep the buildbot happy.
2956
2957         * Plugins/WebBaseNetscapePluginView.mm:
2958         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2959
2960 2007-05-08  Bruce Q Hammond  <bruceq@apple.com>
2961
2962         Reviewed by Darin.
2963
2964         http://bugs.webkit.org/show_bug.cgi?id=13578
2965         Bug 13578: When QD plugins draw to an offscreen bitmap the origin is not correct
2966
2967         Now we have correct handling of the origin when QD plugins draw to
2968         offscreen bitmaps.
2969         Also the clipping code for this path was doing unnecessary work which
2970         caused incorrect results; it has been removed.
2971         
2972         This change should not affect Safari and in general will only affect
2973         plugins (e.g. Flash) drawing to a CGBitmapContext.
2974
2975         * Plugins/WebBaseNetscapePluginView.mm:
2976         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2977
2978 2007-05-08  Steve Falkenburg  <sfalken@apple.com>
2979
2980         Reviewed by Darin.
2981
2982         Implemented spelling/grammar related WebEditorClient methods.
2983
2984         * WebCoreSupport/WebEditorClient.h:
2985         * WebCoreSupport/WebEditorClient.mm:
2986         (WebEditorClient::ignoreWordInSpellDocument): Added. Call through to NSSpellChecker.
2987         (WebEditorClient::learnWord): Added. Call through to NSSpellChecker.
2988         (WebEditorClient::checkSpellingOfString): Added. Call through to NSSpellChecker.
2989         (WebEditorClient::checkGrammarOfString): Added. Call through to NSSpellChecker.
2990         (WebEditorClient::updateSpellingUIWithGrammarString): Added. Call through to NSSpellChecker.
2991         (WebEditorClient::updateSpellingUIWithMisspelledWord): Added. Call through to NSSpellChecker.
2992         (WebEditorClient::showSpellingUI): Added. Call through to NSSpellChecker.
2993         (WebEditorClient::spellingUIIsShowing): Added. Call through to NSSpellChecker.
2994         (WebEditorClient::getGuessesForWord): Added. Call through to NSSpellChecker.
2995
2996 2007-05-08  Steve Falkenburg  <sfalken@apple.com>
2997
2998         Reviewed by Ada.
2999
3000         Slight modification to last editor method fix.
3001
3002         * WebCoreSupport/WebEditorClient.h:
3003         (WebEditorClient::updateSpellingUIWithGrammarString):
3004
3005 2007-05-07  Geoffrey Garen  <ggaren@apple.com>
3006
3007         Reviewed by Maciej Stachowiak.
3008         
3009         Fixed <rdar://problem/5140447> API for fetching JSGlobalContextRef from 
3010         WebView or WebFrame
3011         
3012         Added -[WebFrame windowObject] and -[WebFrame globalContext], along with
3013         a new frame load delegate method, - (void)webView:(WebView *)webView 
3014         didClearWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame.
3015         This is all to support briding between the WebScriptObject and JavaScriptCore
3016         APIs.
3017
3018         Also fixed more of <rdar://problem/4395622> API: WebScriptObject.h incorrectly 
3019         reports that -isSelectorExcludedFromWebScript returns NO by default, and
3020         generally cleaned up the WebScriptObject headerdoc.
3021
3022         * WebCoreSupport/WebFrameBridge.mm:
3023         (-[WebFrameBridge windowObjectCleared]):
3024         * WebView/WebFrame.mm:
3025         (-[WebFrame windowObject]):
3026         (-[WebFrame globalContext]):
3027         * WebView/WebFramePrivate.h:
3028         * WebView/WebViewPrivate.h:
3029
3030 2007-05-07  Timothy Hatcher  <timothy@apple.com>
3031
3032         Reviewed by Darin.
3033
3034         <rdar://problem/5180384> webView:validateUserInterfaceItem:defaultValidation: does not get called on WebUIDelegates
3035
3036         Call the delegate when the one of our views gets a validateUserInterfaceItem: call.
3037
3038         * WebView/WebHTMLView.mm:
3039         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
3040         (-[WebHTMLView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
3041         * WebView/WebPDFView.mm:
3042         (-[WebPDFView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
3043         (-[WebPDFView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
3044         * WebView/WebView.mm:
3045         (-[WebView _responderValidateUserInterfaceItem:]): Call validateUserInterfaceItemWithoutDelegate: to prevent asking the delegate twice.
3046         (-[WebView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
3047         (-[WebView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
3048
3049 2007-05-07  Brady Eidson  <beidson@apple.com>
3050
3051         Actually finish the code move from my last checkin
3052
3053         * History/WebHistoryItem.mm:
3054         (-[WebHistoryItem _transientPropertyForKey:]):
3055         (-[WebHistoryItem _setTransientProperty:forKey:]):
3056
3057 2007-05-07  Brady Eidson  <beidson@apple.com>
3058
3059         Rubberstamped by Kevin (Sarge)
3060
3061         Make _transientPropertyForKey: and _setTransientProperty:forKey: SPI
3062
3063         * History/WebHistoryItemInternal.h:
3064         * History/WebHistoryItemPrivate.h:
3065
3066 2007-05-04  Geoffrey Garen  <ggaren@apple.com>
3067
3068         Reviewed by Tim Hatcher.
3069
3070         First step in fixing <rdar://problem/5055182> The back cache has no global cap
3071
3072         Stop giving SnapBack infinite cache-ability. Instead, make SnapBack rely
3073         on the underlying back cache.
3074         
3075         I left -setAlwaysAttemptToUsePageCache: as an empty stub because we don't 
3076         want to break Safari 2.0, but I removed its header declaration so nobody 
3077         else starts using it.
3078
3079         * History/WebHistoryItem.mm:
3080         (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
3081         * History/WebHistoryItemPrivate.h:
3082
3083 2007-05-04  Geoffrey Garen  <ggaren@apple.com>
3084
3085         Reviewed by Brady Eidson.
3086         
3087         Some cleanup in preparation for fixing <rdar://problem/5055182> The 
3088         back/forward cache has no global cap
3089         
3090         Unified naming of WebKit/WebCore b/f lists -- instead of the potpourri 
3091         of webBackForwardList, backForwardList, list, kitList, coreList, listWrapper, 
3092         and webCoreBackForwardList, we use webBackForwardList for WebKit and 
3093         backForwardList for WebCore, matching their respective class names.
3094         
3095         Removed "private" versions of kit() and core() -- kit() and core() are
3096         canonically used for converting between WebKit API objects and WebCore
3097         API objects. I think it's clearer to have only one way to do this.
3098
3099         Removed COMPUTE_DEFAULT_PAGE_CACHE_SIZE, since it was unused.
3100         
3101         Removed _clearPageCache, since it was unused and it duplicated -setPageCacheSize:0.
3102
3103         Removed _usesPageCache, since it was unused and it duplicated -pageCacheSize.
3104
3105 2007-05-04  Brady Eidson  <beidson@apple.com>
3106
3107         Reviewed by Mark Rowe
3108
3109         Added main thread assertion to WebHTMLView to help make sure 3rd party clients aren't trying
3110         to draw on secondary threads
3111
3112         * WebView/WebHTMLView.mm:
3113         (-[WebHTMLView drawRect:]): Added ASSERT_MAIN_THREAD()
3114
3115 2007-05-04  Anders Carlsson  <andersca@apple.com>
3116
3117         Reviewed by Antti.
3118
3119         <rdar://problem/5179977> Use the correct URLs when dispatching delegate methods for data loads.
3120
3121         * WebView/WebFrame.mm:
3122         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
3123         If the base URL is nil, set it to "about:blank", and set the response URL to a generated applewebdata URL.
3124         
3125         * WebView/WebView.mm:
3126         (+[WebView _canHandleRequest:]):
3127         No need to special-case applewebdata URLs here anymore, they're only used in responses.
3128
3129 2007-05-03  Steve Falkenburg  <sfalken@apple.com>
3130
3131         Reviewed by Oliver.
3132
3133         Add missing user description parameter to spelling-related editor client method.
3134
3135         * WebCoreSupport/WebEditorClient.h:
3136         (WebEditorClient::updateSpellingUIWithGrammarString):
3137
3138 2007-05-03  TImothy Hatcher  <timothy@apple.com>
3139
3140         Reviewed by Kevin.
3141
3142         <rdar://problem/4975212> REGRESSION: With NetNewsWire 2.1.1, the contextual menu shows extra menu items when focus
3143         is placed in input or textarea field
3144
3145         The NetNewsWire UI delegate isn't expecting calls for form controls, so we need to do a linked-on-or-after check.
3146         If the application was linked against Tiger or earlier and the element is a text form control, just return the
3147         default menu items and bypass the delegate call completely.
3148
3149         * WebCoreSupport/WebContextMenuClient.mm:
3150         (isPreVersion3Client): Cache the result of the WebKitLinkedOnOrAfter call
3151         (fixMenusToSendToOldClients): Call the new isPreVersion3Client()
3152         (fixMenusReceivedFromOldClients): Ditto.
3153         (WebContextMenuClient::getCustomMenuFromDefaultItems): Return the default menu items if the element is a text form control.
3154
3155 2007-05-03  Mark Rowe  <mrowe@apple.com>
3156
3157         Reviewed by Geoff and Kevin.
3158
3159         <rdar://problem/5141290> WebAssertions.h is still needed by some internal clients
3160
3161         Second shot at fixing this error.  Stub out the macros rather than forwarding to JavaScriptCore, which would
3162         leave clients using this header trying to resolve JavaScriptCore symbols against WebKit when linking.  This
3163         should only happen in production builds when assertions should be disabled anyway as anyone building a
3164         development configuration should be in a position to move away from using this header.
3165
3166         * Misc/WebAssertions.h: 
3167
3168 2007-05-03  Timothy Hatcher  <timothy@apple.com>
3169
3170         Reviewed by Kevin.
3171
3172         <rdar://problem/5067707> REGRESSION: "Open Link" contextual menu item appears twice in Mail
3173
3174         Remove the check for Mail in fixMenusToSendToOldClients and fixMenusReceivedFromOldClients
3175         when linked on or after Leopard. The isAppleMail() function is still used for Tiger Mail fixups.
3176
3177         * WebCoreSupport/WebContextMenuClient.mm:
3178         (fixMenusToSendToOldClients):
3179         (fixMenusReceivedFromOldClients):
3180
3181 2007-05-02  Anders Carlsson  <andersca@apple.com>
3182
3183         Reviewed by Brady.
3184
3185         <rdar://problem/5151113> Assertion firing in [FrameProgressEntry addChild:forDataSource:] when navigating cnn.com
3186         
3187         The assertion fired because a plug-in was trying to load a subresource when a new load had started but not yet
3188         committed. The check that would have prevented this was removed in order to fix <rdar://problem/5085897>.
3189         
3190         This puts back the check but changes it to allow loads where the target is the same frame as the plugin's parent frame.
3191         
3192         * Plugins/WebBaseNetscapePluginView.mm:
3193         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
3194
3195 2007-04-27  Timothy Hatcher  <timothy@apple.com>
3196
3197         Reviewed by Darin.
3198
3199         There were only a couple calls to ResourceLoadDelegate forwarder left,
3200         this removes the calls and adds a new cached method for didFailLoad.
3201
3202         * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.h: Removed.
3203         * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.m: Removed.
3204         * WebKit/Plugins/WebNullPluginView.mm: Call the resource load delegate directly.
3205         * WebKit/WebCoreSupport/WebFrameLoaderClient.mm: Call the cached didFailLoad delegate function.
3206         * WebKit/WebKit.xcodeproj/project.pbxproj: Remove WebDefaultResourceLoadDelegate.
3207         * WebKit/WebView/WebDataSource.mm: Remove the #import for WebDefaultResourceLoadDelegate.h
3208         * WebKit/WebView/WebView.mm: Remove the ResourceLoadDelegate forwarder, and remove a method that isn't used.
3209         * WebKit/WebView/WebViewInternal.h: Ditto.
3210         * WebKit/WebView/WebViewPrivate.h: Remove a method that is no longer used.
3211
3212 2007-04-27  David Harrison  <harrison@apple.com>
3213
3214         Reviewed by Darin.
3215
3216         <rdar://problem/5160627> Export JS list creation support as ObjC SPI for Mail
3217
3218         * WebKit.xcodeproj/project.pbxproj:
3219         * WebView/WebHTMLView.mm:
3220         (-[WebHTMLView _selectedRange]):
3221         (-[WebHTMLView _shouldDeleteRange:]):
3222         (-[WebHTMLView _canEdit]):
3223         (-[WebHTMLView _canEditRichly]):
3224         (-[WebHTMLView _hasSelection]):
3225         (-[WebHTMLView _hasSelectionOrInsertionPoint]):
3226         (-[WebHTMLView _hasInsertionPoint]):
3227         (-[WebHTMLView _isEditable]):
3228         Condense the check for nil [self frame].
3229         Remove canEditRichly checks and rely on the editor to do the check instead.
3230         
3231         (-[WebHTMLView _insertOrderedList]):
3232         (-[WebHTMLView _insertUnorderedList]):
3233         New.
3234         
3235         (-[WebHTMLView _canIncreaseSelectionListLevel]):
3236         (-[WebHTMLView _canDecreaseSelectionListLevel]):
3237         (-[WebHTMLView _increaseSelectionListLevel]):
3238         (-[WebHTMLView _increaseSelectionListLevelOrdered]):
3239         (-[WebHTMLView _increaseSelectionListLevelUnordered]):
3240         (-[WebHTMLView _decreaseSelectionListLevel]):
3241         Moved from bridge to frame editor.
3242
3243         * WebView/WebHTMLViewPrivate.h:
3244         Add _insertOrderedList and _insertUnorderedList to WebHTMLView(WebPrivate)
3245
3246 2007-04-27  Brady Eidson  <beidson@apple.com>
3247
3248         Rubberstamped by Mark
3249
3250         Remove default implementation of UIDelegate method that was removed
3251
3252         I have also been instructed to give Tim a hard time about this one - apparently
3253         it was his job to clean it out and he failed...  failed miserably.
3254
3255         :)
3256
3257         * DefaultDelegates/WebDefaultUIDelegate.m: Removed webViewPrint:
3258
3259 2007-04-27  Maciej Stachowiak  <mjs@apple.com>
3260
3261         Reviewed by Mark.
3262         
3263         <rdar://problem/5154113> Repro ASSERT (would be crash) in KJS::GCLock::GCLock (13462)
3264         http://bugs.webkit.org/show_bug.cgi?id=13462
3265
3266         * WebInspector/WebInspector.m:
3267         (-[WebInspectorPrivate dealloc]): Delay release of WebView to avoid GC re-entrancy.
3268
3269 2007-04-27  Anders Carlsson  <andersca@apple.com>
3270
3271         Reviewed by Mitz.
3272
3273         <rdar://problem/5165755>
3274         View Source is broken; empty window is shown
3275         
3276         Return YES for applewebdata URLs.
3277         
3278         * WebView/WebView.mm:
3279         (+[WebView _canHandleRequest:]):
3280
3281 2007-04-26  Oliver Hunt  <oliver@apple.com>
3282
3283         Reviewed by Adam.
3284
3285         Fix <rdar://problem/5061252> REGRESSION: In Gmail, image fails 
3286         to be inserted into message field after dragging
3287
3288         Don't try to create <img> tags for local image files as it results
3289         in the potential to submit forms that look like they have an image,
3290         when in reality they don't.
3291
3292         * WebView/WebHTMLView.mm:
3293         (-[WebHTMLView _documentFragmentWithPaths:]):
3294
3295 2007-04-26  Anders Carlsson  <andersca@apple.com>
3296
3297         Reviewed by Maciej.
3298
3299         <rdar://problem/5049099> documents no longer have a default base URL
3300         
3301         If the base URL is nil, then create a unique applewebdata URL to match what Tiger WebKit does.
3302         
3303         * WebView/WebFrame.mm:
3304         (createUniqueWebDataURL):
3305         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
3306
3307 2007-04-25  Oliver Hunt  <oliver@apple.com>
3308
3309         Rubber stamped by Adele.
3310
3311         Roll out WebKit changes from from r21052 to fix regression noted in
3312         <rdar://problem/5159556> REGRESSION: In Mail, pressing option-command- ' doesn't decrease block quote in selection
3313
3314         * WebView/WebHTMLView.mm:
3315         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
3316         (-[WebHTMLView doCommandBySelector:]):
3317
3318 2007-04-25  Steve Falkenburg  <sfalken@apple.com>
3319
3320         Reviewed by Adam.
3321
3322         Mac callbacks for new spelling methods in WebEditorClient.
3323         Not used yet.
3324
3325         * WebCoreSupport/WebEditorClient.h:
3326         (WebEditorClient::ignoreWordInSpellDocument):
3327         (WebEditorClient::learnWord):
3328         (WebEditorClient::checkSpellingOfString):
3329         (WebEditorClient::checkGrammarOfString):
3330         (WebEditorClient::updateSpellingUIWithGrammarString):
3331         (WebEditorClient::updateSpellingUIWithMisspelledWord):
3332         (WebEditorClient::showSpellingUI):
3333         (WebEditorClient::spellingUIIsShowing):
3334         (WebEditorClient::getGuessesForWord):
3335
3336 2007-04-24  Geoffrey Garen  <ggaren@apple.com>
3337
3338         Reviewed by Darin Adler, Tim Hatcher.
3339
3340         Fixed a few NSAutoreleasePool issues I noticed while reviewing Brady's patch.
3341
3342         * Carbon/CarbonUtils.m:
3343         (PoolCleaner): Call -drain instead of -release, since -release is a 
3344         no-op in a GC world.
3345
3346         * Misc/WebKitErrors.m:
3347         (registerErrors): Condensed onto one line.
3348
3349         * Plugins/WebPluginDatabase.m:
3350         (-[WebPluginDatabase refresh]): Call -drain instead of -release, since
3351         -release is a no-op in a GC world.
3352
3353         * WebCoreSupport/WebChromeClient.mm:
3354         (WebChromeClient::setStatusbarText):
3355
3356         * WebInspector/WebNodeHighlightView.m:
3357         (-[WebNodeHighlightView initWithHighlight:andRects:forView:]): Don't drain
3358         and then release because drain deallocates the receiver, so the release
3359         is an over-release.
3360
3361         * WebView/WebView.mm:
3362         (-[WebView rectsForTextMatches]): Re-allocate the pool after draining it,
3363         because drain deallocates the receiver, so the drain would leave you without
3364         any autorelease pool, causing a leak and then an over-release at the bottom
3365         of the loop.
3366
3367 2007-04-24  Brady Eidson  <beidson@apple.com>
3368
3369         Reviewed by Beth, Hyatt, Ada, and Darin
3370
3371         <rdar://problem/5011477> and <rdar://problem/5011514>
3372         Provide support for the icon.db to be moved to a different directory from the old WebKit-style
3373         icons, and remove the old directory if that is the case
3374
3375         * Misc/WebIconDatabase.mm:
3376         (-[WebIconDatabase init]):
3377         (-[WebIconDatabase _importToWebCoreFormat]): Check "imported()" to determine if a conversion is needed
3378           - Look for WebIconDatabaseImportDirectoryDefaultsKey for the source location for the conversion
3379           - Set "imported" to true in the Icons.db
3380           - If the new Icons.db isn't in the same patch as the old icons, delete the entire directory when finished
3381           - Move old icon.db to Icons.db to reflect rename
3382         * Misc/WebIconDatabasePrivate.h: Add WebIconDatabaseImportDirectoryDefaultsKey so a WebKit client can tell WebKit
3383           where to look for the old icons if their location is different from the icon.db
3384         * WebKit.exp:
3385
3386 2007-04-24  Mitz Pettel  <mitz@webkit.org>
3387
3388         Reviewed by Oliver Hunt.
3389
3390         Changed an apostrophe (') into a right single quotation mark (U+2019).
3391
3392         * WebInspector/webInspector/inspector.js:
3393
3394 2007-04-24  Mitz Pettel  <mitz@webkit.org>
3395
3396         Reviewed by Timothy Hatcher.
3397
3398         - fix http://bugs.webkit.org/show_bug.cgi?id=13459
3399           The "mapped style" link next to an attribute doesn't work
3400
3401         * WebInspector/webInspector/inspector.js: Added a check that the rule is
3402         mapped from an attribute.
3403
3404 2007-04-23  Adele Peterson  <adele@apple.com>
3405
3406         Fixed and reviewed by Darin, Adele, and Oliver.
3407
3408         WebKit part of fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
3409         http://bugs.webkit.org/show_bug.cgi?id=13263
3410
3411         * WebView/WebHTMLView.mm:
3412         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):  If we have no command after calling interpretKeyEvents, we assume the input method handled the key.
3413         (-[WebHTMLView doCommandBySelector:]): Add noop: to the command vector, but then when actually performing actions, ignore it.
3414
3415 2007-04-23  Timothy Hatcher  <timothy@apple.com>
3416
3417         Reviewed by Darin.
3418
3419         <rdar://problem/5124364> IB3 crashes when loading a nib containing a WebView that has a WebHTMLView encoded inside
3420
3421         Since WebView's initWithCoder throws away all the decoded subviews, the WebHTMLView gets dealoced while it has a nil _private pointer.
3422         Checking for a nil _private in WehHTMLView's close fixes this crash. No need to implement a full initWithCoder for WebHTMLView since
3423         it will be thrown away by the WebView anyway.
3424
3425         * WebView/WebHTMLView.mm:
3426         (-[WebHTMLView close]): Return earily if _priviate is nil.
3427         (-[WebHTMLView initWithFrame:]): Unrelated change that removes an AppKit version check that predates Tiger.
3428
3429 2007-04-23  Timothy Hatcher  <timothy@apple.com>
3430
3431         Reviewed by Mark Rowe.
3432
3433         Remove the "No Selection" message after leaving search mode.
3434         This was a regression caused by the inspector refresh.
3435
3436         * WebInspector/webInspector/inspector.js:
3437
3438 2007-04-23  Timothy Hatcher  <timothy@apple.com>
3439
3440         Reviewed by Darin.
3441
3442         Bug 6658: World leak when closing inspected window
3443         http://bugs.webkit.org/show_bug.cgi?id=6658 and <rdar://problem/4411863>
3444
3445         Removes over-retains of the inspector WebView, WebInspector and WebInspectorPanel.
3446
3447         * WebInspector/WebInspector.m:
3448         (+[WebInspector sharedWebInspector]): Return the global sharedWebInspector variable.
3449         (-[WebInspector window]): Release the window after calling setWindow:.
3450         (-[WebInspector windowWillClose:]): Set the JavaScript Inspector variable to null and expire the current highlight.
3451           Also clear the global sharedWebInspector variable and release it if self equals sharedWebInspector.
3452         (-[WebInspector showWindow:]): Set the JavaScript Inspector variable back to self.
3453         * WebInspector/WebInspectorInternal.h: Remove the isSharedInspector member variable.
3454         * WebView/WebView.mm:
3455         (-[WebView windowScriptObject]): Return nil if core([self mainFrame]) is NULL.
3456
3457 2007-04-23  Darin Adler  <darin@apple.com>
3458
3459         Reviewed by Hyatt.
3460
3461         - rename box-sizing to -webkit-box-sizing
3462
3463         * WebInspector/webInspector/inspector.css: Here.
3464         * WebInspector/webInspector/inspector.js: And here, in the expected default CSS values list.
3465
3466 2007-04-22  Timothy Hatcher  <timothy@apple.com>
3467
3468         Reviewed by Darin.
3469
3470         The fix for <rdar://problem/4976681> ASSERTION failure on quit @ talkcrunch.com in _NPN_ReleaseObject
3471         was #ifdefed out in Production builds.
3472
3473         * WebView/WebView.mm:
3474         (+[WebView initialize]): Move the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM inside initialize around the specific code
3475         (+[WebView _applicationWillTerminate]): Moved outside the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM block
3476
3477 2007-04-22  Timothy Hatcher  <timothy@apple.com>
3478
3479         Reviewed by Mitz.
3480
3481         Bug 13436: Make Option-clicking a disclosure triangle expand the entire subtree
3482         http://bugs.webkit.org/show_bug.cgi?id=13436
3483
3484         Makes option-click recursively expand and collapse the sub-tree. Pressing option-left
3485         and -right also recursively expands and collapses the sub-tree.
3486
3487         * WebInspector/webInspector/treeoutline.js:
3488
3489 2007-04-22  Timothy Hatcher  <timothy@apple.com>
3490
3491         Reviewed by Mitz.
3492
3493         Bug 13437: Inspector does not update when navigating to a different page
3494         http://bugs.webkit.org/show_bug.cgi?id=13437
3495
3496         * WebInspector/webInspector/inspector.js: Correctly update to a new root node
3497           if the new focus node and the old focus node don't have a common ancestor.
3498
3499 2007-04-22  Darin Adler  <darin@apple.com>
3500
3501         Reviewed by Adele.
3502
3503         - fix for <rdar://problem/5100240> REGRESSION: Control-O broken
3504
3505         * WebView/WebHTMLView.mm:
3506         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Update to handle a vector of
3507         command names instead of a single command.
3508         (-[WebHTMLView doCommandBySelector:]): Change logic so that we add the command to a vector
3509         and also so that the interpretKeyEvents parameters are still intact for a second call to
3510         doCommandBySelector:, since the key bindings mechanism can do more than one.
3511         (-[WebHTMLView insertText:]): Added comment.
3512
3513 2007-04-21  Darin Adler  <darin@apple.com>
3514
3515         Reviewed by Oliver.
3516
3517         - fix some problems I ran into using the inspector
3518
3519         * WebInspector/webInspector/inspector.js: Add some null checks.
3520
3521 2007-04-20  Timothy Hatcher  <timothy@apple.com>
3522
3523         Reviewed by Darin.
3524
3525         Merge over the WebInspectorRefresh branch. This change removes the NSOutlineView and
3526         is replaced with a HTML/JavaScript tree. Most of the inspector logic is now in the JavaScript.
3527
3528         A few bugs are fixed by these changes:
3529
3530         Bug 6615: Parent node drop-down list is upside-down
3531         http://bugs.webkit.org/show_bug.cgi?id=6615
3532
3533         Bug 6643: REGRESSION: Tree view repaints lines without erasing them first
3534         http://bugs.webkit.org/show_bug.cgi?id=6643
3535
3536         Bug 6650: Web Inspector HTML Hierarchy can't be scrolled with scrollwheel