78813ac3297b5469da08fe56d37651679795e5e2
[WebKit-https.git] / WebKit / ChangeLog
1 2007-10-11  Mark Rowe  <mrowe@apple.com>
2
3         Reviewed by Tim Hatcher.
4
5         Fix for <rdar://problem/5488678>.  Disable debugging symbols in production builds for 10.4
6         PowerPC to prevent a huge STABS section from being generated.
7
8         * Configurations/Base.xcconfig:
9
10 2007-10-10  Alice Liu  <alice.liu@apple.com>
11
12         Reviewed by Geoff Garen.
13
14         Fixed <rdar://5464402> Crash when running fast/frames/onload-remove-iframe-crash.html in DRT
15         createFrame() now returns a RefPtr instead of a raw Frame pointer. 
16         Making this change improves the way we handle frames on Windows WebKit. 
17
18         * WebCoreSupport/WebFrameLoaderClient.h:
19         * WebCoreSupport/WebFrameLoaderClient.mm:
20         (WebFrameLoaderClient::createFrame):
21
22 2007-10-04  Beth Dakin  <bdakin@apple.com>
23
24         Reviewed by John Sullivan.
25
26         Fix for <rdar://problem/5441823> REGRESSION (r25142, Tiger only): 
27         Vertical scroll bar not redrawn properly when going back in history 
28         (15033)
29
30         This fix if-defs r25142 to be Leopard-only since it causes 
31         correctness issues on Tiger and does not seem to have any 
32         performance impact on Tiger either.
33
34         * WebView/WebDynamicScrollBarsView.m:
35         (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]):
36         (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
37
38 2007-10-04  Mark Rowe  <mrowe@apple.com>
39
40         Reviewed by Oliver.
41
42         Switch to default level of debugging symbols to resolve <rdar://problem/5488678>.
43         The "full" level appears to offer no observable benefits even though the documentation
44         suggests it be used for dead code stripping.  This should also decrease link times.
45
46         * Configurations/Base.xcconfig:
47
48 2007-10-04  Adele Peterson  <adele@apple.com>
49
50         Reviewed by Darin.
51
52         WebKit part of fix for <rdar://problem/5369017> REGRESSION: Can't tab to webview that doesn't have editable content
53
54         * WebView/WebHTMLView.mm: (-[WebHTMLView becomeFirstResponder]): Pass in the FocusDirection.
55
56 2007-10-04  Darin Adler  <darin@apple.com>
57
58         * WebView/WebHTMLView.mm: (-[WebHTMLView _updateActiveState]):
59         Removed a bogus comment.
60
61 2007-10-02  Kevin Decker  <kdecker@apple.com>
62
63         Reviewed by Mark Rowe.
64
65         Re-added _minimumRequiredSafariBuildNumber. It turns out older version of Safari still rely
66         on this method, so we need to keep it around at least until the next major Safari release.
67
68         * StringsNotToBeLocalized.txt:
69         * WebView/WebView.mm:
70         (+[WebView _minimumRequiredSafariBuildNumber]):
71         * WebView/WebViewPrivate.h:
72
73 2007-10-02  Kevin Decker  <kdecker@apple.com>
74
75         Reviewed by John Sullivan.
76
77         <rdar://problem/5517710> 
78
79         * WebView/WebView.mm: Removed -[WebView _minimumRequiredSafariBuildNumber] because newer
80          versions of Safari no longer use this method. This won't break existing Safaris because
81          they always use a respondsToSelector check before calling this.
82          
83         * WebView/WebViewPrivate.h: Ditto. 
84
85 2007-09-27  John Sullivan  <sullivan@apple.com>
86
87         Reviewed by Ollie
88         
89         - fixed <rdar://problem/5408186> REGRESSION (5522-5523.9): Safari leaks every browser window
90         
91         The leak started occurring when we removed the code to clear the delegates and the host window
92         from Safari as part of the fix for 5479443. But it turns out that Safari code was masking a
93         bug here in WebView: setHostWindow:nil needs to be called before setting _private->closed to
94         YES, or it will do nothing at all, causing a world leak due to a circular reference between
95         the window and the WebView.
96         
97         I toyed with a more complex fix, but this is the simplest one that retains the fix for 5479443
98         while otherwise restoring the code order to be as close as possible to what it was before
99         5479443 was fixed.
100
101         * WebView/WebView.mm:
102         (-[WebView _close]):
103         Moved the call that sets _private->closed to YES to be after the code that clears the delegates
104         and the host window. Added a comment about this order.
105
106 2007-09-27  Kevin Decker  <kdecker@apple.com>
107
108         Rubber stamped by Darin.
109
110         <rdar://problem/5493093>
111
112         * WebKit.order: Added.
113         * WebKit.xcodeproj/project.pbxproj:  We're changing from using an order file built by
114          another team to using one we actually check into our project repository. Linker settings for
115          Symbol Ordering Flags have been updated accordingly.
116
117 2007-09-26  Geoffrey Garen  <ggaren@apple.com>
118
119         Reviewed by Adele Peterson.
120         
121         Fixed <rdar://problem/5507476> Promote cache model SPI to API
122         
123         Promoted cache model SPI to API. This was just a move, with some small 
124         edits to the documentation (changing 'application' to 'WebView' in 
125         some cases, since the interface is now per-WebView).
126
127         * WebView/WebPreferences.h:
128         * WebView/WebPreferences.m:
129         (-[WebPreferences setCacheModel:]):
130         (-[WebPreferences cacheModel]):
131         * WebView/WebPreferencesPrivate.h:
132
133 2007-09-24  Timothy Hatcher  <timothy@apple.com>
134
135         Reviewed by Darin.
136
137         <rdar://problem/5498016> Photoshop CS3: Adobe Help Viewer 1.1 crashes in 9A553
138
139         WebKit started calling the mouseDidMoveOverElement delegate method with a nil dictionary in r14982.
140         We originally intended to call this delegate method sometimes with a nil dictionary, but due to
141         a bug dating back to WebKit 1.0 this delegate was never called with nil! Unfortunately we can't
142         start calling this with nil since it will break Adobe Help Viewer, and possibly other clients.
143
144         * WebView/WebView.mm:
145         (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
146
147 2007-09-21  Kevin Decker  <kdecker@apple.com>
148
149         * Plugins/WebBaseNetscapePluginView.mm: Build fix. 
150         The first argument of aglChoosePixelFormat() has changed from const AGLDevice *gdevs on Tiger to
151         const void *gdevs on Leopard.
152
153 2007-09-20  Kevin Decker  <kdecker@apple.com>
154
155         Reviewed by Darin Adler.
156
157         <rdar://problem/5493093>
158
159         Reduced launch time by lazily linking both the AGL and OpenGL frameworks until they are really needed.
160
161         * Plugins/WebBaseNetscapePluginView.mm: Soft link all AGL and OpenGL functions used by
162         WebBaseNetscapePluginView.
163
164         * WebKit.xcodeproj/project.pbxproj: Removed AGL and OpenGL from the project.
165
166 2007-09-20  John Sullivan  <sullivan@apple.com>
167
168         Build fix for stoooopid old PPC gcc compiler
169
170         * WebCoreSupport/WebEditorClient.mm:
171         (WebEditorClient::checkSpellingOfString):
172         replace perfectly valid ?: syntax with if/else
173
174 2007-09-19  John Sullivan  <sullivan@apple.com>
175
176         Reviewed by Darin Adler.
177
178         - WebKit part of speculative fix for <rdar://problem/5490627>, about crashes constructing a
179           String using the values filled in by checkSpellingOfString()
180
181         * WebCoreSupport/WebEditorClient.mm:
182         (WebEditorClient::checkSpellingOfString):
183         convert NSNotFound to -1, since WebCore code expects -1 for this purpose. We already do this
184         in checkGrammarOfString.
185
186 2007-09-19  Kevin Decker  <kdecker@apple.com>
187
188         Reviewed by Darin Adler.
189
190         <rdar://problem/5491066> soft link Accelerate.framework
191         
192         * Misc/WebGraphicsExtras.c:
193         (WebConvertBGRAToARGB): Improve launch time performance and reduce vsize
194         footprint by soft linking the Accelerate.framework.
195         * WebKit.xcodeproj/project.pbxproj: Remove no longer needed frameworks.
196
197 2007-09-18  Geoffrey Garen  <ggaren@apple.com>
198
199         Reviewed by Darin Adler.
200         
201         Fixed <rdar://problem/5490204> In some cases, WebKit can make the 
202         Foundation disk cache way too big or way too small
203         
204         Use the actual location of the foundation disk cache, rather than 
205         the user's home directory, when determining how big to make it.
206
207         * WebView/WebView.mm:
208         (+[WebView _setCacheModel:]):
209
210 2007-09-17  Geoffrey Garen  <ggaren@apple.com>
211
212         Reviewed by Darin Adler.
213
214         Fixed a hang due to an infinite script running in the window's unload 
215         event handler, which may be the cause of <rdar://problem/5479443> 
216         REGRESSION: Hang due to infinite JS recursion on close @ engadget.com 
217         (onunload-based ad)
218
219         * WebView/WebUIDelegatePrivate.h: Added FIXME.
220         
221         * WebView/WebView.h: Clarified headerdoc ambiguity about when delegate 
222         methods stop firing.
223
224         * WebView/WebView.mm:
225         (-[WebView _close]): The fix: don't nil out our delegates until after
226         detaching the FrameLoader, because the act of detaching the FrameLoader
227         might fire important delegate methods, like webViewShouldInterruptJavaScript:.
228         Don't do other tear-down either, because the unload event handler needs 
229         to run in a fully constructed page.
230         
231         This change is fairly low risk because niling out our delegates is a 
232         very recent, never-shipped feature in WebKit, so it's unlikely that any 
233         apps rely on it in a crazy way.
234
235 2007-09-15  Darin Adler  <darin@apple.com>
236
237         Reviewed by John Sullivan.
238
239         - fix <rdar://problem/5391540> REGRESSION: Can't drag images from Safari to applications
240           in the dock (Tiger Preview, others in Leopard)
241
242         * Misc/WebNSPasteboardExtras.mm:
243         (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
244         Re-implement code here that has been missing for the last couple of years since we
245         did some image refactoring. Was pretty easy now that we can freely call C++ code
246         in WebKit.
247
248 2007-09-14  Mark Rowe  <mrowe@apple.com>
249
250         Build fix for Tiger.
251
252         * WebView/WebArchive.m:
253         (-[WebArchive initWithCoder:]): Use @catch(id) rather than @catch(...).
254         * WebView/WebPreferences.m:
255         (-[WebPreferences initWithCoder:]): Ditto.
256         * WebView/WebResource.mm:
257         (-[WebResource initWithCoder:]): Ditto.
258         (-[WebResource _initWithPropertyList:]): Ditto.
259
260 2007-09-14  Darin Adler  <darin@apple.com>
261
262         Reviewed by Geoff Garen and Tim Hatcher.
263
264         - fixed <rdar://problem/5482745> initFromCoder: and initWithPropertyList: functions
265           should guard against incorrect types
266
267         * WebView/WebArchive.m:
268         (isArrayOfClass): Added helper function.
269         (-[WebArchive _initWithPropertyList:]): Tweaked function to remove the need for a
270         type cast.
271         (-[WebArchive initWithCoder:]): Added type checking for the main resource,
272         subresources array, and subframe archives array. Also replaced NS_DURING with @try.
273         * WebView/WebPreferences.m: (-[WebPreferences initWithCoder:]): Added type checking
274         for the identifier and the values dictionary, including ensuring that it's a mutable
275         dictionary.
276         * WebView/WebResource.mm:
277         (-[WebResource initWithCoder:]): Added type checking for all the fields.
278         (-[WebResource _initWithPropertyList:]): Added type checking for the NSURLResponse.
279
280         * WebKit.exp: Removed accidentally exported internal symbol; I checked and it's not
281         used anywhere.
282
283 2007-09-13  Darin Adler  <darin@apple.com>
284
285         Reviewed by Oliver.
286
287         - fix <rdar://problem/5470457> REGRESSION: Input method inline hole is mishandled in text
288           <input> elements with maxlength limit
289
290         * WebView/WebHTMLView.mm:
291         (-[WebHTMLView _selectionChanged]): Tweaked code a bit.
292         (-[WebHTMLView markedRange]): Simplified logic, since markedTextNSRange works when there's
293         no composition range.
294         (-[WebHTMLView hasMarkedText]): Call directly to Editor instead of bridge.
295         (-[WebHTMLView unmarkText]): Call new confirmComposition to make it clear that this is
296         confirming text, not just unmarking it to discard it.
297         (extractUnderlines): Added. Converts directly from an NSAttributedString to the
298         CompositionUnderline vector that's used by WebCore.
299         (-[WebHTMLView setMarkedText:selectedRange:]): Changed to use the new setComposition.
300         (-[WebHTMLView insertText:]): Changed to use confirmComposition when appropriate, instead
301         of relying on special behavior of Editor::insertText.
302         (-[WebHTMLView _updateSelectionForInputManager]): Rewrote to use getCompositionSelection
303         and confirmCompositionWithoutDisturbingSelection.
304
305         * WebCoreSupport/WebEditorClient.h:
306         * WebCoreSupport/WebEditorClient.mm:
307         Removed obsolete markedTextAbandoned function.
308  
309 2007-09-12  David Kilzer  <ddkilzer@apple.com>
310
311         Rubber-stamped by Darin and reviewed by Adam.
312
313         Removed import of unused icon database headers.
314
315         * WebCoreSupport/WebFrameBridge.mm:
316
317 2007-09-11  Timothy Hatcher  <timothy@apple.com>
318
319         Reviewed by Darin.
320
321         Remove the unused class_getMethodImplementation function.
322
323         * Misc/WebNSObjectExtras.h:
324
325 2007-09-11  Geoffrey Garen  <ggaren@apple.com>
326
327         Reviewed by Oliver Hunt.
328         
329         Fixed CFNetwork version check so it actually works.
330
331         * Misc/WebKitVersionChecks.h:
332         * WebView/WebView.mm:
333         (+[WebView _setCacheModel:]): Don't use NSVersionOfLinkTimeLibrary because
334         we don't link against CFNetwork directly, so it returns -1. Also, use
335         the proper hex encoding instead of decimal numbers.
336
337 2007-09-11  Darin Adler  <darin@apple.com>
338
339         - redo fix for <rdar://problem/5472899> REGRESSION (TOT): Crash in FrameLoadDelegate loading stationery
340
341         * WebView/WebView.mm:
342         (getMethod): Added.
343         (-[WebView _cacheResourceLoadDelegateImplementations]): Use getMethod.
344         (-[WebView _cacheFrameLoadDelegateImplementations]): Ditto.
345
346 2007-09-11  Darin Adler  <darin@apple.com>
347
348         Rubber-stamped by Dave Harrison.
349
350         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
351         Removed wkCreateURLPasteboardFlavorTypeName and wkCreateURLNPasteboardFlavorTypeName.
352
353 2007-09-11  Darin Adler  <darin@apple.com>
354
355         Reviewed by Mark Rowe.
356
357         - fix <rdar://problem/5472899> REGRESSION (TOT): Crash in FrameLoadDelegate loading stationery
358
359         * Misc/WebNSObjectExtras.h:
360         (class_getMethodImplementation): Added.
361         (method_setImplementation): Added.
362
363         * WebView/WebHTMLView.mm: (+[WebHTMLViewPrivate initialize]):
364         * Carbon/HIViewAdapter.m: (+[HIViewAdapter bindHIViewToNSView:nsView:]):
365         Remove old-ObjC code path, since WebNSObjectExtras.h now implements everything we need.
366
367         * WebView/WebView.mm:
368         (-[WebView _cacheResourceLoadDelegateImplementations]): Don't bother doing a separate
369         respondsToSelector call, since class_getMethodImplementation will return 0 for selectors
370         that we don't respond to. The bug fix is to actually set the cached pointer to 0.
371         Also get rid of the unnecessary use of a macro; instead use the functions from
372         WebNSObjectExtras.h on Tiger and the appropriate function directly on Leopard.
373         (-[WebView _cacheFrameLoadDelegateImplementations]): Ditto.
374
375 2007-09-11  Darin Adler  <darin@apple.com>
376
377         Reviewed by Sam, Ollie.
378
379         * WebView/WebView.mm: (+[WebView _setCacheModel:]): A slightly cleaner 64-bit
380         fix for the NSURLCache capacity code in this file.
381
382 2007-09-11  Darin Adler  <darin@apple.com>
383
384         Rubber-stamped by Mark Rowe.
385
386         * Misc/WebNSPasteboardExtras.mm: Fix incorrect strings in my last check-in.
387         The strings I checked in were wrong and were breaking layout tests too.
388         These new ones match what WebKitSystemInterface was returning.
389
390 2007-09-10  Geoffrey Garen  <ggaren@apple.com>
391
392         Fixed 64-bit build (I think).
393
394         * WebView/WebView.mm:
395         (max): Added. In 64-bit land, -diskCapacity magically starts returning
396         unsigned long instead of unsigned, so we define a custom max() that's
397         willing to compare unsigned to unsigned long.
398
399 2007-09-10  Darin Adler  <darin@apple.com>
400
401         Reviewed by Tim Hatcher.
402
403         - <rdar://problem/5471082> Removing WebURLPboardType from headers broke SPI-using applications
404
405         Rolled out my fix for bug 4582212 and fixed it in a much simpler way.
406
407         * Misc/WebNSPasteboardExtras.h:
408         * Misc/WebNSPasteboardExtras.mm:
409         * WebCoreSupport/WebPasteboardHelper.mm:
410         * WebKit.exp:
411         * WebView/WebHTMLView.mm:
412         * WebView/WebView.mm:
413         Rolled out the new PasteboardType functions and changed the PboardType globals to be initialized
414         with constant values.
415
416 2007-09-10  Timothy Hatcher  <timothy@apple.com>
417
418         Reviewed by Darin.
419
420         Always animate when calling _scrollTo.
421
422         * WebView/WebFrameView.mm:
423         (-[WebFrameView _scrollVerticallyBy:]):
424         (-[WebFrameView _scrollHorizontallyBy:]):
425
426 2007-09-08  Brady Eidson  <beidson@apple.com>
427
428         Reviewed by Darin
429
430         <rdar://problem/5434431> - Asynchronous Icon Database
431
432         WebKit side of things
433         Mainly, there are Notifications WebKit has to listen for now that tell it when to either call back into WebCore
434         for some purpose or to send the webView:didReceiveIcon: delegate call
435
436         Many smaller tweaks as well.
437
438         * Misc/WebIconDatabase.h:
439         * Misc/WebIconDatabase.mm:
440         (defaultClient):
441         (-[WebIconDatabase init]):
442         (+[WebIconDatabase delayDatabaseCleanup]): Accessor so clients can prevent the thread from cleaning up the database
443           before they've done all their necessary retaining of icons.
444         (+[WebIconDatabase allowDatabaseCleanup]):
445         (-[WebIconDatabase removeAllIcons]):
446         (-[WebIconDatabase _isEnabled]):
447         (-[WebIconDatabase _sendNotificationForURL:]):
448         (-[WebIconDatabase _sendDidRemoveAllIconsNotification]):
449         (-[WebIconDatabase _databaseDirectory]):
450
451         (-[ThreadEnabler threadEnablingSelector:]): Quick and dirty class to enabled Cocoa multithreading
452         (+[ThreadEnabler enableThreading]):
453         (importToWebCoreFormat):
454         * Misc/WebIconDatabaseInternal.h: Expose the internal methods of WebIconDatabase that are required by WebIconDatabaseClient
455
456         * Misc/WebNSNotificationCenterExtras.h: Added. - Great utility class whose design was borrowed from Colloquy
457           that allows the posting of a Cocoa notification on the main thread from *any* thread
458         * Misc/WebNSNotificationCenterExtras.m: Added.
459         (-[NSNotificationCenter postNotificationOnMainThreadWithName:object:]):
460         (-[NSNotificationCenter postNotificationOnMainThreadWithName:object:userInfo:]):
461         (-[NSNotificationCenter postNotificationOnMainThreadWithName:object:userInfo:waitUntilDone:]):
462         (+[NSNotificationCenter _postNotificationName:]):
463
464         * WebCoreSupport/WebFrameLoaderClient.h:
465         * WebCoreSupport/WebFrameLoaderClient.mm:
466         (WebFrameLoaderClient::dispatchDidReceiveIcon): Send the webView:didReceiveIcon: delegate call
467         (WebFrameLoaderClient::registerForIconNotification):
468
469         * WebCoreSupport/WebIconDatabaseClient.h: Added.
470         * WebCoreSupport/WebIconDatabaseClient.mm: Added.
471         (WebIconDatabaseClient::performImport):  Perform the Safari 2 icon import
472         (WebIconDatabaseClient::dispatchDidRemoveAllIcons): Send the NSNotification
473         (WebIconDatabaseClient::dispatchDidAddIconForPageURL): Ditto
474
475         * WebView/WebView.mm:
476         (-[WebView _receivedIconChangedNotification:]): Check and see if this notification is for this WebView's current URL by
477           calling back into the IconDatabase
478         (-[WebView _registerForIconNotification:]): Support for WebIconDatabaseClient
479         (-[WebView _dispatchDidReceiveIconFromWebFrame:]): Dispatch this delegate call as well as unregister for the notification
480         * WebView/WebViewInternal.h:
481
482         * WebKit.xcodeproj/project.pbxproj:
483
484 2007-09-07  Geoffrey Garen  <ggaren@apple.com>
485
486         Suggested by Maciej Stachowiak.
487         
488         Added wKiosk Browser to the browser list. Pretty sweet app.
489
490         * WebView/WebPreferences.m:
491         (cacheModelForMainBundle):
492
493 2007-09-07  Geoffrey Garen  <ggaren@apple.com>
494
495         Build fix.
496
497         * WebView/WebView.mm:
498         (+[WebView _setCacheModel:]):
499
500 2007-09-05  Geoffrey Garen  <ggaren@apple.com>
501
502         Reviewed by Darin Adler, Maciej Stachowiak, Mark Rowe, Tim Hatcher.
503         
504         Fixed <rdar://problem/5326009> Make non-browser WebKit clients have no 
505         memory cache, or a very tiny one
506         
507         High level explanation:
508             - Added SPI for specifying a cache model on a per-WebView basis. 
509             (Hopefully, this will become API soon.) We balance competing
510             cache models simply by using the largest one that pertains at a
511             given time.
512
513             - Added heuristic for guessing a default cache model in WebViews
514             that don't specify one:
515                 1) Default to DocumentViewer for apps linked on or after this
516                 WebKit. Default to DocumentBrowser otherwise.
517
518                 2) Assign specific defaults to well-known clients based on 
519                 bundle ID.
520
521                 3) Grow the default to DocumentBrowser if a navigation takes 
522                 place.
523
524             - As a part of the DocumentBrowser & PrimaryWebBrowser settings:
525                 1) Make the Foundation disk cache much much bigger than the 
526                 default 20MB, if space allows. (This is a hedge against a small 
527                 WebCore cache in DocumentBrowser mode, but also an all-around 
528                 win for page load speed.)
529
530                 2) Scaled the Foundation memory cache's capacity with physical
531                 RAM, just like we do with other caches. This is a small win on
532                 low memory systems.
533
534         * Misc/WebKitSystemBits.h:
535         * Misc/WebKitSystemBits.m:
536         (WebMemorySize): Renamed from "WebSystemMainMemory."
537         (WebHomeDirectoryFreeSize): Added function to measure the free space
538         on the user's home directory. We use this as a factor in determining 
539         the disk cache's cacpacity.
540
541         * Misc/WebKitVersionChecks.h: Support for linked on or after check.
542         
543         * WebCoreSupport/WebFrameLoaderClient.h:
544         * WebCoreSupport/WebFrameLoaderClient.mm:
545         (WebFrameLoaderClient::didPerformFirstNavigation): Implementation of
546         heuristic rule #3.
547
548         * WebView/WebPreferenceKeysPrivate.h:
549         * WebView/WebPreferences.m:
550         (cacheModelForMainBundle): Implementation of heuristic rule #2.
551         (-[NSMutableDictionary _web_checkLastReferenceForIdentifier:]): Added
552         notification for when a WebPreferences instance becomes inert. We use
553         this to shrink the cache model back down if possible. Moved this code
554         into a WebPreferences method, since it's not really a feature of 
555         NSDictionary.
556
557         * WebView/WebPreferencesPrivate.h: SPI declarations.
558         
559         * WebView/WebView.mm: Replaced manual notification posts with calls to
560         the _postPreferencesChangesNotification convenience method.
561
562         (-[WebView _preferencesChangedNotification:]): Merged dispersed code
563         for updating preferences-related settings into this one function. This
564         was needed for an earlier version of the patch, even though the 
565         current version could probably do without it.
566
567         (+[WebView _preferencesChangedNotification:]): Added a class-level 
568         listener for WebPreferences changes. This listener takes care of 
569         modifying the class-level global cache model setting if necessary.
570
571         (+[WebPreferences standardPreferences]): Removed call to 
572         _postPreferencesChangesNotification because the notification already 
573         posts when you create the WebPreferences object. (I noticed this 
574         inefficiency because my new _preferencesChangedNotification: method was
575         called excessively at startup.)
576
577         Also Added explicit tracking of WebPreferences clients, so we know when
578         a WebPreferences instance becomes inert:
579         
580         (-[WebPreferences didRemoveFromWebView]):
581         (-[WebPreferences willAddToWebView]):
582
583         (+[WebView _setCacheModel:]): Translates a cache model into actual 
584         settings in various APIs. Caches that have unbounded value grow 
585         linearly relative to available space. Caches that have bounded value 
586         grow inverse-squaredly relative to available space.
587
588 >>>>>>> .r25438
589 2007-09-05  Timothy Hatcher  <timothy@apple.com>
590
591         Reviewed by Darin.
592
593         <rdar://problem/5443883> Uncaught Objective-C exceptions in WebKit clients lead to hard-to-diagnose crashes
594
595         Changed all the direct delegate calls to use helper functions that have direct access to
596         WebView's delegate objects. These helper methods will catch any ObjC exceptions and call
597         ReportDiscardedDelegateException to log the discarded exception. WebView's that have
598         catchesDelegateExceptions set to NO will not pay the cost of a @try/@catch. The delegate
599         forwarders also have the same behavior.
600
601         * Misc/WebKitLogging.h:
602         * Misc/WebKitLogging.m:
603         (ReportDiscardedDelegateException):
604         * Plugins/WebBaseNetscapePluginView.mm:
605         (-[WebBaseNetscapePluginView loadPluginRequest:]):
606         * Plugins/WebNullPluginView.mm:
607         (-[WebNullPluginView viewDidMoveToWindow]):
608         * WebCoreSupport/WebChromeClient.mm:
609         (WebChromeClient::createWindow):
610         (WebChromeClient::createModalDialog):
611         (WebChromeClient::runModal):
612         (WebChromeClient::toolbarsVisible):
613         (WebChromeClient::statusbarVisible):
614         (WebChromeClient::addMessageToConsole):
615         (WebChromeClient::canRunBeforeUnloadConfirmPanel):
616         (WebChromeClient::runBeforeUnloadConfirmPanel):
617         (WebChromeClient::runJavaScriptAlert):
618         (WebChromeClient::runJavaScriptConfirm):
619         (WebChromeClient::runJavaScriptPrompt):
620         (WebChromeClient::shouldInterruptJavaScript):
621         (WebChromeClient::setStatusbarText):
622         (WebChromeClient::print):
623         * WebCoreSupport/WebContextMenuClient.mm:
624         (WebContextMenuClient::getCustomMenuFromDefaultItems):
625         (WebContextMenuClient::contextMenuItemSelected):
626         * WebCoreSupport/WebDragClient.mm:
627         (WebDragClient::startDrag):
628         * WebCoreSupport/WebEditorClient.mm:
629         (WebEditorClient::textFieldDidBeginEditing):
630         (WebEditorClient::textFieldDidEndEditing):
631         (WebEditorClient::textDidChangeInTextField):
632         (WebEditorClient::doTextFieldCommandFromEvent):
633         (WebEditorClient::textWillBeDeletedInTextField):
634         (WebEditorClient::textDidChangeInTextArea):
635         * WebCoreSupport/WebFrameBridge.mm:
636         (-[WebFrameBridge viewForPluginWithFrame:URL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
637         * WebCoreSupport/WebFrameLoaderClient.mm:
638         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
639         (WebFrameLoaderClient::assignIdentifierToInitialRequest):
640         (WebFrameLoaderClient::dispatchWillSendRequest):
641         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
642         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
643         (WebFrameLoaderClient::dispatchDidReceiveResponse):
644         (WebFrameLoaderClient::willCacheResponse):
645         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
646         (WebFrameLoaderClient::dispatchDidFinishLoading):
647         (WebFrameLoaderClient::dispatchDidFailLoading):
648         (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
649         (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
650         (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
651         (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
652         (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
653         (WebFrameLoaderClient::dispatchWillClose):
654         (WebFrameLoaderClient::dispatchDidReceiveIcon):
655         (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
656         (WebFrameLoaderClient::dispatchDidReceiveTitle):
657         (WebFrameLoaderClient::dispatchDidCommitLoad):
658         (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
659         (WebFrameLoaderClient::dispatchDidFailLoad):
660         (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
661         (WebFrameLoaderClient::dispatchDidFinishLoad):
662         (WebFrameLoaderClient::dispatchDidFirstLayout):
663         (WebFrameLoaderClient::dispatchCreatePage):
664         (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
665         (WebFrameLoaderClient::dispatchWillSubmitForm):
666         (WebFrameLoaderClient::dispatchDidLoadMainResource):
667         * WebView/WebHTMLView.mm:
668         (-[WebHTMLView callDelegateDoCommandBySelectorIfNeeded:]):
669         (-[WebHTMLView validateUserInterfaceItem:]):
670         * WebView/WebPDFView.mm:
671         (-[WebPDFView validateUserInterfaceItem:]):
672         (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
673         * WebView/WebView.mm:
674         (-[WebView _openNewWindowWithRequest:]):
675         (-[WebView _menuForElement:defaultItems:]):
676         (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
677         (-[WebView _cacheResourceLoadDelegateImplementations]):
678         (-[WebView _cacheFrameLoadDelegateImplementations]):
679         (-[WebView _policyDelegateForwarder]):
680         (-[WebView _UIDelegateForwarder]):
681         (-[WebView _editingDelegateForwarder]):
682         (-[WebView _scriptDebugDelegateForwarder]):
683         (-[WebView _setCatchesDelegateExceptions:]):
684         (-[WebView _catchesDelegateExceptions]):
685         (-[_WebSafeForwarder initWithTarget:defaultTarget:]):
686         (-[_WebSafeForwarder forwardInvocation:]):
687         (-[_WebSafeForwarder methodSignatureForSelector:]):
688         (-[WebView _commonInitializationWithFrameName:groupName:]):
689         (-[WebView validateUserInterfaceItem:]):
690         (-[WebView _headerHeight]):
691         (-[WebView _footerHeight]):
692         (-[WebView _drawHeaderInRect:]):
693         (-[WebView _drawFooterInRect:]):
694         (-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
695         (CallDelegate):
696         (CallDelegateReturningFloat):
697         (CallDelegateReturningBoolean):
698         (CallUIDelegate):
699         (CallUIDelegateReturningFloat):
700         (CallUIDelegateReturningBoolean):
701         (CallFrameLoadDelegate):
702         (CallResourceLoadDelegate):
703         (CallFormDelegate):
704         (CallFormDelegateReturningBoolean):
705         * WebView/WebViewInternal.h:
706         * WebView/WebViewPrivate.h:
707
708 >>>>>>> .r25411
709 2007-09-04  Timothy Hatcher  <timothy@apple.com>
710
711         Reviewed by Darin.
712
713         <rdar://problem/5452908> NIBs saved in the Pre-10.2 format while Safari 3 installed do not work without Safari 3
714
715         This happened because we encoded a new field that the old WebKit does not know how to read.
716         And NSCoder throws an exception if initWithCoder finishes while there is still unread data in the archive.
717
718         The WebViewVersion is now 4 to distinguish that we do not encode/decode allowsUndo.
719
720         * WebView/WebView.mm:
721         (-[WebView initWithCoder:]): Only try to read allowsUndo if the version is 3.
722         (-[WebView encodeWithCoder:]): No longer encode allowsUndo.
723
724 2007-09-04  David Hyatt  <hyatt@apple.com>
725
726         Fix for <rdar://problem/5271213>, resizing iChat window is slower than in
727         Tiger.  This patch implements a fast scaling mode that can be used by
728         WebViews, e.g., during window resizing.
729
730         Reviewed by John Sullivan
731
732         * WebView/WebView.mm:
733         (-[WebView _setUseFastImageScalingMode:]):
734         (-[WebView _inFastImageScalingMode]):
735         * WebView/WebViewPrivate.h:
736
737 2007-09-04  Darin Adler  <darin@apple.com>
738
739         Reviewed by Hyatt.
740
741         * WebView/WebView.mm:
742         (-[WebView _loadBackForwardListFromOtherView:]): Added missing null check.
743         (-[WebView _setInitiatedDrag:]): Ditto.
744         (-[WebView _clearUndoRedoOperations]): Ditto.
745         (-[WebView encodeWithCoder:]): Ditto.
746         (-[WebView backForwardList]): Ditto.
747         (-[WebView setMaintainsBackForwardList:]): Ditto.
748
749 2007-09-04  Tristan O'Tierney  <tristan@apple.com>
750
751         Reviewed by John Sullivan.
752         
753         <rdar://problem/5454935> Can't reply to this message in Mail -- -[DOMRange webArchive] is throwing an exception
754
755         * WebView/WebArchiver.mm:
756         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
757         Guard the creation of WebResource by ensuring that the passed in
758         responseURL is never nil.
759
760 2007-09-03  Mark Rowe  <mrowe@apple.com>
761
762         Reviewed by Tim Hatcher.
763
764         <rdar://problem/5452164> Production build with in symbols directory has no debug info
765
766         Enable debug symbol generation on all build configurations.  Production builds are stripped
767         of symbols by Xcode during deployment post-processing.
768
769         * Configurations/Base.xcconfig:
770         * WebKit.xcodeproj/project.pbxproj:
771
772 2007-09-02  Brady Eidson  <beidson@apple.com>
773
774         Reviewed by John Sullivan and Mark Rowe
775
776         Groundwork for support for monitoring IconDatabase in-memory statistics
777  
778         * Misc/WebCoreStatistics.h:
779         * Misc/WebCoreStatistics.mm:
780         (+[WebCoreStatistics iconPageURLMappingCount]):
781         (+[WebCoreStatistics iconRetainedPageURLCount]):
782         (+[WebCoreStatistics iconRecordCount]):
783         (+[WebCoreStatistics iconsWithDataCount]):
784
785 2007-09-01  Oliver Hunt  <oliver@apple.com>
786
787         Reviewed by Sam.
788
789         <rdar://problem/5344848> IME is incorrectly used for key events when on non-editable regions
790
791         EditorClient::setInputMethodState stub
792
793         * WebCoreSupport/WebEditorClient.h:
794         * WebCoreSupport/WebEditorClient.mm:
795         (WebEditorClient::setInputMethodState):
796
797 2007-08-30  Maciej Stachowiak  <mjs@apple.com>
798
799         Reviewed by Tim.
800         
801         <rdar://problem/5439953> REGRESSION: Cannot load feeds in widgets in Dashcode due to change in WebKit delegate methods
802
803         * WebView/WebFrame.mm:
804         (-[WebFrame _attachScriptDebugger]): Don't create the debugger object if the frame has not yet
805         created its script interpreter, to avoid premature dispatch of windowScriptObjectAvailable/Cleared
806         delegate methods. The script debugger will be created in any case when the window object does appear.
807
808 2007-08-29  Darin Adler  <darin@apple.com>
809
810         Reviewed by Tim Hatcher.
811
812         - fix <rdar://problem/4582212> WebKit inappropriately adds +initialize to
813           NSPasteboard via a category, prevents AppKit initialize
814           http://bugs.webkit.org/show_bug.cgi?id=9417
815
816         * Misc/WebNSPasteboardExtras.h: Got rid of the global data objects and replaced
817         them with global functions.
818
819         * Misc/WebNSPasteboardExtras.mm:
820         (initializePasteboardTypes): Changed the initialize method to be this function.
821         (WebURLPasteboardType): Added, calls the initialize function and then returns
822         the value of the global.
823         (WebURLNamePasteboardType): Ditto.
824         (+[NSPasteboard _web_writableTypesForURL]): Changed to call the new function instead
825         of getting at the global directly.
826         (+[NSPasteboard _web_dragTypesForURL]): Ditto.
827         (-[NSPasteboard _web_writeURL:andTitle:types:]): Ditto.
828         * WebCoreSupport/WebPasteboardHelper.mm:
829         (WebPasteboardHelper::urlFromPasteboard): Ditto.
830         * WebView/WebHTMLView.mm:
831         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto.
832
833         * WebView/WebView.mm:
834         (+[WebView initialize]): Added a call to one of the functions to take advantage
835         of the side effect that initializes the globals; this is to help out old versions
836         of Safari.
837         (+[WebView URLTitleFromPasteboard:]): Changed to call the new function instead
838         of getting at the global directly.
839
840         * WebKit.exp: Add exports of the new functions.
841
842 2007-08-29  Adele Peterson  <adele@apple.com>
843
844         Reviewed by Darin.
845
846         Fix for http://bugs.webkit.org/show_bug.cgi?id=15098
847         <rdar://problem/5440319> REGRESSION (9A530-9A534): Double scroll bar on pdfs
848
849         * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::makeDocumentView):
850          Don't suppress scrollbars before the view creation if we're making the view for a non-html view
851
852         * WebView/WebFrameViewInternal.h: Make _scrollView return a WebDynamicScrollBarsView since so many clients were relying on it being that type anyway.
853         * WebView/WebFrameView.mm:
854         (-[WebFrameView _setDocumentView:]):
855         (-[WebFrameView _scrollView]):
856         (-[WebFrameView setAllowsScrolling:]):
857         (-[WebFrameView allowsScrolling]):
858         * WebView/WebView.mm:
859         (-[WebView setAlwaysShowVerticalScroller:]):
860         (-[WebView alwaysShowVerticalScroller]):
861         (-[WebView setAlwaysShowHorizontalScroller:]):
862         (-[WebView alwaysShowHorizontalScroller]):
863
864 2007-08-29  David Hyatt  <hyatt@apple.com>
865
866         The method that was swizzled to fix 5441281 does not exist on Tiger.
867         Tiger has to do a double swizzle instead (of resetCursorRects and NSCursor's
868         set method) in order to roughly achieve the same effect.
869
870         Reviewed by darin
871
872         * WebView/WebHTMLView.mm:
873         (resetCursorRects):
874         (setCursor):
875         (+[WebHTMLViewPrivate initialize]):
876
877 2007-08-29  Anders Carlsson  <andersca@apple.com>
878
879         Fix 64-bit build.
880         
881         * WebCoreSupport/WebFrameBridge.mm:
882
883 2007-08-29  David Hyatt  <hyatt@apple.com>
884
885         Fix for 5441281, remove our dependency on cursor rects and drag margins
886         in AppKit for a large performance boost on the PLT and iBench.
887
888         Reviewed by darin
889
890         * Plugins/WebBaseNetscapePluginView.h:
891         * Plugins/WebBaseNetscapePluginView.mm:
892         (-[WebBaseNetscapePluginView sendNullEvent]):
893         (-[WebBaseNetscapePluginView mouseEntered:]):
894         (-[WebBaseNetscapePluginView mouseExited:]):
895         (-[WebBaseNetscapePluginView stop]):
896         Clean up cursor setting from Netscape plugins.  Don't unconditionally mutate
897         the cursor when a plugin stops.
898
899         * WebView/WebFrameView.mm:
900         (-[WebFrameView _setDocumentView:]):
901         Suppress the resetting of drag margins while the new document view is being
902         added to the view hierarchy.
903
904         * WebView/WebHTMLView.mm:
905         (-[NSWindow _web_borderView]):
906         Expose the border view of the NSWindow so that it can be hit tested.
907
908         (setCursorForMouseLocation):
909         Apply a method swizzle to override the private AppKit method, _setCursorForMouseLocation.
910         We have to do this to suppress the cursor rect invalidation handling from resetting
911         the cursor for no reason.
912
913         The swizzle will do a hit test and allow the cursor set to occur if the mouse ends up
914         being over a plugin or over a view other than a WebHTMLView.
915
916         (+[WebHTMLViewPrivate initialize]):
917         The swizzle for setCursorForMouseLocation is set up here.
918
919         (-[WebHTMLView _frameOrBoundsChanged]):
920         Add a 100ms delay to the fake mouse moved event that fires when the view moves
921         under the mouse (without the mouse moving).  This happens on iBench when the
922         pages get scrolled.  By adding a delay we ensure that even with the mouse inside
923         the window, we don't experience cursor thrashing when pages are updating and
924         scrolling rapidly.
925
926 2007-08-28  Anders Carlsson  <andersca@apple.com>
927
928         Reviewed by Darin.
929
930         <rdar://problem/5424866> Bottom portion of any Web Clip widget appears transparent
931         
932         * WebCoreSupport/WebFrameBridge.mm:
933         Use the enum from FrameLoaderTypes.h.
934         
935         * WebCoreSupport/WebFrameLoaderClient.mm:
936         (WebFrameLoaderClient::objectContentType):
937         Return ObjectContentNetscapePlugin and ObjectContentOtherPlugin depending on the plug-in type.
938
939 2007-08-28  Mark Rowe  <mrowe@apple.com>
940
941         Reviewed by Maciej Stachowiak.
942
943         Fix fallout from the fix for <rdar://problem/5437983> (Loading history containing 100,000 entries adds 20s to Safari's startup)
944         in r25275.  The array of entries for each day was being maintained in the reverse of the order that was expected.
945
946         * History/WebHistory.mm:
947         (-[WebHistoryPrivate insertItem:forDateKey:]): Maintain the array of entries in descending order.
948
949 2007-08-28  Mark Rowe  <mrowe@apple.com>
950
951         Fix the buildbot build.
952
953         * History/WebHistory.mm:
954         (timeIntervalForBeginningOfDay):  Explicitly cast to silence compiler warning.
955
956 2007-08-28  Mark Rowe  <mrowe@apple.com>
957
958         Reviewed by Darin Adler.
959
960         <rdar://problem/5437983> Loading history containing 100,000 entries adds 20s to Safari's startup
961
962         Move WebHistoryItemPrivate from using a sorted array of NSCalendarDate's that map to a sorted array of arrays
963         of WebHistoryItem's over to using a HashMap of NSTimeIntervals and arrays of WebHistoryItems.  NSTimeInterval
964         uses less memory and is substantially cheaper during comparisons than NSCalendarDate.  The use of the HashMap
965         avoids the needs to repeatedly search within an array to locate the array that corresponds to the given days
966         history items.
967
968         The result of these changes is that loading 100,000 history items drops from around 25s to 1.6s.  Loading
969         100 items drops from 0.003s to 0.002s.
970
971         * History/WebHistory.mm:
972         (-[WebHistoryPrivate init]):
973         (-[WebHistoryPrivate dealloc]):
974         (timeIntervalForBeginningOfDay): Return the NSTimeInterval representing the beginning of the specified day.
975         (-[WebHistoryPrivate findKey:forDay:]):
976         (-[WebHistoryPrivate insertItem:forDateKey:]): Perform a binary search within the day's history items rather than a linear search.
977         (-[WebHistoryPrivate _removeItemFromDateCaches:]):
978         (-[WebHistoryPrivate _addItemToDateCaches:]):
979         (-[WebHistoryPrivate removeAllItems]):
980         (-[WebHistoryPrivate orderedLastVisitedDays]): Generate and cache the sorted NSArray of NSCalendarDate's exposed in the API.
981         This cache is invalidated by _removeItemFromDateCaches: and _addItemToDateCaches: when needed.
982         (-[WebHistoryPrivate orderedItemsLastVisitedOnDay:]):
983         (-[WebHistoryPrivate arrayRepresentation]):
984         (-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]): Use an autorelease pool to keep the
985         number of live autoreleased objects generated to a reasonable level.
986         * History/WebHistoryItem.mm:
987         (-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]):
988         (-[WebHistoryItem initFromDictionaryRepresentation:]): Use the new HistoryItem constructor that accepts the alternate title
989         rather than setting it after construction.  This prevents a modification notification from being sent for each WebHistoryItem that is loaded.
990         * History/WebHistoryItemInternal.h:
991         * History/WebHistoryPrivate.h:
992         * Misc/WebNSCalendarDateExtras.h: Removed as _webkit_compareDay: is no longer used.
993         * Misc/WebNSCalendarDateExtras.m: Removed.
994         * WebKit.xcodeproj/project.pbxproj:
995
996 2007-08-28  Anders Carlsson  <andersca@apple.com>
997
998         Reviewed by Darin.
999
1000         <rdar://problem/5298296> XMLHttpRequest readyState 3 & responseText buffer issues
1001         
1002         Expose WKSetNSURLRequestShouldContentSniff to WebCore.
1003         
1004         * WebCoreSupport/WebSystemInterface.m:
1005         (InitWebCoreSystemInterface):
1006
1007 2007-08-24  Kevin McCullough  <kmccullough@apple.com>
1008
1009         Reviewed by Darin.
1010
1011         <rdar://problem/5437038> 1 credential object leaked for each call to credentialWithUser:password:persistence
1012         - Use initWithUser instead of credentialWithUser because credentialWithUser leaks.
1013
1014         * Panels/WebAuthenticationPanel.m:
1015         (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
1016         (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
1017
1018 2007-08-24  Adele Peterson  <adele@apple.com>
1019
1020         Fix by Darin, reviewed by Adele.
1021
1022         Fix for <rdar://problem/5433422> Upon quitting, WebKit loads the WebPlugin shared database and immediately closes it
1023
1024         * Plugins/WebPluginDatabase.h: Added closeSharedDatabase, which won't create a new database if we're just trying to close it.
1025         * Plugins/WebPluginDatabase.m: (+[WebPluginDatabase closeSharedDatabase]): Added.
1026         * WebView/WebView.mm:
1027         (-[WebView _close]): Call closeSharedDatabase.
1028         (+[WebView _applicationWillTerminate]): Call closeSharedDatabase.
1029
1030 2007-08-24  Timothy Hatcher  <timothy@apple.com>
1031
1032         Reviewed by John Sullivan.
1033
1034         <rdar://problem/5410937> HIWebView in SimpleCarbonWeb doesn't seem to be getting adequate invalidation when window is resized
1035
1036         This is a more localized fix for yesterday's change. Now explicitly call _web_layoutIfNeededRecursive inside the
1037         HIWebView Draw() function. Adds a FIXME to explain that we need to do layout before Carbon has decided what regions to draw.
1038         Doing layout in Draw() will potentially cause drawing to happen in two passes, but this has always been a problem in Carbon.
1039
1040         * Carbon/HIWebView.m:
1041         (Draw): Call _web_layoutIfNeededRecursive on the main WebHTMLView.
1042         (SetFocusPart): Fix to work in ObjC++ (now that HIWebView.m is treated as a ObjC++ file.)
1043         * WebView/WebView.mm: Removes the 4 displayIfNeeded methods from yesterday's change.
1044         * WebKit.xcodeproj/project.pbxproj: Force the file type of HIWebView.m to ObjC++ so WebHTMLViewInternal.h can be included.
1045
1046 2007-08-23  Timothy Hatcher  <timothy@apple.com>
1047
1048         Reviewed by Dave Hyatt.
1049
1050         <rdar://problem/5410937> HIWebView in SimpleCarbonWeb doesn't seem to be getting adequate invalidation when window is resized
1051
1052         The Carbon HIWebView was relying on layout happening when displayIfNeededInRect: was called on the WebView.
1053         This would happen on Tiger because _recursiveDisplayRectIfNeededIgnoringOpacity: would always do a layout if needed.
1054         Doing a layout in _recursiveDisplayRectIfNeededIgnoringOpacity was removed in Leopard in favor of viewWillDraw, and
1055         the fact that adding new dirty rects inside _recursiveDisplayRectIfNeededIgnoringOpacity on Leopard will not
1056         cause a drawRect in the same display loop.
1057
1058         So any client on Leopard calling displayIfNeeded* on the WebView would get a layout and any new dirty rects. So
1059         _web_layoutIfNeededRecursive needs to be called on the main frame's WebHTMLView to make sure we layout and
1060         display anything that is really needed.
1061
1062         * WebView/WebHTMLView.mm:
1063         (-[WebHTMLView _layoutIfNeeded]):
1064         (-[WebHTMLView _web_layoutIfNeededRecursive]):
1065         * WebView/WebHTMLViewInternal.h:
1066         * WebView/WebView.mm:
1067         (-[WebView displayIfNeeded]): Call _web_layoutIfNeededRecursive on the main WebHTMLView.
1068         (-[WebView displayIfNeededIgnoringOpacity]): Ditto.
1069         (-[WebView displayIfNeededInRect:]): Ditto. 
1070         (-[WebView displayIfNeededInRectIgnoringOpacity:]): Ditto.
1071
1072 2007-08-22  Timothy Hatcher  <timothy@apple.com>
1073
1074         Rolling out r25102 for <rdar://problem/5410937> until
1075         <rdar://problem/5429920> is resolved.
1076
1077         * Carbon/CarbonUtils.m:
1078         (WebInitForCarbon):
1079         (PoolCleaner):
1080         * Carbon/CarbonWindowAdapter.h:
1081         * Carbon/CarbonWindowAdapter.m:
1082         * Carbon/CarbonWindowContentView.h:
1083         * Carbon/CarbonWindowContentView.m:
1084         * Carbon/CarbonWindowFrame.h:
1085         * Carbon/CarbonWindowFrame.m:
1086         * Carbon/HIViewAdapter.h:
1087         * Carbon/HIViewAdapter.m:
1088         * Carbon/HIWebView.h:
1089         * Carbon/HIWebView.m:
1090
1091 2007-08-20  John Sullivan  <sullivan@apple.com>
1092
1093         Reviewed by Adam Roben
1094         
1095         WebKit part of fix for: 
1096         <rdar://problem/5417777> WebKit focus ring color no longer matches system focus rings
1097
1098         * Misc/WebNSAttributedStringExtras.mm:
1099         now includes <WebCore/ColorMac.h> to account for moved declaration
1100         * WebView/WebFrame.mm:
1101         ditto
1102         
1103         * WebView/WebViewPrivate.h:
1104         * WebView/WebView.mm:
1105         (+[WebView _setUsesTestModeFocusRingColor:]):
1106         new SPI, calls through to new WebCore function. This is used by DumpRenderTree to make sure the
1107         focus ring color is always the same when performing layout tests, regardless of OS X version.
1108         (+[WebView _usesTestModeFocusRingColor]):
1109         new SPI, calls through to new WebCore function
1110
1111 2007-08-20  Antti Koivisto  <antti@apple.com>
1112
1113         Reviewed by John.
1114         
1115         Fix <rdar://problem/5378390>
1116         Crash at Range::startContainer() when creating multiple ToDos on the same line
1117         
1118         Null check range.
1119         
1120         No layout test, this only happens with ObjC API.
1121
1122         * WebView/WebHTMLView.mm:
1123         (-[WebHTMLView _expandSelectionToGranularity:]):
1124
1125 2007-08-20  Maciej Stachowiak  <mjs@apple.com>
1126
1127         Not reviewed, fix for crash on launch bug in last patch.
1128
1129         * WebView/WebHTMLView.mm:
1130         (-[WebHTMLView setDataSource:]): Remove an assertion, fix code to work right in the
1131         face of that condition.
1132
1133 2007-08-18  Maciej Stachowiak  <mjs@apple.com>
1134
1135         Reviewed by Darin.
1136         
1137         - fixed <rdar://problem/5198272> REGRESSION: PLT 1.5% slower due to r21367 (change to start frames with empty documents)
1138
1139         There were three main cuases of extra time due to creating the initial empty document:
1140         
1141         1) Creating an extra WebHTMLView and swapping it for a new one for each frame created.
1142         2) Parsing the minimal markup for the initial document's contents.
1143         3) Clearing the Window object an extra time and dispatching the corresponding delegate method.
1144         
1145         The WebKit part of the fixes addresses 1.
1146
1147         * WebCoreSupport/WebFrameLoaderClient.mm:
1148         (WebFrameLoaderClient::makeDocumentView): When switching from the initial
1149         empty document to the first real document, reuse the WebHTMLView.
1150         
1151         It might actually be a significant performance improvement to always
1152         reuse the WebHTMLView, but that is a much riskier change and not
1153         needed to fix the regression right now.
1154
1155 2007-08-17  Maciej Stachowiak  <mjs@apple.com>
1156
1157         Reviewed by Darin.
1158
1159         - WebKit part of fix to scrollbar suppression hack for Leopard
1160
1161         * WebView/WebDynamicScrollBarsView.m:
1162         (-[WebDynamicScrollBarsView reflectScrolledClipView:]): Don't call the superclass method
1163         when scrollbars are suppressed.
1164         (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]): Instead call it
1165         here, when unsuppressing.
1166
1167 2007-08-17  Darin Adler  <darin@apple.com>
1168
1169         Reviewed by Maciej.
1170
1171         - fix <rdar://problem/5414518> Use root URL as origin URL when quarantining downloads
1172
1173         * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::setOriginalURLForDownload):
1174         Extract only the scheme and host name and make the originating URL from that.
1175
1176         * WebKit/StringsNotToBeLocalized.txt: Updated for recent changes.
1177
1178 2007-08-17  Timothy Hatcher  <timothy@apple.com>
1179
1180         Reviewed by Darin.
1181
1182         <rdar://problem/5398301> Xcode threw mutation exception while enumerating subviews (GC only)
1183
1184         I was never able to reproduce this exception. But there can be cases where layout will
1185         trigger JavaScript or plugin code that can modify the WebView view hierarchy during a
1186         recursive enumeration of all the subviews.
1187
1188         This patch does two things:
1189         1) Adds a check in debug builds that will LOG when any view is added or removed during layout.
1190         Noting that added views will not recieve layout this round and might paint without first recieving layout.
1191
1192         2) Recursivly builds up an array of descendant WebHTMLViews before calling layout on them.
1193         This matches the behavior of makeObjectsPerformSelector: in the non-GC case (making a copy
1194         before enumerating.)
1195
1196         * WebView/WebHTMLView.mm:
1197         (-[WebHTMLView _web_setPrintingModeRecursive]): Use _web_addDescendantWebHTMLViewsToArray to build up an array
1198         of WebHTMLViews to enumerate.
1199         (-[WebHTMLView _web_clearPrintingModeRecursive]): Ditto.
1200         (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]): Ditto.
1201         (-[WebHTMLView _web_layoutIfNeededRecursive]): Ditto.
1202         (-[WebHTMLView _layoutIfNeeded]): Moved to WebHTMLViewFileInternal category.
1203         (-[WebHTMLView didAddSubview:]): LOG in debug builds.
1204         (-[WebHTMLView willRemoveSubview:]): Ditto.
1205         (-[NSView _web_addDescendantWebHTMLViewsToArray:]): Recursivly build an array of descendant WebHTMLViews.
1206         * WebView/WebHTMLViewInternal.h: Added a BOOL in WebHTMLViewPrivate to track subview changes (debug only.)
1207
1208 2007-08-17  Anders Carlsson  <andersca@apple.com>
1209
1210         Reviewed by Dave Hyatt.
1211
1212         <rdar://problem/5379040> 
1213         REGRESSION (Tiger-Leopard): ADOBE: Safari calls NPP_SetWindow with bad values sometimes
1214         
1215         Pass the right size when creating the views.
1216         
1217         * WebCoreSupport/WebFrameBridge.mm:
1218         (-[WebFrameBridge viewForPluginWithFrame:URL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
1219         * WebCoreSupport/WebFrameLoaderClient.h:
1220         * WebCoreSupport/WebFrameLoaderClient.mm:
1221         (WebFrameLoaderClient::createPlugin):
1222
1223 2007-08-13  Geoffrey Garen  <ggaren@apple.com>
1224
1225         Reviewed by Dave Hyatt.
1226         
1227         WebKit changes to support new cache eviction model in WebCore.
1228
1229         * WebView/WebPreferences.m:
1230         (+[WebPreferences initialize]): Modified to reflect new API in WebCore.
1231         * WebView/WebView.mm:
1232         (+[WebView _initializeCacheSizesIfNecessary]): Slightly increased cache
1233         size on low memory systems to avoid affecting the PLT for now.
1234
1235 2007-08-15  Timothy Hatcher  <timothy@apple.com>
1236
1237         Reviewed by Darin.
1238
1239         <rdar://problem/5410937> HIWebView in SimpleCarbonWeb doesn't seem to be getting adequate invalidation when window is resized
1240
1241         HIWebViewCreate now just returns a HIViewRef created with HICocoaViewCreate. This eliminates lots of old code and
1242         makes HIWebView a better citizen starting with Leopard. The old code paths are still needed for Tiger, so now
1243         most of the files in the WebKit/Carbon directory are #ifdef BUILDING_ON_TIGER.
1244
1245         The Tiger code is unchanged and dosen't exhibit the invalidation problem when the window resizes.
1246
1247         * Carbon/CarbonUtils.m:
1248         (WebInitForCarbon): #ifdef BUILDING_ON_TIGER portions of this code that is not needed on Leopard.
1249         * Carbon/CarbonWindowAdapter.h: #ifdef BUILDING_ON_TIGER
1250         * Carbon/CarbonWindowAdapter.m: Ditto.
1251         * Carbon/CarbonWindowContentView.h: Ditto.
1252         * Carbon/CarbonWindowContentView.m: Ditto.
1253         * Carbon/CarbonWindowFrame.h: Ditto.
1254         * Carbon/CarbonWindowFrame.m: Ditto.
1255         * Carbon/HIViewAdapter.h: Ditto.
1256         * Carbon/HIViewAdapter.m: Ditto.
1257         * Carbon/HIWebView.h: Consolidate two #ifdef __OBJC__ blocks into one.
1258         * Carbon/HIWebView.m: Implement Leopard specific HIWebViewCreate, HIWebViewCreateWithClass and HIWebViewGetWebView.
1259         (HIWebViewCreate): Call HIWebViewCreateWithClass passing [WebView class].
1260         (HIWebViewCreateWithClass): Call HICocoaViewCreate with an instance of the class passed in.
1261         (HIWebViewGetWebView): Call HICocoaViewGetView.
1262
1263 2007-08-14  Brady Eidson  <beidson@apple.com>
1264
1265         Reviewed by Darin, John, Maciej, Oliver, and Tim
1266
1267         <rdar://problem/5394708> - Crash on launch with corrupt icon database
1268
1269         Expose some new SPI to help recover from this case should it happen again
1270
1271         * Misc/WebIconDatabase.mm:
1272         (-[WebIconDatabase init]): Use the new _databaseDirectory to determine where to open the database on disk
1273         (+[WebIconDatabase _checkIntegrityBeforeOpening]): Tell the icon database to check integrity when it opens
1274         (-[WebIconDatabase _databaseDirectory]): Moved the database-directory-determining logic here as it's now used in two places
1275         * Misc/WebIconDatabasePrivate.h: Added _checkIntegrityBeforeOpening SPI for clients to give hints about when the
1276           integrity check should run
1277
1278 2007-08-12  Alexey Proskuryakov  <ap@webkit.org>
1279
1280         Reviewed by Darin.
1281
1282         http://bugs.webkit.org/show_bug.cgi?id=4648
1283         Shockwave unable to load GZip'd text resources when server sends Content-Length header
1284
1285         * Plugins/WebBaseNetscapePluginStream.mm:
1286         (-[WebBaseNetscapePluginStream startStreamWithResponse:]): Don't trust 
1287         -[NSURLResponse expectedContentLength] if Content-Encoding is not identity.
1288
1289 2007-08-10  Timothy Hatcher  <timothy@apple.com>
1290
1291         Reviewed by Mark Rowe.
1292
1293         <rdar://problem/5403302> HIWebView.h should be #ifdefed out for 64-bit
1294
1295         * Carbon/HIWebView.h: #ifdef out the header in 64-bit. Adds a comment about 32-bit only.
1296         * Carbon/CarbonUtils.h: Ditto.
1297
1298 2007-08-10  Timothy Hatcher  <timothy@apple.com>
1299
1300         Reviewed by Adam.
1301
1302         <rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit
1303
1304         Disable NPObject use in 64-bit on Mac OS X. Also generate the 64-bit export file.
1305
1306         * Configurations/WebKit.xcconfig: Point to the generated 64-bit export file.
1307         * Plugins/WebBasePluginPackage.h:
1308         * Plugins/npfunctions.h: #ifdef out this header in 64-bit on Mac OS X.
1309         * WebKit.LP64.exp: Removed.
1310         * WebKit.xcodeproj/project.pbxproj: Generate the the 64-bit export file.
1311         * WebKitPrefix.h: Define WTF_USE_NPOBJECT.
1312
1313 2007-08-10  Anders Carlsson  <andersca@apple.com>
1314
1315         Reviewed by Geoff.
1316
1317         <rdar://problem/5390568>
1318         REGRESSION: -[WebFrame loadHTMLString:baseURL:] leaks the data source
1319         
1320         If the identifier is not in the map, just bail out instead of asserting. This is a better fix for
1321         <rdar://problem/5133420> because WebCore shouldn't have to worry about the lifetime of WebKit objects.
1322         
1323         * WebView/WebDocumentLoaderMac.mm:
1324         (WebDocumentLoaderMac::decreaseLoadCount):
1325
1326 2007-08-10  Oliver Hunt  <oliver@apple.com>
1327
1328         Reviewed by Darin.
1329
1330         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
1331
1332         We truncate the returned string to the expected length.
1333
1334         * WebView/WebHTMLView.mm:
1335         (-[WebHTMLView attributedSubstringFromRange:]):
1336
1337 2007-08-09  Mark Rowe  <mrowe@apple.com>
1338
1339         Reviewed by Antti.
1340
1341         <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +
1342
1343         * Configurations/Version.xcconfig:
1344         * WebKit.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between
1345         Version.xcconfig and Info.plist explicit to Xcode.
1346
1347 2007-08-08  Kevin Decker <kdecker@apple.com>
1348
1349         Reviewed by Anders Carlsson.
1350
1351         Fixed: <rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit
1352         
1353         #ifdef'd out Netscape style plug-ins on 64-bit because Mac OS X doesn't support 64-bit Carbon UI.
1354         
1355         * Plugins/WebBaseNetscapePluginStream.h:
1356         * Plugins/WebBaseNetscapePluginStream.mm:
1357         * Plugins/WebBaseNetscapePluginView.h:
1358         * Plugins/WebBaseNetscapePluginView.mm:
1359         (+[WebBaseNetscapePluginView getCarbonEvent:]):
1360         (TSMEventHandler):
1361         * Plugins/WebBaseNetscapePluginViewInternal.h:
1362         * Plugins/WebBaseNetscapePluginViewPrivate.h:
1363         * Plugins/WebBasePluginPackage.m:
1364         (+[WebBasePluginPackage pluginWithPath:]):
1365         * Plugins/WebNetscapePluginEmbeddedView.h:
1366         * Plugins/WebNetscapePluginEmbeddedView.mm:
1367         * Plugins/WebNetscapePluginPackage.h:
1368         * Plugins/WebNetscapePluginPackage.m:
1369         * Plugins/WebNetscapePluginStream.h:
1370         * Plugins/WebNetscapePluginStream.mm:
1371         * Plugins/WebPluginDatabase.m:
1372         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
1373         * Plugins/npapi.m:
1374         * WebCoreSupport/WebFrameBridge.mm:
1375         (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
1376         * WebView/WebFrame.mm:
1377         * WebView/WebFramePrivate.h:
1378         * WebView/WebHTMLView.mm:
1379         (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
1380         * WebView/WebHTMLViewInternal.h:
1381
1382 2007-08-07  David Hyatt  <hyatt@apple.com>
1383
1384         Fix a botched backout of the Quicktime plugin clipping fix that broke Java.  The plugin view should not
1385         be set to autosize with the parent view.  Also, cleanup of script objects was removed accidentally as
1386         well.
1387
1388         Reviewed by olliej
1389
1390         * Plugins/WebPluginController.mm:
1391         (-[WebPluginController destroyPlugin:]):
1392         (-[WebPluginController destroyAllPlugins]):
1393         * WebCoreSupport/WebFrameBridge.mm:
1394         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
1395
1396 2007-08-03  Brady Eidson  <beidson@apple.com>
1397
1398         Reviewed by Oliver
1399
1400         Fix for http://bugs.webkit.org/show_bug.cgi?id=14824 and <rdar://problem/5372989>
1401
1402         When unregistering a MIMEType, remove it from the WebCore registry unconditionally
1403         When registrying a MIMEType whose view class is WebHTMLView, add it to the WebCore registry
1404
1405         * WebView/WebView.mm:
1406         (+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]): 
1407         (+[WebView _registerViewClass:representationClass:forURLScheme:]):
1408         (+[WebView registerViewClass:representationClass:forMIMEType:]):
1409
1410 2007-08-03  Timothy Hatcher  <timothy@apple.com>
1411
1412         Reviewed by Mark Rowe.
1413
1414         Correct the bundle version check to work in Debug and Release builds too.
1415
1416         * WebKit.xcodeproj/project.pbxproj:
1417
1418 2007-08-02  Brady Eidson  <beidson@apple.com>
1419
1420         Reviewed by Tim
1421
1422         <rdar://problem/5381463> - setMIMETypesShownAsHTML mutates while enumerating
1423
1424         * WebView/WebView.mm:
1425         (+[WebView setMIMETypesShownAsHTML:]): Copy the dictionary before we work with it.
1426
1427 2007-08-02  Alice Liu  <alice.liu@apple.com>
1428
1429         Reviewed by Kevin McCullough.
1430
1431         fixed <rdar://problem/5310312> REGRESSION: javascript is mis-escaped at http://labs.zarate.org/passwd causing bookmarklet to break
1432
1433         * Misc/WebNSURLExtras.mm:
1434         (+[NSURL _web_URLWithUserTypedString:relativeToURL:]):
1435         (-[NSURL _web_userVisibleString]):
1436         (-[NSURL _web_URLWithLowercasedScheme]):
1437         (-[NSURL _web_dataForURLComponentType:]):
1438         These 4 changes are just casting changes.
1439
1440         (-[NSString _webkit_stringByReplacingValidPercentEscapes]):
1441         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. 
1442
1443 2007-08-01  Anders Carlsson  <andersca@apple.com>
1444
1445         Fix build.
1446         
1447         * Misc/WebNSURLExtras.mm:
1448         (+[NSURL _web_URLWithUserTypedString:relativeToURL:]):
1449         (-[NSURL _web_userVisibleString]):
1450         (-[NSURL _web_URLWithLowercasedScheme]):
1451         (-[NSURL _web_dataForURLComponentType:]):
1452
1453 2007-08-01  Alice Liu  <alice.liu@apple.com>
1454
1455         Reviewed by .
1456
1457         Making WebNSURLExtras objc++
1458
1459         * Misc/WebNSURLExtras.m: Removed.
1460         * Misc/WebNSURLExtras.mm: Copied from WebKit/Misc/WebNSURLExtras.m.
1461         * WebKit.xcodeproj/project.pbxproj:
1462
1463 2007-08-01  Darin Adler  <darin@apple.com>
1464
1465         Reviewed by Anders Carlsson and Kevin Decker.
1466
1467         - fix <rdar://problem/5377432> Removal of MakeDataExecutable from 64-bit breaks WebKit build
1468
1469         The trick was to ifdef out more of the code that's only needed to support CFM, which exists
1470         only for 32-bit PowerPC.
1471
1472         * Plugins/WebNetscapePluginPackage.h: Define a SUPPORT_CFM symbol in this internal header when
1473         we support CFM. We support it only on 32-bit PowerPC. Only define the isBundle, isCFM, and
1474         connID fields when SUPPORT_CFM is on. Also use ResFileRefNum instead of SInt16.
1475         * Plugins/WebNetscapePluginPackage.m: Only compile the function pointer and transition vector
1476         functions when SUPPORT_CFM is on.
1477         (-[WebNetscapePluginPackage openResourceFile]): Put the non-bundle case inside a SUPPORT_CFM
1478         ifdef, since all non-CFM plug-ins are bundles.
1479         (-[WebNetscapePluginPackage closeResourceFile:]): Ditto.
1480         (-[WebNetscapePluginPackage _initWithPath:]): Use SUPPORT_CFM to compile out the code for
1481         non-bundle and bundle-based CFM plug-ins, and code that sets isBundle and isCFM.
1482         (-[WebNetscapePluginPackage executableType]): Put the CFM case inside SUPPORT_CFM.
1483         (-[WebNetscapePluginPackage load]): Put the non-bundle and CFM cases inside SUPPORT_CFM.
1484         There was a bit of dead code here.
1485         (-[WebNetscapePluginPackage _unloadWithShutdown:]): Put the non-bundle case inside
1486         SUPPORT_CFM.
1487
1488 2007-07-31  Timothy Hatcher  <timothy@apple.com>
1489
1490         Reviewed by Oliver and Beth.
1491
1492         <rdar://problem/5211271> ADOBE Leopard 9A410: At the first Launching InDesign after deactivate, EULA page gets blanked.
1493
1494         Check for more Adobe applications that need the frame reload quirk. Also cache the answer
1495         so the version check dosen't happen more than once.
1496
1497         * WebView/WebView.mm:
1498         (-[WebView _needsAdobeFrameReloadingQuirk]):
1499         (-[WebView _updateWebCoreSettingsFromPreferences:]):
1500
1501 2007-07-30  Adele Peterson  <adele@apple.com>
1502
1503         Reviewed by Oliver.
1504
1505         Fix for <rdar://problem/5308020> REGRESSION: Command-N with Dvorak-Qwerty keyboard layout stopped working inside web page text fields
1506
1507         * WebView/WebHTMLView.mm: (-[WebHTMLView _handleStyleKeyEquivalent:]):
1508         The input method may have modified the character we get, so don't use charactersIgnoringModifiers to interpret the character we get.
1509
1510 2007-07-30  John Sullivan  <sullivan@apple.com>
1511
1512         Reviewed by Darin
1513         
1514         - fixed <rdar://problem/5216176> Need WebKit SPI to allow clients using embedded WebViews to avoid 
1515           clipping ends of some printed pages
1516           
1517         This provides Mail, and other clients that print views that embed WebViews, a way to ensure that
1518         the HTML is laid out for printing before pagination occurs.
1519
1520         * WebView/WebHTMLViewPrivate.h:
1521         new SPI method -_layoutForPrinting
1522         
1523         * WebView/WebHTMLView.mm:
1524         (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]):
1525         new method, just like existing _web_setPrintingModeRecursive except passes YES for adjustViewSize
1526         (-[WebHTMLView _layoutForPrinting]):
1527         new SPI method, sets printing mode temporarily to adjust the view size for printing 
1528         (-[NSView _web_setPrintingModeRecursiveAndAdjustViewSize]):
1529         new helper method to do the recursion
1530
1531 2007-07-30  Adele Peterson  <adele@apple.com>
1532
1533         Reviewed by Darin.
1534
1535         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/
1536
1537         * WebView/WebHTMLView.mm: (-[WebHTMLView knowsPageRange:]): Nil check for frame.
1538
1539 2007-07-30  Anders Carlsson  <andersca@apple.com>
1540
1541         Reviewed by Darin.
1542
1543         <rdar://problem/5370710> 
1544         REGRESSION: After switching from Bookmark view, the Find Banner won't appear while displaying a PDF file
1545
1546         Implement hasHTMLView.
1547         
1548         * WebCoreSupport/WebFrameLoaderClient.h:
1549         * WebCoreSupport/WebFrameLoaderClient.mm:
1550         (WebFrameLoaderClient::hasHTMLView):
1551
1552 2007-07-30  Justin Garcia  <justin.garcia@apple.com>
1553
1554         Reviewed by Tristan.
1555         
1556         <rdar://problem/5098931> Attachments are lost when they are moved into a ToDo after a delete
1557         
1558         Mail needs to be asked if it is OK to do the content movement that happens 
1559         after a deleting in a situation like this one: 
1560         <div contenteditable="plaintext-only">foo</div><div>^bar</div> 
1561         so that they can prevent the move or so that they can save content that 
1562         will be stripped by the move. This could have been done with shouldInsertNode 
1563         and a new WebViewInsertAction for "moves", but WebKit clients like Mail and 
1564         DashCode think that a shouldInsert* means that the user pasted something and
1565         perform actions only appropriate for pastes.  This change is less risky because
1566         it won't require those clients to change their code.
1567
1568         * DefaultDelegates/WebDefaultEditingDelegate.m:
1569         (-[WebDefaultEditingDelegate webView:shouldMoveRangeAfterDelete:replacingRange:]):
1570         * WebCoreSupport/WebEditorClient.h:
1571         * WebCoreSupport/WebEditorClient.mm:
1572         (WebEditorClient::shouldMoveRangeAfterDelete):
1573         * WebView/WebEditingDelegatePrivate.h:
1574
1575 2007-07-29  Adele Peterson  <adele@apple.com>
1576
1577         Reviewed by John.
1578
1579         WebKit part of fix for <rdar://problem/5102522> REGRESSION: Can't tab to webview that doesn't have editable content
1580
1581         * WebView/WebHTMLView.mm: (-[WebHTMLView becomeFirstResponder]): Call new setInitialFocus method instead of advanceFocus.
1582
1583 2007-07-27  Darin Adler  <darin@apple.com>
1584
1585         - fix build
1586
1587         * WebKitPrefix.h: Removed the USING_WEBCORE_XXX definitions.
1588         * WebView/WebHTMLView.mm:
1589         (-[WebHTMLView delete:]): Fixed this to use WebCore again; I accidentally revived a dead
1590         code path that didn't work in the last patch!
1591         (-[WebHTMLView deleteToMark:]): Ditto.
1592         (-[WebHTMLView copy:]): Removed the unused side of the ifdef.
1593         (-[WebHTMLView cut:]): Ditto.
1594         (-[WebHTMLView paste:]): Ditto.
1595
1596 2007-07-27  Darin Adler  <darin@apple.com>
1597
1598         Reviewed by Tim Hatcher and Oliver Hunt.
1599
1600         - fix <rdar://problem/5355815> webView:doCommandBySelector: isn't getting called for copy:
1601
1602         Added code so that webView:doCommandBySelector: is called for every command.
1603
1604         * WebView/WebHTMLView.mm: Made 44 of the commands use the WEBCORE_COMMAND macro instead
1605         of being handwritten. For all the others, added invocation of COMMAND_PROLOGUE macro at
1606         the start of the command.
1607         (-[WebHTMLView callDelegateDoCommandBySelectorIfNeeded:]): Added.
1608         (-[WebHTMLView callWebCoreCommand:]): Added.
1609         (-[WebHTMLView delete:]): Removed unused code path -- easy to bring back some day, but
1610         we don't need it compiled in.
1611         (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Changed so this doesn't
1612         call deleteBackward: any more so we don't call the delegate two times.
1613         (-[WebHTMLView deleteToMark:]): Changed so this doesn't call delete: any more so we don't
1614         call the delegate two times.
1615         (-[WebHTMLView selectToMark:]): Changed so this doesn't call setMark: any more so we don't
1616         call the delegate two times.
1617         (-[WebHTMLView doCommandBySelector:]): Added code to set the private variable
1618         selectorForDoCommandBySelector. This allows callDelegateDoCommandBySelectorIfNeeded to
1619         detect that we've already called the delegate and avoids calling it twice.
1620
1621         * WebView/WebHTMLViewInternal.h: Added the selectorForDoCommandBySelector field.
1622
1623 2007-07-26  Alexey Proskuryakov  <ap@webkit.org>
1624
1625         Reviewed by Oliver.
1626
1627         http://bugs.webkit.org/show_bug.cgi?id=14733
1628         Add a logging channel for text input
1629         <rdar://problem/5364667>
1630
1631         * Misc/WebKitLogging.h:
1632         * Misc/WebKitLogging.m:
1633         (WebKitInitializeLoggingChannelsIfNecessary):
1634         * WebView/WebHTMLView.mm:
1635         (-[WebHTMLView validAttributesForMarkedText]):
1636         (-[WebHTMLView textStorage]):
1637         (-[WebHTMLView characterIndexForPoint:]):
1638         (-[WebHTMLView firstRectForCharacterRange:]):
1639         (-[WebHTMLView selectedRange]):
1640         (-[WebHTMLView markedRange]):
1641         (-[WebHTMLView attributedSubstringFromRange:]):
1642         (-[WebHTMLView hasMarkedText]):
1643         (-[WebHTMLView unmarkText]):
1644         (-[WebHTMLView setMarkedText:selectedRange:]):
1645         (-[WebHTMLView doCommandBySelector:]):
1646         (-[WebHTMLView insertText:]):
1647
1648 2007-07-26  Darin Adler  <darin@apple.com>
1649
1650         - fix Tiger build
1651
1652         * Misc/WebTypesInternal.h: For use inside the library, use NSInteger and
1653         NSUInteger, just like on Leopard. WebNSInteger and WebNSUInteger are still
1654         present, but they are used in public and private headers only.
1655
1656         * Carbon/CarbonWindowAdapter.m:
1657         * Carbon/CarbonWindowFrame.m:
1658         * DefaultDelegates/WebScriptDebugServer.m:
1659         * History/WebBackForwardList.mm:
1660         * Misc/WebDownload.m:
1661         * Misc/WebSearchableTextView.m:
1662         * Plugins/WebBaseNetscapePluginView.mm:
1663         * WebCoreSupport/WebFrameLoaderClient.mm:
1664         * WebView/WebHTMLView.mm:
1665         * WebView/WebPDFView.mm:
1666         * WebView/WebView.mm:
1667         * WebView/WebViewInternal.h:
1668         Update all implementation files and internal headers to use NSInteger and
1669         NSUInteger rather than WebNSInteger and WebNSUInteger.
1670
1671 2007-07-26  John Sullivan  <sullivan@apple.com>
1672
1673         Reviewed by Kevin Decker
1674         
1675         - fixed <rdar://problem/5362989> Searching a pdf in some modes shows hilights for all instances 
1676           of the word, even those not on the current page
1677           
1678         It turns out that there were three different issues here, all contributing to incorrect display
1679         of multiple matches for PDF pages in certain display modes. (1) in non-continuous display modes,
1680         we weren't updating the match rects when the displayed page is changed with page up/down (e.g.);
1681         (2) the mechanism to update the match rects on scrolling was busted except for the first scroll
1682         away from 0,0; (3) the PDFKit API returns selection bounds for non-displayed pages in non-continuous
1683         modes just as if they were the displayed pages. This patch fixes all three issues.
1684
1685         * WebView/WebPDFView.h:
1686         made ivar name even longer
1687         
1688         * WebView/WebPDFView.mm:
1689         (-[WebPDFView setPDFDocument:]):
1690         updated for ivar name change
1691         (-[WebPDFView viewDidMoveToWindow]):
1692         observe page-change notifications as well as the others; this is necessary because in the
1693         non-continuous modes the view can be completely updated without any scrolling involved (problem 1)
1694         (-[WebPDFView viewWillMoveToWindow:]):
1695         stop observing page-change notifications
1696         (-[WebPDFView rectsForTextMatches]):
1697         skip any pages that aren't visible; this avoids treating matches on non-displayed non-continous
1698         modes as if they were on the displayed page (problem 3)
1699         (-[WebPDFView _PDFDocumentViewMightHaveScrolled:]):
1700         after checking whether scroll position has changed since we last checked it, remember the new
1701         one (d'oh!) (problem 2)
1702
1703         (-[WebPDFView _scaleOrDisplayModeOrPageChanged:]):
1704         renamed to include page changes
1705         
1706         (-[WebPDFView _visiblePDFPages]):
1707         new method, returns the set of pages that are at least partly visible
1708
1709 2007-07-24  Oliver Hunt  <oliver@apple.com>
1710
1711         Reviewed by Adam and Justin.
1712
1713         <rdar://problem/5141779> WebView editableDOMRangeForPoint: & moveDragCaretToPoint: returns last position in DOMText range
1714
1715         editableDOMRangeForPoint:, moveDragCaretToPoint:, and removeDragCaret now call directly into
1716         WebCore without relying on bridge look up through the now removed _bridgeAtPoint:.
1717
1718         * WebKit.xcodeproj/project.pbxproj:
1719         * WebView/WebView.mm:
1720         (-[WebView moveDragCaretToPoint:]):
1721         (-[WebView removeDragCaret]):
1722         (-[WebView editableDOMRangeForPoint:]):
1723
1724 2007-07-24  Kevin Decker  <kdecker@apple.com>
1725
1726         Reviewed by Anders.
1727
1728         <rdar://problem/4699455> REGRESSION (Safari 2->Safari 3): Adobe Reader 7.0.8 plug-in doesn't work
1729         
1730         * Plugins/WebNetscapePluginEmbeddedView.h: Added a #define that renames this class to "WebNetscapePluginDocumentView"
1731         This is necessary because the Adobe 7.x Acrobat plug-in has a hard coded check for a view named "WebNetscapePluginDocumentView"
1732         and will not function correctly if it doesn't find a view in the hierarchy without the old class name.
1733
1734 2007-07-24  Mark Rowe  <mrowe@apple.com>
1735
1736         Reviewed by Antti.
1737
1738         <rdar://problem/5356666> NSMenuItem's seen leaking on buildbot
1739
1740         * WebCoreSupport/WebContextMenuClient.mm:
1741         (WebContextMenuClient::contextMenuItemSelected): Release platformItem as we were transferred its ownership by releasePlatformDescription.
1742
1743 2007-07-23  Oliver Hunt  <oliver@apple.com>
1744
1745         Reviewed by Darin.
1746
1747         We have to be able to support insertText: followed by doCommandBySelector: in 
1748         order to support the 2- and 3-Set Korean and RuSwitcher IMs at least.
1749
1750         * WebView/WebHTMLView.mm:
1751         (-[WebHTMLView insertText:]):
1752
1753 2007-07-23  Alice Liu  <alice.liu@apple.com>
1754
1755         Reverting change 24535 now that a solution has been found that doesn't 
1756         involve exposing an interface unnecessarily.
1757
1758         * WebView/WebHTMLView.mm:
1759         * WebView/WebHTMLViewPrivate.h:
1760
1761 2007-07-23  Alice Liu  <alice.liu@apple.com>
1762
1763         Reviewed by Oliver Hunt.
1764
1765         Expose [WebHTMLView hasMarkedText] to 
1766         fix <rdar://problem/4830074> autocomplete breaks Japanese typing
1767
1768         * WebView/WebHTMLView.mm:
1769         * WebView/WebHTMLViewPrivate.h:
1770
1771 2007-07-22  Darin Adler  <darin@apple.com>
1772
1773         * StringsNotToBeLocalized.txt: Updated for recent changes.
1774
1775 2007-07-21  Adam Roben  <aroben@apple.com>
1776
1777         Fix REGRESSION: Right-click/control-click broken
1778
1779         http://bugs.webkit.org/show_bug.cgi?id=14658
1780         <rdar://problem/5346830>
1781
1782         Reviewed by Mitz.
1783
1784         * WebCoreSupport/WebContextMenuClient.mm:
1785         (fixMenusToSendToOldClients): Update defaultItemsCount after removing
1786         items from the defaultItems array.
1787
1788 2007-07-20  Oliver Hunt  <oliver@apple.com>
1789
1790         Reviewed by Adele.
1791
1792         <rdar://problem/5319438> REGRESSION: Cannot paste into an active inline input area (14522)
1793         http://bugs.webkit.org/show_bug.cgi?id=14522
1794
1795         AppKit sends noop: to -[WebHTMLView doCommandBySelector:] when an IM does not handle event,
1796         we now check this as it is necessary to work around some IMs that do send messages 
1797         (such as insertText: rather than unmarkText: to confirm a composition)
1798
1799         * WebView/WebHTMLView.mm:
1800         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
1801         (-[WebHTMLView doCommandBySelector:]):
1802         * WebView/WebHTMLViewInternal.h:
1803
1804 2007-07-20  Brady Eidson  <beidson@apple.com>
1805
1806         Reviewed by Adele and Andersca
1807
1808         <rdar://problem/5336105> - WebBackForwardList created from scratch is unusable (always leads to crash)
1809
1810         * History/WebBackForwardList.mm:
1811         (-[WebBackForwardList init]): Have a default initializer that uses an empty BackFowardList not associated with a page.
1812
1813         * WebView/WebFrame.mm:
1814         (kit): For clarity's sake, this should return nil, not 0
1815
1816 2007-07-20  Justin Garcia  <justin.garcia@apple.com>
1817
1818         Reviewed by Darin.
1819         
1820         <rdar://problem/5109817> Ctrl-click on word in non-editable text doesn't select it
1821
1822         * WebCoreSupport/WebEditorClient.h:
1823         * WebCoreSupport/WebEditorClient.mm: Removed the method
1824         for enabling/disabling word selection on right click.
1825         * WebView/WebView.mm: Ditto.
1826         * WebView/WebViewPrivate.h: Removed the getter/setter entirely, 
1827         it was in a private Category for Mail, but wasn't used by Mail
1828         on Tiger or Leopard, they apparently implement word selection on 
1829         their own.
1830
1831 2007-07-20  Timothy Hatcher  <timothy@apple.com>
1832
1833         Reviewed by Darin.
1834
1835         <rdar://problem/5199812> WebView needs to adopt viewWillDraw (moving off of _propagateDirtyRectsToOpaqueAncestors)
1836         <rdar://problem/5017301> REGRESSION: Scroller in Widget Manager splits down the middle while scrolling
1837
1838         On Leopard _propagateDirtyRectsToOpaqueAncestors is no longer called by AppKit. Also marking new dirty rects
1839         underneath _recursiveDisplayRectIfNeededIgnoringOpacity will wait until the next runloop to draw them,
1840         causing rendering to happen in two steps instead of one as WebCore expected.
1841
1842         * WebView/WebHTMLView.mm:
1843         (-[WebHTMLView _topHTMLView]): Move to the file internal category so we can use it in viewWillDraw.
1844         (-[WebHTMLView _isTopHTMLView]): Ditto.
1845         (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): #ifdef for Tiger only.
1846         (-[WebHTMLView viewWillDraw]): Do a recursive layout if this is the top WebHTMLView.
1847         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
1848           Don't do layout here on Leopard since viewWillDraw handled it.
1849         (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto.
1850
1851 2007-07-20  Beth Dakin  <bdakin@apple.com>
1852
1853         Reviewed by Tim and Geoff.
1854
1855         Fix for <rdar://problem/5346855> Mail crashes at 
1856         WebCore::RenderTableSection:paint + 846 when attempting to display 
1857         a HTML based message
1858
1859         After reapplying styles, the RenderView needs layout. However, 
1860         layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize used to 
1861         return early if the WebHTMLView itself does not need layout. 
1862         Because the WebHTMLView is not necessarily in synch with the 
1863         RenderTree, returning early here can get us into a bad situation 
1864         where we paint before laying out the Render Tree. This patch checks 
1865         both the WebHTMLView and the bridge (which checks the RenderView, 
1866         etc), so that we do not return early without laying out the Render 
1867         Tree. 
1868
1869         Some day, we should phase out WebHTMLView keeping track of 
1870         needsLayout at all. But that is a bit beyond the scope of this fix.  
1871
1872         * WebView/WebHTMLView.mm:
1873         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
1874
1875 2007-07-20  John Sullivan  <sullivan@apple.com>
1876
1877         Reviewed by Darin Adler and David Harrison
1878         
1879         - fixed <rdar://problem/5307075> REGRESSION: Bottom of some printed pages are truncated
1880         
1881         The "avoid orphan" code I added a year ago was causing the page to be imaged to a larger 
1882         height (good), but not shrinking everything to compensate (bad). Bad one-year-ago me!
1883
1884         * WebView/WebHTMLViewInternal.h:
1885         added avoidingPrintOrphan boolean
1886
1887         * WebView/WebHTMLView.mm:
1888         (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
1889         clear _private->avoidingPrintOrphan when clearing _private->printing
1890         (-[WebHTMLView _scaleFactorForPrintOperation:]):
1891         take _private->avoidingPrintOrphan into account when computing the scale factor
1892         (-[WebHTMLView knowsPageRange:]):
1893         set _private->avoidingPrintOrphan when we're shrinking to avoid an orphan
1894
1895 2007-07-19  Adam Roben  <aroben@apple.com>
1896
1897         Fix <rdar://problem/5344972> REGRESSION: A error dialog occurs when
1898         attempting to ctrl-click in a iChat message window (webview)
1899
1900         Reviewed by Oliver.
1901
1902         * WebCoreSupport/WebContextMenuClient.mm:
1903         (fixMenusToSendToOldClients): Don't check for the Inspect Element item
1904         if we have fewer than 2 items.
1905
1906 2007-07-18  Geoffrey Garen  <ggaren@apple.com>
1907
1908         Reviewed by Dave Hyatt.
1909         
1910         <rdar://problem/5345099>
1911         
1912         Reduced default WebCore cache size from 32 MB to 23 MB on systems below 
1913         512 MB RAM. This improves RPRVT usage in the Safari pageout test by 
1914         ~10% on a system with 384 MB RAM.
1915         
1916         At 23 MB, no extra resources are evicted from the cache during a PLT 
1917         run, so this is a safe change PLT-wise. 23 MB is also seems to be a
1918         generous number in real world usage.
1919
1920         * WebView/WebPreferences.m:
1921         (+[WebPreferences initialize]):
1922
1923 2007-07-18  Anders Carlsson  <andersca@apple.com>
1924
1925         Reviewed by Geoff.
1926
1927         <rdar://problem/5341133> REGRESSION (Safari 2->Safari 3): DjVu plug-in doesn't load in Safari 3
1928         
1929         The DjVu plug-in uses the size of the passed in NPNetscapeFuncs struct to copy it over to a NPNetscapeFuncs struct
1930         whose size was determined when DjVu was compiled. This means that when we add extra functions to the vtable, 
1931         DjVu will segfault copying it into the (too small) destination struct.
1932         
1933         Fix this by special-casing the DjVu plug-in and setting the NPNetscapeFuncs size to be the same size as what DjVu expects.
1934         
1935         * Plugins/WebNetscapePluginPackage.m:
1936         (-[WebNetscapePluginPackage _applyDjVuWorkaround]):
1937         (-[WebNetscapePluginPackage load]):
1938
1939 2007-07-18  Timothy Hatcher  <timothy@apple.com>
1940
1941         Reviewed by Adam.
1942
1943         <rdar://problem/5343767> Should have a way to disable the Web Inspector
1944
1945         Adds a new DisableWebKitDeveloperExtras default that will force the Web Inspector to be disabled.
1946         This overrides the WebKitDeveloperExtras and IncludeDebugMenu default. It also disables
1947         the Web Inspector in Debug builds.
1948
1949         * WebView/WebView.mm:
1950         (+[WebView _developerExtrasEnabled]): Check for the DisableWebKitDeveloperExtras default.
1951         (-[WebView _commonInitializationWithFrameName:groupName:]): Make a new WebInspectorClient when making the Page.
1952
1953 2007-07-18  Anders Carlsson  <andersca@apple.com>
1954
1955         Build fix.
1956         
1957         * Misc/WebNSAttributedStringExtras.mm:
1958
1959 2007-07-18  Sam Weinig  <sam@webkit.org>
1960
1961         Rubber-stamped by Adam Roben.
1962
1963         Update after renaming MimeTypeRegistry to MIMETypeRegistry.
1964
1965         * Misc/WebNSPasteboardExtras.mm:
1966         (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
1967         * WebCoreSupport/WebFrameBridge.mm:
1968         (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
1969         * WebView/WebDataSource.mm:
1970         (-[WebDataSource _documentFragmentWithArchive:]):
1971         * WebView/WebHTMLRepresentation.mm:
1972         (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
1973         (+[WebHTMLRepresentation supportedImageMIMETypes]):
1974         * WebView/WebHTMLView.mm:
1975         (-[WebHTMLView _imageExistsAtPaths:]):
1976
1977 2007-07-18  Tristan O'Tierney  <tristan@apple.com>
1978
1979         Reviewed by Maciej Stachowiak.
1980         
1981         <rdar://problem/5341334> Alt-clicking a link in Safari does not register original URL info with gatekeeper
1982         <rdar://problem/5342570> REGRESSION: A hang occurs when attempting to open a attached file from a .Mac web mail message
1983
1984         * WebCoreSupport/WebFrameLoaderClient.h:
1985         Added a new method, setOriginalURLForDownload, for both download() 
1986         and startDownload() to share.
1987         
1988         * WebCoreSupport/WebFrameLoaderClient.mm:
1989         (WebFrameLoaderClient::download):
1990         Moved all the gatekeeper code into setOriginalURLForDownload.
1991         
1992         (WebFrameLoaderClient::setOriginalURLForDownload):
1993         Same code that was in download() but moved into a single place for both
1994         startDownload and download to use.  Also returned the boolean logic
1995         for detecting _wasUserGesture back to it's previous state, since my prior change
1996         was incorrect.  Additionally I found a loop index bug with backListCount and fixed it.
1997         
1998         (WebFrameLoaderClient::startDownload):
1999         Calls out to setOriginalURLForDownload after a download is created.
2000         
2001         * WebView/WebView.mm:
2002         (-[WebView _downloadURL:]):
2003         Changed to return the WebDownload object created inside _downloadURL
2004         
2005         * WebView/WebViewInternal.h:
2006         Changed _downloadURL to return the WebDownload it creates.
2007
2008 2007-07-17  Timothy Hatcher  <timothy@apple.com>
2009
2010         Reviewed by Geoff.
2011
2012         <rdar://problem/5336267> loadData:MIMEType:textEncodingName:baseURL: doesn't like relative URLs
2013
2014         Get the absoluteURL from any user supplied NSURL before we pass it down to WebCore.
2015
2016         * WebView/WebFrame.mm:
2017         (-[WebFrame _loadURL:referrer:intoChild:]):
2018         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
2019         * WebView/WebView.mm:
2020         (-[WebView userAgentForURL:]):
2021
2022 2007-07-17  Adam Roben  <aroben@apple.com>
2023
2024         Fix Bug 14324: Cannot remove/customize the "Inspect Element" contextual menu item
2025         http://bugs.webkit.org/show_bug.cgi?id=14324
2026
2027         Only clients linking against new versions of WebKit will see the item.
2028         I've maintained our behavior for old clients of not including the
2029         Inspect Element item in the menu items passed to the UI delegate.
2030
2031         Reviewed by Tim.
2032
2033         * Misc/WebKitVersionChecks.h: Added a new constant.
2034         * WebCoreSupport/WebContextMenuClient.mm:
2035         (isPreInspectElementTagClient): Added.
2036         (fixMenusToSendToOldClients): Return an array of items that should be
2037         appended to the menu received from the delegate.
2038         (fixMenusReceivedFromOldClients): Append the saved items to the array.
2039         (WebContextMenuClient::getCustomMenuFromDefaultItems): Retain/release
2040         the saved items.
2041
2042 2007-07-17  Adam Roben  <aroben@apple.com>
2043
2044         Remove WebContextMenuClient::shouldIncludeInspectElementItem
2045
2046         Reviewed by Tim.
2047
2048         * WebCoreSupport/WebContextMenuClient.h:
2049         * WebCoreSupport/WebContextMenuClient.mm:
2050
2051 2007-07-17  Adam Roben  <aroben@apple.com>
2052
2053         Initialize Settings::developerExtrasEnabled
2054
2055         Reviewed by Tim.
2056
2057         * WebView/WebView.mm:
2058         (-[WebView _updateWebCoreSettingsFromPreferences:]):
2059
2060 2007-07-17  Geoffrey Garen  <ggaren@apple.com>
2061
2062         Build fix.
2063
2064         * WebView/WebFrame.mm:
2065         (-[WebFrame _loadURL:referrer:intoChild:]):
2066         * WebView/WebFramePrivate.h:
2067
2068 2007-07-17  Tristan O'Tierney  <tristan@apple.com>
2069
2070         Reviewed by Maciej Stachowiak.
2071
2072         <rdar://problem/5294691> Source of file is misrepresented if downloaded by typing in URL in Safari address bar
2073
2074         * WebCoreSupport/WebFrameLoaderClient.h:
2075         * WebCoreSupport/WebFrameLoaderClient.mm:
2076         (WebFrameLoaderClient::download):
2077         Revised code to check the initial request's referrer before assuming it has a history to check.
2078
2079 2007-07-16  Brady Eidson  <beidson@apple.com>
2080
2081         Reviewed by Adam
2082
2083         Begin the arduous task of localizing FTP directory listings while removing a global initializer!
2084
2085         * English.lproj/Localizable.strings:
2086         * WebCoreSupport/WebViewFactory.mm:
2087         (-[WebViewFactory unknownFileSizeText]):
2088
2089 2007-07-16  Adam Roben  <aroben@apple.com>
2090
2091         Move printing from WebFrameBridge to WebChromeClient
2092
2093         Reviewed by Darin.
2094
2095         * WebCoreSupport/WebChromeClient.h: Updated for ChromeClient changes.
2096         * WebCoreSupport/WebChromeClient.mm:
2097         (WebChromeClient::print): Moved code from WebFrameBridge.
2098         * WebCoreSupport/WebFrameBridge.mm: Removed -print.
2099
2100 2007-07-16  Darin Adler  <darin@apple.com>
2101
2102         * StringsNotToBeLocalized.txt: Update for recent changes.
2103
2104 2007-07-16  John Sullivan  <sullivan@apple.com>
2105
2106         Reviewed by Kevin Decker and Darin Adler
2107         
2108         - fixed <rdar://problem/5337529> Holes in Find banner overlay on PDF pages are left in wrong place after changing scale
2109
2110         * WebView/WebPDFView.mm:
2111         (-[WebPDFView _scaleOrDisplayModeChanged:]):
2112         tell UI delegate that the entire PDF view has been redrawn
2113
2114 2007-07-14  Brady Eidson  <beidson@apple.com>
2115
2116         Reviewed by Sam Weinig
2117
2118         Initial check-in for <rdar://problem/3154486> - Supporting FTP directory listings in the browser
2119
2120         * WebView/WebPreferenceKeysPrivate.h: Added preference keys for the FTP template location, as well as to force 
2121           FTP directory listings, bypassing the policy delegate.  This is necessary to test the new feature until browser
2122           policy delegate support is added.
2123
2124         * WebView/WebPreferences.m:
2125         (-[WebPreferences _setFTPDirectoryTemplatePath:]):
2126         (-[WebPreferences _ftpDirectoryTemplatePath]):
2127         (-[WebPreferences _setForceFTPDirectoryListings:]):
2128         (-[WebPreferences _forceFTPDirectoryListings]):
2129         * WebView/WebPreferencesPrivate.h:
2130         * WebView/WebView.mm:
2131         (-[WebView _updateWebCoreSettingsFromPreferences:]):
2132
2133 2007-07-13  Anders Carlsson  <andersca@apple.com>
2134
2135         Reviewed by Maciej.
2136
2137         <rdar://problem/5290103> Assert failure when loading page with multipart resource
2138         
2139         Don't try to call the delegate method if the resource object doesn't exist in the 
2140         identifier map. When a multipart resource has finished loading one part, it is removed from the
2141         web view identifier map. 
2142         
2143         This is not an ideal fix, a better fix would be to special-case multipart resources and not remove
2144         them when the first part has finished loading. I've filed <rdar://problem/5335034> to track doing that.
2145         
2146         * WebCoreSupport/WebFrameLoaderClient.mm:
2147         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
2148         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
2149         (WebFrameLoaderClient::dispatchDidReceiveResponse):
2150         (WebFrameLoaderClient::willCacheResponse):
2151         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
2152         (WebFrameLoaderClient::dispatchDidFinishLoading):
2153         (WebFrameLoaderClient::dispatchDidFailLoading):
2154
2155 2007-07-13  Timothy Hatcher  <timothy@apple.com>
2156
2157         Reviewed by Oliver Hunt.
2158
2159         <rdar://problem/5333766> Can't include WebEditingDelegatePrivate.h
2160
2161         * WebView/WebEditingDelegatePrivate.h: Changed the include to be a framework include,
2162         so other projects can use this header.
2163
2164 2007-07-12  Anders Carlsson  <andersca@apple.com>
2165
2166         Reviewed by Darin and Maciej.
2167
2168         <rdar://problem/5271096> panic after Safari stress test, caused by port leak
2169
2170         Replace uses of -[NSObject performSelector:withObject:afterDelay:] with CFRunLoopTimer. performSelector
2171         causes the target (the WebHTMLView in this case) to be retained until the timer fires. Furthermore, when
2172         running the PLT or iBench, the timers will not fire until the main loop is entered (usually after running all tests).
2173         
2174         This means that the timers and ports will not be released until after the test has finished running.
2175         
2176         * WebView/WebHTMLView.mm:
2177         (-[WebHTMLViewPrivate dealloc]):
2178         (-[WebHTMLView _cancelUpdateMouseoverTimer]):
2179         (-[WebHTMLView _updateMouseoverWithFakeEvent]):
2180         (-[WebHTMLView _updateMouseoverTimerCallback:]):
2181         (-[WebHTMLView _frameOrBoundsChanged]):
2182         (-[WebHTMLView _updateActiveState]):
2183         (-[WebHTMLView _updateActiveStateTimerCallback:]):
2184         (-[WebHTMLView viewWillMoveToWindow:]):
2185         (-[WebHTMLView viewDidMoveToWindow]):
2186         (-[WebHTMLView mouseDown:]):
2187         (-[WebTextCompleteController dealloc]):
2188         * WebView/WebHTMLViewInternal.h:
2189
2190 2007-07-13  Mark Rowe  <mrowe@apple.com>
2191
2192         Reviewed by Mitz.
2193
2194         Build fix.  Stub out WebChromeClient::print.
2195
2196         * WebCoreSupport/WebChromeClient.h:
2197         * WebCoreSupport/WebChromeClient.mm:
2198         (WebChromeClient::print):
2199
2200 2007-07-11  Timothy Hatcher  <timothy@apple.com>
2201
2202         Reviewed by Oliver.
2203
2204         <rdar://problem/5108789> WEBVIEW: Drawing artifacts when dragging in IB
2205
2206         Interface Builder 3 is relying on KVO notifications for frameOrigin and frameSize,
2207         among other standard NSView keys. Change automaticallyNotifiesObserversForKey to 
2208         return NO only for keys WebView manually fires notifications for.
2209
2210         * WebView/WebView.mm:
2211         (+[WebView automaticallyNotifiesObserversForKey:]): Selectivly return NO for keys we manually fire.
2212         (-[WebView _declaredKeys]): Code clean up.
2213
2214 2007-07-10  Antti Koivisto  <antti@apple.com>
2215
2216         Reviewed by John.
2217         
2218         Fix <rdar://problem/4570550>
2219         Hang in layout/layoutBlock/layoutBlockChildren preparing to print certain Mail messages
2220         
2221         When printing from Mail, WebHTMLView is a subview of the view that is actually printed and does not 
2222         receive calls that would set it to printing mode. Method adjustPageHeightNew is called repeatedly (for each page) during
2223         printing and it enables printing mode temporarily for each call. This triggers two full style recalcs and layouts
2224         each time making printing at least O(n^2). 
2225
2226         Instead of enabling printing mode and resetting it back immediatly do the resetting asynchronously, after
2227         all adjustPageHeightNew calls are done. Normal Safari printing is not affected as adjustPageHeightNew is only
2228         called in case WebHTMLView is embedded in the view that is being printed.
2229         
2230         No automatic test possible, requires printing and non-Safari client.
2231         
2232         * WebView/WebHTMLView.mm:
2233         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
2234
2235 2007-07-10  Geoffrey Garen  <ggaren@apple.com>
2236
2237         Reviewed by Maciej Stachowiak.
2238
2239         - Fixed <rdar://problem/5049509> REGRESSION(10.4.9-9A377a): REAP Suite 
2240         installer shows empty modal alert window (hangs) if user cancels during
2241         "installing shared components" phase
2242         
2243         Added Adobe installers to the family of apps that need a data load
2244         loading quirk.
2245         
2246         Added a linked-on-or-after check because this code is no longer 
2247         Tiger-only.
2248         
2249         I tested this code on Tiger and Leopard.
2250
2251         * Misc/WebKitVersionChecks.h:
2252         * WebKit.xcodeproj/project.pbxproj:
2253         * WebView/WebDocumentLoaderMac.mm:
2254         (needsDataLoadWorkaround):
2255         (WebDocumentLoaderMac::setDataSource):
2256
2257 2007-07-10  Darin Adler  <darin@apple.com>
2258
2259         - fix build
2260
2261         * WebView/WebHTMLView.mm: Add include of ContextMenu.h.
2262
2263 2007-07-10  Darin Adler  <darin@apple.com>
2264
2265         Reviewed by John Sullivan.
2266
2267         - <rdar://problem/5321953> remove workaround for fixed AppKit mouse moved bug
2268
2269         * WebView/WebHTMLView.mm: Put the workaround for bug 3429631 inside an
2270         ifdef BUILDING_ON_TIGER.
2271
2272 2007-07-09  Anders Carlsson  <andersca@apple.com>
2273
2274         Reviewed by Oliver.
2275
2276         <rdar://problem/4954319> 
2277         Acrobat 7 / Safari crash: CrashTracer: 99 crashes in Safari at 
2278         com.apple.WebCore: WebCore::NetscapePlugInStreamLoader::isDone const + 0
2279
2280         Add a new initWithFrameLoader: method to WebNetscapePluginStream which is to be used when
2281         the stream is a "fake" stream for full frame plug-ins.
2282         
2283         * Plugins/WebBaseNetscapePluginView.mm:
2284         (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
2285         * Plugins/WebNetscapePluginStream.h:
2286         * Plugins/WebNetscapePluginStream.mm:
2287         (-[WebNetscapePluginStream initWithFrameLoader:]):
2288         (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
2289         (-[WebNetscapePluginStream start]):
2290         (-[WebNetscapePluginStream cancelLoadWithError:]):
2291         (-[WebNetscapePluginStream stop]):
2292         * WebCoreSupport/WebFrameLoaderClient.mm:
2293         (WebFrameLoaderClient::createFrame):
2294
2295 2007-07-09  John Sullivan  <sullivan@apple.com>
2296
2297         Reviewed by Darin
2298         
2299         - fixed <rdar://problem/5320208> WebKit should prevent Time Machine from backing up WebKit clients' icon databases
2300
2301         * Misc/WebIconDatabase.mm:
2302         (-[WebIconDatabase init]):
2303         Re-added the code to exclude the icon database from backups. We now do this at the same time we (try to) import
2304         the old icon database format, which happens only once per icon database's lifetime.
2305         (-[WebIconDatabase _importToWebCoreFormat]):
2306         Assert that we haven't imported yet rather than bailing out. It's now the caller's responsibility to check
2307         whether we've imported yet.
2308
2309 2007-07-08  John Sullivan  <sullivan@apple.com>
2310
2311         * Misc/WebIconDatabase.mm:
2312         (-[WebIconDatabase init]):
2313         Removed the code to exclude the icon database from backups. We still want to do this, but in a way
2314         that only runs once ever, instead of once per launch, due to performance concerns.
2315
2316 2007-07-07  Darin Adler  <darin@apple.com>
2317
2318         Reviewed by Maciej.
2319
2320         - fix <rdar://problem/5124665> WebCore secondary-thread assertion should use linked-on-or-after check instead of building on Tiger check
2321
2322         * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITH_MAIN_THREAD_EXCEPTIONS.
2323
2324         * WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]): In first-time initialization block,
2325         check for binaries linked against older versions of WebKit, and set the default thread violation
2326         behavior to LogOnFirstThreadViolation.
2327
2328         * WebView/WebView.mm: (+[WebView initialize]): Improved comments.
2329
2330 2007-07-06  Oliver Hunt  <oliver@apple.com>
2331
2332         Reviewed by Maciej.
2333
2334         <rdar://problem/5318756> Need to refactor IM/Marked text code to share logic with windows.
2335
2336         Moved a number of methods from WebHTMLView into WebCore.
2337         Replaced bridge methods with calls directly into WebCore objects.
2338
2339         * WebKit.xcodeproj/project.pbxproj:
2340         * WebView/WebHTMLView.mm:
2341         (-[WebHTMLView setMarkedText:selectedRange:]):
2342           Now calls WebCore object methods directly, rather than calling 
2343           via the bridge.
2344
2345 2007-07-06  John Sullivan  <sullivan@apple.com>
2346
2347         Reviewed by Brady
2348
2349         - WebKit part of fix for: 
2350           <rdar://problem/5310739> Time Machine shouldn't back up WebKit's icon database files
2351
2352         * Misc/WebIconDatabase.mm:
2353         (-[WebIconDatabase init]):
2354         Use CSBackupSetItemExcluded to tell Time Machine not to back up the icon database file
2355
2356 2007-07-07  Mark Rowe  <mrowe@apple.com>
2357
2358         Build fix.  Update WebDynamicScrollBarsView.h to include methods added and used in r24060.
2359
2360         * WebView/WebDynamicScrollBarsView.h:
2361
2362 2007-07-05  Timothy Hatcher  <timothy@apple.com>
2363
2364         Reviewed by John.
2365
2366         <rdar://problem/5236277> REGRESSION-9A458: SPI for setting scroll bar behavior doesn't work
2367
2368         Calling setHorizontalScrollingMode: calls updateScrollers before returning, this will cause
2369         WebCore to reset the scrolling mode based on the CSS overflow rules. So the setAlwaysShowHorizontalScroller:
2370         and setAlwaysShowVerticalScroller: methods needed a way to lock the scrolling mode before
2371         calling updateScrollers.
2372
2373         * WebView/WebDynamicScrollBarsView.m:
2374         (-[WebDynamicScrollBarsView updateScrollers]):
2375         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
2376         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]):
2377         (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
2378         (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]):
2379         (-[WebDynamicScrollBarsView setScrollingMode:]):
2380         (-[WebDynamicScrollBarsView setScrollingMode:andLock:]):
2381         * WebView/WebView.mm:
2382         (-[WebView setAlwaysShowVerticalScroller:]):
2383         (-[WebView setAlwaysShowHorizontalScroller:]):
2384
2385 2007-07-06  Mitz Pettel  <mitz@webkit.org>
2386
2387         Reviewed by Maciej.
2388
2389         - fix http://bugs.webkit.org/show_bug.cgi?id=10267
2390           Can't scroll page downwards with scroll wheel, when pointer is on top of non-scrolling iframe
2391
2392         * WebView/WebDynamicScrollBarsView.m:
2393         (-[WebDynamicScrollBarsView scrollWheel:]): Override the superclass
2394         implementation to forward the wheel event to the next responder if this view
2395         does not allow scrolling in the event's direction.
2396
2397 2007-07-05  John Sullivan  <sullivan@apple.com>
2398
2399         Reviewed by Adam
2400         
2401         - WebKit part of fix for <rdar://problem/5315033>
2402
2403         * WebView/WebDocumentPrivate.h:
2404         new selectionImageForcingBlackText: method. selectionImageForcingWhiteText: is no longer used and was never
2405         in an official release of WebKit, so it could be removed, except that doing so would cause trouble for people
2406         using nightly WebKit with Safari 3.0 beta. So I left it in, but made it just force black text instead of
2407         white text, which will look different for those nightly WebKit/Safari 3.0 beta people but not break anything.
2408         
2409         * Misc/WebSearchableTextView.m:
2410         (-[WebSearchableTextView selectionImageForcingBlackText:]):
2411         new unimplemented protocol method for this obsolete class
2412         
2413         * WebView/WebHTMLView.mm:
2414         (-[WebHTMLView selectionImageForcingBlackText:]):
2415         calls through to WebCore the way selectionImageForcingWhiteText: used to
2416         (-[WebHTMLView selectionImageForcingWhiteText:]):
2417         now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name
2418         
2419         * WebView/WebPDFView.mm:
2420         (-[WebPDFView selectionImageForcingBlackText:]):
2421         guts of old selectionImageForcingWhiteText:, but with black substituted for white
2422         (-[WebPDFView selectionImageForcingWhiteText:]):
2423         now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name
2424
2425 2007-07-05  Timothy Hatcher  <timothy@apple.com>
2426
2427         Reviewed by John.
2428
2429         <rdar://problem/5314993> Shiira 2.1 throws an exception open a new window: -[WebInspector window]: unrecognized selector
2430
2431         Add an empty implementation of this method to prevent Shiira from throwing an exception.
2432         Also log that this method is obsolete and the class will be removed.
2433
2434         * WebInspector/WebInspector.mm:
2435         (-[WebInspector window]):
2436
2437 2007-07-04  Adam Roben  <aroben@apple.com>
2438
2439         Move tooltip logic down into WebCore so that it can be shared cross-platform
2440
2441         Reviewed by Sam.
2442
2443         * WebCoreSupport/WebChromeClient.h:
2444         * WebCoreSupport/WebChromeClient.mm:
2445         (WebChromeClient::setToolTip): Added.
2446         * WebView/WebHTMLView.mm: Removed _resetCachedWebPreferences.
2447         (-[WebHTMLView _updateMouseoverWithEvent:]): Removed tooltip code.
2448         (-[WebHTMLView initWithFrame:]): Removed call to
2449         _resetCachedWebPreferences.
2450         (-[WebHTMLView setDataSource:]): Ditto.
2451         * WebView/WebHTMLViewInternal.h: Removed showsURLsInToolTips ivar.
2452         * WebView/WebHTMLViewPrivate.h: Added declaration for _setTooltip so
2453         that WebChromeClient can call it.
2454
2455 2007-07-04  Adam Roben  <aroben@apple.com>
2456
2457         Initialize Settings::showsURLsInToolTips
2458
2459         Reviewed by Sam.
2460
2461         * WebView/WebView.mm:
2462         (-[WebView _updateWebCoreSettingsFromPreferences:]):
2463
2464 2007-07-04  Adam Roben  <aroben@apple.com>
2465
2466         Removed call to mouseDidMoveOverElement now that WebCore handles it
2467
2468         Reviewed by Sam.
2469
2470         * WebView/WebHTMLView.mm:
2471         (-[WebHTMLView _updateMouseoverWithEvent:]):
2472
2473 2007-07-04  Adam Roben  <aroben@apple.com>
2474
2475         Add WebChromeClient::mouseDidMoveOverElement
2476
2477         This is not called yet.
2478
2479         Reviewed by Sam.
2480
2481         * WebCoreSupport/WebChromeClient.h:
2482         * WebCoreSupport/WebChromeClient.mm:
2483
2484 2007-07-03  Darin Adler  <darin@apple.com>
2485
2486         * StringsNotToBeLocalized.txt: Updated for recent changes.
2487
2488 2007-07-03  Timothy Hatcher  <timothy@apple.com>
2489
2490         Reviewed by Darin.
2491
2492         Remove HIWebView in 64-bit.
2493
2494         Also disable a few calls that are now gone in 64-bit and filed these bugs:
2495
2496         <rdar://problem/5311653> WebKit needs to adopt HIGetMousePosition where we used GetGlobalMouse before
2497         <rdar://problem/5311648> WebKit needs to move off of CopyEvent in WebBaseNetscapePluginView
2498         <rdar://problem/5311640> WebKit needs a new solution for HISearchWindowShow on 64-bit
2499
2500         * Carbon/CarbonUtils.m:
2501         * Carbon/CarbonWindowAdapter.m:
2502         * Carbon/CarbonWindowContentView.m:
2503         * Carbon/CarbonWindowFrame.m:
2504         * Carbon/HIViewAdapter.m:
2505         (SetViewNeedsDisplay):
2506         * Carbon/HIWebView.m:
2507         (Draw):
2508         (SyncFrame):
2509         * Configurations/WebKit.xcconfig:
2510         * Plugins/WebBaseNetscapePluginView.mm:
2511         (+[WebBaseNetscapePluginView getCarbonEvent:]):
2512         (TSMEventHandler):
2513         * WebKit.LP64.exp: Added.
2514         * WebView/WebView.mm:
2515         (-[WebView _searchWithSpotlightFromMenu:]):
2516
2517 2007-07-03  Adam Roben  <aroben@apple.com>
2518
2519         Merge the Windows and Mac localized strings and exceptions files
2520
2521         Reviewed by Darin and Anders.
2522
2523         * English.lproj/Localizable.strings: Added Windows strings.
2524         * StringsNotToBeLocalized.txt: Renamed from WebKit/English.lproj/StringsNotToBeLocalized.txt.
2525
2526 2007-07-03  Adele Peterson  <adele@apple.com>
2527
2528         Removed printf I accidently left in.
2529
2530         * Misc/WebNSURLExtras.m: (mapHostNames):
2531
2532 2007-07-03  Adele Peterson  <adele@apple.com>
2533
2534         Reviewed by Darin.
2535
2536         Fix for: <rdar://problem/5292988> domain names shouldn't contain ignorable characters
2537
2538         * Misc/WebNSURLExtras.m:
2539         (isLookalikeCharacter): Renamed.  Also excludes any non-printable character, 
2540          any character considered as whitespace that isn't already converted to a space by ICU, any ignorable character,
2541          and any character excluded in Mozilla's blacklist: http://kb.mozillazine.org/Network.IDN.blacklist_chars
2542         (allCharactersInIDNScriptWhiteList):
2543
2544 2007-07-03  Darin Adler  <darin@apple.com>
2545
2546         Reviewed by Maciej.
2547
2548         - fix <rdar://problem/5310848> WebDataSource lifetime problem -- may be cause of the leaks seen on the buildbot
2549
2550         * WebView/WebDataSource.mm:
2551         (-[WebDataSourcePrivate dealloc]): Added a call to the new detachDataSource function.
2552         (-[WebDataSourcePrivate finalize]): Ditto.
2553
2554         * WebView/WebDocumentLoaderMac.h: Added detachDataSource function to be used when the
2555         WebDataSource is deallocated. Added retain/releaseDataSource helper functions to be
2556         used to retain and release the data source object. Replaced the m_hasEverBeenDetached
2557         boolean with a more primitive and hence easier to understand m_isDataSourceRetained boolean.
2558
2559         * WebView/WebDocumentLoaderMac.mm:
2560         (WebDocumentLoaderMac::WebDocumentLoaderMac): Initialize m_isDataSourceRetained to false.
2561         (WebDocumentLoaderMac::setDataSource): Call retainDataSource instead of calling HardRetain
2562         on the dataSource parameter. Also updated a comment.
2563         (WebDocumentLoaderMac::attachToFrame): Call retainDataSource unconditionally rather than
2564         trying to use m_hasEverBeenDetached to decide if a retain is needed. Also got rid of an
2565         assertion that m_loadingResources is empty -- not important any more.
2566         (WebDocumentLoaderMac::detachFromFrame): Call releaseDataSource instead of using
2567         HardRelease, but only if m_loadingResources is empty. If it's non-empty, then we'll
2568         do the releaseDataSource later in decreaseLoadCount.
2569         (WebDocumentLoaderMac::increaseLoadCount): Call retainDataSource unconditionally
2570         rather than calling HardRetain only if the old set of resources was empty.
2571         (WebDocumentLoaderMac::decreaseLoadCount): Call releaseDataSource if m_loadingResources
2572         is empty and we're not attached to a frame. If we are attached to a frame, then
2573         we'll do the releaseDataSource later in detachFromFrame.
2574         (WebDocumentLoaderMac::retainDataSource): Added. Calls CFRetain, but only if the data
2575         source is not already retained (according to the boolean).
2576         (WebDocumentLoaderMac::releaseDataSource): Added. Calls CFRelease, but only if the data
2577         source is currently retained (according to the boolean).
2578         (WebDocumentLoaderMac::detachDataSource): Added. Sets m_dataSource to nil. Since this
2579         is only called from WebDataSource's dealloc and finalize methods, it won't ever be called
2580         when the m_isDataSourceRetained boolean is true.
2581
2582 2007-07-03  Darin Adler  <darin@apple.com>
2583
2584         - forgot to check in one file in the fix for <rdar://problem/5307880>
2585           some classes need finalize methods because of non-trivial work done in dealloc methods
2586
2587         * WebView/WebView.mm: (-[WebViewPrivate finalize]): Delete identifierMap so it doesn't leak.
2588
2589 2007-07-03  Anders Carlsson  <andersca@apple.com>
2590
2591         Reviewed by Darin.
2592
2593         * WebView/WebView.mm:
2594         (-[WebView stringByEvaluatingJavaScriptFromString:]):
2595         ASSERT that the value returned isn't nil. It can't be nil when invoked on the main frame.
2596
2597 2007-07-04  Mark Rowe  <mrowe@apple.com>
2598
2599         Unreviewed 64-bit build fixes.
2600
2601         * WebCoreSupport/WebInspectorClient.mm: Let the compiler know that WebFrameView is a subclass of NSView.
2602         * WebView/WebDocumentInternal.h: Remove our preprocessor macro once we're done with it.
2603         * WebView/WebHTMLView.mm:
2604         (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Fix argument types.
2605
2606 2007-07-02  Darin Adler  <darin@apple.com>
2607
2608         Reviewed by Kevin Decker and Tim Hatcher.
2609
2610         - fix <rdar://problem/5307880> some classes need finalize methods
2611           because of non-trivial work done in dealloc methods
2612
2613         * DefaultDelegates/WebScriptDebugServer.m:
2614         (-[WebScriptDebugServer dealloc]): Added a comment about how this probably won't
2615         work under GC.
2616         * WebInspector/WebNodeHighlight.m:
2617         (-[WebNodeHighlight dealloc]): Ditto.
2618
2619         * WebView/WebDataSource.mm:
2620         (+[WebDataSourcePrivate initialize]): Added. Makes finalize run on main thread.
2621         (-[WebDataSourcePrivate finalize]): Added. Calls deref on the document loader.
2622         * WebView/WebHTMLView.mm:
2623         (+[WebHTMLViewPrivate initialize]): Added. Makes finalize run on main thread.
2624         (-[WebHTMLViewPrivate finalize]): Added. Calls deref on promisedDragTIFFDataSource.
2625
2626         * WebKit.xcodeproj/project.pbxproj: Let Xcode be Xcode.
2627
2628 2007-07-02  Oliver Hunt  <oliver@apple.com>
2629
2630         Reviewed by Justin.
2631
2632         Fix for 
2633           <rdar://problem/5290113> WebKit does not correctly handle replacement ranges from the IM in -[WebHTMLView insertText:]
2634           http://bugs.webkit.org/show_bug.cgi?id=13664
2635
2636         We replicate the logic of -[WebHTMLView setMarkedText:selectedRange:] to handle the Input Method 
2637         feeding us a replacement string through insertText: so we can handle IMs that use insertText to
2638         replace text.
2639
2640         * WebView/WebHTMLView.mm:
2641         (-[WebHTMLView insertText:]):
2642
2643 2007-07-01  Oliver Hunt  <oliver@apple.com>
2644
2645         Reviewed by Alexey.
2646
2647         Fix for <rdar://problem/5306210> Some events are still passed to WebCore despite being handled by the IM
2648         http://bugs.webkit.org/show_bug.cgi?id=14457
2649
2650         We have to assume that the IM will consume all events, so we remove the dependency
2651         on -[WebHTMLView hasMarkedText].
2652
2653         * WebView/WebHTMLView.mm:
2654         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
2655
2656 2007-06-29  John Sullivan  <sullivan@apple.com>
2657
2658         Reviewed by Oliver Hunt.
2659
2660         - WebKit support for accessing the set of rectangles that encompass the selected text
2661
2662         * WebView/WebDocumentPrivate.h:
2663         added -selectionTextRects to WebDocumentSelection protocol; tweaked comments
2664
2665         * WebView/WebHTMLView.mm:
2666         (-[WebHTMLView _selectionDraggingRect]):
2667         use selectionRect instead of selectionImageRect since they're the same and maybe we can get
2668         rid of selectionImageRect someday
2669         (-[WebHTMLView selectionTextRects]):
2670         added implementation of new protocol method, which calls through to WebCore
2671         
2672         * WebView/WebPDFView.mm:
2673         (-[WebPDFView selectionTextRects]):
2674         added simple implementation of new protocol method, which just returns the single selection rect.
2675         PDFKit doesn't support obtaining multiple rects to describe a multi-line selection.
2676         (-[WebPDFView selectionImageForcingWhiteText:]):
2677         use selectionRect instead of selectionImageRect since they're the same and maybe we can get
2678         rid of selectionImageRect someday
2679         
2680         * Misc/WebSearchableTextView.m:
2681         (-[WebSearchableTextView selectionTextRects]):
2682         added no-op implementation of new protocol method to this obsolete class
2683
2684 2007-06-28  Timothy Hatcher  <timothy@apple.com>
2685
2686         Reviewed by Darin.
2687
2688         <rdar://problem/5287569> WEBVIEW: Creating a webview in IB 3.0 (v2.0) NIB later crashes Interface Builder 2.5.4 on Tiger
2689
2690         Prevent encoding any of the WebView subviews. The subviews are ignored by -[WebView initWithCoder:] and will be recreated.
2691         The Tiger 2.0 code crashed when the WebView released the subviews in initWithCoder:, so now there are no subviews to release.
2692         This never happened before because the Tiger 2.0 code and IB wouldn't encode a WebView that has a WebHTMLView.
2693
2694         * WebView/WebView.mm:
2695         (-[WebView encodeWithCoder:]):
2696
2697 2007-06-26  John Sullivan  <sullivan@apple.com>
2698
2699         Reviewed by Darin
2700         
2701         - WebKit support for displaying multiple text matches in PDF views (<rdar://problem/4601967>)
2702
2703         * WebView/WebPDFView.h:
2704         new ivars textMatches and lastScrollPosition; now conforms to WebMultipleTextMatches protocol
2705         
2706         * WebView/WebPDFView.mm:
2707         (-[WebPDFView dealloc]):
2708         release textMatches
2709         (-[WebPDFView viewDidMoveToWindow]):
2710         start observing bounds changes in the PDF document's enclosing clip view, so we can notice when
2711         scrolling takes place
2712         (-[WebPDFView viewWillMoveToWindow:]):
2713         stop observing bounds changes in the PDF document's enclosing clip view
2714         (-[WebPDFView searchFor:direction:caseSensitive:wrap:startInSelection:]):
2715         most of the code here has been moved into the new method _nextMatchFor::::, which this now calls
2716         (-[WebPDFView setMarkedTextMatchesAreHighlighted:]):
2717         implementation of WebMultipleTextMatches protocol method, does nothing useful here because we don't
2718         support inline highlighting of matches in PDF documents
2719         (-[WebPDFView markedTextMatchesAreHighlighted]):
2720         implementation of WebMultipleTextMatches protocol method
2721         (-[WebPDFView markAllMatchesForText:caseSensitive:limit:]):
2722         implementation of WebMultipleTextMatches protocol method; calls _nextMatchFor:::: in a loop until
2723         entire document is searched or limit is hit; records results by saving PDFSelections in textMatches ivar
2724         (-[WebPDFView unmarkAllTextMatches]):
2725         implementation of WebMultipleTextMatches protocol method; clears saved textMatches
2726         (-[WebPDFView rectsForTextMatches]):
2727         implementation of WebMultipleTextMatches protocol method; converts saved PDFSelections into NSValue 
2728         objects that represent NSRects
2729         (-[WebPDFView _clipViewForPDFDocumentView]):
2730         new helper method to find the clip view whose bounds determine the current scroll position
2731         (-[WebPDFView _nextMatchFor:direction:caseSensitive:wrap:fromSelection:startInSelection:]):
2732         new helper method, extracted from searchFor:::::
2733         (-[WebPDFView _PDFDocumentViewMightHaveScrolled:]):
2734         new notification callback; tells webView's delegate when document has scrolled
2735         (-[WebPDFView _setTextMatches:]):
2736         new helper method, stores value in ivar
2737
2738 2007-06-26  Oliver Hunt  <oliver@apple.com>
2739
2740         Reviewed by Maciej.
2741
2742         Hopefully fix remainder of the IME issues on Mac.  
2743         We now assume that the IME silently consumes any event given
2744         to it during text composition, and only override this assumption
2745         if the NSTextInput or NSResponder callbacks are made.
2746
2747         This prevents us from treating those events that the IME has 
2748         consumed internally (eg. candidate window navigation) as unhandled
2749         events that should be bubbled.
2750
2751         This fixes:
2752           <rdar://problem/5107538> Major problems handling key press event with non-english Input Methods
2753           <rdar://problem/4196249> REGRESSION: Mail: Inputting space (U+0020) with IM deletes subsequent line breaks on Mail.app
2754           <rdar://problem/5015544> REGRESSION: Reverse conversion keyboard command does not work in Safari.
2755           <rdar://problem/5045121> REGRESSION: Inline is confirmed after press left/right arrow keys, happens in Mail but not in TextEdit.
2756           <rdar://problem/5076807> REGRESSION: Can't undo conversion of inline text (by hitting ESC)
2757           <rdar://problem/5085781> REGRESSION: Active input area lost "selected" highlight
2758           <rdar://problem/5094200> space key pressed to close the associated words candidate window gets inserted as text
2759           <rdar://problem/5228294> Candidate item for character matrix is sometimes skipped
2760
2761         * WebKit.xcodeproj/project.pbxproj:
2762         * WebView/WebHTMLView.mm:
2763         (-[WebHTMLView launchKeyEvent:]):
2764         (-[WebHTMLView keyDown:]):
2765         (-[WebHTMLView keyUp:]):
2766         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
2767         (-[WebHTMLView unmarkText]):
2768         (-[WebHTMLView setMarkedText:selectedRange:]):
2769         (-[WebHTMLView doCommandBySelector:]):
2770         (-[WebHTMLView insertText:]):
2771
2772 2007-06-26  Jim Correia  <jim.correia@pobox.com>
2773
2774         Reviewed by Darin.
2775
2776         Fix http://bugs.webkit.org/show_bug.cgi?id=14411
2777         Bug 14411: WebNetscapePluginPackage overagressively sets CurApRefNum, which affects shipping versions of BBEdit.
2778         <rdar://problem/5297268>
2779
2780         * Plugins/WebNetscapePluginPackage.m:
2781         (+[WebNetscapePluginPackage initialize]): Force the Resource Manager to
2782         lazy initialize, and only set CurApRefNum to the system file if
2783         CurApRefNum is still -1 after that forced lazy initialization.
2784
2785 2007-06-25  Kevin Decker  <kdecker@apple.com>
2786
2787         Reviewed by Darin.
2788
2789         <rdar://problem/5294036> -[WebView customTextEncodingName] API may return empty string instead of nil
2790
2791         * WebView/WebView.mm:
2792         (-[WebView _mainFrameOverrideEncoding]): Addded the nsStringNilIfEmpty() inline to the data being returned because 
2793         our API says "The custom text encoding name or nil if no custom text encoding name has been set." I also verified
2794         the standing Tiger WebKit behavior for this method and it does indeed return nil if a custom encoding wasn't set.
2795
2796 2007-06-25  John Sullivan  <sullivan@apple.com>
2797
2798         Reviewed by Darin
2799         
2800         - WebKit part of <rdar://problem/5293820>, needed to support multiple matches in PDFs
2801
2802         * WebView/WebDocumentInternal.h:
2803         Added WebMultipleTextMatches protocol, containing five methods that were formerly implemented in WebHTMLView
2804         * WebView/WebHTMLViewPrivate.h:
2805         Removed declarations for the methods that are now in WebMultipleTextMatches protocol
2806         
2807         * WebView/WebHTMLView.mm:
2808         (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]):
2809         moved this method into the WebDocumentInternalProtocols portion of the file
2810         (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
2811         ditto
2812         (-[WebHTMLView markedTextMatchesAreHighlighted]):
2813         ditto
2814         (-[WebHTMLView unmarkAllTextMatches]):
2815         ditto
2816         (-[WebHTMLView rectsForTextMatches]):
2817         ditto
2818
2819         * WebView/WebView.mm:
2820         (-[WebView canMarkAllTextMatches]):
2821         new method, returns YES only if the documentView of every frame implements WebMultipleTextMatches
2822         (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
2823         check for WebMultipleTextMatches protocol instead of checking for WebHTMLView class
2824         (-[WebView unmarkAllTextMatches]):
2825         ditto
2826         (-[WebView rectsForTextMatches]):
2827         ditto
2828
2829         * WebView/WebViewPrivate.h:
2830         declared new method canMarkAllTextMatches
2831
2832 2007-06-25  John Sullivan  <sullivan@apple.com>
2833
2834         Reviewed by Darin
2835         
2836         Fixed <rdar://problem/5292259> Find on Page doesn't work (throws exception) on page that includes PDF in a subframe
2837
2838         * WebView/WebView.mm:
2839         (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
2840         We were testing whether the view was an HTMLView, but then running code that assumed it was an HTMLView outside of
2841         that test. That's a bad idea.
2842
2843 2007-06-22  Adele Peterson  <adele@apple.com>
2844
2845         Reviewed by Geoff and Darin.
2846
2847         Fix for: <rdar://problem/5239236> Other slash characters should not be permitted as part of a domain name
2848
2849         * Misc/WebNSURLExtras.m:
2850         (isSlashOrPeriodLookalike):
2851         (allCharactersInIDNScriptWhiteList):
2852
2853 2007-06-21  Sam Weinig  <sam@webkit.org>
2854
2855         Reviewed by Antti.
2856
2857         Remove empty directories
2858
2859         * WebInspector/webInspector: directory removed.
2860         * WebInspector/webInspector/Images: directory removed
2861
2862 2007-06-21  Justin Garcia  <justin.garcia@apple.com>
2863
2864         Reviewed by Tim.
2865         
2866         <rdar://problem/5237524> 
2867         REGRESSION: Keyboard commands don't work in a message window until you click inside the message
2868         
2869         When you open a message in its own window, Mail creates an empty 
2870         WebView, makes that WebView firstResponder and then sets off a 
2871         load inside that WebView.
2872         
2873         When we're asked to create the empty WebView, we put an empty 
2874         WebHTMLView inside it (in r21367 we began creating a document 
2875         for empty frames).  When Mail makes the WebView first responder 
2876         we make that empty WebHTMLView firstResponder.  Then when the 
2877         load finishes we create a new WebHTMLView and set it as the 
2878         document view.  
2879         
2880         Inside _setDocumentView, if the old document view or one of its
2881         descendants was the first responder, we'd makeFirstResponder:nil 
2882         so that the window wouldn't be left with a firstResponder that 
2883         was no longer inside of it.  This change fixes the bug by instead 
2884         transferring firstResponder status to the new document view.
2885         
2886         We could also fix this by not allowing the WebHTMLView to become
2887         firstResponder when it's in the provisional state mentioned above.
2888
2889         * WebView/WebFrameView.mm:
2890         (-[WebFrameView _setDocumentView:]):
2891
2892 2007-06-21  John Sullivan  <sullivan@apple.com>
2893
2894         Reviewed by Adele
2895         
2896         - fixed <rdar://problem/5268673> REGRESSION: Context menu missing for PDF in frame when there's no selection
2897         
2898         This was surprisingly interesting. It turns out that at least for Safari, the method [WebDefaultUIDelegate
2899         webView:contextMenuItemsForElement:defaultMenuItems:] is only exercised from WebPDFView these days. It mimics
2900         some of the code that was moved to WebCore as part of the Great Context Menu Refactoring of 2006, but is
2901         independent of that code. And it was partly broken/incomplete, probably as a result of said refactoring.
2902
2903         * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
2904         (localizedMenuTitleFromAppKit()):
2905         deleted this function since I removed all callers
2906         (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
2907         Handle WebMenuItemTagOpenFrameInNewWindow tag, since code later in this file was relying on it. Added
2908         ASSERT_NOT_REACHED to the default case, since returning nil from this method is bad.
2909         Also, use WebKit versions of menu title strings rather than AppKit versions. We added these strings to WebKit 
2910         a while back so we don't need to sneakily find them in AppKit anymore.
2911         (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
2912         make the WebView be the target of the Open Frame in New Window item; previously it was self, but that was
2913         just silly (probably a leftover from some code shuffling when context menus were reimplemented)
2914
2915         * WebView/WebView.mm:
2916         (-[WebView _openFrameInNewWindowFromMenu:]):
2917         new method, used by Open Frame in New Window menu item.
2918
2919         * WebView/WebViewInternal.h:
2920         Declare new method used by menu item. This isn't necessary for compilation, but could prevent the accidental
2921         deletion of the method implementation.
2922
2923 2007-06-20  Mark Rowe  <mrowe@apple.com>
2924
2925         Reviewed by Adam.
2926
2927         Fix http://bugs.webkit.org/show_bug.cgi?id=14255.
2928         Bug 14255: Reproducible crash opening web inspector from debug menu
2929
2930         Reinstate the WebInspector class so WebKit clients that currently depend on it
2931         will build and run correctly.
2932
2933         * WebInspector/WebInspector.h: Added.
2934         * WebInspector/WebInspector.mm: Added.
2935         (+[WebInspector webInspector]):
2936         (-[WebInspector dealloc]):
2937         (-[WebInspector setWebFrame:]):
2938         (-[WebInspector showWindow:]):
2939         * WebKit.exp:
2940         * WebKit.xcodeproj/project.pbxproj:
2941
2942 2007-06-20  Adam Roben  <aroben@apple.com>
2943
2944         Land the new Inspector.
2945
2946         Co-written with Tim Hatcher.
2947
2948         Reviewed by Anders, Adele, Hyatt, and Sam.
2949
2950         Implement the InspectorClient interface.
2951
2952         * WebCoreSupport/WebInspectorClient.h: Added.
2953         * WebCoreSupport/WebInspectorClient.mm: Added.
2954         (WebInspectorClient::WebInspectorClient):
2955         (WebInspectorClient::inspectorDestroyed):
2956         (WebInspectorClient::createPage):
2957         (WebInspectorClient::showWindow):
2958         (WebInspectorClient::closeWindow):
2959         (WebInspectorClient::attachWindow):
2960         (WebInspectorClient::detachWindow):
2961         (WebInspectorClient::highlight):
2962         (WebInspectorClient::hideHighlight):
2963         (WebInspectorClient::inspectedURLChanged):
2964         (WebInspectorClient::updateWindowTitle):
2965         (-[WebInspectorWindowController init]):
2966         (-[WebInspectorWindowController initWithInspectedWebView:]):
2967         (-[WebInspectorWindowController dealloc]):
2968         (-[WebInspectorWindowController inspectorVisible]):
2969         (-[WebInspectorWindowController webView]):
2970         (-[WebInspectorWindowController window]):
2971         (-[WebInspectorWindowController windowShouldClose:]):
2972         (-[WebInspectorWindowController close]):
2973         (-[WebInspectorWindowController showWindow:]):
2974         (-[WebInspectorWindowController attach]):
2975         (-[WebInspectorWindowController detach]):
2976         (-[WebInspectorWindowController highlightAndScrollToNode:]):
2977         (-[WebInspectorWindowController highlightNode:]):
2978         (-[WebInspectorWindowController hideHighlight]):
2979         (-[WebInspectorWindowController animationDidEnd:]):
2980
2981         Add an easier-to-see highlight.
2982
2983         * Misc/WebNSViewExtras.h:
2984         * Misc/WebNSViewExtras.m:
2985         (-[NSView _web_convertRect:toView:]):
2986         * WebInspector/WebNodeHighlight.h:
2987         * WebInspector/WebNodeHighlight.m:
2988         (-[WebNodeHighlightFadeInAnimation setCurrentProgress:]):
2989         (-[WebNodeHighlight initWithTargetView:]):
2990         (-[WebNodeHighlight setHighlightedNode:]):
2991         (-[WebNodeHighlight highlightedNode]):
2992         (-[WebNodeHighlight dealloc]):
2993         (-[WebNodeHighlight attachHighlight]):
2994         (-[WebNodeHighlight delegate]):
2995         (-[WebNodeHighlight detachHighlight]):
2996         (-[WebNodeHighlight show]):
2997         (-[WebNodeHighlight hide]):
2998         (-[WebNodeHighlight animationDidEnd:]):
2999         (-[WebNodeHighlight ignoresMouseEvents]):
3000         (-[WebNodeHighlight highlightView]):
3001         (-[WebNodeHighlight setDelegate:]):
3002         (-[WebNodeHighlight setHolesNeedUpdateInTargetViewRect:]):
3003         (-[WebNodeHighlight setIgnoresMouseEvents:]):
3004         (-[WebNodeHighlight targetView]):
3005         (-[WebNodeHighlight _computeHighlightWindowFrame]):
3006         (-[WebNodeHighlight _repositionHighlightWindow]):
3007         * WebInspector/WebNodeHighlightView.h:
3008         * WebInspector/WebNodeHighlightView.m:
3009         (-[WebNodeHighlightView initWithWebNodeHighlight:]):
3010         (-[WebNodeHighlightView dealloc]):
3011         (-[WebNodeHighlightView detachFromWebNodeHighlight]):
3012         (-[WebNodeHighlightView drawRect:]):
3013         (-[WebNodeHighlightView webNodeHighlight]):
3014         (-[WebNodeHighlightView fractionFadedIn]):
3015         (-[WebNodeHighlightView setFractionFadedIn:]):
3016         (-[WebNodeHighlightView setHolesNeedUpdateInRect:]):
3017         (-[WebNodeHighlightView _holes]):
3018
3019         WebView changes needed for the new Inspector.
3020
3021         * WebView/WebView.mm: Remove the old _inspectElement method now that
3022         this is handled by WebCore.
3023         (-[WebView _isClosed]): Added.
3024         (-[WebView initWithFrame]): Give each Page an InspectorClient to
3025         enable the Inspector.
3026         * WebView/WebViewPrivate.h:
3027
3028         Updates needed for WebCore changes.
3029
3030         * WebCoreSupport/WebContextMenuClient.h:
3031         * WebCoreSupport/WebContextMenuClient.mm:
3032         * WebCoreSupport/WebViewFactory.mm:
3033         (-[WebViewFactory contextMenuItemTagInspectElement]):
3034         * WebView/WebUIDelegatePrivate.h:
3035
3036         Remove old Inspector code.
3037
3038         * WebCoreSupport/WebFrameLoaderClient.mm:
3039         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
3040         (WebFrameLoaderClient::assignIdentifierToInitialRequest):
3041         (WebFrameLoaderClient::dispatchDidFinishLoading):
3042         * WebInspector/WebInspector.m: Removed.
3043         * WebInspector/WebInspectorPanel.h: Removed.
3044         * WebInspector/WebInspectorPanel.m: Removed.
3045         * WebInspector/webInspector/Images/button.png: Removed.
3046         * WebInspector/webInspector/Images/buttonDivider.png: Removed.
3047         * WebInspector/webInspector/Images/buttonPressed.png: Removed.
3048         * WebInspector/webInspector/Images/close.png: Removed.
3049         * WebInspector/webInspector/Images/closePressed.png: Removed.
3050         * WebInspector/webInspector/Images/downTriangle.png: Removed.
3051         * WebInspector/webInspector/Images/menu.png: Removed.
3052         * WebInspector/webInspector/Images/menuPressed.png: Removed.
3053         * WebInspector/webInspector/Images/popup.png: Removed.
3054         * WebInspector/webInspector/Images/popupPressed.png: Removed.
3055         * WebInspector/webInspector/Images/resize.png: Removed.
3056         * WebInspector/webInspector/Images/rightTriangle.png: Removed.
3057         * WebInspector/webInspector/Images/scrollThumbBottom.png: Removed.
3058         * WebInspector/webInspector/Images/scrollThumbMiddle.png: Removed.
3059         * WebInspector/webInspector/Images/scrollTrackBottom.png: Removed.
3060         * WebInspector/webInspector/Images/upTriangle.png: Removed.
3061         * WebInspector/webInspector/inspector.css: Removed.
3062         * WebInspector/webInspector/inspector.html: Removed.
3063         * WebInspector/webInspector/inspector.js: Removed.
3064         * WebInspector/webInspector/scrollarea.js: Removed.
3065         * WebInspector/webInspector/scrollbar.js: Removed.
3066         * WebInspector/webInspector/utilities.js: Removed.
3067         * WebView/WebFrame.mm:
3068         (-[WebFramePrivate dealloc]):
3069         * WebView/WebFrameInternal.h:
3070         * WebView/WebHTMLView.mm:
3071         (-[WebHTMLView menuForEvent:]):
3072
3073         Build-fu:
3074
3075         * WebKit.exp:
3076         * WebKit.xcodeproj/project.pbxproj:
3077
3078 2007-06-20  Justin Garcia  <justin.garcia@apple.com>
3079
3080         Reviewed by Darin.
3081         
3082         <rdar://problem/5263541> REGRESSION (Safari 3 Beta 1): Pressing Delete doesn't delete an HTML message in Mail
3083         
3084         Mail wasn't receiving the keyDown event because WebFrameView was blocking it.
3085         It blocks the event and moves back/forward on Delete/Shift+Delete if the
3086         back/forward list is enabled.
3087
3088         * WebView/WebFrameView.mm:
3089         (-[WebFrameView keyDown:]): Check to see if the BackForwardList is
3090         enabled.  It always exists.
3091
3092 2007-06-19  Anders Carlsson  <andersca@apple.com>
3093
3094         Reviewed by Kevin Decker.
3095
3096         <rdar://problem/5266289> REGRESSION (Safari 3 Beta 1): Incoming iChat messages are delayed
3097
3098         * WebView/WebDocumentLoaderMac.mm:
3099         (needsAppKitWorkaround):
3100         New function which checks if the frame load delegate belongs to AppKit.
3101         
3102         (WebDocumentLoaderMac::setDataSource):
3103         If the frame load delegate belongs to AppKit, set m_deferMainResourceDataLoad to false.
3104
3105 2007-06-19  John Sullivan  <sullivan@apple.com>
3106
3107         Reviewed by Tim Hatcher
3108
3109         - fixed <rdar://problem/5272011> Hole for find-on-page match in subframe isn't clipped by frame bounds
3110
3111         * WebView/WebView.mm:
3112         (-[WebView rectsForTextMatches]):
3113         intersect the HTMLView's computed rect with the visible rect for that view
3114
3115 2007-06-19  Jim Correia  <jim.correia@pobox.com>
3116
3117         Reviewed by Kevin Decker
3118         
3119         * Carbon/HIWebView.m:
3120         (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.
3121
3122 2007-06-18  Sam Weinig  <sam@webkit.org>
3123
3124         Reviewed by Beth.
3125
3126         Build fix.
3127
3128         * WebCoreSupport/WebChromeClient.mm:
3129
3130 2007-06-18  Kevin Decker <kdecker@apple.com>
3131
3132         * Carbon/HIWebView.m:
3133         (WindowHandler): Fixed the Tiger build; ControlKind wasn't defined.
3134
3135 2007-06-18  Kevin Decker  <kdecker@apple.com>
3136
3137         Reviewed by Tim Hatcher.
3138
3139         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
3140
3141         * Carbon/HIWebView.m:
3142         (WindowHandler): Because the fix for 5051616 causes Tiger to crash in HIToolbox (but not on Leopard), I reverted back to using GetControlKind
3143         on Tiger only, instead of HIObjectIsOfClass.
3144
3145 2007-06-16  David Hyatt  <hyatt@apple.com>
3146
3147         Back out fix for 13972.  Quicktime will no longer clip correctly. :(
3148         Too many regressions in Mail caused by inserting an extra view into the
3149         hierarchy.  Can revisit later.
3150
3151         Reviewed by olliej
3152
3153         * Plugins/WebPluginController.mm:
3154         (-[WebPluginController destroyPlugin:]):
3155         (-[WebPluginController destroyAllPlugins]):
3156         * WebCoreSupport/WebFrameBridge.mm:
3157         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
3158         * WebView/WebHTMLView.mm:
3159         (-[WebHTMLView addSubview:]):
3160         (-[WebHTMLView willRemoveSubview:]):
3161
3162 2007-06-15  Sam Weinig  <sam@webkit.org>
3163
3164         Reviewed by Darin.
3165
3166         Patch for http://bugs.webkit.org/show_bug.cgi?id=14053
3167         Autogenerate JS binding for Rect
3168
3169         - Fix conflicts by using ::Rect instead of Rect.
3170
3171         * Plugins/WebBaseNetscapePluginView.mm:
3172         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
3173         (-[WebBaseNetscapePluginView sendEvent:]):
3174         (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
3175         (-[WebBaseNetscapePluginView invalidateRegion:]):
3176         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
3177
3178 2007-06-15  Anders Carlsson  <andersca@apple.com>
3179
3180         Reviewed by Kevin.
3181
3182         A better fix for <rdar://problem/5271774>. Only try to access the element if the
3183         view has an associated window. This also works with GC. (Fix suggested by Kevin.)
3184
3185         * Plugins/WebKitPluginContainerView.mm:
3186         (-[WebKitPluginContainerView dealloc]):
3187         (-[WebKitPluginContainerView visibleRect]):
3188
3189 2007-06-15  Anders Carlsson  <andersca@apple.com>
3190
3191         Reviewed by Kevin.
3192
3193         <rdar://problem/5271774> REGRESSION: A crash occurs when closing a window that contains a QT movie
3194         
3195         In some cases, calling [super dealloc] might end up calling visibleRect, so make sure to
3196         set _element to 0 so we won't send a message to a freed object and crash.
3197         
3198         * Plugins/WebKitPluginContainerView.mm:
3199         (-[WebKitPluginContainerView dealloc]):
3200         (-[WebKitPluginContainerView visibleRect]):
3201
3202 2007-06-14  Anders Carlsson  <andersca@apple.com>
3203
3204         Reviewed by Geoff.
3205
3206         Call cleanupScriptObjectsForPlugin on the frame after destroying the plug-in.
3207         
3208         * Plugins/WebBaseNetscapePluginView.mm:
3209         (-[WebBaseNetscapePluginView _destroyPlugin]):
3210         * Plugins/WebPluginController.mm:
3211         (-[WebPluginController destroyPlugin:]):
3212         (-[WebPluginController destroyAllPlugins]):
3213
3214 2007-06-13  John Sullivan  <sullivan@apple.com>
3215
3216         Reviewed by Adele Peterson
3217         
3218         - fixed <rdar://problem/5267607> Clicking the "Save to Downloads" button in 
3219           PDF overlay too soon results in corrupt file
3220
3221         * WebView/WebPDFView.mm:
3222         (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
3223         Just beep if the document isn't available yet, since trying to save it as a file
3224         really isn't a good idea.
3225
3226 2007-06-12  Oliver Hunt  <oliver@apple.com>
3227
3228         Reviewed by Darin.
3229
3230         Use correct size for BITMAPINFOHEADER -- whoops.
3231
3232         * win/WebIconDatabase.cpp:
3233         (createDIB):
3234         (WebIconDatabase::getOrCreateDefaultIconBitmap):
3235
3236 2007-06-10  David Hyatt  <hyatt@apple.com>
3237
3238         Fix for bug 14037, make sure respondsToSelector does the write thing
3239         when invoked on a WebKit plugin's container view.
3240
3241         Reviewed by Mark Rowe
3242
3243         * Plugins/WebKitPluginContainerView.mm:
3244         (-[WebKitPluginContainerView respondsToSelector:]):
3245
3246 2007-06-08  John Sullivan  <sullivan@apple.com>
3247
3248         * WebView/WebViewPrivate.h:
3249         Added a FIXME
3250
3251 2007-06-07  Justin Garcia  <justin.garcia@apple.com>
3252
3253         Reviewed by Tristan.
3254         
3255         <rdar://problem/5250997> A crash occurs when selecting Undo Typing for a page that has been closed in tab
3256
3257         * WebView/WebView.mm:
3258         (-[WebView _clearUndoRedoOperations]): Added.
3259         * WebView/WebViewPrivate.h:
3260
3261 2007-06-07  Oliver Hunt  <oliver@apple.com>
3262
3263         Reviewed by Sam "The Intern" Weinig.
3264         
3265         Don't be overzealous with the input checks, firstRectForCharacterRange
3266         can be determined even when there is not an active editable region.
3267         
3268         This unbreaks editing/input/range-for-empty-document which was broken
3269         by aforementioned overzealousness. 
3270
3271         * WebView/WebHTMLView.mm:
3272         (-[WebHTMLView firstRectForCharacterRange:]):
3273
3274 2007-06-07  Oliver Hunt  <oliver@apple.com>
3275
3276         Reviewed by Justin.
3277         
3278         Add checks to make sure we don't try to create, use
3279         or return invalid ranges to TSM when it calls us despite
3280         not currently being in an editable region.
3281
3282         * WebView/WebHTMLView.mm:
3283         (isTextInput):
3284         (-[WebHTMLView textStorage]):
3285         (-[WebHTMLView firstRectForCharacterRange:]):
3286         (-[WebHTMLView selectedRange]):
3287         (-[WebHTMLView attributedSubstringFromRange:]):
3288
3289 2007-06-06  David Hyatt  <hyatt@apple.com>
3290
3291         Make sure to hand back a script object for webkit plugins (the container
3292         view forwards to its plugin child).
3293
3294         Reviewed by sullivan
3295
3296         * Plugins/WebKitPluginContainerView.h:
3297         * Plugins/WebKitPluginContainerView.mm:
3298         (-[WebKitPluginContainerView objectForWebScript]):
3299
3300 2007-06-06  David Hyatt  <hyatt@apple.com>
3301
3302         Fix for bug 13972, quicktime doesn't respect CSS clip and overflow properties.
3303         Make sure that calls to [NSView visibleRect] will do the right thing for both
3304         Netscape plugins and WebKit plugins.
3305
3306         Reviewed by olliej
3307
3308         * Plugins/WebBaseNetscapePluginView.mm:
3309         (-[WebBaseNetscapePluginView visibleRect]):
3310         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
3311         (-[WebBaseNetscapePluginView isOpaque]):
3312         * Plugins/WebKitPluginContainerView.h: Added.
3313         * Plugins/WebKitPluginContainerView.mm: Added.
3314         (-[WebKitPluginContainerView initWithFrame:DOMElement:]):
3315         (-[WebKitPluginContainerView dealloc]):
3316         (-[WebKitPluginContainerView visibleRect]):
3317         * Plugins/WebPluginController.mm:
3318         (-[WebPluginController destroyAllPlugins]):
3319         * WebCoreSupport/WebFrameBridge.mm:
3320         (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
3321         * WebKit.xcodeproj/project.pbxproj:
3322         * WebView/WebHTMLView.mm:
3323         (-[WebHTMLView addSubview:]):
3324         (-[WebHTMLView willRemoveSubview:]):
3325
3326 2007-06-04  Oliver Hunt  <oliver@apple.com>
3327
3328         Reviewed by Geoff and Justin.
3329
3330         Fix for <rdar://problem/5246941> Clicking URL field on 
3331         Safari causes halt for a minute when using input methods.
3332         and <rdar://problem/5245964> Safari hangs for several 
3333         seconds when trying to select text using mouse
3334         
3335         This is a by product of the textStorage hack used to fix 
3336         rdar://problem/5000470 -- TSM calls textStorage repeatedly
3337         when changing focus, on certain mouse events, etc.  If there
3338         is no selection/editable region we repeatedly create an     
3339         NSAttributedString from the full document.  If the document is
3340         sufficiently long this starts consuming an inordinate amount of 
3341         time.
3342         
3343         This check should really have been present in the original 
3344         patch.
3345
3346         * WebKit.xcodeproj/project.pbxproj:
3347         * WebView/WebHTMLView.mm:
3348         (-[WebHTMLView textStorage]):
3349
3350 2007-05-31  David Hyatt  <hyatt@apple.com>
3351
3352         Fix for 11768, Flash plugin does not respect clips set by CSS.
3353
3354         Reviewed by olliej
3355
3356         * Plugins/WebBaseNetscapePluginView.mm:
3357         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
3358
3359 2007-05-30  Mark Rowe  <mrowe@apple.com>
3360
3361         Build fixes after r21889.
3362
3363         * ForwardingHeaders/kjs/function.h: Added.
3364
3365 2007-05-29  Mark Rowe  <mrowe@apple.com>
3366
3367         Reviewed by Geoff.
3368
3369         64-bit build fix.  Ensure that use of WebNSUInteger in headers is matched by WebNSUInteger in implementations.
3370
3371         * DefaultDelegates/WebScriptDebugServer.h:
3372         * DefaultDelegates/WebScriptDebugServer.m:
3373         (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
3374         (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
3375         * DefaultDelegates/WebScriptDebugServerPrivate.h:
3376         * History/WebBackForwardList.mm:
3377         (-[WebBackForwardList setPageCacheSize:]):
3378         (-[WebBackForwardList pageCacheSize]):
3379         * WebView/WebView.mm:
3380         (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
3381
3382 2007-05-26  Darin Adler  <darin@apple.com>
3383
3384         Reviewed by Tim Hatcher.
3385
3386         * MigrateHeaders.make: Added dependency on this makefile itself, which is
3387         useful when you change the sed command or other aspect of this file. My build
3388         failed until I made this fix.
3389
3390 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
3391
3392         Reviewed by Darin Adler.
3393
3394         Fixed <rdar://problem/5055182> The page cache has no global cap.
3395         
3396         The main WebKit changes are:
3397             1. Changed -[WebBackForwardList setPageCacheSize] and -[WebBackForwardList 
3398             pageCacheSize] to accomodate the new global page cache model, updating
3399             their documentation. 
3400             
3401             2. Added -[WebPreferences setShouldUsePageCache] and -[WebPreferences 
3402             shouldUsePageCache] as pending public API.
3403             
3404             3. Centralized calculation of object cache and page cache sizes inside
3405             WebPreferences. 
3406             
3407             Cchanged our old behavior of reading a preference and applying a fudge 
3408             factor with a new behavior of just using the preference directly. The 
3409             old behavior was confusing and often inappropriate. (For example, if 
3410             you set a page cache size of 100, a 256MB machine would somewhat 
3411             arbitrarily reduce that number to 98. ???)
3412
3413         * WebView/WebView.mm: Added support for two flags to determine whether
3414         to use the page cache. If either -[WebBackForwardList setPageCacheSize:0]
3415         or -[WebPreferences setShouldUsePageCache:NO] is called, we don't use
3416         the page cache.
3417
3418 2007-05-25  Timothy Hatcher  <timothy@apple.com>
3419
3420         Reviewed by Kevin Decker.
3421
3422         <rdar://problem/5219089> Changes for migration of DictionaryServices
3423
3424         * WebView/WebHTMLView.mm:
3425         (-[WebHTMLView _lookUpInDictionaryFromMenu:]): look for the HIDictionaryWindowShow symbol in HIToolbox
3426
3427 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
3428
3429         Reviewed by Oliver Hunt.
3430         
3431         Fixed global initializer (like you fix a dog).
3432         
3433         I'm not sure how our script missed this. I tested, and it generally doesn't 
3434         seem to work very well.
3435
3436         * WebView/WebHTMLView.mm: Allocate lazily to avoid the performance hit of
3437         a global initializer.
3438         (promisedDataClient):
3439         (-[WebHTMLViewPrivate dealloc]):
3440         (-[WebHTMLViewPrivate clear]):
3441         (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
3442
3443 2007-05-25  Brady Eidson  <beidson@apple.com>
3444
3445         Reviewed by Darin
3446
3447         <rdar://problem/5228371> - REGRESSION - Certain mail message bodies display as empty
3448
3449         This is due to http://trac.webkit.org/projects/webkit/changeset/21480 which unintentionally
3450         made applewebdata urls result in check.call(false) instead of check.call(true)
3451
3452         Best place for a fix is to have the FrameLoaderClient::canHandleRequest() call return true, which
3453         really is rooted in WebView
3454
3455         <rdar://problem/5229587> tracks adding a layout test
3456
3457         * WebView/WebView.mm:
3458         (+[WebView _canHandleRequest:]): Return true for applewebdata URLs
3459
3460 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
3461
3462         Reviewed by Darin Adler, Tim Hatcher.
3463         
3464         "unsigned" => "WebNSUInteger" in public API.
3465
3466         * History/WebBackForwardList.h:
3467         * WebView/WebScriptDebugDelegate.h:
3468         * WebView/WebUIDelegate.h:
3469         * WebView/WebViewPrivate.h:
3470
3471 2007-05-25  Geoffrey Garen  <ggaren@apple.com>
3472
3473         Reviewed by Darin Adler.
3474         
3475         Moved JavaScriptCore-related pending public API to public API.
3476
3477         * MigrateHeaders.make: Hack to prevent <JavaScriptCore/JSBase.h> from 
3478         automatically converting to <WebKit/JSBase.h>
3479         
3480         Moved -windowObject and -globalContext
3481
3482         * WebView/WebFramePrivate.h: from here
3483         * WebView/WebFrame.h: to here
3484         * WebView/WebFrame.mm: and out of its temporary category
3485
3486         Moved -didClearWindowObject:forFrame:
3487
3488         * WebView/WebViewPrivate.h: from here
3489         * WebView/WebFrameLoadDelegate.h: to here
3490
3491 2007-05-25  John Sullivan  <sullivan@apple.com>
3492
3493         Reviewed by Anders and Tim
3494         
3495         - fixed <rdar://problem/5226000> REGRESSION: In Gmail and Mail, a hang occurs when attempting 
3496           to grammar/spellcheck a word in a reply
3497
3498         * WebCoreSupport/WebEditorClient.mm:
3499         (WebEditorClient::checkGrammarOfString):
3500         Fixed recently-introduced false assumption that NSNotFound == -1
3501
3502 2007-05-24  dethbakin  <bdakin@apple.com>
3503
3504         Reviewed by Geoff.
3505
3506         Fix for <rdar://problem/5023545> QuickBooks Pro 2007:hang/crash 
3507         after closing QuickBooks Tutorial Center with Leopard9A377
3508
3509         We can hit a race condition where drawRect will be called after the 
3510         WebView has closed. Quickbooks does not properly close the WebView 
3511         and set the UIDelegate to nil, so the UIDelegate is stale and we 
3512         crash. This is a regression because the code that uses the 
3513         UIDelegate in the drawRect code path was only added recently. The 
3514         method that the UIDelegate calls into is new -- it does not exist 
3515         on Tiger -- so there is no harm in not running this code for 
3516         applications linked against older WebKits. Other applications may 
3517         run into this same bug so I am not doing a bundle 
3518         check...particularly because, as I mentioned, the new UIDelegate 
3519         call would not be implemented by older clients anyway.  
3520
3521         * Misc/WebKitVersionChecks.h:
3522         * WebView/WebHTMLView.mm:
3523         (-[WebHTMLView drawSingleRect:]):
3524
3525 2007-05-24  Darin Adler  <darin@apple.com>
3526
3527         * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
3528
3529 2007-05-24  Oliver Hunt  <oliver@apple.com>
3530
3531         Reviewed by Adam, Darin, and Geoff.
3532
3533         Fix for <rdar://problem/5000470> REGRESSION: The IM reconvert
3534         function returns incorrect symbol due to inconsistent range
3535         domains in TSM
3536
3537         Text Services Management uses ranges provided by the
3538         NSTextInput API to index into the string return by
3539         -[WebHTMLView string]. As a result some input methods
3540         incorrectly get their candidate text from the beginning
3541         of the document instead of from the input element.
3542
3543         TSM prefers to query -textStorage over -string so as a
3544         workaround we provide an implementation of -textStorage that
3545         returns the content of the current text input.  TSM only ever
3546         queries the result of textStorage as an NSAttributedString so
3547         we do not need to implement a fake NSTextStorage class
3548
3549         This should not cause harm to anything else as textStorage is
3550         actually a method on NSTextView, which we clearly are not. TSM
3551         only queries the method because it uses respondsToSelector to
3552         control behaviour.
3553
3554         * WebView/WebHTMLView.mm:
3555         (-[WebHTMLView textStorage]):
3556
3557
3558 2007-05-24  David Harrison  <harrison@apple.com>
3559
3560         Reviewed by Tim Hatcher.
3561
3562         <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()
3563         
3564         _private->loader->frameLoader() was not being nil checked.
3565         * WebView/WebDataSource.mm:
3566         (-[WebDataSource request]):
3567         Add nil check for _private->loader->frameLoader() 
3568
3569 2007-05-23  Anders Carlsson  <andersca@apple.com>
3570
3571         Reviewed by Geoff.
3572
3573         <rdar://problem/3663808> Resize large images to fit in the browser window
3574         
3575         Add new WebPreferences SPI.
3576         
3577         * WebView/WebPreferenceKeysPrivate.h:
3578         * WebView/WebPreferences.m:
3579         (+[WebPreferences initialize]):
3580         (-[WebPreferences enableAutomaticImageResizing]):
3581         (-[WebPreferences setEnableAutomaticImageResizing:]):
3582         * WebView/WebPreferencesPrivate.h:
3583         * WebView/WebView.mm:
3584         (-[WebView _updateWebCoreSettingsFromPreferences:]):
3585
3586 2007-05-23  Sam Weinig  <sam@webkit.org>
3587
3588         Reviewed by Darin.
3589
3590         Patch for http://bugs.webkit.org/show_bug.cgi?id=13830
3591         Auto-generate JS DOM bindings for HTMLDocument and most of the rest
3592         of HTMLElement
3593
3594         * MigrateHeaders.make: add DOMHTMLDocumentPrivate.h
3595         * WebKit.xcodeproj/project.pbxproj:
3596
3597 2007-05-23  Oliver Hunt  <oliver@apple.com>
3598
3599         Reviewed by Geoff.
3600
3601         Fix for <rdar://problem/5223782> REGRESSION: Can't drag and drop a standalone image
3602
3603         The main resource for a standalone image webarchive has the same mimetype as the
3604         underlying image.
3605
3606         * Misc/WebNSPasteboardExtras.mm:
3607         (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
3608
3609 2007-05-22  Sam Weinig  <sam@webkit.org>
3610
3611         Reviewed by Adam.
3612
3613         Patch for http://bugs.webkit.org/show_bug.cgi?id=13833
3614         Add ObjC DOM binding for HTMLMarqeeElement
3615
3616         - Also adds missing DOMHTMLFramePrivate.
3617
3618         * MigrateHeaders.make:
3619
3620 2007-05-22  Darin Adler  <darin@apple.com>
3621
3622         Reviewed by Geoff.
3623
3624         * WebInspector/webInspector/treeoutline.js: Use ownerDocument instead of non-standard
3625         document property.
3626
3627 2007-05-22  Adele Peterson  <adele@apple.com>
3628
3629         Reviewed by Darin.
3630
3631         Adding some asserts to help detect other cases of <rdar://problem/5171145>
3632
3633         * WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge makeFirstResponder:]):
3634
3635 2007-05-22  Brady Eidson  <beidson@apple.com>
3636
3637         Reviewed by Kevin (Sarge)
3638
3639         <rdar://problem/5219885> - Crash after closing a inline popup ad at http://news.yahoo.com/
3640
3641         This regressed in http://trac.webkit.org/projects/webkit/changeset/21618
3642
3643         * WebView/WebFrame.mm:
3644         (-[WebFrame dataSource]): Null check the frameloader
3645
3646 2007-05-21  Adele Peterson  <adele@apple.com>
3647
3648         Fix by Darin, reviewed by me.
3649
3650         Fix for <rdar://problem/5171145> Safari crashed closing tab in NSInputContext updateInputContexts
3651
3652         * WebView/WebFrameView.mm: (-[WebFrameView _setDocumentView:]): If the old view is the first responder,
3653         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.
3654
3655 2007-05-21  Brady Eidson  <beidson@apple.com>
3656
3657         Making the importance of my last change more clear
3658
3659         * WebView/WebViewPrivate.h: "Leave for Dashboard, people!"
3660
3661 2007-05-21  Brady Eidson  <beidson@apple.com>
3662
3663         Reviewed by Kevin (Sarge)
3664
3665         <rdar://problem/5217124> - Re-add mistakenly removed SPI
3666
3667         * WebView/WebView.mm:
3668         (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]):
3669         * WebView/WebViewPrivate.h:
3670
3671 2007-05-21  Anders Carlsson  <andersca@apple.com>
3672
3673         Reviewed by Ada.
3674
3675         <rdar://problem/5200816> REGRESSION: With Shiira 1.2.2 , I can't open embedded link in flash object by clicking (http:/www.adobe.com )
3676         
3677         Null check the request.
3678         
3679         * WebView/WebView.mm:
3680         (+[WebView _canHandleRequest:]):
3681
3682 2007-05-19  Maciej Stachowiak  <mjs@apple.com>
3683
3684         Reviewed by Geoff.
3685         
3686         <rdar://problem/5205358> REGRESSION (r21367): All messages appear entirely blank when running Mail off of tip of tree WebKit
3687         
3688         The fix is to return nil from [WebFrame dataSource] when it has not loaded anything but the fake
3689         empty initial document. However, WebKit still needs the real data source internally, so I also
3690         added a [WebFrame _dataSource] method that skips this check, and made WebKit use it throughout.
3691
3692         * Misc/WebNSAttributedStringExtras.mm:
3693         (fileWrapperForElement):
3694         * Plugins/WebBaseNetscapePluginView.mm:
3695         (-[WebBaseNetscapePluginView dataSource]):
3696         * Plugins/WebNullPluginView.mm:
3697         (-[WebNullPluginView viewDidMoveToWindow]):
3698         * Plugins/WebPluginController.mm:
3699         (-[WebPluginController URLPolicyCheckReferrer]):
3700         * WebCoreSupport/WebFrameBridge.mm:
3701         (-[WebFrameBridge dataSource]):
3702         (-[WebFrameBridge redirectDataToPlugin:]):
3703         * WebCoreSupport/WebFrameLoaderClient.mm:
3704         (WebFrameLoaderClient::makeDocumentView):
3705         (WebFrameLoaderClient::forceLayoutForNonHTML):
3706         (WebFrameLoaderClient::prepareForDataSourceReplacement):
3707         (WebFrameLoaderClient::canCachePage):
3708         * WebCoreSupport/WebViewFactory.mm:
3709         (-[WebViewFactory bridgeForView:]):
3710         * WebKit.xcodeproj/project.pbxproj:
3711         * WebView/WebArchiver.mm:
3712         (+[WebArchiver archiveFrame:]):
3713         (+[WebArchiver archiveMainResourceForFrame:]):
3714         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
3715         (+[WebArchiver archiveSelectionInFrame:]):
3716         * WebView/WebFrame.mm:
3717         (-[WebFrame _loadURL:referrer:intoChild:]):
3718         (-[WebFrame _addChild:]):
3719         (-[WebFrame _dataSource]):
3720         (-[WebFrame DOMDocument]):
3721         (-[WebFrame dataSource]):
3722         * WebView/WebFrameInternal.h:
3723         * WebView/WebHTMLView.mm:
3724         (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
3725         * WebView/WebRenderNode.mm:
3726         (-[WebRenderNode initWithWebFrameView:]):
3727         * WebView/WebView.mm:
3728         (-[WebView _mainFrameOverrideEncoding]):
3729         (-[WebView mainFrameURL]):
3730         (-[WebView mainFrameTitle]):
3731         (-[WebView mainFrameIcon]):
3732         (-[WebView validateUserInterfaceItemWithoutDelegate:]):
3733         (-[WebView replaceSelectionWithArchive:]):
3734         (-[WebView _isLoading]):
3735         (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
3736         (-[WebView _notifyTextSizeMultiplierChanged]):
3737
3738 2007-05-18  Oliver Hunt  <oliver@apple.com>
3739
3740         Reviewed by Sam.
3741
3742         Fix for http://bugs.webkit.org/show_bug.cgi?id=13782 
3743         REGRESSION (r21528-r21533): Failing editing/selection/drag-in-iframe in pixel mode
3744         
3745         r21533 made used a DOMElement as the source for promise data, this meant it had to 
3746         clear the dragging pasteboard following the drag.  In DRT a drag is non-blocking
3747         so this resulted in us prematurely clearing the pasteboard.  
3748         
3749         This patch avoids this problem by referencing the source CachedImage rather than the
3750         DOMElement, so we don't need to worry about retaining an entire document forever, so
3751         we don't need to clear the dragging pasteboard following the drag.
3752         
3753         * Misc/WebNSPasteboardExtras.mm:
3754         (imageFromElement):
3755           Extract the underlying CachedImage from a DOMElement
3756         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):
3757           Use a CachedImage instead of a DOMElement
3758           
3759         * WebCoreSupport/WebDragClient.mm:
3760         (WebDragClient::startDrag):
3761         
3762         * WebKit.xcodeproj/project.pbxproj:
3763         
3764         * WebView/WebHTMLView.mm:
3765         (-[WebHTMLViewPrivate dealloc]):
3766         (-[WebHTMLViewPrivate clear]):
3767         (-[WebHTMLView pasteboardChangedOwner:]):
3768         (-[WebHTMLView pasteboard:provideDataForType:]):
3769         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
3770         (-[WebHTMLView WebCore::]):
3771         (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
3772           Use CachedImage rather than DOMElement as promised data source
3773           
3774         * WebView/WebHTMLViewInternal.h:
3775         * WebView/WebHTMLViewPrivate.h:
3776
3777 2007-05-18  Tristan O'Tierney  <tristan@apple.com>
3778
3779         Reviewed by Brady E.
3780
3781         * WebCoreSupport/WebFrameLoaderClient.mm:
3782         (WebFrameLoaderClient::download):
3783         asked the webframeloaderclient for its webview's history and 
3784         injected the originated url into the created WebDownload
3785
3786 2007-05-18  John Sullivan  <sullivan@apple.com>
3787
3788         Reviewed by Kevin Decker
3789         
3790         Improvement to WebKit part of fix for 5201499 based on more modern understanding. (That is,
3791         a couple of hours more modern.)
3792
3793         * WebView/WebUIDelegatePrivate.h:
3794         add showPanel: parameter to just-introduced delegate method webView:saveFrameView:
3795
3796         * WebView/WebPDFView.mm:
3797         (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
3798         pass NO for new showPanel: parameter, and update comment
3799
3800 2007-05-18  Maciej Stachowiak  <mjs@apple.com>
3801
3802         Reviewed by John.
3803         
3804         <rdar://problem/5204792> REGRESSION (r21367): System widgets are drawn with vertical/horizontal scroll bars
3805         
3806         No test because the bug requires calling setAllowsScrolling: to reproduce.
3807
3808         * WebView/WebFrameView.mm:
3809         (-[WebFrameView setAllowsScrolling:]): Update the FrameView's scroll state as well as the one
3810         on WebDynamicScrollBarsView, otherwise this setting won't stick if the frame has already loaded
3811         a document.
3812
3813 2007-05-18  Geoffrey Garen  <ggaren@apple.com>
3814
3815         Fixed spelling error.
3816         
3817         * WebView/WebViewPrivate.h:
3818
3819 2007-05-18  John Sullivan  <sullivan@apple.com>
3820
3821         Reviewed by Kevin Decker
3822         
3823         WebKit part of fix for 5201499 (support for PDFKit UI for saving PDFs to disk)
3824         
3825         Also, the PDFKit mechanism for notifying clients about "Open File Externally" was
3826         changed from a notification to a delegate method. The notification was new to 
3827         Leopard, so removing it doesn't affect clients in the field.
3828
3829         * WebView/WebUIDelegatePrivate.h:
3830         Declared new UI delegate method webView:saveFrameView:, analogous to the existing
3831         webView:printFrameView:
3832
3833         * WebView/WebPDFView.mm:
3834         removed declaration of _webkit_PDFKitLaunchNotification
3835         (-[WebPDFView viewDidMoveToWindow]):
3836         don't observe _webkit_PDFKitLaunchNotification
3837         (-[WebPDFView viewWillMoveToWindow:]):
3838         ditto
3839         (-[WebPDFView PDFViewOpenPDFInNativeApplication:]):
3840         new PDFKit delegate method, replaces our use of _webkit_PDFKitLaunchNotification
3841         (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
3842         new PDFKit delegate method, calls through to new WebKit UI delegate method
3843         
3844 2007-05-17  Oliver Hunt  <oliver@apple.com>
3845
3846         Reviewed by Justin.
3847
3848         Fix for <rdar://problem/4244861> Safari fails to create image file
3849         after releasing dragged image that has changed on source page
3850
3851         This patch fixes this bug by manually creating an NSFileWrapper from
3852         the TIFF promise data for a drag if it is available.  This bypasses
3853         the problem of the required resource no longer being held due to page
3854         loads or other constraints.
3855         
3856         We need to leave the old path in place to allow for the case where
3857         the promised data is not available.
3858
3859         * WebCoreSupport/WebDragClient.mm:
3860         (WebDragClient::declareAndWriteDragImage):
3861           Always use the top WebHTMLView as the pasteboard owner, this is
3862           safe as we only use the owner for resolving promised types.
3863         * WebView/WebHTMLView.mm:
3864         (-[WebHTMLView _writeSelectionToPasteboard:]):
3865         (-[WebHTMLView writeSelectionToPasteboard:types:]):
3866           Always use the top WebHTMLView as the pasteboard owner.
3867         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
3868           Add path to create NSFileWrapper from promise data.
3869
3870 2007-05-17  Oliver Hunt  <oliver@apple.com>
3871
3872         Reviewed by Adam.
3873         
3874         Fix for <rdar://problem/4343832> Trying to drag a large 6.2MB jpeg image
3875          out of Safari is unexpectedly slow (4 copies of image plus RTF document on pasteboard)
3876          
3877         This patch causes the construction of the RTF and TIFF data to be delayed until requested.
3878         
3879         We delay TIFF construction from a DOMElement as this may require generating TIFF data
3880         from the CachedImage, which is slow.  To allow the TIFF data to be created later the 
3881         it's necessary to add a reference to the source DOMElement to the view.
3882
3883         * Misc/WebNSPasteboardExtras.h:
3884         * Misc/WebNSPasteboardExtras.mm:
3885         (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
3886           Implements the delayed write of RTF data
3887         (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):
3888           Set up the pasteboard to allow the data writing to be delayed
3889         (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
3890           Now we need to pass the WebHTMLView on to _web_writeImage:element:URL:title:archive:types:source:
3891         * WebCoreSupport/WebDragClient.mm:
3892         (WebDragClient::startDrag):
3893           Clear the dragging pasteboard once the drag has ended to ensure we don't hold references
3894           to anything longer than we need to.
3895         (WebDragClient::declareAndWriteDragImage):
3896           
3897         * WebView/WebHTMLView.mm:
3898         (-[WebHTMLViewPrivate dealloc]):
3899         (-[WebHTMLViewPrivate clear]):
3900         (-[WebHTMLView pasteboardChangedOwner:]):
3901           Make sure we clear out the DOMElement reference once it is no longer needed
3902         (-[WebHTMLView pasteboard:provideDataForType:]):
3903           Provide delayed data
3904         (-[WebHTMLView _writeSelectionToPasteboard:]):
3905           Make sure we set pasteboard ownership correctly
3906         (-[WebHTMLView promisedDragTIFFDataSource]):
3907         (-[WebHTMLView setPromisedDragTIFFDataSource:]):
3908         (-[WebHTMLView writeSelectionToPasteboard:types:]):
3909         * WebView/WebHTMLViewInternal.h:
3910         * WebView/WebHTMLViewPrivate.h:
3911         
3912         * WebView/WebView.mm:
3913         (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]):
3914
3915 2007-05-16  Anders Carlsson  <andersca@apple.com>
3916
3917         Reviewed by Darin.
3918
3919         <rdar://problem/5207156> Hamachi test tool causes assertion in FormCompletionController in Safari
3920
3921         Update for WebCore changes.
3922         
3923         * WebView/WebFrame.mm:
3924         (-[WebFrame _loadURL:referrer:intoChild:]):
3925
3926 2007-05-15  Oliver Hunt  <oliver@apple.com>
3927
3928         Reviewed by Sam and Geoff.
3929         
3930         Removing dead code left behind from drag and drop refactoring.
3931
3932         * WebCoreSupport/WebFrameBridge.mm:
3933         * WebView/WebHTMLView.mm:
3934         * WebView/WebHTMLViewPrivate.h:
3935
3936 2007-05-15  Bruce Q Hammond  <bruceq@apple.com>
3937
3938         Reviewed by Darin.
3939
3940         Correction of previous patch for http://bugs.webkit.org/show_bug.cgi?id=13578
3941         This corrects the sign of the Y-Axis origin adjustment.
3942
3943         * Plugins/WebBaseNetscapePluginView.mm:
3944         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
3945
3946 2007-05-15  Geoffrey Garen  <ggaren@apple.com>
3947
3948         Reviewed by Maciej Stachowiak.
3949         
3950         Patch: fixed <rdar://problem/5198890> .5% performance regression caused 
3951         by r21307
3952         
3953         The only code r21307 added that runs during the PLT is a frame load delegate
3954         -respondsToSelector: call inside windowObjectCleared(), so it seems like 
3955         our message dispatch overhead for the frame load delegate is significant.
3956         
3957         This patch is a straight port of Maciej's fix for the same problem in the
3958         resource load delegate. The solution is simple enough: don't use Objective-C. 
3959         Instead, use a special structure that caches which methods the delegate 
3960         implements, along with pointers to those methods.
3961         
3962         I verified each frame load delegate callback in the debugger, except for
3963         -webView:didFailLoadWithError:forFrame:, which is not implemented by Safari
3964         or DumpRenderTree.
3965
3966         * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.h: Removed.
3967         * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.m: Removed.
3968
3969         * WebCoreSupport/WebFrameBridge.mm:
3970         (-[WebFrameBridge windowObjectCleared]): I also removed a misleading 
3971         comment here. The JS debugger caches the windowScriptObject, so you do
3972         need to re-create the debugger every time you invalidate the old 
3973         WebScriptObject wrapper for the window object and create a new one, or
3974         the debugger will stop working. We could fix this in a number of ways, 
3975         but <rdar://problem/4608404> is not the key issue.
3976
3977 2007-05-15  Maciej Stachowiak  <mjs@apple.com>
3978
3979         Reviewed by Hyatt and Lars.
3980         
3981         - fixed <rdar://problem/5201758> REGRESSION: Stop button enabled and other problems caused by [WebView currentURL] returning non-nil for empty window
3982         
3983         * WebView/WebDataSource.mm:
3984         (-[WebDataSource request]): Return nil when we are still showing the initial empty doc
3985
3986 2007-05-14  Geoffrey Garen  <ggaren@apple.com>
3987
3988         Reviewed by Darin Adler.
3989         
3990         Updated for WebCore move to PageCache singleton. Also removed some WebCore::
3991         prefixes and replaced them with 'using namespace WebCore'.
3992
3993         * History/WebHistoryItem.mm:
3994         (+[WebHistoryItem _releaseAllPendingPageCaches]):
3995         (-[WebWindowWatcher windowWillClose:]):
3996
3997 2007-05-13  Darin Adler  <darin@apple.com>
3998
3999         - one more retain/release for a tiny bit more robustness
4000
4001         * WebView/WebPDFView.mm:
4002         (-[WebPDFView _updatePreferences:]): [prefs release]
4003         (-[WebPDFView _updatePreferencesSoon]): [prefs retain]
4004
4005 2007-05-13  Darin Adler  <darin@apple.com>
4006
4007         Reviewed by Geoff.
4008
4009         - fix <rdar://problem/5188400> Webkit crashes going back from PDF at perl.org site
4010
4011         * WebView/WebPDFView.h: Replace _updatePreferencesTimer with _willUpdatePreferencesSoon BOOL.
4012         Also remove unneeded @public that gives other classes access to our dataSource member.
4013
4014         * WebView/WebPDFView.mm: Rearrange top of file a bit, remove forward declaration of the
4015         _cancelUpdatePreferencesTimer method.
4016         (-[WebPDFView dealloc]): Removed call to _cancelUpdatePreferencesTimer.
4017         (-[WebPDFView _updatePreferencesNow:]): Added WebPreferences parameter. This sidesteps problems
4018         where the dataSource is no longer present by not looking at the dataSource field at all.
4019         Also removed the call to _cancelUpdatePreferencesTimer, added code to set _willUpdatePreferencesSoon
4020         to NO and added a release to balance a retain I did in _updatePreferencesSoon.
4021         (-[WebPDFView _updatePreferencesSoon]): Changed to use performSelectorAfterDelay instead of
4022         an NSTimer. Pass in the preferences object as a parameter, since we might not be able to get to
4023         the dataSource when the timer fires.
4024
4025 2007-05-10  Geoffrey Garen  <ggaren@apple.com>
4026
4027         Reviewed by Darin Adler.
4028         
4029         "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness.
4030
4031 2007-05-10  Adele Peterson  <adele@apple.com>
4032
4033         Reviewed by Hyatt.
4034
4035         WebKit part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result
4036
4037         Updated to use selectionRect instead of visibleSelectionRect.  selectionRect() now returns the visible rect by default.
4038
4039         * WebView/WebHTMLView.mm:
4040         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
4041         (-[WebHTMLView selectionImageRect]):
4042
4043 2007-05-10  dethbakin  <bdakin@apple.com>
4044
4045         Reviewed by Darin.
4046
4047         Fix for <rdar://problem/5191941> Leopard: Adobe Acrobat 8: 
4048         Distiller 8 needs same check fix as 4992521
4049
4050         * WebView/WebView.mm:
4051         (-[WebView _updateWebCoreSettingsFromPreferences:]): Adobe 
4052         Distiller needs the same quirk.
4053
4054 2007-05-10  Maciej Stachowiak  <mjs@apple.com>
4055
4056         Reviewed by Oliver.
4057
4058         - WebKit part of fix for:
4059         <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
4060         <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
4061
4062         The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
4063         so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.
4064         
4065         However, this caused many regressions so I had to fix the fallout.
4066
4067         * WebCoreSupport/WebChromeClient.mm:
4068         (WebChromeClient::takeFocus): Avoid focus cycle problems (can happen in DumpRenderTree
4069         with initial empty document now).
4070         * WebCoreSupport/WebFrameBridge.mm:
4071         (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]): init the frame.
4072         (-[WebFrameBridge determineObjectFromMIMEType:URL:]): return image type when appropriate
4073         * WebView/WebFrame.mm:
4074         (-[WebFrame stopLoading]): use stopForUserCancel().
4075         * WebView/WebFrameView.mm:
4076         (-[WebFrameView _makeDocumentViewForDataSource:]): assume html when no mime type available.
4077         * WebView/WebView.mm:
4078         (-[WebView becomeFirstResponder]): Track whether we are becoming first responder from
4079         outside the view.
4080         (-[WebView _becomingFirstResponderFromOutside]): Return this value.
4081         * WebView/WebViewInternal.h:
4082
4083 2007-05-09  Oliver Hunt  <oliver@apple.com>
4084
4085         rs=Adele.
4086
4087         The previous patch (r21346) broke editing, rolling out
4088
4089         * WebView/WebHTMLView.mm:
4090         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
4091         (-[WebHTMLView doCommandBySelector:]):
4092
4093 2007-05-09  Adele Peterson  <adele@apple.com>
4094
4095         Reviewed by Oliver.
4096         
4097         Re-applying fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
4098         http://bugs.webkit.org/show_bug.cgi?id=13263
4099         
4100         We don't need to call interpretKeyEvents for cmd-key events as
4101         they events will be interpreted by performKeyEquivalent.
4102
4103         * WebView/WebHTMLView.mm:
4104         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
4105         (-[WebHTMLView doCommandBySelector:]):
4106
4107 2007-05-09  Mark Rowe  <mrowe@apple.com>
4108
4109         Build fix to keep the buildbot happy.
4110
4111         * Plugins/WebBaseNetscapePluginView.mm:
4112         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
4113
4114 2007-05-08  Bruce Q Hammond  <bruceq@apple.com>
4115
4116         Reviewed by Darin.
4117
4118         http://bugs.webkit.org/show_bug.cgi?id=13578
4119         Bug 13578: When QD plugins draw to an offscreen bitmap the origin is not correct
4120
4121         Now we have correct handling of the origin when QD plugins draw to
4122         offscreen bitmaps.
4123         Also the clipping code for this path was doing unnecessary work which
4124         caused incorrect results; it has been removed.
4125         
4126         This change should not affect Safari and in general will only affect
4127         plugins (e.g. Flash) drawing to a CGBitmapContext.
4128
4129         * Plugins/WebBaseNetscapePluginView.mm:
4130         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
4131
4132 2007-05-08  Steve Falkenburg  <sfalken@apple.com>
4133
4134         Reviewed by Darin.
4135
4136         Implemented spelling/grammar related WebEditorClient methods.
4137
4138         * WebCoreSupport/WebEditorClient.h:
4139         * WebCoreSupport/WebEditorClient.mm:
4140         (WebEditorClient::