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