1=== Start merge of feature-branch 2007-10-12 ===
2
32007-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
122007-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
282007-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
392007-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
482007-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
582007-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
672007-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
792007-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
952007-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
1052007-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
1132007-10-04  Darin Adler  <darin@apple.com>
114
115        * WebView/WebHTMLView.mm: (-[WebHTMLView _updateActiveState]):
116        Removed a bogus comment.
117
1182007-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
1302007-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
1422007-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
1632007-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
1742007-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
1902007-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
2042007-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
2102007-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
2232007-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
2312007-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
2432007-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
2542007-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
2672007-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
2922007-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
3052007-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
3172007-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
3402007-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 
3662007-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
3742007-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
3822007-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
3942007-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
4032007-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
4102007-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
4322007-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
4392007-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
4472007-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
4562007-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
4732007-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
4832007-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
5412007-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
5502007-09-07  Geoffrey Garen  <ggaren@apple.com>
551
552        Build fix.
553
554        * WebView/WebView.mm:
555        (+[WebView _setCacheModel:]):
556
5572007-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
6452007-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
7642007-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
7792007-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
7922007-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
8042007-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
8152007-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
8272007-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
8402007-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
8522007-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
8632007-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
8972007-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
9192007-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
9322007-08-29  Anders Carlsson  <andersca@apple.com>
933
934        Fix 64-bit build.
935        
936        * WebCoreSupport/WebFrameBridge.mm:
937
9382007-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
9812007-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
9942007-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
10042007-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
10112007-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
10512007-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
10622007-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
10732007-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
10852007-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
11012007-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
11272007-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
11462007-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
11662007-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
11802007-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
11882007-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
12102007-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
12222007-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
12332007-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
12632007-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
12782007-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
12902007-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
13182007-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
13332007-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
13442007-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
13532007-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
13682007-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
13812007-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
13922007-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
14022007-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
14372007-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
14512007-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
14652007-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
14732007-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
14822007-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
14982007-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
15082007-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
15182007-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
15432007-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
15562007-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
15652007-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
15862007-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
15942007-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
16072007-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
16302007-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
16382007-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
16512007-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
16782007-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
17032007-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
17262007-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
17642007-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
17792007-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
17892007-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
17982007-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
18082007-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
18162007-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
18262007-07-22  Darin Adler  <darin@apple.com>
1827
1828        * StringsNotToBeLocalized.txt: Updated for recent changes.
1829
18302007-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
18432007-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
18592007-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
18712007-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
18862007-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
19062007-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
19302007-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
19502007-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
19612007-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
19782007-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
19942007-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
20082007-07-18  Anders Carlsson  <andersca@apple.com>
2009
2010        Build fix.
2011        
2012        * Misc/WebNSAttributedStringExtras.mm:
2013
20142007-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
20322007-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
20632007-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
20772007-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
20972007-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
21062007-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
21152007-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
21232007-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
21342007-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
21442007-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
21552007-07-16  Darin Adler  <darin@apple.com>
2156
2157        * StringsNotToBeLocalized.txt: Update for recent changes.
2158
21592007-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
21692007-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
21882007-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
22102007-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
22192007-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
22452007-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
22552007-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
22692007-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
22902007-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
23122007-07-10  Darin Adler  <darin@apple.com>
2313
2314        - fix build
2315
2316        * WebView/WebHTMLView.mm: Add include of ContextMenu.h.
2317
23182007-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
23272007-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
23502007-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
23642007-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
23712007-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
23852007-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
24002007-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
24112007-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
24172007-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
24402007-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
24522007-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
24802007-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
24922007-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
25102007-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
25192007-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
25282007-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
25392007-07-03  Darin Adler  <darin@apple.com>
2540
2541        * StringsNotToBeLocalized.txt: Updated for recent changes.
2542
25432007-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
25722007-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
25812007-07-03  Adele Peterson  <adele@apple.com>
2582
2583        Removed printf I accidently left in.
2584
2585        * Misc/WebNSURLExtras.m: (mapHostNames):
2586
25872007-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
25992007-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
26372007-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
26442007-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
26522007-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
26612007-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
26832007-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
26982007-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
27112007-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
27392007-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
27522007-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
27932007-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
28272007-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
28402007-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
28512007-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
28872007-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
28982007-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
29082007-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
29172007-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
29472007-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
29782007-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
29972007-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
31332007-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
31472007-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
31602007-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
31702007-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
31772007-06-18  Sam Weinig  <sam@webkit.org>
3178
3179        Reviewed by Beth.
3180
3181        Build fix.
3182
3183        * WebCoreSupport/WebChromeClient.mm:
3184
31852007-06-18  Kevin Decker <kdecker@apple.com>
3186
3187        * Carbon/HIWebView.m:
3188        (WindowHandler): Fixed the Tiger build; ControlKind wasn't defined.
3189
31902007-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
32002007-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
3208        * Plugins/WebPluginController.mm:
3209        (-[WebPluginController destroyPlugin:]):
3210        (-[WebPluginController destroyAllPlugins]):
3211        * WebCoreSupport/WebFrameBridge.mm:
3212        (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
3213        * WebView/WebHTMLView.mm:
3214        (-[WebHTMLView addSubview:]):
3215        (-[WebHTMLView willRemoveSubview:]):
3216
32172007-06-15  Sam Weinig  <sam@webkit.org>
3218
3219        Reviewed by Darin.
3220
3221        Patch for http://bugs.webkit.org/show_bug.cgi?id=14053
3222        Autogenerate JS binding for Rect
3223
3224        - Fix conflicts by using ::Rect instead of Rect.
3225
3226        * Plugins/WebBaseNetscapePluginView.mm:
3227        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
3228        (-[WebBaseNetscapePluginView sendEvent:]):
3229        (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
3230        (-[WebBaseNetscapePluginView invalidateRegion:]):
3231        (-[WebBaseNetscapePluginView _printedPluginBitmap]):
3232
32332007-06-15  Anders Carlsson  <andersca@apple.com>
3234
3235        Reviewed by Kevin.
3236
3237        A better fix for <rdar://problem/5271774>. Only try to access the element if the
3238        view has an associated window. This also works with GC. (Fix suggested by Kevin.)
3239
3240        * Plugins/WebKitPluginContainerView.mm:
3241        (-[WebKitPluginContainerView dealloc]):
3242        (-[WebKitPluginContainerView visibleRect]):
3243
32442007-06-15  Anders Carlsson  <andersca@apple.com>
3245
3246        Reviewed by Kevin.
3247
3248        <rdar://problem/5271774> REGRESSION: A crash occurs when closing a window that contains a QT movie
3249        
3250        In some cases, calling [super dealloc] might end up calling visibleRect, so make sure to
3251        set _element to 0 so we won't send a message to a freed object and crash.
3252        
3253        * Plugins/WebKitPluginContainerView.mm:
3254        (-[WebKitPluginContainerView dealloc]):
3255        (-[WebKitPluginContainerView visibleRect]):
3256
32572007-06-14  Anders Carlsson  <andersca@apple.com>
3258
3259        Reviewed by Geoff.
3260
3261        Call cleanupScriptObjectsForPlugin on the frame after destroying the plug-in.
3262        
3263        * Plugins/WebBaseNetscapePluginView.mm:
3264        (-[WebBaseNetscapePluginView _destroyPlugin]):
3265        * Plugins/WebPluginController.mm:
3266        (-[WebPluginController destroyPlugin:]):
3267        (-[WebPluginController destroyAllPlugins]):
3268
32692007-06-13  John Sullivan  <sullivan@apple.com>
3270
3271        Reviewed by Adele Peterson
3272        
3273        - fixed <rdar://problem/5267607> Clicking the "Save to Downloads" button in 
3274          PDF overlay too soon results in corrupt file
3275
3276        * WebView/WebPDFView.mm:
3277        (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
3278        Just beep if the document isn't available yet, since trying to save it as a file
3279        really isn't a good idea.
3280
32812007-06-12  Oliver Hunt  <oliver@apple.com>
3282
3283        Reviewed by Darin.
3284
3285        Use correct size for BITMAPINFOHEADER -- whoops.
3286
3287        * win/WebIconDatabase.cpp:
3288        (createDIB):
3289        (WebIconDatabase::getOrCreateDefaultIconBitmap):
3290
32912007-06-10  David Hyatt  <hyatt@apple.com>
3292
3293        Fix for bug 14037, make sure respondsToSelector does the write thing
3294        when invoked on a WebKit plugin's container view.
3295
3296        Reviewed by Mark Rowe
3297
3298        * Plugins/WebKitPluginContainerView.mm:
3299        (-[WebKitPluginContainerView respondsToSelector:]):
3300
33012007-06-08  John Sullivan  <sullivan@apple.com>
3302
3303        * WebView/WebViewPrivate.h:
3304        Added a FIXME
3305
33062007-06-07  Justin Garcia  <justin.garcia@apple.com>
3307
3308        Reviewed by Tristan.
3309        
3310        <rdar://problem/5250997> A crash occurs when selecting Undo Typing for a page that has been closed in tab
3311
3312        * WebView/WebView.mm:
3313        (-[WebView _clearUndoRedoOperations]): Added.
3314        * WebView/WebViewPrivate.h:
3315
33162007-06-07  Oliver Hunt  <oliver@apple.com>
3317
3318        Reviewed by Sam "The Intern" Weinig.
3319        
3320        Don't be overzealous with the input checks, firstRectForCharacterRange
3321        can be determined even when there is not an active editable region.
3322        
3323        This unbreaks editing/input/range-for-empty-document which was broken
3324        by aforementioned overzealousness. 
3325
3326        * WebView/WebHTMLView.mm:
3327        (-[WebHTMLView firstRectForCharacterRange:]):
3328
33292007-06-07  Oliver Hunt  <oliver@apple.com>
3330
3331        Reviewed by Justin.
3332        
3333        Add checks to make sure we don't try to create, use
3334        or return invalid ranges to TSM when it calls us despite
3335        not currently being in an editable region.
3336
3337        * WebView/WebHTMLView.mm:
3338        (isTextInput):
3339        (-[WebHTMLView textStorage]):
3340        (-[WebHTMLView firstRectForCharacterRange:]):
3341        (-[WebHTMLView selectedRange]):
3342        (-[WebHTMLView attributedSubstringFromRange:]):
3343
33442007-06-06  David Hyatt  <hyatt@apple.com>
3345
3346        Make sure to hand back a script object for webkit plugins (the container
3347        view forwards to its plugin child).
3348
3349        Reviewed by sullivan
3350
3351        * Plugins/WebKitPluginContainerView.h:
3352        * Plugins/WebKitPluginContainerView.mm:
3353        (-[WebKitPluginContainerView objectForWebScript]):
3354
33552007-06-06  David Hyatt  <hyatt@apple.com>
3356
3357        Fix for bug 13972, quicktime doesn't respect CSS clip and overflow properties.
3358        Make sure that calls to [NSView visibleRect] will do the right thing for both
3359        Netscape plugins and WebKit plugins.
3360
3361        Reviewed by olliej
3362
3363        * Plugins/WebBaseNetscapePluginView.mm:
3364        (-[WebBaseNetscapePluginView visibleRect]):
3365        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
3366        (-[WebBaseNetscapePluginView isOpaque]):
3367        * Plugins/WebKitPluginContainerView.h: Added.
3368        * Plugins/WebKitPluginContainerView.mm: Added.
3369        (-[WebKitPluginContainerView initWithFrame:DOMElement:]):
3370        (-[WebKitPluginContainerView dealloc]):
3371        (-[WebKitPluginContainerView visibleRect]):
3372        * Plugins/WebPluginController.mm:
3373        (-[WebPluginController destroyAllPlugins]):
3374        * WebCoreSupport/WebFrameBridge.mm:
3375        (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
3376        * WebKit.xcodeproj/project.pbxproj:
3377        * WebView/WebHTMLView.mm:
3378        (-[WebHTMLView addSubview:]):
3379        (-[WebHTMLView willRemoveSubview:]):
3380
33812007-06-04  Oliver Hunt  <oliver@apple.com>
3382
3383        Reviewed by Geoff and Justin.
3384
3385        Fix for <rdar://problem/5246941> Clicking URL field on 
3386        Safari causes halt for a minute when using input methods.
3387        and <rdar://problem/5245964> Safari hangs for several 
3388        seconds when trying to select text using mouse
3389        
3390        This is a by product of the textStorage hack used to fix 
3391        rdar://problem/5000470 -- TSM calls textStorage repeatedly
3392        when changing focus, on certain mouse events, etc.  If there
3393        is no selection/editable region we repeatedly create an     
3394        NSAttributedString from the full document.  If the document is
3395        sufficiently long this starts consuming an inordinate amount of 
3396        time.
3397        
3398        This check should really have been present in the original 
3399        patch.
3400
3401        * WebKit.xcodeproj/project.pbxproj:
3402        * WebView/WebHTMLView.mm:
3403        (-[WebHTMLView textStorage]):
3404
34052007-05-31  David Hyatt  <hyatt@apple.com>
3406
3407        Fix for 11768, Flash plugin does not respect clips set by CSS.
3408
3409        Reviewed by olliej
3410
3411        * Plugins/WebBaseNetscapePluginView.mm:
3412        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
3413
34142007-05-30  Mark Rowe  <mrowe@apple.com>
3415
3416        Build fixes after r21889.
3417
3418        * ForwardingHeaders/kjs/function.h: Added.
3419
34202007-05-29  Mark Rowe  <mrowe@apple.com>
3421
3422        Reviewed by Geoff.
3423
3424        64-bit build fix.  Ensure that use of WebNSUInteger in headers is matched by WebNSUInteger in implementations.
3425
3426        * DefaultDelegates/WebScriptDebugServer.h:
3427        * DefaultDelegates/WebScriptDebugServer.m:
3428        (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
3429        (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
3430        * DefaultDelegates/WebScriptDebugServerPrivate.h:
3431        * History/WebBackForwardList.mm:
3432        (-[WebBackForwardList setPageCacheSize:]):
3433        (-[WebBackForwardList pageCacheSize]):
3434        * WebView/WebView.mm:
3435        (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
3436
34372007-05-26  Darin Adler  <darin@apple.com>
3438
3439        Reviewed by Tim Hatcher.
3440
3441        * MigrateHeaders.make: Added dependency on this makefile itself, which is
3442        useful when you change the sed command or other aspect of this file. My build
3443        failed until I made this fix.
3444
34452007-05-25  Geoffrey Garen  <ggaren@apple.com>
3446
3447        Reviewed by Darin Adler.
3448
3449        Fixed <rdar://problem/5055182> The page cache has no global cap.
3450        
3451        The main WebKit changes are:
3452            1. Changed -[WebBackForwardList setPageCacheSize] and -[WebBackForwardList 
3453            pageCacheSize] to accomodate the new global page cache model, updating
3454            their documentation. 
3455            
3456            2. Added -[WebPreferences setShouldUsePageCache] and -[WebPreferences 
3457            shouldUsePageCache] as pending public API.
3458            
3459            3. Centralized calculation of object cache and page cache sizes inside
3460            WebPreferences. 
3461            
3462            Cchanged our old behavior of reading a preference and applying a fudge 
3463            factor with a new behavior of just using the preference directly. The 
3464            old behavior was confusing and often inappropriate. (For example, if 
3465            you set a page cache size of 100, a 256MB machine would somewhat 
3466            arbitrarily reduce that number to 98. ???)
3467
3468        * WebView/WebView.mm: Added support for two flags to determine whether
3469        to use the page cache. If either -[WebBackForwardList setPageCacheSize:0]
3470        or -[WebPreferences setShouldUsePageCache:NO] is called, we don't use
3471        the page cache.
3472
34732007-05-25  Timothy Hatcher  <timothy@apple.com>
3474
3475        Reviewed by Kevin Decker.
3476
3477        <rdar://problem/5219089> Changes for migration of DictionaryServices
3478
3479        * WebView/WebHTMLView.mm:
3480        (-[WebHTMLView _lookUpInDictionaryFromMenu:]): look for the HIDictionaryWindowShow symbol in HIToolbox
3481
34822007-05-25  Geoffrey Garen  <ggaren@apple.com>
3483
3484        Reviewed by Oliver Hunt.
3485        
3486        Fixed global initializer (like you fix a dog).
3487        
3488        I'm not sure how our script missed this. I tested, and it generally doesn't 
3489        seem to work very well.
3490
3491        * WebView/WebHTMLView.mm: Allocate lazily to avoid the performance hit of
3492        a global initializer.
3493        (promisedDataClient):
3494        (-[WebHTMLViewPrivate dealloc]):
3495        (-[WebHTMLViewPrivate clear]):
3496        (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
3497
34982007-05-25  Brady Eidson  <beidson@apple.com>
3499
3500        Reviewed by Darin
3501
3502        <rdar://problem/5228371> - REGRESSION - Certain mail message bodies display as empty
3503
3504        This is due to http://trac.webkit.org/projects/webkit/changeset/21480 which unintentionally
3505        made applewebdata urls result in check.call(false) instead of check.call(true)
3506
3507        Best place for a fix is to have the FrameLoaderClient::canHandleRequest() call return true, which
3508        really is rooted in WebView
3509
3510        <rdar://problem/5229587> tracks adding a layout test
3511
3512        * WebView/WebView.mm:
3513        (+[WebView _canHandleRequest:]): Return true for applewebdata URLs
3514
35152007-05-25  Geoffrey Garen  <ggaren@apple.com>
3516
3517        Reviewed by Darin Adler, Tim Hatcher.
3518        
3519        "unsigned" => "WebNSUInteger" in public API.
3520
3521        * History/WebBackForwardList.h:
3522        * WebView/WebScriptDebugDelegate.h:
3523        * WebView/WebUIDelegate.h:
3524        * WebView/WebViewPrivate.h:
3525
35262007-05-25  Geoffrey Garen  <ggaren@apple.com>
3527
3528        Reviewed by Darin Adler.
3529        
3530        Moved JavaScriptCore-related pending public API to public API.
3531
3532        * MigrateHeaders.make: Hack to prevent <JavaScriptCore/JSBase.h> from 
3533        automatically converting to <WebKit/JSBase.h>
3534        
3535        Moved -windowObject and -globalContext
3536
3537        * WebView/WebFramePrivate.h: from here
3538        * WebView/WebFrame.h: to here
3539        * WebView/WebFrame.mm: and out of its temporary category
3540
3541        Moved -didClearWindowObject:forFrame:
3542
3543        * WebView/WebViewPrivate.h: from here
3544        * WebView/WebFrameLoadDelegate.h: to here
3545
35462007-05-25  John Sullivan  <sullivan@apple.com>
3547
3548        Reviewed by Anders and Tim
3549        
3550        - fixed <rdar://problem/5226000> REGRESSION: In Gmail and Mail, a hang occurs when attempting 
3551          to grammar/spellcheck a word in a reply
3552
3553        * WebCoreSupport/WebEditorClient.mm:
3554        (WebEditorClient::checkGrammarOfString):
3555        Fixed recently-introduced false assumption that NSNotFound == -1
3556
35572007-05-24  dethbakin  <bdakin@apple.com>
3558
3559        Reviewed by Geoff.
3560
3561        Fix for <rdar://problem/5023545> QuickBooks Pro 2007:hang/crash 
3562        after closing QuickBooks Tutorial Center with Leopard9A377
3563
3564        We can hit a race condition where drawRect will be called after the 
3565        WebView has closed. Quickbooks does not properly close the WebView 
3566        and set the UIDelegate to nil, so the UIDelegate is stale and we 
3567        crash. This is a regression because the code that uses the 
3568        UIDelegate in the drawRect code path was only added recently. The 
3569        method that the UIDelegate calls into is new -- it does not exist 
3570        on Tiger -- so there is no harm in not running this code for 
3571        applications linked against older WebKits. Other applications may 
3572        run into this same bug so I am not doing a bundle 
3573        check...particularly because, as I mentioned, the new UIDelegate 
3574        call would not be implemented by older clients anyway.  
3575
3576        * Misc/WebKitVersionChecks.h:
3577        * WebView/WebHTMLView.mm:
3578        (-[WebHTMLView drawSingleRect:]):
3579
35802007-05-24  Darin Adler  <darin@apple.com>
3581
3582        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
3583
35842007-05-24  Oliver Hunt  <oliver@apple.com>
3585
3586        Reviewed by Adam, Darin, and Geoff.
3587
3588        Fix for <rdar://problem/5000470> REGRESSION: The IM reconvert
3589        function returns incorrect symbol due to inconsistent range
3590        domains in TSM
3591
3592        Text Services Management uses ranges provided by the
3593        NSTextInput API to index into the string return by
3594        -[WebHTMLView string]. As a result some input methods
3595        incorrectly get their candidate text from the beginning
3596        of the document instead of from the input element.
3597
3598        TSM prefers to query -textStorage over -string so as a
3599        workaround we provide an implementation of -textStorage that
3600        returns the content of the current text input.  TSM only ever
3601        queries the result of textStorage as an NSAttributedString so
3602        we do not need to implement a fake NSTextStorage class
3603
3604        This should not cause harm to anything else as textStorage is
3605        actually a method on NSTextView, which we clearly are not. TSM
3606        only queries the method because it uses respondsToSelector to
3607        control behaviour.
3608
3609        * WebView/WebHTMLView.mm:
3610        (-[WebHTMLView textStorage]):
3611
3612
36132007-05-24  David Harrison  <harrison@apple.com>
3614
3615        Reviewed by Tim Hatcher.
3616
3617        <rdar://problem/5225343> REGRESSION: With View Source window opened, navigating to a different URL in the browser window results in a crash at WebCore::FrameLoader::frameHasLoaded()
3618        
3619        _private->loader->frameLoader() was not being nil checked.
3620        * WebView/WebDataSource.mm:
3621        (-[WebDataSource request]):
3622        Add nil check for _private->loader->frameLoader() 
3623
36242007-05-23  Anders Carlsson  <andersca@apple.com>
3625
3626        Reviewed by Geoff.
3627
3628        <rdar://problem/3663808> Resize large images to fit in the browser window
3629        
3630        Add new WebPreferences SPI.
3631        
3632        * WebView/WebPreferenceKeysPrivate.h:
3633        * WebView/WebPreferences.m:
3634        (+[WebPreferences initialize]):
3635        (-[WebPreferences enableAutomaticImageResizing]):
3636        (-[WebPreferences setEnableAutomaticImageResizing:]):
3637        * WebView/WebPreferencesPrivate.h:
3638        * WebView/WebView.mm:
3639        (-[WebView _updateWebCoreSettingsFromPreferences:]):
3640
36412007-05-23  Sam Weinig  <sam@webkit.org>
3642
3643        Reviewed by Darin.
3644
3645        Patch for http://bugs.webkit.org/show_bug.cgi?id=13830
3646        Auto-generate JS DOM bindings for HTMLDocument and most of the rest
3647        of HTMLElement
3648
3649        * MigrateHeaders.make: add DOMHTMLDocumentPrivate.h
3650        * WebKit.xcodeproj/project.pbxproj:
3651
36522007-05-23  Oliver Hunt  <oliver@apple.com>
3653
3654        Reviewed by Geoff.
3655
3656        Fix for <rdar://problem/5223782> REGRESSION: Can't drag and drop a standalone image
3657
3658        The main resource for a standalone image webarchive has the same mimetype as the
3659        underlying image.
3660
3661        * Misc/WebNSPasteboardExtras.mm:
3662        (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
3663
36642007-05-22  Sam Weinig  <sam@webkit.org>
3665
3666        Reviewed by Adam.
3667
3668        Patch for http://bugs.webkit.org/show_bug.cgi?id=13833
3669        Add ObjC DOM binding for HTMLMarqeeElement
3670
3671        - Also adds missing DOMHTMLFramePrivate.
3672
3673        * MigrateHeaders.make:
3674
36752007-05-22  Darin Adler  <darin@apple.com>
3676
3677        Reviewed by Geoff.
3678
3679        * WebInspector/webInspector/treeoutline.js: Use ownerDocument instead of non-standard
3680        document property.
3681
36822007-05-22  Adele Peterson  <adele@apple.com>
3683
3684        Reviewed by Darin.
3685
3686        Adding some asserts to help detect other cases of <rdar://problem/5171145>
3687
3688        * WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge makeFirstResponder:]):
3689
36902007-05-22  Brady Eidson  <beidson@apple.com>
3691
3692        Reviewed by Kevin (Sarge)
3693
3694        <rdar://problem/5219885> - Crash after closing a inline popup ad at http://news.yahoo.com/
3695
3696        This regressed in http://trac.webkit.org/projects/webkit/changeset/21618
3697
3698        * WebView/WebFrame.mm:
3699        (-[WebFrame dataSource]): Null check the frameloader
3700
37012007-05-21  Adele Peterson  <adele@apple.com>
3702
3703        Fix by Darin, reviewed by me.
3704
3705        Fix for <rdar://problem/5171145> Safari crashed closing tab in NSInputContext updateInputContexts
3706
3707        * WebView/WebFrameView.mm: (-[WebFrameView _setDocumentView:]): If the old view is the first responder,
3708        then set the window's first responder to nil so we don't leave the window pointing to a view that's no longer in it.
3709
37102007-05-21  Brady Eidson  <beidson@apple.com>
3711
3712        Making the importance of my last change more clear
3713
3714        * WebView/WebViewPrivate.h: "Leave for Dashboard, people!"
3715
37162007-05-21  Brady Eidson  <beidson@apple.com>
3717
3718        Reviewed by Kevin (Sarge)
3719
3720        <rdar://problem/5217124> - Re-add mistakenly removed SPI
3721
3722        * WebView/WebView.mm:
3723        (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]):
3724        * WebView/WebViewPrivate.h:
3725
37262007-05-21  Anders Carlsson  <andersca@apple.com>
3727
3728        Reviewed by Ada.
3729
3730        <rdar://problem/5200816> REGRESSION: With Shiira 1.2.2 , I can't open embedded link in flash object by clicking (http:/www.adobe.com )
3731        
3732        Null check the request.
3733        
3734        * WebView/WebView.mm:
3735        (+[WebView _canHandleRequest:]):
3736
37372007-05-19  Maciej Stachowiak  <mjs@apple.com>
3738
3739        Reviewed by Geoff.
3740        
3741        <rdar://problem/5205358> REGRESSION (r21367): All messages appear entirely blank when running Mail off of tip of tree WebKit
3742        
3743        The fix is to return nil from [WebFrame dataSource] when it has not loaded anything but the fake
3744        empty initial document. However, WebKit still needs the real data source internally, so I also
3745        added a [WebFrame _dataSource] method that skips this check, and made WebKit use it throughout.
3746
3747        * Misc/WebNSAttributedStringExtras.mm:
3748        (fileWrapperForElement):
3749        * Plugins/WebBaseNetscapePluginView.mm:
3750        (-[WebBaseNetscapePluginView dataSource]):
3751        * Plugins/WebNullPluginView.mm:
3752        (-[WebNullPluginView viewDidMoveToWindow]):
3753        * Plugins/WebPluginController.mm:
3754        (-[WebPluginController URLPolicyCheckReferrer]):
3755        * WebCoreSupport/WebFrameBridge.mm:
3756        (-[WebFrameBridge dataSource]):
3757        (-[WebFrameBridge redirectDataToPlugin:]):
3758        * WebCoreSupport/WebFrameLoaderClient.mm:
3759        (WebFrameLoaderClient::makeDocumentView):
3760        (WebFrameLoaderClient::forceLayoutForNonHTML):
3761        (WebFrameLoaderClient::prepareForDataSourceReplacement):
3762        (WebFrameLoaderClient::canCachePage):
3763        * WebCoreSupport/WebViewFactory.mm:
3764        (-[WebViewFactory bridgeForView:]):
3765        * WebKit.xcodeproj/project.pbxproj:
3766        * WebView/WebArchiver.mm:
3767        (+[WebArchiver archiveFrame:]):
3768        (+[WebArchiver archiveMainResourceForFrame:]):
3769        (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
3770        (+[WebArchiver archiveSelectionInFrame:]):
3771        * WebView/WebFrame.mm:
3772        (-[WebFrame _loadURL:referrer:intoChild:]):
3773        (-[WebFrame _addChild:]):
3774        (-[WebFrame _dataSource]):
3775        (-[WebFrame DOMDocument]):
3776        (-[WebFrame dataSource]):
3777        * WebView/WebFrameInternal.h:
3778        * WebView/WebHTMLView.mm:
3779        (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
3780        * WebView/WebRenderNode.mm:
3781        (-[WebRenderNode initWithWebFrameView:]):
3782        * WebView/WebView.mm:
3783        (-[WebView _mainFrameOverrideEncoding]):
3784        (-[WebView mainFrameURL]):
3785        (-[WebView mainFrameTitle]):
3786        (-[WebView mainFrameIcon]):
3787        (-[WebView validateUserInterfaceItemWithoutDelegate:]):
3788        (-[WebView replaceSelectionWithArchive:]):
3789        (-[WebView _isLoading]):
3790        (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
3791        (-[WebView _notifyTextSizeMultiplierChanged]):
3792
37932007-05-18  Oliver Hunt  <oliver@apple.com>
3794
3795        Reviewed by Sam.
3796
3797        Fix for http://bugs.webkit.org/show_bug.cgi?id=13782 
3798        REGRESSION (r21528-r21533): Failing editing/selection/drag-in-iframe in pixel mode
3799        
3800        r21533 made used a DOMElement as the source for promise data, this meant it had to 
3801        clear the dragging pasteboard following the drag.  In DRT a drag is non-blocking
3802        so this resulted in us prematurely clearing the pasteboard.  
3803        
3804        This patch avoids this problem by referencing the source CachedImage rather than the
3805        DOMElement, so we don't need to worry about retaining an entire document forever, so
3806        we don't need to clear the dragging pasteboard following the drag.
3807        
3808        * Misc/WebNSPasteboardExtras.mm:
3809        (imageFromElement):
3810          Extract the underlying CachedImage from a DOMElement
3811        (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):
3812          Use a CachedImage instead of a DOMElement
3813          
3814        * WebCoreSupport/WebDragClient.mm:
3815        (WebDragClient::startDrag):
3816        
3817        * WebKit.xcodeproj/project.pbxproj:
3818        
3819        * WebView/WebHTMLView.mm:
3820        (-[WebHTMLViewPrivate dealloc]):
3821        (-[WebHTMLViewPrivate clear]):
3822        (-[WebHTMLView pasteboardChangedOwner:]):
3823        (-[WebHTMLView pasteboard:provideDataForType:]):
3824        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
3825        (-[WebHTMLView WebCore::]):
3826        (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
3827          Use CachedImage rather than DOMElement as promised data source
3828          
3829        * WebView/WebHTMLViewInternal.h:
3830        * WebView/WebHTMLViewPrivate.h:
3831
38322007-05-18  Tristan O'Tierney  <tristan@apple.com>
3833
3834        Reviewed by Brady E.
3835
3836        * WebCoreSupport/WebFrameLoaderClient.mm:
3837        (WebFrameLoaderClient::download):
3838        asked the webframeloaderclient for its webview's history and 
3839        injected the originated url into the created WebDownload
3840
38412007-05-18  John Sullivan  <sullivan@apple.com>
3842
3843        Reviewed by Kevin Decker
3844        
3845        Improvement to WebKit part of fix for 5201499 based on more modern understanding. (That is,
3846        a couple of hours more modern.)
3847
3848        * WebView/WebUIDelegatePrivate.h:
3849        add showPanel: parameter to just-introduced delegate method webView:saveFrameView:
3850
3851        * WebView/WebPDFView.mm:
3852        (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
3853        pass NO for new showPanel: parameter, and update comment
3854
38552007-05-18  Maciej Stachowiak  <mjs@apple.com>
3856
3857        Reviewed by John.
3858        
3859        <rdar://problem/5204792> REGRESSION (r21367): System widgets are drawn with vertical/horizontal scroll bars
3860        
3861        No test because the bug requires calling setAllowsScrolling: to reproduce.
3862
3863        * WebView/WebFrameView.mm:
3864        (-[WebFrameView setAllowsScrolling:]): Update the FrameView's scroll state as well as the one
3865        on WebDynamicScrollBarsView, otherwise this setting won't stick if the frame has already loaded
3866        a document.
3867
38682007-05-18  Geoffrey Garen  <ggaren@apple.com>
3869
3870        Fixed spelling error.
3871        
3872        * WebView/WebViewPrivate.h:
3873
38742007-05-18  John Sullivan  <sullivan@apple.com>
3875
3876        Reviewed by Kevin Decker
3877        
3878        WebKit part of fix for 5201499 (support for PDFKit UI for saving PDFs to disk)
3879        
3880        Also, the PDFKit mechanism for notifying clients about "Open File Externally" was
3881        changed from a notification to a delegate method. The notification was new to 
3882        Leopard, so removing it doesn't affect clients in the field.
3883
3884        * WebView/WebUIDelegatePrivate.h:
3885        Declared new UI delegate method webView:saveFrameView:, analogous to the existing
3886        webView:printFrameView:
3887
3888        * WebView/WebPDFView.mm:
3889        removed declaration of _webkit_PDFKitLaunchNotification
3890        (-[WebPDFView viewDidMoveToWindow]):
3891        don't observe _webkit_PDFKitLaunchNotification
3892        (-[WebPDFView viewWillMoveToWindow:]):
3893        ditto
3894        (-[WebPDFView PDFViewOpenPDFInNativeApplication:]):
3895        new PDFKit delegate method, replaces our use of _webkit_PDFKitLaunchNotification
3896        (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
3897        new PDFKit delegate method, calls through to new WebKit UI delegate method
3898        
38992007-05-17  Oliver Hunt  <oliver@apple.com>
3900
3901        Reviewed by Justin.
3902
3903        Fix for <rdar://problem/4244861> Safari fails to create image file
3904        after releasing dragged image that has changed on source page
3905
3906        This patch fixes this bug by manually creating an NSFileWrapper from
3907        the TIFF promise data for a drag if it is available.  This bypasses
3908        the problem of the required resource no longer being held due to page
3909        loads or other constraints.
3910        
3911        We need to leave the old path in place to allow for the case where
3912        the promised data is not available.
3913
3914        * WebCoreSupport/WebDragClient.mm:
3915        (WebDragClient::declareAndWriteDragImage):
3916          Always use the top WebHTMLView as the pasteboard owner, this is
3917          safe as we only use the owner for resolving promised types.
3918        * WebView/WebHTMLView.mm:
3919        (-[WebHTMLView _writeSelectionToPasteboard:]):
3920        (-[WebHTMLView writeSelectionToPasteboard:types:]):
3921          Always use the top WebHTMLView as the pasteboard owner.
3922        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
3923          Add path to create NSFileWrapper from promise data.
3924
39252007-05-17  Oliver Hunt  <oliver@apple.com>
3926
3927        Reviewed by Adam.
3928        
3929        Fix for <rdar://problem/4343832> Trying to drag a large 6.2MB jpeg image
3930         out of Safari is unexpectedly slow (4 copies of image plus RTF document on pasteboard)
3931         
3932        This patch causes the construction of the RTF and TIFF data to be delayed until requested.
3933        
3934        We delay TIFF construction from a DOMElement as this may require generating TIFF data
3935        from the CachedImage, which is slow.  To allow the TIFF data to be created later the 
3936        it's necessary to add a reference to the source DOMElement to the view.
3937
3938        * Misc/WebNSPasteboardExtras.h:
3939        * Misc/WebNSPasteboardExtras.mm:
3940        (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
3941          Implements the delayed write of RTF data
3942        (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):
3943          Set up the pasteboard to allow the data writing to be delayed
3944        (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
3945          Now we need to pass the WebHTMLView on to _web_writeImage:element:URL:title:archive:types:source:
3946        * WebCoreSupport/WebDragClient.mm:
3947        (WebDragClient::startDrag):
3948          Clear the dragging pasteboard once the drag has ended to ensure we don't hold references
3949          to anything longer than we need to.
3950        (WebDragClient::declareAndWriteDragImage):
3951          
3952        * WebView/WebHTMLView.mm:
3953        (-[WebHTMLViewPrivate dealloc]):
3954        (-[WebHTMLViewPrivate clear]):
3955        (-[WebHTMLView pasteboardChangedOwner:]):
3956          Make sure we clear out the DOMElement reference once it is no longer needed
3957        (-[WebHTMLView pasteboard:provideDataForType:]):
3958          Provide delayed data
3959        (-[WebHTMLView _writeSelectionToPasteboard:]):
3960          Make sure we set pasteboard ownership correctly
3961        (-[WebHTMLView promisedDragTIFFDataSource]):
3962        (-[WebHTMLView setPromisedDragTIFFDataSource:]):
3963        (-[WebHTMLView writeSelectionToPasteboard:types:]):
3964        * WebView/WebHTMLViewInternal.h:
3965        * WebView/WebHTMLViewPrivate.h:
3966        
3967        * WebView/WebView.mm:
3968        (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]):
3969
39702007-05-16  Anders Carlsson  <andersca@apple.com>
3971
3972        Reviewed by Darin.
3973
3974        <rdar://problem/5207156> Hamachi test tool causes assertion in FormCompletionController in Safari
3975
3976        Update for WebCore changes.
3977        
3978        * WebView/WebFrame.mm:
3979        (-[WebFrame _loadURL:referrer:intoChild:]):
3980
39812007-05-15  Oliver Hunt  <oliver@apple.com>
3982
3983        Reviewed by Sam and Geoff.
3984        
3985        Removing dead code left behind from drag and drop refactoring.
3986
3987        * WebCoreSupport/WebFrameBridge.mm:
3988        * WebView/WebHTMLView.mm:
3989        * WebView/WebHTMLViewPrivate.h:
3990
39912007-05-15  Bruce Q Hammond  <bruceq@apple.com>
3992
3993        Reviewed by Darin.
3994
3995        Correction of previous patch for http://bugs.webkit.org/show_bug.cgi?id=13578
3996        This corrects the sign of the Y-Axis origin adjustment.
3997
3998        * Plugins/WebBaseNetscapePluginView.mm:
3999        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
4000
40012007-05-15  Geoffrey Garen  <ggaren@apple.com>
4002
4003        Reviewed by Maciej Stachowiak.
4004        
4005        Patch: fixed <rdar://problem/5198890> .5% performance regression caused 
4006        by r21307
4007        
4008        The only code r21307 added that runs during the PLT is a frame load delegate
4009        -respondsToSelector: call inside windowObjectCleared(), so it seems like 
4010        our message dispatch overhead for the frame load delegate is significant.
4011        
4012        This patch is a straight port of Maciej's fix for the same problem in the
4013        resource load delegate. The solution is simple enough: don't use Objective-C. 
4014        Instead, use a special structure that caches which methods the delegate 
4015        implements, along with pointers to those methods.
4016        
4017        I verified each frame load delegate callback in the debugger, except for
4018        -webView:didFailLoadWithError:forFrame:, which is not implemented by Safari
4019        or DumpRenderTree.
4020
4021        * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.h: Removed.
4022        * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.m: Removed.
4023
4024        * WebCoreSupport/WebFrameBridge.mm:
4025        (-[WebFrameBridge windowObjectCleared]): I also removed a misleading 
4026        comment here. The JS debugger caches the windowScriptObject, so you do
4027        need to re-create the debugger every time you invalidate the old 
4028        WebScriptObject wrapper for the window object and create a new one, or
4029        the debugger will stop working. We could fix this in a number of ways, 
4030        but <rdar://problem/4608404> is not the key issue.
4031
40322007-05-15  Maciej Stachowiak  <mjs@apple.com>
4033
4034        Reviewed by Hyatt and Lars.
4035        
4036        - fixed <rdar://problem/5201758> REGRESSION: Stop button enabled and other problems caused by [WebView currentURL] returning non-nil for empty window
4037        
4038        * WebView/WebDataSource.mm:
4039        (-[WebDataSource request]): Return nil when we are still showing the initial empty doc
4040
40412007-05-14  Geoffrey Garen  <ggaren@apple.com>
4042
4043        Reviewed by Darin Adler.
4044        
4045        Updated for WebCore move to PageCache singleton. Also removed some WebCore::
4046        prefixes and replaced them with 'using namespace WebCore'.
4047
4048        * History/WebHistoryItem.mm:
4049        (+[WebHistoryItem _releaseAllPendingPageCaches]):
4050        (-[WebWindowWatcher windowWillClose:]):
4051
40522007-05-13  Darin Adler  <darin@apple.com>
4053
4054        - one more retain/release for a tiny bit more robustness
4055
4056        * WebView/WebPDFView.mm:
4057        (-[WebPDFView _updatePreferences:]): [prefs release]
4058        (-[WebPDFView _updatePreferencesSoon]): [prefs retain]
4059
40602007-05-13  Darin Adler  <darin@apple.com>
4061
4062        Reviewed by Geoff.
4063
4064        - fix <rdar://problem/5188400> Webkit crashes going back from PDF at perl.org site
4065
4066        * WebView/WebPDFView.h: Replace _updatePreferencesTimer with _willUpdatePreferencesSoon BOOL.
4067        Also remove unneeded @public that gives other classes access to our dataSource member.
4068
4069        * WebView/WebPDFView.mm: Rearrange top of file a bit, remove forward declaration of the
4070        _cancelUpdatePreferencesTimer method.
4071        (-[WebPDFView dealloc]): Removed call to _cancelUpdatePreferencesTimer.
4072        (-[WebPDFView _updatePreferencesNow:]): Added WebPreferences parameter. This sidesteps problems
4073        where the dataSource is no longer present by not looking at the dataSource field at all.
4074        Also removed the call to _cancelUpdatePreferencesTimer, added code to set _willUpdatePreferencesSoon
4075        to NO and added a release to balance a retain I did in _updatePreferencesSoon.
4076        (-[WebPDFView _updatePreferencesSoon]): Changed to use performSelectorAfterDelay instead of
4077        an NSTimer. Pass in the preferences object as a parameter, since we might not be able to get to
4078        the dataSource when the timer fires.
4079
40802007-05-10  Geoffrey Garen  <ggaren@apple.com>
4081
4082        Reviewed by Darin Adler.
4083        
4084        "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness.
4085
40862007-05-10  Adele Peterson  <adele@apple.com>
4087
4088        Reviewed by Hyatt.
4089
4090        WebKit part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result
4091
4092        Updated to use selectionRect instead of visibleSelectionRect.  selectionRect() now returns the visible rect by default.
4093
4094        * WebView/WebHTMLView.mm:
4095        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
4096        (-[WebHTMLView selectionImageRect]):
4097
40982007-05-10  dethbakin  <bdakin@apple.com>
4099
4100        Reviewed by Darin.
4101
4102        Fix for <rdar://problem/5191941> Leopard: Adobe Acrobat 8: 
4103        Distiller 8 needs same check fix as 4992521
4104
4105        * WebView/WebView.mm:
4106        (-[WebView _updateWebCoreSettingsFromPreferences:]): Adobe 
4107        Distiller needs the same quirk.
4108
41092007-05-10  Maciej Stachowiak  <mjs@apple.com>
4110
4111        Reviewed by Oliver.
4112
4113        - WebKit part of fix for:
4114        <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
4115        <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
4116
4117        The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
4118        so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.
4119        
4120        However, this caused many regressions so I had to fix the fallout.
4121
4122        * WebCoreSupport/WebChromeClient.mm:
4123        (WebChromeClient::takeFocus): Avoid focus cycle problems (can happen in DumpRenderTree
4124        with initial empty document now).
4125        * WebCoreSupport/WebFrameBridge.mm:
4126        (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]): init the frame.
4127        (-[WebFrameBridge determineObjectFromMIMEType:URL:]): return image type when appropriate
4128        * WebView/WebFrame.mm:
4129        (-[WebFrame stopLoading]): use stopForUserCancel().
4130        * WebView/WebFrameView.mm:
4131        (-[WebFrameView _makeDocumentViewForDataSource:]): assume html when no mime type available.
4132        * WebView/WebView.mm:
4133        (-[WebView becomeFirstResponder]): Track whether we are becoming first responder from
4134        outside the view.
4135        (-[WebView _becomingFirstResponderFromOutside]): Return this value.
4136        * WebView/WebViewInternal.h:
4137
41382007-05-09  Oliver Hunt  <oliver@apple.com>
4139
4140        rs=Adele.
4141
4142        The previous patch (r21346) broke editing, rolling out
4143
4144        * WebView/WebHTMLView.mm:
4145        (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
4146        (-[WebHTMLView doCommandBySelector:]):
4147
41482007-05-09  Adele Peterson  <adele@apple.com>
4149
4150        Reviewed by Oliver.
4151        
4152        Re-applying fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
4153        http://bugs.webkit.org/show_bug.cgi?id=13263
4154        
4155        We don't need to call interpretKeyEvents for cmd-key events as
4156        they events will be interpreted by performKeyEquivalent.
4157
4158        * WebView/WebHTMLView.mm:
4159        (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
4160        (-[WebHTMLView doCommandBySelector:]):
4161
41622007-05-09  Mark Rowe  <mrowe@apple.com>
4163
4164        Build fix to keep the buildbot happy.
4165
4166        * Plugins/WebBaseNetscapePluginView.mm:
4167        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
4168
41692007-05-08  Bruce Q Hammond  <bruceq@apple.com>
4170
4171        Reviewed by Darin.
4172
4173        http://bugs.webkit.org/show_bug.cgi?id=13578
4174        Bug 13578: When QD plugins draw to an offscreen bitmap the origin is not correct
4175
4176        Now we have correct handling of the origin when QD plugins draw to
4177        offscreen bitmaps.
4178        Also the clipping code for this path was doing unnecessary work which
4179        caused incorrect results; it has been removed.
4180        
4181        This change should not affect Safari and in general will only affect
4182        plugins (e.g. Flash) drawing to a CGBitmapContext.
4183
4184        * Plugins/WebBaseNetscapePluginView.mm:
4185        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
4186
41872007-05-08  Steve Falkenburg  <sfalken@apple.com>
4188
4189        Reviewed by Darin.
4190
4191        Implemented spelling/grammar related WebEditorClient methods.
4192
4193        * WebCoreSupport/WebEditorClient.h:
4194        * WebCoreSupport/WebEditorClient.mm:
4195        (WebEditorClient::ignoreWordInSpellDocument): Added. Call through to NSSpellChecker.
4196        (WebEditorClient::learnWord): Added. Call through to NSSpellChecker.
4197        (WebEditorClient::checkSpellingOfString): Added. Call through to NSSpellChecker.
4198        (WebEditorClient::checkGrammarOfString): Added. Call through to NSSpellChecker.
4199        (WebEditorClient::updateSpellingUIWithGrammarString): Added. Call through to NSSpellChecker.
4200        (WebEditorClient::updateSpellingUIWithMisspelledWord): Added. Call through to NSSpellChecker.
4201        (WebEditorClient::showSpellingUI): Added. Call through to NSSpellChecker.
4202        (WebEditorClient::spellingUIIsShowing): Added. Call through to NSSpellChecker.
4203        (WebEditorClient::getGuessesForWord): Added. Call through to NSSpellChecker.
4204
42052007-05-08  Steve Falkenburg  <sfalken@apple.com>
4206
4207        Reviewed by Ada.
4208
4209        Slight modification to last editor method fix.
4210
4211        * WebCoreSupport/WebEditorClient.h:
4212        (WebEditorClient::updateSpellingUIWithGrammarString):
4213
42142007-05-07  Geoffrey Garen  <ggaren@apple.com>
4215
4216        Reviewed by Maciej Stachowiak.
4217        
4218        Fixed <rdar://problem/5140447> API for fetching JSGlobalContextRef from 
4219        WebView or WebFrame
4220        
4221        Added -[WebFrame windowObject] and -[WebFrame globalContext], along with
4222        a new frame load delegate method, - (void)webView:(WebView *)webView 
4223        didClearWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame.
4224        This is all to support briding between the WebScriptObject and JavaScriptCore
4225        APIs.
4226
4227        Also fixed more of <rdar://problem/4395622> API: WebScriptObject.h incorrectly 
4228        reports that -isSelectorExcludedFromWebScript returns NO by default, and
4229        generally cleaned up the WebScriptObject headerdoc.
4230
4231        * WebCoreSupport/WebFrameBridge.mm:
4232        (-[WebFrameBridge windowObjectCleared]):
4233        * WebView/WebFrame.mm:
4234        (-[WebFrame windowObject]):
4235        (-[WebFrame globalContext]):
4236        * WebView/WebFramePrivate.h:
4237        * WebView/WebViewPrivate.h:
4238
42392007-05-07  Timothy Hatcher  <timothy@apple.com>
4240
4241        Reviewed by Darin.
4242
4243        <rdar://problem/5180384> webView:validateUserInterfaceItem:defaultValidation: does not get called on WebUIDelegates
4244
4245        Call the delegate when the one of our views gets a validateUserInterfaceItem: call.
4246
4247        * WebView/WebHTMLView.mm:
4248        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
4249        (-[WebHTMLView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
4250        * WebView/WebPDFView.mm:
4251        (-[WebPDFView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
4252        (-[WebPDFView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
4253        * WebView/WebView.mm:
4254        (-[WebView _responderValidateUserInterfaceItem:]): Call validateUserInterfaceItemWithoutDelegate: to prevent asking the delegate twice.
4255        (-[WebView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
4256        (-[WebView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
4257
42582007-05-07  Brady Eidson  <beidson@apple.com>
4259
4260        Actually finish the code move from my last checkin
4261
4262        * History/WebHistoryItem.mm:
4263        (-[WebHistoryItem _transientPropertyForKey:]):
4264        (-[WebHistoryItem _setTransientProperty:forKey:]):
4265
42662007-05-07  Brady Eidson  <beidson@apple.com>
4267
4268        Rubberstamped by Kevin (Sarge)
4269
4270        Make _transientPropertyForKey: and _setTransientProperty:forKey: SPI
4271
4272        * History/WebHistoryItemInternal.h:
4273        * History/WebHistoryItemPrivate.h:
4274
42752007-05-04  Geoffrey Garen  <ggaren@apple.com>
4276
4277        Reviewed by Tim Hatcher.
4278
4279        First step in fixing <rdar://problem/5055182> The back cache has no global cap
4280
4281        Stop giving SnapBack infinite cache-ability. Instead, make SnapBack rely
4282        on the underlying back cache.
4283        
4284        I left -setAlwaysAttemptToUsePageCache: as an empty stub because we don't 
4285        want to break Safari 2.0, but I removed its header declaration so nobody 
4286        else starts using it.
4287
4288        * History/WebHistoryItem.mm:
4289        (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
4290        * History/WebHistoryItemPrivate.h:
4291
42922007-05-04  Geoffrey Garen  <ggaren@apple.com>
4293
4294        Reviewed by Brady Eidson.
4295        
4296        Some cleanup in preparation for fixing <rdar://problem/5055182> The 
4297        back/forward cache has no global cap
4298        
4299        Unified naming of WebKit/WebCore b/f lists -- instead of the potpourri 
4300        of webBackForwardList, backForwardList, list, kitList, coreList, listWrapper, 
4301        and webCoreBackForwardList, we use webBackForwardList for WebKit and 
4302        backForwardList for WebCore, matching their respective class names.
4303        
4304        Removed "private" versions of kit() and core() -- kit() and core() are
4305        canonically used for converting between WebKit API objects and WebCore
4306        API objects. I think it's clearer to have only one way to do this.
4307
4308        Removed COMPUTE_DEFAULT_PAGE_CACHE_SIZE, since it was unused.
4309        
4310        Removed _clearPageCache, since it was unused and it duplicated -setPageCacheSize:0.
4311
4312        Removed _usesPageCache, since it was unused and it duplicated -pageCacheSize.
4313
43142007-05-04  Brady Eidson  <beidson@apple.com>
4315
4316        Reviewed by Mark Rowe
4317
4318        Added main thread assertion to WebHTMLView to help make sure 3rd party clients aren't trying
4319        to draw on secondary threads
4320
4321        * WebView/WebHTMLView.mm:
4322        (-[WebHTMLView drawRect:]): Added ASSERT_MAIN_THREAD()
4323
43242007-05-04  Anders Carlsson  <andersca@apple.com>
4325
4326        Reviewed by Antti.
4327
4328        <rdar://problem/5179977> Use the correct URLs when dispatching delegate methods for data loads.
4329
4330        * WebView/WebFrame.mm:
4331        (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
4332        If the base URL is nil, set it to "about:blank", and set the response URL to a generated applewebdata URL.
4333        
4334        * WebView/WebView.mm:
4335        (+[WebView _canHandleRequest:]):
4336        No need to special-case applewebdata URLs here anymore, they're only used in responses.
4337
43382007-05-03  Steve Falkenburg  <sfalken@apple.com>
4339
4340        Reviewed by Oliver.
4341
4342        Add missing user description parameter to spelling-related editor client method.
4343
4344        * WebCoreSupport/WebEditorClient.h:
4345        (WebEditorClient::updateSpellingUIWithGrammarString):
4346
43472007-05-03  TImothy Hatcher  <timothy@apple.com>
4348
4349        Reviewed by Kevin.
4350
4351        <rdar://problem/4975212> REGRESSION: With NetNewsWire 2.1.1, the contextual menu shows extra menu items when focus
4352        is placed in input or textarea field
4353
4354        The NetNewsWire UI delegate isn't expecting calls for form controls, so we need to do a linked-on-or-after check.
4355        If the application was linked against Tiger or earlier and the element is a text form control, just return the
4356        default menu items and bypass the delegate call completely.
4357
4358        * WebCoreSupport/WebContextMenuClient.mm:
4359        (isPreVersion3Client): Cache the result of the WebKitLinkedOnOrAfter call
4360        (fixMenusToSendToOldClients): Call the new isPreVersion3Client()
4361        (fixMenusReceivedFromOldClients): Ditto.
4362        (WebContextMenuClient::getCustomMenuFromDefaultItems): Return the default menu items if the element is a text form control.
4363
43642007-05-03  Mark Rowe  <mrowe@apple.com>
4365
4366        Reviewed by Geoff and Kevin.
4367
4368        <rdar://problem/5141290> WebAssertions.h is still needed by some internal clients
4369
4370        Second shot at fixing this error.  Stub out the macros rather than forwarding to JavaScriptCore, which would
4371        leave clients using this header trying to resolve JavaScriptCore symbols against WebKit when linking.  This
4372        should only happen in production builds when assertions should be disabled anyway as anyone building a
4373        development configuration should be in a position to move away from using this header.
4374
4375        * Misc/WebAssertions.h: 
4376
43772007-05-03  Timothy Hatcher  <timothy@apple.com>
4378
4379        Reviewed by Kevin.
4380
4381        <rdar://problem/5067707> REGRESSION: "Open Link" contextual menu item appears twice in Mail
4382
4383        Remove the check for Mail in fixMenusToSendToOldClients and fixMenusReceivedFromOldClients
4384        when linked on or after Leopard. The isAppleMail() function is still used for Tiger Mail fixups.
4385
4386        * WebCoreSupport/WebContextMenuClient.mm:
4387        (fixMenusToSendToOldClients):
4388        (fixMenusReceivedFromOldClients):
4389
43902007-05-02  Anders Carlsson  <andersca@apple.com>
4391
4392        Reviewed by Brady.
4393
4394        <rdar://problem/5151113> Assertion firing in [FrameProgressEntry addChild:forDataSource:] when navigating cnn.com
4395        
4396        The assertion fired because a plug-in was trying to load a subresource when a new load had started but not yet
4397        committed. The check that would have prevented this was removed in order to fix <rdar://problem/5085897>.
4398        
4399        This puts back the check but changes it to allow loads where the target is the same frame as the plugin's parent frame.
4400        
4401        * Plugins/WebBaseNetscapePluginView.mm:
4402        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
4403
44042007-04-27  Timothy Hatcher  <timothy@apple.com>
4405
4406        Reviewed by Darin.
4407
4408        There were only a couple calls to ResourceLoadDelegate forwarder left,
4409        this removes the calls and adds a new cached method for didFailLoad.
4410
4411        * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.h: Removed.
4412        * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.m: Removed.
4413        * WebKit/Plugins/WebNullPluginView.mm: Call the resource load delegate directly.
4414        * WebKit/WebCoreSupport/WebFrameLoaderClient.mm: Call the cached didFailLoad delegate function.
4415        * WebKit/WebKit.xcodeproj/project.pbxproj: Remove WebDefaultResourceLoadDelegate.
4416        * WebKit/WebView/WebDataSource.mm: Remove the #import for WebDefaultResourceLoadDelegate.h
4417        * WebKit/WebView/WebView.mm: Remove the ResourceLoadDelegate forwarder, and remove a method that isn't used.
4418        * WebKit/WebView/WebViewInternal.h: Ditto.
4419        * WebKit/WebView/WebViewPrivate.h: Remove a method that is no longer used.
4420
44212007-04-27  David Harrison  <harrison@apple.com>
4422
4423        Reviewed by Darin.
4424
4425        <rdar://problem/5160627> Export JS list creation support as ObjC SPI for Mail
4426
4427        * WebKit.xcodeproj/project.pbxproj:
4428        * WebView/WebHTMLView.mm:
4429        (-[WebHTMLView _selectedRange]):
4430        (-[WebHTMLView _shouldDeleteRange:]):
4431        (-[WebHTMLView _canEdit]):
4432        (-[WebHTMLView _canEditRichly]):
4433        (-[WebHTMLView _hasSelection]):
4434        (-[WebHTMLView _hasSelectionOrInsertionPoint]):
4435        (-[WebHTMLView _hasInsertionPoint]):
4436        (-[WebHTMLView _isEditable]):
4437        Condense the check for nil [self frame].
4438        Remove canEditRichly checks and rely on the editor to do the check instead.
4439        
4440        (-[WebHTMLView _insertOrderedList]):
4441        (-[WebHTMLView _insertUnorderedList]):
4442        New.
4443        
4444        (-[WebHTMLView _canIncreaseSelectionListLevel]):
4445        (-[WebHTMLView _canDecreaseSelectionListLevel]):
4446        (-[WebHTMLView _increaseSelectionListLevel]):
4447        (-[WebHTMLView _increaseSelectionListLevelOrdered]):
4448        (-[WebHTMLView _increaseSelectionListLevelUnordered]):
4449        (-[WebHTMLView _decreaseSelectionListLevel]):
4450        Moved from bridge to frame editor.
4451
4452        * WebView/WebHTMLViewPrivate.h:
4453        Add _insertOrderedList and _insertUnorderedList to WebHTMLView(WebPrivate)
4454
44552007-04-27  Brady Eidson  <beidson@apple.com>
4456
4457        Rubberstamped by Mark
4458
4459        Remove default implementation of UIDelegate method that was removed
4460
4461        I have also been instructed to give Tim a hard time about this one - apparently
4462        it was his job to clean it out and he failed...  failed miserably.
4463
4464        :)
4465
4466        * DefaultDelegates/WebDefaultUIDelegate.m: Removed webViewPrint:
4467
44682007-04-27  Maciej Stachowiak  <mjs@apple.com>
4469
4470        Reviewed by Mark.
4471        
4472        <rdar://problem/5154113> Repro ASSERT (would be crash) in KJS::GCLock::GCLock (13462)
4473        http://bugs.webkit.org/show_bug.cgi?id=13462
4474
4475        * WebInspector/WebInspector.m:
4476        (-[WebInspectorPrivate dealloc]): Delay release of WebView to avoid GC re-entrancy.
4477
44782007-04-27  Anders Carlsson  <andersca@apple.com>
4479
4480        Reviewed by Mitz.
4481
4482        <rdar://problem/5165755>
4483        View Source is broken; empty window is shown
4484        
4485        Return YES for applewebdata URLs.
4486        
4487        * WebView/WebView.mm:
4488        (+[WebView _canHandleRequest:]):
4489
44902007-04-26  Oliver Hunt  <oliver@apple.com>
4491
4492        Reviewed by Adam.
4493
4494        Fix <rdar://problem/5061252> REGRESSION: In Gmail, image fails 
4495        to be inserted into message field after dragging
4496
4497        Don't try to create <img> tags for local image files as it results
4498        in the potential to submit forms that look like they have an image,
4499        when in reality they don't.
4500
4501        * WebView/WebHTMLView.mm:
4502        (-[WebHTMLView _documentFragmentWithPaths:]):
4503
45042007-04-26  Anders Carlsson  <andersca@apple.com>
4505
4506        Reviewed by Maciej.
4507
4508        <rdar://problem/5049099> documents no longer have a default base URL
4509        
4510        If the base URL is nil, then create a unique applewebdata URL to match what Tiger WebKit does.
4511        
4512        * WebView/WebFrame.mm:
4513        (createUniqueWebDataURL):
4514        (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
4515
45162007-04-25  Oliver Hunt  <oliver@apple.com>
4517
4518        Rubber stamped by Adele.
4519
4520        Roll out WebKit changes from from r21052 to fix regression noted in
4521        <rdar://problem/5159556> REGRESSION: In Mail, pressing option-command- ' doesn't decrease block quote in selection
4522
4523        * WebView/WebHTMLView.mm:
4524        (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
4525        (-[WebHTMLView doCommandBySelector:]):
4526
45272007-04-25  Steve Falkenburg  <sfalken@apple.com>
4528
4529        Reviewed by Adam.
4530
4531        Mac callbacks for new spelling methods in WebEditorClient.
4532        Not used yet.
4533
4534        * WebCoreSupport/WebEditorClient.h:
4535        (WebEditorClient::ignoreWordInSpellDocument):
4536        (WebEditorClient::learnWord):
4537        (WebEditorClient::checkSpellingOfString):
4538        (WebEditorClient::checkGrammarOfString):
4539        (WebEditorClient::updateSpellingUIWithGrammarString):
4540        (WebEditorClient::updateSpellingUIWithMisspelledWord):
4541        (WebEditorClient::showSpellingUI):
4542        (WebEditorClient::spellingUIIsShowing):
4543        (WebEditorClient::getGuessesForWord):
4544
45452007-04-24  Geoffrey Garen  <ggaren@apple.com>
4546
4547        Reviewed by Darin Adler, Tim Hatcher.
4548
4549        Fixed a few NSAutoreleasePool issues I noticed while reviewing Brady's patch.
4550
4551        * Carbon/CarbonUtils.m:
4552        (PoolCleaner): Call -drain instead of -release, since -release is a 
4553        no-op in a GC world.
4554
4555        * Misc/WebKitErrors.m:
4556        (registerErrors): Condensed onto one line.
4557
4558        * Plugins/WebPluginDatabase.m:
4559        (-[WebPluginDatabase refresh]): Call -drain instead of -release, since
4560        -release is a no-op in a GC world.
4561
4562        * WebCoreSupport/WebChromeClient.mm:
4563        (WebChromeClient::setStatusbarText):
4564
4565        * WebInspector/WebNodeHighlightView.m:
4566        (-[WebNodeHighlightView initWithHighlight:andRects:forView:]): Don't drain
4567        and then release because drain deallocates the receiver, so the release
4568        is an over-release.
4569
4570        * WebView/WebView.mm:
4571        (-[WebView rectsForTextMatches]): Re-allocate the pool after draining it,
4572        because drain deallocates the receiver, so the drain would leave you without
4573        any autorelease pool, causing a leak and then an over-release at the bottom
4574        of the loop.
4575
45762007-04-24  Brady Eidson  <beidson@apple.com>
4577
4578        Reviewed by Beth, Hyatt, Ada, and Darin
4579
4580        <rdar://problem/5011477> and <rdar://problem/5011514>
4581        Provide support for the icon.db to be moved to a different directory from the old WebKit-style
4582        icons, and remove the old directory if that is the case
4583
4584        * Misc/WebIconDatabase.mm:
4585        (-[WebIconDatabase init]):
4586        (-[WebIconDatabase _importToWebCoreFormat]): Check "imported()" to determine if a conversion is needed
4587          - Look for WebIconDatabaseImportDirectoryDefaultsKey for the source location for the conversion
4588          - Set "imported" to true in the Icons.db
4589          - If the new Icons.db isn't in the same patch as the old icons, delete the entire directory when finished
4590          - Move old icon.db to Icons.db to reflect rename
4591        * Misc/WebIconDatabasePrivate.h: Add WebIconDatabaseImportDirectoryDefaultsKey so a WebKit client can tell WebKit
4592          where to look for the old icons if their location is different from the icon.db
4593        * WebKit.exp:
4594
45952007-04-24  Mitz Pettel  <mitz@webkit.org>
4596
4597        Reviewed by Oliver Hunt.
4598
4599        Changed an apostrophe (') into a right single quotation mark (U+2019).
4600
4601        * WebInspector/webInspector/inspector.js:
4602
46032007-04-24  Mitz Pettel  <mitz@webkit.org>
4604
4605        Reviewed by Timothy Hatcher.
4606
4607        - fix http://bugs.webkit.org/show_bug.cgi?id=13459
4608          The "mapped style" link next to an attribute doesn't work
4609
4610        * WebInspector/webInspector/inspector.js: Added a check that the rule is
4611        mapped from an attribute.
4612
46132007-04-23  Adele Peterson  <adele@apple.com>
4614
4615        Fixed and reviewed by Darin, Adele, and Oliver.
4616
4617        WebKit part of fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
4618        http://bugs.webkit.org/show_bug.cgi?id=13263
4619
4620        * WebView/WebHTMLView.mm:
4621        (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):  If we have no command after calling interpretKeyEvents, we assume the input method handled the key.
4622        (-[WebHTMLView doCommandBySelector:]): Add noop: to the command vector, but then when actually performing actions, ignore it.
4623
46242007-04-23  Timothy Hatcher  <timothy@apple.com>
4625
4626        Reviewed by Darin.
4627
4628        <rdar://problem/5124364> IB3 crashes when loading a nib containing a WebView that has a WebHTMLView encoded inside
4629
4630        Since WebView's initWithCoder throws away all the decoded subviews, the WebHTMLView gets dealoced while it has a nil _private pointer.
4631        Checking for a nil _private in WehHTMLView's close fixes this crash. No need to implement a full initWithCoder for WebHTMLView since
4632        it will be thrown away by the WebView anyway.
4633
4634        * WebView/WebHTMLView.mm:
4635        (-[WebHTMLView close]): Return earily if _priviate is nil.
4636        (-[WebHTMLView initWithFrame:]): Unrelated change that removes an AppKit version check that predates Tiger.
4637
46382007-04-23  Timothy Hatcher  <timothy@apple.com>
4639
4640        Reviewed by Mark Rowe.
4641
4642        Remove the "No Selection" message after leaving search mode.
4643        This was a regression caused by the inspector refresh.
4644
4645        * WebInspector/webInspector/inspector.js:
4646
46472007-04-23  Timothy Hatcher  <timothy@apple.com>
4648
4649        Reviewed by Darin.
4650
4651        Bug 6658: World leak when closing inspected window
4652        http://bugs.webkit.org/show_bug.cgi?id=6658 and <rdar://problem/4411863>
4653
4654        Removes over-retains of the inspector WebView, WebInspector and WebInspectorPanel.
4655
4656        * WebInspector/WebInspector.m:
4657        (+[WebInspector sharedWebInspector]): Return the global sharedWebInspector variable.
4658        (-[WebInspector window]): Release the window after calling setWindow:.
4659        (-[WebInspector windowWillClose:]): Set the JavaScript Inspector variable to null and expire the current highlight.
4660          Also clear the global sharedWebInspector variable and release it if self equals sharedWebInspector.
4661        (-[WebInspector showWindow:]): Set the JavaScript Inspector variable back to self.
4662        * WebInspector/WebInspectorInternal.h: Remove the isSharedInspector member variable.
4663        * WebView/WebView.mm:
4664        (-[WebView windowScriptObject]): Return nil if core([self mainFrame]) is NULL.
4665
46662007-04-23  Darin Adler  <darin@apple.com>
4667
4668        Reviewed by Hyatt.
4669
4670        - rename box-sizing to -webkit-box-sizing
4671
4672        * WebInspector/webInspector/inspector.css: Here.
4673        * WebInspector/webInspector/inspector.js: And here, in the expected default CSS values list.
4674
46752007-04-22  Timothy Hatcher  <timothy@apple.com>
4676
4677        Reviewed by Darin.
4678
4679        The fix for <rdar://problem/4976681> ASSERTION failure on quit @ talkcrunch.com in _NPN_ReleaseObject
4680        was #ifdefed out in Production builds.
4681
4682        * WebView/WebView.mm:
4683        (+[WebView initialize]): Move the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM inside initialize around the specific code
4684        (+[WebView _applicationWillTerminate]): Moved outside the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM block
4685
46862007-04-22  Timothy Hatcher  <timothy@apple.com>
4687
4688        Reviewed by Mitz.
4689
4690        Bug 13436: Make Option-clicking a disclosure triangle expand the entire subtree
4691        http://bugs.webkit.org/show_bug.cgi?id=13436
4692
4693        Makes option-click recursively expand and collapse the sub-tree. Pressing option-left
4694        and -right also recursively expands and collapses the sub-tree.
4695
4696        * WebInspector/webInspector/treeoutline.js:
4697
46982007-04-22  Timothy Hatcher  <timothy@apple.com>
4699
4700        Reviewed by Mitz.
4701
4702        Bug 13437: Inspector does not update when navigating to a different page
4703        http://bugs.webkit.org/show_bug.cgi?id=13437
4704
4705        * WebInspector/webInspector/inspector.js: Correctly update to a new root node
4706          if the new focus node and the old focus node don't have a common ancestor.
4707
47082007-04-22  Darin Adler  <darin@apple.com>
4709
4710        Reviewed by Adele.
4711
4712        - fix for <rdar://problem/5100240> REGRESSION: Control-O broken
4713
4714        * WebView/WebHTMLView.mm:
4715        (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Update to handle a vector of
4716        command names instead of a single command.
4717        (-[WebHTMLView doCommandBySelector:]): Change logic so that we add the command to a vector
4718        and also so that the interpretKeyEvents parameters are still intact for a second call to
4719        doCommandBySelector:, since the key bindings mechanism can do more than one.
4720        (-[WebHTMLView insertText:]): Added comment.
4721
47222007-04-21  Darin Adler  <darin@apple.com>
4723
4724        Reviewed by Oliver.
4725
4726        - fix some problems I ran into using the inspector
4727
4728        * WebInspector/webInspector/inspector.js: Add some null checks.
4729
47302007-04-20  Timothy Hatcher  <timothy@apple.com>
4731
4732        Reviewed by Darin.
4733
4734        Merge over the WebInspectorRefresh branch. This change removes the NSOutlineView and
4735        is replaced with a HTML/JavaScript tree. Most of the inspector logic is now in the JavaScript.
4736
4737        A few bugs are fixed by these changes:
4738
4739        Bug 6615: Parent node drop-down list is upside-down
4740        http://bugs.webkit.org/show_bug.cgi?id=6615
4741
4742        Bug 6643: REGRESSION: Tree view repaints lines without erasing them first
4743        http://bugs.webkit.org/show_bug.cgi?id=6643
4744
4745        Bug 6650: Web Inspector HTML Hierarchy can't be scrolled with scrollwheel
4746        http://bugs.webkit.org/show_bug.cgi?id=6650
4747
4748        Bug 6677: Can't drag inspector when tree view has focus
4749        http://bugs.webkit.org/show_bug.cgi?id=6677
4750
4751        Bug 7326: Web Inspector tree scrollbar always shows up when resizing the top pane down
4752        http://bugs.webkit.org/show_bug.cgi?id=7326
4753
4754        * WebInspector/WebInspector.h: Removed the searchQuery methods.
4755        * WebInspector/WebInspector.m: Removed the DOMNode category and code for the old outline view.
4756        * WebInspector/WebInspectorOutlineView.h: Removed.
4757        * WebInspector/WebInspectorOutlineView.m: Removed.
4758        * WebInspector/WebInspectorInternal.h: Remove some methods and instance variables.
4759        * WebInspector/webInspector/Images/resize.png: Added.
4760        * WebInspector/webInspector/inspector.css: 
4761        * WebInspector/webInspector/inspector.html: Include the new classes and remove the plugin.
4762        * WebInspector/webInspector/inspector.js: Changes to use the new tree outline and other fixes.
4763        * WebInspector/webInspector/scrollarea.js: Copied from the Dashboard widget resources.
4764        * WebInspector/webInspector/scrollbar.js: Ditto.
4765        * WebInspector/webInspector/treeoutline.js: New tree outline class.
4766        * WebInspector/webInspector/utilities.js: DOM and String prototype additions.
4767        * WebKit.xcodeproj/project.pbxproj: Remove WebInspectorOutlineView.
4768
47692007-04-20  Brady Eidson  <beidson@apple.com>
4770
4771        Reviewed by Oliver (Black Sheep)
4772
4773        <rdar://problem/3559794>
4774        [WebView setMaintainsBackForwardList:] doesn't actually flush out the current page caches
4775
4776        * WebView/WebView.mm: Remove _private->useBackForwardList
4777        (-[WebView _setInitiatedDrag:]): Use _private->page instead of [self page]
4778        (-[WebView initWithCoder:]): Manipulate the flag that is now in WebCore::BackForwardList
4779        (-[WebView encodeWithCoder:]): Ditto
4780        (-[WebView backForwardList]): Use _private->page instead of [self page]
4781        (-[WebView setMaintainsBackForwardList:]): Manipulate the flag that is now in WebCore::BackForwardList
4782
47832007-04-20  Anders Carlsson  <andersca@apple.com>
4784
4785        Reviewed by Maciej.
4786
4787        <rdar://problem/5085897> REGRESSION: Some Flash links at www.jumpskyhigh.com just reload the page
4788        
4789        Get rid of the check that would prevent plugin requests from being loaded if a new page load was underway.
4790        www.jumpskyhigh.com had a flash movie that was embedded inside an <a> tag and clicking on the plug-in would cause the
4791        URL pointed to by the <a> tag to start loading and thus preventing the plug-in from loading the real URL.
4792        
4793        This check was added by Maciej and we should be able to remove it with the loader changes that have happened now,
4794        (mainly the fact that resource loaders are handled by the document loader instead of the frame loader).
4795        
4796        * Plugins/WebBaseNetscapePluginView.mm:
4797        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
4798
47992007-04-19  Oliver Hunt  <oliver@apple.com>
4800
4801        Reviewed by Adam.
4802
4803        Fix for <rdar://problem/4960912> -- REGRESSION: Content-Disposition:
4804        filename is ignored for drag-and-drop.
4805
4806        * WebView/WebResource.mm:
4807        (-[WebResource _fileWrapperRepresentation]):
4808          When creating the NSFileWrapper check the response for a preferred 
4809          filename, rather than just blindly hoping for the best.
4810
48112007-04-19  Anders Carlsson  <andersca@apple.com>
4812
4813        Reviewed by John.
4814
4815        <rdar://problem/5137002>
4816        REGRESSION (r20812): [WebFrame DOMDocument] is returning non-nil value in bookmarks view, causing trouble in Safari
4817
4818        Put back the MIME type check as a workaround.
4819        * WebView/WebFrame.mm:
4820        (-[WebFrame DOMDocument]):
4821
48222007-04-19  Mark Rowe  <mrowe@apple.com>
4823
4824        Reviewed by Oliver and Adam.
4825
4826        <rdar://problem/5141290> WebAssertions.h is still needed by some internal clients.
4827
4828        * Misc/WebAssertions.h: Added.
4829        * WebKit.xcodeproj/project.pbxproj:
4830
48312007-04-17  Brady Eidson  <beidson@apple.com>
4832
4833        Reviewed by Tim
4834
4835        <rdar://problem/5008925>
4836        Expose the NSURLConnection delegate willCacheResponse API to WebResourceLoadDelegate
4837
4838        * WebCoreSupport/WebFrameLoaderClient.h:
4839        * WebCoreSupport/WebFrameLoaderClient.mm:
4840        (WebFrameLoaderClient::willCacheResponse): Call 
4841          [WebResourceLoadDelegate webView:resource:willCacheResponse:fromDataSource:];
4842
4843        * WebView/WebView.mm:
4844        (-[WebView _cacheResourceLoadDelegateImplementations]): Pull out the willCacheResponse impl
4845
4846        * WebView/WebViewPrivate.h: Add WebResourceLoadDelegatePrivate category for this new SPI
4847
48482007-04-18  John Sullivan  <sullivan@apple.com>
4849
4850        Reviewed by Adam
4851
4852        - fixed <rdar://problem/5103009> REGRESSION: Activity window shows blank name for untitled pages
4853
4854        * WebView/WebHTMLRepresentation.mm:
4855        (-[WebHTMLRepresentation title]):
4856        return nil for empty string, to match old behavior
4857
48582007-04-17  John Sullivan  <sullivan@apple.com>
4859
4860        Reviewed by Tim Hatcher
4861
4862        - fixed <rdar://problem/5138492> Safari doesn't remember some changes to the PDF scale and display mode 
4863
4864        Some of the user interactions that could change the PDF scale and display mode were not going through
4865        the proxy mechanism in WebPDFView that updates preferences. Now we also listen to PDFKit notifications
4866        in order to catch the other cases.
4867
4868        * WebView/WebPDFView.h:
4869        new _ignoreScaleAndDisplayModeNotifications and _updatePreferencesTimer ivars
4870
4871        * WebView/WebPDFView.mm:
4872        (-[WebPDFView setPDFDocument:]):
4873        ignore scale and display mode notifications while we're setting up a fresh document
4874        (-[WebPDFView dealloc]):
4875        cancel the new timer (which releases it)
4876        (-[WebPDFView viewDidMoveToWindow]):
4877        listen for two PDFKit notifications
4878        (-[WebPDFView viewWillMoveToWindow:]):
4879        stop listening to the two PDFKit notifications
4880        (-[WebPDFView _applyPDFDefaults]):
4881        white space change
4882        (-[WebPDFView _cancelUpdatePreferencesTimer]):
4883        invalidate, release, and nil out the timer
4884        (-[WebPDFView _scaleOrDisplayModeChanged:]):
4885        update preferences soon, unless deliberately ignoring these notifications
4886        (-[WebPDFView _updatePreferencesNow]):
4887        cancel timer, then save data to preferences (code for saving the data was extracted from
4888        -[PDFPrefUpdatingProxy forwardInvocation:])
4889        (-[WebPDFView _updatePreferencesSoon]):
4890        use timer to consolidate multiple calls into one action; formerly we were setting preferences
4891        multiple times for some atomic user actions
4892        (-[PDFPrefUpdatingProxy forwardInvocation:]):
4893        call _updatePreferencesSoon where we used to immediately set preferences
4894
48952007-04-17  John Sullivan  <sullivan@apple.com>
4896
4897        Reviewed by Kevin Decker
4898
4899        - fixed <rdar://problem/4184640> "Look Up in Dictionary" item is always disabled for PDF pages
4900
4901        * WebView/WebPDFView.mm:
4902        (-[WebPDFView validateUserInterfaceItem:]):
4903        enable "Look Up in Dictionary" only if we're using a version of PDFKit that knows how to do so
4904        (-[WebPDFView _canLookUpInDictionary]):
4905        use respondsToSelector to test whether the current version of PDFKit supports this non-API feature
4906        (-[WebPDFView _lookUpInDictionaryFromMenu:]):
4907        implement this method, which WebKit includes in the context menu when there's selected text
4908        (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
4909        updated comment for this change
4910
49112007-04-16  Darin Adler  <darin@apple.com>
4912
4913        Rubber stamped by Tim Hatcher.
4914
4915        * WebKit.xcodeproj/project.pbxproj: Added Radar bug number to the error message
4916        for the "version number ending in 4" check so folks from Apple can find the
4917        original bug that motivated for this. To summarize what's in that bug, it says that
4918        <http://my.fedex.com> was failing, that it was because of the OpenCube DHTML Menu,
4919        and that some other affected sites were not using OpenCube (so the error is presumably
4920        more widespread).
4921
49222007-04-16  Darin Adler  <darin@apple.com>
4923
4924        Reviewed by John Sullivan.
4925
4926        - fix http://bugs.webkit.org/show_bug.cgi?id=13303
4927          <rdar://problem/5126341> REGRESSION: controls in a background Safari window
4928          maintain active appearance if the address bar has focus (13303)
4929
4930        * WebView/WebHTMLView.mm: (-[WebHTMLView _windowChangedKeyState]):
4931        Added. Calls FrameView::updateControlTints.
4932
49332007-04-13  Oliver Hunt  <oliver@apple.com>
4934
4935        Reviewed by Adam.
4936
4937        Due to rdar://problem/5133910 -- WebArchives should not be constructed 
4938        using resource from the cache -- We may try to create a potentially 
4939        incorrect WebArchive when dragging an image multiple times.
4940
4941        This patch retains the assertion for invalid behaviour, but adds a
4942        branch to make sure we don't try to do anything with the WebArchive
4943        in release builds.
4944
4945        * Misc/WebNSPasteboardExtras.mm:
4946        (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
4947
49482007-04-13  Timothy Hatcher  <timothy@apple.com>
4949
4950        Reviewed by Dave Harrison.
4951
4952        <rdar://problem/5132727> Soho Mail build fails because of renamed SPI
4953
4954        * WebView/WebUIDelegatePrivate.h: define WebMenuItemTagSearchInGoogle as OldWebMenuItemTagSearchWeb
4955
49562007-04-13  Mark Rowe  <mrowe@apple.com>
4957
4958        Reviewed by Oliver.
4959
4960        <rdar://problem/5130686> Using WebPreferencesPrivate.h requires modifying framework search path
4961
4962        * WebView/WebPreferencesPrivate.h: Remove unneeded #ifdef.
4963
49642007-04-12  Deneb Meketa  <dmeketa@adobe.com>
4965
4966        Reviewed by Darin Adler.
4967
4968        http://bugs.webkit.org/show_bug.cgi?id=13029
4969        rdar://problem/4994849
4970        Bug 13029: Permit NPAPI plug-ins to see HTTP response headers.
4971
4972        * Plugins/WebBaseNetscapePluginStream.h: declarations.
4973        * Plugins/WebBaseNetscapePluginStream.mm: main implementation.
4974        (-[WebBaseNetscapePluginStream dealloc]): cleanup.
4975        (-[WebBaseNetscapePluginStream finalize]): cleanup.
4976        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
4977        Pass headers along.
4978        (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
4979        Main work is here.  Extract headers from NSHTTPURLResponse object into a byte sequence.
4980        See comments here about how it would be nice to have low-level access to the HTTP response.
4981        (-[WebBaseNetscapePluginStream _destroyStream]): cleanup.
4982        * Plugins/WebBaseNetscapePluginView.mm:
4983        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
4984        Conform to new startStream params.  Not applicable here, pass nil.
4985
49862007-04-12  Brady Eidson  <beidson@apple.com>
4987
4988        Build fix for case sensitive file systems
4989
4990        * Misc/WebNSPasteboardExtras.mm:
4991        * WebCoreSupport/WebPasteboardHelper.mm:
4992
49932007-04-11  John Sullivan  <sullivan@apple.com>
4994
4995        Reviewed by Anders
4996
4997        - WebKit part of fix for:
4998        <rdar://problem/5128697> REGRESSION: At least one PDF context menu item isn't appearing on Leopard
4999
5000        * Misc/WebNSArrayExtras.h: Added.
5001        * Misc/WebNSArrayExtras.m: Added.
5002        (-[NSMutableArray _webkit_removeUselessMenuItemSeparators]):
5003        New file, includes this method to strip leading, trailing, and duplicate separators from arrays
5004        of NSMenuItems (copied from Safari)
5005
5006        * WebView/WebUIDelegatePrivate.h:
5007        new MenuItemTag enum values for new PDFKit context menu items
5008
5009        * WebKit.xcodeproj/project.pbxproj:
5010        updated for new files
5011
5012        * WebView/WebPDFView.mm:
5013        (-[WebPDFView _anyPDFTagsFoundInMenu:]):
5014        check for new PDFKit context menu items
5015        (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
5016        associate new PDFKit context menu item selectors with the new tags; skip certain selectors that
5017        correspond to menu items that WebKit already includes; remove useless menu item separators when
5018        we're done, since we might have removed arbitrarily-placed menu items
5019
50202007-04-11  Oliver Hunt  <oliver@apple.com>
5021
5022        Reviewed by Maciej.
5023
5024        Adding RetainPtr to the many global obj-c pointers we use in
5025        C/C++ methods.  This is necessary to prevent GC from collecting
5026        globals we want to keep around.
5027
5028        We use RetainPtr in obj-c++ and c++ files, and CFRetain/Release in pure
5029        obj-c.
5030
5031        This fixes <rdar://problem/5058731> -- Crash in 
5032        WebCore::DragData::containsCompatibleContent due to early release 
5033        of types array
5034
5035        * Misc/WebLocalizableStrings.m:
5036        (WebLocalizedString):
5037        * Misc/WebNSPasteboardExtras.mm:
5038        (+[NSPasteboard _web_writableTypesForURL]):
5039        (_writableTypesForImageWithoutArchive):
5040        (_writableTypesForImageWithArchive):
5041        * Misc/WebNSURLExtras.m:
5042        (applyHostNameFunctionToMailToURLString):
5043        (applyHostNameFunctionToURLString):
5044        * Misc/WebStringTruncator.m:
5045        (defaultMenuFont):
5046        (fontFromNSFont):
5047        * WebCoreSupport/WebPasteboardHelper.mm:
5048        (WebPasteboardHelper::insertablePasteboardTypes):
5049
50502007-04-11  MorganL  <morganl.webkit@yahoo.com>
5051
5052        Reviewed by Maciej.
5053
5054        Add a Frame pointer to ChromeClient methods:
5055        http://bugs.webkit.org/show_bug.cgi?id=13127
5056
5057        * COM/ChromeClientWin.cpp:
5058        (ChromeClientWin::createWindow):
5059        (ChromeClientWin::createModalDialog):
5060        * COM/ChromeClientWin.h:
5061        * WebCoreSupport/WebChromeClient.h:
5062        * WebCoreSupport/WebChromeClient.mm:
5063        (WebChromeClient::createWindow):
5064        (WebChromeClient::createModalDialog):
5065
50662007-04-10  Brady Eidson  <beidson@apple.com>
5067
5068        Reviewed by Darin
5069
5070        <rdar://problem/4887095> - PageCache and PageState should be combined
5071
5072        WebKit side of the change to reflect the new object name of CachedPage and new Client method names
5073
5074        * History/WebHistoryItem.mm:
5075        (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
5076        (+[WebHistoryItem _releaseAllPendingPageCaches]):
5077        (-[WebWindowWatcher windowWillClose:]):
5078
5079        * WebCoreSupport/WebFrameLoaderClient.h:
5080        * WebCoreSupport/WebFrameLoaderClient.mm:
5081        (WebFrameLoaderClient::setDocumentViewFromCachedPage):
5082        (WebFrameLoaderClient::loadedFromCachedPage):
5083        (WebFrameLoaderClient::saveDocumentViewToCachedPage):
5084
50852007-04-09  Geoffrey Garen  <ggaren@apple.com>
5086
5087        Reviewed by Maciej Stachowiak.
5088        
5089        Support for fixing fast/forms/textarea-paste-newline.html.
5090        
5091        Added SPI for specifying whether a WebView should allow pasting through the 
5092        DOM API.
5093
5094        * ChangeLog:
5095        * WebKit.xcodeproj/project.pbxproj:
5096        * WebView/WebPreferenceKeysPrivate.h:
5097        * WebView/WebPreferences.m:
5098        (+[WebPreferences standardPreferences]):
5099        (-[WebPreferences isDOMPasteAllowed]):
5100        (-[WebPreferences setDOMPasteAllowed:]):
5101        * WebView/WebPreferencesPrivate.h:
5102        * WebView/WebView.mm:
5103        (-[WebView _updateWebCoreSettingsFromPreferences:]):
5104
51052007-04-09  Anders Carlsson  <andersca@apple.com>
5106
5107        Reviewed by John.
5108
5109        <rdar://problem/5081860>
5110        REGRESSION: Select All for standalone image has no visible effect but does change state
5111        
5112        <rdar://problem/5081840>
5113        REGRESSION: context menu in white space beyond standalone image is different after Select All
5114        
5115        Have validateUserInterface emulate the old behavior for full-frame images and plugins, which is:
5116        
5117        - For full-frame plugins, always return false.
5118        - For images, only return true if the selector is copy: and the image has finished loading.
5119        
5120        * WebView/WebHTMLView.mm:
5121        (-[WebHTMLView validateUserInterfaceItem:]):
5122
51232007-04-09  Anders Carlsson  <andersca@apple.com>
5124
5125        Reviewed by Darin.
5126
5127        <rdar://problem/5026893>
5128        REGRESSION: "Mail Contents of this Page" for standalone image in Safari results in a broken image in Mail
5129        
5130        * WebView/WebFrame.mm:
5131        (-[WebFrame DOMDocument]):
5132        We can't check for _isHTMLDocument here since image and plugin documents inherit from HTMLDocument. Instead,
5133        check for those two document types explicitly.
5134        
51352007-04-09  Anders Carlsson  <andersca@apple.com>
5136
5137        Reviewed by Geoff, Ada and John.
5138
5139        <rdar://problem/4600978> Would like a way to test whether a WebView is displaying a standalone image
5140
5141        * WebView/WebFrame.mm:
5142        (-[WebFrame _isDisplayingStandaloneImage]):
5143        * WebView/WebFramePrivate.h:
5144        Add _isDisplayingStandaloneImage SPI.
5145
51462007-04-06  Timothy Hatcher  <timothy@apple.com>
5147
5148        Reviewed by Mark Rowe.
5149
5150        Adds a build phase script that ensures WebKit's version dosen't end in a 4.
5151        If our version ends in 4, some sites might think we are Netscape 4 in their
5152        user agent checks.
5153
5154        * Configurations/Version.xcconfig:
5155        * WebKit.xcodeproj/project.pbxproj:
5156
51572007-04-05  Anders Carlsson  <andersca@apple.com>
5158
5159        Reviewed by Adam.
5160
5161        <rdar://problem/5083023>
5162        REGRESSION: In Real Player (10.1.0), video continues to play after closing window
5163        
5164        This broke in revision 18422 because now the plugin isn't stopped when the window is closed. Since the window is retained
5165        by the plugin view for as long as it is running (so that removeTrackingRect works even though the window has been closed),
5166        we would end up with a reference cycle (NSWindow -> WebView -> PluginView -> NSWindow) and stopping the plug-in when the window
5167        was closed would break that cycle.
5168        
5169        Applications that call -[WebView close] when closing aren't affected, but RealPlayer doesn't do this.
5170        
5171        The bug that 18422 was supposed to fix was fixed by 19275, which is why it's safe to add back the check.
5172        
5173        * Plugins/WebBaseNetscapePluginView.mm:
5174        (-[WebBaseNetscapePluginView addWindowObservers]):
5175        (-[WebBaseNetscapePluginView removeWindowObservers]):
5176        (-[WebBaseNetscapePluginView windowWillClose:]):
5177
51782007-04-05  Kevin McCullough  <kmccullough@apple.com>
5179
5180        Reviewed by Darin.
5181
5182        - Moved registerURLSchemeAsLocal to the public API.
5183
5184        * WebView/WebView.h:
5185        * WebView/WebView.mm:
5186        (+[WebView registerURLSchemeAsLocal:]):
5187        * WebView/WebViewPrivate.h:
5188
5189=== Safari-5522.6 ===
5190
51912007-04-04  Anders Carlsson  <andersca@apple.com>
5192
5193        Reviewed by John.
5194
5195        <rdar://problem/5107536> 
5196        http://bugs.webkit.org/show_bug.cgi?id=13264
5197        REGRESSION: Crash when canceling about:blank in Activity viewer
5198        
5199        * WebView/WebFrame.mm:
5200        (-[WebFrame stopLoading]):
5201        Add a null check for the frame loader - it can be null when the frame has been disconnected
5202        from the web page.
5203
52042007-04-03  Anders Carlsson  <andersca@apple.com>
5205
5206        Reviewed by Darin.
5207
5208        <rdar://problem/5028178>
5209        Crash occurs at WebCore::FrameLoader::activeDocumentLoader() after loading Froggster widget
5210        
5211        * Plugins/WebNetscapePluginStream.mm:
5212        (-[WebNetscapePluginStream start]):
5213        If load returns no the plugin loader has already been removed by the didFail callback.
5214
52152007-04-02  Anders Carlsson  <andersca@apple.com>
5216
5217        Reviewed by Geoff.
5218
5219        Fix crash when running plugins/destroy-stream-twice.html under GuardMalloc
5220
5221        * Plugins/WebBaseNetscapePluginStream.h:
5222        * Plugins/WebBaseNetscapePluginStream.mm:
5223        (+[WebBaseNetscapePluginStream ownerForStream:]):
5224        (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
5225        (-[WebBaseNetscapePluginStream dealloc]):
5226        (-[WebBaseNetscapePluginStream finalize]):
5227        Change the streams hash map to contain an NPStream*, and change ownerForStream to take an NPStream*.
5228        
5229        * Plugins/WebBaseNetscapePluginView.mm:
5230        (-[WebBaseNetscapePluginView destroyStream:reason:]):
5231        Check that the NPStream pointer is valid before accessing stream->ndata.
5232
52332007-04-02  Darin Adler  <darin@apple.com>
5234
5235        Reviewed by Geoff.
5236
5237        - fix http://bugs.webkit.org/show_bug.cgi?id=13026
5238          <rdar://problem/5061026> incomplete render of menu
5239          (assertion failing in -[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:])
5240
5241        - fix http://bugs.webkit.org/show_bug.cgi?id=13120
5242          <rdar://problem/5080339> Plug-ins that draw through the QuickDraw interface may crash
5243          by hanging onto old GWorlds.
5244
5245        - set clip path for CoreGraphics plug-ins in the same way we do for QuickDraw plug-ins
5246          this is a better fix for <rdar://problem/4939511> WebKit should set the the CG clip
5247          path for plug-ins that draw using Core Graphics
5248
5249        Incorporates changes from a patch by Mark Ambachtsheer.
5250
5251        Here are the changes:
5252
5253            1) Don't try to use the offscreen code path if GGBitmapContextGetData returns 0.
5254            2) Handle kCGBitmapByteOrderDefault when computing the QD pixel format, even though
5255               we don't have any evidence that this happens in practice.
5256            3) Keep the GWorld around until we create a new one or the plug-in is destroyed.
5257            4) Use the GWorld pointer itself as a flag to indicate whether we are using an
5258               offscreen GWorld.
5259            5) Set up clipping for CoreGraphics in the same way we do for QuickDraw; remove an
5260               earlier attempt that handled CoreGraphics differently.
5261
5262        * Plugins/WebBaseNetscapePluginView.h: Added a field named offscreenGWorld to hold
5263        the GWorld until it's needed.
5264        * Plugins/WebBaseNetscapePluginView.mm:
5265        (getQDPixelFormatForBitmapContext): Replaced QDPixelFormatFromCGBitmapInfo. Used the
5266        "get" prefix so we don't intrude on the QD namespace. Added code to handle the
5267        kCGBitmapByteOrderDefault case, although I'm not sure it will really come up in
5268        practice -- it wasn't really coming up in the buggy case.
5269        (getNPRect): Added helper functions. Used to make the code below clearer.
5270        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Use getNPRect to
5271        streamline code. Use GetGWorld to save the port since we use SetGWorld to restore
5272        it later. Store the GWorld we create in the offscreenGWorld field and dispose the
5273        existing one. Don't treat the CGBitmapContext as an offscreen bitmap if it
5274        has a data pointer of 0. Set up the clip based on the result of
5275        -[NSView getRectsBeingDrawn:count] when setting up the port for CoreGraphics
5276        (after saving the port state).
5277        (-[WebBaseNetscapePluginView restorePortState:]): Remove now-unneeded code to
5278        destroy the offscreen GWorld, and simplified the code that restores the port so we
5279        don't need a separate case for offscreen.
5280        (-[WebBaseNetscapePluginView fini]): Renamed from freeAttributeKeysAndValues, since
5281        this method now does more than just the attributes. This is the shared method that
5282        does things needed in both dealloc and finalize. Added a call to DisposeGWorld here.
5283        (-[WebBaseNetscapePluginView dealloc]): Updated for name change.
5284        (-[WebBaseNetscapePluginView finalize]): Ditto.
5285        (-[WebBaseNetscapePluginView drawRect:]): Removed code to set clip. This is done in
5286        the saveAndSetNewPortStateForUpdate: method instead.
5287
52882007-03-30  Adele Peterson  <adele@apple.com>
5289
5290        Reviewed by Darin.
5291
5292        Call execCommand for deleteWordForward and deleteWordBackward instead of calling
5293        deleteWithDirection directly.
5294
5295        * WebView/WebHTMLView.mm:
5296        (-[WebHTMLView deleteWordForward:]):
5297        (-[WebHTMLView deleteWordBackward:]):
5298
52992007-03-30  Anders Carlsson  <andersca@apple.com>
5300
5301        Reviewed by Geoff.
5302
5303        * Plugins/WebNetscapePluginPackage.m:
5304        (-[WebNetscapePluginPackage load]):
5305        Initialize pushpopupsenabledstate, poppopupsenabledstate and enumerate.
5306        
5307        * Plugins/npapi.m:
5308        (NPN_PushPopupsEnabledState):
5309        (NPN_PopPopupsEnabledState):
5310        Add stubs for these functions.
5311        
5312        * Plugins/npfunctions.h:
5313        Add new methods to NPNetscapeFuncs.
5314
53152007-03-29  Geoffrey Garen  <ggaren@apple.com>
5316
5317        Reviewed by Beth Dakin, reviewed by Maciej Stachowiak.
5318        
5319        Layout test for <rdar://problem/5091330> REGRESSION: Repro crash in 
5320        -[WebBaseNetscapePluginView(WebNPPCallbacks) destroyStream:reason:] 
5321        navigating away from page with DivX movie plug-in (13203)
5322        
5323        Changed LOG_ERROR to LOG so the layout test doesn't produce console spew
5324        every time you run it.
5325
5326        * Plugins/WebBaseNetscapePluginView.mm:
5327        (-[WebBaseNetscapePluginView destroyStream:reason:]):
5328
53292007-03-29  Beth Dakin  <bdakin@apple.com>
5330
5331        Reviewed by Brady.
5332
5333        Fix for <rdar://problem/4674537> REGRESSION: Adobe Acrobat 8 - Text 
5334        blinks when mouse is moved, and is invisible otherwise
5335
5336        -and-
5337
5338        <rdar://problem/4992521> Please adjust WebKit's Acrobat-workaround 
5339        methodology
5340
5341        The fix for the first bug is to compare against the bundle 
5342        identifiers for Adobe Reader and the non-Pro Adobe Acrobat in 
5343        addition to Adobe Acrobat Pro. The fix for the second bug is to 
5344        check the version number of Acrobat/Reader through 
5345        WebKitSystemInterface instead of checking which version of WebKit 
5346        it has been linked against.
5347
5348        * English.lproj/StringsNotToBeLocalized.txt: Two new bundle 
5349        identifiers.
5350        * Misc/WebKitVersionChecks.h: Remove Acrobat quirk constant.
5351        * WebView/WebView.mm:
5352        (-[WebView _updateWebCoreSettingsFromPreferences:]):
5353
53542007-03-29  Geoffrey Garen  <ggaren@apple.com>
5355
5356        Rubber stamped by Beth Dakin.
5357        
5358        WebBaseNetscapePluginStream.m => WebBaseNetscapePluginStream.mm, since
5359        it's ObjC++ now.
5360
5361        * Plugins/WebBaseNetscapePluginStream.m: Removed.
5362        * WebKit.xcodeproj/project.pbxproj:
5363
53642007-03-27  Geoffrey Garen  <ggaren@apple.com>
5365
5366        Reluctantly tolerated by Darin Adler.
5367        
5368        Fixed <rdar://problem/5091330> REGRESSION: Repro crash in 
5369        -[WebBaseNetscapePluginView(WebNPPCallbacks) destroyStream:reason:] 
5370        navigating away from page with DivX movie plug-in (13203)
5371        
5372        The problem was that the DivX plug-in would ask us to destroy an NPStream
5373        that had already been destroyed, causing us to wander off into freed
5374        memory. (I believe the reason this was a regression was that we never used 
5375        to destroy plug-in streams, period.)
5376        
5377        The solution here is to track the NPStreams belonging to a plug-in, and 
5378        guard against plug-ins making calls with NPStreams that don't belong to 
5379        them. (It turns out that NPN_DestroyStream is the only stream-based 
5380        plug-in call we support.)
5381
5382        (CarbonPathFromPOSIXPath): Fixed up a cast to be C++ compatible.
5383        * Plugins/WebBaseNetscapePluginView.mm:
5384        (-[WebBaseNetscapePluginView destroyStream:reason:]): The actual fix.
5385        Use helper method to guard against a plug-in using an NPStream that doesn't
5386        belong to it.
5387        * WebKit.xcodeproj/project.pbxproj: Made WebBaseNetscapePluginView ObjC++
5388        so I could use HashMap.
5389
53902007-03-28  Adele Peterson  <adele@apple.com>
5391
5392        Reviewed by Brady.
5393
5394        Update to last fix.
5395
5396        * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITHOUT_VITALSOURCE_QUIRK.
5397        * WebView/WebView.mm: (-[WebView stringByEvaluatingJavaScriptFromString:]):
5398        Added check to only use the VitalSource workaround if the app is not linked on or after
5399        the defined WEBKIT_FIRST_VERSION_WITHOUT_VITALSOURCE_QUIRK version number.
5400
54012007-03-28  Adele Peterson  <adele@apple.com>
5402
5403        Reviewed by Kevin M.
5404
5405        WebKit part of fix for <rdar://problem/5095515> VitalSource Bookshelf should not pass return statements into stringByEvaluatingJavaScriptFromString
5406
5407        Added an app specific workaround for VitalSource Bookshelf that strips "return" from the beginning of their script strings.  We used to allow this
5408        but now we throw a JavaScript exception for return statements that aren't in functions.
5409
5410        Filed this evangelism bug so we can notify VitalSource of the problem:
5411        <rdar://problem/5095515> VitalSource Bookshelf should not pass return statements into stringByEvaluatingJavaScriptFromString
5412
5413        * WebView/WebView.mm: (-[WebView stringByEvaluatingJavaScriptFromString:]):
5414
54152007-03-27  John Sullivan  <sullivan@apple.com>
5416
5417        Reviewed by Tim
5418        
5419        - fixed <rdar://problem/5092556> Default UA spoofing is always off until explicitly toggled
5420
5421        * WebView/WebView.mm:
5422        (-[WebView _commonInitializationWithFrameName:groupName:]):
5423        initialize the cached value of _private->useSiteSpecificSpoofing here; formerly it would not
5424        be initialized correctly in the common case of WebViews that use [WebPreferences standardPreferences]
5425
54262007-03-27  Mark Rowe  <mrowe@apple.com>
5427
5428        Reviewed by Dave Harrison.
5429
5430        * Configurations/WebKit.xcconfig: Include UMBRELLA_FRAMEWORKS_DIR in framework search path.
5431
54322007-03-26  Antti Koivisto  <antti@apple.com>
5433
5434        Reviewed by Darin.
5435        
5436        On Mac, support fine grained wheel events generated by trackpad and Mighty Mouse.
5437        http://bugs.webkit.org/show_bug.cgi?id=13134
5438        <rdar://problem/5076249>
5439
5440        * WebCoreSupport/WebSystemInterface.m:
5441        (InitWebCoreSystemInterface): Expose GetWheelEventDeltas()
5442
54432007-03-26  John Sullivan  <sullivan@apple.com>
5444
5445        Reviewed by Dave Harrison
5446        
5447        - fixed <rdar://problem/4769772> Problem with Find on certain PDF page
5448
5449        * WebView/WebPDFView.mm:
5450        (-[WebPDFView _scaledAttributedString:]):
5451        We were hitting an exception trying to set the font attribute to nil, which was happening because
5452        the result of -[PDFSelection attributedString] had no attributes. That PDFSelection bug is now
5453        filed separately, but this works around the exception.
5454
54552007-03-24  David Hyatt  <hyatt@apple.com>
5456
5457        Amend the statistics reporting for the WebCore cache to include XSL and to report live/decoded sizes.
5458
5459        * Misc/WebCache.mm:
5460        (+[WebCache statistics]):
5461
54622007-03-24  Brady Eidson  <beidson@apple.com>
5463
5464        Reviewed by Adam
5465
5466        RetainPtr is no longer in the WebCore namespace
5467
5468        * History/WebBackForwardList.mm:
5469        * WebCoreSupport/WebEditorClient.h:
5470        * WebCoreSupport/WebFrameLoaderClient.h:
5471        * WebView/WebDocumentLoaderMac.h:
5472
54732007-03-24  Brady Eidson  <beidson@apple.com>
5474
5475        Reviewed by Adam
5476
5477        <rdar://problem/5086210> - Move RetainPtr to WTF
5478        
5479        * ForwardingHeaders/wtf/RetainPtr.h: Added.
5480        * History/WebBackForwardList.mm: Changed #import to <wtf/RetainPtr.h>
5481        * WebCoreSupport/WebEditorClient.h: Ditto
5482        * WebCoreSupport/WebFrameLoaderClient.h: Ditto
5483        * WebView/WebDocumentLoaderMac.h: Ditto
5484
54852007-03-24  John Sullivan  <sullivan@apple.com>
5486
5487        Reviewed by Adele
5488
5489        - fixed <rdar://problem/5084872> Need to add flickr to spoof list in WebKit
5490        - only do site-specific spoofing if a preference is set
5491
5492        * WebView/WebPreferenceKeysPrivate.h:
5493        added WebKitUseSiteSpecificSpoofingPreferenceKey 
5494        
5495        * WebView/WebPreferences.m:
5496        (+[WebPreferences initialize]):
5497        initialize WebKitUseSiteSpecificSpoofingPreferenceKey to false
5498        (-[WebPreferences _useSiteSpecificSpoofing]):
5499        get value of WebKitUseSiteSpecificSpoofingPreferenceKey
5500        (-[WebPreferences _setUseSiteSpecificSpoofing:]):
5501        set value of WebKitUseSiteSpecificSpoofingPreferenceKey
5502        
5503        * WebView/WebPreferencesPrivate.h:
5504        declare _useSiteSpecificSpoofing and _setUseSiteSpecificSpoofing
5505        
5506        * WebView/WebView.mm:
5507        cache the value of WebKitUseSiteSpecificSpoofingPreferenceKey in a bool in _private
5508        (-[WebView _preferencesChangedNotification:]):
5509        update the cached value
5510        (-[WebView setPreferences:]):
5511        ditto
5512        (-[WebView WebCore::_userAgentForURL:WebCore::]):
5513        Only spoof here if the new site-specific spoofing preference is enabled. If it is, pass
5514        Safari 2.0.4's user agent string for flickr.com. We can remove this case when 5081617 is addressed.
5515
55162007-03-24  Mark Rowe  <mrowe@apple.com>
5517
5518        Rubber-stamped by Darin.
5519
5520        * Configurations/WebKit.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS.
5521
55222007-03-23  Mark Rowe  <mrowe@apple.com>
5523
5524        Build fix for when BUILDING_ON_TIGER is not defined.
5525
5526        * Misc/WebTypesInternal.h:
5527        * WebView/WebHTMLView.mm:
5528
55292007-03-22  David Kilzer  <ddkilzer@apple.com>
5530
5531        Reviewed by Darin.
5532
5533        Use BUILDING_ON_TIGER from WebKitPrefix.h instead of local
5534        MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4 tests.
5535
5536        * Misc/WebTypesInternal.h:
5537        * WebView/WebHTMLView.mm:
5538
55392007-03-22  Darin Adler  <darin@apple.com>
5540
5541        Reviewed by Adele.
5542
5543        - fix <rdar://problem/5074630> detachChildren call should move from WebKit to WebCore
5544
5545        * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::prepareForDataSourceReplacement):
5546        Remove call to detachChildren. This should be a WebCore responsibility.
5547
55482007-03-19  Anders Carlsson  <acarlsson@apple.com>
5549
5550        Reviewed by Dave Hyatt.
5551
5552        <rdar://problem/5067983>
5553        iSale: Crash occurs at WebFrameLoaderClient::dispatchDecidePolicyForMIMEType() when attempting to load a HTML template
5554        
5555        Restore old behavior (broke in r14533) where the resource load and download delegates are retained for as long as the 
5556        data source is loading.
5557        
5558        * WebCoreSupport/WebFrameLoaderClient.mm:
5559        (WebFrameLoaderClient::createDocumentLoader):
5560        * WebView/WebDocumentLoaderMac.h:
5561        * WebView/WebDocumentLoaderMac.mm:
5562        (WebDocumentLoaderMac::setDataSource):
5563        (WebDocumentLoaderMac::decreaseLoadCount):
5564
55652007-03-19  Geoffrey Garen  <ggaren@apple.com>
5566
5567        Speculative fix for why ASSERT_MAIN_THREAD didn't work for me. (The
5568        documentation says "non-zero," not "1."
5569
5570        * Misc/WebKitLogging.m:
5571        (WebKitRunningOnMainThread):
5572
55732007-03-19  Andrew Wellington  <proton@wiretapped.net>
5574
5575        Reviewed by Maciej.
5576
5577        Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
5578
5579        * WebKit.xcodeproj/project.pbxproj:
5580
55812007-03-19  Darin Adler  <darin@apple.com>
5582
5583        * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
5584
55852007-03-19  John Sullivan  <sullivan@apple.com>
5586
5587        Reviewed by Justin
5588        
5589        - fixed <rdar://problem/5071238> REGRESSION: opt-cmd-B to show Bookmarks view does 
5590        nothing when form field has focus
5591
5592        * WebView/WebHTMLView.mm:
5593        (-[WebHTMLView _handleStyleKeyEquivalent:]):
5594        we were counting any set of modifiers plus 'b' as the standard key equivalent for
5595        toggling Bold; now we only accept command+'b'
5596
55972007-03-19  Adam Roben  <aroben@apple.com>
5598
5599        Reviewed by Hyatt and Maciej.
5600
5601        Updated WebCoreStatistics for the conversion of WebCoreJavaScript to
5602        C++.
5603
5604        * Misc/WebCoreStatistics.mm:
5605        (+[WebCoreStatistics javaScriptObjectsCount]):
5606        (+[WebCoreStatistics javaScriptInterpretersCount]):
5607        (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
5608        (+[WebCoreStatistics javaScriptRootObjectTypeCounts]): Moved
5609        conversion to NSCountedSet here from WebCore.
5610        (+[WebCoreStatistics garbageCollectJavaScriptObjects]):
5611        (+[WebCoreStatistics garbageCollectJavaScriptObjectsOnAlternateThread:]):
5612        (+[WebCoreStatistics shouldPrintExceptions]):
5613        (+[WebCoreStatistics setShouldPrintExceptions:]):
5614        (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
5615        (+[WebCoreStatistics javaScriptRootObjectClasses]):
5616
56172007-03-18  Andrew Wellington  <proton@wiretapped.net>
5618
5619        Reviewed by Mark Rowe
5620        
5621        Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
5622
5623        * WebKit.xcodeproj/project.pbxproj:
5624
56252007-03-19  Mark Rowe  <mrowe@apple.com>
5626
5627        Rubber-stamped by Brady.
5628
5629        Update references to bugzilla.opendarwin.org with bugs.webkit.org.
5630
5631        * WebInspector/webInspector/inspector.css:
5632        * WebView/WebHTMLView.mm:
5633        (-[WebHTMLView firstRectForCharacterRange:]):
5634        * WebView/WebView.mm:
5635        (-[WebView initWithFrame:frameName:groupName:]):
5636
56372007-03-18  David Hyatt  <hyatt@apple.com>
5638
5639        Move frame borders out of WebKit and into WebCore.
5640
5641        Reviewed by aroben, olliej
5642
5643        * WebCoreSupport/WebFrameBridge.mm:
5644        * WebKit.xcodeproj/project.pbxproj:
5645        * WebView/WebFrameView.mm:
5646        (-[WebFrameView drawRect:]):
5647        (-[WebFrameView setFrameSize:]):
5648        * WebView/WebFrameViewInternal.h:
5649
56502007-03-17  John Sullivan  <sullivan@apple.com>
5651
5652        Reviewed by Tim Hatcher
5653        
5654        Discovered while working on <rdar://problem/5070334> that many WebView calls will crash if called
5655        after -[WebView close] has executed because _private->page is deferenced after it's been set to 0. 
5656        It might be silly/wrong to call these methods after -close, but obviously it shouldn't crash. Made
5657        each use of _private->page robust against nil-dereferencing.
5658
5659        * WebView/WebView.mm:
5660        (-[WebView _loadBackForwardListFromOtherView:]):
5661        (-[WebView _updateWebCoreSettingsFromPreferences:]):
5662        (-[WebView _setDashboardBehavior:to:]):
5663        (-[WebView _dashboardBehavior:]):
5664        (-[WebView goBack]):
5665        (-[WebView goForward]):
5666        (-[WebView goToBackForwardItem:]):
5667        (-[WebView canGoBack]):
5668        (-[WebView canGoForward]):
5669        (-[WebView setTabKeyCyclesThroughElements:]):
5670        (-[WebView tabKeyCyclesThroughElements]):
5671        (-[WebView setEditable:]):
5672
56732007-03-17  Timothy Hatcher  <timothy@apple.com>
5674
5675        Reviewed by Mark Rowe.
5676
5677        Made Version.xcconfig smarter when building for different configurations.
5678        Now uses the 522+ OpenSource version for Debug and Release, while using the
5679        full 522.4 version for Production builds. The system prefix is also computed
5680        based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.
5681
5682        * Configurations/Version.xcconfig:
5683        * Configurations/WebKit.xcconfig:
5684
56852007-03-16  Oliver Hunt  <oliver@apple.com>
5686
5687        Reviewed by Hyatt.
5688
5689        The old canSaveAsWebArchive call was necessary as stand alone
5690        images used to be rendered by ImageDocument.
5691
5692        Fixes rdar://problem/5061252
5693
5694        * WebCoreSupport/WebDragClient.h:
5695        * WebCoreSupport/WebDragClient.mm:
5696        (WebDragClient::declareAndWriteDragImage):
5697        * WebKit.xcodeproj/project.pbxproj:
5698
56992007-03-15  Brady Eidson  <beidson@apple.com>
5700
5701        Reviewed by Maciej
5702
5703        <rdar://problem/4429701>
5704        Implements a port blocking black list that matches Firefox's
5705
5706        * English.lproj/Localizable.strings: Added localizable string for port blocked error code
5707
5708        * Misc/WebKitErrors.h:
5709        * Misc/WebKitErrors.m:
5710        (registerErrors): Add new port blocked error code to WebKitErrorDomain
5711
5712        * WebCoreSupport/WebFrameLoaderClient.h:
5713        * WebCoreSupport/WebFrameLoaderClient.mm:
5714        (WebFrameLoaderClient::cancelledError): Fixed coding style
5715        (WebFrameLoaderClient::blockedError): Return a ResourceError with the new custom error code
5716
57172007-03-15  Timothy Hatcher  <timothy@apple.com>
5718
5719        Reviewed by John.
5720
5721        * Fixes: <rdar://problem/4927747> WebKit's Current Library Version number should match the Info.plist Version
5722        * Factored out most of our common build settings into .xcconfig files. Anything that was common in
5723          each build configuration was factored out into the shared .xcconfig file.
5724        * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
5725        * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
5726        * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
5727        * Make WebKit use the same warning flags as the other projects. This required two casts to be added to fix new warnings.
5728
5729        * Configurations/Base.xcconfig: Added.
5730        * Configurations/DebugRelease.xcconfig: Added.
5731        * Configurations/Version.xcconfig: Added.
5732        * Configurations/WebKit.xcconfig: Added.
5733        * Info.plist:
5734        * Misc/WebKitVersionChecks.h:
5735        * Plugins/WebBaseNetscapePluginStream.m:
5736        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
5737        * WebKit.xcodeproj/project.pbxproj:
5738
57392007-03-15  Kevin Decker  <kdecker@apple.com>
5740
5741        Reviewed by Anders.
5742
5743        Fixed: <rdar://problem/5001428> stationery background images do not display
5744       
5745        Change 19244 fixed the method -[WebResource _shouldIgnoreWhenUnarchiving], but also broke Mail stationery.
5746        
5747        The problem was that with archivedResourceForURL now fixed, the engine will try to decode the images.  These images wouldn't decode because
5748        Mail re-encodes and directly manipulates the image data in such a way that prevented WebKit from decoding the image.  Because Mail was giving
5749        us bad data, the images wouldn't render.  This was never an issue before because archivedResourceForURL (broken) always returned nil, thus the
5750        engine would never attempt to decode the resource, therefore the responsibility was delegated to Mail's protocol handler, which would do the 
5751        right thing and load the image.
5752        
5753        Since Mail is relying on the fact it can store arbitrary data in WebArchives, I've introduced SPI that acts as a hint for us to ignore certain 
5754        subresources while unarchiving. This SPI is -[WebResource _shouldIgnoreWhenUnarchiving].
5755        
5756        * WebView/WebResource.mm: Addd private ivar shouldIgnoreWhenUnarchiving.
5757        (-[WebResource _ignoreWhenUnarchiving]): Added.
5758        (-[WebResource _shouldIgnoreWhenUnarchiving]): Added.
5759        * WebView/WebResourcePrivate.h: Added two methods to private header.
5760        * WebView/WebUnarchivingState.m:
5761        (-[WebUnarchivingState archivedResourceForURL:]): Check if we should ignore the resource.
5762
57632007-03-15  Mark Rowe  <mrowe@apple.com>
5764
5765        Reviewed by Antti.
5766
5767        Fix for <rdar://problem/5065060> ASSERTION FAILURE: newUsername && newPassword
5768        when submitting an authentication form without password.
5769
5770        * WebCoreSupport/WebFrameLoaderClient.mm:
5771        (WebFrameLoaderClient::dispatchWillSubmitForm): Don't omit form fields with empty values from the dictionary
5772        passed to the delegate.
5773
57742007-03-14  Anders Carlsson  <acarlsson@apple.com>
5775
5776        Reviewed by Dave Hyatt.
5777
5778        Don't add the data twice, it's also done by didReceiveData.
5779        
5780        * WebCoreSupport/WebFrameLoaderClient.mm:
5781        (WebFrameLoaderClient::deliverArchivedResources):
5782
57832007-03-14  Anders Carlsson  <acarlsson@apple.com>
5784
5785        Fix segmentation fault when running layout tests.
5786
5787        Remove bogus check that that I added on purpose to see how good Geoff is at spotting mistakes when reviewing code.
5788        (Turns out he's not that good!)
5789        
5790        * WebView/WebDocumentLoaderMac.mm:
5791        (WebDocumentLoaderMac::increaseLoadCount):
5792
57932007-03-14  Anders Carlsson  <acarlsson@apple.com>
5794
5795        Reviewed by Geoff.
5796
5797        http://bugs.webkit.org/show_bug.cgi?id=13076
5798        REGRESSION: Multiple loading tabs cause assertion in WebDocumentLoaderMac::decreaseLoadCount(unsigned long)
5799
5800        Store the identifier set in the document loader since identifiers are per-webview and not global.
5801        
5802        * WebView/WebDocumentLoaderMac.h:
5803        * WebView/WebDocumentLoaderMac.mm:
5804        (WebDocumentLoaderMac::WebDocumentLoaderMac):
5805        (WebDocumentLoaderMac::attachToFrame):
5806        (WebDocumentLoaderMac::increaseLoadCount):
5807        (WebDocumentLoaderMac::decreaseLoadCount):
5808
58092007-03-14  David Harrison  <harrison@apple.com>
5810
5811        Reviewed by Maciej.
5812
5813        <rdar://problem/5009625> REGRESSION: Aperture 1.5: Can't select entire line of text after correcting a misspelled word
5814
5815        * WebCoreSupport/WebEditorClient.mm:
5816        (WebEditorClient::respondToChangedSelection):
5817        * WebCoreSupport/WebFrameBridge.mm:
5818        Provide compatibility by not sending WebViewDidChangeSelectionNotification if
5819        the app is Aperture and is linked against WebKit 2.0.
5820
5821=== Safari-5522.4 ===
5822
58232007-03-14  Anders Carlsson  <acarlsson@apple.com>
5824
5825        Reviewed by Geoff.
5826
5827        <rdar://problem/5058714>
5828        http://bugs.webkit.org/show_bug.cgi?id=13050
5829        
5830        World leaks seen on Leopard after opening then closing tab (13050)
5831
5832        Add a hash set to prevent the load count to be increased twice for the same resource.
5833        
5834        * WebCoreSupport/WebFrameLoaderClient.mm:
5835        (WebFrameLoaderClient::dispatchWillSendRequest):
5836        (WebFrameLoaderClient::dispatchDidFinishLoading):
5837        (WebFrameLoaderClient::dispatchDidFailLoading):
5838        * WebView/WebDocumentLoaderMac.h:
5839        * WebView/WebDocumentLoaderMac.mm:
5840        (loadingResources):
5841        (WebDocumentLoaderMac::increaseLoadCount):
5842        (WebDocumentLoaderMac::decreaseLoadCount):
5843
58442007-03-14 Adele Peterson  <adele@apple.com>
5845
5846        Reviewed by Darin.
5847
5848        Removed _insertTextWithEvent, _insertNewlineWithEvent, and _insertTextWithEvent.
5849        Instead, use execCommand and insertText methods on the Editor.
5850
5851        * WebView/WebHTMLView.mm:
5852        (-[WebHTMLView insertTab:]):
5853        (-[WebHTMLView insertBacktab:]):
5854        (-[WebHTMLView insertNewline:]):
5855        (-[WebHTMLView insertLineBreak:]):
5856        (-[WebHTMLView insertParagraphSeparator:]):
5857        (-[WebHTMLView insertNewlineIgnoringFieldEditor:]):
5858        (-[WebHTMLView insertTabIgnoringFieldEditor:]):
5859        (-[WebHTMLView yank:]):
5860        (-[WebHTMLView yankAndSelect:]):
5861        (-[WebHTMLView doCommandBySelector:]):
5862        (-[WebHTMLView insertText:]):
5863
58642007-03-14  David Hyatt  <hyatt@apple.com>
5865
5866        Fixes to ensure that the resource loader's shared buffer can always be used.
5867
5868        Reviewed by olliej, mjs
5869
5870        * Misc/WebIconDatabase.mm:
5871        (-[WebIconDatabase _convertToWebCoreFormat]):
5872        * WebCoreSupport/WebFrameLoaderClient.mm:
5873        (WebFrameLoaderClient::deliverArchivedResources):
5874
58752007-03-13  Oliver Hunt  <oliver@apple.com>
5876
5877        Reviewed by Brady.
5878
5879        Modify subresourceForURL to take NSString argument 
5880        so we can avoid [NSURL absoluteString]
5881
5882        * WebView/WebDataSource.mm:
5883        (-[WebDataSource subresourceForURL:]):
5884
58852007-03-13  Brady Eidson  <beidson@apple.com>
5886
5887        Rubberstamped by Alice
5888
5889        Meant to be part of my previous checkin... pruning unused code from WebKit
5890
5891        * WebView/WebFrame.mm: Removed _canCachePage
5892        * WebView/WebFrameInternal.h: Ditto
5893
58942007-03-13  Beth Dakin  <bdakin@apple.com>
5895
5896        Reviewed by Maciej.
5897
5898        Fix for <rdar://problem/4277074> 8F32: Help Viewer crashed on 
5899        clicking link - KHTMLView::viewportMouseReleaseEvent (12647)
5900
5901        Re-set the DocumentLoader's frame when loading it from the page 
5902        cache before setting the document view.
5903
5904        * WebCoreSupport/WebFrameLoaderClient.mm:
5905        (WebFrameLoaderClient::setDocumentViewFromPageCache):
5906
59072007-03-13  Timothy Hatcher  <timothy@apple.com>
5908
5909        Reviewed by Geoff.
5910
5911        <rdar://problem/5057117> Spoof user agent on Yahoo.com with Safari and WebKit as version 4xx
5912
5913        * Plugins/WebBaseNetscapePluginView.mm:
5914        (-[WebBaseNetscapePluginView userAgent]): Stop using the deprecated lossyCString method.
5915        * WebCoreSupport/WebFrameBridge.mm: Removed dead code, userAgentForURL: wasn't used.
5916        * WebCoreSupport/WebFrameLoaderClient.mm:
5917        (WebFrameLoaderClient::userAgent): Call WebView's _userAgentForURL:.
5918        * WebView/WebView.mm:
5919        (-[WebView _cachedResponseForURL:]): Call userAgentForURL: instead of _userAgent.
5920        (-[WebView userAgentForURL:]): Call _userAgentForURL:.
5921        (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): New method to construct a UA.
5922        (-[WebView _computeUserAgent]): Ractored out into _userAgentWithApplicationName:andWebKitVersion:
5923        (-[WebView _userAgentForURL:]): Tail compare for Yahoo.com, and return a UA with an older WebKit version.
5924        * WebView/WebViewInternal.h: Declare _userAgentForURL:.
5925
59262007-03-12  David Harrison  <harrison@apple.com>
5927
5928        Reviewed by Darin.
5929
5930        <rdar://problem/4743256> ctrl-y key binding (yank) should do nothing when kill ring is empty
5931
5932        Test updated:
5933        * editing/pasteboard/emacs-cntl-y-001.html:
5934        
5935        * WebView/WebHTMLView.mm:
5936        (-[WebHTMLView yank:]):
5937        (-[WebHTMLView yankAndSelect:]):
5938        Do nothing if the killring is empty.
5939
59402007-03-12  Darin Adler  <darin@apple.com>
5941
5942        Reviewed by Tim Hatcher.
5943
5944        - update for the new naming scheme for the Objective-C wrapper-creation
5945          functions: _wrapElement: instead of _elementWith:, etc.
5946
5947        * WebCoreSupport/WebEditorClient.mm:
5948        (WebEditorClient::textFieldDidBeginEditing):
5949        (WebEditorClient::textFieldDidEndEditing):
5950        (WebEditorClient::textDidChangeInTextField):
5951        (WebEditorClient::doTextFieldCommandFromEvent):
5952        (WebEditorClient::textWillBeDeletedInTextField):
5953        (WebEditorClient::textDidChangeInTextArea):
5954        * WebCoreSupport/WebFrameLoaderClient.mm:
5955        (WebFrameLoaderClient::createPlugin):
5956        (WebFrameLoaderClient::createJavaAppletWidget):
5957        * WebView/WebFrame.mm: (kit):
5958        Use the _wrapElement-style functions.
5959
59602007-03-12  Anders Carlsson  <acarlsson@apple.com>
5961
5962        Reviewed by Maciej.
5963
5964        <rdar://problem/5057575> 
5965        REGRESSION: Repro Crash in FrameLoader::frame loading about:blank in PLT
5966        
5967        Always get the web view from the current web frame, since the document loader's frame can have been zeroed out
5968        (for example when detaching the document loader).
5969        
5970        * WebCoreSupport/WebFrameLoaderClient.mm:
5971        (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
5972        (WebFrameLoaderClient::assignIdentifierToInitialRequest):
5973        (WebFrameLoaderClient::dispatchWillSendRequest):
5974        (WebFrameLoaderClient::dispatchDidReceiveResponse):
5975        (WebFrameLoaderClient::dispatchDidReceiveContentLength):
5976        (WebFrameLoaderClient::dispatchDidFinishLoading):
5977
59782007-03-11  Oliver Hunt  <oliver@apple.com>
5979
5980        Reviewed by Adele.
5981        
5982        Moved respondToChangedSelection from FrameBridge to EditorClient
5983        
5984        * WebCoreSupport/WebEditorClient.h:
5985        * WebCoreSupport/WebEditorClient.mm:
5986        (WebEditorClient::respondToChangedSelection):
5987        * WebCoreSupport/WebFrameBridge.mm:
5988          Removed respondToChangedSelection from bridge
5989
59902007-03-11  Darin Adler  <darin@apple.com>
5991
5992        Reviewed by Adele.
5993
5994        - fix http://bugs.webkit.org/show_bug.cgi?id=12964
5995          <rdar://problem/5045717> REGRESSION: crash in -[WebBaseNetscapePluginStream _deliverData]
5996          at simpsonsmovie.com (12964)
5997
5998        * Plugins/WebBaseNetscapePluginStream.m:
5999        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
6000        At every place we call the plug-in, since it could destroy the stream, get pluginView into a local
6001        variable; it will be set to nil if the stream is destroyed.
6002        (-[WebBaseNetscapePluginStream _destroyStream]): Added calls to retain/release to handle the case where
6003        one of the calls to the plug-in destroys the stream. Added a call to cancelPreviousPerformRequestsWithTarget
6004        in case _deliverData has been scheduled but not yet delivered. Also get pluginView into a local variable
6005        as mentioned above, and check at strategic points and exit if the stream was already destroyed to avoid
6006        multiple calls to NPP_DestroyStream or NPP_URLNotify.
6007        (-[WebBaseNetscapePluginStream _deliverData]): Ditto.
6008
60092007-03-10  Geoffrey Garen  <ggaren@apple.com>
6010
6011        Reviewed by Darin Adler.
6012
6013        Fixed <rdar://problem/4587763> PAC file: lock inversion between QT and 
6014        JSCore causes a hang @ www.panoramas.dk
6015        
6016        See JavaScriptCore ChangeLog for details.
6017
6018        Drop the JSLock before making calls through the plug-in API from functions
6019        that may have been called by JavaScript.
6020        
6021        * Plugins/WebBaseNetscapePluginView.mm:
6022        (-[WebBaseNetscapePluginView sendEvent:]):
6023        (-[WebBaseNetscapePluginView setWindowIfNecessary]):
6024        (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
6025        (-[WebBaseNetscapePluginView createPluginScriptableObject]):
6026        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
6027        (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
6028        (-[WebBaseNetscapePluginView loadPluginRequest:]):
6029        (-[WebBaseNetscapePluginView _printedPluginBitmap]):
6030        * Plugins/WebPluginController.mm:
6031        (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
6032        (-[WebPluginController startAllPlugins]):
6033        (-[WebPluginController stopAllPlugins]):
6034        (-[WebPluginController addPlugin:]):
6035        (-[WebPluginController destroyPlugin:]):
6036        (-[WebPluginController destroyAllPlugins]):
6037
60382007-03-10  David Kilzer  <ddkilzer@webkit.org>
6039
6040        Reviewed by Darin.
6041
6042        - fix http://bugs.webkit.org/show_bug.cgi?id=9609
6043          REGRESSION: Missing image icon needs to be moved back to WebKit
6044
6045        * WebView/WebHTMLView.mm:
6046        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
6047        Use WebCore::Image::loadPlatformResource(const char*) to load the missingImage image.
6048
60492007-03-10  Mark Rowe  <mrowe@apple.com>
6050
6051        Reviewed by John.
6052
6053        <rdar://problem/5051827> HIWebView handling of kEventControlGetData is broken in 64-bit
6054
6055        On Leopard the kEventParamControlDataBufferSize event parameter is of type typeByteCount.
6056        The 32-bit implementation of GetEventParameter will coerce between integer types and
6057        typeByteCount while the 64-bit version will return a failure. As typeByteCount is new
6058        in Leopard we must continue using typeSInt32 when building for Tiger.
6059
6060        * Carbon/HIWebView.m:
6061        (HIWebViewEventHandler):
6062
60632007-03-09  Timothy Hatcher  <timothy@apple.com>
6064
6065        Reviewed by Darin.
6066
6067        <rdar://problem/4976254> Please get off _NSSoftLinkingGetFrameworkFuncPtr
6068
6069        Use dlopen and dlsym to access the DCSShowDictionaryServiceWindow function.
6070
6071        * WebView/WebHTMLView.mm:
6072        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
6073
60742007-03-09  Darin Adler  <darin@apple.com>
6075
6076        Reviewed by Justin.
6077
6078        - fix http://bugs.webkit.org/show_bug.cgi?id=8928
6079          <rdar://problem/5045708> REPRODUCIBLE ASSERT: Cannot paste HTML into a
6080          contenteditable region in an XHTML document (8928)
6081
6082        * WebView/WebHTMLView.mm:
6083        (-[WebHTMLView _hasHTMLDocument]): Added.
6084        (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
6085        Don't call AppKit's conversion from the DOM to an attributed string if the document
6086        is not an HTML document, to work around an AppKit limitation (Radar 5052390).
6087
60882007-03-09  Darin Adler  <darin@apple.com>
6089
6090        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
6091
60922007-03-08  Mark Rowe  <mrowe@apple.com>
6093
6094        Reviewed by Tim Hatcher.
6095
6096        <rdar://problem/5051616> Mouse clicks and movement are ignored in HIWebView on 64-bit
6097
6098        Mouse events are not being handled correctly as GetControlKind is returning an error
6099        on 64-bit.  The more modern HIObjectIsOfClass behaves correctly for this use.
6100
6101        * Carbon/HIWebView.m:
6102        (HIWebViewDestructor):
6103        (WindowHandler): Use HIObjectIsOfClass in place of GetControlKind.
6104        (HIWebViewEventHandler): Don't leak the NSEvent.
6105
61062007-03-08  Bruce Q Hammond  <bruceq@apple.com>
6107
6108        Reviewed by Darin.
6109
6110        Fix for http://bugs.webkit.org/show_bug.cgi?id=13009
6111        Console spews "CGContextGetType: invalid context" non-stop on web site
6112
6113        * Plugins/WebBaseNetscapePluginView.mm:
6114        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
6115        (-[WebBaseNetscapePluginView restorePortState:]):
6116
61172007-03-08  Mark Rowe  <mrowe@apple.com>
6118
6119        Reviewed by Tim Hatcher.
6120
6121        <rdar://problem/4561772> HIWebView does not exist for 64-bit
6122
6123        Update HIWebView and friends to work without QuickDraw.
6124
6125        Changes are gleaned from the 64-bit support inside HICocoaView.  The main
6126        fact of interest are that all Carbon windows must have compositing enabled
6127        so the code paths that aren't accessible are #ifdef'd out.  Conveniently
6128        these are the exact code paths that make use of QuickDraw.
6129
6130        There are currently minor event-handling and invalidation issues running as
6131        64-bit that are not present in 32-bit.
6132
6133        * Carbon/CarbonUtils.m:
6134        * Carbon/CarbonWindowAdapter.m:
6135        * Carbon/CarbonWindowFrame.m:
6136        * Carbon/HIViewAdapter.m:
6137        (SetViewNeedsDisplay):
6138        * Carbon/HIWebView.m:
6139        (Draw):
6140        (Click):
6141        (SyncFrame):
6142        (StartUpdateObserver):
6143        (StopUpdateObserver):
6144        (UpdateObserver):
6145        * WebKit.LP64.exp: Removed.
6146        * WebKit.xcodeproj/project.pbxproj: Always use WebKit.exp.
6147
61482007-03-08  Timothy Hatcher  <timothy@apple.com>
6149
6150        Reviewed by John.
6151
6152        <rdar://problem/4664697> highlighter SPI needs a node parameter to give more context
6153
6154        Added new methods to the WebHTMLHighlighter protocol that include the DOMNode being painted.
6155
6156        * WebCoreSupport/WebFrameBridge.mm:
6157        (-[WebFrameBridge customHighlightRect:forLine:representedNode:WebCore::]):
6158        (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:representedNode:WebCore::]):
6159        * WebKit.xcodeproj/project.pbxproj:
6160        * WebView/WebHTMLViewPrivate.h:
6161
61622007-03-08  Anders Carlsson  <acarlsson@apple.com>
6163
6164        Try fixing the buildbot build.
6165        
6166        * Plugins/WebBaseNetscapePluginView.mm:
6167        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
6168
61692007-03-07  Anders Carlsson  <acarlsson@apple.com>
6170
6171        Leopard build fix.
6172        
6173        * Plugins/WebBaseNetscapePluginView.mm:
6174
61752007-03-07  Bruce Q Hammond  <bruceq@apple.com>
6176
6177        Reviewed by Darin.
6178
6179        - fix http://bugs.webkit.org/show_bug.cgi?id=12515
6180          Plug-ins that draw through the Quickdraw interface fail in a CGBitmapContex.
6181          <rdar://problem/4975122>
6182
6183        This fixes a problem with Netscape-style Plug-ins which draw through the Quickdraw APIs
6184        being unable to render into offscreen bitmap contexts.
6185
6186        This patches both saveAndSetNewPortStateForUpdate: and restorePortState:
6187        These methods now check the current context and see if appropriate setup/cleanup needs to be done
6188        for offscreen rendering.
6189
6190        * Plugins/WebBaseNetscapePluginView.mm:
6191        (QDPixelFormatFromCGBitmapInfo):
6192        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
6193        (-[WebBaseNetscapePluginView restorePortState:]):
6194
61952007-03-07  Anders Carlsson  <acarlsson@apple.com>
6196
6197        Reviewed by Darin.
6198
6199        Use HardRetain/HardRelease.
6200        
6201        * WebView/WebDocumentLoaderMac.mm:
6202        (WebDocumentLoaderMac::setDataSource):
6203        (WebDocumentLoaderMac::attachToFrame):
6204        (WebDocumentLoaderMac::detachFromFrame):
6205        (WebDocumentLoaderMac::increaseLoadCount):
6206        (WebDocumentLoaderMac::decreaseLoadCount):
6207
62082007-03-07  Anders Carlsson  <acarlsson@apple.com>
6209
6210        Reviewed by Maciej.
6211
6212        <rdar://problem/4961259> 
6213        REGRESSION: Bumper Car 2.1.1 - Crash at WebCore::FrameLoader::receivedMainResourceError when encountering a invalid URL address
6214        
6215        (The crash was already fixed, this actually makes Bumper Car load the error page correctly.)
6216        
6217        This adds a "load counter" to the document loader and keeps the data source retained for as long as something is loading. 
6218        
6219        * WebCoreSupport/WebFrameLoaderClient.mm:
6220        (WebFrameLoaderClient::dispatchWillSendRequest):
6221        Increase the load counter.
6222        
6223        (WebFrameLoaderClient::dispatchDidFinishLoading):
6224        (WebFrameLoaderClient::dispatchDidFailLoading):
6225        Decrease the load counter,
6226        
6227        * WebView/WebDocumentLoaderMac.h:
6228        * WebView/WebDocumentLoaderMac.mm:
6229        (WebDocumentLoaderMac::WebDocumentLoaderMac):
6230        
6231        (WebDocumentLoaderMac::attachToFrame):
6232        If the document loader has been detached, make sure to retain its data source here.
6233        
6234        (WebDocumentLoaderMac::detachFromFrame):
6235        Release the data source.
6236        
6237        (WebDocumentLoaderMac::increaseLoadCount):
6238        Retain the data source if load count was 0.
6239        
6240        (WebDocumentLoaderMac::decreaseLoadCount):
6241        Release the data source if load count becomes 0
6242
62432007-03-07  Adele Peterson  <adele@apple.com>
6244
6245        Reviewed by Darin.
6246
6247        WebKit part of fix for:
6248        http://bugs.webkit.org/show_bug.cgi?id=10871
6249        http://bugs.webkit.org/show_bug.cgi?id=12677
6250        <rdar://problem/4823129> REGRESSION: IME key events different in nightly
6251        <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri
6252
6253        * WebView/WebHTMLView.mm:
6254        (-[WebHTMLView _interceptEditingKeyEvent: shouldSaveCommand:]): Added shouldSaveCommand field to WebHTMLViewInterpretKeyEventsParameters.
6255          When shouldSaveCommand is true, we call interpretKeyEvents and in doCommandBySelector and insertText, we just save the information without performing any action.
6256          When shouldSaveCommand is false, we used the saved information and call doCommandBySelector and insertText directly.
6257          If there's no saved command data in the KeyboardEvent, call interpretKeyEvents, and honor the shouldSaveCommand argument.  This allows repeating keypress events
6258          to function normally.
6259        (-[WebHTMLView doCommandBySelector:]): If the WebHTMLViewInterpretKeyEventsParameters shouldSaveCommand field is set, then
6260          just save the selector information in the KeyboardEvent, and don't perform the action.
6261        (-[WebHTMLView insertText:]): ditto. 
6262          insertText can be called from an input method or from normal key event processing
6263          If its from an input method, then we should go ahead and insert the text now.  
6264          The only way we know if its from an input method is to check hasMarkedText.  There might be a better way to do this.
6265
6266        * WebView/WebHTMLViewInternal.h: Added shouldSaveCommand argument.
6267        * WebView/WebViewInternal.h: ditto.
6268
6269        * WebCoreSupport/WebEditorClient.h:
6270        * WebCoreSupport/WebEditorClient.mm:
6271        (WebEditorClient::handleKeypress): Changed handleKeyPress to handleKeypress.  Call _interceptEditingKeyEvent with shouldSaveCommand:NO.
6272        (WebEditorClient::handleInputMethodKeypress):  Call _interceptEditingKeyEvent with shouldSaveCommand:YES.
6273
62742007-03-07  Anders Carlsson  <acarlsson@apple.com>
6275
6276        Reviewed by Brady.
6277
6278        Update to match WebCore.
6279        
6280        * Plugins/WebNetscapePluginStream.mm:
6281        (-[WebNetscapePluginStream start]):
6282
62832007-03-07  Jim Correia  <jim.correia@pobox.com>
6284
6285        Reviewed by Darin.
6286
6287        - WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=12463
6288          WebArchiver - attempt to insert nil exception when archive empty iframe
6289
6290        When dealing with an iframe element with no src attribute, the element contains
6291        a src attribute in the DOM with a URL of "about:blank" and some HTML to implement
6292        the blank page.  In the original page source, however, the iframe element does
6293        not include a src attribute, which caused a nil archive to be returned for the
6294        childFrameArchive and thus caused the bug.  The fix is a simple nil check.
6295
6296        Test: webarchive/archive-empty-frame-source.html
6297
6298        * WebView/WebArchiver.mm:
6299        (+ (NSArray *)_subframeArchivesForFrame:(WebFrame *)frame): Don't add childFrameArchive 
6300        to the subframeArchives array if it is nil.
6301
63022007-03-06  John Sullivan  <sullivan@apple.com>
6303
6304        Reviewed by Darin
6305        
6306        Made WebAuthenticationHandler.h SPI so Safari can call it directly.
6307
6308        * WebKit.exp:
6309        added .objc_class_name_WebPanelAuthenticationHandler
6310        * WebKit.xcodeproj/project.pbxproj:
6311        changed status of WebAuthenticationHandler.h from "project" to "private"
6312
63132007-03-06  Kevin McCullough  <kmccullough@apple.com>
6314
6315        Reviewed by Darin.
6316
6317        - Rename a function to clarify its purpose.
6318
6319        * WebView/WebView.mm:
6320        (+[WebView registerURLSchemeAsLocal:]):
6321        * WebView/WebViewPrivate.h:
6322
63232007-03-06  Anders Carlsson  <acarlsson@apple.com>
6324
6325        Reviewed by Adam.
6326
6327        Update for WebCore changes.
6328        
6329        * WebCoreSupport/WebFrameLoaderClient.h:
6330        * WebCoreSupport/WebFrameLoaderClient.mm:
6331        (WebFrameLoaderClient::userAgent):
6332
63332007-03-05  Anders Carlsson  <acarlsson@apple.com>
6334
6335        Reviewed by Adam, Darin.
6336 
6337        <rdar://problem/5025212>
6338        In Mail, a crash occurs at WebCore::Frame::tree() when clicking on embedded flash object
6339
6340        * Plugins/WebBaseNetscapePluginView.mm:
6341        (-[WebBaseNetscapePluginView loadPluginRequest:]):
6342        Handle the case where the web view returned from the delegate method is null. Also, send out an error notification
6343        in that case so we can catch it.
6344
63452007-03-05  John Sullivan  <sullivan@apple.com>
6346
6347        Reviewed by Darin and Kevin D
6348
6349        - fixed <rdar://problem/5038087> Header and footer on printed page are too large after certain steps
6350
6351        * WebView/WebView.mm:
6352        (-[WebView _adjustPrintingMarginsForHeaderAndFooter]):
6353        This method was modifying the margins in the NSPrintInfo object without any sort of check whether
6354        this had already been done. In some cases this can be called multiple times with the same 
6355        NSPrintInfo, so now we stash information in the NSPrintInfo's dictionary such that we always
6356        start with a fresh copy of the original margins.
6357
63582007-03-02  Kevin McCullough  <kmccullough@apple.com>
6359
6360        Reviewed by Geoff.
6361
6362        - rdar://problem/4922454
6363        - This fixes a security issue by making remote referrers not able to access local
6364        resources, unless they register their schemes to be treated as local. The result is
6365        that those schemes can access local resources and cannot be accessed by remote
6366        referrers.
6367        Because this behavior is new a link-on-or-after check is made to determine if the
6368        app should use the older, less safe, behavior.
6369
6370        * Misc/WebKitVersionChecks.h: added linked-on-or-after check
6371        * Misc/WebNSAttributedStringExtras.mm: Moved functionalit into the base class.
6372        (fileWrapperForElement):
6373        * Plugins/WebNetscapePluginStream.mm: uses new canLoad functions
6374        * Plugins/WebPluginContainerCheck.mm: uses new canLoad functions
6375        (-[WebPluginContainerCheck _isForbiddenFileLoad]):
6376        * WebView/WebView.mm: make linked-on-or-after check and cache value, exposes SPI
6377        for registering a scheme as local. 
6378        (-[WebView _commonInitializationWithFrameName:groupName:]):
6379        (+[WebView registerSchemeAsLocal:]):
6380        * WebView/WebViewPrivate.h: exposes SPI for registering a scheme as local.
6381
63822007-03-01  Justin Garcia  <justin.garcia@apple.com>
6383
6384        Reviewed by harrison
6385        
6386        <rdar://problem/4838199>
6387        Integrate Mail and WebKit paste operations
6388        
6389        Provide subresources used to create the fragment as a
6390        convenience.
6391
6392        * WebView/WebHTMLView.mm:
6393        (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
6394        Update the calls to the changed method.
6395        (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
6396        Give the caller the subresources in the WebArchive and RTF cases.
6397        * WebView/WebHTMLViewPrivate.h:
6398
63992007-02-28  Oliver Hunt  <oliver@apple.com>
6400
6401        Reviewed by Maciej.
6402
6403        Fixes <rdar://problem/5012009>
6404        
6405        When looking for a requested resource we should also check
6406        the set of manually added subresources if WebCore can't find it. 
6407
6408        * WebView/WebDataSource.mm:
6409        (-[WebDataSource subresourceForURL:]):
6410
64112007-02-28  Brady Eidson  <beidson@apple.com>
6412
6413        Reviewed by Beth
6414
6415        Start using the Thread Safety Check implemented in WebCore for the DOM bindings in the rest of
6416        the WebKit API instead of the ASSERT_MAIN_THREAD() hack
6417
6418        * History/WebBackForwardList.mm:
6419        (-[WebBackForwardList initWithWebCoreBackForwardList:]):
6420        (-[WebBackForwardList init]):
6421        (-[WebBackForwardList dealloc]):
6422        (-[WebBackForwardList finalize]):
6423        * History/WebHistoryItem.mm:
6424        (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
6425        (-[WebHistoryItem dealloc]):
6426        (-[WebHistoryItem finalize]):
6427        (-[WebHistoryItem copyWithZone:]):
6428        (-[WebHistoryItem initWithWebCoreHistoryItem:]):
6429        * Misc/WebIconDatabase.mm:
6430        (-[WebIconDatabase init]):
6431
64322007-02-28  Adele Peterson  <adele@apple.com>
6433
6434        Reviewed by Beth.
6435
6436        Fix for <rdar://problem/4887423> REGRESSION: search results popup menu strings are not localized
6437        and <rdar://problem/3517227> accessibility-related strings in WebCore are not localized
6438
6439        * WebCoreSupport/WebViewFactory.mm:
6440        (-[WebViewFactory searchMenuNoRecentSearchesText]):
6441        (-[WebViewFactory searchMenuRecentSearchesText]):
6442        (-[WebViewFactory searchMenuClearRecentSearchesText]):
6443        (-[WebViewFactory AXWebAreaText]):
6444        (-[WebViewFactory AXLinkText]):
6445        (-[WebViewFactory AXListMarkerText]):
6446        (-[WebViewFactory AXImageMapText]):
6447        (-[WebViewFactory AXHeadingText]):
6448
64492007-02-28  Mark Rowe  <mrowe@apple.com>
6450
6451        Reviewed by Maciej.
6452
6453        <rdar://problem/5028473> WebKit allocates a huge number of NSCalendarDates while loading history file
6454
6455        * History/WebHistory.mm:
6456        (-[WebHistoryPrivate insertItem:atDateIndex:]): Use lastVisitedTimeInterval rather than _lastVisitedDate to avoid allocating NSCalendarDates.
6457
64582007-02-28  Mark Rowe  <mrowe@apple.com>
6459
6460        Reviewed by Tim Hatcher.
6461
6462        <rdar://problem/4985524> Problem with Blot and ToT WebKit (decoding WebCoreScrollView)
6463
6464        References to WebCoreScrollView as a subview of a WebHTMLView may be present in some NIB
6465        files, so NSUnarchiver must be still able to look up the WebCoreScrollView class.
6466
6467        * WebKit.exp: Export WebCoreScrollView symbol.
6468        * WebView/WebHTMLView.mm: Add empty WebCoreScrollView class.
6469
64702007-02-27  Adam Roben  <aroben@apple.com>
6471
6472        Reviewed by Beth.
6473
6474        Fix <rdar://problem/5011905> REGRESSION: "Open Link" contextual menu
6475        item appears twice
6476
6477        * WebCoreSupport/WebContextMenuClient.mm:
6478        (fixMenusToSendToOldClients): Remove the "Open Link" item from the
6479        default menu items array before sending it off to Tiger Mail.
6480        (WebContextMenuClient::getCustomMenuFromDefaultItems): Set the
6481        representedObject on every NSMenuItem to match our old (correct) API
6482        behavior.
6483
64842007-02-27  Mitz Pettel  <mitz@webkit.org>
6485
6486        Reviewed by Darin.
6487
6488        - http://bugs.webkit.org/show_bug.cgi?id=12906
6489          REGRESSION: Canvas is pixelated when the page is opened in a background tab
6490
6491        * WebCoreSupport/WebChromeClient.mm:
6492        (WebChromeClient::scaleFactor): If the view is not in a window, use the main
6493        screen's scale factor as a best guess.
6494
64952007-02-26  John Sullivan  <sullivan@apple.com>
6496
6497        Reviewed by Darin and Geoff
6498
6499        * WebView/WebHTMLView.mm:
6500        (coreGraphicsScreenPointForAppKitScreenPoint):
6501        This method was copied from WebBrowser, and it was wrong. Fixed it. This only
6502        affects the Dictionary pop-up panel.
6503
65042007-02-26  David Hyatt  <hyatt@apple.com>
6505
6506        Update web inspector to account for border-fit.
6507
6508        Reviewed by darin
6509
6510        * WebInspector/webInspector/inspector.js:
6511
65122007-02-26  Geoffrey Garen  <ggaren@apple.com>
6513
6514        Reviewed by Darin Adler.
6515        
6516        Re-arranged things to put deprecated methods at the bottom.
6517
6518        * Misc/WebCoreStatistics.h:
6519        * Misc/WebCoreStatistics.mm:
6520        (+[WebCoreStatistics javaScriptNoGCAllowedObjectsCount]):
6521        (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
6522        (+[WebCoreStatistics javaScriptRootObjectClasses]):
6523        * WebKit.xcodeproj/project.pbxproj:
6524
65252007-02-26  Maciej Stachowiak  <mjs@apple.com>
6526
6527        Rubber stamped by Mitz.
6528        
6529        - fix layout tests by fixing discrepancy in feature macros.
6530
6531        * WebInspector/WebInspector.m:
6532        (-[WebInspector _highlightNode:]):
6533        * WebKit.xcodeproj/project.pbxproj:
6534
65352007-02-23  Mitz Pettel  <mitz@webkit.org>
6536
6537        Reviewed by Maciej.
6538
6539        - fix http://bugs.webkit.org/show_bug.cgi?id=11573
6540          REGRESSION: pressing option-left arrow while in suggestion popup moves the insertion point to the left
6541
6542        * WebView/WebHTMLView.mm:
6543        (-[WebTextCompleteController endRevertingChange:moveLeft:]):
6544
65452007-02-23  Timothy Hatcher  <timothy@apple.com>
6546
6547        Reviewed by Brady.
6548
6549        <rdar://problem/5016395> _recursive_pauseNullEventsForAllNetscapePlugins still gone
6550
6551        * WebView/WebFrameInternal.h: Remove _recursive_pauseNullEventsForAllNetscapePlugins
6552        * WebView/WebFramePrivate.h: Add _recursive_pauseNullEventsForAllNetscapePlugins
6553        * WebView/WebFrame.mm: More _recursive_pauseNullEventsForAllNetscapePlugins
6554
65552007-02-22  Adele Peterson  <adele@apple.com>
6556
6557        Reviewed by John.
6558
6559        Updating this image to match the one in WebCore.
6560
6561        * WebKit.vcproj/textAreaResizeCorner.png:
6562
65632007-02-22  Beth Dakin  <bdakin@apple.com>
6564
6565        Reviewed by Adam.
6566
6567        Fix for http://bugs.webkit.org/show_bug.cgi?id=12399 REGRESSION: 
6568        Unable to prevent default context menu from appearing. <rdar://
6569        problem/5017416>
6570
6571        * WebView/WebHTMLView.mm:
6572        (-[WebHTMLView menuForEvent:]): Clear the controller's context menu 
6573        before propagating a new context menu event through the DOM.
6574
65752007-02-22  John Sullivan  <sullivan@apple.com>
6576
6577        Reviewed by Darin
6578        
6579        Removed some unused keyView-related code that I happened to run across.
6580        Replacement code is now in WebChromeClient.
6581
6582        * WebCoreSupport/WebFrameBridge.h:
6583        * WebCoreSupport/WebFrameBridge.mm:
6584        removed unused stuff
6585
65862007-02-22  Mitz Pettel  <mitz@webkit.org>
6587
6588        Reviewed by Maciej.
6589
6590        - fix http://bugs.webkit.org/show_bug.cgi?id=12804
6591          REGRESSION (r19043-r19063): suggestion popup doesn't work after pressing Option+Esc
6592
6593        This patch also fixes a bug where using the arrow keys while
6594        the suggestion popup is open moves the caret instead of changing the
6595        selection in the popup (for up/down) or accepting the selection and
6596        closing the popup (for left/right).
6597
6598        * WebView/WebHTMLView.mm:
6599        (-[WebHTMLView keyDown:]): Changed to close the popup only if it was open
6600        before the current event, so that the Option-Esc that opens the popup will
6601        not close it immediately.
6602        (-[WebHTMLView _interceptEditingKeyEvent:]): Give the completion popup a
6603        chance to intercept keydown events.
6604        (-[WebTextCompleteController popupWindowIsOpen]): Added. Returns whether the
6605        suggestion popup is open.
6606
66072007-02-22  Mitz Pettel  <mitz@webkit.org>
6608
6609        Reviewed by Mark (age 21).
6610
6611        - fix http://bugs.webkit.org/show_bug.cgi?id=12805
6612          REGRESSION: suggestion popup has a disabled scroll bar
6613
6614        * WebView/WebHTMLView.mm:
6615        (-[WebTextCompleteController _buildUI]): Uncommented the call to the NSWindow
6616        SPI that forces the scroll bar to look active. Also replaced a call to
6617        the deprecated NSTableView method setAutoresizesAllColumnsToFit: with
6618        the new method setColumnAutoresizingStyle: to eliminate console spew.
6619
66202007-02-20  Beth Dakin  <bdakin@apple.com>
6621
6622        Reviewed by Maciej.
6623
6624        WebKit changes needed to implement writeImage() in WebCore's 
6625        Pasteboard class.
6626
6627        * Misc/WebKitNSStringExtras.m: Call into WebCore for these 
6628        implementations.
6629        (-[NSString _webkit_hasCaseInsensitiveSuffix:]):
6630        (-[NSString _webkit_hasCaseInsensitiveSubstring:]):
6631        (-[NSString _webkit_filenameByFixingIllegalCharacters]):
6632        * Misc/WebNSURLExtras.m: Same.
6633        (-[NSURL _webkit_suggestedFilenameWithMIMEType:]):
6634        * WebCoreSupport/WebContextMenuClient.h: Remove 
6635        copyImageToClipboard()
6636        * WebCoreSupport/WebContextMenuClient.mm:
6637        * WebCoreSupport/WebSystemInterface.m: Expose 
6638        GetExtensionsForMIMEType and GetPreferredExtensionForMIMEType to 
6639        WebCore.
6640        (InitWebCoreSystemInterface):
6641        * WebCoreSupport/WebViewFactory.mm: New localized string for 
6642        WebCore. 
6643        (-[WebViewFactory copyImageUnknownFileLabel]):
6644
66452007-02-20  Adam Roben  <aroben@apple.com>
6646
6647        Reviewed by Darin and Anders.
6648
6649        Update WebKit for WebCore fix for <rdar://problem/4736215> Make
6650        WebCoreStringTruncator use WebCore types.
6651
6652        * Misc/WebStringTruncator.m:
6653        (defaultMenuFont): Moved from WebCoreStringTruncator.mm.
6654        (core): Added.
6655        (+[WebStringTruncator centerTruncateString:toWidth:]):
6656        (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
6657        (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
6658        (+[WebStringTruncator widthOfString:font:]):
6659        * WebKit.xcodeproj/project.pbxproj: Changed WebStringTruncator to ObjC++.
6660
66612007-02-20  Timothy Hatcher  <timothy@apple.com>
6662
6663        Reviewed by John.
6664
6665        Fixes the version number returned when using a CFBundleVersion of "420+".
6666
6667        * WebView/WebView.mm:
6668        (-[WebView _userVisibleBundleVersionFromFullVersion:]): Check the length up to the first
6669        non-decimal digit, so this works with versions that have "." and "+".
6670
66712007-02-20  John Sullivan  <sullivan@apple.com>
6672
6673        Reviewed by Kevin Decker
6674        
6675        - fixed <rdar://problem/4989344> REGRESSION: After clicking on page, Find
6676        won't find anything if all hits are before the clicked point
6677        
6678        This was caused by a mismatch between WebCore's search code's notion of "selection" and
6679        WebView's search code's notion of "selection". WebCore's search code was starting 
6680        just before or just after the "selection", which included collapsed, zero-length
6681        selections. WebKit's search code was only considering non-zero-length selections,
6682        and would not search all of the content when there was a zero-length selection.
6683        The fix was to make WebKit ignore the selection. This has a side effect of increasing 
6684        the amount of redundantly-searched content in the case where no matches are found. To
6685        compensate for that, I special-cased the most common case of WebViews with a single frame, 
6686        to avoid ever searching redundantly in those.
6687
6688        * WebView/WebView.mm:
6689        (-[WebView searchFor:direction:caseSensitive:wrap:startInSelection:]):
6690        remove startHasSelection ivar; special-case WebViews with only one frame; clarify the
6691        code that leads to redundant searching with comments.
6692
66932007-02-20  Timothy Hatcher  <timothy@apple.com>
6694
6695        Reviewed by Darin.
6696
6697        <rdar://problem/4900579> WebKit -finalize methods are not thread-safe; design change needed
6698
6699        Call WebCoreObjCFinalizeOnMainThread from the initialize method of all the classes
6700        that have a finalizer that needs called on the main thread. Assert in finalize that we
6701        are on the main thread.
6702
6703        * Carbon/CarbonWindowAdapter.m:
6704        (+[CarbonWindowAdapter initialize]):
6705        (-[CarbonWindowAdapter finalize]):
6706        * History/WebBackForwardList.mm:
6707        (+[WebBackForwardList initialize]):
6708        (-[WebBackForwardList finalize]):
6709        * History/WebHistoryItem.mm:
6710        (+[WebHistoryItem initialize]):
6711        * Misc/WebElementDictionary.mm:
6712        (+[WebElementDictionary initialize]):
6713        (-[WebElementDictionary finalize]):
6714        * Plugins/WebBaseNetscapePluginStream.m:
6715        (+[WebBaseNetscapePluginStream initialize]):
6716        (-[WebBaseNetscapePluginStream finalize]):
6717        * Plugins/WebBaseNetscapePluginView.mm:
6718        (+[WebBaseNetscapePluginView initialize]):
6719        (-[WebBaseNetscapePluginView finalize]):
6720        * Plugins/WebBasePluginPackage.m:
6721        (+[WebBasePluginPackage initialize]):
6722        (-[WebBasePluginPackage finalize]):
6723        * Plugins/WebNetscapePluginStream.mm:
6724        (-[WebNetscapePluginStream finalize]):
6725        * WebCoreSupport/WebEditorClient.mm:
6726        (+[WebEditCommand initialize]):
6727        (-[WebEditCommand finalize]):
6728        * WebCoreSupport/WebFrameBridge.mm:
6729        (+[WebFrameBridge initialize]):
6730        (-[WebFrameBridge finalize]):
6731        * WebCoreSupport/WebFrameLoaderClient.mm:
6732        (+[WebFramePolicyListener initialize]):
6733        (-[WebFramePolicyListener finalize]):
6734        * WebView/WebHTMLView.mm:
6735        (+[WebHTMLView initialize]):
6736        (-[WebHTMLView finalize]):
6737        * WebView/WebView.mm:
6738        (+[WebViewPrivate initialize]):
6739        (-[WebViewPrivate finalize]):
6740
67412007-02-20  Justin Garcia  <justin.garcia@apple.com>
6742
6743        Reviewed by darin
6744        
6745        <rdar://problem/4838199>
6746        Integrate Mail and WebKit paste operations
6747        
6748        Mail overrides paste: because it has different
6749        preferred pasteboard types, but it should use our
6750        fragment creation code.
6751
6752        * WebView/WebHTMLView.mm:
6753        (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
6754        Moved fragment creation code into a new method.
6755        (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:]):
6756        Moved fragment creation code here.
6757        * WebView/WebHTMLViewPrivate.h: Exposed 
6758        _documentFragmentFromPasteboard:forType:inContext: as SPI.
6759
67602007-02-20  John Sullivan  <sullivan@apple.com>
6761
6762        Reviewed by Tim Hatcher
6763
6764        * Misc/WebKitNSStringExtras.h:
6765        * Misc/WebKitNSStringExtras.m:
6766        removed _webkit_userVisibleBundleVersionFromFullVersion; we decided to do this without
6767        adding SPI for it.
6768
6769        * WebView/WebView.mm:
6770        (-[WebView _userVisibleBundleVersionFromFullVersion:]):
6771        new method, moved here from WebKitNSStringExtras, and is now a WebView method rather than
6772        an NSString method
6773        (-[WebView _computeUserAgent]):
6774        updated for method signature change
6775
67762007-02-20  Timothy Hatcher  <timothy@apple.com>
6777
6778        Reviewed by John.
6779
6780        * Misc/WebKitNSStringExtras.h: Added _webkit_userVisibleBundleVersionFromFullVersion.
6781        * Misc/WebKitNSStringExtras.m:
6782        (-[NSString _webkit_userVisibleBundleVersionFromFullVersion]): If the version is 4 digits long or longer,
6783        then the first digit represents the version of the OS. Our user agent string should not
6784        include this first digit, so strip it off and report the rest as the version.
6785        * WebView/WebView.mm:
6786        (-[WebView _computeUserAgent]): Call _webkit_userVisibleBundleVersionFromFullVersion on the CFBundleVersion.
6787
67882007-02-20  Darin Adler  <darin@apple.com>
6789
6790        Reviewed by Anders.
6791
6792        * Plugins/WebPluginController.mm: (-[WebPluginController pluginView:receivedResponse:]):
6793        Call cancelMainResourceLoad on the document loader instead of the frame loader.
6794
67952007-02-20  Anders Carlsson  <acarlsson@apple.com>
6796
6797        Reviewed by Mitz.
6798
6799        <rdar://problem/5009627> REGRESSION: Repro overrelease of WebView in failed load, seen in DumpRenderTree
6800        
6801        * WebView/WebView.mm:
6802        (-[WebView _removeObjectForIdentifier:]):
6803        Return early if the identifier can't be found in the map.
6804
68052007-02-19  Timothy Hatcher  <timothy@apple.com>
6806
6807        Reviewed by Darin Adler.
6808
6809        <rdar://problem/4841078> Remove the Mail.app editable link clicking behavior workaround when it is no longer needed
6810
6811        * WebKit.xcodeproj/project.pbxproj:
6812        * WebView/WebView.mm:
6813        (-[WebView setPreferences:]):
6814
68152007-02-19  Anders Carlsson  <acarlsson@apple.com>
6816
6817        Reviewed by Adam.
6818
6819        <rdar://problem/4868242>
6820        http://bugs.webkit.org/show_bug.cgi?id=12670
6821        REGRESSION: Many 3rd Party Apps crash in WebCore::DocumentLoader::frameLoader() (12670)
6822        
6823        Bring back the semantic we had that a web view should be retained for as long as something is loading. Use the identifier
6824        to object hash map for this.
6825
6826        * WebView/WebView.mm:
6827        (-[WebView _addObject:forIdentifier:]):
6828        (-[WebView _removeObjectForIdentifier:]):
6829
68302007-02-18  Brady Eidson  <beidson@apple.com>
6831
6832        Reviewed by Oliver
6833
6834        <rdar://problem/4985321> - Can't edit templates for Web Gallery/Web Page Export in Aperture
6835
6836        * Misc/WebKitVersionChecks.h: Add a #define for this APERTURE quirk
6837        * WebView/WebView.mm:
6838        (-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
6839         If the current app is Aperture and it was linked against Tiger WebKit, always allow selection change
6840
68412007-02-17  Lars Knoll <lars@trolltech.com>
6842
6843        Reviewed by Maciej.
6844
6845        Additional coding by Maciej, additional review by Oliver.
6846
6847        Added implementations for the new callbacks in EditorClient
6848        and ChromeClient (basically moved from WebFrameBridge).
6849        Cleaned up some code paths that are not called anymore
6850        and done fully inside WebCore now.
6851
6852        * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
6853        * Misc/WebElementDictionary.mm:
6854        * Misc/WebNSAttributedStringExtras.mm:
6855        * Plugins/WebBaseNetscapePluginView.mm:
6856        (-[WebBaseNetscapePluginView getVariable:value:]):
6857        * Plugins/WebNetscapePluginEmbeddedView.mm:
6858        * Plugins/WebNetscapePluginStream.mm:
6859        * Plugins/WebPluginContainerCheck.mm:
6860        * WebCoreSupport/WebChromeClient.h:
6861        * WebCoreSupport/WebChromeClient.mm:
6862        (WebChromeClient::shouldInterruptJavaScript):
6863        * WebCoreSupport/WebEditorClient.h:
6864        * WebCoreSupport/WebEditorClient.mm:
6865        (WebEditorClient::shouldChangeSelectedRange):
6866        * WebCoreSupport/WebFrameBridge.mm:
6867        (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]):
6868        (-[WebFrameBridge fini]):
6869        * WebCoreSupport/WebFrameLoaderClient.mm:
6870        * WebView/WebArchiver.mm:
6871        * WebView/WebFrame.mm:
6872        (core):
6873        (kit):
6874        (-[WebFrame _updateBackground]):
6875        * WebView/WebFrameInternal.h:
6876        * WebView/WebFrameView.mm:
6877        * WebView/WebHTMLRepresentation.mm:
6878        * WebView/WebHTMLView.mm:
6879        (-[WebHTMLView _updateMouseoverWithEvent:]):
6880        (-[WebHTMLView _isEditable]):
6881        (-[WebHTMLView validateUserInterfaceItem:]):
6882        (-[WebHTMLView maintainsInactiveSelection]):
6883        (-[WebHTMLView scrollWheel:]):
6884        (-[WebHTMLView acceptsFirstMouse:]):
6885        (-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
6886        (-[WebHTMLView cut:]):
6887        (-[WebHTMLView paste:]):
6888        (-[WebHTMLView selectedAttributedString]):
6889        * WebView/WebScriptDebugDelegate.mm:
6890        * WebView/WebView.mm:
6891        (-[WebView _dashboardRegions]):
6892        (-[WebView setProhibitsMainFrameScrolling:]):
6893        (-[WebView _setInViewSourceMode:]):
6894        (-[WebView _inViewSourceMode]):
6895        (-[WebView shouldClose]):
6896        (-[WebView setEditable:]):
6897
68982007-02-18  Oliver Hunt  <oliver@apple.com>
6899
6900        Reviewed by Adam.
6901
6902        Moving the drag initiation logic to WebCore.
6903        The redundant code in webkit will be moved out in a later patch.
6904
6905        * WebCoreSupport/WebDragClient.h:
6906        * WebCoreSupport/WebDragClient.mm:
6907        (getTopHTMLView):
6908          Helper function
6909        (WebDragClient::willPerformDragSourceAction):
6910        (WebDragClient::startDrag):
6911        (WebDragClient::createDragImageForLink):
6912          Implemented new DragClient methods
6913        (WebDragClient::declareAndWriteDragImage):
6914          Helper function for the Mac to allow new drag and drop
6915          code to match behaviour
6916          
6917        * WebView/WebHTMLView.mm:
6918        (-[WebHTMLView _dragImageForURL:withLabel:]):
6919        (-[WebHTMLView _dragImageForLinkElement:]):
6920          Refactoring old _dragImageForLinkElement function so that 
6921          the link drag image can be created with just a URL and label, 
6922          rather than requiring the original element
6923        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
6924          Removed logic that is no longer necessary                 
6925        (-[WebHTMLView _mouseDownEvent]):
6926          The WebDragClient may need the original mouseDownEvent of a drag when initiating
6927          a drag
6928        * WebView/WebHTMLViewInternal.h:
6929          Declaring _mouseDownEvent
6930
6931        * WebView/WebHTMLViewPrivate.h:
6932          Declaring _dragImageForURL
6933
69342007-02-16  John Sullivan  <sullivan@apple.com>
6935
6936        Reviewed by Tim Hatcher
6937
6938        - fixed <rdar://problem/4811446> "Check Grammar" checkbox in Spelling+Grammar window doesn't 
6939        live update with menu change in WebKit
6940
6941        * WebView/WebView.mm:
6942        (-[WebView setGrammarCheckingEnabled:]):
6943        Use sekrit AppKit knowledge to tell NSSpellChecker about the change, since there's no API
6944        for this yet. Also restructured a little to avoid extra work when the value hasn't changed.
6945
69462007-02-15  Brady Eidson  <beidson@apple.com>
6947
6948        Reviewed by Adam
6949
6950        Save scroll state for back/forward navigation in FrameLoader, not the client
6951
6952        * WebCoreSupport/WebFrameLoaderClient.h: Renamed the save/restore methods
6953        * WebCoreSupport/WebFrameLoaderClient.mm:
6954        (WebFrameLoaderClient::saveViewStateToItem): Save viewstate only
6955        (WebFrameLoaderClient::restoreViewState): Restore viewstate only
6956
69572007-02-14  Alexey Proskuryakov  <ap@webkit.org>
6958
6959        Reviewed by Darin.
6960
6961        http://bugs.webkit.org/show_bug.cgi?id=12643
6962        NPN_Status is using latin-1 encoding for the message instead of UTF-8
6963
6964        * Plugins/WebBaseNetscapePluginView.mm:
6965        (-[WebBaseNetscapePluginView status:]): Check for possible conversion failure.
6966
69672007-02-13  Oliver Hunt  <oliver@apple.com>
6968
6969        Reviewed by John.
6970
6971        Modify entry point ASSERTs for dragging functions to allow for the case
6972        where a load has occurred mid-drag.  The load may detach the HTMLView 
6973        from the WebView so it is no longer possible to check _isTopHTMLView.
6974
6975        The assertion changes match that of revision 14897 which fixed the 
6976        more common case ([WebHTMLView draggedImage:endedAt:operation:])
6977
6978        It's also necessary to check for a null Page now prior to accessing 
6979        the DragController, which is necessary in all of these methods.
6980
6981        See rdar://problem/4994870
6982                                             
6983        * WebView/WebHTMLView.mm:
6984        (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
6985        (-[WebHTMLView draggedImage:movedTo:]):
6986        (-[WebHTMLView draggedImage:endedAt:operation:]):
6987        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
6988
69892007-02-13  Alexey Proskuryakov  <ap@webkit.org>
6990
6991        Reviewed by Maciej.
6992
6993        http://bugs.webkit.org/show_bug.cgi?id=12643
6994        NPN_Status is using latin-1 encoding for the message instead of UTF-8
6995
6996        * Plugins/WebBaseNetscapePluginView.mm:
6997        (-[WebBaseNetscapePluginView status:]): Use kCFStringEncodingUTF8.
6998
69992007-02-13  Mark Rowe  <mrowe@apple.com>
7000
7001        Reviewed by Timothy Hatcher.
7002
7003        Fix http://bugs.webkit.org/show_bug.cgi?id=12745
7004        Bug 12745: REGRESSION: Webkit will not load a plugin that Safari can load (symbol missing _objc_msgSend_fpret)
7005
7006        Treat libobjc as a sub-library of WebKit in Debug/Release so that plugins and applications linked against an
7007        umbrella framework version of WebKit that expect to find libobjc symbols in WebKit can do so.
7008
7009        * WebKit.xcodeproj/project.pbxproj:
7010
70112007-02-12  Kevin McCullough  <kmccullough@apple.com>
7012
7013        Reviewed by .
7014
7015        - reverting change to not cause regressions and performance problems.
7016
7017        * Misc/WebNSAttributedStringExtras.mm:
7018        (fileWrapperForElement):
7019
70202007-02-12  Darin Adler  <darin@apple.com>
7021
7022        Reviewed by Oliver.
7023
7024        - fix http://bugs.webkit.org/show_bug.cgi?id=12677
7025          <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm
7026          a clause in kotoeri (12677)
7027
7028        - fix http://bugs.webkit.org/show_bug.cgi?id=12596
7029          <rdar://problem/4794346> REGRESSION: Tab key shifts form field focus instead of
7030          navigating prediction window (12596)
7031
7032        - fix http://bugs.webkit.org/show_bug.cgi?id=10010
7033          <rdar://problem/4822935> REGRESSION: Pressing Return with unconfirmed text in
7034          Hangul inserts carriage return (10010)
7035
7036        - fix http://bugs.webkit.org/show_bug.cgi?id=12531
7037          <rdar://problem/4975126> REGRESSION: Inline text input types repeated keys in
7038          latest nightly (r19336) (12531)
7039
7040        - fix http://bugs.webkit.org/show_bug.cgi?id=12539
7041          <rdar://problem/4975130> REGRESSION: Pressing Backspace while in inline input
7042          area moves to the previous page in history (12539)
7043
7044        * WebCoreSupport/WebEditorClient.h:
7045        * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::markedTextAbandoned):
7046        Added.
7047
7048        * WebView/WebHTMLView.mm:
7049        (-[WebHTMLView menuForEvent:]): Added explicit constructor needed now that the
7050        function takes a const&.
7051        (-[WebHTMLView becomeFirstResponder]): Removed fake event code, no longer needed
7052        since advanceFocus now works fine with 0 for a DOM event.
7053        (-[WebHTMLView _expandSelectionToGranularity:]): Changed to use the normal
7054        selection controller function instead of selectRange.
7055        (-[WebHTMLView insertTab:]): Changed to call bottleneck that receives the DOM
7056        event.
7057        (-[WebHTMLView insertBacktab:]): Ditto.
7058        (-[WebHTMLView insertNewline:]): Ditto.
7059        (-[WebHTMLView insertLineBreak:]): Ditto.
7060        (-[WebHTMLView insertParagraphSeparator:]): Ditto.
7061        (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): Ditto.
7062        (-[WebHTMLView insertTabIgnoringFieldEditor:]): Ditto.
7063        (-[WebHTMLView yank:]): Updated to call Editor directly since the insertText
7064        code now works via a text input event which is not what we want for paste-like
7065        things such as yank.
7066        (-[WebHTMLView yankAndSelect:]): Ditto.
7067        (-[WebHTMLView selectToMark:]): Changed to use the normal selection controller
7068        function instead of selectRange, which also allows us to remove the ObjC exception
7069        handling code.
7070        (-[WebHTMLView swapWithMark:]): Ditto.
7071        (-[WebHTMLView transpose:]): Ditto.
7072        (-[WebHTMLView unmarkText]): Since this is one of the calls back from the input
7073        manager, added code to set the "event was handled" flag. Moved the actual work
7074        into the Editor class in WebCore and just call that from here.
7075        (-[WebHTMLView _selectRangeInMarkedText:]): Changed to use the normal selection
7076        controller function instead of selectRange.
7077        (-[WebHTMLView setMarkedText:selectedRange:]): Since this is one of the calls
7078        back from the input manager, added code to set the "event was handled" flag.
7079        Also changed the ignoreMarkedTextSelectionChange to use the flag over on the
7080        WebCore side, since we moved it there and to call selectMarkedText over on
7081        the WebCore side too.
7082        (-[WebHTMLView doCommandBySelector:]): Added special cases for newline and tab
7083        selectors so that the event is passed along. These selectors are special because
7084        they are ones that turn into text input events.
7085        (-[WebHTMLView _discardMarkedText]): Moved the body of this function into the
7086        Editor class in WebCore and just call that from here.
7087        (-[WebHTMLView insertText:]): Added code to send a text input event instead of
7088        calling the editor to do text insertion. The insertion is then done in the
7089        default handler for the text input event.
7090        (-[WebHTMLView _insertNewlineWithEvent:isLineBreak:]): Added. Sends a text
7091        input event.
7092        (-[WebHTMLView _insertTabWithEvent:isBackTab:]): Ditto.
7093        (-[WebHTMLView _updateSelectionForInputManager]): Changed to use the
7094        ignoreMarkedTextSelectionChange flag in Editor now that the one here is gone.
7095
7096        * WebView/WebHTMLViewInternal.h: Remove ignoreMarkedTextSelectionChange field.
7097
7098        * WebView/WebView.mm: (-[WebView setSelectedDOMRange:affinity:]): Changed to
7099        use the normal selection controller function instead of selectRange.
7100
71012007-02-11  Sam Weinig  <sam@webkit.org>
7102
7103        Reviewed by Mark.
7104
7105        Switch the initial value of box-sizing property from "border-box" to "content-box".
7106
7107        * WebInspector/webInspector/inspector.js:
7108
71092007-02-10  Mitz Pettel  <mitz@webkit.org>
7110
7111        Reviewed by Maciej.
7112
7113        - fix http://bugs.webkit.org/show_bug.cgi?id=11847
7114          REGRESSION (SearchField): Dragging to select in the Web Inspector's search fields drags the inspector window
7115
7116        * WebInspector/webInspector/inspector.css: Added the search field to the
7117        undraggable dashboard-region.
7118
71192007-02-09  Kevin Decker <kdecker@apple.com>
7120
7121        Reviewed by Darin & Maciej.
7122
7123        Fixed: <rdar://problem/4930688> REGRESSION: missing images when reloading webarchives (11962)
7124        
7125        * WebCoreSupport/WebFrameLoaderClient.mm:
7126        (WebFrameLoaderClient::canUseArchivedResource): The bug here is that because a reload sets a cache
7127        policy of NSURLRequestReloadIgnoringCacheData (rightfully so), this method was refusing to load
7128        subresources in WebArchives. It's OK to use archive subresources for the NSURLRequestReloadIgnoringCacheData
7129        cache policy because we're not worried about the actual contents of a WebArchive changing on disk. 
7130
71312007-02-09  Justin Garcia  <justin.garcia@apple.com>
7132
7133        Reviewed by darin
7134        
7135        <rdar://problem/4975120>
7136        REGRESSION: double-cursor after switching window away/back (11770)
7137        <http://bugs.webkit.org/show_bug.cgi?id=11328>
7138        Gmail Editor: Caret can simultaneously appear in both the TO: and message body fields
7139
7140        * WebCoreSupport/WebFrameBridge.mm: Removed unused methods.
7141        * WebView/WebHTMLView.mm: Ditto.
7142        (-[WebHTMLView _web_firstResponderCausesFocusDisplay]): Don't 
7143        appear focused if a descendant view is firstResponder.
7144        (-[WebHTMLView _updateActiveState]): Removed the check for a BOOL
7145        that was always false.
7146        * WebView/WebHTMLViewInternal.h: Removed a BOOL that's always false.
7147
71482007-02-09  Beth Dakin  <bdakin@apple.com>
7149
7150        Reviewed by Darin.
7151
7152        Fix for <rdar://problem/4674537> REGRESSION: Adobe Acrobat 8 - Text 
7153        blinks when mouse is moved, and is invisible otherwise
7154
7155        Allow quirk if the Application was linked before 3.0 and if the 
7156        application is Adobe Acrobat.
7157
7158        * Misc/WebKitVersionChecks.h:
7159        * WebView/WebView.mm:
7160        (-[WebView _updateWebCoreSettingsFromPreferences:]):
7161
71622007-02-09  Timothy Hatcher  <timothy@apple.com>
7163
7164        Reviewed by Brady.
7165
7166        * WebKit.exp: Add WebBaseNetscapePluginView to the export list.
7167
71682007-02-09  John Sullivan  <sullivan@apple.com>
7169
7170        Reviewed by Beth
7171
7172        - WebKit part of fix for radar 4939636, problems with context menu items and binaries linked
7173          against WebKit 2.0.
7174
7175        * WebKit.xcodeproj/project.pbxproj:
7176        Changed DYLIB_CURRENT_VERSION to 2 (was 1)
7177
7178        * Misc/WebKitVersionChecks.h:
7179        Added constant WEBKIT_FIRST_VERSION_WITH_3_0_CONTEXT_MENU_TAGS, which is 2 but in the weird
7180        format that these version checks use.
7181
7182        * WebView/WebUIDelegatePrivate.h:
7183        Tweaked comments; included the old values for three tags for context menu items that changed
7184        from SPI to API in 3.0; renamed WEBMENUITEMTAG_SPI_START to WEBMENUITEMTAG_WEBKIT_3_0_SPI_START 
7185        for clarity, and bumped its value to avoid conflict with the three old values
7186
7187        * WebCoreSupport/WebContextMenuClient.mm:
7188        (isAppleMail):
7189        new helper function that checks the bundle identifier
7190        (fixMenusToSendToOldClients):
7191        Removed return value for clarity; now checks linked-on version and also makes special case
7192        for Mail; now replaces three API tags with their old SPI values for clients that linked
7193        against old WebKit version, in addition to replacing new API with WebMenuItemTagOther for
7194        items that had no specific tag before.
7195        (fixMenusReceivedFromOldClients):
7196        Removed return value for clarity; removed defaultMenuItems parameter because it's no longer 
7197        necessary; removed code that tried to recognize menus that got confused by the SPI -> API 
7198        change (we now pass the old SPI values to these clients to avoid confusing them); now 
7199        restores the tags for the items whose tags were replaced in fixMenusToSendToOldClients 
7200        (this used to restore the tags of the default items rather than the new items, which was 
7201        incorrect but happened to work since the clients we tested were using the objects from the
7202        default items array in their new items array)
7203        (WebContextMenuClient::getCustomMenuFromDefaultItems):
7204        Updated to account for the removed return values for the two fix-up methods; moved the
7205        autorelease of newItems here, which is clearer and was the source of a leak before.
7206
72072007-02-08  Kevin McCullough  <KMcCullough@apple.com>
7208
7209        Reviewed by
7210
7211        - fixing a build breakage. 
7212
7213        * Misc/WebNSAttributedStringExtras.mm:
7214        (fileWrapperForElement):
7215
72162007-02-07  Charles Ying  <charles_ying@yahoo.com>
7217
7218        Reviewed by Adam.
7219
7220        Code suggestion by aroben
7221        
7222        Fix http://bugs.webkit.org/show_bug.cgi?id=12688
7223
7224        REGRESSION (r19469): ASSERT when right clicking on hyperlinks! in TOT webkit
7225        
7226        * WebCoreSupport/WebContextMenuClient.mm:
7227        (fixMenusReceivedFromOldClients):
7228
7229        - fixMenusReceivedFromOldClients was hitting an ASSERT incorrectly
7230        because it could not match [item title] to any of the contentMenuItemTags
7231        using pointer comparison ==. Instead, it needs to do a string comparison
7232        between [item title] and the various contentMenuItemTags using
7233        isEqualToString instead of ==. You would encounter this whenever the
7234        context menu was activated, e.g., from a hyperlink right click (or
7235        control click).
7236
7237
72382007-02-07  Anders Carlsson  <acarlsson@apple.com>
7239
7240        Reviewed by Maciej.
7241
7242        Move shouldInterruptJavaScript to the Chrome.
7243        
7244        * WebCoreSupport/WebChromeClient.h:
7245        * WebCoreSupport/WebChromeClient.mm:
7246        (WebChromeClient::shouldInterruptJavaScript):
7247        * WebCoreSupport/WebFrameBridge.mm:
7248
72492007-02-07  John Sullivan  <sullivan@apple.com>
7250
7251        Reviewed by Kevin Decker
7252
7253        - fixed all places in WebKit where _web_userVisibleString was used where
7254        _web_originalDataAsString should have been used instead.
7255
7256        * History/WebURLsWithTitles.m:
7257        (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]):
7258        use _web_originalDataAsString when writing since these aren't displayed to the user
7259        (+[WebURLsWithTitles URLsFromPasteboard:]):
7260        use _web_URLWithDataAsString when reading, to match what we used when writing
7261
7262        * Misc/WebNSPasteboardExtras.mm:
7263        (-[NSPasteboard _web_writeURL:andTitle:types:]):
7264        use _web_originalDataAsString when writing the NSURL type; continue using
7265        _web_userVisibleString when writing the plain text type
7266
7267        * WebView/WebHTMLView.mm:
7268        (-[WebHTMLView _documentFragmentWithPaths:]):
7269        added comment about why _web_userVisibleString is appropriate here
7270        (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
7271        use _web_originalDataAsString when setting the href attribute of an anchor tag
7272
72732007-02-07  David Harrison  <harrison@apple.com>
7274
7275        Reviewed by Adam.
7276
7277        <rdar://problem/4943650> REGRESSION: insertion point blink redraws entire web page, making everything slow
7278
7279        Problem is that AppKit recently changed NSControl to trigger a full redraw if the control has a focus ring.
7280        WebHTMLView is a subclass of NSControl, but the focus ring type was the default value, though we actually
7281        draw no focus ring. Fix is to formally set our focus ring type.
7282
7283        * WebView/WebHTMLView.mm:
7284        (-[WebHTMLView initWithFrame:]):
7285        Send [self setFocusRingType:NSFocusRingTypeNone].
7286
72872007-02-07  John Sullivan  <sullivan@apple.com>
7288
7289        Undid changes that I hadn't intended to check in
7290
7291        * WebView/WebHTMLView.mm:
7292        (-[WebHTMLView _documentFragmentWithPaths:]):
7293        (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
7294
72952007-02-07  John Sullivan  <sullivan@apple.com>
7296
7297        Reviewed by Ollie and Geoff
7298
7299        - fixed <rdar://problem/4982345> KURL::createCFURL leak inside -[WebFrameBridge startDraggingImage...] 
7300        reported by buildbot
7301
7302        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
7303        don't retain the imageURL we pass to the drag controller -- it's just automagically
7304        converted to a KURL anyway
7305
73062007-02-07  John Sullivan  <sullivan@apple.com>
7307
7308        Reviewed by Darin
7309
7310        - fixed <rdar://problem/4974420> REGRESSION: Dragging a saved image into the browser window 
7311        displays a error (No File exists at the address "null") (12662)
7312
7313        * WebCoreSupport/WebPasteboardHelper.mm:
7314        (WebPasteboardHelper::urlFromPasteboard):
7315        use _web_originalDataAsString instead of _web_userVisibleString, since _web_userVisibleString
7316        can return a string with non-ASCII characters -- suitable for display but not for code
7317
73182007-02-07  John Sullivan  <sullivan@apple.com>
7319
7320        Reviewed by Darin
7321
7322        - added some clarity to some menu-handling shenanigans
7323
7324        * WebCoreSupport/WebContextMenuClient.mm:
7325        (fixMenusToSendToOldClients):
7326        renamed from fixMenusForOldClients; added comments, FIXME, and assertion
7327        (fixMenusReceivedFromOldClients):
7328        renamed from fixMenusFromOldClients; added comments, FIXME, and assertion
7329        (WebContextMenuClient::getCustomMenuFromDefaultItems):
7330        updated for name changes
7331
73322007-02-06  Kevin Decker <kdecker@apple.com>
7333
7334        Fixed: <rdar://problem/4976681> ASSERTION failure on quit @ talkcrunch.com in _NPN_ReleaseObject
7335        
7336        Reviewed by Anders.
7337
7338        * Plugins/WebPluginDatabase.m:
7339        (+[WebPluginDatabase sharedDatabase]): Removed NSApplicationWillTerminateNotification observer and thus
7340        also removed code that would unload the entire plug-in database when receiving that notification. 
7341        
7342        The bug here was that this notification callback would happen first before anything else thus unloading
7343        plug-ins and releasing plug-in memory. That was crash prone because the JavaScriptCore collector would at
7344        a later time attempt to release its CInstance references (references that point to plug-in memory)
7345        without knowing WebKit already unloaded the plug-in out from underneath it. The WebPluginDatabase simply
7346        does not have enough context to make this decision.
7347        
7348        * WebView/WebView.mm: Added two statics: applicationIsTerminating, pluginDatabaseClientCount.
7349        (+[WebView initialize]): Added NSApplicationWillTerminateNotification observer.
7350        (+[WebView _applicationWillTerminate]): Added. 
7351        (-[WebView _close]): WebKit has both a global plug-in database and a separate, per WebView plug-in database. 
7352         We need to release both sets of plug-ins because Netscape plug-ins have "destructor functions" that should be
7353         called when the browser unloads the plug-in.  These functions can do important things, such as closing/deleting
7354         files so it is important to ensure that they are properly called when the application terminates.
7355         
7356         The new change is that on app shutdown, we unload WebKit's global plug-in database if and only if the last WebView
7357         was closed. To do so otherwise would unload plug-ins out from underneath other WebViews.
7358         
73592007-02-06  Darin Adler  <darin@apple.com>
7360
7361        Reviewed by John Sullivan.
7362
7363        - fix http://bugs.webkit.org/show_bug.cgi?id=11080
7364          <rdar://problem/4826648> REGRESSION: Incorrect vertical positioning of Safari
7365          status bar text containing @ character (11080)
7366
7367        * Misc/WebKitNSStringExtras.m:
7368        (canUseFastRenderer): Fix code that mistakenly used the slow renderer for strings
7369        that have a direction of "other neutral", which includes the "@" character.
7370        (-[NSString _web_drawAtPoint:font:textColor:]): Add code to make the baseline of
7371        the text in the status bar right. AppKit's rule for rounding is complicated enough
7372        that this is obviously not perfectly correct, but it does make both code paths
7373        use the same baseline in all the places this is currently used in AppKit.
7374
73752007-02-06  Darin Adler  <darin@apple.com>
7376
7377        Spotted by Steve F.
7378
7379        * Misc/WebNSURLExtras.m:
7380        (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
7381        Fix obvious logic mistake I introduced back in revision 8255.
7382        I can't see how to exercise this code path, but I also can't
7383        bear to leave this obviously-broken code as-is.
7384
73852007-02-05  David Kilzer  <ddkilzer@webkit.org>
7386
7387        Reviewed by Darin.
7388
7389        http://bugs.webkit.org/show_bug.cgi?id=7266
7390        Webarchive format saves duplicate WebSubresources to .webarchive file
7391
7392        Tests: webarchive/test-duplicate-resources.html
7393               webarchive/test-frameset.html
7394
7395        * WebView/WebArchiver.mm:
7396        (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]): Use an NSMutableSet to prevent
7397        duplicate subresources from being added to the webarchive.
7398
73992007-02-06  Mark Rowe  <mrowe@apple.com>
7400
7401        Roll out incomplete support for font-stretch (r19350) at Dave Hyatt's request.
7402        See http://bugs.webkit.org/show_bug.cgi?id=12530#c9 for more info.
7403
7404        * WebInspector/webInspector/inspector.js:
7405        * WebView/WebHTMLView.mm:
7406        (-[WebHTMLView _addToStyle:fontA:fontB:]):
7407
74082007-02-05  Beth Dakin  <bdakin@apple.com>
7409
7410        Reviewed by Adam.
7411
7412        Fix for <rdar://problem/4975161> REGRESSION: With BumperCar 2.1.1, 
7413        the contextual menu fails to appear when I ctrl-click on page
7414
7415        * WebCoreSupport/WebContextMenuClient.mm:
7416        (WebContextMenuClient::getCustomMenuFromDefaultItems): If the 
7417        delegate does not respond to contextMenuItemsForElement, return the 
7418        default menu instead of nil.
7419
74202007-02-01  Geoffrey Garen  <ggaren@apple.com>
7421
7422        Reviewed by Maciej Stachowiak.
7423        
7424        Added support for selectively ignoring WebCore::Node leaks during layout
7425        tests, so that we can ignore known leaks in other components.
7426
7427        * Misc/WebCoreStatistics.h:
7428        * Misc/WebCoreStatistics.mm:
7429        (+[WebCoreStatistics startIgnoringWebCoreNodeLeaks]):
7430        (+[WebCoreStatistics stopIgnoringWebCoreNodeLeaks]):
7431
74322007-02-01  Nicholas Shanks  <webkit@nickshanks.com>
7433
7434        Reviewed by Mark.
7435
7436        Add support for CSS2 font-stretch property.
7437
7438        * WebInspector/webInspector/inspector.js:
7439        * WebView/WebHTMLView.mm:
7440        (-[WebHTMLView _addToStyle:fontA:fontB:]):
7441
74422007-02-01  Maciej Stachowiak  <mjs@apple.com>
7443
7444        Reviewed by Adam.
7445        
7446        <rdar://problem/4730469> REGRESSION: Assertion failure in -[WebDataSource(WebInternal) _bridge] when forwarding message
7447
7448        * WebView/WebDataSource.mm:
7449        (-[WebDataSource subresources]): Check for being uncommitted and return emtpy result.
7450        (-[WebDataSource subresourceForURL:]): ditto
7451
74522007-01-31  Oliver Hunt  <oliver@apple.com>
7453
7454        Reviewed by Adam.     
7455
7456        Migrating methods to WebCore
7457
7458        * WebCoreSupport/WebFrameBridge.mm:
7459        * WebView/WebHTMLView.mm:
7460        * WebView/WebHTMLViewPrivate.h:
7461
74622007-01-31  Anders Carlsson  <acarlsson@apple.com>
7463
7464        Reviewed by Maciej.
7465
7466        <rdar://problem/4886776>
7467        REGRESSION: After opening a web archive, location shows the actual URL, not the webarchive file
7468        
7469        "Revert" the change done in 13734.
7470        
7471        * WebView/WebHTMLRepresentation.mm:
7472        (-[WebHTMLRepresentation loadArchive]):
7473        Don't do a new load here, as this would cancel the current load and call the resource load
7474        delegate's didFailLoadingWithError: method. Instead, call continueLoadWithData.
7475
74762007-02-01  Nikolas Zimmermann  <zimmermann@kde.org>
7477
7478        Reviewed by Maciej.
7479
7480        Fix run-pageloadtest to actually work again.
7481
7482        * Misc/WebNSWindowExtras.m:
7483        (+[NSWindow _webkit_displayThrottledWindows]):
7484
74852007-01-31  Adele Peterson  <adele@apple.com>
7486
7487        Reviewed by Darin.
7488
7489        WebKit part of fix for <rdar://problem/4521461> REGRESSION: when keyPress event changes form focus, inserted key goes to wrong control
7490
7491        * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeyPress): Instead of using the selected frame, use the
7492          frame for the target of the keyboard event.  Also, don't do the canEdit check here, since the target's frame might not
7493          have a selection at this point.  Do the canEdit check within Editor::insertText, where we determine which selection to use
7494          for inserting text.
7495        * WebView/WebEditingDelegatePrivate.h: Added forward declaration of DOMHTMLElement. This is needed after reordering includes in WebEditorClient.mm.
7496
74972007-01-31  Alice Liu  <alice.liu@apple.com>
7498
7499        Reviewed by Tim Hatcher.
7500
7501        Turning an accidental API change to an SPI change
7502
7503        * WebView/WebEditingDelegate.h:
7504        * WebView/WebEditingDelegatePrivate.h:
7505        move some declarations into private header.  
7506
75072007-01-31  Darin Adler  <darin@apple.com>
7508
7509        - fix build
7510
7511        * ForwardingHeaders/wtf/ListHashSet.h: Added.
7512
75132007-01-31  Maciej Stachowiak  <mjs@apple.com>
7514
7515        Reviewed by Anders.
7516
7517        - related fix for <rdar://problem/4964407> REGRESSION: Mail hangs when replying, forwarding , or creating a new message
7518        
7519        * WebView/WebFrame.mm:
7520        (-[WebFrame loadArchive:]): This method also needs to add the lame WebDataRequest property or other things, like
7521        Mail Contents of Page, break.
7522
75232007-01-31  Maciej Stachowiak  <mjs@apple.com>
7524
7525        Reviewed by Eric.
7526        
7527        - add back no-op version of silly method so that shipping Safari can still run the PLT
7528
7529        * Misc/WebNSWindowExtras.m:
7530        (-[NSWindow _webkit_displayThrottledWindows]):
7531
75322007-01-31  Mark Rowe  <mrowe@apple.com>
7533
7534        More build fixing.
7535
7536        * Misc/WebKitLogging.h: Use !defined() rather than !.
7537        * Plugins/WebNetscapePluginStream.h: Remove #if __cplusplus as this file is only included from Obj-C++ files.
7538        * WebView/WebHTMLView.mm:
7539        (-[WebHTMLView _lookUpInDictionaryFromMenu:]): Use #ifdef rather than #if.
7540        * WebView/WebView.mm:
7541        (-[WebView isGrammarCheckingEnabled]): Ditto.
7542
75432007-01-31  Mark Rowe  <mrowe@apple.com>
7544
7545        Build fix.
7546
7547        * WebView/WebView.mm:
7548        (-[WebView initWithFrame:frameName:groupName:]):
7549
75502007-01-31  Mark Rowe  <mrowe@apple.com>
7551
7552        Reviewed by Oliver.
7553
7554        Enable -Wundef in WebKit, and change misuses of #if to #ifdef or #ifndef as appropriate.
7555
7556        * Misc/WebKitLogging.h:
7557        * WebKit.xcodeproj/project.pbxproj:
7558        * WebView/WebFrame.mm:
7559        * WebView/WebFrameInternal.h:
7560        * WebView/WebHTMLView.mm:
7561        (-[WebHTMLView validateUserInterfaceItem:]):
7562        (-[WebHTMLView delete:]):
7563        (-[WebHTMLView showGuessPanel:]):
7564        (-[WebHTMLView copy:]):
7565        (-[WebHTMLView cut:]):
7566        (-[WebHTMLView paste:]):
7567        * WebView/WebHTMLViewInternal.h:
7568        * WebView/WebView.mm:
7569        (-[WebViewPrivate init]):
7570        (-[WebView validateUserInterfaceItem:]):
7571        * WebView/WebViewPrivate.h:
7572
75732007-01-30  Brady Eidson  <beidson@apple.com>
7574
7575        Reviewed by Oliver
7576
7577        This is a corollary to <rdar://problem/4944887> where certain things happened on an alternate thread.
7578        To help catch such behavior in the future, add ASSERT_MAIN_THREAD() to key WebKit API points
7579
7580        * History/WebHistoryItem.mm: Added ASSERT_MAIN_THREAD() to suspected API entry points
7581        (-[WebHistoryItem dealloc]):
7582        (-[WebHistoryItem finalize]):
7583        (-[WebHistoryItem copyWithZone:]):
7584        (-[WebHistoryItem URLString]):
7585        (-[WebHistoryItem originalURLString]):
7586        (-[WebHistoryItem title]):
7587        (-[WebHistoryItem lastVisitedTimeInterval]):
7588        (-[WebHistoryItem isEqual:]):
7589        (-[WebHistoryItem description]):
7590        (-[WebHistoryItem initWithWebCoreHistoryItem:]):
7591        (-[WebHistoryItem initFromDictionaryRepresentation:]):
7592        (-[WebHistoryItem scrollPoint]):
7593        (-[WebHistoryItem dictionaryRepresentation]):
7594        (-[WebHistoryItem target]):
7595        (-[WebHistoryItem visitCount]):
7596        (-[WebHistoryItem children]):
7597        (-[WebHistoryItem URL]):
7598        (-[WebHistoryItem _lastVisitedDate]):
7599        (-[WebHistoryItem targetItem]):
7600
7601        * Misc/WebIconDatabase.mm: Added ASSERT_MAIN_THREAD() to suspected API entry points
7602        (-[WebIconDatabase iconForURL:withSize:cache:]):
7603        (-[WebIconDatabase iconURLForURL:]):
7604        (-[WebIconDatabase defaultIconWithSize:]):
7605        (-[WebIconDatabase retainIconForURL:]):
7606        (-[WebIconDatabase releaseIconForURL:]):
7607        (-[WebIconDatabase removeAllIcons]):
7608        (-[WebIconDatabase _iconForFileURL:withSize:]):
7609        (webGetNSImage):
7610
7611        * Misc/WebKitLogging.h: Added ASSERT_MAIN_THREAD()
7612        * Misc/WebKitLogging.m:
7613        (WebKitRunningOnMainThread): Added
7614
7615        * WebKit.xcodeproj/project.pbxproj: Define DISABLE_THREAD_CHECK until it is
7616          safe to run with ASSERT_MAIN_THREAD() active
7617
76182007-01-30  Timothy Hatcher  <timothy@apple.com>
7619
7620        Reviewed by Darin.
7621
7622        <rdar://problem/4961953> Stop using NSString deprecated methods like initWithCString:
7623
7624        * Misc/WebNSImageExtras.m:
7625        (-[NSImage _web_saveAndOpen]):
7626        * WebKit.xcodeproj/project.pbxproj:
7627
76282007-01-30  Mitz Pettel  <mitz@webkit.org>
7629
7630        Reviewed by Geoff.
7631
7632        - fix http://bugs.webkit.org/show_bug.cgi?id=12050
7633          REGRESSION: Assertion failure in -[WebBaseNetscapePluginView willCallPlugInFunction] (plugin)
7634
7635        Test: plugins/createScriptableObject-before-start.html
7636
7637        * Plugins/WebBaseNetscapePluginView.mm:
7638        (-[WebBaseNetscapePluginView createPluginScriptableObject]): Return NULL if
7639        the plugin is not started.
7640
76412007-01-30  Maciej Stachowiak  <mjs@apple.com>
7642
7643        Reviewed by Anders.
7644        
7645        <rdar://problem/4964407> REGRESSION: Mail hangs when replying, forwarding , or creating a new message
7646        
7647        * WebView/WebFrame.mm:
7648        (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Set WebDataRequest property on data
7649        load requests since Mail specifically checks for this.
7650
76512007-01-30  Graham Dennis  <graham.dennis@gmail.com>
7652
7653        Reviewed by Maciej.
7654
7655        Part of fix for http://bugs.webkit.org/show_bug.cgi?id=10725
7656        Image data in from RTFD clipboard data thrown away
7657        
7658        The URLs for images in RTFD data must not be loaded until the resources
7659        have been added to the WebUnarchivingState. This can't happen until
7660        after the RTFD data has been parsed, so we must delay loading while this
7661        RTFD data is being parsed to a document fragment.
7662
7663        * WebView/WebHTMLView.mm:
7664        (uniqueURLWithRelativePart):
7665        (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]): defer loading the resources while RTFD data is being parsed.
7666        (+[NSURL _web_uniqueWebDataURL]): Added this back because AppKit uses it.
7667        * WebView/WebUnarchivingState.m:
7668        (-[WebUnarchivingState archivedResourceForURL:]): orkaround for workaround for rdar://problem/4699166 so that other people can use archivedResourceForURL: too.
7669
76702007-01-29  Jim Correia  <jim.correia@pobox.com>
7671
7672        Reviewed by Mark.
7673
7674        Added support for -allowsUndo/-setAllowsUndo: to allow editable WebView
7675        clients to completely disable undo registration. This is functionally
7676        equivalent to the methods with the same names on NSTextView.
7677
7678        * WebView/WebView.mm:
7679        (-[WebViewPrivate init]):
7680        (-[WebView initWithCoder:]):
7681        (-[WebView encodeWithCoder:]):
7682        (-[WebView allowsUndo]):
7683        (-[WebView setAllowsUndo:]):
7684        (-[WebView undoManager]):
7685        * WebView/WebViewPrivate.h:
7686
76872007-01-29  Ada Chan  <adachan@apple.com>
7688
7689        Reviewed by Brady.
7690
7691        Moved the update of the title of the current entry in the backforward list to WebCore.
7692
7693        * WebCoreSupport/WebFrameLoaderClient.mm:
7694        (WebFrameLoaderClient::setTitle):
7695
76962007-01-29  Adele Peterson  <adele@apple.com>
7697
7698        Reviewed by Darin.
7699
7700        More preparation for event handling fixes.
7701
7702        * WebCoreSupport/WebEditorClient.h: Removed EventTargetNode parameter, since you can
7703          just get this from the KeyboardEvent.
7704        * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeyPress): ditto.
7705
7706        * WebView/WebHTMLViewInternal.h: Added interpretKeyEventsParameters struct.
7707        * WebView/WebViewInternal.h: Changed parameter from NSEvent to WebCoreKeyboardEvent in _interceptEditingKeyEvent.
7708        * WebView/WebHTMLView.mm:
7709        (-[WebHTMLView yankAndSelect:]): Updated for new triggeringEvent parameter.
7710        (-[WebHTMLView _interceptEditingKeyEvent:]): Set the WebHTMLViewInterpretKeyEventsParameters.
7711        (-[WebHTMLView doCommandBySelector:]): Access WebHTMLViewInterpretKeyEventsParameters.
7712        (-[WebHTMLView insertText:]): ditto.
7713        (-[WebHTMLView _insertText:selectInsertedText:triggeringEvent:]): Added parameter for triggeringEvent.
7714
77152007-01-29  Oliver Hunt  <oliver@apple.com>
7716
7717        build fix  
7718
7719        * WebView/WebHTMLView.mm:
7720        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
7721
77222007-01-25  Oliver Hunt  <oliver@apple.com>
7723
7724        Reviewed by Adam.
7725
7726        Migrated drag state and logic to WebCore, removed superfluous methods
7727
7728        * ChangeLog:
7729        * WebCoreSupport/WebDragClient.h:
7730        * WebCoreSupport/WebDragClient.mm:
7731        (WebDragClient::dragSourceActionMaskForPoint):
7732        * WebCoreSupport/WebFrameBridge.mm:
7733           allowDHTMLDrag move to WebCore::EventHandler
7734        * WebView/WebHTMLView.mm:
7735        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
7736        (-[WebHTMLView draggedImage:movedTo:]):
7737        (-[WebHTMLView draggedImage:endedAt:operation:]):
7738          dragOffset and dragSourecAction is now stored in WebCore::DragController
7739          migrated _delegateDragSourceActionMask to WebCore::DragController
7740        * WebView/WebHTMLViewInternal.h:
7741          Removed dragOffset declaration, migrated to WebCore::DragController
7742        * WebView/WebView.mm:
7743          removed unnecessary method, _loadingDragOperationForDraggingInfo
7744
77452007-01-29  Maciej Stachowiak  <mjs@apple.com>
7746
7747        Reviewed by Mark.
7748
7749        - updated for cross-platform data loading support
7750        
7751        * WebCoreSupport/WebFrameLoaderClient.h:
7752        * WebCoreSupport/WebFrameLoaderClient.mm:
7753        (WebFrameLoaderClient::createDocumentLoader):
7754        * WebView/WebDataSource.mm:
7755        (-[WebDataSource initWithRequest:]):
7756        * WebView/WebDocumentLoaderMac.h:
7757        * WebView/WebDocumentLoaderMac.mm:
7758        (WebDocumentLoaderMac::WebDocumentLoaderMac):
7759        * WebView/WebFrame.mm:
7760        (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
7761        (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]):
7762        (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]):
7763        (-[WebFrame loadArchive:]):
7764        * WebView/WebFrameInternal.h:
7765        * WebView/WebHTMLView.mm:
7766        (uniqueURLWithRelativePart):
7767        (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
7768
77692007-01-27  David Kilzer  <ddkilzer@webkit.org>
7770
7771        Reviewed by Adam.
7772
7773        - fix http://bugs.webkit.org/show_bug.cgi?id=12260
7774          Windows platform build is not maintained
7775
7776        * COM/ChromeClientWin.cpp:
7777        (ChromeClientWin::canTakeFocus):
7778        (ChromeClientWin::takeFocus):
7779        * COM/ChromeClientWin.h:
7780        * COM/ContextMenuClientWin.cpp:
7781        (ContextMenuClientWin::getCustomMenuFromDefaultItems):
7782        (ContextMenuClientWin::searchWithGoogle):
7783        * COM/ContextMenuClientWin.h:
7784        * COM/WebFrameLoaderClient.cpp:
7785        (WebFrameLoaderClient::assignIdentifierToInitialRequest):
7786        (WebFrameLoaderClient::dispatchWillSendRequest):
7787        (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
7788        (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
7789        (WebFrameLoaderClient::dispatchDidReceiveResponse):
7790        (WebFrameLoaderClient::dispatchDidReceiveContentLength):
7791        (WebFrameLoaderClient::dispatchDidFinishLoading):
7792        (WebFrameLoaderClient::dispatchDidFailLoading):
7793        (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
7794        (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
7795        (WebFrameLoaderClient::dispatchDidFailLoad):
7796        (WebFrameLoaderClient::dispatchCreatePage):
7797        (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
7798        (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
7799        (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
7800        (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
7801        (WebFrameLoaderClient::setMainDocumentError):
7802        (WebFrameLoaderClient::incrementProgress):
7803        (WebFrameLoaderClient::completeProgress):
7804        (WebFrameLoaderClient::startDownload):
7805        (WebFrameLoaderClient::committedLoad):
7806        (WebFrameLoaderClient::cancelledError):
7807        (WebFrameLoaderClient::cannotShowURLError):
7808        (WebFrameLoaderClient::interruptForPolicyChangeError):
7809        (WebFrameLoaderClient::cannotShowMIMETypeError):
7810        (WebFrameLoaderClient::fileDoesNotExistError):
7811        (WebFrameLoaderClient::shouldFallBack):
7812        (WebFrameLoaderClient::willUseArchive):
7813        (WebFrameLoaderClient::createDocumentLoader):
7814        (WebFrameLoaderClient::download):
7815        * COM/WebFrameLoaderClient.h:
7816
78172007-01-27  David Harrison  <harrison@apple.com>
7818
7819        Reviewed by Kevin.
7820
7821        <rdar://problem/4958902> REGRESSION: Dashboard widgets fail to load
7822        
7823        This was caused by the WebView preferences rework in r18417. Specifically, in
7824        _updateWebCoreSettingsFromPreferences when calling setUserStyleSheetLocation,
7825        [NSURL URLWithString:] is now messaged directly with the result of
7826        [[preferences userStyleSheetLocation] _web_originalDataAsString]], which will
7827        be nil if the userStyleSheetLocation has not been set yet. [NSURL URLWithString:]
7828        throws an exception when the string is nil. DashboardClient.app calls
7829        setUserStyleSheetEnabled *before* calling setUserStyleSheetLocation.
7830
7831        * WebView/WebView.mm:
7832        (-[WebView _updateWebCoreSettingsFromPreferences:]):
7833        Pass empty string instead of nil string to [NSURL URLWithString:].
7834
78352007-01-26  Darin Adler  <darin@apple.com>
7836
7837        Reviewed by Timothy.
7838
7839        Fixes crash drawing avatar on mail.yahoo.com.
7840
7841        * Plugins/WebBaseNetscapePluginStream.m: Retain the object since destroyStreamWithError: might
7842        release the last reference to it.
7843
78442007-01-26  Darin Adler  <darin@apple.com>
7845
7846        Reviewed by Beth.
7847
7848        * WebInspector/webInspector/inspector.js: Updated for new computed style properties.
7849
78502007-01-26  Kevin Decker <kdecker@apple.com>
7851
7852        Reviewed by andersca.
7853
7854        Fixed: <rdar://problem/4946922> WebBaseNetscapePluginView leaks memory
7855        http://bugs.webkit.org/show_bug.cgi?id=11523
7856
7857        * Plugins/WebBaseNetscapePluginStream.m:
7858       (-[WebBaseNetscapePluginStream setPlugin:]): Calls -[WebBaseNetscapePluginView disconnectStream:]
7859        * Plugins/WebBaseNetscapePluginView.h: Added disconnectStream: to header.
7860        * Plugins/WebBaseNetscapePluginView.mm:
7861        (-[WebBaseNetscapePluginView stop]): Make a copy of the streams collection prior to calling stop all streams.
7862        This is necessary because calling stop has the side effect of removing the stream from this same collection.
7863        (-[WebBaseNetscapePluginView disconnectStream:]): Added. Removes the stream from the streams collection.
7864
78652007-01-25  Kevin Decker <kdecker@apple.com>
7866
7867        Backed out my last patch because it crashes espn.com. Stay tuned for a newer version..
7868
7869        * Plugins/WebBaseNetscapePluginStream.m:
7870        (-[WebBaseNetscapePluginStream setPlugin:]): Removed call to streamIsDead.
7871        * Plugins/WebBaseNetscapePluginView.h: Removed streamIsDead.
7872        * Plugins/WebBaseNetscapePluginView.mm: Ditto.
7873
78742007-01-25  Darin Adler  <darin@apple.com>
7875
7876        Reviewed by Beth.
7877
7878        - fix <rdar://problem/4952766> Safari has a top secret color picker that can be used to... uhh... I don't know
7879
7880        * Panels/English.lproj/WebAuthenticationPanel.nib/info.nib: Let Interface Builder have its way.
7881        * Panels/English.lproj/WebAuthenticationPanel.nib/objects.nib: Remove the NSColorWell that was
7882        in here (for no good reason).
7883
78842007-01-25  Kevin Decker  <kdecker@apple.com>
7885
7886        Reviewed by andersca.
7887
7888        A few tweaks with of a fix done by Steve Gehrman.
7889
7890        Fixed: <rdar://problem/4946922> WebBaseNetscapePluginView leaks memory
7891               http://bugs.webkit.org/show_bug.cgi?id=11523
7892
7893        * Plugins/WebBaseNetscapePluginStream.m:
7894        (-[WebBaseNetscapePluginStream setPlugin:]): Calls -[WebBaseNetscapePluginView streamIsDead:]
7895        * Plugins/WebBaseNetscapePluginView.h: Added streamIsDead to header.
7896        * Plugins/WebBaseNetscapePluginView.mm:
7897        (-[WebBaseNetscapePluginView streamIsDead:]): Added. Removes the stream from the streams collection.
7898
78992007-01-25  John Sullivan  <sullivan@apple.com>
7900
7901        Reviewed by Kevin, Geoff, Brady, and Darin
7902        
7903        - fixed <rdar://problem/4918446> Safari's temp files (PDF's) should be in a sub-folder when calling Preview
7904        
7905        * WebView/WebPDFView.mm:
7906        (-[WebPDFView _path]):
7907        use _temporaryPDFDirectoryPath method instead of #defines for hardwiring strings; stop bad practice
7908        of modifying the const char* returned by fileSystemRepresentation
7909        (-[WebPDFView _temporaryPDFDirectoryPath]):
7910        new method, lazily creates and returns a secure temporary directory created with NSTemporaryDirectory()
7911        and mkdtemp
7912
7913        * English.lproj/StringsNotToBeLocalized.txt:
7914        Updated for these and other recent changes
7915
79162007-01-24  Oliver Hunt  <oliver@apple.com>
7917
7918        Build fix 
7919
7920        * WebView/WebHTMLView.mm:
7921        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
7922        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
7923
79242007-01-24  Oliver Hunt  <ioliver@apple.com>
7925
7926        Reviewed by Maciej.
7927
7928        Migrating more drag state information to WebCore
7929
7930        * WebKit.xcodeproj/project.pbxproj:
7931        * WebView/WebHTMLView.mm:
7932        (-[WebHTMLViewPrivate dealloc]):
7933        (-[WebHTMLViewPrivate clear]):
7934        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
7935        (-[WebHTMLView _mayStartDragAtEventLocation:]):
7936        (-[WebHTMLView close]):
7937        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
7938        (-[WebHTMLView _delegateDragSourceActionMask]):
7939        * WebView/WebHTMLViewInternal.h:
7940
79412007-01-24  Adele Peterson  <adele@apple.com>
7942
7943        Reviewed by Darin.
7944
7945        Small improvement to my last checkin to prevent the keyEventWasInterpreted bool from
7946        being overwritten by reentrancy.
7947
7948        * WebView/WebHTMLView.mm:
7949        (-[WebHTMLView _interceptEditingKeyEvent:]): Point keyEventWasInterpreted pointer to local variable.
7950        (-[WebHTMLView doCommandBySelector:]):
7951        (-[WebHTMLView insertText:]):
7952        * WebView/WebHTMLViewInternal.h: Added BOOL pointer that will point to the local variable on the stack in _interceptEditingKeyEvent
7953
79542007-01-24  Adele Peterson  <adele@apple.com>
7955
7956        Reviewed by Darin.
7957
7958        - Fix for <rdar://problem/4950527> REGRESSION: Can't use arrow keys (left/right) to navigate caret in input (type=text) or textarea fields
7959
7960        Keep track of whether interpretKeyEvents handles the key event based on whether or not we get
7961        called in insertText or doCommandBySelector.
7962
7963        Test: fast/events/arrow-navigation.html
7964
7965        * WebView/WebHTMLView.mm:
7966        (-[WebHTMLView performKeyEquivalent:]):
7967        (-[WebHTMLView _interceptEditingKeyEvent:]):
7968        (-[WebHTMLView doCommandBySelector:]):
7969        (-[WebHTMLView insertText:]):
7970        * WebView/WebHTMLViewInternal.h:
7971
79722007-01-25  Mark Rowe  <mrowe@apple.com>
7973
7974        Reviewed by Maciej.
7975
7976        * Info.plist: Update copyright string.
7977
79782007-01-24  Darin Adler  <darin@apple.com>
7979
7980        Reviewed by Mark Rowe.
7981
7982        * WebKit.xcodeproj/project.pbxproj: Changed to /usr/sbin/sysctl
7983        so we don't rely on people's paths.
7984
79852007-01-24  Darin Adler  <darin@apple.com>
7986
7987        Reviewed by Adele.
7988
7989        - fix small regression and GC problems noticed by code inspection
7990
7991        * WebView/WebHTMLView.mm: Move global declarations to the start of the file.
7992        (+[WebHTMLView _excludedElementsForAttributedStringConversion]):
7993        Add a CFRetain here for GC compatibility.
7994        (+[WebHTMLView _insertablePasteboardTypes]): Ditto.
7995        (-[WebHTMLView performKeyEquivalent:]): Fix small logic mistake that prevents
7996        super from being called if EventHandler::keyEvent returns false. Reformatted
7997        the code a bit and added a local variable for the frame.
7998        (-[WebHTMLView _interceptEditingKeyEvent:]): Added some comments.
7999        (-[WebHTMLView validAttributesForMarkedText]): Add a CFRetain here for
8000        GC compatibility.
8001
80022007-01-23  Adele Peterson  <adele@apple.com>
8003
8004        Reviewed by Adam.
8005
8006        Fixed 2 layout tests that I broke with my last checkin.
8007
8008        * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeyPress): Use the selected frame to get the WebHTMLView.
8009        * WebView/WebHTMLView.mm:
8010        (-[WebHTMLView performKeyEquivalent:]): Added global to keep track of NSEvent used here.
8011        (-[WebHTMLView _interceptEditingKeyEvent:]): Check NSEvent against the event used in performKeyEquivalent.
8012          We don't want to intercept these events.
8013
80142007-01-23  Adele Peterson  <adele@apple.com>
8015
8016        Reviewed by Darin.
8017
8018        WebKit part of fix for <rdar://problem/4946753>REGRESSION: Inserting tabs is broken in Mail
8019        
8020        In addition to this fix, I also reorganized some event handling code for keyPress events to
8021        prepare for another fix.
8022
8023        * WebCoreSupport/WebEditorClient.h: Added handleKeyPress method.
8024        * WebCoreSupport/WebEditorClient.mm:
8025        (WebEditorClient::handleKeyPress): Added.  Code moved from WebHTMLView keyDown method.
8026         This is called from the defaultEventHandler so that in the future, we can make the right 
8027         decision about which selection the keyPress should apply to.
8028        * WebView/WebHTMLView.mm:
8029        (-[WebHTMLView keyDown:]): Moved _interceptEditingKeyEvent call to handleKeyPress.
8030        (-[WebHTMLView _interceptEditingKeyEvent:]): Prevents intercepting keys for cmd-modified events. Removed tabCycling checks
8031         since this is now handled in WebCore.
8032        * WebView/WebHTMLViewInternal.h: Made _interceptEditingKeyEvent SPI.
8033        * WebView/WebView.mm: Use new tabKeyCyclesThroughElements methods on the page.
8034        (-[WebViewPrivate init]): ditto.
8035        (-[WebView setTabKeyCyclesThroughElements:]): ditto.
8036        (-[WebView tabKeyCyclesThroughElements]): ditto.
8037        (-[WebView setEditable:]): ditto
8038
80392007-01-23  Lars Knoll <lars@trolltech.com>
8040
8041        Reviewed by Maciej
8042
8043        Make the last remaining pieces of the FrameLoader platform 
8044        independent. Move most of the code over to WebFrameLoaderClient.
8045        Some smaller cleanups in the WebFrameBridge, and moved some
8046        platform independent functionality over to the shared code
8047        in WebCore.
8048
8049        * Webcoresupport/WebFrameBridge.mm:
8050        (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]):
8051        (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
8052        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
8053        * WebCoreSupport/WebFrameLoaderClient.h:
8054        * WebCoreSupport/WebFrameLoaderClient.mm:
8055        (WebFrameLoaderClient::setTitle):
8056        (WebFrameLoaderClient::createFrame):
8057        (WebFrameLoaderClient::objectContentType):
8058        (nsArray):
8059        (WebFrameLoaderClient::createPlugin):
8060        (WebFrameLoaderClient::redirectDataToPlugin):
8061        (nsMutableArray):
8062        (WebFrameLoaderClient::createJavaAppletWidget):
8063        (WebFrameLoaderClient::overrideMediaType):
8064        (WebFrameLoaderClient::windowObjectCleared):
8065
80662007-01-23  Oliver Hunt  <oliver@apple.com>
8067
8068        Reviewed by Adam.
8069
8070        Drop logic bindings for WebKit
8071
8072        * WebCoreSupport/WebDragClient.h: Added.
8073        * WebCoreSupport/WebDragClient.mm: Added.
8074        (WebDragClient::WebDragClient):
8075        (WebDragClient::actionMaskForDrag):
8076        (WebDragClient::willPerformDragDestinationAction):
8077          Standard client impl
8078        * WebCoreSupport/WebFrameBridge.mm:
8079        (-[WebFrameBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
8080          Updated to use DragController to track drag state
8081    
8082        * WebCoreSupport/WebPasteboardHelper.h: Added.
8083        (WebPasteboardHelper::WebPasteboardHelper):
8084          A *temporary* Helper class to access NSPasteboard access and 
8085          manipulation functions present in WebKit
8086        * WebCoreSupport/WebPasteboardHelper.mm: Added.
8087        (WebPasteboardHelper::urlFromPasteboard):
8088        (WebPasteboardHelper::plainTextFromPasteboard):
8089        (WebPasteboardHelper::fragmentFromPasteboard):
8090        (WebPasteboardHelper::insertablePasteboardTypes):
8091          See header comment
8092        * WebKit.xcodeproj/project.pbxproj:
8093        * WebView/WebDocumentInternal.h:
8094          Remove unnecessary protocol
8095        * WebView/WebFrameView.mm:
8096        (-[WebFrameView _setDocumentView:]):
8097          Updating to use DragController to track drag state
8098        * WebView/WebHTMLView.mm:
8099        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
8100          ditto
8101        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
8102          ditto
8103        (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
8104          ditto
8105        (-[WebHTMLView draggedImage:endedAt:operation:]):
8106          ditto          
8107        (-[WebHTMLView _documentFragmentForPasteboard:]):
8108          Helper method to generate DocumentFragment from NSPasteboard without regressing 
8109        (-[WebHTMLView _canProcessDragWithDraggingInfo:]):
8110          Updating to use DragController to track drag state
8111        (-[WebHTMLView _isMoveDrag:]):
8112        (-[WebHTMLView _isNSColorDrag:]):
8113        * WebView/WebHTMLViewInternal.h:
8114          Removing unnecessary fields and methods
8115        * WebView/WebView.mm:
8116        (-[WebViewPrivate dealloc]):
8117          Remove obsolete ASSERT
8118        (-[WebView _setInitiatedDrag:]):
8119          Now passes directly through to DragController
8120        (-[WebView _commonInitializationWithFrameName:groupName:]):
8121        (-[WebView _loadingDragOperationForDraggingInfo:]):
8122          Removed
8123        (-[WebView draggingEntered:]):
8124          Updated to use DragController
8125        (-[WebView draggingUpdated:]):
8126          ditto
8127        (-[WebView draggingExited:]):
8128          ditto
8129        (-[WebView performDragOperation:]):
8130          ditto
8131        (-[WebView _hitTest:dragTypes:]):
8132        * WebView/WebViewInternal.h:
8133          remove unnecessary method def
8134
81352007-01-22  John Sullivan  <sullivan@apple.com>
8136
8137        * WebView/WebHTMLView.mm:
8138        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
8139        Tiger build fix: remove unused variable for return value of dictionaryServiceWindowShow
8140
81412007-01-22  John Sullivan  <sullivan@apple.com>
8142
8143        Reviewed by Adam and Darin
8144
8145        - fixed <rdar://problem/4794320> "Look Up in Dictionary" does nothing in WebKit 
8146        (need to adopt new API)
8147
8148        * Misc/WebNSURLExtras.m:
8149        (-[NSString _web_isUserVisibleURL]):
8150        random typo correction in comment
8151
8152        * English.lproj/StringsNotToBeLocalized.txt:
8153        updated for these changes
8154
8155        * WebView/WebHTMLView.mm:
8156        (coreGraphicsScreenPointForAppKitScreenPoint):
8157        new function to convert an AppKit screen point to a CG screen point
8158        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
8159        on Leopard now uses new API. There's something of an impedance mismatch between
8160        this API and WebKit, but that was true for the SPI we were using in Tiger also.
8161        Bug 4945808 covers the ways in which this is not perfect.
8162
81632007-01-21  Darin Adler  <darin@apple.com>
8164
8165        Reviewed by Tim H.
8166
8167        * WebInspector/webInspector/inspector.css: Use row-resize for the splitter cursor
8168        instead of move. It's a horizontal splitter resizer.
8169
81702007-01-19  Adam Roben  <aroben@apple.com>
8171
8172        Reviewed by Beth.
8173
8174        Fix <rdar://problem/4942294> REGRESSION: "Spelling and Grammar",
8175        "Font", "Speech", and "Writing Direction" are missing from contextual
8176        menu
8177
8178        * WebCoreSupport/WebContextMenuClient.mm:
8179        (fixMenusForOldClients): Change our new SPI tags to
8180        WebMenuItemTagOther because old clients aren't expecting the new tags.
8181        (fixMenusFromOldClients): Use each menu item's title to figure out its
8182        correct tag again.
8183        (WebContextMenuClient::getCustomMenuFromDefaultItems): Call
8184        fixMenusForOldClients before calling up to the delegate.
8185        * WebView/WebUIDelegatePrivate.h: Define WEBMENUITEMTAG_SPI_START so
8186        that we can use it in WebContextMenuClient.
8187
81882007-01-19  John Sullivan  <sullivan@apple.com>
8189
8190        Reviewed by Darin
8191
8192        - WebKit part of fix for: <rdar://problem/4451715> REGRESSION: On some sites, have to 
8193          type a character before username/password autofill kicks in
8194          
8195        Added new webView:didFinishDocumentLoadForFrame: SPI and wired it up
8196
8197        * WebView/WebViewPrivate.h:
8198        declare new delegate method
8199
8200        * WebCoreSupport/WebFrameLoaderClient.h:
8201        declare dispatchDidFinishDocumentLoad()
8202
8203        * WebCoreSupport/WebFrameLoaderClient.mm:
8204        (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
8205        new method, calls new delegate method
8206
8207        * DefaultDelegates/WebDefaultFrameLoadDelegate.m:
8208        (-[WebDefaultFrameLoadDelegate webView:didFinishDocumentLoadForFrame:]):
8209        empty default implementation of new delegate method
8210
82112007-01-19  Anders Carlsson  <acarlsson@apple.com>
8212
8213        Reviewed by John Sullivan.
8214
8215        http://bugs.webkit.org/show_bug.cgi?id=12308
8216        REGRESSION(r18910): Crash in WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError
8217        
8218        * Plugins/WebBaseNetscapePluginView.mm:
8219        (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
8220        Move code from initWithFrame in here.
8221
82222007-01-19  Anders Carlsson  <acarlsson@apple.com>
8223
8224        Yet another build fix.
8225        
8226        * WebCoreSupport/WebChromeClient.h:
8227        * WebCoreSupport/WebChromeClient.mm:
8228        (WebChromeClient::setStatusbarText):
8229
82302007-01-18  Anders Carlsson  <acarlsson@apple.com>
8231
8232        Reviewed by Adam.
8233
8234        Move functions from the bridge to the chrome client.
8235        
8236        * WebCoreSupport/WebChromeClient.h:
8237        * WebCoreSupport/WebChromeClient.mm:
8238        (WebChromeClient::runJavaScriptAlert):
8239        (WebChromeClient::runJavaScriptConfirm):
8240        (WebChromeClient::runJavaScriptPrompt):
8241        (WebChromeClient::setStatusBarText):
8242        * WebCoreSupport/WebFrameBridge.mm:
8243
82442007-01-18  Adam Roben  <aroben@apple.com>
8245
8246        Reviewed by Beth.
8247
8248        Fix <rdar://problem/4939672> REGRESSION: With text selected that is
8249        not a link, the "Remove Link" contextual menu item remains active
8250
8251        * WebView/WebHTMLView.mm:
8252        (-[WebHTMLView menuForEvent:]): Leave autoenabling of menu items on so
8253        that clients can implement validateMenuItem:.
8254
82552007-01-18  Brady Eidson  <beidson@apple.com>
8256
8257        Reviewed by Adele
8258
8259        <rdar://problem/4917290> - 
8260        Null deref in WebFrameLoaderClient::restoreScrollPositionAndViewState() 
8261        after regaining network connection
8262
8263        * WebCoreSupport/WebFrameLoaderClient.mm:
8264        (WebFrameLoaderClient::restoreScrollPositionAndViewState): Bail early with a null currentItem, preventing 
8265        a crash in release builds.  Leave the ASSERT to help find other cases where this might happen in debug builds.
8266
82672007-01-18  Kevin Decker  <kdecker@apple.com>
8268
8269        Reviewed by John.
8270
8271        <rdar://problem/4939511> WebKit should set the CG clip path for plug-ins that draw using CoreGraphics
8272
8273        * Plugins/WebBaseNetscapePluginView.mm:
8274        (-[WebBaseNetscapePluginView drawRect:]):  Set the CG clip path to the plug-in dirty rect. This allows plug-ins to obtain their
8275        dirty rect using functions like CGContextGetClipBoundingBox().
8276
82772007-01-17  Alice Liu  <alice.liu@apple.com>
8278
8279        Reviewed by Harrison.
8280
8281        Fix for <rdar://problem/4894155> REGRESSION: Extra line break is pasted with content into message body after choosing File - Paste
8282
8283        Migration of some editing code from WebHTMView to WebCore::Editor
8284        resulted in not calling pasteboardTypesForSelection, which Mail was
8285        overriding for the special purpose of adding a type to the
8286        pasteboard after WebKit did.  This patch adds 2 separate code paths
8287        for Tiger and Leopard.  On Tiger we give in and call the WebView's
8288        pasteboardTypesForSelection.  On Leopard we call a delegate after
8289        the pasteboard types are set. 
8290
8291        * DefaultDelegates/WebDefaultEditingDelegate.m:
8292        (-[WebDefaultEditingDelegate webView:didSetSelectionTypesForPasteboard:]):
8293        * WebCoreSupport/WebEditorClient.h:
8294        * WebCoreSupport/WebEditorClient.mm:
8295        (WebEditorClient::didSetSelectionTypesForPasteboard):
8296        (WebEditorClient::pasteboardTypesForSelection):
8297        * WebView/WebEditingDelegate.h:
8298
82992007-01-17  John Sullivan  <sullivan@apple.com>
8300
8301        Reviewed by Darin
8302
8303        - WebKit part of fix for <rdar://problem/4462420> REGRESSION: Mail hangs during 
8304          Replace All if the replacement string contains the search string
8305
8306        * Misc/WebKitVersionChecks.h:
8307        Added extern "C" so this can be used from .mm files. I don't need this change anymore for
8308        this fix, but it's still worth fixing now so it doesn't bite anyone later.
8309
8310        * WebView/WebDocumentPrivate.h:
8311        Invented new private protocol WebDocumentIncrementalSearching, that has one method. The one
8312        method is just like the one WebDocumentSearching method, but with an additional parameter.
8313        We hope to eliminate this dependence on protocols someday, but adding another one as SPI
8314        seems like it won't make anything worse.
8315        
8316        * WebView/WebHTMLView.mm:
8317        (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
8318        now calls through to new method that has one additional parameter, passing NO to match old behavior
8319        (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
8320        pass new parameter to bridge
8321        
8322        * WebView/WebPDFView.h:
8323        Declare conformance to WebDocumentIncrementalSearching protocol
8324        
8325        * WebView/WebPDFView.mm:
8326        (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
8327        now calls through to new method that has one additional parameter, passing NO to match old behavior
8328        (-[WebPDFView searchFor:direction:caseSensitive:wrap:startInSelection:]):
8329        new method, former guts of searchFor:direction:caseSensitive:wrap: but now handles startInSelection
8330        parameter
8331        
8332        * WebView/WebViewPrivate.h:
8333        Declare new searchFor:direction:caseSensitive:wrap:startInSelection: method, just like existing
8334        method but with one additional parameter
8335
8336        * WebView/WebView.mm:
8337        (-[WebView searchFor:direction:caseSensitive:wrap:]):
8338        now calls through to new method that has one additional parameter, passing NO to match old behavior
8339        (-[WebView searchFor:direction:caseSensitive:wrap:startInSelection:]):
8340        new method, former guts of searchFor:direction:caseSensitive:wrap: but now handles startInSelection
8341        parameter
8342        
83432007-01-17  Brady Eidson  <beidson@apple.com>
8344
8345        Reviewed by Deth Bakin and Brian Dash
8346
8347        Drop Panther Support (?!?) and change the comment explaining some SPI forward decls
8348
8349        * Misc/WebDownload.m:
8350
83512007-01-17  Darin Adler  <darin@apple.com>
8352
8353        Reviewed by Maciej.
8354
8355        - fix http://bugs.webkit.org/show_bug.cgi?id=12278
8356          <rdar://problem/4928705> REGRESSION(r13070): Dragged image size includes padding (12278)
8357
8358        * Misc/WebElementDictionary.mm: (-[WebElementDictionary _imageRect]):
8359        Call HitTestResult::imageRect, not HitTestResult::boundingBox.
8360
83612007-01-17  Anders Carlsson  <acarlsson@apple.com>
8362
8363        Reviewed by John Sullivan.
8364        
8365        Move all code in WebNetscapePluginEmbeddedView down to WebBaseNetscapePluginView.
8366        
8367        * Plugins/WebBaseNetscapePluginView.h:
8368        * Plugins/WebBaseNetscapePluginView.mm:
8369        (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
8370        (-[WebBaseNetscapePluginView didStart]):
8371        (-[WebBaseNetscapePluginView dataSource]):
8372        (-[WebBaseNetscapePluginView dealloc]):
8373        (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
8374        (-[WebBaseNetscapePluginView pluginView:receivedData:]):
8375        (-[WebBaseNetscapePluginView pluginView:receivedError:]):
8376        (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]):
8377        (-[WebBaseNetscapePluginView _redeliverStream]):
8378        * Plugins/WebNetscapePluginEmbeddedView.h:
8379        * Plugins/WebNetscapePluginEmbeddedView.mm:
8380
83812007-01-17  Maciej Stachowiak  <mjs@apple.com>
8382
8383        Reviewed by Eric.
8384        
8385        <rdar://problem/4887781> Seed: Repro Safari crash in -[WebHTMLRepresentation receivedData:withDataSource:] (music.aol.com)
8386
8387        * WebView/WebDataSource.mm:
8388        (-[WebDataSource _receivedData:]): Protect self against destruction partway through this method.
8389
83902007-01-16  Alice Liu  <alice.liu@apple.com>
8391
8392        Reviewed by harrison.
8393
8394        Fixed <rdar://problem/4921134> WebKit needs extensible cut/copy to allow additional types to be written to pasteboard
8395
8396        * DefaultDelegates/WebDefaultEditingDelegate.m:
8397        (-[WebDefaultEditingDelegate webView:didWriteSelectionToPasteboard:]):
8398        * WebCoreSupport/WebEditorClient.h:
8399        * WebCoreSupport/WebEditorClient.mm:
8400        (WebEditorClient::didWriteSelectionToPasteboard):
8401        * WebKit.xcodeproj/project.pbxproj:
8402        * WebView/WebEditingDelegate.h:
8403
84042007-01-15  Justin Garcia  <justin.garcia@apple.com>
8405
8406        Reviewed by mjs
8407
8408        <rdar://problem/4810960>
8409        Gmail Editor: window.focus() called on keyDown (9640)
8410
8411        The window's keydown event handler was being called
8412        instead of the editable subframe's if there was a key binding
8413        for the key event.
8414
8415        * WebView/WebHTMLView.mm:
8416        (-[WebHTMLView performKeyEquivalent:]): Don't send the event
8417        to WebCore unless this WebHTMLView is the firstResponder.
8418
84192007-01-15  Anders Carlsson  <acarlsson@apple.com>
8420
8421        Reviewed by Darin.
8422
8423        Update to match WebCore.
8424        
8425        * WebCoreSupport/WebFrameLoaderClient.h:
8426        * WebCoreSupport/WebFrameLoaderClient.mm:
8427        (WebFrameLoaderClient::willChangeEstimatedProgress):
8428        (WebFrameLoaderClient::didChangeEstimatedProgress):
8429        (WebFrameLoaderClient::postProgressStartedNotification):
8430        (WebFrameLoaderClient::postProgressEstimateChangedNotification):
8431        (WebFrameLoaderClient::postProgressFinishedNotification):
8432        Post the correct notifications.
8433        
8434        * WebView/WebView.mm:
8435        (-[WebViewPrivate init]):
8436        (-[WebViewPrivate dealloc]):
8437        Get rid of all progress tracking code.
8438        
8439        (-[WebView estimatedProgress]):
8440        Call ProgressTracker::estimatedProgress()
8441
84422007-01-15  Adam Roben  <aroben@apple.com>
8443
8444        Reviewed by Darin.
8445
8446        Fix: http://bugs.webkit.org/show_bug.cgi?id=12134
8447        REGRESSION: Assertion failure and crash when right clicking selection
8448        in forms
8449
8450        * WebCoreSupport/WebContextMenuClient.mm:
8451        (fixMenusFromOldApps): Static helper to fix up menus from applications
8452        compiled against Tiger WebKit.
8453        (WebContextMenuClient::getCustomMenuFromDefaultItems): Call helper to
8454        fix menus.
8455        * WebView/WebUIDelegatePrivate.h: Fixed typo.
8456
84572007-01-14  David Kilzer  <ddkilzer@kilzer.net>
8458
8459        Reviewed by Darin.
8460
8461        - fix http://bugs.webkit.org/show_bug.cgi?id=12251
8462          REGRESSION (r18822-r18823): Assertion failure opening document with non-existent resources
8463          (dom/xhtml/level2/html/HTMLIFrameElement11.xhtml)
8464
8465        * WebView/WebView.mm:
8466        (-[WebView _objectForIdentifier:]): Removed assertion.
8467        (-[WebView _removeObjectForIdentifier:]): Removed assertion.
8468
84692007-01-12  Anders Carlsson  <acarlsson@apple.com>
8470
8471        Reviewed by Darin.
8472
8473        Add a HashMap between unsigned longs and Objective-C objects and use it for
8474        the resource load delegate.
8475        
8476        * WebCoreSupport/WebFrameLoaderClient.h:
8477        * WebCoreSupport/WebFrameLoaderClient.mm:
8478        (WebFrameLoaderClient::assignIdentifierToInitialRequest):
8479        (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
8480        (WebFrameLoaderClient::dispatchWillSendRequest):
8481        (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
8482        (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
8483        (WebFrameLoaderClient::dispatchDidReceiveResponse):
8484        (WebFrameLoaderClient::dispatchDidReceiveContentLength):
8485        (WebFrameLoaderClient::dispatchDidFinishLoading):
8486        (WebFrameLoaderClient::dispatchDidFailLoading):
8487        (WebFrameLoaderClient::incrementProgress):
8488        (WebFrameLoaderClient::completeProgress):
8489        * WebView/WebView.mm:
8490        (-[WebViewPrivate init]):
8491        (-[WebViewPrivate dealloc]):
8492        (-[WebView _addObject:forIdentifier:]):
8493        (-[WebView _objectForIdentifier:]):
8494        (-[WebView _removeObjectForIdentifier:]):
8495        * WebView/WebViewInternal.h:
8496
84972007-01-11  Brady Eidson  <beidson@apple.com>
8498
8499        Reviewed by Anders
8500
8501        Rewrites HTTP Authentication setting up a more platform-independent structure
8502
8503        * WebCoreSupport/WebFrameLoaderClient.h:
8504        * WebCoreSupport/WebFrameLoaderClient.mm:
8505        (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
8506        (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
8507        * WebKit.xcodeproj/project.pbxproj:
8508
85092007-01-11  Darin Adler  <darin@apple.com>
8510
8511        Reviewed by Mitz.
8512
8513        - fix http://bugs.webkit.org/show_bug.cgi?id=12180
8514          REGRESSION: Double-clicking on JS exception in JS log crashes in -[SharedBufferData initWithSharedBuffer:]
8515
8516        * WebView/WebDataSource.mm: (-[WebDataSource data]): Added null check.
8517
85182007-01-11  Darin Adler  <darin@apple.com>
8519
8520        Reviewed by Hyatt.
8521
8522        - moved code from a couple WebCore bridging classes here instead
8523
8524        * Misc/WebNSPasteboardExtras.mm:
8525        (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
8526        Use MimeTypeRegistry instead of WebMimeTypeRegistryBridge.
8527
8528        * WebView/WebHTMLRepresentation.mm:
8529        (stringArray): Added. Helper to convert a HashSet to an NSArray.
8530        (concatenateArrays): Added. Helper to concatenate two NSArray objects.
8531        (+[WebHTMLRepresentation supportedMIMETypes]): Use MimeTypeRegistry instead of
8532        WebMimeTypeRegistryBridge. Also fix a potential GC problem by using a RetainPtr
8533        instead of a [retain] on a global variable.
8534        (+[WebHTMLRepresentation supportedNonImageMIMETypes]): Ditto.
8535        (+[WebHTMLRepresentation supportedImageMIMETypes]): Ditto.
8536
8537        * WebView/WebHTMLView.mm:
8538        (-[WebHTMLView _imageExistsAtPaths:]): Use MimeTypeRegistry instead of
8539        WebMimeTypeRegistryBridge.
8540        (-[WebHTMLView _documentFragmentWithPaths:]): Ditto.
8541
8542        * WebView/WebView.mm: (+[WebView _decodeData:]): Moved code here from
8543        the old WebCoreEncodings class.
8544
8545        * WebKit.xcodeproj/project.pbxproj: Let Xcode have its way with this file.
8546        Moved WebRenderNode into the appropriate group.
8547
85482007-01-10  Mitz Pettel  <mitz@webkit.org>
8549
8550        Reviewed by Darin.
8551
8552        - fix http://bugs.webkit.org/show_bug.cgi?id=11775
8553          'Show URLs in Tool Tips' preference is ignored
8554
8555        * WebView/WebHTMLView.mm:
8556        (-[WebHTMLView _resetCachedWebPreferences:]):
8557        (-[WebHTMLView setDataSource:]): Added a call to _resetCachedWebPreferences:.
8558        Added an assertion that the view is not closed, instead of reopening it.
8559        Reopening should not occur, now that <http://bugs.webkit.org/show_bug.cgi?id=12087>
8560        is fixed.
8561
85622007-01-10  Beth Dakin  <bdakin@apple.com>
8563
8564        Reviewed by John.
8565
8566        Fix for <rdar://problem/4914258> REGRESSION: Search in Google now 
8567        operates on the current WebView instead of invoking Safari's 
8568        service
8569
8570        * WebCoreSupport/WebContextMenuClient.h:
8571        * WebCoreSupport/WebContextMenuClient.mm:
8572        (WebContextMenuClient::searchWithGoogle): Call into WebView to 
8573        search in Google.
8574        * WebView/WebViewInternal.h: Make _searchWithGoogleFromMenu 
8575        available.
8576
85772007-01-09  Timothy Hatcher  <timothy@apple.com>
8578
8579        Reviewed by Darin.
8580
8581        Rename the now ObjC++ files to be .mm and remove the explicit file types.
8582
8583        * DOM/WebDOMOperations.m: Removed.
8584        * DefaultDelegates/WebDefaultContextMenuDelegate.m: Removed.
8585        * English.lproj/StringsNotToBeLocalized.txt:
8586        * Misc/WebCoreStatistics.m: Removed.
8587        * Misc/WebElementDictionary.m: Removed.
8588        * Misc/WebIconDatabase.m: Removed.
8589        * Misc/WebNSAttributedStringExtras.m: Removed.
8590        * Misc/WebNSPasteboardExtras.m: Removed.
8591        * Plugins/WebNetscapePluginEmbeddedView.m: Removed.
8592        * Plugins/WebNullPluginView.m: Removed.
8593        * Plugins/WebPluginContainerCheck.m: Removed.
8594        * WebCoreSupport/WebViewFactory.m: Removed.
8595        * WebKit.xcodeproj/project.pbxproj:
8596        * WebView/WebArchiver.m: Removed.
8597        * WebView/WebHTMLRepresentation.m: Removed.
8598        * WebView/WebHTMLView.m: Removed.
8599        * WebView/WebRenderNode.m: Removed.
8600        * WebView/WebResource.m: Removed.
8601        * WebView/WebScriptDebugDelegate.m: Removed.
8602
86032007-01-09  Maciej Stachowiak  <mjs@apple.com>
8604
8605        Reviewed by Darin.
8606        
8607        - remove window display throttling code; no longer used
8608
8609        * Misc/WebNSWindowExtras.h:
8610        * Misc/WebNSWindowExtras.m:
8611        * WebView/WebFrameView.mm:
8612        (-[WebFrameView initWithFrame:]):
8613        * WebView/WebPreferenceKeysPrivate.h:
8614
86152007-01-08  Anders Carlsson  <acarlsson@apple.com>
8616
8617        Reviewed by Brady.
8618
8619        Remove bridge functions that are implemented directly in FrameLoader now.
8620        
8621        * WebCoreSupport/WebFrameBridge.mm:
8622
86232007-01-08  Sam Weinig  <sam@webkit.org>
8624
8625        Reviewed by Mark.
8626
8627        Adds default value for outline-color and fixes default
8628        values of the recently fixed *-color properties.
8629
8630        * WebInspector/webInspector/inspector.js:
8631
86322007-01-08  Beth Dakin  <bdakin@apple.com>
8633
8634        Reviewed by Adam.
8635
8636        Fix for http://bugs.webkit.org/show_bug.cgi?id=12161 REGRESSION: 
8637        Crash when control-clicking on an image for contextual menu
8638
8639        * WebView/WebHTMLView.m:
8640        (-[WebHTMLView menuForEvent:]): We need to nil-check coreMenu since 
8641        it will be nil if the DOM popped up a menu instead. I cleaned up 
8642        the function to make all the nil checks early returns instead of 
8643        nesting all of the content. Also moved the autorelease to be with 
8644        the creation of the menu instead of at the return.
8645
86462007-01-08  Sam Weinig  <sam@webkit.org>
8647
8648        Reviewed by Tim H.
8649
8650        Adds default value for -webkit-box-shadow and fixes default
8651        value of -webkit-column-count to be "auto".  Also sorts the
8652        list of defaults.
8653
8654        * WebInspector/webInspector/inspector.js:
8655
86562007-01-08  Andrew Wellington  <proton@wiretapped.net>
8657
8658        Reviewed by Mark.
8659
8660        * WebInspector/webInspector/inspector.js: Hide default values of
8661        -webkit-column styles in WebInspector.
8662
86632007-01-05  Darin Adler  <darin@apple.com>
8664
8665        Reviewed by Hyatt.
8666
8667        * Misc/WebNSAttributedStringExtras.m:
8668        (+[NSAttributedString _web_attributedStringFromRange:]):
8669        Updated to use new list marker text API that is String rather than
8670        DeprecatedString. Also removed code to do text form of non-text list
8671        markers since the list marker class now deals with that.
8672
86732007-01-05  Anders Carlsson  <acarlsson@apple.com>
8674
8675        Reviewed by Darin.
8676
8677        Fix build.
8678        
8679        * WebCoreSupport/WebFrameLoaderClient.h:
8680        * WebCoreSupport/WebFrameLoaderClient.mm:
8681        (WebFrameLoaderClient::dispatchCreatePage):
8682
86832007-01-05  Anders Carlsson  <acarlsson@apple.com>
8684
8685        Reviewed by Maciej.
8686
8687        The data returned is now a SharedBuffer so wrap it in an NSData object.
8688        
8689        * WebView/WebDataSource.mm:
8690        (-[WebDataSource data]):
8691
86922007-01-04  Adam Roben  <aroben@apple.com>
8693
8694        Reviewed by Geoff, cheered by others.
8695
8696        Dead code elimination.
8697
8698        * WebView/WebHTMLView.m:
8699
87002007-01-04  Adam Roben  <aroben@apple.com>
8701
8702        Boo on me for undoing Beth's hard work.
8703
8704        * WebView/WebHTMLView.m:
8705        (-[WebHTMLView menuForEvent:]): Undo a mistaken roll out of r18597.
8706
87072007-01-04  David Kilzer  <ddkilzer@webkit.org>
8708
8709        Reviewed by Brady.
8710
8711        - fix http://bugs.webkit.org/show_bug.cgi?id=12111
8712          Uninitialized variable in -[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]
8713
8714        * DefaultDelegates/WebDefaultPolicyDelegate.m: Initialize isDirectory.
8715
87162007-01-04  Adam Roben  <aroben@apple.com>
8717
8718        Reviewed by Geoff.
8719
8720        Remove WebKit/AppKit from handling tabbing between subframes.
8721
8722        * WebCoreSupport/WebChromeClient.h: Added new ChromeClient methods for
8723        moving focus out of the WebView.
8724        * WebCoreSupport/WebChromeClient.mm: Ditto.
8725        (WebChromeClient::canTakeFocus):
8726        (WebChromeClient::takeFocus):
8727        * WebCoreSupport/WebFrameBridge.mm:
8728        (-[WebFrameBridge webView]): Added null-check of m_frame.
8729        * WebView/WebHTMLView.m: Removed -[WebHTMLView nextValidKeyView].
8730        (-[WebHTMLView _updateActiveState]): Changed to focus the frame if
8731        WebCore believes it to be the focused frame.
8732        (-[WebHTMLView becomeFirstResponder]): Rewrote to call into
8733        FocusController to place focus correctly within the WebView.
8734
87352007-01-04  Anders Carlsson  <acarlsson@apple.com>
8736
8737        Reviewed by Brady.
8738
8739        FrameLoaderClient changed yet again.
8740        
8741        * WebCoreSupport/WebFrameLoaderClient.h:
8742        * WebCoreSupport/WebFrameLoaderClient.mm:
8743        (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
8744        (WebFrameLoaderClient::dispatchWillSendRequest):
8745
87462007-01-04  Anders Carlsson  <acarlsson@apple.com>
8747
8748        Reviewed by Adam.
8749
8750        FrameLoaderClient changed again.
8751        
8752        * WebCoreSupport/WebFrameLoaderClient.h:
8753        * WebCoreSupport/WebFrameLoaderClient.mm:
8754        (WebFrameLoaderClient::download):
8755        (WebFrameLoaderClient::willUseArchive):
8756
87572007-01-04  Beth Dakin  <bdakin@apple.com>
8758
8759        Reviewed by Adam.
8760
8761        No need to hit test twice.
8762
8763        * WebView/WebHTMLView.m:
8764        (-[WebHTMLView menuForEvent:]):
8765
87662007-01-04  Beth Dakin  <bdakin@apple.com>
8767
8768        Reviewed by Adam.
8769
8770        Turn on WebCore context menus. Delete a bunch of WebKit context 
8771        menu code that is no longer needed.
8772
8773        * DefaultDelegates/WebDefaultContextMenuDelegate.m: Removed a lot 
8774        of code from this class. This class only still needs to exist for 
8775        PDF context menus, so we only need to deal with the menu items that 
8776        might possibly be added to a PDF context menu.
8777        (-[WebDefaultUIDelegate 
8778        menuItemWithTag:target:representedObject:]): Same.
8779        (-[WebDefaultUIDelegate 
8780        webView:contextMenuItemsForElement:defaultMenuItems:]): Same.
8781        * WebCoreSupport/WebContextMenuClient.h: Name change and have the 
8782        former getCustomMenuFromDefaultItems function return the 
8783        PlatformMenuDescription since it feels funny to have the client set 
8784        the new platform description.
8785        * WebCoreSupport/WebContextMenuClient.mm: Same.
8786        (WebContextMenuClient::getCustomMenuFromDefaultItems): Same. Also 
8787        move in some code that used to be in _menuForElement.
8788        * WebView/WebHTMLView.m: Deleted a bunch of un-used functions
8789        (-[WebHTMLView menuForEvent:]): Turn on menus, and append the 
8790        Inspect Element item. 
8791        * WebView/WebHTMLViewPrivate.h: Deleted a bunch of un-used 
8792        functions.
8793        * WebView/WebView.mm:
8794        (-[WebView _menuForElement:defaultItems:]): Removed a lot of code 
8795        from _menuForElement that now makes more sense elsewhere. Only PDF 
8796        context menus use this function now. Hopefully we can just get rid 
8797        of it soon, too.
8798
87992007-01-04  Anders Carlsson  <acarlsson@apple.com>
8800
8801        Reviewed by Brady.
8802
8803        Update for WebCore changes.
8804        
8805        * WebCoreSupport/WebFrameLoaderClient.h:
8806        * WebCoreSupport/WebFrameLoaderClient.mm:
8807        (WebFrameLoaderClient::download):
8808        (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
8809        (WebFrameLoaderClient::dispatchWillSendRequest):
8810        (WebFrameLoaderClient::dispatchDidReceiveResponse):
8811        (WebFrameLoaderClient::incrementProgress):
8812
88132007-01-04  Peter Kasting  <pkasting@google.com>
8814
8815        Reviewed by Alexey.
8816
8817        http://bugs.webkit.org/show_bug.cgi?id=11900:
8818        Windows build bustage
8819
8820        * COM/ChromeClientWin.cpp:
8821        (ChromeClientWin::addMessageToConsole):
8822        (ChromeClientWin::runBeforeUnloadConfirmPanel):
8823        * COM/ChromeClientWin.h:
8824        * COM/ContextMenuClientWin.cpp:
8825        (ContextMenuClientWin::contextMenuItemSelected):
8826        * COM/ContextMenuClientWin.h:
8827        * COM/WebFrameLoaderClient.cpp:
8828        (WebFrameLoaderClient::setDocumentViewFromPageCache):
8829        (WebFrameLoaderClient::forceLayout):
8830        (WebFrameLoaderClient::forceLayoutForNonHTML):
8831        (WebFrameLoaderClient::updateGlobalHistoryForStandardLoad):
8832        (WebFrameLoaderClient::updateGlobalHistoryForReload):
8833        (WebFrameLoaderClient::shouldGoToHistoryItem):
8834        (WebFrameLoaderClient::saveScrollPositionAndViewStateToItem):
8835        (WebFrameLoaderClient::restoreScrollPositionAndViewState):
8836        (WebFrameLoaderClient::provisionalLoadStarted):
8837        (WebFrameLoaderClient::saveDocumentViewToPageCache):
8838        (WebFrameLoaderClient::canCachePage):
8839        * COM/WebFrameLoaderClient.h:
8840        * WebKit.vcproj/WebKit.vcproj:
8841
88422007-01-03  John Sullivan  <sullivan@apple.com>
8843
8844        * WebView/WebPDFView.mm:
8845        (-[WebPDFView _openWithFinder:]):
8846        Tiger build fix: use [NSNumber initWithInt:] rather than the new [NSNumber initWithInteger:]
8847
88482007-01-03  John Sullivan  <sullivan@apple.com>
8849
8850        Reviewed by Kevin Decker
8851
8852        - fixed <rdar://problem/4145714> WebKit's PDFView's "Open in Preview" puts the 
8853          PDF in /tmp, both group and world-readable
8854
8855        * WebView/WebPDFView.mm:
8856        (-[WebPDFView _openWithFinder:]):
8857        Make the file only readable by the current user
8858
88592007-01-03  Beth Dakin  <bdakin@apple.com>
8860
8861        Reviewed by John.
8862
8863        Make localized strings for all of the context menu item titles that 
8864        are accessible to WebCore.
8865
8866        * English.lproj/Localizable.strings:
8867        * WebCoreSupport/WebViewFactory.m:
8868        (-[WebViewFactory contextMenuItemTagOpenLinkInNewWindow]):
8869        (-[WebViewFactory contextMenuItemTagDownloadLinkToDisk]):
8870        (-[WebViewFactory contextMenuItemTagCopyLinkToClipboard]):
8871        (-[WebViewFactory contextMenuItemTagOpenImageInNewWindow]):
8872        (-[WebViewFactory contextMenuItemTagDownloadImageToDisk]):
8873        (-[WebViewFactory contextMenuItemTagCopyImageToClipboard]):
8874        (-[WebViewFactory contextMenuItemTagOpenFrameInNewWindow]):
8875        (-[WebViewFactory contextMenuItemTagCopy]):
8876        (-[WebViewFactory contextMenuItemTagGoBack]):
8877        (-[WebViewFactory contextMenuItemTagGoForward]):
8878        (-[WebViewFactory contextMenuItemTagStop]):
8879        (-[WebViewFactory contextMenuItemTagReload]):
8880        (-[WebViewFactory contextMenuItemTagCut]):
8881        (-[WebViewFactory contextMenuItemTagPaste]):
8882        (-[WebViewFactory contextMenuItemTagNoGuessesFound]):
8883        (-[WebViewFactory contextMenuItemTagIgnoreSpelling]):
8884        (-[WebViewFactory contextMenuItemTagLearnSpelling]):
8885        (-[WebViewFactory contextMenuItemTagSearchInSpotlight]):
8886        (-[WebViewFactory contextMenuItemTagSearchWeb]):
8887        (-[WebViewFactory contextMenuItemTagLookUpInDictionary]):
8888        (-[WebViewFactory contextMenuItemTagOpenLink]):
8889        (-[WebViewFactory contextMenuItemTagIgnoreGrammar]):
8890        (-[WebViewFactory contextMenuItemTagSpellingMenu]):
8891        (-[WebViewFactory contextMenuItemTagShowSpellingPanel:]):
8892        (-[WebViewFactory contextMenuItemTagCheckSpelling]):
8893        (-[WebViewFactory contextMenuItemTagCheckSpellingWhileTyping]):
8894        (-[WebViewFactory contextMenuItemTagCheckGrammarWithSpelling]):
8895        (-[WebViewFactory contextMenuItemTagFontMenu]):
8896        (-[WebViewFactory contextMenuItemTagShowFonts]):
8897        (-[WebViewFactory contextMenuItemTagBold]):
8898        (-[WebViewFactory contextMenuItemTagItalic]):
8899        (-[WebViewFactory contextMenuItemTagUnderline]):
8900        (-[WebViewFactory contextMenuItemTagOutline]):
8901        (-[WebViewFactory contextMenuItemTagStyles]):
8902        (-[WebViewFactory contextMenuItemTagShowColors]):
8903        (-[WebViewFactory contextMenuItemTagSpeechMenu]):
8904        (-[WebViewFactory contextMenuItemTagStartSpeaking]):
8905        (-[WebViewFactory contextMenuItemTagStopSpeaking]):
8906        (-[WebViewFactory contextMenuItemTagWritingDirectionMenu]):
8907        (-[WebViewFactory contextMenuItemTagDefaultDirection]):
8908        (-[WebViewFactory contextMenuItemTagLeftToRight]):
8909        (-[WebViewFactory contextMenuItemTagRightToLeft]):
8910
89112007-01-03  Brady Eidson  <beidson@apple.com>
8912
8913        Reviewed by John Sullivan
8914
8915        In the Bookmarks View/History View, favicon may be the incorrect size
8916
8917        * History/WebHistoryItem.mm:
8918        (-[WebHistoryItem icon]): Call to the WebIconDatabase until a WebCore issue is resolved
8919
89202007-01-03  Adele Peterson  <adele@apple.com>
8921
8922        Reviewed by Darin.
8923
8924        - Fix for <rdar://problem/4455147> Safari allows division slash character in URLs, which looks like slash character (not fixed by IDNScriptWhiteList.txt)
8925
8926        * Misc/WebNSURLExtras.m: (allCharactersInIDNScriptWhiteList): Always disallow the division slash character.
8927
89282007-01-02  Brady Eidson <beidson@apple.com>
8929
8930        Controversially reviewed by Tim H. and Maciej
8931
8932        Fixes http://bugs.webkit.org/show_bug.cgi?id=12086, http://bugs.webkit.org/show_bug.cgi?id=12088, 
8933        possibly http://bugs.webkit.org/show_bug.cgi?id=12087, and probably a slew of others
8934
8935        WebHistoryItems returned from the WebBackForwardList accessors were being release/retained out-of-order
8936        by the Safari app.  This bug never surfaced before because the WebBackForwardList had a retain on the 
8937        item, preventing deallocation. Since the items are now just temporary wrappers, the list 
8938        is no longer actually retaining them.
8939
8940        This solution is to simulate the ownership with a [[id retain] autorelease] - gross, but maybe the 
8941        only solution for now...  =/
8942
8943        We can possibly consider reverting this fix at a later date - that task is marked by
8944        <rdar://problem/4905705>
8945
8946        * History/WebBackForwardList.mm:
8947        (-[WebBackForwardList backItem]):
8948        (-[WebBackForwardList currentItem]):
8949        (-[WebBackForwardList forwardItem]):
8950        (-[WebBackForwardList itemAtIndex:]):
8951
89522007-01-02  Beth Dakin  <bdakin@apple.com>
8953
8954        Reviewed by Geoff.
8955
8956        Remove un-used function.
8957
8958        * WebCoreSupport/WebContextMenuClient.h:
8959        * WebCoreSupport/WebContextMenuClient.mm:
8960
89612007-01-02  Brady Eidson  <beidson@apple.com>
8962
8963        Reviewed extensively and repeatedly by Darin
8964
8965        <rdar://problem/4887137> - WebCore Back/Forward Cache 
8966        Most things not specifically commented on in the ChangeLog can be summed up as 
8967        "Do things exactly the same way as we used to, but just stick in WebCore-land as much as possible"
8968
8969        * History/WebBackForwardList.mm:
8970        (kitPrivate): Convenience functions to help with subbing "WebBackForwardListPrivate" for WebCore::BackForwardList
8971        (core):
8972        (backForwardListWrappers): A HashMap pattern used to map WebCore objects to their WebKit counterpart
8973        (kit):
8974        (+[WebBackForwardList setDefaultPageCacheSizeIfNecessary]):
8975        (-[WebBackForwardList initWithWebCoreBackForwardList:]):
8976        (-[WebBackForwardList init]):
8977        (-[WebBackForwardList dealloc]):
8978        (-[WebBackForwardList finalize]):
8979        (-[WebBackForwardList _close]):
8980        (-[WebBackForwardList addItem:]):
8981        (-[WebBackForwardList removeItem:]):
8982        (-[WebBackForwardList containsItem:]):
8983        (-[WebBackForwardList goBack]):
8984        (-[WebBackForwardList goForward]):
8985        (-[WebBackForwardList goToItem:]):
8986        (-[WebBackForwardList backItem]):
8987        (-[WebBackForwardList currentItem]):
8988        (-[WebBackForwardList forwardItem]):
8989        (vectorToNSArray):
8990        (-[WebBackForwardList backListWithLimit:]):
8991        (-[WebBackForwardList forwardListWithLimit:]):
8992        (-[WebBackForwardList capacity]):
8993        (-[WebBackForwardList setCapacity:]):
8994        (-[WebBackForwardList description]):
8995        (-[WebBackForwardList _clearPageCache]):
8996        (-[WebBackForwardList setPageCacheSize:]):
8997        (-[WebBackForwardList pageCacheSize]):
8998        (-[WebBackForwardList _usesPageCache]):
8999        (-[WebBackForwardList backListCount]):
9000        (-[WebBackForwardList forwardListCount]):
9001        (-[WebBackForwardList itemAtIndex:]):
9002        * History/WebBackForwardListInternal.h: Added.
9003
9004        * History/WebHistory.m: Removed.
9005        * History/WebHistory.mm: Added - Needed to be .mm to accept C++ header style
9006        (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]):
9007        (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]):
9008
9009        * History/WebHistoryItem.mm:
9010        (kitPrivate): Same pattern as WebBackForwardList
9011        (core):
9012        (historyItemWrappers):
9013        (WKNotifyHistoryItemChanged):
9014        (-[WebHistoryItem init]):
9015        (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
9016        (-[WebHistoryItem dealloc]):
9017        (-[WebHistoryItem finalize]):
9018        (-[WebHistoryItem copyWithZone:]):
9019        (-[WebHistoryItem URLString]):
9020        (-[WebHistoryItem originalURLString]):
9021        (-[WebHistoryItem title]):
9022        (-[WebHistoryItem setAlternateTitle:]):
9023        (-[WebHistoryItem alternateTitle]):
9024        (-[WebHistoryItem icon]):
9025        (-[WebHistoryItem lastVisitedTimeInterval]):
9026        (-[WebHistoryItem hash]):
9027        (-[WebHistoryItem isEqual:]):
9028        (-[WebHistoryItem description]):
9029        (kit):
9030        (+[WebHistoryItem entryWithURL:]):
9031        (+[WebHistoryItem initWindowWatcherIfNecessary]):
9032        (-[WebHistoryItem initWithURL:target:parent:title:]):
9033        (-[WebHistoryItem initWithWebCoreHistoryItem:]):
9034        (-[WebHistoryItem setTitle:]):
9035        (-[WebHistoryItem setVisitCount:]):
9036        (-[WebHistoryItem setViewState:]):
9037        (-[WebHistoryItem _mergeAutoCompleteHints:]):
9038        (-[WebHistoryItem initFromDictionaryRepresentation:]):
9039        (-[WebHistoryItem scrollPoint]):
9040        (-[WebHistoryItem _transientPropertyForKey:]):
9041        (-[WebHistoryItem _setTransientProperty:forKey:]):
9042        (-[WebHistoryItem dictionaryRepresentation]):
9043        (-[WebHistoryItem target]):
9044        (-[WebHistoryItem isTargetItem]):
9045        (-[WebHistoryItem visitCount]):
9046        (-[WebHistoryItem RSSFeedReferrer]):
9047        (-[WebHistoryItem setRSSFeedReferrer:]):
9048        (-[WebHistoryItem children]):
9049        (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
9050        (-[WebHistoryItem URL]):
9051        (-[WebHistoryItem _setLastVisitedTimeInterval:]):
9052        (-[WebHistoryItem _lastVisitedDate]):
9053        (-[WebHistoryItem targetItem]):
9054        (+[WebHistoryItem _releaseAllPendingPageCaches]):
9055        (-[WebWindowWatcher windowWillClose:]):
9056        * History/WebHistoryItemInternal.h:
9057        * History/WebHistoryItemPrivate.h:
9058
9059        * WebCoreSupport/WebFrameBridge.mm:
9060        * WebCoreSupport/WebFrameLoaderClient.h:
9061        * WebCoreSupport/WebFrameLoaderClient.mm:
9062        (WebFrameLoaderClient::setDocumentViewFromPageCache):
9063        (WebFrameLoaderClient::detachedFromParent1):
9064        (WebFrameLoaderClient::loadedFromPageCache):
9065        (WebFrameLoaderClient::updateGlobalHistoryForStandardLoad):
9066        (WebFrameLoaderClient::updateGlobalHistoryForReload):
9067        (WebFrameLoaderClient::shouldGoToHistoryItem):
9068        (WebFrameLoaderClient::frameLoadCompleted):
9069        (WebFrameLoaderClient::saveScrollPositionAndViewStateToItem):
9070        (WebFrameLoaderClient::restoreScrollPositionAndViewState):
9071        (WebFrameLoaderClient::provisionalLoadStarted):
9072        (WebFrameLoaderClient::setTitle):
9073        (WebFrameLoaderClient::saveDocumentViewToPageCache):
9074        (WebFrameLoaderClient::canCachePage):
9075
9076        * WebCoreSupport/WebSystemInterface.m:
9077        (InitWebCoreSystemInterface):
9078
9079        * WebKit.xcodeproj/project.pbxproj:
9080
9081        * WebView/WebDataSource.mm:
9082        * WebView/WebDataSourceInternal.h:
9083
9084        * WebView/WebFrame.mm:
9085        (-[WebFramePrivate dealloc]):
9086        (-[WebFrame _canCachePage]):
9087        (-[WebFrame _loadURL:referrer:intoChild:]):
9088        * WebView/WebFrameInternal.h:
9089
9090        * WebView/WebFrameView.mm:
9091        (-[WebFrameView initWithFrame:]):
9092        (-[WebFrameView keyDown:]):
9093
9094        * WebView/WebHTMLView.m:
9095        (-[WebHTMLView closeIfNotCurrentView]): Added for a dirty hack in WebCore that is marked with a FIXME Radar
9096        * WebView/WebHTMLViewInternal.h:
9097
9098        * WebView/WebView.mm:
9099        (-[WebViewPrivate init]):
9100        (-[WebViewPrivate dealloc]):
9101        (-[WebView _close]):
9102        (-[WebView _loadBackForwardListFromOtherView:]):
9103        (-[WebView _commonInitializationWithFrameName:groupName:]):
9104        (-[WebView initWithCoder:]):
9105        (-[WebView backForwardList]):
9106        (-[WebView goBack]):
9107        (-[WebView goForward]):
9108        (-[WebView goToBackForwardItem:]):
9109        (-[WebView canGoBack]):
9110        (-[WebView canGoForward]):
9111
91122007-01-02  John Sullivan  <sullivan@apple.com>
9113
9114        Reviewed by Kevin Decker
9115
9116        - fixed <rdar://problem/4892525> Cannot open PDF in Preview if you attempted to 
9117          open it in Preview while PDF was loading
9118
9119        * WebView/WebPDFView.mm:
9120        (-[WebPDFView menuForEvent:]):
9121        added comment
9122        (-[WebPDFView validateUserInterfaceItem:]):
9123        disable this menu item when there's no document yet
9124        (-[WebPDFView _openWithFinder:]):
9125        If this is invoked when there is no document yet (e.g. via the PDFKit delegate method), 
9126        just beep and return. I should make a nice error message here, but I'll do that separately.
9127
91282007-01-03  Nikolas Zimmermann  <zimmermann@kde.org>
9129
9130        Reviewed by Timothy.
9131
9132        Fix inspection of RenderSVGInlineText objects (#text nodes in SVG documents).
9133
9134        * WebInspector/WebInspector.m:
9135        (-[WebInspector _highlightNode:]):
9136
91372007-01-02  Beth Dakin  <bdakin@apple.com>
9138
9139        Reviewed by Darin.
9140
9141        Fix bug with WebCore context menu item "Copy Image."
9142
9143        * WebCoreSupport/WebContextMenuClient.mm:
9144        (WebContextMenuClient::copyImageToClipboard): We must call 
9145        declareTypes on the pasteboard.
9146
91472006-12-27  Mitz Pettel  <mitz@webkit.org>
9148
9149        Reviewed by Geoff.
9150
9151        - fix http://bugs.webkit.org/show_bug.cgi?id=9403
9152          Red outline from Web Inspector appears above all other OS X windows
9153
9154        Made the window containing the highlight a child window of the window
9155        containing the view.
9156
9157        * WebInspector/WebNodeHighlight.m:
9158        (-[WebNodeHighlight initWithBounds:andRects:forView:]):
9159        (-[WebNodeHighlight dealloc]):
9160        (-[WebNodeHighlight expire]):
9161
91622006-12-27  Matt Lilek  <pewtermoose@gmail.com>
9163
9164        Reviewed by Tim H.
9165        
9166        Bug 11993: REGRESSION(r18320): Web Inspector scroll bars not drawn
9167        http://bugs.webkit.org/show_bug.cgi?id=11993
9168        
9169        AppleVerticalScrollbar tries to set a NaN value as the scroll height which
9170        causes DOM Exceptions after r18320.  This overrides the _setObjectLength
9171        method and checks for NaN until a system update can fix this.  See rdar://4901491
9172
9173        * WebInspector/webInspector/inspector.html:
9174        * WebInspector/webInspector/inspector.js:
9175
91762006-12-27  Geoffrey Garen  <ggaren@apple.com>
9177
9178        Reviewed by Oliver Hunt.
9179        
9180        Fixed <rdar://problem/4901629> Crash occurs at WebCore::Frame::page() 
9181        after closing window containing flash content
9182        
9183        No testcase because we can't open and close windows in DRT.
9184        
9185        I can't reproduce this crash, but from the backtrace it's clear that it 
9186        occured because of a NULL frame object. Since it's valid for a frame to
9187        be NULL, I've added NULL checks.
9188
9189        * Plugins/WebBaseNetscapePluginView.mm:
9190        (-[WebBaseNetscapePluginView sendEvent:]):
9191        (-[WebBaseNetscapePluginView requestWithURLCString:]):
9192        (-[WebBaseNetscapePluginView getVariable:value:]):
9193
91942006-12-27  Geoffrey Garen  <ggaren@apple.com>
9195
9196        Reviewed by Darin Adler.
9197        
9198        Updated <rdar://problem/4871518> fix based on Darin's comments.
9199
9200        Instead of searching the frame tree to retrieve the new frame, put it in
9201        a RefPtr, and then explicitly check for its removal. This option is slightly
9202        more efficient, and it avoids problems that can occur due to frame name collision.
9203        
9204        * WebCoreSupport/WebFrameBridge.mm:
9205        (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
9206
92072006-12-26  Geoffrey Garen  <ggaren@apple.com>
9208
9209        Reviewed by Eric Seidel.
9210
9211        Fixed <rdar://problem/4740328> Safari crash on quit in _NPN_ReleaseObject 
9212        from KJS::Bindings::CInstance::~CInstance
9213        
9214        The essence of this change is that WebKit shouldn't meddle in plug-in
9215        lifetime, since WebCore already manages it. The rest is details.
9216        
9217        * Plugins/WebBaseNetscapePluginView.mm:
9218        (-[WebBaseNetscapePluginView removeTrackingRect]): Autorelease our window
9219        instead of releasing it, since we might hold the last reference to our window,
9220        and releasing it immediately would crash AppKit.
9221        (-[WebBaseNetscapePluginView resetTrackingRect]):
9222
9223        * Plugins/WebNetscapePluginEmbeddedView.h:
9224        * Plugins/WebNetscapePluginEmbeddedView.m:
9225        (-[WebNetscapePluginEmbeddedView dataSource]): Use our DOMElement to access
9226        our WebFrame, since we don't keep around a direct pointer to our WebFrame
9227        anymore.
9228
9229        * Plugins/WebNullPluginView.h:
9230        * Plugins/WebNullPluginView.m:
9231        (-[WebNullPluginView initWithFrame:error:DOMElement:]):
9232        (-[WebNullPluginView dealloc]):
9233        (-[WebNullPluginView viewDidMoveToWindow]): Use our DOMElement to access
9234        our WebFrame, as above.
9235
9236        * WebCoreSupport/WebFrameBridge.mm: Don't call _addPlugInView because it
9237        doesn't exist anymore. Do pass a DOMElement to WebNullPluginView's initializer,
9238        so it can access its frame like WebNetscapePluginEmbeddedView does.
9239        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
9240        (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
9241
9242        * WebCoreSupport/WebFrameLoaderClient.h:
9243        * WebCoreSupport/WebFrameLoaderClient.mm: Removed didCloseDocument. It had
9244        two purposes -- one unnecessary, one harmful:
9245        (1) NULL out plug-ins' weak references to their frames. Unnecessary. Having 
9246        plug-ins access their frames through their DOM elements solves this problem.
9247        (2) Unload plug-ins. Harmful. If a plug-in unloads before WebCore is done
9248        with it, WebCore will access unmapped memory. Also unnecessary. WebCore
9249        Widgets take care of calling -removeFromSuperview on their NSViews, which
9250        is sufficient for stopping plug-ins.
9251
9252        * WebKit.xcodeproj/project.pbxproj: Made WebNullPluginView.m ObjC++.
9253
9254        * WebView/WebFrame.mm: Removed _addPlugInView, since it was only used to
9255        call -setWebFrame, which is gone.
9256        (-[WebFramePrivate dealloc]):
9257        * WebView/WebFrameInternal.h: Removed plugInViews, since it was only used
9258        by _addPlugInView, which is gone.
9259
92602006-12-26  Geoffrey Garen  <ggaren@apple.com>
9261
9262        Reviewed by Eric Seidel.
9263
9264        Some cleanup in preparation for fixing <rdar://problem/4740328> Safari 
9265        crash on quit in _NPN_ReleaseObject from KJS::Bindings::CInstance::~CInstance
9266        
9267        Renamed "installedPlugins" to "sharedDatabase." This better follows 
9268        the Cocoa naming scheme, and calls out the key attribute that produced this 
9269        crash -- namely, that the database is shared throughout the process.
9270        
9271        -installedPlugins is actually a part of SPI, but a global search showed
9272        that it had no users.
9273
9274        * Plugins/WebPluginDatabase.h:
9275        * Plugins/WebPluginDatabase.m:
9276        (+[WebPluginDatabase sharedDatabase]):
9277        (-[WebPluginDatabase refresh]):
9278        (-[WebPluginDatabase _plugInPaths]):
9279        (-[WebPluginDatabase _removePlugin:]):
9280        * WebCoreSupport/WebViewFactory.m:
9281        (-[WebViewFactory pluginsInfo]):
9282        (-[WebViewFactory refreshPlugins:]):
9283        (-[WebViewFactory pluginSupportsMIMEType:]):
9284        * WebView/WebView.mm:
9285        (+[WebView _supportedMIMETypes]):
9286        (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
9287        (-[WebView _close]):
9288        (-[WebView _pluginForMIMEType:]):
9289        (-[WebView _pluginForExtension:]):
9290        (-[WebView _isMIMETypeRegisteredAsPlugin:]):
9291
92922006-12-25  Geoffrey Garen  <ggaren@apple.com>
9293
9294        Reviewed by Adam Roben.
9295        
9296        Fixed <rdar://problem/4778898> REGRESSION: crash in getInstanceForView() 
9297        when quitting from kcbs.com
9298
9299        No testcase because we can't open and close windows in DRT.
9300
9301        The crash was caused by deallocating plug-ins that were later referenced
9302        in the unload event handler.
9303
9304        * Plugins/WebBaseNetscapePluginView.mm: Don't call stop on ourselves because
9305        we may destroy our plugin before the unload handler fires. Also, we don't
9306        need to, since didCloseDocument will do it for us.
9307
9308        (-[WebBaseNetscapePluginView addWindowObservers]): We don't need to listen
9309        for windowWillClose anymore, since we don't want to call -stop on ourselves.
9310        (-[WebBaseNetscapePluginView removeWindowObservers]): ditto.
9311
9312        * WebCoreSupport/WebFrameLoaderClient.h:
9313        * WebCoreSupport/WebFrameLoaderClient.mm:
9314        (WebFrameLoaderClient::didCloseDocument): Renamed from "willCloseDocument."
9315
93162006-12-25  Geoffrey Garen  <ggaren@apple.com>
9317
9318        More "plugin" => "pluginPackage" renaming that I forgot to check in.
9319        
9320        * Plugins/WebBaseNetscapePluginView.h:
9321        * Plugins/WebBaseNetscapePluginView.mm:
9322        (-[WebBaseNetscapePluginView setPluginPackage:]):
9323        * Plugins/WebNetscapePluginEmbeddedView.h:
9324        * Plugins/WebNetscapePluginEmbeddedView.m:
9325        (-[WebNetscapePluginEmbeddedView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
9326        * WebCoreSupport/WebFrameBridge.mm:
9327        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
9328        (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
9329
93302006-12-25  Geoffrey Garen  <ggaren@apple.com>
9331
9332        Reviewed by Eric Seidel.
9333        
9334        Fixed crash when opening view source window.
9335
9336        * WebView/WebView.mm:
9337        (-[WebView initWithCoder:]): Don't use the WebView until calling
9338        _commonInitialization...
9339
93402006-12-25  Geoffrey Garen  <ggaren@apple.com>
9341
9342        Reviewed by Oliver Hunt.
9343        
9344        Removed WebCoreSettings, cleaned up WebCore::Settings.
9345
9346        * WebView/WebFrame.mm: Added helper functions for converting between
9347        WebKitEditableLinkBehavior and WebCore::EditableLinkBehavior. I'm not sure
9348        that this is the best place for these functions, but it's where all the
9349        other functions like them reside.
9350        (core):
9351        (kit):
9352        * WebView/WebFrameInternal.h:
9353
9354        * WebView/WebView.mm: Removed uses of WebCoreSettings. Replaced with direct
9355        use of underlying page's settings.
9356
93572006-12-25  Geoffrey Garen  <ggaren@apple.com>
9358
9359        Reviewed by Oliver Hunt.
9360        
9361        Some refactoring in preparation for fixing <rdar://problem/4778898> 
9362        REGRESSION: crash in getInstanceForView() when quitting from kcbs.com
9363        
9364        Two renames:
9365            - "plugin" => "pluginPackage" (since the type is WebNetscapePluginPackage *)
9366            - "instance" and/or "pluginPointer" => plugin (since NPP is an opaque handle to a plug-in)
9367        
9368        Removed braces around single-line 'if' statements.
9369        
9370        Made plugin a pointer instead of an inline ivar. This allows us to NULL
9371        it out once we call NPP_Destroy on it.
9372        
9373        Added helper functions for creating and destroying plugin. The destroy function
9374        NULLs out plugin, which helps with debugging.
9375            
9376        (-[WebBaseNetscapePluginView willCallPlugInFunction]): Added an ASSERT
9377        to catch attempts to call functions on destroyed plug-ins.
9378
9379        (-[WebBaseNetscapePluginView _createPlugin]): New helper function.
9380        (-[WebBaseNetscapePluginView _destroyPlugin]): New helper function.
9381
93822006-12-24  David Kilzer  <ddkilzer@webkit.org>
9383
9384        Removed empty directory.
9385
9386        * WebKit/Loader: Removed.
9387
93882006-12-22  Geoffrey Garen  <ggaren@apple.com>
9389
9390        Reviewed by Brady Eidson.
9391        
9392        Fixed <rdar://problem/4871518> Leopard9A321: Crash visiting www.audible.com 
9393        (WebCore::FrameLoader::loadSubframe)
9394
9395        * WebCoreSupport/WebFrameBridge.mm:
9396        (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
9397        - The fix: 
9398            Changed to re-fetch the child frame we're trying to load before returning it,
9399            since its onload handler may have removed it from the document. This
9400            allows us to treat a removed frame like a frame that never loaded.
9401        
9402        - Plus some cleanup:
9403            - Changed to return a WebCore::Frame* instead of a WebFrameBridge *,
9404            to simplify some code.
9405            - Grouped ObjC objects by usage, and moved calls to -release so that they
9406            immediately follow the calls that retain.
9407
94082006-12-21  John Sullivan  <sullivan@apple.com>
9409
9410        Reviewed by Geoff Garen
9411
9412        - improved concept and implementation of my previous checkin after discussing with Darin
9413
9414        * WebView/WebViewPrivate.h:
9415        * WebView/WebView.mm:
9416        (-[WebView setHoverFeedbackSuspended:]):
9417        renamed from setIgnoresMouseMovedEvents, and now tells the main WebHTMLView (if any) that this state has
9418        changed. Telling just the main WebHTMLView is a bit of an implementation hack. Hopefully someday we can
9419        rework the document architecture and make this kind of thing less hacky (but this is following existing
9420        customs, so I don't feel too bad)
9421        (-[WebView isHoverFeedbackSuspended]):
9422        renamed from ignoresMouseMovedEvents
9423
9424        * WebView/WebHTMLViewInternal.h:
9425        declare _hoverFeedbackSuspendedChanged
9426
9427        * WebView/WebHTMLView.m:
9428        (-[WebHTMLView _updateMouseoverWithEvent:]):
9429        test the webView's state of the hit-tested WebHTMLView rather than self 
9430        (-[WebHTMLView _hoverFeedbackSuspendedChanged]):
9431        generate a fake mouse-moved event, which simulates the mouse moving away from
9432        the current element or back over it
9433
94342006-12-21  Darin Adler  <darin@apple.com>
9435
9436        Reviewed by Oliver.
9437
9438        * WebInspector/webInspector/inspector.js: Added default values for the new CSS
9439        properties so they don't appear in the inspector when their values are
9440        uninteresting.
9441
94422006-12-21  John Sullivan  <sullivan@apple.com>
9443
9444        Reviewed by Geoff Garen
9445
9446        - added WebKit support for making a web page temporarily ignore mouse movements
9447
9448        * WebView/WebViewPrivate.h:
9449        declare ignoresMouseMovedEvents and setIgnoresMouseMovedEvents:
9450
9451        * WebView/WebView.mm:
9452        added ignoresMouseMovedEvents boolean field to _private data structure
9453        (-[WebView setIgnoresMouseMovedEvents:]):
9454        set new boolean field
9455        (-[WebView ignoresMouseMovedEvents]):
9456        return new boolean field
9457
9458        * WebView/WebHTMLView.m:
9459        (-[WebHTMLView _updateMouseoverWithEvent:]):
9460        bail out right away if [[self _webView] ignoresMouseMovedEvents]
9461
94622006-12-21  Mark Rowe  <bdash@webkit.org>
9463
9464        Reviewed by Geoff.
9465
9466        http://bugs.webkit.org/show_bug.cgi?id=11888
9467        Bug 11888: REGRESSION (r18320): Web Inspector panes broken
9468
9469        * WebInspector/webInspector/inspector.js: Use removeProperty to reset a style property to its
9470        initial value.  Bail out early from updateNodePane if Inspector has not yet been set.
9471
94722006-12-19  John Sullivan  <sullivan@apple.com>
9473
9474        Reviewed by Darin
9475
9476        - fix for unrepro infinite recursion bug:
9477        <rdar://problem/4448181> CrashTracer: 154 crashes in Safari at com.apple.AppKit: 
9478        -[NSView isDescendantOf:] + 24; infinite recursion in makeFirstResponder logic
9479
9480        * WebView/WebView.mm:
9481        added becomingFirstResponder BOOL to private struct
9482        (-[WebView becomeFirstResponder]):
9483        use _private->becomingFirstResponder to guard against infinite recursion; complain on
9484        debug builds if we run into this problem
9485
94862006-12-19  Timothy Hatcher  <timothy@apple.com>
9487
9488        Reviewed by Darin.
9489
9490        <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
9491
9492        * WebKit.xcodeproj/project.pbxproj:
9493
94942006-12-18  Ada Chan  <adachan@apple.com>
9495
9496        Reviewed by Adam.
9497        
9498        Moved canRunBeforeUnloadConfirmPanel, runBeforeUnloadConfirmPanel, and closeWindowSoon
9499        from WebCoreFrameBridge to Chrome.
9500
9501        * COM/ChromeClientWin.cpp:
9502        (ChromeClientWin::canRunBeforeUnloadConfirmPanel):
9503        (ChromeClientWin::runBeforeUnloadConfirmPanel):
9504        (ChromeClientWin::closeWindowSoon):
9505        * COM/ChromeClientWin.h:
9506        * WebCoreSupport/WebChromeClient.h:
9507        * WebCoreSupport/WebChromeClient.mm:
9508        (WebChromeClient::canRunBeforeUnloadConfirmPanel):
9509        (WebChromeClient::runBeforeUnloadConfirmPanel):
9510        (WebChromeClient::closeWindowSoon):
9511        * WebCoreSupport/WebFrameBridge.mm:
9512
95132006-12-18  Alice Liu  <alice.liu@apple.com>
9514
9515        Reviewed by Adam.
9516
9517        Have the Editor handle deletion instead of WebHTMLView
9518
9519        * WebKitPrefix.h:
9520        Turned on WebCore deletion
9521
9522        * WebView/WebHTMLViewInternal.h:
9523        Moved ownership of startNewKillRingSequence to the WebCore::Editor
9524
9525        * WebView/WebHTMLView.m:
9526        (-[NSArray becomeFirstResponder]):
9527        Use the Editor's startNewKillRingSequence flag
9528
9529        (-[NSArray deleteForward:]):
9530        (-[NSArray deleteBackward:]):
9531        (-[NSArray deleteWordForward:]):
9532        (-[NSArray deleteWordBackward:]):
9533        (-[NSArray deleteToBeginningOfLine:]):
9534        (-[NSArray deleteToEndOfLine:]):
9535        (-[NSArray deleteToBeginningOfParagraph:]):
9536        (-[NSArray deleteToEndOfParagraph:]):
9537        (-[NSArray deleteToMark:]):
9538        use Editor::deleteWithDirection instead of WebHTMLView's
9539
95402006-12-16  Adele Peterson  <adele@apple.com>
9541
9542        Reviewed by Adam.
9543
9544        WebKit part of fix for:
9545        <rdar://problem/4463829> Switch to use new search field implementation for <input type="search">
9546
9547        * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Initialize WKDrawTextFieldCellFocusRing.
9548        * WebInspector/webInspector/inspector.css: Set -webkit-user-select:text and text-shadow:none on the search field.
9549          These are both properties that we didn't honor in the old control, and the inherited values didn't work or look right.
9550
95512006-12-16  Beth Dakin  <bdakin@apple.com>
9552
9553        Reviewed by Adam.
9554
9555        WebKit side of making WebCore context menus support state and
9556        enabled/disabled.
9557
9558        * WebCoreSupport/WebContextMenuClient.h: contextMenuItemSelected
9559        takes a pointer to the parentMenu now since menu items no longer
9560        hold onto it.
9561        * WebCoreSupport/WebContextMenuClient.mm: Same.
9562        (WebContextMenuClient::contextMenuItemSelected): Same.
9563        * WebView/WebHTMLView.m: Must call setAutoenablesItems:NO on our
9564        menu.
9565        (-[NSArray menuForEvent:]):
9566        * WebView/WebUIDelegatePrivate.h: No need for if-def.
9567
95682006-12-15  Anders Carlsson  <acarlsson@apple.com>
9569
9570        Reviewed by Geoff.
9571
9572        Update for WebCore changes.
9573        
9574        * WebCoreSupport/WebFrameLoaderClient.h:
9575        * WebCoreSupport/WebFrameLoaderClient.mm:
9576        (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
9577        * WebView/WebDataSource.mm:
9578        (-[WebDataSource response]):
9579
95802006-12-15  Anders Carlsson  <acarlsson@apple.com>
9581
9582        Reviewed by Darin.
9583
9584        Update for WebCore changes.
9585        
9586        * WebCoreSupport/WebFrameLoaderClient.h:
9587        * WebCoreSupport/WebFrameLoaderClient.mm:
9588        (WebFrameLoaderClient::willUseArchive):
9589        * WebView/WebDataSource.mm:
9590        (-[WebDataSource _URLForHistory]):
9591
95922006-12-15  Marvin Decker  <marv.decker@gmail.com>
9593
9594        Reviewed by Darin and Alexey.
9595
9596        Fix the Windows build, move various Client implementations out of
9597        WebCore and into WebKit.
9598
9599        * COM/ChromeClientWin.cpp: Added.
9600        (ChromeClientWin::~ChromeClientWin):
9601        (ChromeClientWin::chromeDestroyed):
9602        (ChromeClientWin::setWindowRect):
9603        (ChromeClientWin::windowRect):
9604        (ChromeClientWin::pageRect):
9605        (ChromeClientWin::scaleFactor):
9606        (ChromeClientWin::focus):
9607        (ChromeClientWin::unfocus):
9608        (ChromeClientWin::createWindow):
9609        (ChromeClientWin::createModalDialog):
9610        (ChromeClientWin::show):
9611        (ChromeClientWin::canRunModal):
9612        (ChromeClientWin::runModal):
9613        (ChromeClientWin::setToolbarsVisible):
9614        (ChromeClientWin::toolbarsVisible):
9615        (ChromeClientWin::setStatusbarVisible):
9616        (ChromeClientWin::statusbarVisible):
9617        (ChromeClientWin::setScrollbarsVisible):
9618        (ChromeClientWin::scrollbarsVisible):
9619        (ChromeClientWin::setMenubarVisible):
9620        (ChromeClientWin::menubarVisible):
9621        (ChromeClientWin::setResizable):
9622        (ChromeClientWin::addMessageToConsole):
9623        * COM/ChromeClientWin.h: Added.
9624        * COM/ContextMenuClientWin.cpp: Added.
9625        (ContextMenuClientWin::~ContextMenuClientWin):
9626        (ContextMenuClientWin::contextMenuDestroyed):
9627        (ContextMenuClientWin::addCustomContextMenuItems):
9628        (ContextMenuClientWin::contextMenuItemSelected):
9629        (ContextMenuClientWin::copyLinkToClipboard):
9630        (ContextMenuClientWin::downloadURL):
9631        (ContextMenuClientWin::copyImageToClipboard):
9632        (ContextMenuClientWin::lookUpInDictionary):
9633        (ContextMenuClientWin::speak):
9634        (ContextMenuClientWin::stopSpeaking):
9635        * COM/ContextMenuClientWin.h: Added.
9636        * COM/EditorClientWin.cpp: Added.
9637        (EditorClientWin::~EditorClientWin):
9638        (EditorClientWin::pageDestroyed):
9639        (EditorClientWin::shouldDeleteRange):
9640        (EditorClientWin::shouldShowDeleteInterface):
9641        (EditorClientWin::smartInsertDeleteEnabled):
9642        (EditorClientWin::isContinuousSpellCheckingEnabled):
9643        (EditorClientWin::toggleContinuousSpellChecking):
9644        (EditorClientWin::isGrammarCheckingEnabled):
9645        (EditorClientWin::toggleGrammarChecking):
9646        (EditorClientWin::spellCheckerDocumentTag):
9647        (EditorClientWin::selectWordBeforeMenuEvent):
9648        (EditorClientWin::isEditable):
9649        (EditorClientWin::shouldBeginEditing):
9650        (EditorClientWin::shouldEndEditing):
9651        (EditorClientWin::shouldInsertNode):
9652        (EditorClientWin::shouldInsertText):
9653        (EditorClientWin::shouldApplyStyle):
9654        (EditorClientWin::didBeginEditing):
9655        (EditorClientWin::respondToChangedContents):
9656        (EditorClientWin::didEndEditing):
9657        (EditorClientWin::registerCommandForUndo):
9658        (EditorClientWin::registerCommandForRedo):
9659        (EditorClientWin::clearUndoRedoOperations):
9660        (EditorClientWin::canUndo):
9661        (EditorClientWin::canRedo):
9662        (EditorClientWin::undo):
9663        (EditorClientWin::redo):
9664        * COM/EditorClientWin.h: Added.
9665        * COM/WebFrame.cpp:
9666        (WebFrame::WebFrame):
9667        (WebFrame::initWithName):
9668        * COM/WebFrame.h:
9669        * COM/WebFrameLoaderClient.cpp: Added.
9670        (WebFrameLoaderClient::WebFrameLoaderClient):
9671        (WebFrameLoaderClient::~WebFrameLoaderClient):
9672        (WebFrameLoaderClient::frameLoaderDestroyed):
9673        (WebFrameLoaderClient::hasWebView):
9674        (WebFrameLoaderClient::hasFrameView):
9675        (WebFrameLoaderClient::hasBackForwardList):
9676        (WebFrameLoaderClient::resetBackForwardList):
9677        (WebFrameLoaderClient::provisionalItemIsTarget):
9678        (WebFrameLoaderClient::loadProvisionalItemFromPageCache):
9679        (WebFrameLoaderClient::invalidateCurrentItemPageCache):
9680        (WebFrameLoaderClient::privateBrowsingEnabled):
9681        (WebFrameLoaderClient::makeDocumentView):
9682        (WebFrameLoaderClient::makeRepresentation):
9683        (WebFrameLoaderClient::forceLayout):
9684        (WebFrameLoaderClient::forceLayoutForNonHTML):
9685        (WebFrameLoaderClient::updateHistoryForCommit):
9686        (WebFrameLoaderClient::updateHistoryForBackForwardNavigation):
9687        (WebFrameLoaderClient::updateHistoryForReload):
9688        (WebFrameLoaderClient::updateHistoryForStandardLoad):
9689        (WebFrameLoaderClient::updateHistoryForInternalLoad):
9690        (WebFrameLoaderClient::updateHistoryAfterClientRedirect):
9691        (WebFrameLoaderClient::setCopiesOnScroll):
9692        (WebFrameLoaderClient::tokenForLoadErrorReset):
9693        (WebFrameLoaderClient::resetAfterLoadError):
9694        (WebFrameLoaderClient::doNotResetAfterLoadError):
9695        (WebFrameLoaderClient::willCloseDocument):
9696        (WebFrameLoaderClient::detachedFromParent1):
9697        (WebFrameLoaderClient::detachedFromParent2):
9698        (WebFrameLoaderClient::detachedFromParent3):
9699        (WebFrameLoaderClient::detachedFromParent4):
9700        (WebFrameLoaderClient::loadedFromPageCache):
9701        (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
9702        (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
9703        (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
9704        (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
9705        (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
9706        (WebFrameLoaderClient::dispatchWillClose):
9707        (WebFrameLoaderClient::dispatchDidReceiveIcon):
9708        (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
9709        (WebFrameLoaderClient::dispatchDidReceiveTitle):
9710        (WebFrameLoaderClient::dispatchDidCommitLoad):
9711        (WebFrameLoaderClient::dispatchDidFinishLoad):
9712        (WebFrameLoaderClient::dispatchDidFirstLayout):
9713        (WebFrameLoaderClient::dispatchShow):
9714        (WebFrameLoaderClient::cancelPolicyCheck):
9715        (WebFrameLoaderClient::dispatchWillSubmitForm):
9716        (WebFrameLoaderClient::dispatchDidLoadMainResource):
9717        (WebFrameLoaderClient::clearLoadingFromPageCache):
9718        (WebFrameLoaderClient::isLoadingFromPageCache):
9719        (WebFrameLoaderClient::revertToProvisionalState):
9720        (WebFrameLoaderClient::clearUnarchivingState):
9721        (WebFrameLoaderClient::progressStarted):
9722        (WebFrameLoaderClient::progressCompleted):
9723        (WebFrameLoaderClient::setMainFrameDocumentReady):
9724        (WebFrameLoaderClient::willChangeTitle):
9725        (WebFrameLoaderClient::didChangeTitle):
9726        (WebFrameLoaderClient::finishedLoading):
9727        (WebFrameLoaderClient::finalSetupForReplace):
9728        (WebFrameLoaderClient::setDefersLoading):
9729        (WebFrameLoaderClient::isArchiveLoadPending):
9730        (WebFrameLoaderClient::cancelPendingArchiveLoad):
9731        (WebFrameLoaderClient::clearArchivedResources):
9732        (WebFrameLoaderClient::canHandleRequest):
9733        (WebFrameLoaderClient::canShowMIMEType):
9734        (WebFrameLoaderClient::representationExistsForURLScheme):
9735        (WebFrameLoaderClient::generatedMIMETypeForURLScheme):
9736        (WebFrameLoaderClient::frameLoadCompleted):
9737        (WebFrameLoaderClient::restoreScrollPositionAndViewState):
9738        (WebFrameLoaderClient::provisionalLoadStarted):
9739        (WebFrameLoaderClient::shouldTreatURLAsSameAsCurrent):
9740        (WebFrameLoaderClient::addHistoryItemForFragmentScroll):
9741        (WebFrameLoaderClient::didFinishLoad):
9742        (WebFrameLoaderClient::prepareForDataSourceReplacement):
9743        (WebFrameLoaderClient::setTitle):
9744        (WebFrameLoaderClient::userAgent):
9745        * COM/WebFrameLoaderClient.h: Added.
9746        * COM/WebKitDLL.h:
9747        * WebKit.vcproj/WebKit.vcproj:
9748
97492006-12-15  Anders Carlsson  <acarlsson@apple.com>
9750
9751        Reviewed by Darin.
9752
9753        Include ResourceError.h.
9754        
9755        * Plugins/WebNetscapePluginStream.mm:
9756        * WebKit.xcodeproj/project.pbxproj:
9757
97582006-12-14  Anders Carlsson  <acarlsson@apple.com>
9759
9760        Reviewed by Maciej.
9761
9762        Update for WebCore changes.
9763        
9764        * WebCoreSupport/WebFrameLoaderClient.h:
9765        * WebCoreSupport/WebFrameLoaderClient.mm:
9766        (WebFrameLoaderClient::incrementProgress):
9767        (WebFrameLoaderClient::committedLoad):
9768        (WebFrameLoaderClient::deliverArchivedResources):
9769        * WebView/WebView.mm:
9770        (-[WebView _incrementProgressForIdentifier:length:]):
9771        * WebView/WebViewInternal.h:
9772
97732006-12-14  Timothy Hatcher  <timothy@apple.com>
9774
9775        Reviewed by Darin.
9776
9777        <rdar://problem/4827549> need NSRange-based selection support exposed.
9778
9779        * WebView/WebFrame.mm:
9780        (-[WebFrame _selectedNSRange]):
9781        (-[WebFrame _selectNSRange:]):
9782        * WebView/WebFramePrivate.h:
9783
97842006-12-14  Anders Carlsson  <acarlsson@apple.com>
9785
9786        Reviewed by John.
9787
9788        Update for WebCore changes.
9789        
9790        * WebCoreSupport/WebFrameLoaderClient.h:
9791        * WebCoreSupport/WebFrameLoaderClient.mm:
9792        (WebFrameLoaderClient::dispatchDidFailLoading):
9793        (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
9794        (WebFrameLoaderClient::dispatchDidFailLoad):
9795        (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
9796        (WebFrameLoaderClient::setMainDocumentError):
9797        (WebFrameLoaderClient::cancelledError):
9798        (WebFrameLoaderClient::cannotShowURLError):
9799        (WebFrameLoaderClient::interruptForPolicyChangeError):
9800        (WebFrameLoaderClient::cannotShowMIMETypeError):
9801        (WebFrameLoaderClient::fileDoesNotExistError):
9802        (WebFrameLoaderClient::shouldFallBack):
9803
98042006-12-13  Maciej Stachowiak  <mjs@apple.com>
9805
9806        Reviewed by Anders.
9807        
9808        - adjusted for changes from NSURLRequest to ResourceRequest
9809
9810        * Plugins/WebPluginController.mm:
9811        * WebCoreSupport/WebFrameLoaderClient.h:
9812        * WebCoreSupport/WebFrameLoaderClient.mm:
9813        (WebFrameLoaderClient::updateHistoryForReload):
9814        (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
9815        (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
9816        (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
9817        (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
9818        (WebFrameLoaderClient::startDownload):
9819        (WebFrameLoaderClient::cannotShowURLError):
9820        (WebFrameLoaderClient::createDocumentLoader):
9821        * WebView/WebDataSource.mm:
9822        (-[WebDataSource _initWithDocumentLoader:]):
9823        (-[WebDataSource initialRequest]):
9824        (-[WebDataSource request]):
9825        * WebView/WebDocumentLoaderMac.h:
9826        * WebView/WebDocumentLoaderMac.mm:
9827        (WebDocumentLoaderMac::WebDocumentLoaderMac):
9828        * WebView/WebFrame.mm:
9829        (-[WebFrame _createItem:]):
9830        (-[WebFrame _loadItem:withLoadType:]):
9831        (-[WebFrame loadArchive:]):
9832
98332006-12-12  Anders Carlsson  <acarlsson@apple.com>
9834
9835        Reviewed by Darin.
9836
9837        * WebCoreSupport/WebFrameLoaderClient.h:
9838        * WebCoreSupport/WebFrameLoaderClient.mm:
9839        (WebFrameLoaderClient::download):
9840        Get the handle and proxy from the ResourceHandle now that they aren't passed to us.
9841        
98422006-12-11  Darin Adler  <darin@apple.com>
9843
9844        Reviewed by Brady.
9845
9846        - did some of the Mac-specific file moves mentioned in my recent mail to the WebKit list
9847
9848        * WebCoreSupport/WebFrameBridge.h: Updated for change to WebCoreKeyboardAccess.
9849        * WebCoreSupport/WebFrameBridge.mm:
9850        (-[WebFrameBridge _retrieveKeyboardUIModeFromPreferences:]): Ditto.
9851        (-[WebFrameBridge keyboardUIMode]): Ditto.
9852
98532006-12-11  Beth Dakin  <bdakin@apple.com>
9854
9855        Reviewed by Adam.
9856
9857        WebKit support for editing sub-menu actions.
9858
9859        * WebCoreSupport/WebContextMenuClient.h: New functions for the
9860        speech sub-menu.
9861        * WebCoreSupport/WebContextMenuClient.mm:
9862        (WebContextMenuClient::speak):
9863        (WebContextMenuClient::stopSpeaking):
9864        * WebCoreSupport/WebEditorClient.h: New functions to toggle
9865        spelling/grammar checking.
9866        * WebCoreSupport/WebEditorClient.mm:
9867        (WebEditorClient::toggleContinuousSpellChecking):
9868        (WebEditorClient::toggleGrammarChecking):
9869        * WebView/WebUIDelegatePrivate.h: Re-named some of the spelling
9870        sub-menu tags.
9871
98722006-12-11  Alice Liu  <alice.liu@apple.com>
9873
9874        Reviewed by Geoff, Adam.
9875        
9876        switch to use the Editor for copying URLs
9877
9878        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
9879        (-[WebDefaultUIDelegate copyLinkToClipboard:]):
9880        Call down to the editor for this. 
9881        * WebCoreSupport/WebSystemInterface.m:
9882        (InitWebCoreSystemInterface):
9883        Add some calls necessary for Pasteboard::writeURL to work
9884
98852006-12-11  Darin Adler  <darin@apple.com>
9886
9887        Reviewed by Brady.
9888
9889        - http://bugs.webkit.org/show_bug.cgi?id=11794
9890          fix lifetime problems affecting Frame's ownerElement pointer
9891
9892        * WebCoreSupport/WebFrameBridge.mm:
9893        (-[WebFrameBridge finishInitializingWithPage:WebCore::frameName:frameView:ownerElement:]):
9894        (-[WebFrameBridge initSubframeWithOwnerElement:frameName:frameView:]):
9895        (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
9896        Use HTMLFrameOwnerElement.
9897
9898        * WebCoreSupport/WebFrameLoaderClient.mm: Include the relevant headers for the
9899        HTMLFormElement class.
9900
9901        * WebKit.xcodeproj/project.pbxproj: Let Xcode have its way.
9902
9903        * WebView/WebFrame.mm: (-[WebFrame frameElement]): Update includes and types for the
9904        change in return type of ownerElement.
9905
99062006-12-11  David Harrison  <harrison@apple.com>
9907
9908        Fix previous checkin where I committed the wrong file.
9909
9910        <rdar://problem/4863611> Xyle Scope crashes at launch due to WebCore-521.29.3
9911
9912        * WebView/WebFrame.mm:
9913        (-[WebFrame frameElement]):
9914        Add nil check.
9915        
9916        * WebView/WebPreferences.m:
9917        (-[WebPreferences editableLinkBehavior]):
9918        Reverted to previous.
9919
99202006-12-08  David Hyatt  <hyatt@apple.com>
9921
9922        Land new ICU abstraction layer.  Patch by Lars.
9923
9924        Reviewed by me
9925
9926        * ForwardingHeaders/wtf/icu/UnicodeIcu.h: Added.
9927        * ForwardingHeaders/wtf/unicode/Unicode.h: Added.
9928        * WebKit.xcodeproj/project.pbxproj:
9929
9930=== Safari-521.32 ===
9931
99322006-12-08  Timothy Hatcher  <timothy@apple.com>
9933
9934        Rolling out a change that broke Mail stationary.
9935        <rdar://problem/4699166> REGRESSION: Background images in Mail stationery do not load
9936
9937        * WebView/WebUnarchivingState.m:
9938        (-[WebUnarchivingState archivedResourceForURL:]):
9939
99402006-12-08  Peter Kasting  <pkasting@google.com>
9941
9942        Reviewed and landed by Alexey.
9943
9944        http://bugs.webkit.org/show_bug.cgi?id=11759:
9945        Windows build bustage
9946
9947        * COM/WebFrame.cpp:
9948        (WebFrame::loadDataSource):
9949        * COM/WebFrame.h:
9950
99512006-12-08  David Harrison  <harrison@apple.com>
9952
9953        Reviewed by Brady.
9954
9955        <rdar://problem/4863611> Xyle Scope crashes at launch due to WebCore-521.29.3
9956
9957        * WebView/WebPreferences.m:
9958        (-[WebPreferences editableLinkBehavior]):
9959        Add nil check.
9960
99612006-12-07  Beth Dakin  <bdakin@apple.com>
9962
9963        Reviewed by Brady.
9964
9965        Build fix for WebCore ContextMenus. It got broken by r18046.
9966
9967        * WebView/WebHTMLView.m:
9968        (-[NSArray menuForEvent:]):
9969
99702006-12-07  Beth Dakin  <bdakin@apple.com>
9971
9972        Reviewed by Brady.
9973
9974        Make some parameters const and const references.
9975
9976        * WebCoreSupport/WebContextMenuClient.h:
9977        * WebCoreSupport/WebContextMenuClient.mm:
9978        (WebContextMenuClient::contextMenuItemSelected):
9979        (WebContextMenuClient::copyLinkToClipboard):
9980        (WebContextMenuClient::downloadURL):
9981        (WebContextMenuClient::copyImageToClipboard):
9982
99832006-12-06  Brady Eidson  <beidson@apple.com>
9984
9985        Reviewed by John Sullivan
9986
9987        Fixes http://bugs.webkit.org/show_bug.cgi?id=11675 and <rdar://4857669>
9988        Now we need to explicitly set the data source when loading from a page cache
9989
9990        * History/WebHistoryItem.mm:
9991        (-[WebHistoryItem _scheduleRelease]): Enhanced a logging message
9992        (+[WebHistoryItem _releasePageCache:]): Ditto
9993        (+[WebHistoryItem _releaseAllPendingPageCaches]): Ditto
9994        * WebCoreSupport/WebFrameLoaderClient.mm:
9995        (WebFrameLoaderClient::setDocumentViewFromPageCache): Reset the View's DataSource from the cache, effectively reopening it
9996        * WebView/WebHTMLView.m:
9997        (-[NSArray setDataSource:]): Properly Handle resetting the DataSource and "reopening" the view
9998
99992006-12-06  Brady Eidson  <beidson@apple.com>
10000
10001        Reviewed by Adam and Oliver
10002
10003        While working on http://bugs.webkit.org/show_bug.cgi?id=11675 I
10004        decided to fix much of the null-deref problems that creeped in via 
10005        the loader refactoring.  This isn't changing behavior, just reintroducing
10006        the free nil checking we used to have with pure ObjC
10007
10008        * WebView/WebHTMLView.m:
10009        (-[NSArray menuForEvent:]):  Explicitly check for null frames
10010        (-[NSArray mouseDown:]):  Ditto
10011        (-[NSArray mouseDragged:]):  Ditto
10012        (-[NSArray mouseUp:]):  Ditto
10013        (-[NSArray performKeyEquivalent:]):  Ditto
10014        (-[WebHTMLView elementAtPoint:allowShadowContent:]):  Ditto
10015
100162006-12-05  John Sullivan  <sullivan@apple.com>
10017
10018        Reviewed by Beth
10019
10020        Updated to match Frame -> Editor changes in WebCore
10021
10022        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
10023        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
10024        guessesForUngrammaticalSelection() is now in Editor
10025
10026        * WebView/WebHTMLView.m:
10027        (-[WebHTMLView _isSelectionUngrammatical]):
10028        isSelectionUngrammatical() is now in Editor
10029        (-[WebHTMLView _isSelectionMisspelled]):
10030        isSelectionMisspelled() is now in Editor
10031
10032        (-[WebHTMLView checkSpelling:]):
10033        advanceToNextMisspelling() is now in Editor
10034        (-[WebHTMLView showGuessPanel:]):
10035        ditto
10036
100372006-12-05  John Sullivan  <sullivan@apple.com>
10038
10039        Reviewed by Adam
10040        
10041        Old context-menu mechanism fix for:
10042        <rdar://problem/4864351> Should leave out "No Guesses Found" from context menu for bad grammar
10043
10044        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
10045        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
10046        Leave out "No Guesses Found" and separator for grammar-checking case.
10047
100482006-12-05  John Sullivan  <sullivan@apple.com>
10049
10050        build fix
10051
10052        * WebView/WebViewPrivate.h:
10053        * WebView/WebView.mm:
10054        (-[WebView isGrammarCheckingEnabled]):
10055        define isGrammarCheckingEnabled whether on Tiger or not (just return NO on Tiger)
10056
100572006-12-04  John Sullivan  <sullivan@apple.com>
10058
10059        Reviewed by Darin
10060
10061        WebKit part of fix for:
10062        <rdar://problem/4817188> Context menu for bad grammar should include suggestions and "Ignore Grammar"
10063
10064        The context menu mechanism is currently in flux; the old mechanism is still in place, but an
10065        up-and-coming new mechanism is waiting in the wings. I updated both of them, but couldn't
10066        test the new mechanism because it doesn't work well enough yet. Most of this WebKit code
10067        can be deleted when the new mechanism is in place.
10068
10069        * WebView/WebUIDelegatePrivate.h:
10070        added WebMenuItemTagIgnoreGrammar
10071
10072        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
10073        (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
10074        added case for WebMenuItemTagIgnoreGrammar
10075        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
10076        now considers adding grammar-related items as well as spelling-related items
10077        
10078        * WebView/WebHTMLViewPrivate.h:
10079        declared _isSelectionUngrammatical
10080
10081        * WebView/WebHTMLView.m:
10082        (-[WebHTMLView _isSelectionUngrammatical]):
10083        new method, calls through to WebCore
10084        (-[WebHTMLView _ignoreGrammarFromMenu:]):
10085        new method, calls _ignoreSpellingFromMenu: since NSSpellChecker has one method for both
10086
10087        * English.lproj/Localizable.strings:
10088        updated for "Ignore Grammar" menu item title
10089
100902006-12-04  Darin Adler  <darin@apple.com>
10091
10092        Reviewed by Adele.
10093
10094        * WebCoreSupport/WebFrameLoaderClient.mm:
10095        (WebFrameLoaderClient::actionDictionary): Changed to use the new
10096        findEventWithKeyState function in WebCore instead of a local function
10097        in this file.
10098
100992006-12-04  Geoffrey Garen  <ggaren@apple.com>
10100
10101        Rolled out the WebDashboardBehaviorUseBackwardCompatibilityModeEnabled
10102        part of my last checkin.
10103        
10104        We have to turn on support for backward compatibility mode to avoid Dashboard
10105        regressions in the short term.
10106
10107        * WebView/WebView.mm:
10108        (-[WebView _setDashboardBehavior:to:]):
10109
101102006-12-02  Geoffrey Garen  <ggaren@apple.com>
10111
10112        Reviewed by Darin Adler.
10113        
10114        Added SPI for enabling Dashboard backward compatibility mode. For now,
10115        we enable it unconditionally for Dashboard and Dashcode. Once they 
10116        implement specific support for the backward compatibility mode behavior,
10117        we can change that.
10118        
10119        Set the default WebDashboardBehaviorUseBackwardCompatibilityModeEnabled
10120        to YES in order to turn this code on.
10121
10122        * WebView/WebView.mm:
10123        (-[WebView _setDashboardBehavior:to:]):
10124        (-[WebView _dashboardBehavior:]):
10125        * WebView/WebViewPrivate.h:
10126
101272006-12-04  Darin Adler  <darin@apple.com>
10128
10129        Reviewed by Alice.
10130
10131        * WebCoreSupport/WebEditorClient.h: Removed "_web_" prefix from
10132        C++ userVisibleString member function.
10133        * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::userVisibleString):
10134        Ditto.
10135
10136        * WebView/WebView.mm: (-[WebView selectedFrame]): Removed extra return statement.
10137
101382006-12-04  Peter Kasting  <pkasting@google.com>
10139
10140        Reviewed and landed by Alexey.
10141
10142        http://bugs.webkit.org/show_bug.cgi?id=11738:
10143        Make link clicking work again on Windows.
10144
10145        The WebKit changes are to ignore WM_MOUSEMOVED messages when the mouse
10146        hasn't actually moved, which were preventing clicks from actually
10147        getting dispatched in many cases.  It's a peculiarity of Windows mouse
10148        handling that we receive these at all.
10149
10150        * COM/WebView.cpp:
10151        (WebView::WebView):
10152        (WebView::mouseMoved):
10153        * COM/WebView.h:
10154
101552006-12-04  John Sullivan  <sullivan@apple.com>
10156
10157        Reviewed by Anders
10158
10159        - fixed <rdar://problem/4857833> REGRESSION: When ctrl-clicking on a misspelled word, "Ignore Spelling" and "Learn Spelling" 
10160          menu items not displayed in the contextual menu
10161
10162        * WebView/WebHTMLView.m:
10163        (-[WebHTMLView _isSelectionMisspelled]):
10164        We were computing isSelectionMisspelled by calling WebCore, but then ignoring the result and always
10165        returning NO. D'oh!
10166
101672006-12-01  Beth Dakin  <bdakin@apple.com>
10168
10169        Reviewed by Adam.
10170
10171        Changes to support sub-menus in WebCore ContextMenus.
10172
10173        * WebCoreSupport/WebContextMenuClient.mm:
10174        (WebContextMenuClient::contextMenuItemSelected): 
10175        ContextMenuItem::menu() is now called parentMenu()
10176        * WebView/WebUIDelegatePrivate.h: New not-yet-API tags.
10177
101782006-12-01  Darin Adler  <darin@apple.com>
10179
10180        Reviewed by Mitz.
10181
10182        - fix http://bugs.webkit.org/show_bug.cgi?id=11628
10183          REGRESSION (r17597): Command-return in native text fields doesn't open a new tab or window
10184
10185        * WebCoreSupport/WebFrameLoaderClient.mm:
10186        (findKeyStateEvent): Added. Helper that finds the mouse or keyboard event in a chain
10187        of events and their underlying events.
10188        (findMouseEvent): Added. Same, but specifically for mouse events.
10189        (WebFrameLoaderClient::actionDictionary): Rewrote to use the above functions. This means we
10190        use the modifiers from the underlying events rather than just the one from the event itself.
10191        So if the event is a DOM activate event, we can still see the modifiers from the original
10192        keyboard event that triggered it. Has no effect if the event is already the right type or
10193        if there is no underlying event.
10194
10195        * WebView/WebFrame.mm: Added a newly-needed include.
10196
10197        * WebKit.xcodeproj/project.pbxproj: Xcode wants what it wants.
10198
101992006-12-01  Peter Kasting  <pkasting@google.com>
10200
10201        Reviewed by Mitz.
10202
10203        http://bugs.webkit.org/show_bug.cgi?id=11732:
10204        Windows build bustage.
10205
10206        * COM/WebFrame.cpp:
10207        (WebFrame::initWithName):
10208
102092006-12-01  Timothy Hatcher  <timothy@apple.com>
10210
10211        Reviewed by Adam.
10212
10213        <rdar://problem/4841432> 9A312: iWeb crashes on launch; _WebReportError missing from WebKit
10214
10215        Added back WebReportAssertionFailure and WebReportError for apps that still need these symbols.
10216
10217        * Misc/OldWebAssertions.c: Added.
10218        (WebReportAssertionFailure):
10219        (WebReportError):
10220        * WebKit.LP64.exp: added the new symbols, and sorted the file
10221        * WebKit.exp: added the new symbols, and sorted the file
10222        * WebKit.xcodeproj/project.pbxproj:
10223
102242006-11-30  Geoffrey Garen  <ggaren@apple.com>
10225
10226        Rubber Stamped by Anders Carlsson.
10227
10228        Global rename of Document::focusNode to Document::focusedNode. 'focusNode'
10229        suggested a command, and conflicted with a different meaning for 'focusNode'
10230        in the Mozilla selection API.
10231
10232        * WebView/WebHTMLView.m:
10233        (-[NSArray clearFocus]):
10234
102352006-11-30  Matt Lilek  <pewtermoose@gmail.com>
10236
10237        Reviewed by Mitz.
10238
10239        Bug 10698: Scroll wheel causes inspector to shift up
10240        http://bugs.webkit.org/show_bug.cgi?id=10698
10241
10242        Remove size attribute from the tree popup as a workaround for
10243        http://bugs.webkit.org/show_bug.cgi?id=11362 Bug 11362: Native popup with size="1" wraps options
10244
10245        * WebInspector/webInspector/inspector.css:
10246        * WebInspector/webInspector/inspector.html:
10247
102482006-11-30  Matt Lilek  <pewtermoose@gmail.com>
10249
10250        Reviewed by Tim H.
10251
10252        Move web inspector style markup to javascript to fix http://bugs.webkit.org/show_bug.cgi?id=6724
10253        Bug 6724: Text copied from Web Inspector is different from actual text
10254
10255        * WebInspector/webInspector/inspector.css:
10256        * WebInspector/webInspector/inspector.js:
10257
102582006-11-30  Adam Roben  <aroben@apple.com>
10259
10260        Reviewed by Beth.
10261
10262        Put code in place to use WebCore context menus when they are turned
10263        on.
10264
10265        * WebView/WebHTMLView.m:
10266        (-[NSArray menuForEvent:]):
10267
102682006-11-29  Timothy Hatcher  <timothy@apple.com>
10269
10270        Reviewed by Oliver.
10271
10272        Keep preferences separate from the rest of the client, making sure we are using expected preference values.
10273        This lets the inspector work when plugins are disabled for the WebView.
10274
10275        * WebInspector/WebInspector.m:
10276        (-[NSWindow window]):
10277
102782006-11-29  Anders Carlsson  <acarlsson@apple.com>
10279
10280        Reviewed by Tim.
10281
10282        Add back methods in WebCoreStatistics that are still used by Tiger Safari.
10283        
10284        * Misc/WebCoreStatistics.h:
10285        * Misc/WebCoreStatistics.m:
10286        (+[WebCoreStatistics emptyCache]):
10287        (+[WebCoreStatistics setCacheDisabled:]):
10288
102892006-11-28  Alice Liu  <alice.liu@apple.com>
10290
10291        Reviewed by Maciej.
10292
10293        A fix for a couple failing layout tests involving copy/cut in iframes.
10294
10295        * WebCoreSupport/WebEditorClient.h:
10296        * WebCoreSupport/WebEditorClient.mm:
10297        (WebEditorClient::dataForArchivedSelection):
10298        Use the frame parameter instead of using the webview's selectedFrame. 
10299
103002006-11-28  Beth Dakin  <bdakin@apple.com>
10301
10302        Reviewed by Geoffff.
10303
10304        Fix for http://bugs.webkit.org/show_bug.cgi?id=11691 REGRESSION 
10305        (r17399, r17511): WebElementDictionary no longer returns nil 
10306        NSStrings
10307
10308        String's NSString* operator converts null Strings to empty 
10309        NSStrings for compatibility with AppKit. We need to work around 
10310        that here.
10311
10312        * Misc/WebElementDictionary.m:
10313        (NSStringOrNil):
10314        (-[WebElementDictionary _altDisplayString]):
10315        (-[WebElementDictionary _spellingToolTip]):
10316        (-[WebElementDictionary _title]):
10317        (-[WebElementDictionary _titleDisplayString]):
10318        (-[WebElementDictionary _textContent]):
10319
103202006-11-28  Geoffrey Garen  <ggaren@apple.com>
10321
10322        Reviewed by Beth Dakin.
10323
10324        Fixed <rdar://problem/4844855> Should clarify when to create clients in 
10325        the WebCore client API
10326        
10327        All clients must now be supplied as constructor arguments. This clarifies 
10328        when you need to create clients, and also guarantees that objects can't 
10329        (for the most part) be in a clientless state.
10330
10331        Layout tests pass. No leaks reported.
10332        
10333        * WebCoreSupport/WebFrameBridge.mm: Shuffled around initialization and changed
10334        some arguments to resolve ciruclar dependencies at init time.
10335        (-[WebFrame _initWithWebFrameView:webView:bridge:]): We no longer call setClient
10336        here, because the client is set up at construction time.
10337
103382006-11-28  Anders Carlsson  <acarlsson@apple.com>
10339
10340        Reviewed by Maciej.
10341
10342        Update for changes to ResourceRequest.
10343        
10344        * WebCoreSupport/WebChromeClient.mm:
10345        (WebChromeClient::createWindow):
10346        (WebChromeClient::createModalDialog):
10347        * WebCoreSupport/WebFrameLoaderClient.mm:
10348        (WebFrameLoaderClient::canHandleRequest):
10349
103502006-11-28  Adam Roben  <aroben@apple.com>
10351
10352        Reviewed by Beth.
10353
10354        More WebCore context menu work.
10355
10356        * DefaultDelegates/WebDefaultUIDelegate.m: New stub delegate method implementation.
10357        (-[NSApplication webView:contextMenuItemSelected:forElement:]):
10358        * WebCoreSupport/WebContextMenuClient.h: Updated to match ContextMenuClient.h changes.
10359        * WebCoreSupport/WebContextMenuClient.mm:
10360        (WebContextMenuClient::addCustomContextMenuItems): Updated for method name changes.
10361        (WebContextMenuClient::contextMenuItemSelected): Added new client method.
10362        * WebView/WebUIDelegatePrivate.h: New private delegate method declaration.
10363
103642006-11-28  Alice Liu  <alice.liu@apple.com>
10365
10366        Reviewed by Justin and Adam.
10367
10368        * WebCoreSupport/WebEditorClient.h:
10369        * WebCoreSupport/WebEditorClient.mm:
10370        added the following        
10371        (WebEditorClient::smartInsertDeleteEnabled):
10372        (WebEditorClient::dataForArchivedSelectionInFrame):
10373        (WebEditorClient::_web_userVisibleString):
10374        (WebEditorClient::shouldInsertNode):
10375        
10376        * WebKitPrefix.h:
10377        Added flags to control whether WebCore cut/copy/paste is enabled.
10378        Turned on Cut and Copy, left Paste and Delete off
10379        
10380        * WebView/WebHTMLViewPrivate.h:
10381        * WebView/WebHTMLView.m:
10382        removed _can[Cut|Copy|Paste|Delete]
10383        (-[NSArray validateUserInterfaceItem:]):
10384        call the editor for canDHTML[C|C|P|D] and _can[C|C|P|D] instead 
10385        (-[NSArray delete:]):
10386        added code to call the editor's delete instead (not turned on)
10387        (-[WebHTMLView copy:]):
10388        added code to call the editor's copy (turned on)
10389        (-[WebHTMLView cut:]):
10390        added code to call the editor's cut (turned on)
10391        (-[WebHTMLView paste:]):
10392        added code to call the editor's paste (not turned on)
10393
103942006-11-28  Geoffrey Garen  <ggaren@apple.com>
10395
10396        Reviewed by Adam.
10397
10398        Fixed <rdar://problem/4844848> REGRESSION: extra cross-library ref/deref 
10399        calls cause .5% PLT regression.
10400        
10401        Changed ref/deref calls to a single 'xxxDestroyed' call. Moved EditorClient
10402        from the Frame to the Page, since it's only responsible for
10403        Webview-level delegate calls.
10404        
10405        I don't really love this design, but it fixes the regression and allows
10406        a single WebKit object to implement multiple client interfaces.
10407        
10408        Layout tests pass.
10409
104102006-11-27  Beth Dakin  <bdakin@apple.com>
10411
10412        Reviewed by Adam.
10413
10414        WebKit half of getting rid of the FixMes in ContextMenu.cpp
10415
10416        * WebCoreSupport/WebFrameLoaderClient.h: canHandleRequest takes a 
10417        ResourceRequest now.
10418        * WebCoreSupport/WebFrameLoaderClient.mm:
10419        (WebFrameLoaderClient::canHandleRequest): Same.
10420        * WebView/WebHTMLView.m:
10421        (-[WebHTMLView _isSelectionMisspelled]): Call into WebCore.
10422
104232006-11-27  Ada Chan  <adachan@apple.com>
10424
10425        Reviewed by Adam.
10426
10427        Part of the change to move WebCoreCache into WebKit:
10428        Added WebCache which handles emptying and enable/disabling the cache.
10429        emptyCache and setCacheDisabled have been removed from WebCoreStatistics.
10430
10431        * Misc/WebCache.h: Added.
10432        * Misc/WebCache.mm: Added.
10433        * Misc/WebCoreStatistics.h:
10434        * Misc/WebCoreStatistics.m:
10435        (+[WebCoreStatistics statistics]):
10436        * WebKit.exp:
10437        * WebKit.xcodeproj/project.pbxproj:
10438
104392006-11-27  Anders Carlsson  <acarlsson@apple.com>
10440
10441        Reviewed by Adam.
10442
10443        Move addMessageToConsole to Chrome.
10444
10445        * WebCoreSupport/WebChromeClient.h:
10446        * WebCoreSupport/WebChromeClient.mm:
10447        (WebChromeClient::addMessageToConsole):
10448        * WebCoreSupport/WebFrameBridge.mm:
10449
104502006-11-27  Brady Eidson  <beidson@apple.com>
10451
10452        Reviewed by Anders
10453
10454        Moved unused Private SPI to Internal and pruned other unused code
10455
10456        * Misc/WebIconDatabase.m:
10457        * Misc/WebIconDatabasePrivate.h:
10458
104592006-11-21  Darin Adler  <darin@apple.com>
10460
10461        Reviewed by Maciej.
10462
10463        - make the close method do a more-complete job to prevent world leaks seen when
10464          running some of the layout tests
10465
10466        * WebView/WebHTMLViewInternal.h: Added declaration of -[WebHTMLViewPrivate clear].
10467        * WebView/WebHTMLView.m:
10468        (-[WebHTMLViewPrivate clear]): Added method to drop references to other objects.
10469        We want to do this at "close" time, rather than waiting for deallocation time.
10470        This is especially important for the data source, which indirectly keeps a number of
10471        objects alive.
10472        (-[WebHTMLView close]): Added an explicit call to clear out the data source on the
10473        plug-in controller. Without this, we'd see the plug-in controller making calls to
10474        a deallocated data source during the layout tests. Added a call to the new clear method
10475        on the private object so that we release the objects at close time instead of waiting
10476        for deallocation time.
10477
10478        * WebKit.xcodeproj/project.pbxproj: Let Xcode have its way with the project file,
10479        because I can't fight the power.
10480
104812006-11-20  Samuel Weinig  <sam@webkit.org>
10482
10483        Reviewed by Alexey.
10484
10485        Fix for http://bugs.webkit.org/show_bug.cgi?id=11656
10486        Fix Windows build
10487
10488        * WebKit.vcproj/WebKit.vcproj: don't include directories that no
10489        longer exist.
10490
104912006-11-19  Beth Dakin  <bdakin@apple.com>
10492
10493        Reviewed by Adam.
10494
10495        WebKit side of new context menu actions.
10496
10497        * WebCoreSupport/WebContextMenuClient.h: These are for the 
10498        currently-WebKit-dependent menu actions.
10499        * WebCoreSupport/WebContextMenuClient.mm:
10500        (WebContextMenuClient::copyLinkToClipboard):
10501        (WebContextMenuClient::downloadURL):
10502        (WebContextMenuClient::copyImageToClipboard):
10503        (WebContextMenuClient::searchWithSpotlight):
10504        (WebContextMenuClient::lookUpInDictionary):
10505        * WebCoreSupport/WebEditorClient.h:
10506        * WebCoreSupport/WebEditorClient.mm:
10507        (core): These are to convert between WebViewInsertAction and 
10508        EditorInsertAction.
10509        (kit):
10510        (WebEditorClient::shouldInsertText): Added implementation for 
10511        shouldInsertText.
10512        * WebKit.xcodeproj/project.pbxproj:
10513        * WebView/WebHTMLView.m:
10514        (-[WebHTMLView _lookUpInDictionaryFromMenu:]): Moved 
10515        _lookUpInDictionary to be within the implementation of WebHTMLView 
10516        internal.
10517        * WebView/WebHTMLViewInternal.h: Add _lookUpInDictionaryFromMenu
10518        * WebView/WebViewInternal.h: Add _searchWithSpotlightFromMenu
10519
105202006-11-18  Peter Kasting  <pkasting@google.com>
10521
10522        Reviewed by Sam Weinig.
10523
10524        http://bugs.webkit.org/show_bug.cgi?id=11634:
10525        Fix segfault on startup for Windows build.  Also fix segfault when
10526        typing in a URL.
10527
10528        * COM/WebFrame.cpp:
10529        (WebFrame::initWithName):
10530
10531=== Safari-521.31 ===
10532
105332006-11-17  Timothy Hatcher  <timothy@apple.com>
10534
10535        Reviewed by Geoff.
10536
10537        <rdar://problem/4841044> Temporarily default Mail.app editable link clicking behavior, until they do it themselves
10538
10539        * WebKit.xcodeproj/project.pbxproj:
10540        * WebView/WebView.mm:
10541        (+[WebView initialize]):
10542        (-[WebView setPreferences:]):
10543
105442006-11-16  Peter Kasting  <pkasting@google.com>
10545
10546        Reviewed and landed by ap.
10547
10548        http://bugs.webkit.org/show_bug.cgi?id=11509:
10549        Windows build bustage.
10550
10551        * COM/WebFrame.cpp:
10552        (WebFrame::initWithName):
10553        (WebFrame::loadHTMLString):
10554        (WebFrame::stopLoading):
10555        (WebFrame::reload):
10556        (WebFrame::loadDataSource):
10557        (WebFrame::didReceiveData):
10558        (WebFrame::receivedResponse):
10559        (WebFrame::receivedAllData):
10560        * COM/WebFrame.h:
10561        * COM/WebView.cpp:
10562        (WebView::mouseMoved):
10563        (WebView::mouseDown):
10564        (WebView::mouseUp):
10565        (WebView::mouseDoubleClick):
10566        * WebKit.vcproj/WebKit.vcproj:
10567
105682006-11-16  Anders Carlsson  <acarlsson@apple.com>
10569
10570        Reviewed by Tim.
10571
10572        <rdar://problem/4841123>
10573        REGRESSION: Crash in WebCore::Range::boundaryPointsValid when replying to a mail Message
10574        
10575        * Misc/WebNSAttributedStringExtras.m:
10576        (+[NSAttributedString _web_attributedStringFromRange:]):
10577        If the range passed in is null, return null. When this function was in the bridge, it would never get called
10578        with a null range when nothing was selected. Instead, the range would just have invalid boundary points.
10579
105802006-11-15  Adam Roben  <aroben@apple.com>
10581
10582        Reviewed by Anders.
10583
10584        Added new WebContextMenuClient class to act as WebCore's ChromeClient,
10585        and moved context menu-related code there from WebChromeClient.
10586
10587        * WebCoreSupport/WebChromeClient.h:
10588        * WebCoreSupport/WebChromeClient.mm:
10589        * WebCoreSupport/WebContextMenuClient.h: Added.
10590        (WebContextMenuClient::webView):
10591        * WebCoreSupport/WebContextMenuClient.mm: Added.
10592        (WebContextMenuClient::create):
10593        (WebContextMenuClient::WebContextMenuClient):
10594        (WebContextMenuClient::ref):
10595        (WebContextMenuClient::deref):
10596        (WebContextMenuClient::addCustomContextMenuItems):
10597        * WebKit.xcodeproj/project.pbxproj: Added new files.
10598        * WebView/WebView.mm:
10599        (-[WebView _commonInitializationWithFrameName:groupName:]):
10600
106012006-11-15  Beth Dakin  <bdakin@apple.com>
10602        &   Adam Roben  <aroben@apple.com>
10603
10604        Reviewed by Adam & Beth.
10605
10606        WebKit side of first cut at engine context menus. Use the client to 
10607        call into the UIDelegate.
10608
10609        * WebCoreSupport/WebChromeClient.h:
10610        * WebCoreSupport/WebChromeClient.mm:
10611        (WebChromeClient::addCustomContextMenuItems):
10612        * WebKit.xcodeproj/project.pbxproj:
10613
106142006-11-15  Brady Eidson  <beidson@apple.com>
10615
10616        Reviewed by Maciej
10617
10618        Quick change of files to ObjC++ for BF cache re-write
10619
10620        * History/WebBackForwardList.m: Removed.
10621        * History/WebBackForwardList.mm: Added.
10622        * History/WebHistoryItem.m: Removed.
10623        * History/WebHistoryItem.mm: Added.
10624        * WebKit.xcodeproj/project.pbxproj:
10625
106262006-11-15  Brady Eidson  <beidson@apple.com>
10627
10628        Reviewed by Sarge
10629
10630        SPI addition
10631
10632        * WebView/WebFrame.mm:
10633        (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
10634        * WebView/WebFrameInternal.h:
10635        * WebView/WebFramePrivate.h:
10636
106372006-11-15  Brady Eidson  <beidson@apple.com>
10638
10639        Reviewed by Adele
10640
10641        <rdar://problem/4838729> - Replace mistakenly removed SPI
10642
10643        * WebView/WebHTMLView.m:
10644        (-[WebHTMLView _handleAutoscrollForMouseDragged:]):
10645        * WebView/WebHTMLViewPrivate.h:
10646
106472006-11-15  Anders Carlsson  <acarlsson@apple.com>
10648
10649        Reviewed by Adele.
10650
10651        isTargetItem is used by DRT, so make it private instead of internal.
10652        
10653        * History/WebHistoryItem.m:
10654        (-[WebHistoryItem isTargetItem]):
10655        * History/WebHistoryItemInternal.h:
10656        * History/WebHistoryItemPrivate.h:
10657        * WebCoreSupport/WebFrameLoaderClient.mm:
10658
106592006-11-15  Brady Eidson  <beidson@apple.com>
10660
10661        Reviewed by Maciej
10662
10663        Split much of unused WebHistoryItemPrivate.h SPI into WebHistoryItemInternal.h
10664
10665        * History/WebBackForwardList.m:
10666        * History/WebHistory.m:
10667        * History/WebHistoryItem.m:
10668        (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
10669        (-[WebHistoryItem initWithURL:title:]):
10670        (-[WebHistoryItem visitCount]):
10671        (-[WebHistoryItem RSSFeedReferrer]):
10672        (-[WebHistoryItem setRSSFeedReferrer:]):
10673        (-[WebHistoryItem children]):
10674        (-[WebHistoryItem dictionaryRepresentation]):
10675        (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
10676        (+[WebHistoryItem _releaseAllPendingPageCaches]):
10677        (-[WebHistoryItem URL]):
10678        (-[WebHistoryItem target]):
10679        (-[WebHistoryItem _setLastVisitedTimeInterval:]):
10680        (-[WebHistoryItem _lastVisitedDate]):
10681        (-[WebHistoryItem targetItem]):
10682        * History/WebHistoryItemInternal.h: Added.
10683        * History/WebHistoryItemPrivate.h:
10684        * WebCoreSupport/WebFrameBridge.mm:
10685        * WebCoreSupport/WebFrameLoaderClient.mm:
10686        * WebKit.xcodeproj/project.pbxproj:
10687        * WebView/WebFrame.mm:
10688        * WebView/WebView.mm:
10689
106902006-11-14  Beth Dakin  <bdakin@apple.com>
10691
10692        Reviewed by Geoff.
10693
10694        Moving things off the bridge and onto clients.
10695
10696        * WebCoreSupport/WebEditorClient.h:
10697        * WebCoreSupport/WebEditorClient.mm:
10698        (WebEditorClient::selectWordBeforeMenuEvent):
10699        (WebEditorClient::isEditable):
10700        * WebCoreSupport/WebFrameBridge.mm:
10701        * WebKit.xcodeproj/project.pbxproj:
10702
107032006-11-14  Timothy Hatcher  <timothy@apple.com>
10704
10705        Reviewed by Harrison.
10706
10707        <rdar://problem/4766635> Safari should never follow links in editable areas (add a WebKitEditableLinkNeverLive option)
10708
10709        Adds an Open Link, Open Link in New Window and Copy Link to the editing context menu.
10710        Adds a new WebKitEditableLinkNeverLive preference value that maps to WebCore's EditableLinkNeverLive.
10711
10712        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
10713        (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
10714        (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
10715        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
10716        (-[WebDefaultUIDelegate requestWithURL:includingReferrerFromFrame:]):
10717        (-[WebDefaultUIDelegate openNewWindowWithURL:element:]):
10718        (-[WebDefaultUIDelegate openLink:]):
10719        * English.lproj/Localizable.strings:
10720        * WebKit.exp:
10721        * WebView/WebPreferences.m:
10722        (-[WebPreferences editableLinkBehavior]):
10723        * WebView/WebPreferencesPrivate.h:
10724        * WebView/WebUIDelegatePrivate.h:
10725
107262006-11-14  Anders Carlsson  <acarlsson@apple.com>
10727
10728        Turns out I wasn't forcing DWARF on the world at all, 
10729        it's now the default!
10730
10731        * WebKit.xcodeproj/project.pbxproj:
10732
107332006-11-14  Anders Carlsson  <acarlsson@apple.com>
10734
10735        I must stop trying to force DWARF on the world.
10736
10737        * WebKit.xcodeproj/project.pbxproj:
10738
107392006-11-14  Darin Adler  <darin@apple.com>
10740
10741        Reviewed by Anders.
10742
10743        - update for creation of EventHandler
10744
10745        * WebCoreSupport/WebFrameLoaderClient.mm:
10746        (WebFrameLoaderClient::actionDictionary):
10747        * WebView/WebHTMLView.m:
10748        (-[WebHTMLView _updateMouseoverWithEvent:]):
10749        (-[NSArray menuForEvent:]):
10750        (-[NSArray scrollWheel:]):
10751        (-[NSArray acceptsFirstMouse:]):
10752        (-[NSArray shouldDelayWindowOrderingForEvent:]):
10753        (-[NSArray mouseDown:]):
10754        (-[NSArray mouseDragged:]):
10755        (-[NSArray mouseUp:]):
10756        (-[NSArray keyDown:]):
10757        (-[NSArray keyUp:]):
10758        (-[NSArray performKeyEquivalent:]):
10759        (-[WebHTMLView elementAtPoint:allowShadowContent:]):
10760
107612006-11-14  Anders Carlsson  <acarlsson@apple.com>
10762
10763        Fix build for real this time.
10764        
10765        * WebCoreSupport/WebEditorClient.mm:
10766        (-[WebEditCommand initWithEditCommand:WebCore::]):
10767        (-[WebEditCommand dealloc]):
10768        (-[WebEditCommand finalize]):
10769        (+[WebEditCommand commandWithEditCommand:]):
10770        (-[WebEditCommand command]):
10771
107722006-11-14  Anders Carlsson  <acarlsson@apple.com>
10773
10774        Try fixing the build.
10775        
10776        * WebCoreSupport/WebEditorClient.mm:
10777        (-[WebEditorUndoTarget undoEditing:]):
10778        (-[WebEditorUndoTarget redoEditing:]):
10779
107802006-11-14  Anders Carlsson  <acarlsson@apple.com>
10781
10782        Reviewed by Darin.
10783
10784        Move undo/redo handling into WebEditorClient.
10785        
10786        * WebCoreSupport/WebEditorClient.h:
10787        * WebCoreSupport/WebEditorClient.mm:
10788        (WebEditorClient::WebEditorClient):
10789        (WebEditorClient::~WebEditorClient):
10790        (-[WebEditCommand initWithEditCommand:WebCore::]):
10791        (-[WebEditCommand dealloc]):
10792        (-[WebEditCommand finalize]):
10793        (+[WebEditCommand commandWithEditCommand:]):
10794        (-[WebEditCommand command]):
10795        (-[WebEditorUndoTarget undoEditing:]):
10796        (-[WebEditorUndoTarget redoEditing:]):
10797        (undoNameForEditAction):
10798        (WebEditorClient::registerCommandForUndoOrRedo):
10799        (WebEditorClient::registerCommandForUndo):
10800        (WebEditorClient::registerCommandForRedo):
10801        (WebEditorClient::clearUndoRedoOperations):
10802        (WebEditorClient::canUndo):
10803        (WebEditorClient::canRedo):
10804        (WebEditorClient::undo):
10805        (WebEditorClient::redo):
10806        * WebCoreSupport/WebFrameBridge.mm:
10807        * WebKit.xcodeproj/project.pbxproj:
10808
108092006-11-14  Alexey Proskuryakov  <ap@webkit.org>
10810
10811        Reviewed by Tim H.
10812
10813        http://bugs.webkit.org/show_bug.cgi?id=3387
10814        Redundant keydown, keypress, keyup events sent for arrow keys
10815
10816        Added another layer of ugly hacks around AppKit event dispatching.
10817
10818        1. For arrow keys, keyDown: is invoked after performKeyEquivalent:, so had to store
10819        _private->keyDownEvent in both methods, and make it persist after leaving them.
10820
10821        2. For Esc, AppKit calls performKeyEquivalent: with a fake event of some kind,
10822        use [NSApp currentEvent] to check for this to prevent it from being passed to  WebCore.
10823
10824        Test: manual-tests/arrow-key-events.html
10825
10826        * WebView/WebHTMLView.m:
10827        (-[NSMutableDictionary dealloc]):
10828        (-[NSArray keyDown:]):
10829        (-[NSArray keyUp:]):
10830        (-[NSArray performKeyEquivalent:]):
10831        * WebView/WebHTMLViewInternal.h:
10832
108332006-11-12  Brady Eidson <beidson@apple.com>
10834
10835        Rubberstamped by Anders
10836
10837        Changed some #includes from <WebKit/foo.h> to "foo.h"
10838
10839        * History/WebBackForwardList.m:
10840        * History/WebHistory.m:
10841
108422006-11-11  Geoffrey Garen  <ggaren@apple.com>
10843
10844        Reviewed by Maciej Stachowiak.
10845        
10846        - Fixed loader crash by clarifying ownership of WebKit client objects. 
10847        WebCore objects own their WebKit clients, and ref and deref through 
10848        virtual methods, leaving WebKit free to use whatever client / reference-counting 
10849        implementation it likes.
10850        
10851        WebKit on Mac just uses the same refcounting class that WebCore uses (Shared),
10852        but other platforms may choose to do other things.
10853
10854        * WebCoreSupport/WebChromeClient.h:
10855        (WebChromeClient::ref):
10856        (WebChromeClient::deref):
10857        (WebChromeClient::refCount):
10858        * WebCoreSupport/WebEditorClient.h: Nixed commented-out function prototypes.
10859        The ones in WebCore make clear what remains to be implemented. Replaced constructor
10860        with factory function to avoid leaks.
10861        * WebCoreSupport/WebEditorClient.mm:
10862        (WebEditorClient::create):
10863        (WebEditorClient::WebEditorClient):
10864        (WebEditorClient::setWebFrame):
10865        * WebCoreSupport/WebFrameBridge.mm:
10866        (-[WebFrameBridge initMainFrameWithPage:WebCore::frameName:view:webView:]):
10867        (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
10868        * WebCoreSupport/WebFrameLoaderClient.h: Replaced constructor with factory
10869        function to avoid leaks.
10870        (WebFrameLoaderClient::ref):
10871        (WebFrameLoaderClient::deref):
10872        (WebFrameLoaderClient::refCount):
10873        * WebCoreSupport/WebFrameLoaderClient.mm:
10874        (WebFrameLoaderClient::create):
10875        * WebView/WebFrame.mm:
10876        (-[WebFrame _initWithWebFrameView:webView:coreFrame:]):
10877
10878=== Safari-521.30 ===
10879
108802006-11-10  Maciej Stachowiak  <mjs@apple.com>
10881
10882        Reviewed by Anders.
10883        
10884        - remove some unnecessary uses of WebDataProtocol
10885
10886        * WebView/WebDataSource.mm: Remove the unneeded include.
10887        * WebView/WebView.mm:
10888        (+[WebView _canHandleRequest:]): Don't bother to check for unreachable URL here.
10889        Any request that has one will be an applewebdata: request, which will pass the check anyway.
10890
108912006-11-10  Anders Carlsson  <acarlsson@apple.com>
10892
10893        Reviewed by Geoff.
10894
10895        Update for changes to WebCore
10896        * WebView/WebHTMLView.m:
10897        (-[NSArray _applyStyleToSelection:withUndoAction:]):
10898        (-[NSArray _applyParagraphStyleToSelection:withUndoAction:]):
10899        (-[NSArray _toggleBold]):
10900        (-[NSArray _toggleItalic]):
10901
109022006-11-09  Anders Carlsson  <acarlsson@apple.com>
10903
10904        Reviewed by Maciej, Geoff.
10905
10906        Call execCommand directly here instead of going through the bridge.
10907        
10908        * WebView/WebHTMLView.m:
10909        (-[NSArray moveBackward:]):
10910        (-[NSArray moveBackwardAndModifySelection:]):
10911        (-[NSArray moveDown:]):
10912        (-[NSArray moveDownAndModifySelection:]):
10913        (-[NSArray moveForward:]):
10914        (-[NSArray moveForwardAndModifySelection:]):
10915        (-[NSArray moveLeft:]):
10916        (-[NSArray moveLeftAndModifySelection:]):
10917        (-[NSArray moveRight:]):
10918        (-[NSArray moveRightAndModifySelection:]):
10919        (-[NSArray moveToBeginningOfDocument:]):
10920        (-[NSArray moveToBeginningOfDocumentAndModifySelection:]):
10921        (-[NSArray moveToBeginningOfSentence:]):
10922        (-[NSArray moveToBeginningOfSentenceAndModifySelection:]):
10923        (-[NSArray moveToBeginningOfLine:]):
10924        (-[NSArray moveToBeginningOfLineAndModifySelection:]):
10925        (-[NSArray moveToBeginningOfParagraph:]):
10926        (-[NSArray moveToBeginningOfParagraphAndModifySelection:]):
10927        (-[NSArray moveToEndOfDocument:]):
10928        (-[NSArray moveToEndOfDocumentAndModifySelection:]):
10929        (-[NSArray moveToEndOfSentence:]):
10930        (-[NSArray moveToEndOfSentenceAndModifySelection:]):
10931        (-[NSArray moveToEndOfLine:]):
10932        (-[NSArray moveToEndOfLineAndModifySelection:]):
10933        (-[NSArray moveToEndOfParagraph:]):
10934        (-[NSArray moveToEndOfParagraphAndModifySelection:]):
10935        (-[NSArray moveParagraphBackwardAndModifySelection:]):
10936        (-[NSArray moveParagraphForwardAndModifySelection:]):
10937        (-[NSArray moveUp:]):
10938        (-[NSArray moveUpAndModifySelection:]):
10939        (-[NSArray moveWordBackward:]):
10940        (-[NSArray moveWordBackwardAndModifySelection:]):
10941        (-[NSArray moveWordForward:]):
10942        (-[NSArray moveWordForwardAndModifySelection:]):
10943        (-[NSArray moveWordLeft:]):
10944        (-[NSArray moveWordLeftAndModifySelection:]):
10945        (-[NSArray moveWordRight:]):
10946        (-[NSArray moveWordRightAndModifySelection:]):
10947
109482006-11-10  Brady Eidson  <beidson@apple.com>
10949
10950        Reviewed by Darin
10951  
10952        Took out WebIconDatabaseBridge and made WebKit call IconDatabase directly
10953
10954        * Misc/WebIconDatabase.m:
10955        (-[WebIconDatabase init]):
10956        (-[WebIconDatabase iconForURL:withSize:cache:]):
10957        (-[WebIconDatabase iconURLForURL:]):
10958        (-[WebIconDatabase defaultIconWithSize:]):
10959        (-[WebIconDatabase defaultIconForURL:withSize:]):
10960        (-[WebIconDatabase retainIconForURL:]):
10961        (-[WebIconDatabase releaseIconForURL:]):
10962        (-[WebIconDatabase setDelegate:]):
10963        (-[WebIconDatabase removeAllIcons]):
10964        (-[WebIconDatabase isIconExpiredForIconURL:]):
10965        (-[WebIconDatabase _isEnabled]):
10966        (-[WebIconDatabase _setIconData:forIconURL:]):
10967        (-[WebIconDatabase _setHaveNoIconForIconURL:]):
10968        (-[WebIconDatabase _setIconURL:forURL:]):
10969        (-[WebIconDatabase _hasEntryForIconURL:]):
10970        (-[WebIconDatabase _applicationWillTerminate:]):
10971        (-[WebIconDatabase _resetCachedWebPreferences:]):
10972        (-[WebIconDatabase _convertToWebCoreFormat]):
10973        (webGetNSImage):
10974        * Misc/WebIconDatabaseInternal.h: Added.
10975        * Misc/WebIconDatabasePrivate.h:
10976        * WebCoreSupport/WebFrameLoaderClient.h:
10977        * WebCoreSupport/WebFrameLoaderClient.mm:
10978        (WebFrameLoaderClient::dispatchDidReceiveIcon):
10979        * WebCoreSupport/WebIconDatabaseBridge.h: Removed.
10980        * WebCoreSupport/WebIconDatabaseBridge.m: Removed.
10981        * WebKit.xcodeproj/project.pbxproj:
10982
109832006-11-09  Oliver Hunt  <oliver@apple.com>
10984
10985        Reviewed by Brady.
10986        
10987        Updated to make use of MimeTypeRegistry/bridge
10988
10989        * Misc/WebNSPasteboardExtras.m:
10990        (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
10991        * WebCoreSupport/WebFrameBridge.mm:
10992        (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
10993        * WebView/WebDataSource.mm:
10994        (-[WebDataSource _documentFragmentWithArchive:]):
10995        * WebView/WebHTMLRepresentation.m:
10996        (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
10997        (+[WebHTMLRepresentation supportedImageMIMETypes]):
10998        * WebView/WebHTMLView.m:
10999        (-[WebHTMLView _imageExistsAtPaths:]):
11000        (-[WebHTMLView _documentFragmentWithPaths:]):
11001
110022006-11-09  Brady Eidson  <beidson@apple.com>
11003
11004        Reviewed by Darin
11005
11006        <rdar://problem/4829080>
11007        More loader re-factoring cleanup - WebFramePolicyListener was over-released
11008
11009        * WebCoreSupport/WebFrameLoaderClient.h: Changed vanilla ptr to a RetainPtr<> 
11010        * WebCoreSupport/WebFrameLoaderClient.mm:
11011        (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): Ditto
11012        (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): Ditto
11013        (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto
11014        (WebFrameLoaderClient::dispatchWillSubmitForm): Ditto
11015        (WebFrameLoaderClient::setUpPolicyListener): Ditto
11016        (-[WebFramePolicyListener receivedPolicyDecision:]): Ditto 
11017
110182006-11-08  Anders Carlsson  <acarlsson@apple.com>
11019
11020        Reviewed by Adam, Oliver.
11021
11022        Update for changes to WebCore. Pass a specific WebFrame to WebEditorClient
11023        instead of just passing the WebView.
11024        
11025        * WebCoreSupport/WebEditorClient.h:
11026        * WebCoreSupport/WebEditorClient.mm:
11027        (WebEditorClient::WebEditorClient):
11028        (WebEditorClient::setWebFrame):
11029        (WebEditorClient::isContinuousSpellCheckingEnabled):
11030        (WebEditorClient::spellCheckerDocumentTag):
11031        (WebEditorClient::shouldDeleteRange):
11032        (WebEditorClient::shouldShowDeleteInterface):
11033        (WebEditorClient::shouldApplyStyle):
11034        (WebEditorClient::shouldBeginEditing):
11035        (WebEditorClient::shouldEndEditing):
11036        (WebEditorClient::didBeginEditing):
11037        (WebEditorClient::respondToChangedContents):
11038        (WebEditorClient::didEndEditing):
11039        * WebCoreSupport/WebFrameBridge.mm:
11040        (-[WebFrameBridge initMainFrameWithPage:WebCore::frameName:view:webView:]):
11041        (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
11042
110432006-11-08  Anders Carlsson  <acarlsson@apple.com>
11044
11045        Reviewed by Adam.
11046
11047        Move more code into editor.
11048
11049        * WebCoreSupport/WebEditorClient.h:
11050        * WebCoreSupport/WebEditorClient.mm:
11051        (WebEditorClient::shouldBeginEditing):
11052        (WebEditorClient::shouldEndEditing):
11053        (WebEditorClient::didBeginEditing):
11054        (WebEditorClient::didEndEditing):
11055        * WebCoreSupport/WebFrameBridge.mm:
11056        * WebView/WebHTMLView.m:
11057        (-[NSArray indent:]):
11058        (-[NSArray outdent:]):
11059        * WebView/WebView.mm:
11060        * WebView/WebViewInternal.h:
11061
110622006-11-08  Beth Dakin  <bdakin@apple.com>
11063
11064        Reviewed by Adam.
11065
11066        Add WebElementIsContentEditableKey to the WebElementDictionary, and 
11067        use it!
11068
11069        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
11070        (-[WebDefaultUIDelegate 
11071        webView:contextMenuItemsForElement:defaultMenuItems:]): Use new 
11072        WebElementIsContentEditableKey.
11073        * Misc/WebElementDictionary.m:
11074        (+[WebElementDictionary initializeLookupTable]):
11075        (-[WebElementDictionary _isContentEditable]): Call into 
11076        HitTestResult::isContentEditable()
11077        * WebView/WebView.mm: Add new key.
11078        * WebView/WebViewPrivate.h: Add new key.
11079
110802006-11-08  Anders Carlsson  <acarlsson@apple.com>
11081
11082        Reviewed by Oliver.
11083
11084        Call into the WebCore editor object directly.
11085        
11086        * MigrateHeaders.make:
11087        * WebCoreSupport/WebEditorClient.h:
11088        * WebCoreSupport/WebEditorClient.mm:
11089        (WebEditorClient::shouldDeleteRange):
11090        (WebEditorClient::shouldShowDeleteInterface):
11091        (WebEditorClient::shouldApplyStyle):
11092        * WebView/WebFrame.mm:
11093        (core):
11094        (kit):
11095        * WebView/WebFrameInternal.h:
11096        * WebView/WebHTMLView.m:
11097        (-[NSArray _applyStyleToSelection:withUndoAction:]):
11098        (-[NSArray _applyParagraphStyleToSelection:withUndoAction:]):
11099        (-[NSArray _toggleBold]):
11100        (-[NSArray _toggleItalic]):
11101        (-[NSArray _changeCSSColorUsingSelector:inRange:]):
11102        (-[NSArray underline:]):
11103        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
11104        * WebView/WebView.mm:
11105        (-[WebView applyStyle:]):
11106
111072006-11-08  Anders Carlsson  <acarlsson@apple.com>
11108
11109        Reviewed by Oliver.
11110
11111        <rdar://problem/4825370>
11112        REGRESSION: Selecting "Look Up In Dictionary" from contextual menu fails to open the Dictionary app
11113        
11114        * WebView/WebHTMLView.m:
11115        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
11116        Initialize the framework pointer to 0.
11117        
111182006-11-07  Darin Adler  <darin@apple.com>
11119
11120        Reviewed by Geoff.
11121
11122        - udpated for changes to move from Frame/FrameMac to FrameLoader
11123
11124        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
11125        (-[WebDefaultUIDelegate openNewWindowWithURL:element:]):
11126        * Misc/WebNSAttributedStringExtras.m:
11127        (+[NSAttributedString _web_attributedStringFromRange:]):
11128        * Plugins/WebBaseNetscapePluginView.mm:
11129        (-[WebBaseNetscapePluginView requestWithURLCString:]):
11130        * Plugins/WebNetscapePluginEmbeddedView.m:
11131        (-[WebNetscapePluginEmbeddedView didStart]):
11132        * Plugins/WebNetscapePluginStream.mm:
11133        * Plugins/WebPluginController.mm:
11134        (-[WebPluginController pluginView:receivedResponse:]):
11135        * WebCoreSupport/WebFrameBridge.mm:
11136        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
11137        * WebCoreSupport/WebFrameLoaderClient.mm:
11138        (WebFrameLoaderClient::provisionalLoadStarted):
11139        * WebView/WebFrame.mm:
11140        (-[WebFrame _canCachePage]):
11141        (+[WebFrame _timeOfLastCompletedLoad]):
11142        (-[WebFrame _loadItem:withLoadType:]):
11143        (-[WebFrame _reloadForPluginChanges]):
11144        (-[WebFrame stopLoading]):
11145
111462006-11-07  Anders Carlsson  <acarlsson@apple.com>
11147
11148        Reviewed by Geoff.
11149
11150        Use the WebCore editing enums.
11151        
11152        * WebCoreSupport/WebFrameBridge.mm:
11153        (-[WebFrameBridge undoNameForEditAction:]):
11154        * WebView/WebHTMLView.m:
11155        (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
11156        (-[WebHTMLView _deleteSelection]):
11157        (-[WebHTMLView moveBackward:]):
11158        (-[WebHTMLView moveBackwardAndModifySelection:]):
11159        (-[WebHTMLView moveDown:]):
11160        (-[WebHTMLView moveDownAndModifySelection:]):
11161        (-[WebHTMLView moveForward:]):
11162        (-[WebHTMLView moveForwardAndModifySelection:]):
11163        (-[WebHTMLView moveLeft:]):
11164        (-[WebHTMLView moveLeftAndModifySelection:]):
11165        (-[WebHTMLView moveRight:]):
11166        (-[WebHTMLView moveRightAndModifySelection:]):
11167        (-[WebHTMLView moveToBeginningOfDocument:]):
11168        (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]):
11169        (-[WebHTMLView moveToBeginningOfSentence:]):
11170        (-[WebHTMLView moveToBeginningOfSentenceAndModifySelection:]):
11171        (-[WebHTMLView moveToBeginningOfLine:]):
11172        (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]):
11173        (-[WebHTMLView moveToBeginningOfParagraph:]):
11174        (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]):
11175        (-[WebHTMLView moveToEndOfDocument:]):
11176        (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]):
11177        (-[WebHTMLView moveToEndOfSentence:]):
11178        (-[WebHTMLView moveToEndOfSentenceAndModifySelection:]):
11179        (-[WebHTMLView moveToEndOfLine:]):
11180        (-[WebHTMLView moveToEndOfLineAndModifySelection:]):
11181        (-[WebHTMLView moveToEndOfParagraph:]):
11182        (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]):
11183        (-[WebHTMLView moveParagraphBackwardAndModifySelection:]):
11184        (-[WebHTMLView moveParagraphForwardAndModifySelection:]):
11185        (-[WebHTMLView moveUp:]):
11186        (-[WebHTMLView moveUpAndModifySelection:]):
11187        (-[WebHTMLView moveWordBackward:]):
11188        (-[WebHTMLView moveWordBackwardAndModifySelection:]):
11189        (-[WebHTMLView moveWordForward:]):
11190        (-[WebHTMLView moveWordForwardAndModifySelection:]):
11191        (-[WebHTMLView moveWordLeft:]):
11192        (-[WebHTMLView moveWordLeftAndModifySelection:]):
11193        (-[WebHTMLView moveWordRight:]):
11194        (-[WebHTMLView moveWordRightAndModifySelection:]):
11195        (-[WebHTMLView pageUp:]):
11196        (-[WebHTMLView pageDown:]):
11197        (-[WebHTMLView pageUpAndModifySelection:]):
11198        (-[WebHTMLView pageDownAndModifySelection:]):
11199        (-[WebHTMLView _expandSelectionToGranularity:]):
11200        (-[WebHTMLView selectParagraph:]):
11201        (-[WebHTMLView selectLine:]):
11202        (-[WebHTMLView selectSentence:]):
11203        (-[WebHTMLView selectWord:]):
11204        (-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
11205        (-[WebHTMLView _applyParagraphStyleToSelection:withUndoAction:]):
11206        (-[WebHTMLView _toggleBold]):
11207        (-[WebHTMLView _toggleItalic]):
11208        (-[WebHTMLView pasteFont:]):
11209        (-[WebHTMLView changeFont:]):
11210        (-[WebHTMLView changeAttributes:]):
11211        (-[WebHTMLView _undoActionFromColorPanelWithSelector:]):
11212        (-[WebHTMLView changeColor:]):
11213        (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]):
11214        (-[WebHTMLView alignCenter:]):
11215        (-[WebHTMLView alignJustified:]):
11216        (-[WebHTMLView alignLeft:]):
11217        (-[WebHTMLView alignRight:]):
11218        (-[WebHTMLView _deleteWithDirection:SelectionController::granularity:killRing:isTypingAction:]):
11219        (-[WebHTMLView deleteForward:]):
11220        (-[WebHTMLView deleteBackward:]):
11221        (-[WebHTMLView deleteWordForward:]):
11222        (-[WebHTMLView deleteWordBackward:]):
11223        (-[WebHTMLView deleteToBeginningOfLine:]):
11224        (-[WebHTMLView deleteToEndOfLine:]):
11225        (-[WebHTMLView deleteToBeginningOfParagraph:]):
11226        (-[WebHTMLView deleteToEndOfParagraph:]):
11227        (-[WebHTMLView subscript:]):
11228        (-[WebHTMLView superscript:]):
11229        (-[WebHTMLView unscript:]):
11230        (-[WebHTMLView underline:]):
11231        (-[WebHTMLView deleteToMark:]):
11232        (-[WebHTMLView toggleBaseWritingDirection:]):
11233        (-[WebHTMLView changeBaseWritingDirection:]):
11234        (-[WebHTMLView _canSmartCopyOrDelete]):
11235        (-[WebTextCompleteController doCompletion]):
11236        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
11237        * WebView/WebView.mm:
11238        (-[WebView setTypingStyle:]):
11239        (-[WebView applyStyle:]):
11240
112412006-11-06  Geoffrey Garen  <ggaren@apple.com>
11242
11243        Reviewed by Tim Hatcher.
11244
11245        Removed ScreenClient. It was highly unpopular, risking my midterm re-election.
11246        
11247        None of Screen's responsibilities require up-calls to WebKit or delegates, 
11248        so WebCore can handle it all.
11249
11250        * WebCoreSupport/WebChromeClient.mm:
11251        (WebChromeClient::setWindowRect):
11252        (WebChromeClient::windowRect):
11253        * WebCoreSupport/WebScreenClient.h: Removed.
11254        * WebCoreSupport/WebScreenClient.mm: Removed.
11255        * WebKit.xcodeproj/project.pbxproj:
11256        * WebView/WebView.mm:
11257        (-[WebView _commonInitializationWithFrameName:groupName:]):
11258
112592006-11-06  Geoffrey Garen  <ggaren@apple.com>
11260
11261        Reviewed by Darin.
11262        
11263        Accidentally rolled out this change when removing the WebPageBridge. Now
11264        putting it back.
11265
11266        * WebView/WebView.mm:
11267        (-[WebView _commonInitializationWithFrameName:groupName:]):
11268
112692006-11-05  Geoffrey Garen  <ggaren@apple.com>
11270
11271        Reviewed by Maciej, Darin, Anders.
11272
11273        Removed the Page bridge. Beefed up Chrome. Added Screen and ScreenClient.
11274        
11275        (WebChromeClient::pageRect): It may seem weird for the page to ask the Chrome/ChromeClient
11276        about its own dimensions. The idea here is that we're asking the Chrome how
11277        much space it has devoted to the page. We have API for this (-webViewContentRect), but 
11278        it was documented incorrectly (even Safari used it wrong), so we don't use 
11279        it anymore. Once we fix our API/documentation, we can return to making a
11280        delegate callback to ask for the page's size.
11281        (WebChromeClient::createWindow): Changed to take a FrameLoadRequest with
11282        an appropriate referrer, instead of making up its own.
11283        (WebChromeClient::createModalDialog): Changed to take a FrameLoadRequest with
11284        an appropriate referrer, instead of broken out parcels.
11285        * WebCoreSupport/WebPageBridge.h: Removed. Dead Code.
11286        * WebCoreSupport/WebPageBridge.mm: Removed. Dead Code.
11287        * WebCoreSupport/WebScreenClient.h: Added.
11288        * WebCoreSupport/WebScreenClient.mm: Added.
11289        * WebView/WebView.mm: Added NULL checks for new _private->page, since
11290        it's not NULL-safe like the bridge was, and it gets cleared before
11291        dealloc.
11292
112932006-11-06  Graham Dennis  <graham.dennis@gmail.com>
11294
11295        Reviewed by Tim Hatcher.
11296
11297        Part of patch for http://bugs.webkit.org/show_bug.cgi?id=11323
11298        Link dragging behaviour does not obey WebKitEditableLinkBehavior WebPref
11299
11300        * DefaultDelegates/WebDefaultUIDelegate.m:
11301        (-[NSApplication webView:dragSourceActionMaskForPoint:]): Logic moved to 
11302        WebHTMLView's _mayStartDragAtEventLocation
11303        * Misc/WebElementDictionary.m: added isLiveLink
11304        (+[WebElementDictionary initializeLookupTable]):
11305        (-[WebElementDictionary _isLiveLink]):
11306        * WebView/WebHTMLView.m: 
11307        (-[WebHTMLView _mayStartDragAtEventLocation:]): Editable links should
11308        only be followed if isLiveLink is true
11309        (-[WebHTMLView _isMoveDrag:]): A drag of a live editable link is not
11310        a move
11311        (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]):
11312        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
11313        * WebView/WebView.mm: added WebElementLinkIsLiveKey
11314        * WebView/WebViewPrivate.h: ditto
11315
113162006-11-04  Maciej Stachowiak  <mjs@apple.com>
11317
11318        Reviewed by Oliver.
11319        
11320        - removed unneeded (and obsolete) header includes
11321
11322        * WebCoreSupport/WebFrameBridge.mm:
11323        * WebView/WebFrame.mm:
11324
113252006-11-05  Darin Adler  <darin@apple.com>
11326
11327        - WebKit part of Frame.h check-in (forgot to land it)
11328
11329        * WebCoreSupport/WebFrameBridge.h:
11330        * WebCoreSupport/WebFrameBridge.mm:
11331        (-[WebFrameBridge textViewWasFirstResponderAtMouseDownTime:]):
11332        (-[WebFrameBridge shouldInterruptJavaScript]):
11333        (-[WebFrameBridge saveDocumentState:]):
11334        (-[WebFrameBridge previousKeyViewOutsideWebFrameViews]):
11335        (-[WebFrameBridge valueForKey:keys:values:]):
11336        (-[WebFrameBridge getObjectCacheSize]):
11337        (-[WebFrameBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
11338        (-[WebFrameBridge mayStartDragAtEventLocation:]):
11339        (-[WebFrameBridge canGoBackOrForward:]):
11340        (-[WebFrameBridge goBackOrForward:]):
11341        (-[WebFrameBridge print]):
11342        (-[WebFrameBridge getAppletInView:]):
11343        (-[WebFrameBridge pollForAppletInView:]):
11344        (-[WebFrameBridge respondToChangedContents]):
11345        (-[WebFrameBridge respondToChangedSelection]):
11346        (-[WebFrameBridge setIsSelected:forView:]):
11347
113482006-11-04  Darin Adler  <darin@apple.com>
11349
11350        Reviewed by Maciej.
11351
11352        - converted more of the loader machinery to work with cross-platform
11353          data structures instead of Macintosh-specific ones
11354
11355          store the computed user agent string as a WebCore::String instead
11356          of an NSString to avoid overhead converting it every time we get it
11357
11358        * COM/WebFrame.cpp:
11359        (WebFrame::initWithName):
11360        * ChangeLog:
11361        * Misc/WebElementDictionary.m:
11362        (-[WebElementDictionary _image]):
11363        (-[WebElementDictionary _targetWebFrame]):
11364        * WebCoreSupport/WebFrameLoaderClient.h:
11365        * WebCoreSupport/WebFrameLoaderClient.mm:
11366        (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
11367        (WebFrameLoaderClient::shouldTreatURLAsSameAsCurrent):
11368        (WebFrameLoaderClient::setTitle):
11369        (WebFrameLoaderClient::userAgent):
11370        (WebFrameLoaderClient::actionDictionary):
11371        * WebCoreSupport/WebPageBridge.mm:
11372        (WebCore::if):
11373        * WebView/WebDataSource.mm:
11374        (-[WebDataSource _URL]):
11375        (-[WebDataSource _URLForHistory]):
11376        (-[WebDataSource unreachableURL]):
11377        * WebView/WebHTMLView.m:
11378        (-[WebHTMLView elementAtPoint:allowShadowContent:]):
11379        * WebView/WebPDFView.mm:
11380        (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
11381        (-[WebPDFView _path]):
11382        * WebView/WebView.mm:
11383        (-[WebViewPrivate init]):
11384        (-[WebViewPrivate dealloc]):
11385        (-[WebViewPrivate finalize]):
11386        (-[WebView _preferencesChangedNotification:]):
11387        (-[WebView _cachedResponseForURL:]):
11388        (-[WebView setApplicationNameForUserAgent:]):
11389        (-[WebView setCustomUserAgent:]):
11390        (-[WebView customUserAgent]):
11391        (-[WebView userAgentForURL:]):
11392        (-[WebView _computeUserAgent]):
11393        (-[WebView WebCore::]):
11394        * WebView/WebViewInternal.h:
11395
113962006-11-04  Bertrand Guiheneuf <guiheneuf@gmail.com>
11397
11398        Reviewed by Maciej, tweaked and landed by Alexey (using a patch by Don Gibson).
11399
11400        http://bugs.webkit.org/show_bug.cgi?id=11433
11401        Fixes to get WebKit to run on Windows; implemented AffineTransformCairo.
11402
11403        * COM/WebFrame.cpp:
11404        (WebFrame::initWithName):
11405        (WebFrame::loadDataSource):
11406        (WebFrame::receivedRedirect):
11407        (WebFrame::receivedResponse):
11408        (WebFrame::didReceiveData):
11409        (WebFrame::receivedAllData):
11410        Use resource handles now. Do not start doc loader by hand anymore. 
11411        Handle didReceiveData() callback instead of receivedData() which 
11412        is deprecated in implementation of ResourceHandleClient        
11413
11414        * COM/WebFrame.h:
11415        * COM/WebView.cpp:
11416        Applied ResourceLoader --> ResourceHandle renaming
11417
11418        * WebKit.vcproj/WebKit.rc:
11419        Got rid of MFC dependencies (build fix for VCExpress).
11420
11421        * WebKit.vcproj/WebKit.vcproj:
11422        Added platform/graphics platform/network and platform/network/win 
11423        to headers search paths
11424
114252006-11-03  Geoffrey Garen  <ggaren@apple.com>
11426
11427        Forgot to add these two files. Oops.
11428
11429        * WebCoreSupport/WebChromeClient.h: Added.
11430        * WebCoreSupport/WebChromeClient.mm: Added.
11431
114322006-11-02  Geoffrey Garen  <ggaren@apple.com>
11433
11434        Reviewed by Darin, Beth.
11435
11436        First cut at factoring Page's UIDelegate-related functions into Chrome
11437        and ChromeClient.
11438
11439        Layout tests pass.
11440        
11441        * WebCoreSupport/WebEditorClient.h:
11442        * WebCoreSupport/WebPageBridge.mm:
11443        * WebKit.xcodeproj/project.pbxproj:
11444
114452006-11-02  Timothy Hatcher  <timothy@apple.com>
11446
11447        Reviewed by Brady.
11448
11449        Adding outdent to the WebView responder forwarding list.
11450        Also add outdent to WebHTMLView.h and WebViewPrivate.h.
11451
11452        * WebView/WebHTMLView.h:
11453        * WebView/WebViewPrivate.h:
11454        * WebView/WebView.mm:
11455
114562006-11-01  John Sullivan  <sullivan@apple.com>
11457
11458        Reviewed by Adam Roben
11459        
11460        - fixed <rdar://problem/4801351> Crash reloading PDF file in new Safari (or closing a window containing a PDF file)
11461
11462        * WebView/WebPDFView.mm:
11463        (-[WebPDFView initWithFrame:]):
11464        Retain the PDFSubview in the code path where we just obtain it by asking the PDFPreviewView for it. We were
11465        unconditionally releasing it in dealloc, but only retaining it in one of the two code paths.
11466
114672006-10-31  Mark Rowe  <bdash@webkit.org>
11468
11469        Reviewed by Maciej.
11470
11471        Fix null pointer dereference while running editing/pasteboard/drag-drop-modifies-page.html
11472
11473        * Misc/WebElementDictionary.m:
11474        (-[WebElementDictionary _image]): Add null check.
11475
114762006-10-31  Beth Dakin  <bdakin@apple.com>
11477
11478        Reviewed by Maciej.
11479
11480        This creates local functions for the remaining WebElementDictionary 
11481        members that calls into HitTestResult instead of doing magical 
11482        things with the Objective-C DOM classes.
11483
11484        * ChangeLog:
11485        * Misc/WebElementDictionary.m:
11486        (addLookupKey): The values of the dictionary are now just 
11487        selectors. They used to be WebElementMethods which were 
11488        WebElementTargetObjects associated with selectors, but none of that 
11489        is needed any more.
11490        (+[WebElementDictionary initializeLookupTable]): All selectors are 
11491        now local functions, no more WebElementTargetObjects.
11492        (-[WebElementDictionary objectForKey:]): No more target objects!
11493        (-[WebElementDictionary _domNode]): Call into HitTestResult member 
11494        variable.
11495        (-[WebElementDictionary _altDisplayString]): Same.
11496        (-[WebElementDictionary _image]): Same.
11497        (-[WebElementDictionary _absoluteImageURL]): Same.
11498        (-[WebElementDictionary _title]): Same.
11499        (-[WebElementDictionary _absoluteLinkURL]): Same.
11500        (-[WebElementDictionary _targetWebFrame]): Same.
11501        (-[WebElementDictionary _titleDisplayString]): Same.
11502        (-[WebElementDictionary _textContent]): Same.
11503
115042006-10-31  Geoffrey Garen  <ggaren@apple.com>
11505
11506        Reviewed by Alice.
11507        
11508        Moved some Editing code from WebKit, the bridge, and WebCore::Frame down 
11509        to WebCore::Editor.
11510
11511        * WebCoreSupport/WebFrameBridge.mm:
11512        * WebView/WebHTMLView.m:
11513        (-[WebHTMLView _shouldDeleteRange:]):
11514        (-[WebHTMLView _canCopy]):
11515        (-[WebHTMLView _canCut]):
11516        (-[WebHTMLView _canDelete]):
11517        (-[WebHTMLView _canPaste]):
11518        (-[WebHTMLView _canEdit]):
11519        (-[WebHTMLView _canEditRichly]):
11520        (-[WebHTMLView _isEditable]):
11521        (-[WebHTMLView _isSelectionInPasswordField]):
11522        (-[NSArray validateUserInterfaceItem:]):
11523        (-[NSArray _expandSelectionToGranularity:]):
11524
115252006-10-31  John Sullivan  <sullivan@apple.com>
11526
11527        Reviewed by Beth and Adam
11528        
11529        Display a tooltip when hovering over marked bad grammar.
11530
11531        * Misc/WebElementDictionary.m:
11532        (+[WebElementDictionary initializeLookupTable]):
11533        support spelling tool tip
11534        (-[WebElementDictionary _spellingToolTip]):
11535        new method, calls through to HitTestResult
11536        
11537        * WebView/WebHTMLView.m:
11538        (-[WebHTMLView _updateMouseoverWithEvent:]):
11539        Check for a spelling tool tip; if found, prefer it over the other possible tool tips.
11540        Check for empty strings instead of just nil strings being, since values from 
11541        WebElementDictionary are empty strings.
11542        
11543        * WebView/WebViewPrivate.h:
11544        declare new string constant WebElementSpellingToolTipKey
11545        * WebView/WebView.mm:
11546        define new string constant WebElementSpellingToolTipKey
11547        
115482006-10-31  Beth Dakin  <bdakin@apple.com>
11549
11550        Reviewed by Maciej.
11551
11552        Small tweaks to WebKit because of http://bugs.webkit.org/
11553        show_bug.cgi?id=11461 HitTestResult should be split into 
11554        HitTestRequest and HitTestResult
11555
11556        * WebKit.xcodeproj/project.pbxproj:
11557        * WebView/WebHTMLView.m:
11558        (-[WebHTMLView elementAtPoint:allowShadowContent:]): The 
11559        HitTestResult initializer now just takes a point.
11560
115612006-10-31  Darin Adler  <darin@apple.com>
11562
11563        Reviewed by Brady.
11564
11565        - got "action dictionary" code out of FrameLoader,
11566          replacing with a class called NavigationAction
11567
11568        * WebCoreSupport/WebFrameLoaderClient.h: Changed parameter types to NavigationAction.
11569        Made elementForEvent non-virtual. Added actionDictionary function.
11570        * WebCoreSupport/WebFrameLoaderClient.mm:
11571        (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): Changed parameter type,
11572        and used actionDictionary to make the action dictionary.
11573        (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto.
11574        (WebFrameLoaderClient::actionDictionary): Added. Code that was originally in WebCore
11575        that creates the action dictionary (from a NavigationAction).
11576
11577        * WebView/WebFrame.mm: (-[WebFrame _loadItem:withLoadType:]): Use NavigationAction
11578        instead of a dictionary for the action parameters.
11579
115802006-10-31  Marvin Decker  <marv.decker@gmail.com>
11581
11582        Reviewed by Maciej.
11583        
11584        - fixed "Stop and reload don't work on the WebView"
11585        http://bugs.webkit.org/show_bug.cgi?id=11285
11586
11587        * COM/WebFrame.cpp:
11588        (WebFrame::stopLoading): Implement.
11589        * COM/WebView.cpp:
11590        (WebView::stopLoading): ditto
11591        (WebView::reload): ditto
11592
115932006-10-30  Darin Adler  <darin@apple.com>
11594
11595        * Plugins/WebBaseNetscapePluginView.mm:
11596        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
11597        Fix comment.
11598
115992006-10-30  John Sullivan  <sullivan@apple.com>
11600
11601        Reviewed by Geoff Garen
11602
11603        * WebView/WebHTMLView.m:
11604        (-[NSArray checkSpelling:]):
11605        removed code to update spelling panel; WebCore handles that now
11606        (-[NSArray showGuessPanel:]):
11607        ditto
11608
116092006-10-30  John Sullivan  <sullivan@apple.com>
11610
11611        * English.lproj/WebViewEditingContextMenu.nib/info.nib:
11612        * English.lproj/WebViewEditingContextMenu.nib/objects.nib:
11613        Another wording change to match framework, post-Tiger:
11614        "Check Spelling" -> "Check Document Now"
11615
116162006-10-30  John Sullivan  <sullivan@apple.com>
11617
11618        Reviewed by Geoff Garen.
11619        
11620        Moved spelling-related methods from bridge to EditorClient. Added one not-yet-used
11621        grammar-related method.
11622
11623        * WebCoreSupport/WebEditorClient.h:
11624        declare overrides of isContinuousSpellCheckingEnabled(), spellCheckerDocumentTag(), and new
11625        isGrammarCheckingEnabled()
11626        * WebCoreSupport/WebEditorClient.mm:
11627        (WebEditorClient::isContinuousSpellCheckingEnabled):
11628        implement by calling through to WebView
11629        (WebEditorClient::isGrammarCheckingEnabled):
11630        ditto
11631        (WebEditorClient::spellCheckerDocumentTag):
11632        ditto
11633        
11634        * WebCoreSupport/WebFrameBridge.mm:
11635        removed bridge equivalents of these methods
11636
116372006-10-30  Geoffrey Garen  <ggaren@apple.com>
11638
11639        Reviewed by Beth.
11640        
11641        Fixed nil-deref crash that I saw while using TOT (not sure how to repro,
11642        but the debugger confirmed the cause).
11643
11644        * WebView/WebFrame.mm:
11645        (core): Added check for NULL bridge.
11646
116472006-10-30  Geoffrey Garen  <ggaren@apple.com>
11648
11649        Reviewed by Darin.
11650
11651        Removed a number of editing and selection methods from the bridge.
11652        
11653        I moved cross-platform editing and selection code into WebCore::Editor and 
11654        WebCore::SelectionController, respecitvely.
11655        
11656        All of the seemingly new code here is just code grabbed from WebCore or
11657        merged from WebCoreFrameBridge.
11658        
11659        I changed one piece of internal API: we now pass around Ranges in places
11660        where we used to pass around broken out components of Ranges.
11661        
11662        I also added WebCore XPATH_SUPPORT AND SVG_SUPPORT #defines to the project.
11663        Since we now include WebCore headers that depend on these #defines, we need
11664        to keep in sync with them, to avoid binary incompatibility.
11665
116662006-10-30  Darin Adler  <darin@apple.com>
11667
11668        Reviewed by John Sullivan.
11669
11670        - work toward removing Objective-C data types from FrameLoader.h:
11671          removed NSDate, NSString, WebCorePageState, WebCoreResourceLoader,
11672          and WebCoreResourceHandle
11673        - moved bodyBackgroundColor function here from Frame
11674
11675        * History/WebHistoryItem.m: (+[WebHistoryItem _closeObjectsInPendingPageCaches]):
11676        Updated for change in WebCorePageState.
11677
11678        * WebCoreSupport/WebFrameBridge.mm: Removed saveDocumentToPageCache method.
11679
11680        * WebCoreSupport/WebFrameLoaderClient.h: Changed NSDate to double.
11681        * WebCoreSupport/WebFrameLoaderClient.mm:
11682        (WebFrameLoaderClient::invalidateCurrentItemPageCache): Moved the code that was
11683        formerly in invalidatePageCache: on the bridge here.
11684        (WebFrameLoaderClient::dispatchWillPerformClientRedirect): Added code to make the
11685        NSDate here.
11686        (WebFrameLoaderClient::createPageCache): Restructured code to create the
11687        WebCorePageState object directly instead of calling saveDocumentToPageCache on
11688        the bridge.
11689
11690        * WebView/WebFrame.mm: (-[WebFrame _bodyBackgroundColor]): Rewrote this to work
11691        directly with the DOM and renderers rather than using a function on Frame.
11692
116932006-10-29  Maciej Stachowiak  <mjs@apple.com>
11694
11695        Reviewed by Anders.
11696
11697        - added ResourceResponse class and didReceiveResponse delegate call
11698
11699        * WebCoreSupport/WebFrameBridge.mm: Removed no longer needed
11700        expiresTimeForResponse: method.
11701
117022006-10-29  Darin Adler  <darin@apple.com>
11703
11704        - update for the WebCore rename
11705
11706        * WebCoreSupport/WebFrameLoaderClient.mm:
11707        * WebView/WebFrame.mm:
11708
117092006-10-29  Darin Adler  <darin@apple.com>
11710
11711        - update for the WebCore renames
11712
11713        * Plugins/WebNetscapePluginStream.mm:
11714        * Plugins/WebPluginController.mm:
11715        * WebCoreSupport/WebFrameBridge.mm:
11716        * WebCoreSupport/WebFrameLoaderClient.h:
11717        * WebCoreSupport/WebFrameLoaderClient.mm:
11718        (WebFrameLoaderClient::willUseArchive):
11719        (WebFrameLoaderClient::isArchiveLoadPending):
11720        (WebFrameLoaderClient::cancelPendingArchiveLoad):
11721        (WebFrameLoaderClient::deliverArchivedResources):
11722        * WebCoreSupport/WebPageBridge.mm:
11723        (-[WebPageBridge canRunModalNow]):
11724        * WebView/WebDocumentLoaderMac.h:
11725        * WebView/WebFrame.mm:
11726        * WebView/WebHTMLRepresentation.m:
11727        * WebView/WebView.mm:
11728
117292006-10-29  Darin Adler  <darin@apple.com>
11730
11731        Rubber stamped by Adam Roben.
11732
11733        - renamed WebCore's WebFrameLoaderClient to match the class name inside it
11734
11735        * WebCoreSupport/WebFrameBridge.mm: Update include.
11736        * WebCoreSupport/WebFrameLoaderClient.h: Ditto.
11737
117382006-10-29  Darin Adler  <darin@apple.com>
11739
11740        Reviewed by Maciej.
11741
11742        - eliminate use of NSArray to carry form data around
11743          (the code in this framework was actually using the NSArray to hold a single
11744           NSData anyway, so I just went back to an NSData for now)
11745
11746        - also fixed http://bugs.webkit.org/show_bug.cgi?id=11444
11747          REGRESSION (r17378): Exception (-[NSCFDictionary setObject:forKey:]:
11748          attempt to insert nil value) when submitting a form with an empty
11749          uninitialized field
11750
11751        * History/WebHistoryItem.m:
11752        (-[WebHistoryItem _setFormInfoFromRequest:]):
11753        (-[WebHistoryItem formData]):
11754        * History/WebHistoryItemPrivate.h:
11755        * WebCoreSupport/WebFrameLoaderClient.mm:
11756        (WebFrameLoaderClient::dispatchWillSubmitForm):
11757        * WebView/WebFrame.mm:
11758        (-[WebFrame _loadItem:withLoadType:]):
11759
117602006-10-28  Darin Adler  <darin@apple.com>
11761
11762        Reviewed by Maciej.
11763
11764        - eliminated the use of Objective-C for the policy decider
11765          machinery, obviating the need for WebPolicyDeciderMac
11766
11767        - moved the defersLoading flag from WebView to WebCore::Page
11768
11769        - removed unused copies of four methods that in the frame bridge;
11770          the actually-used copies are in the page bridge
11771
11772        - updated for rename of PassRefPtr::release to releaseRef
11773
11774        * WebView/WebPolicyDeciderMac.h: Removed.
11775        * WebView/WebPolicyDeciderMac.m: Removed.
11776        * WebKit.xcodeproj/project.pbxproj: Updated for removal.
11777
11778        * Plugins/WebBaseNetscapePluginView.mm:
11779        (-[WebBaseNetscapePluginView sendEvent:]):
11780        * Plugins/WebNetscapePluginStream.mm:
11781        * WebCoreSupport/WebFrameBridge.mm:
11782        * WebCoreSupport/WebFrameLoaderClient.h:
11783        * WebCoreSupport/WebFrameLoaderClient.mm:
11784        (getWebView):
11785        (WebFrameLoaderClient::WebFrameLoaderClient):
11786        (WebFrameLoaderClient::willCloseDocument):
11787        (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
11788        (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
11789        (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
11790        (WebFrameLoaderClient::cancelPolicyCheck):
11791        (WebFrameLoaderClient::dispatchWillSubmitForm):
11792        (WebFrameLoaderClient::setDefersLoading):
11793        (WebFrameLoaderClient::setTitle):
11794        (WebFrameLoaderClient::deliverArchivedResourcesAfterDelay):
11795        (WebFrameLoaderClient::deliverArchivedResources):
11796        (WebFrameLoaderClient::setUpPolicyListener):
11797        (WebFrameLoaderClient::receivedPolicyDecison):
11798        (WebFrameLoaderClient::userAgent):
11799        (-[WebFramePolicyListener initWithWebCoreFrame:]):
11800        (-[WebFramePolicyListener invalidate]):
11801        (-[WebFramePolicyListener dealloc]):
11802        (-[WebFramePolicyListener finalize]):
11803        (-[WebFramePolicyListener receivedPolicyDecision:]):
11804        (-[WebFramePolicyListener ignore]):
11805        (-[WebFramePolicyListener download]):
11806        (-[WebFramePolicyListener use]):
11807        (-[WebFramePolicyListener continue]):
11808        * WebCoreSupport/WebPageBridge.mm:
11809        (-[WebPageBridge runModal]):
11810        * WebView/WebArchiver.m:
11811        (+[WebArchiver archiveSelectionInFrame:]):
11812        * WebView/WebFormDelegate.h:
11813        * WebView/WebFormDelegate.m:
11814        (+[WebFormDelegate _sharedWebFormDelegate]):
11815        (-[WebFormDelegate textFieldDidBeginEditing:inFrame:]):
11816        (-[WebFormDelegate textFieldDidEndEditing:inFrame:]):
11817        (-[WebFormDelegate textDidChangeInTextField:inFrame:]):
11818        (-[WebFormDelegate textDidChangeInTextArea:inFrame:]):
11819        (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]):
11820        * WebView/WebFrame.mm:
11821        (-[WebFrame _loadURL:referrer:intoChild:]):
11822        (-[WebFrame _isFrameSet]):
11823        * WebView/WebFrameInternal.h:
11824        * WebView/WebFrameView.mm:
11825        (-[WebFrameView _shouldDrawBorder]):
11826        * WebView/WebHTMLView.m:
11827        (-[NSArray knowsPageRange:]):
11828        * WebView/WebView.mm:
11829        (-[WebView _formDelegate]):
11830        * WebView/WebViewInternal.h:
11831        * WebView/WebViewPrivate.h:
11832
118332006-10-28  Adam Roben  <aroben@apple.com>
11834
11835        Reviewed by Maciej.
11836
11837        Fix layout tests that broke after r17399. Mitz discovered that the
11838        failures were caused by HitTestResult::m_point being uninitialized
11839        much of the time. HitTestResults are now always constructed with a
11840        point.
11841
11842        * WebView/WebHTMLView.m:
11843        (-[WebHTMLView elementAtPoint:allowShadowContent:]): Pass point to
11844        HitTestResult constructor.
11845
118462006-10-28  Beth Dakin  <bdakin@apple.com>
11847
11848        Reviewed by Darin.
11849
11850        This is the WebKit half of pushing the guts of elementAtPoint and 
11851        WebElementDictionary into WebCore. Among other things, this patch 
11852        makes WebElementDictionary.m and WebHTMLView.m Objective-C++
11853
11854        * MigrateHeaders.make: Add DOMElementInternal.h to the list of 
11855        headers to migrate.
11856        * Misc/WebElementDictionary.h: Replaced DOMNode, DOMElement, and 
11857        NSPoint member variables with a HitTestResult member variable.
11858        * Misc/WebElementDictionary.m:
11859        (addLookupKey): Formatting.
11860        (-[WebElementDictionary initWithHitTestResult:]): Constructor just 
11861        takes a HitTestResult now and sets the member variable.
11862        (-[WebElementDictionary dealloc]): delete HitTestResult.
11863        (-[WebElementDictionary finalize]): Address HitTestResult.
11864        (-[WebElementDictionary _domNode]): Use HitTestResult and call into 
11865        WebCore.
11866        (-[WebElementDictionary objectForKey:]): Same.
11867        (-[WebElementDictionary _webFrame]): Same.
11868        (-[WebElementDictionary _targetWebFrame]): Same.
11869        (-[WebElementDictionary _title]): Same.
11870        (-[WebElementDictionary _imageRect]): Same.
11871        (-[WebElementDictionary _isSelected]): Same.
11872        * WebKit.xcodeproj/project.pbxproj:
11873        * WebView/WebFrame.mm:
11874        (core): Convert from DOMNode* to Node*
11875        (kit): Convert from Node* to DOMNode*
11876        * WebView/WebFrameInternal.h: Support for the above.
11877        * WebView/WebHTMLView.m:
11878        (-[WebHTMLView elementAtPoint:allowShadowContent:]): Call directly 
11879        into Frame.cpp to get HitTestResult.
11880
118812006-10-27  Maciej Stachowiak  <mjs@apple.com>
11882
11883        Reviewed by John & Adam.
11884        
11885        - various performance improvements for resource delegate dispatch.
11886        
11887        - avoid any ObjC messaging when fetching the WebView
11888        - avoid ObjC calls to WebView to get resource load delegate and impl cache
11889        - cache actual method pointers, not just the fact that the method is present
11890        - added a new SPI resource load delegate method which allows clients to get
11891          just one message in case of synchronously loading from memory cache; if this
11892          is implemented you don't get the normal delegate calls in that case.
11893        - various other minor tweaks
11894
11895        * WebCoreSupport/WebFrameBridge.h:
11896        * WebCoreSupport/WebFrameLoaderClient.h:
11897        * WebCoreSupport/WebFrameLoaderClient.mm:
11898        (getWebView):
11899        (WebFrameLoaderClient::hasBackForwardList):
11900        (WebFrameLoaderClient::resetBackForwardList):
11901        (WebFrameLoaderClient::privateBrowsingEnabled):
11902        (WebFrameLoaderClient::updateHistoryForStandardLoad):
11903        (WebFrameLoaderClient::resetAfterLoadError):
11904        (WebFrameLoaderClient::download):
11905        (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
11906        (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
11907        (WebFrameLoaderClient::dispatchWillSendRequest):
11908        (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
11909        (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
11910        (WebFrameLoaderClient::dispatchDidReceiveResponse):
11911        (WebFrameLoaderClient::dispatchDidReceiveContentLength):
11912        (WebFrameLoaderClient::dispatchDidFinishLoading):
11913        (WebFrameLoaderClient::dispatchDidFailLoading):
11914        (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
11915        (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
11916        (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
11917        (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
11918        (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
11919        (WebFrameLoaderClient::dispatchWillClose):
11920        (WebFrameLoaderClient::dispatchDidReceiveIcon):
11921        (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
11922        (WebFrameLoaderClient::dispatchDidReceiveTitle):
11923        (WebFrameLoaderClient::dispatchDidCommitLoad):
11924        (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
11925        (WebFrameLoaderClient::dispatchDidFailLoad):
11926        (WebFrameLoaderClient::dispatchDidFinishLoad):
11927        (WebFrameLoaderClient::dispatchDidFirstLayout):
11928        (WebFrameLoaderClient::dispatchCreatePage):
11929        (WebFrameLoaderClient::dispatchShow):
11930        (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
11931        (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
11932        (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
11933        (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
11934        (WebFrameLoaderClient::dispatchWillSubmitForm):
11935        (WebFrameLoaderClient::dispatchDidLoadMainResource):
11936        (WebFrameLoaderClient::progressStarted):
11937        (WebFrameLoaderClient::progressCompleted):
11938        (WebFrameLoaderClient::incrementProgress):
11939        (WebFrameLoaderClient::completeProgress):
11940        (WebFrameLoaderClient::setMainFrameDocumentReady):
11941        (WebFrameLoaderClient::startDownload):
11942        (WebFrameLoaderClient::willChangeTitle):
11943        (WebFrameLoaderClient::didChangeTitle):
11944        (WebFrameLoaderClient::mainFrameURL):
11945        (WebFrameLoaderClient::frameLoadCompleted):
11946        * WebCoreSupport/WebPageBridge.h:
11947        * WebKit.xcodeproj/project.pbxproj:
11948        * WebView/WebFrame.mm:
11949        (frame):
11950        (core):
11951        (kit):
11952        (getWebView):
11953        (-[WebFrame _addBackForwardItemClippedAtTarget:]):
11954        (-[WebFrame _canCachePage]):
11955        (-[WebFrame _purgePageCache]):
11956        (-[WebFrame _loadItem:withLoadType:]):
11957        (-[WebFrame _goToItem:withLoadType:]):
11958        (-[WebFrame _updateBackground]):
11959        (-[WebFrame _clearSelectionInOtherFrames]):
11960        (-[WebFrame _isMainFrame]):
11961        (-[WebFrame webView]):
11962        * WebView/WebResourceLoadDelegatePrivate.h: Added.
11963        * WebView/WebView.mm:
11964        (-[WebView _cacheResourceLoadDelegateImplementations]):
11965        (WebViewGetResourceLoadDelegate):
11966        (WebViewGetResourceLoadDelegateImplementations):
11967        * WebView/WebViewInternal.h:
11968        * WebView/WebViewPrivate.h:
11969
119702006-10-27  Geoffrey Garen  <ggaren@apple.com>
11971
11972        Reviewed by Maciej.
11973        
11974        Moved some WebCoreFrameBridge functions into FrameLoader.
11975
11976        * WebView/WebFrame.mm:
11977        (-[WebFrame _numPendingOrLoadingRequests:]):
11978
119792006-10-27  Timothy Hatcher  <timothy@apple.com>
11980
11981        Reviewed by Beth.
11982
11983        Make a DerivedSource/Webkit directory to store migrated
11984        internal headers from WebCore.
11985
11986        * MigrateHeaders.make:
11987        * WebKit.xcodeproj/project.pbxproj:
11988        * WebView/WebFrame.mm: import the new migrated DOM*Internal.h headers
11989
119902006-10-27  John Sullivan  <sullivan@apple.com>
11991
11992        Reviewed by Anders
11993        
11994        - fixed http://bugs.webkit.org/show_bug.cgi?id=11439 
11995          REGRESSION: Another page loading crash
11996
11997        * WebView/WebFrame.mm:
11998        (-[WebFrame _createItem:]):
11999        Handle nil documentLoader the way we did before ObjC->C++ changes
12000
120012006-10-27  John Sullivan  <sullivan@apple.com>
12002
12003        Reviewed by Anders
12004
12005        * WebView/WebHTMLView.m:
12006        (-[NSArray checkSpelling:]):
12007        call advanceToNextMisspelling directly on FrameMac, bypassing bridge
12008        (-[NSArray showGuessPanel:]):
12009        ditto
12010
120112006-10-27  Darin Adler  <darin@apple.com>
12012
12013        - build fix
12014
12015        * WebCoreSupport/WebFrameLoaderClient.mm: Corrected header file name.
12016
120172006-10-27  Darin Adler  <darin@apple.com>
12018
12019        Reviewed by Maciej.
12020
12021        - moved methods that are there just to be called by the frame loader client into the client
12022          in an attempt to get back some of the speed we lost yesterday
12023
12024        * DefaultDelegates/WebDefaultResourceLoadDelegate.m:
12025        (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]):
12026        (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]):
12027        * WebCoreSupport/WebFrameLoaderClient.h:
12028        * WebCoreSupport/WebFrameLoaderClient.mm:
12029        (dataSource):
12030        (decisionListener):
12031        (WebFrameLoaderClient::WebFrameLoaderClient):
12032        (WebFrameLoaderClient::hasWebView):
12033        (WebFrameLoaderClient::hasFrameView):
12034        (WebFrameLoaderClient::hasBackForwardList):
12035        (WebFrameLoaderClient::resetBackForwardList):
12036        (WebFrameLoaderClient::provisionalItemIsTarget):
12037        (WebFrameLoaderClient::loadProvisionalItemFromPageCache):
12038        (WebFrameLoaderClient::invalidateCurrentItemPageCache):
12039        (WebFrameLoaderClient::privateBrowsingEnabled):
12040        (WebFrameLoaderClient::makeDocumentView):
12041        (WebFrameLoaderClient::makeRepresentation):
12042        (WebFrameLoaderClient::setDocumentViewFromPageCache):
12043        (WebFrameLoaderClient::forceLayout):
12044        (WebFrameLoaderClient::forceLayoutForNonHTML):
12045        (WebFrameLoaderClient::updateHistoryForCommit):
12046        (WebFrameLoaderClient::updateHistoryForBackForwardNavigation):
12047        (WebFrameLoaderClient::updateHistoryForReload):
12048        (WebFrameLoaderClient::updateHistoryForStandardLoad):
12049        (WebFrameLoaderClient::updateHistoryForInternalLoad):
12050        (WebFrameLoaderClient::updateHistoryAfterClientRedirect):
12051        (WebFrameLoaderClient::setCopiesOnScroll):
12052        (WebFrameLoaderClient::tokenForLoadErrorReset):
12053        (WebFrameLoaderClient::resetAfterLoadError):
12054        (WebFrameLoaderClient::doNotResetAfterLoadError):
12055        (WebFrameLoaderClient::detachedFromParent1):
12056        (WebFrameLoaderClient::detachedFromParent2):
12057        (WebFrameLoaderClient::detachedFromParent3):
12058        (WebFrameLoaderClient::detachedFromParent4):
12059        (WebFrameLoaderClient::loadedFromPageCache):
12060        (WebFrameLoaderClient::download):
12061        (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
12062        (WebFrameLoaderClient::dispatchWillSendRequest):
12063        (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
12064        (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
12065        (WebFrameLoaderClient::dispatchDidReceiveResponse):
12066        (WebFrameLoaderClient::dispatchDidReceiveContentLength):
12067        (WebFrameLoaderClient::dispatchDidFinishLoading):
12068        (WebFrameLoaderClient::dispatchDidFailLoading):
12069        (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
12070        (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
12071        (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
12072        (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
12073        (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
12074        (WebFrameLoaderClient::dispatchWillClose):
12075        (WebFrameLoaderClient::dispatchDidReceiveIcon):
12076        (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
12077        (WebFrameLoaderClient::dispatchDidReceiveTitle):
12078        (WebFrameLoaderClient::dispatchDidCommitLoad):
12079        (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
12080        (WebFrameLoaderClient::dispatchDidFailLoad):
12081        (WebFrameLoaderClient::dispatchDidFinishLoad):
12082        (WebFrameLoaderClient::dispatchDidFirstLayout):
12083        (WebFrameLoaderClient::dispatchCreatePage):
12084        (WebFrameLoaderClient::dispatchShow):
12085        (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
12086        (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
12087        (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
12088        (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
12089        (WebFrameLoaderClient::dispatchWillSubmitForm):
12090        (WebFrameLoaderClient::dispatchDidLoadMainResource):
12091        (WebFrameLoaderClient::clearLoadingFromPageCache):
12092        (WebFrameLoaderClient::isLoadingFromPageCache):
12093        (WebFrameLoaderClient::revertToProvisionalState):
12094        (WebFrameLoaderClient::setMainDocumentError):
12095        (WebFrameLoaderClient::clearUnarchivingState):
12096        (WebFrameLoaderClient::progressStarted):
12097        (WebFrameLoaderClient::progressCompleted):
12098        (WebFrameLoaderClient::incrementProgress):
12099        (WebFrameLoaderClient::completeProgress):
12100        (WebFrameLoaderClient::setMainFrameDocumentReady):
12101        (WebFrameLoaderClient::startDownload):
12102        (WebFrameLoaderClient::willChangeTitle):
12103        (WebFrameLoaderClient::didChangeTitle):
12104        (WebFrameLoaderClient::committedLoad):
12105        (WebFrameLoaderClient::finishedLoading):
12106        (WebFrameLoaderClient::finalSetupForReplace):
12107        (WebFrameLoaderClient::cancelledError):
12108        (WebFrameLoaderClient::cannotShowURLError):
12109        (WebFrameLoaderClient::interruptForPolicyChangeError):
12110        (WebFrameLoaderClient::cannotShowMIMETypeError):
12111        (WebFrameLoaderClient::fileDoesNotExistError):
12112        (WebFrameLoaderClient::shouldFallBack):
12113        (WebFrameLoaderClient::mainFrameURL):
12114        (WebFrameLoaderClient::setDefersCallbacks):
12115        (WebFrameLoaderClient::willUseArchive):
12116        (WebFrameLoaderClient::isArchiveLoadPending):
12117        (WebFrameLoaderClient::cancelPendingArchiveLoad):
12118        (WebFrameLoaderClient::clearArchivedResources):
12119        (WebFrameLoaderClient::canHandleRequest):
12120        (WebFrameLoaderClient::canShowMIMEType):
12121        (WebFrameLoaderClient::representationExistsForURLScheme):
12122        (WebFrameLoaderClient::generatedMIMETypeForURLScheme):
12123        (WebFrameLoaderClient::elementForEvent):
12124        (WebFrameLoaderClient::createPolicyDecider):
12125        (WebFrameLoaderClient::frameLoadCompleted):
12126        (WebFrameLoaderClient::restoreScrollPositionAndViewState):
12127        (WebFrameLoaderClient::provisionalLoadStarted):
12128        (WebFrameLoaderClient::shouldTreatURLAsSameAsCurrent):
12129        (WebFrameLoaderClient::addHistoryItemForFragmentScroll):
12130        (WebFrameLoaderClient::didFinishLoad):
12131        (WebFrameLoaderClient::prepareForDataSourceReplacement):
12132        (WebFrameLoaderClient::createDocumentLoader):
12133        (WebFrameLoaderClient::setTitle):
12134        (WebFrameLoaderClient::canUseArchivedResource):
12135        (WebFrameLoaderClient::deliverArchivedResourcesAfterDelay):
12136        (WebFrameLoaderClient::deliverArchivedResources):
12137        (WebFrameLoaderClient::createPageCache):
12138        * WebView/WebFrame.mm:
12139        (-[NSView setWebFrame:]):
12140        (-[WebFrame _createItem:]):
12141        (-[WebFrame _loadItem:withLoadType:]):
12142        (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):
12143        (-[WebFrame _loadURL:referrer:intoChild:]):
12144        (-[WebFrame _saveScrollPositionAndViewStateToItem:]):
12145        (-[WebFrame _hasSelection]):
12146        (-[WebFrame _clearSelection]):
12147        (-[WebFrame _setProvisionalItem:]):
12148        (-[WebFrame _setPreviousItem:]):
12149        (-[WebFrame _setCurrentItem:]):
12150        (-[WebFrame loadArchive:]):
12151        * WebView/WebFrameInternal.h:
12152        * WebView/WebHTMLView.m:
12153        (-[WebHTMLView _topHTMLView]):
12154        * WebView/WebHTMLViewPrivate.h:
12155
121562006-10-26  Geoffrey Garen  <ggaren@apple.com>
12157
12158        Reviewed by Darin, Maciej.
12159
12160        Removed many uses of NSString * from WebCore.
12161        
12162        Changed a few files to ObjC++ for compatiblity with new WebCore methods
12163        taking WebCore::Strings as arguments.
12164        
12165        Added a static_cast to make the c++ compiler happy.
12166
121672006-10-26  John Sullivan  <sullivan@apple.com>
12168
12169        Reviewed by Anders
12170
12171        * WebView/WebFrame.mm:
12172        now includes <WebCore/Document.h> and <WebCore/DocumentMarker.h>
12173        (-[WebFrame _unmarkAllBadGrammar]):
12174        filled in guts
12175        (-[WebFrame _unmarkAllMisspellings]):
12176        rewrote to call Document directly, bypassing bridge
12177
121782006-10-26  John Sullivan  <sullivan@apple.com>
12179
12180        * English.lproj/WebViewEditingContextMenu.nib/info.nib:
12181        * English.lproj/WebViewEditingContextMenu.nib/objects.nib:
12182        
12183        Changed "Spelling" to "Spelling and Grammar" in context menu for post-Tiger.
12184
12185=== Safari-521.29 ===
12186
121872006-10-26  John Sullivan  <sullivan@apple.com>
12188
12189        No review, just two localized string changes.
12190        
12191        * WebView/WebHTMLView.m:
12192        (-[NSArray validateUserInterfaceItem:]):
12193        changed "Show/Hide Spelling" to "Show/Hide Spelling and Grammar" post-Tiger to match framework change
12194
12195        * English.lproj/Localizable.strings:
12196        updated for these changes
12197
121982006-10-25  Darin Adler  <darin@apple.com>
12199
12200        Reviewed by Anders.
12201
12202        - removed 55 methods from WebCoreFrameBridge
12203        - changed callers to use Frame directly instead
12204        - put FrameLoaderTypes.h types into the WebCore namespace
12205        - first steps to get FrameLoader.h ready for cross-platform duty
12206
12207        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
12208        (-[WebDefaultUIDelegate openNewWindowWithURL:element:]):
12209        * Plugins/WebBaseNetscapePluginView.mm:
12210        (-[WebBaseNetscapePluginView requestWithURLCString:]):
12211        (-[WebBaseNetscapePluginView loadPluginRequest:]):
12212        (-[WebBaseNetscapePluginView getVariable:value:]):
12213        * Plugins/WebNetscapePluginEmbeddedView.m:
12214        (-[WebNetscapePluginEmbeddedView didStart]):
12215        * Plugins/WebNetscapePluginStream.mm:
12216        * Plugins/WebPluginContainerCheck.m:
12217        (-[WebPluginContainerCheck _continueWithPolicy:]):
12218        (-[WebPluginContainerCheck _isForbiddenFileLoad]):
12219        * WebCoreSupport/WebEditorClient.mm:
12220        (WebEditorClient::shouldDeleteRange):
12221        (WebEditorClient::shouldShowDeleteInterface):
12222        * WebCoreSupport/WebFrameBridge.mm:
12223        (-[WebFrameBridge webView]):
12224        (-[WebFrameBridge finishInitializingWithFrameName:view:]):
12225        (-[WebFrameBridge createWindowWithURL:]):
12226        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
12227        (-[WebFrameBridge windowObjectCleared]):
12228        (-[WebFrameBridge createModalDialogWithURL:]):
12229        * WebCoreSupport/WebFrameLoaderClient.mm:
12230        (WebFrameLoaderClient::dispatchCreatePage):
12231        (WebFrameLoaderClient::dispatchWillSubmitForm):
12232        * WebKit.xcodeproj/project.pbxproj:
12233        * WebView/WebArchiver.m:
12234        (+[WebArchiver archiveSelectionInFrame:]):
12235        * WebView/WebDataSource.mm:
12236        (-[WebDataSource _documentFragmentWithImageResource:]):
12237        (-[WebDataSource _imageElementWithImageResource:]):
12238        * WebView/WebEditingDelegatePrivate.h:
12239        * WebView/WebFrame.mm:
12240        (core):
12241        (kit):
12242        (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):
12243        (-[WebFrame _canCachePage]):
12244        (-[WebFrame _childFramesMatchItem:]):
12245        (-[WebFrame _URLsMatchItem:]):
12246        (-[WebFrame _loadItem:withLoadType:]):
12247        (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):
12248        (-[WebFrame _viewWillMoveToHostWindow:]):
12249        (-[WebFrame _viewDidMoveToHostWindow]):
12250        (-[WebFrame _addChild:]):
12251        (-[WebFrame _saveDocumentAndScrollState]):
12252        (-[WebFrame _numPendingOrLoadingRequests:]):
12253        (-[WebFrame _reloadForPluginChanges]):
12254        (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
12255        (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
12256        (-[WebFrame _initWithWebFrameView:webView:coreFrame:]):
12257        (-[WebFrame _documentViews]):
12258        (-[WebFrame _updateBackground]):
12259        (-[WebFrame _unmarkAllMisspellings]):
12260        (-[WebFrame _hasSelection]):
12261        (-[WebFrame _atMostOneFrameHasSelection]):
12262        (-[WebFrame _findFrameWithSelection]):
12263        (-[WebFrame _frameLoader]):
12264        (-[WebFrame _isDescendantOfFrame:]):
12265        (-[WebFrame _setShouldCreateRenderers:]):
12266        (-[WebFrame _bodyBackgroundColor]):
12267        (-[WebFrame init]):
12268        (-[WebFrame initWithName:webFrameView:webView:]):
12269        (-[WebFrame dealloc]):
12270        (-[WebFrame finalize]):
12271        (-[WebFrame name]):
12272        (-[WebFrame webView]):
12273        (-[WebFrame DOMDocument]):
12274        (-[WebFrame frameElement]):
12275        (-[WebFrame findFrameNamed:]):
12276        (-[WebFrame parentFrame]):
12277        (-[WebFrame childFrames]):
12278        (-[WebFrame _invalidateCurrentItemPageCache]):
12279        (-[WebFrame _dispatchCreateWebViewWithRequest:]):
12280        (-[WebFrame _dispatchSourceFrame:willSubmitForm:withValues:submissionDecider:]):
12281        (-[WebFrame _prepareForDataSourceReplacement]):
12282        (-[WebFrame _provisionalLoadStarted]):
12283        * WebView/WebFrameInternal.h:
12284        * WebView/WebHTMLRepresentation.m:
12285        (-[WebHTMLRepresentation DOMDocument]):
12286        (-[WebHTMLRepresentation attributedText]):
12287        * WebView/WebHTMLView.m:
12288        (-[WebHTMLView _documentRange]):
12289        (-[WebHTMLView _documentFragmentWithPaths:]):
12290        (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
12291        (-[WebHTMLView _selectedRange]):
12292        (-[WebHTMLView _updateMouseoverWithEvent:]):
12293        (-[WebHTMLView _canEditRichly]):
12294        (-[WebHTMLView _hasSelection]):
12295        (-[WebHTMLView _hasSelectionOrInsertionPoint]):
12296        (-[WebHTMLView _hasInsertionPoint]):
12297        (-[WebHTMLView _isEditable]):
12298        (-[WebHTMLView _isSelectionInPasswordField]):
12299        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
12300        (-[WebHTMLView _selectionDraggingImage]):
12301        (-[WebHTMLView _canIncreaseSelectionListLevel]):
12302        (-[WebHTMLView _canDecreaseSelectionListLevel]):
12303        (-[WebHTMLView _updateActiveState]):
12304        (-[NSArray readSelectionFromPasteboard:]):
12305        (-[NSArray validateUserInterfaceItem:]):
12306        (-[NSArray maintainsInactiveSelection]):
12307        (-[NSArray menuForEvent:]):
12308        (-[NSArray scrollWheel:]):
12309        (-[NSArray acceptsFirstMouse:]):
12310        (-[NSArray shouldDelayWindowOrderingForEvent:]):
12311        (-[NSArray mouseDown:]):
12312        (-[NSArray mouseDragged:]):
12313        (-[NSArray mouseUp:]):
12314        (-[NSArray keyDown:]):
12315        (-[NSArray keyUp:]):
12316        (-[NSArray centerSelectionInVisibleArea:]):
12317        (-[NSArray _selectionStartFontAttributesAsRTF]):
12318        (-[NSArray _emptyStyle]):
12319        (-[NSArray performKeyEquivalent:]):
12320        (-[NSArray indent:]):
12321        (-[NSArray outdent:]):
12322        (-[WebHTMLView cut:]):
12323        (-[WebHTMLView paste:]):
12324        (-[WebHTMLView _selectRangeInMarkedText:]):
12325        (-[WebTextCompleteController doCompletion]):
12326        (-[WebHTMLView selectionRect]):
12327        (-[WebHTMLView selectionImageForcingWhiteText:]):
12328        (-[WebHTMLView selectionImageRect]):
12329        (-[WebHTMLView attributedString]):
12330        (-[WebHTMLView _isMoveDrag]):
12331        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
12332        * WebView/WebPolicyDelegate.mm:
12333        (-[WebPolicyDecisionListener _usePolicy:]):
12334        (-[WebPolicyDecisionListener use]):
12335        (-[WebPolicyDecisionListener ignore]):
12336        (-[WebPolicyDecisionListener download]):
12337        (-[WebPolicyDecisionListener continue]):
12338        * WebView/WebScriptDebugDelegate.m:
12339        (-[WebScriptCallFrame _initWithFrame:initWithWebFrame:]):
12340        (-[WebScriptCallFrame globalObject]):
12341        * WebView/WebView.mm:
12342        (-[WebView _attachScriptDebuggerToAllFrames]):
12343        (-[WebView _detachScriptDebuggerFromAllFrames]):
12344        (-[WebView windowScriptObject]):
12345        (incrementFrame):
12346        (-[WebView searchFor:direction:caseSensitive:wrap:]):
12347        (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
12348        (-[WebView removeDragCaret]):
12349        (-[WebView setScriptDebugDelegate:]):
12350        (-[WebView scriptDebugDelegate]):
12351        (-[WebView shouldClose]):
12352        (-[WebView selectedDOMRange]):
12353        (-[WebView styleDeclarationWithText:]):
12354
123552006-10-25  Geoffrey Garen  <ggaren@apple.com>
12356
12357        Reviewed by Adam.
12358
12359        Renamed WebFrameLoader to FrameLoader, to match class name.
12360
12361        * Plugins/WebBaseNetscapePluginView.mm:
12362        * Plugins/WebNetscapePluginStream.mm:
12363        * Plugins/WebPluginController.mm:
12364        * WebCoreSupport/WebFrameBridge.mm:
12365        * WebView/WebDataSource.mm:
12366        * WebView/WebFrame.mm:
12367        * WebView/WebPDFView.mm:
12368        * WebView/WebPolicyDelegate.mm:
12369        * WebView/WebView.mm:
12370
123712006-10-25  Mark Rowe  <bdash@webkit.org>
12372
12373        Reviewed by Anders.
12374
12375        Build fix for the Buildbot.
12376
12377        * WebView/WebHTMLView.m:
12378        (-[NSArray _addToStyle:fontA:fontB:]): Explicit cast.
12379
123802006-10-25  Maciej Stachowiak  <mjs@apple.com>
12381
12382        Reviewed by Anders.
12383        
12384        <rdar://problem/4785575> REGRESSION: form resubmission warning occurs twice, then Safari crashes in autorelease pool
12385        <rdar://problem/4799383> REGRESSION: Crash occurs when dismissing the "Would you like to save this password" sheet
12386
12387        * WebView/WebPolicyDeciderMac.m:
12388        (-[WebPolicyDeciderMac dealloc]): release the listener, don't dealloc it
12389
123902006-10-24  Anders Carlsson  <acarlsson@apple.com>
12391
12392        Reviewed by Darin.
12393
12394        * WebKitPrefix.h:
12395        Include FastMalloc.h from C++ code.
12396
123972006-10-24  Darin Adler  <darin@apple.com>
12398
12399        Reviewed by Anders.
12400
12401        - converted WebFrameLoaderClient to C++
12402        - renamed frame->frameLoader() function to frame->loader()
12403        - renamed [bridge impl] to [bridge _frame]
12404        - removed some bridge methods
12405
12406        * Plugins/WebNetscapePluginStream.mm:
12407        * WebCoreSupport/WebEditorClient.mm:
12408        * WebCoreSupport/WebFrameLoaderClient.h: Added.
12409        (WebFrameLoaderClient::webFrame):
12410        * WebCoreSupport/WebFrameLoaderClient.mm: Added.
12411        (WebFrameLoaderClient::detachFrameLoader):
12412        (WebFrameLoaderClient::hasWebView):
12413        (WebFrameLoaderClient::hasFrameView):
12414        (WebFrameLoaderClient::hasBackForwardList):
12415        (WebFrameLoaderClient::resetBackForwardList):
12416        (WebFrameLoaderClient::provisionalItemIsTarget):
12417        (WebFrameLoaderClient::loadProvisionalItemFromPageCache):
12418        (WebFrameLoaderClient::invalidateCurrentItemPageCache):
12419        (WebFrameLoaderClient::privateBrowsingEnabled):
12420        (WebFrameLoaderClient::makeDocumentView):
12421        (WebFrameLoaderClient::makeRepresentation):
12422        (WebFrameLoaderClient::setDocumentViewFromPageCache):
12423        (WebFrameLoaderClient::forceLayout):
12424        (WebFrameLoaderClient::forceLayoutForNonHTML):
12425        (WebFrameLoaderClient::updateHistoryForCommit):
12426        (WebFrameLoaderClient::updateHistoryForBackForwardNavigation):
12427        (WebFrameLoaderClient::updateHistoryForReload):
12428        (WebFrameLoaderClient::updateHistoryForStandardLoad):
12429        (WebFrameLoaderClient::updateHistoryForInternalLoad):
12430        (WebFrameLoaderClient::updateHistoryAfterClientRedirect):
12431        (WebFrameLoaderClient::setCopiesOnScroll):
12432        (WebFrameLoaderClient::tokenForLoadErrorReset):
12433        (WebFrameLoaderClient::resetAfterLoadError):
12434        (WebFrameLoaderClient::doNotResetAfterLoadError):
12435        (WebFrameLoaderClient::detachedFromParent1):
12436        (WebFrameLoaderClient::detachedFromParent2):
12437        (WebFrameLoaderClient::detachedFromParent3):
12438        (WebFrameLoaderClient::detachedFromParent4):
12439        (WebFrameLoaderClient::loadedFromPageCache):
12440        (WebFrameLoaderClient::download):
12441        (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
12442        (WebFrameLoaderClient::dispatchWillSendRequest):
12443        (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
12444        (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
12445        (WebFrameLoaderClient::dispatchDidReceiveResponse):
12446        (WebFrameLoaderClient::dispatchDidReceiveContentLength):
12447        (WebFrameLoaderClient::dispatchDidFinishLoading):
12448        (WebFrameLoaderClient::dispatchDidFailLoading):
12449        (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
12450        (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
12451        (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
12452        (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
12453        (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
12454        (WebFrameLoaderClient::dispatchWillClose):
12455        (WebFrameLoaderClient::dispatchDidReceiveIcon):
12456        (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
12457        (WebFrameLoaderClient::dispatchDidReceiveTitle):
12458        (WebFrameLoaderClient::dispatchDidCommitLoad):
12459        (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
12460        (WebFrameLoaderClient::dispatchDidFailLoad):
12461        (WebFrameLoaderClient::dispatchDidFinishLoad):
12462        (WebFrameLoaderClient::dispatchDidFirstLayout):
12463        (WebFrameLoaderClient::dispatchCreatePage):
12464        (WebFrameLoaderClient::dispatchShow):
12465        (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
12466        (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
12467        (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
12468        (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
12469        (WebFrameLoaderClient::dispatchWillSubmitForm):
12470        (WebFrameLoaderClient::dispatchDidLoadMainResource):
12471        (WebFrameLoaderClient::clearLoadingFromPageCache):
12472        (WebFrameLoaderClient::isLoadingFromPageCache):
12473        (WebFrameLoaderClient::revertToProvisionalState):
12474        (WebFrameLoaderClient::setMainDocumentError):
12475        (WebFrameLoaderClient::clearUnarchivingState):
12476        (WebFrameLoaderClient::progressStarted):
12477        (WebFrameLoaderClient::progressCompleted):
12478        (WebFrameLoaderClient::incrementProgress):
12479        (WebFrameLoaderClient::completeProgress):
12480        (WebFrameLoaderClient::setMainFrameDocumentReady):
12481        (WebFrameLoaderClient::startDownload):
12482        (WebFrameLoaderClient::willChangeTitle):
12483        (WebFrameLoaderClient::didChangeTitle):
12484        (WebFrameLoaderClient::committedLoad):
12485        (WebFrameLoaderClient::finishedLoading):
12486        (WebFrameLoaderClient::finalSetupForReplace):
12487        (WebFrameLoaderClient::cancelledError):
12488        (WebFrameLoaderClient::cannotShowURLError):
12489        (WebFrameLoaderClient::interruptForPolicyChangeError):
12490        (WebFrameLoaderClient::cannotShowMIMETypeError):
12491        (WebFrameLoaderClient::fileDoesNotExistError):
12492        (WebFrameLoaderClient::shouldFallBack):
12493        (WebFrameLoaderClient::mainFrameURL):
12494        (WebFrameLoaderClient::setDefersCallbacks):
12495        (WebFrameLoaderClient::willUseArchive):
12496        (WebFrameLoaderClient::isArchiveLoadPending):
12497        (WebFrameLoaderClient::cancelPendingArchiveLoad):
12498        (WebFrameLoaderClient::clearArchivedResources):
12499        (WebFrameLoaderClient::canHandleRequest):
12500        (WebFrameLoaderClient::canShowMIMEType):
12501        (WebFrameLoaderClient::representationExistsForURLScheme):
12502        (WebFrameLoaderClient::generatedMIMETypeForURLScheme):
12503        (WebFrameLoaderClient::elementForEvent):
12504        (WebFrameLoaderClient::createPolicyDecider):
12505        (WebFrameLoaderClient::frameLoadCompleted):
12506        (WebFrameLoaderClient::restoreScrollPositionAndViewState):
12507        (WebFrameLoaderClient::provisionalLoadStarted):
12508        (WebFrameLoaderClient::shouldTreatURLAsSameAsCurrent):
12509        (WebFrameLoaderClient::addHistoryItemForFragmentScroll):
12510        (WebFrameLoaderClient::didFinishLoad):
12511        (WebFrameLoaderClient::prepareForDataSourceReplacement):
12512        (WebFrameLoaderClient::createDocumentLoader):
12513        (WebFrameLoaderClient::setTitle):
12514        * WebKit.xcodeproj/project.pbxproj:
12515        * WebView/WebDataSource.mm:
12516        (-[WebDataSource webFrame]):
12517        * WebView/WebFrame.mm:
12518        (frame):
12519        (-[WebFrame _loadItem:withLoadType:]):
12520        (-[WebFrame _reloadForPluginChanges]):
12521        (-[WebFrame _initWithWebFrameView:webView:bridge:]):
12522        (-[WebFrame _frameLoader]):
12523        (-[WebFrame provisionalDataSource]):
12524        (-[WebFrame dataSource]):
12525        (-[WebFrame parentFrame]):
12526        (-[WebFrame _provisionalLoadStarted]):
12527        * WebView/WebFrameInternal.h:
12528        * WebView/WebHTMLRepresentation.m:
12529        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
12530        * WebView/WebHTMLView.m:
12531        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
12532        (-[NSArray validateUserInterfaceItem:]):
12533        (-[NSArray scrollWheel:]):
12534        (-[NSArray acceptsFirstMouse:]):
12535        (-[NSArray shouldDelayWindowOrderingForEvent:]):
12536        (-[NSArray _selectionStartFontAttributesAsRTF]):
12537        (-[NSArray changeBaseWritingDirection:]):
12538        (-[NSArray indent:]):
12539        (-[NSArray outdent:]):
12540        (-[WebHTMLView copy:]):
12541        (-[WebHTMLView cut:]):
12542        (-[WebHTMLView paste:]):
12543        * WebView/WebView.mm:
12544        (-[WebView _dashboardRegions]):
12545        (-[WebView setProhibitsMainFrameScrolling:]):
12546        (-[WebView _setInViewSourceMode:]):
12547        (-[WebView _inViewSourceMode]):
12548        (-[WebView setEditable:]):
12549
125502006-10-24  John Sullivan  <sullivan@apple.com>
12551
12552        Reviewed by Kevin Decker
12553        
12554        - fixed <rdar://problem/4801331> "Spelling..." menu item should be "Show/Hide Spelling" post-Tiger, to match AppKit
12555
12556        * WebView/WebHTMLView.m:
12557        (-[NSArray validateUserInterfaceItem:]):
12558        post-Tiger, update the menu item text to "Show Spelling"/"Hide Spelling" based on whether
12559        the spelling panel is already showing. Also, removed else's after returns, and removed
12560        braces around one-line if clauses.
12561        (-[NSArray showGuessPanel:]):
12562        post-Tiger, make this item hide the spelling panel if it's already showing
12563
12564        * English.lproj/Localizable.strings:
12565        updated for this change
12566        
125672006-10-24  Timothy Hatcher  <timothy@apple.com>
12568
12569        Reviewed by Anders.
12570
12571        <rdar://problem/4588878> 'WebHTMLView' may not respond to '-_webView'
12572
12573        * Misc/WebNSViewExtras.h:
12574        * Misc/WebNSViewExtras.m:
12575        (-[NSView _webView]):
12576
125772006-10-24  Brady Eidson  <beidson@apple.com>
12578
12579        Reviewed by Anders
12580
12581        http://bugs.webkit.org/show_bug.cgi?id=11406 - Crash in [WebFrame dataSource]
12582        In the transition to ObjC++ we lost alot of our free nil checking that we must now do manually
12583        to prevent null dereferencing.
12584
12585        * WebView/WebFrame.mm:
12586        (-[WebFrame provisionalDataSource]):
12587        (-[WebFrame dataSource]):
12588
125892006-10-24  John Sullivan  <sullivan@apple.com>
12590
12591        Reviewed by Darin
12592        
12593        Initial plumbing for grammar checking. No actual grammar are checked at this time.
12594
12595        * English.lproj/WebViewEditingContextMenu.nib/classes.nib:
12596        * English.lproj/WebViewEditingContextMenu.nib/info.nib:
12597        * English.lproj/WebViewEditingContextMenu.nib/objects.nib:
12598        Added grammar-checking item, reworded to match changes in framework. This will be used
12599        post-Tiger.
12600
12601        * English.lproj/WebViewEditingContextMenuOld.nib/classes.nib: Added.
12602        * English.lproj/WebViewEditingContextMenuOld.nib/info.nib: Added.
12603        * English.lproj/WebViewEditingContextMenuOld.nib/objects.nib: Added.
12604        Copy of WebViewEditingContextMenu.nib, unchanged. This will be used on Tiger.
12605
12606        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
12607        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
12608        Choose the right context menu based on BUILDING_ON_TIGER.
12609        
12610        * WebView/WebPreferenceKeysPrivate.h:
12611        declare grammar-related NSUserDefault value
12612
12613        * WebView/WebViewPrivate.h:
12614        declare grammar-related methods
12615
12616        * WebView/WebView.mm:
12617        declare static BOOL grammarCheckingEnabled
12618        (-[WebViewPrivate init]):
12619        initialize grammarCheckingEnabled to NSUserDefaults value
12620        (-[WebView validateUserInterfaceItem:]):
12621        validate toggleGrammarChecking: menu item
12622        (-[WebView isGrammarCheckingEnabled]):
12623        return value of grammarCheckingEnabled
12624        (-[WebView setGrammarCheckingEnabled:]):
12625        set value of grammarCheckingEnabled, call frame to remove existing bad grammar markers
12626        (-[WebView toggleGrammarChecking:]):
12627        flip the value
12628        
12629        * WebView/WebFrameInternal.h:
12630        * WebView/WebFrame.mm:
12631        (-[WebFrame _unmarkAllBadGrammar]):
12632        new placeholder method, does nothing yet
12633        
12634        * WebView/WebHTMLViewInternal.h:
12635        declare grammar-related methods
12636
12637        * WebView/WebHTMLView.m:
12638        (-[NSArray validateUserInterfaceItem:]):
12639        validate toggleGrammarChecking: menu item
12640        (-[WebHTMLView isGrammarCheckingEnabled]):
12641        new method, calls through to WebView
12642        (-[WebHTMLView setGrammarCheckingEnabled:]):
12643        ditto
12644        (-[WebHTMLView toggleGrammarChecking:]):
12645        ditto
12646                
12647        * English.lproj/StringsNotToBeLocalized.txt:
12648        Updated for these changes
12649        
12650        * WebKit.xcodeproj/project.pbxproj:
12651        updated for new files        
12652
126532006-10-23  Darin Adler  <darin@apple.com>
12654
12655        Reviewed by Geoff.
12656
12657        - converted WebDocumentLoader to C++
12658
12659        * Plugins/WebPluginController.mm:
12660        (-[WebPluginController pluginView:receivedResponse:]):
12661        * WebKit.xcodeproj/project.pbxproj:
12662        * WebView/WebDataSource.mm:
12663        (-[WebDataSourcePrivate dealloc]):
12664        (-[WebDataSource _mainDocumentError]):
12665        (-[WebDataSource _URL]):
12666        (-[WebDataSource _loadFromPageCache:]):
12667        (-[WebDataSource _bridge]):
12668        (-[WebDataSource _URLForHistory]):
12669        (-[WebDataSource _documentLoader]):
12670        (-[WebDataSource _initWithDocumentLoader:]):
12671        (-[WebDataSource initWithRequest:]):
12672        (-[WebDataSource data]):
12673        (-[WebDataSource webFrame]):
12674        (-[WebDataSource initialRequest]):
12675        (-[WebDataSource request]):
12676        (-[WebDataSource response]):
12677        (-[WebDataSource textEncodingName]):
12678        (-[WebDataSource isLoading]):
12679        (-[WebDataSource unreachableURL]):
12680        (-[WebDataSource webArchive]):
12681        * WebView/WebDataSourceInternal.h:
12682        * WebView/WebDocumentLoaderMac.h:
12683        * WebView/WebDocumentLoaderMac.mm:
12684        (WebDocumentLoaderMac::WebDocumentLoaderMac):
12685        (WebDocumentLoaderMac::setDataSource):
12686        (WebDocumentLoaderMac::dataSource):
12687        (WebDocumentLoaderMac::attachToFrame):
12688        (WebDocumentLoaderMac::detachFromFrame):
12689        * WebView/WebFrame.mm:
12690        (-[WebFrame _createItem:]):
12691        (-[WebFrame _loadItem:withLoadType:]):
12692        (-[WebFrame _addChild:]):
12693        (dataSource):
12694        (-[WebFrame _dataSourceForDocumentLoader:]):
12695        (-[WebFrame _addDocumentLoader:toUnarchiveState:]):
12696        (-[WebFrame loadArchive:]):
12697        (-[WebFrame _updateHistoryForReload]):
12698        (-[WebFrame _updateHistoryForStandardLoad]):
12699        (-[WebFrame _updateHistoryForInternalLoad]):
12700        (-[WebFrame _dispatchIdentifierForInitialRequest:fromDocumentLoader:]):
12701        (-[WebFrame _dispatchResource:willSendRequest:redirectResponse:fromDocumentLoader:]):
12702        (-[WebFrame _dispatchDidReceiveAuthenticationChallenge:forResource:fromDocumentLoader:]):
12703        (-[WebFrame _dispatchDidCancelAuthenticationChallenge:forResource:fromDocumentLoader:]):
12704        (-[WebFrame _dispatchResource:didReceiveResponse:fromDocumentLoader:]):
12705        (-[WebFrame _dispatchResource:didReceiveContentLength:fromDocumentLoader:]):
12706        (-[WebFrame _dispatchResource:didFinishLoadingFromDocumentLoader:]):
12707        (-[WebFrame _dispatchResource:didFailLoadingWithError:fromDocumentLoader:]):
12708        (-[WebFrame _dispatchDidLoadMainResourceForDocumentLoader:]):
12709        (-[WebFrame _clearLoadingFromPageCacheForDocumentLoader:]):
12710        (-[WebFrame _isDocumentLoaderLoadingFromPageCache:]):
12711        (-[WebFrame _makeRepresentationForDocumentLoader:]):
12712        (-[WebFrame _revertToProvisionalStateForDocumentLoader:]):
12713        (-[WebFrame _setMainDocumentError:forDocumentLoader:]):
12714        (-[WebFrame _clearUnarchivingStateForLoader:]):
12715        (-[WebFrame _willChangeTitleForDocument:]):
12716        (-[WebFrame _didChangeTitleForDocument:]):
12717        (-[WebFrame _finishedLoadingDocument:]):
12718        (-[WebFrame _committedLoadWithDocumentLoader:data:]):
12719        (-[WebFrame _documentLoader:setMainDocumentError:]):
12720        (-[WebFrame _finalSetupForReplaceWithDocumentLoader:]):
12721        (-[WebFrame _createDocumentLoaderWithRequest:]):
12722        (-[WebFrame _provisionalLoadStarted]):
12723        * WebView/WebFrameInternal.h:
12724        * WebView/WebHTMLRepresentation.m:
12725        (-[WebHTMLRepresentation title]):
12726        * WebView/WebView.mm:
12727        (-[WebView _mainFrameOverrideEncoding]):
12728
127292006-10-23  Geoffrey Garen  <ggaren@apple.com>
12730
12731        RS by Maciej.
12732        
12733        Gave ObjC++ files .mm extension instead of .m.
12734
12735        * WebCoreSupport/WebPageBridge.m: Removed.
12736        * WebKit.xcodeproj/project.pbxproj:
12737        * WebView/WebDocumentLoaderMac.m: Removed.
12738
127392006-10-23  Darin Adler  <darin@apple.com>
12740
12741        Reviewed by Maciej.
12742
12743        - converted WebFrameLoader to C++
12744
12745        * History/WebHistoryItem.m:
12746        (+[WebHistoryItem _closeObjectsInPendingPageCaches]):
12747        * Plugins/WebBaseNetscapePluginView.mm:
12748        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
12749        * Plugins/WebNetscapePluginStream.mm:
12750        (-[WebNetscapePluginStream start]):
12751        (-[WebNetscapePluginStream stop]):
12752        * Plugins/WebPluginController.mm:
12753        (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
12754        (-[WebPluginController pluginView:receivedResponse:]):
12755        * WebCoreSupport/WebFrameBridge.h:
12756        * WebKit.xcodeproj/project.pbxproj:
12757        * WebView/WebDataSource.mm:
12758        (-[WebDataSource _loadFromPageCache:]):
12759        (-[WebDataSource _webView]):
12760        (-[WebDataSource webFrame]):
12761        * WebView/WebDocumentLoaderMac.h:
12762        * WebView/WebDocumentLoaderMac.m:
12763        (-[WebDocumentLoaderMac dealloc]):
12764        (-[WebDocumentLoaderMac attachToFrame]):
12765        (-[WebDocumentLoaderMac detachFromFrame]):
12766        * WebView/WebFrame.mm:
12767        (+[WebFrame _timeOfLastCompletedLoad]):
12768        (-[WebFrame _loadItem:withLoadType:]):
12769        (-[WebFrame _loadURL:referrer:intoChild:]):
12770        (-[WebFrame _currentBackForwardListItemToResetTo]):
12771        (-[WebFrame _itemForRestoringDocState]):
12772        (-[WebFrame _frameLoader]):
12773        (-[WebFrame _firstLayoutDone]):
12774        (-[WebFrame _loadType]):
12775        (-[WebFrame provisionalDataSource]):
12776        (-[WebFrame dataSource]):
12777        (-[WebFrame loadRequest:]):
12778        (-[WebFrame loadArchive:]):
12779        (-[WebFrame stopLoading]):
12780        (-[WebFrame reload]):
12781        (-[WebFrame _updateHistoryForCommit]):
12782        (-[WebFrame _updateHistoryForReload]):
12783        (-[WebFrame _updateHistoryForInternalLoad]):
12784        (-[WebFrame _deliverArchivedResourcesAfterDelay]):
12785        (-[WebFrame _willUseArchiveForRequest:originalURL:loader:]):
12786        (-[WebFrame _deliverArchivedResources]):
12787        (-[WebFrame _prepareForDataSourceReplacement]):
12788        (-[WebFrame _provisionalLoadStarted]):
12789        * WebView/WebFrameInternal.h:
12790        * WebView/WebHTMLView.m:
12791        (-[WebHTMLView _clearLastHitViewIfSelf]):
12792        (-[WebHTMLView _updateMouseoverWithEvent:]):
12793        (-[NSArray removeMouseMovedObserverUnconditionally]):
12794        (-[NSArray removeMouseMovedObserver]):
12795        (-[NSArray viewWillMoveToWindow:]):
12796        (-[NSArray viewDidMoveToWindow]):
12797        (-[WebHTMLView _canMakeTextSmaller]):
12798        (-[WebHTMLView _canMakeTextLarger]):
12799        (-[WebHTMLView _canMakeTextStandardSize]):
12800        * WebView/WebPDFView.mm:
12801        (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
12802        * WebView/WebView.mm:
12803        (-[WebView _close]):
12804        (-[WebView setDefersCallbacks:]):
12805        (-[WebView setCustomTextEncodingName:]):
12806
128072006-10-23  Geoffrey Garen  <ggaren@apple.com>
12808
12809        Reviewed by Bradee.
12810
12811        Moved some page-level operations from WebFrameBridge to WebPageBridge.
12812
12813        * WebCoreSupport/WebFrameBridge.m:
12814        * WebCoreSupport/WebPageBridge.m:
12815        (-[WebPageBridge createModalDialogWithURL:referrer:]):
12816        (-[WebPageBridge canRunModal]):
12817        (-[WebPageBridge canRunModalNow]):
12818        (-[WebPageBridge runModal]):
12819        * WebKit.xcodeproj/project.pbxproj: Made WebPageBridge.m ObjC++ to support
12820        WebCore #includes.
12821
128222006-10-23  John Sullivan  <sullivan@apple.com>
12823
12824        * WebKitPrefix.h:
12825        Removed redundant definition of BUILDING_ON_TIGER that I just added. It turns out this had
12826        already been added between the last time I updated in this tree and when I needed it locally.
12827
128282006-10-23  John Sullivan  <sullivan@apple.com>
12829
12830        Reviewed by Anders
12831
12832        * WebKit.xcodeproj/project.pbxproj:
12833        Move WebKitPrefix.h from Misc group to top level, to match WebCore
12834        
12835        * WebKitPrefix.h:
12836        defined BUILDING_ON_TIGER a la WebCore, in preparation for future use of post-Tiger API
12837
128382006-10-23  Timothy Hatcher  <timothy@apple.com>
12839
12840        Reviewed by Darin.
12841
12842        Rename the now ObjC++ files to be .mm and remove the explicit file types.
12843
12844        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
12845        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
12846        * English.lproj/StringsNotToBeLocalized.txt:
12847        * Plugins/WebBaseNetscapePluginView.m: Removed.
12848        * Plugins/WebNetscapePluginStream.m: Removed.
12849        * Plugins/WebPluginController.m: Removed.
12850        * WebCoreSupport/WebFrameBridge.m: Removed.
12851        * WebKit.xcodeproj/project.pbxproj:
12852        * WebView/WebDataSource.m: Removed.
12853        * WebView/WebFrame.m: Removed.
12854        * WebView/WebFrameView.m: Removed.
12855        * WebView/WebPDFView.m: Removed.
12856        * WebView/WebPolicyDelegate.m: Removed.
12857        * WebView/WebView.m: Removed.
12858
128592006-10-23  Timothy Hatcher  <timothy@apple.com>
12860
12861        Reviewed by Darin.
12862
12863        Move the undef try/catch to WebKitPrefix.h and include algorithm so we get
12864        exception_defines.h and so the undef of try/catch works.
12865
12866        Break off the BGRA to ARGB code into WebGraphicsExtras.c, this lets
12867        WebBaseNetscapePluginView.m safely compile as ObjC++ and not cause the Accelerate
12868        framework to complain about C++ exceptions being disabled.
12869
12870        * Misc/WebGraphicsExtras.c: Added.
12871        (WebConvertBGRAToARGB):
12872        * Misc/WebGraphicsExtras.h: Added.
12873        * Plugins/WebBaseNetscapePluginView.m:
12874        (-[WebBaseNetscapePluginView _aglOffscreenImageForDrawingInRect:]):
12875        * WebKit.xcodeproj/project.pbxproj:
12876        * WebKitPrefix.h:
12877        * WebView/WebView.m:
12878
128792006-10-22  Sam Weinig  <sam.weinig@gmail.com>
12880
12881        Reviewed by Tim H.
12882
12883        - Add DOMHTMLFormElementPrivate.h to the project.
12884
12885        * MigrateHeaders.make:
12886
128872006-10-21  Darin Adler  <darin@apple.com>
12888
12889        Reviewed by Adele.
12890
12891        - convert WebLoader and its 3 subclasses to C++
12892
12893        * Plugins/WebNetscapePluginStream.h:
12894        * Plugins/WebNetscapePluginStream.m:
12895        (-[WebNetscapePluginStream dealloc]):
12896        (-[WebNetscapePluginStream finalize]):
12897        (-[WebNetscapePluginStream start]):
12898        (-[WebNetscapePluginStream cancelLoadWithError:]):
12899        (-[WebNetscapePluginStream stop]):
12900        * WebCoreSupport/WebFrameBridge.m:
12901        (-[WebFrameBridge canRunModalNow]):
12902        * WebView/WebFrame.m:
12903        (-[WebFramePrivate dealloc]):
12904        (-[WebFramePrivate finalize]):
12905        (frame): Changed from uppercase to lowercase so that it won't conflict
12906        with the WebCore class named Frame.
12907        (-[WebFrame _firstChildFrame]):
12908        (-[WebFrame _lastChildFrame]):
12909        (-[WebFrame _previousSiblingFrame]):
12910        (-[WebFrame _nextSiblingFrame]):
12911        (-[WebFrame _traverseNextFrameStayWithin:]):
12912        (-[WebFrame _immediateChildFrameNamed:]):
12913        (-[WebFrame _nextFrameWithWrap:]):
12914        (-[WebFrame _previousFrameWithWrap:]):
12915        (-[WebFrame findFrameNamed:]):
12916        (-[WebFrame parentFrame]):
12917        (-[WebFrame _dispatchSourceFrame:willSubmitForm:withValues:submissionDecider:]):
12918        (-[WebFrame _deliverArchivedResourcesAfterDelay]):
12919        (-[WebFrame _willUseArchiveForRequest:originalURL:loader:]):
12920        (-[WebFrame _archiveLoadPendingForLoader:]):
12921        (-[WebFrame _cancelPendingArchiveLoadForLoader:]):
12922        (-[WebFrame _clearArchivedResources]):
12923        (-[WebFrame _deliverArchivedResources]):
12924
129252006-10-21  Darin Adler  <darin@apple.com>
12926
12927        Reviewed by Anders.
12928
12929        - fix http://bugs.webkit.org/show_bug.cgi?id=10328
12930          REGRESSION: frame leak reported by buildbot
12931
12932        * WebCoreSupport/WebEditorClient.mm:
12933        (WebEditorClient::WebEditorClient): Don't retain the web view.
12934        (WebEditorClient::~WebEditorClient): Don't release the web view.
12935        (WebEditorClient::setWebView): Ditto.
12936
12937        * WebCoreSupport/WebFrameBridge.m:
12938        (-[WebFrameBridge finishInitializingWithFrameName:view:]): Added. Common code for use by both
12939        init methods below.
12940        (-[WebFrameBridge initMainFrameWithPage:frameName:view:]): Changed to use new method.
12941        Also added comment pointing out design flaw -- we attach the client to the web view here,
12942        but we need to be sure to detach in case the web view is deallocated first.
12943        (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]): Ditto.
12944
129452006-10-21  Darin Adler  <darin@apple.com>
12946
12947        Reviewed by Adam.
12948
12949        - http://bugs.webkit.org/show_bug.cgi?id=11376
12950          build scripts should invoke make with "-j" option for multiple processors
12951
12952        * WebKit.xcodeproj/project.pbxproj: Pass -j `sysctl -n hw.ncpu` to make.
12953
129542006-10-21  Timothy Hatcher  <timothy@apple.com>
12955
12956        Reviewed by Geoff.
12957
12958        <rdar://problem/4478625> HTML Editing: Basic table editing and culling
12959
12960        Initial implementaltion of table deletion user interface:
12961        * Adds a new editing delegate method, webView:shouldShowDeleteInterfaceForElement:.
12962        * The new delegate method is called from the new shouldShowDeleteInterface EditorClient function.
12963
12964        * DefaultDelegates/WebDefaultEditingDelegate.m:
12965        (-[WebDefaultEditingDelegate webView:shouldShowDeleteInterfaceForElement:]):
12966        * WebCoreSupport/WebEditorClient.h:
12967        * WebCoreSupport/WebEditorClient.mm:
12968        (WebEditorClient::WebEditorClient):
12969        (WebEditorClient::shouldDeleteRange):
12970        (WebEditorClient::shouldShowDeleteInterface):
12971        * WebKit.xcodeproj/project.pbxproj:
12972        * WebView/WebEditingDelegatePrivate.h: Added.
12973
129742006-10-21  Alice Liu  <alice.liu@apple.com>
12975
12976        Reviewed by Maciej.
12977
12978        fix leaks.
12979
12980        * WebCoreSupport/WebEditorClient.mm:
12981        (WebEditorClient::setWebView):
12982        only change webview if its different
12983
12984        * WebCoreSupport/WebFrameBridge.m:
12985        (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
12986        actually use the client allocated in the line above instead of
12987        allocation again, duh. 
12988
129892006-10-21  Alice Liu  <alice.liu@apple.com>
12990
12991        Build fix.
12992
12993        * WebCoreSupport/WebEditorClient.h:
12994        * WebCoreSupport/WebEditorClient.mm:
12995        (WebEditorClient::setWebView):
12996
129972006-10-20  Alice Liu  <alice.liu@apple.com>
12998
12999        Reviewed by Tim Hatcher.
13000
13001        Fixed a problem where the webview passed to the EditorClient wasn't valid yet.  
13002
13003        * WebCoreSupport/WebEditorClient.h:
13004        (WebEditorClient::setWebView):
13005        added webview setter
13006
13007        * WebCoreSupport/WebEditorClient.mm:
13008        (WebEditorClient::WebEditorClient):
13009        add default constructor
13010
13011        * WebCoreSupport/WebFrameBridge.m:
13012        (-[WebFrameBridge initMainFrameWithPage:frameName:view:]):
13013        use [page webView] since _webview isn't valid yet
13014        (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
13015        use webview setter on editorclient
13016
130172006-10-20  David Hyatt  <hyatt@apple.com>
13018
13019        Tweak cache sizes so that they are back to the way they were,
13020        except for < 512, which will stay doubled.
13021
13022        Reviewed by Tim H.
13023
13024        * WebCoreSupport/WebFrameBridge.m:
13025        (-[WebFrameBridge getObjectCacheSize]):
13026
130272006-10-20  Alice Liu  <alice.liu@apple.com>
13028
13029        Reviewed by Maciej.
13030
13031        Adding knowledge of EditorClient to WebKit
13032
13033        * WebCoreSupport/WebEditorClient.h: Added.
13034
13035        * WebCoreSupport/WebEditorClient.mm: Added.
13036        (WebEditorClient::WebEditorClient):
13037        (WebEditorClient::~WebEditorClient):
13038        (WebEditorClient::shouldDeleteRange):
13039        Implementation of mac EditorClient
13040
13041        * WebCoreSupport/WebFrameBridge.m:
13042        (-[WebFrameBridge initMainFrameWithPage:frameName:view:]):
13043        (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
13044        create an editor client to pass down the chain of constructors
13045
13046        * WebKit.xcodeproj/project.pbxproj:
13047        Added related EditorClient files
13048
13049        * WebKitPrefix.h:
13050        Added tiger build flag in order to make certain private headers from webcore compile successfully
13051
130522006-10-20  Darin Adler  <darin@apple.com>
13053
13054        - rolled out my loader change; caused world leak and possibly a plug-in crash
13055
130562006-10-20  Darin Adler  <darin@apple.com>
13057
13058        Reviewed by Adele.
13059
13060        - convert WebLoader and its 3 subclasses to C++
13061
13062        * Plugins/WebNetscapePluginStream.h:
13063        * Plugins/WebNetscapePluginStream.m:
13064        (-[WebNetscapePluginStream dealloc]):
13065        (-[WebNetscapePluginStream finalize]):
13066        (-[WebNetscapePluginStream start]):
13067        (-[WebNetscapePluginStream cancelLoadWithError:]):
13068        (-[WebNetscapePluginStream stop]):
13069        * WebCoreSupport/WebFrameBridge.m:
13070        (-[WebFrameBridge canRunModalNow]):
13071        * WebView/WebFrame.m:
13072        (-[WebFramePrivate dealloc]):
13073        (-[WebFramePrivate finalize]):
13074        (frame): Changed from uppercase to lowercase so that it won't conflict
13075        with the WebCore class named Frame.
13076        (-[WebFrame _firstChildFrame]):
13077        (-[WebFrame _lastChildFrame]):
13078        (-[WebFrame _previousSiblingFrame]):
13079        (-[WebFrame _nextSiblingFrame]):
13080        (-[WebFrame _traverseNextFrameStayWithin:]):
13081        (-[WebFrame _immediateChildFrameNamed:]):
13082        (-[WebFrame _nextFrameWithWrap:]):
13083        (-[WebFrame _previousFrameWithWrap:]):
13084        (-[WebFrame findFrameNamed:]):
13085        (-[WebFrame parentFrame]):
13086        (-[WebFrame _dispatchSourceFrame:willSubmitForm:withValues:submissionDecider:]):
13087        (-[WebFrame _deliverArchivedResourcesAfterDelay]):
13088        (-[WebFrame _willUseArchiveForRequest:originalURL:loader:]):
13089        (-[WebFrame _archiveLoadPendingForLoader:]):
13090        (-[WebFrame _cancelPendingArchiveLoadForLoader:]):
13091        (-[WebFrame _clearArchivedResources]):
13092        (-[WebFrame _deliverArchivedResources]):
13093
130942006-10-20  John Sullivan  <sullivan@apple.com>
13095
13096        Reviewed by Darin
13097        
13098        - fixed <rdar://problem/4794935> setAcceptsMouseMovedEvents: is called for every layout, 
13099          taking ~1% on the PLT test
13100
13101        * WebView/WebHTMLView.m:
13102        (-[NSArray layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
13103        Don't call setAcceptsMouseMovedEvents: and WKSetNSWindowShouldPostEventNotifications() here
13104        because this is called too often.
13105        
13106        * WebView/WebView.m:
13107        (-[WebView viewWillMoveToWindow:]):
13108        Do call them here, because this is guaranteed to be called at least once for each window
13109        containing a webview, but isn't called too often. Also restructured this method a little.
13110
131112006-10-19  Timothy Hatcher  <timothy@apple.com>
13112
13113        Reviewed by Anders.
13114
13115        Bug 11366: Web Inspector should show user agent style rules
13116        http://bugs.webkit.org/show_bug.cgi?id=11366
13117
13118        * WebInspector/WebInspector.m:
13119        (-[WebInspector init]):
13120        (-[WebInspector showOptionsMenu]):
13121        (-[WebInspector _toggleShowUserAgentStyles:]):
13122        * WebInspector/WebInspectorInternal.h:
13123        * WebInspector/webInspector/inspector.js:
13124
131252006-10-19  Brady Eidson <beidson@apple.com>
13126
13127        Build fix - 2gig is on that pesky signed/unsigned limit...
13128
13129        * WebCoreSupport/WebFrameBridge.m:
13130        (-[WebFrameBridge getObjectCacheSize]):
13131
131322006-10-19  Brady Eidson  <beidson@apple.com>
13133
13134        Reviewed by Hyatt.
13135
13136        Death to 16777216.  Long live 33554432.
13137        (Cache size changed needs to be reflected in localization file)
13138
13139        * English.lproj/StringsNotToBeLocalized.txt:
13140
131412006-10-19  Brady Eidson  <beidson@apple.com>
13142
13143        Reviewed by Hyatt
13144
13145        Added an larger in-memory level of cache for machines with 2+gb ram
13146
13147        * WebCoreSupport/WebFrameBridge.m:
13148        (-[WebFrameBridge getObjectCacheSize]):
13149
131502006-10-19  Brady Eidson  <beidson@apple.com>
13151
13152        Reviewed by Hyatt
13153
13154        Double the default memory cache size
13155
13156        * WebView/WebPreferences.m:
13157        (+[WebPreferences initialize]):
13158
131592006-10-19  John Sullivan  <sullivan@apple.com>
13160
13161        Reviewed by Kevin D and Geoff
13162
13163        * WebKit.xcodeproj/project.pbxproj:
13164        version wars
13165        
13166        Cleaned up this file, as follows:
13167        - renamed all file-internal methods to start with underscores
13168        - moved all file-internal methods into a FileInternal category block, and alphabetized them
13169        - grouped all other methods by where/how they were defined (delegate methods, protocol methods, overrides, etc.)
13170        - removed unstylish braces around one-line clauses
13171        
13172        * WebView/WebPDFView.m:
13173        (_applicationInfoForMIMEType):
13174        (_PDFSelectionsAreEqual):
13175        (+[WebPDFView supportedMIMETypes]):
13176        (-[WebPDFView setPDFDocument:]):
13177        (-[WebPDFView dealloc]):
13178        (-[WebPDFView centerSelectionInVisibleArea:]):
13179        (-[WebPDFView scrollPageDown:]):
13180        (-[WebPDFView scrollPageUp:]):
13181        (-[WebPDFView scrollLineDown:]):
13182        (-[WebPDFView scrollLineUp:]):
13183        (-[WebPDFView scrollToBeginningOfDocument:]):
13184        (-[WebPDFView scrollToEndOfDocument:]):
13185        (-[WebPDFView jumpToSelection:]):
13186        (-[WebPDFView acceptsFirstResponder]):
13187        (-[WebPDFView becomeFirstResponder]):
13188        (-[WebPDFView hitTest:]):
13189        (-[WebPDFView initWithFrame:]):
13190        (-[WebPDFView menuForEvent:]):
13191        (-[WebPDFView setNextKeyView:]):
13192        (-[WebPDFView viewDidMoveToWindow]):
13193        (-[WebPDFView viewWillMoveToWindow:]):
13194        (-[WebPDFView validateUserInterfaceItem:]):
13195        (-[WebPDFView copy:]):
13196        (-[WebPDFView takeFindStringFromSelection:]):
13197        (-[WebPDFView canPrintHeadersAndFooters]):
13198        (-[WebPDFView printOperationWithPrintInfo:]):
13199        (-[WebPDFView viewWillMoveToHostWindow:]):
13200        (-[WebPDFView viewDidMoveToHostWindow]):
13201        (-[WebPDFView elementAtPoint:]):
13202        (-[WebPDFView elementAtPoint:allowShadowContent:]):
13203        (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
13204        (-[WebPDFView viewState]):
13205        (-[WebPDFView setViewState:]):
13206        (-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]):
13207        (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
13208        (+[WebPDFView _PDFPreviewViewClass]):
13209        (+[WebPDFView _PDFViewClass]):
13210        (-[WebPDFView _anyPDFTagsFoundInMenu:]):
13211        (-[WebPDFView _applyPDFDefaults]):
13212        (-[WebPDFView _fakeKeyEventWithFunctionKey:]):
13213        (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
13214        (-[WebPDFView _openWithFinder:]):
13215        (-[WebPDFView _path]):
13216        (-[WebPDFView _PDFSubview]):
13217        (-[WebPDFView _pointIsInSelection:]):
13218        (-[WebPDFView _receivedPDFKitLaunchNotification:]):
13219        (-[WebPDFView _scaledAttributedString:]):
13220        (-[WebPDFView _trackFirstResponder]):
13221        (-[PDFPrefUpdatingProxy forwardInvocation:]):
13222        (-[PDFPrefUpdatingProxy methodSignatureForSelector:]):
13223
132242006-10-19  John Sullivan  <sullivan@apple.com>
13225
13226        Reviewed by Kevin Decker
13227        
13228        - fixed <rdar://problem/4792761> Safari should use fancier embedded PDFKit stuff when it's available
13229
13230        * WebKit.xcodeproj/project.pbxproj:
13231        version wars
13232        
13233        * WebView/WebFrameView.m:
13234        (-[WebFrameView _makeDocumentViewForDataSource:]):
13235        initialize document view with frame view's rect instead of empty rect. This avoids some problems when 
13236        constructing view hierarchies from nibs
13237        
13238        * WebView/WebPreferencesPrivate.h:
13239        declare new _usePDFPreviewView and _setUsePDFPreviewView:, used for debugging
13240        * WebView/WebPreferenceKeysPrivate.h:
13241        declare new preference key string
13242        * WebView/WebPreferences.m:
13243        (+[WebPreferences initialize]):
13244        initialize new preference to true (we will by default use the new view if it's available)
13245        (-[WebPreferences _usePDFPreviewView]):
13246        new accessor for new pref
13247        (-[WebPreferences _setUsePDFPreviewView:]):
13248        ditto
13249
13250        * WebView/WebPDFView.h:
13251        new previewView ivar
13252        
13253        * WebView/WebPDFView.m:
13254        (+[WebPDFView PDFPreviewViewClass]):
13255        new method, returns class to use for fancier embedded PDFKit stuff, or nil if fancy stuff isn't available
13256        (-[WebPDFView initWithFrame:]):
13257        now tries to use fancier embedded PDFKit stuff if it's available and the pref is set to use it; falls back
13258        to old behavior otherwise
13259        (-[WebPDFView dealloc]):
13260        release new previewView ivar (retained in initWithFrame:)
13261        (-[WebPDFView viewWillMoveToWindow:]):
13262        stop observing PDFKit notification when we're removed from window
13263        (-[WebPDFView viewDidMoveToWindow]):
13264        start observing PDFKit notification when we're added to window
13265        (-[WebPDFView _receivedPDFKitLaunchNotification:]):
13266        respond to this new PDFKit notification by opening the document via NSWorkspace
13267        
13268        * English.lproj/StringsNotToBeLocalized.txt:
13269        updated for lots of recent changes
13270        
132712006-10-19  Sam Weinig  <sam.weinig@gmail.com>
13272
13273        Reviewed by ap.
13274
13275        Win32 build fix.
13276
13277        * COM/WebFrame.cpp:
13278        (WebFrame::initWithName):
13279        (WebFrame::createNewWindow):
13280
132812006-10-19  Mitz Pettel  <mitz@webkit.org>
13282
13283        Reviewed and landed by ap.
13284
13285        - fixed the inspector's tree popup
13286
13287        * WebInspector/webInspector/inspector.html:
13288
132892006-10-18  Sam Weinig  <sam.weinig@gmail.com>
13290
13291        Reviewed by Maciej.
13292
13293        Win32 build fix.
13294
13295        * COM/WebFrame.cpp:
13296        (WebFrame::createNewWindow):
13297        * COM/WebFrame.h:
13298
132992006-10-18  Anders Carlsson  <acarlsson@apple.com>
13300
13301        Reviewed by Adam.
13302
13303        http://bugs.webkit.org/show_bug.cgi?id=11000
13304        REGRESSION (r16101): css2.1/t0801-c412-hz-box-00-b-a is failing because the QuickTime plugin is taking over but not rendering the png
13305        
13306        * WebCoreSupport/WebFrameBridge.m:
13307        (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
13308        Return ObjectElementFrame if the MIME type is one of the image ones we support.
13309
133102006-10-17  Justin Garcia  <justin.garcia@apple.com>
13311
13312        Reviewed by harrison
13313        
13314        <rdar://problem/4765600>
13315        REGRESSION: Mail.app: smart deletion of words does not work
13316        
13317        Regressed when we pushed selecion expansion down into WebCore.  It's OK
13318        to try a smart delete from _deleteWithDirection:, which is called by
13319        deleteFoward: and deleteBackward: if the current selection is a 
13320        range.
13321    
13322        * WebView/WebHTMLView.m:
13323        (-[NSArray _deleteWithDirection:granularity:killRing:isTypingAction:]):
13324
133252006-10-13  Justin Garcia  <justin.garcia@apple.com>
13326
13327        Reviewed by harrison
13328        
13329        <rdar://problem/3655385>
13330        Editing: -indent: method unimplemented
13331
13332        * WebView/WebHTMLView.m:
13333        (-[NSArray validateUserInterfaceItem:]): Only allow indent:/outdent: in
13334        richly editable areas.
13335        (-[NSArray indent:]):
13336        (-[NSArray outdent:]):
13337
133382006-10-13  Maciej Stachowiak  <mjs@apple.com>
13339
13340        Not reviewed, build fix.
13341        
13342        * icu/unicode/putil.h: Added - needed for build if you don't have apple internal headers.
13343
133442006-10-13  Maciej Stachowiak  <mjs@apple.com>
13345
13346        Not reviewed, build fix.
13347        
13348        * icu/unicode/ustring.h: Added - needed for build if you don't have apple internal headers.
13349
133502006-10-13  Maciej Stachowiak  <mjs@apple.com>
13351
13352        Reviewed by Anders.
13353        
13354        - add a bunch of casts to get this compiling with older Xcode versions
13355        
13356        (I used static_cast so it will be easier to find and remove these once we have completely moved
13357        on to a new enough compiler version.)
13358
13359        * Plugins/WebBaseNetscapePluginView.m:
13360        (+[WebBaseNetscapePluginView getCarbonEvent:]):
13361        (-[WebBaseNetscapePluginView getCarbonEvent:withEvent:]):
13362        (-[WebBaseNetscapePluginView fixWindowPort]):
13363        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
13364        (-[WebBaseNetscapePluginView _createWindowlessAGLContext]):
13365        (-[WebBaseNetscapePluginView _reshapeAGLWindow]):
13366        (-[WebBaseNetscapePluginView _aglOffscreenImageForDrawingInRect:]):
13367        * WebKit.xcodeproj/project.pbxproj:
13368
133692006-10-13  Kevin McCullough  <KMcCullough@apple.com>
13370
13371        Changed by Darin, reviewed by me.
13372
13373        * Plugins/WebNetscapePluginStream.m: Fixed case of import so we can compile on
13374        case-sensitive file system.
13375
133762006-10-13  Darin Adler  <darin@apple.com>
13377
13378        Reviewed by Adele.
13379
13380        - converted WebFormState from Objective-C to C++
13381
13382        * ForwardingHeaders: Added an entire copy of WebCore's forwarding headers here.
13383        We should eventually come up with a more-elegant solution.
13384
13385        * WebKit.xcodeproj/project.pbxproj: Added ForwardingHeaders to the include paths.
13386        Converted many files from Objective-C to Objective-C++. In a later check-in, I'll
13387        rename them to .mm instead of .m. Removed C-only warning options for now. In a
13388        later check-in I will add these back in a way that omits them for C++.
13389
13390        * Plugins/WebPluginContainerCheck.m: Updated for header changes.
13391
13392        * WebView/WebFrameInternal.h: Updated for header changes. Removed WebFrameLoaderClient category
13393        so this file can still be used by Objective-C code (not just Objective-C++).
13394
13395        * WebView/WebFrame.m: Put WebFrameLoaderClient category in here.
13396        (-[WebFrame _loadItem:withLoadType:]): Changed to use 0 instead of nil for FormState and fixed
13397        enum code for C++ compatibility.
13398        (-[WebFrame _initWithWebFrameView:webView:bridge:]): Added call to setFrameLoaderClient: here.
13399        (-[WebFrame _updateHistoryForCommit]): Fixed enum code for C++ compatibility.
13400        (-[WebFrame _updateHistoryForReload]): Ditto.
13401
13402        * WebCoreSupport/WebFrameBridge.m:
13403        (-[WebFrameBridge initMainFrameWithPage:frameName:view:]): Removed call to setFrameLoaderClient:.
13404        (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]): Ditto.
13405        (-[WebFrameBridge _retrieveKeyboardUIModeFromPreferences:]): Fixed enum code for C++ compatibility.
13406        (-[WebFrameBridge runModal]): Changed code to not use "namespace" as a local variable name.
13407
13408        * WebView/WebPDFView.m: Added extern "C" so this can compile as Objective-C++.
13409
134102006-10-12  Maciej Stachowiak  <mjs@apple.com>
13411
13412        Reviewed by Oliver.
13413        
13414        - liberate more WebKit code down to WebCore
13415
13416        * WebCoreSupport/WebFrameBridge.h:
13417        * WebCoreSupport/WebFrameBridge.m:
13418
134192006-10-12  Adele Peterson  <adele@apple.com>
13420
13421        Reviewed by Maciej.
13422
13423        WebKit part of fix for <rdar://problem/4450613> need a means to attach user data to any menu that is popuped up in HTML
13424
13425        Added private delegate method for clients that want access to a PopupMenu's NSMenu.
13426
13427        * DefaultDelegates/WebDefaultUIDelegate.m: (-[NSApplication webView:willPopupMenu:]):
13428        * WebCoreSupport/WebFrameBridge.m: (-[WebFrameBridge willPopupMenu:]):
13429        * WebView/WebUIDelegatePrivate.h:
13430
134312006-10-12  MorganL  <morganl.webkit@yahoo.com>
13432
13433        Reviewed/landed by Adam.
13434
13435        Fixes http://bugs.webkit.org/show_bug.cgi?id=11264
13436        Windows build busted
13437
13438        * COM/WebFrame.cpp:
13439        (WebFrame::receivedResponse):
13440
134412006-10-11  Darin Adler  <darin@apple.com>
13442
13443        Reviewed by Adele.
13444
13445        - preparations for making more code C++
13446
13447        * WebKitPrefix.h: Fixed ifdef so that C++ files get all the precompiled stuff
13448        that non-C++ files get.
13449
13450        * Misc/WebKitLogging.h:
13451        * Misc/WebKitSystemBits.h:
13452        * Misc/WebLocalizableStrings.h:
13453        * WebCoreSupport/WebSystemInterface.h:
13454        Added extern "C".
13455
13456        * Misc/WebNSViewExtras.h:
13457        * WebView/WebDataSource.m: (addTypesFromClass):
13458        * WebView/WebFrameView.m: (addTypesFromClass):
13459        Eliminated use of the identifier "class".
13460
13461        * WebView/WebView.m: (-[WebView _goToItem:withLoadType:]): Added a type cast.
13462
13463        * Plugins/WebBaseNetscapePluginView.m: Added lots of type casts.
13464
134652006-10-10  Brady Eidson  <beidson@apple.com>
13466
13467        Reviewed by Maciej.
13468
13469        Moved WebFrameLoader into WebCoreFrameBridge
13470
13471        * WebCoreSupport/WebFrameBridge.h:
13472        * WebCoreSupport/WebFrameBridge.m:
13473        (-[WebFrameBridge initMainFrameWithPage:frameName:view:]):
13474        (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
13475        (-[WebFrameBridge dealloc]):
13476        (-[WebFrameBridge setTitle:]):
13477        (-[WebFrameBridge receivedData:textEncodingName:]):
13478        (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
13479        (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
13480        (-[WebFrameBridge objectLoadedFromCacheWithURL:response:data:]):
13481        (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
13482        (-[WebFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
13483        (-[WebFrameBridge reportClientRedirectCancelled:]):
13484        (-[WebFrameBridge close]):
13485        (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
13486        (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
13487        (-[WebFrameBridge tokenizerProcessedData]):
13488        (-[WebFrameBridge frameDetached]):
13489        (-[WebFrameBridge didFirstLayout]):
13490        (-[WebFrameBridge notifyIconChanged:]):
13491        (-[WebFrameBridge originalRequestURL]):
13492        (-[WebFrameBridge isLoadTypeReload]):
13493
134942006-10-10  Adele Peterson  <adele@apple.com>
13495
13496        Reviewed by Beth.
13497
13498        Removed handleAutoscrollForMouseDragged.  Except for autoscroll caused by drag and drop, all other
13499        autoscrolling should be done in WebCore instead of in AppKit.
13500
13501        * WebCoreSupport/WebFrameBridge.m:
13502        * WebView/WebHTMLView.m:
13503        * WebView/WebHTMLViewPrivate.h:
13504
135052006-10-10  Darin Adler  <darin@apple.com>
13506
13507        - corrected an archive regression caused by loader refactoring
13508          (pointed out by Graham Dennis)
13509
13510        * WebView/WebFrame.m: (-[WebFrame _deliverArchivedResourcesAfterDelay]):
13511        Fix selector name.
13512
135132006-10-10  Maciej Stachowiak  <mjs@apple.com>
13514
13515        Rubber stamped by Eric.
13516        
13517        - moved a whole bunch of stuff over to WebCore - updated includes appropriately
13518
13519        * Loader/LoaderNSURLExtras.h: Removed.
13520        * Loader/LoaderNSURLExtras.m: Removed.
13521        * Loader/WebDataProtocol.h: Removed.
13522        * Loader/WebDataProtocol.m: Removed.
13523        * Loader/WebDocumentLoader.h: Removed.
13524        * Loader/WebDocumentLoader.m: Removed.
13525        * Loader/WebFormDataStream.h: Removed.
13526        * Loader/WebFormDataStream.m: Removed.
13527        * Loader/WebFormState.h: Removed.
13528        * Loader/WebFormState.m: Removed.
13529        * Loader/WebFrameLoader.h: Removed.
13530        * Loader/WebFrameLoader.m: Removed.
13531        * Loader/WebFrameLoaderClient.h: Removed.
13532        * Loader/WebLoader.h: Removed.
13533        * Loader/WebLoader.m: Removed.
13534        * Loader/WebMainResourceLoader.h: Removed.
13535        * Loader/WebMainResourceLoader.m: Removed.
13536        * Loader/WebNetscapePlugInStreamLoader.h: Removed.
13537        * Loader/WebNetscapePlugInStreamLoader.m: Removed.
13538        * Loader/WebPlugInStreamLoaderDelegate.h: Removed.
13539        * Loader/WebPolicyDecider.h: Removed.
13540        * Loader/WebPolicyDecider.m: Removed.
13541        * Loader/WebSubresourceLoader.h: Removed.
13542        * Loader/WebSubresourceLoader.m: Removed.
13543        * Misc/WebNSURLExtras.m:
13544        * Plugins/WebBaseNetscapePluginStream.h:
13545        * Plugins/WebBaseNetscapePluginView.m:
13546        * Plugins/WebNetscapePluginStream.m:
13547        * Plugins/WebPluginContainerCheck.m:
13548        * Plugins/WebPluginController.m:
13549        * WebCoreSupport/WebFrameBridge.m:
13550        * WebKit.xcodeproj/project.pbxproj:
13551        * WebView/WebDataSource.m:
13552        * WebView/WebDocumentLoaderMac.h:
13553        * WebView/WebFrame.m:
13554        * WebView/WebFrameInternal.h:
13555        * WebView/WebHTMLView.m:
13556        * WebView/WebPolicyDeciderMac.h:
13557        * WebView/WebPolicyDelegate.m:
13558        * WebView/WebView.m:
13559
135602006-10-10  Mark Rowe  <bdash@webkit.org>
13561
13562        Reviewed by Maciej.
13563
13564        Fix crash on launch in nightly builds after r16965.
13565
13566        Safari will sometimes call through to -[NSURL _webkit_canonicalize] before creating a WebView.  If this happens,
13567        InitWebCoreSystemInterface has not yet been called so the call to wkNSURLProtocolClassForReqest is via a garbage
13568        pointer.
13569
13570        * Misc/WebNSURLExtras.m:
13571        (-[NSURL _webkit_canonicalize]): Ensure InitWebCoreSystemInterface is called prior to canonicalURL.
13572
135732006-10-10  Maciej Stachowiak  <mjs@apple.com>
13574
13575        Reviewed by Oliver.
13576        
13577        - split out some NSURL extras to be moved to WebCore
13578
13579        * Loader/LoaderNSURLExtras.h: Added.
13580        * Loader/LoaderNSURLExtras.m: Added.
13581        (urlByRemovingComponent):
13582        (urlByRemovingFragment):
13583        (urlOriginalDataAsString):
13584        (urlOriginalData):
13585        (urlWithData):
13586        (WebCFAutorelease):
13587        (urlWithDataRelativeToURL):
13588        (urlByRemovingResourceSpecifier):
13589        (urlIsFileURL):
13590        (stringIsFileURL):
13591        (urlIsEmpty):
13592        (canonicalURL):
13593        * Loader/WebFrameLoader.m:
13594        (-[WebFrameLoader shouldReloadForCurrent:andDestination:]):
13595        (setHTTPReferrer):
13596        (-[WebFrameLoader commitProvisionalLoad:]):
13597        (-[WebFrameLoader _notifyIconChanged:]):
13598        (-[WebFrameLoader didChangeTitleForDocument:]):
13599        (-[WebFrameLoader checkNavigationPolicyForRequest:documentLoader:formState:andCall:withSelector:]):
13600        (-[WebFrameLoader safeLoadURL:]):
13601        * Misc/WebNSURLExtras.m:
13602        (+[NSURL _web_URLWithData:]):
13603        (+[NSURL _web_URLWithData:relativeToURL:]):
13604        (-[NSURL _web_originalData]):
13605        (-[NSURL _web_originalDataAsString]):
13606        (-[NSURL _web_isEmpty]):
13607        (-[NSURL _webkit_canonicalize]):
13608        (-[NSURL _webkit_URLByRemovingComponent:]):
13609        (-[NSURL _webkit_URLByRemovingFragment]):
13610        (-[NSURL _webkit_URLByRemovingResourceSpecifier]):
13611        (-[NSURL _webkit_isFileURL]):
13612        (-[NSString _webkit_isFileURL]):
13613        * WebCoreSupport/WebSystemInterface.m:
13614        (InitWebCoreSystemInterface):
13615        * WebKit.xcodeproj/project.pbxproj:
13616
136172006-10-09  Maciej Stachowiak  <mjs@apple.com>
13618
13619        Reviewed by Anders.
13620        
13621        - sever final WebFrame dependencies
13622
13623        * Loader/WebFrameLoader.h:
13624        * Loader/WebFrameLoader.m:
13625        (-[WebFrameLoader initWithFrame:client:]):
13626        (-[WebFrameLoader defersCallbacksChanged]):
13627        (-[WebFrameLoader subframeIsLoading]):
13628        (-[WebFrameLoader transitionToCommitted:]):
13629        (-[WebFrameLoader detachChildren]):
13630        (-[WebFrameLoader checkLoadComplete]):
13631
136322006-10-09  Maciej Stachowiak  <mjs@apple.com>
13633
13634        Reviewed by Brady.
13635        
13636        - convert more WebFrameLoader stuff to be independent of WebFrame
13637
13638        * Loader/WebFrameLoader.h:
13639        * Loader/WebFrameLoader.m:
13640        (-[WebFrameLoader stopLoadingSubframes]):
13641        (-[WebFrameLoader _receivedMainResourceError:complete:]):
13642        (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
13643        (-[WebFrameLoader closeOldDataSources]):
13644        (-[WebFrameLoader isHostedByObjectElement]):
13645        (-[WebFrameLoader isLoadingMainFrame]):
13646        (-[WebFrameLoader loadDocumentLoader:withLoadType:formState:]):
13647        (-[WebFrameLoader transitionToCommitted:]):
13648        (-[WebFrameLoader checkLoadCompleteForThisFrame]):
13649        (-[WebFrameLoader continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
13650        (-[WebFrameLoader loadRequest:inFrameNamed:]):
13651        (-[WebFrameLoader postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
13652        (-[WebFrameLoader actionInformationForNavigationType:event:originalURL:]):
13653        (-[WebFrameLoader client]):
13654        * Loader/WebFrameLoaderClient.h:
13655        * WebView/WebDataSource.m:
13656        (-[WebDataSource _webView]):
13657        (-[WebDataSource webFrame]):
13658        * WebView/WebFrame.m:
13659        (-[WebFrame _dispatchCreateWebViewWithRequest:]):
13660
136612006-10-09  Maciej Stachowiak  <mjs@apple.com>
13662
13663        Reviewed by Anders and Oliver.
13664        
13665        - move a bunch of WebFrame methods from the Internal category to the WebFrameLoader protocol
13666
13667        * Loader/WebFrameLoader.h:
13668        * Loader/WebFrameLoader.m:
13669        (-[WebFrameLoader loadRequest:]):
13670        (-[WebFrameLoader loadRequest:inFrameNamed:]):
13671        * Loader/WebFrameLoaderClient.h:
13672        * WebView/WebFrame.m:
13673        (-[WebFrame loadRequest:]):
13674        (-[WebFrame _dispatchDidCommitLoadForFrame]):
13675        (-[WebFrame _hasFrameView]):
13676        (-[WebFrame _frameLoadCompleted]):
13677        (-[WebFrame _restoreScrollPositionAndViewState]):
13678        (-[WebFrame _setTitle:forURL:]):
13679        (-[WebFrame _createDocumentLoaderWithRequest:]):
13680        (-[WebFrame _prepareForDataSourceReplacement]):
13681        (-[WebFrame _didFinishLoad]):
13682        (-[WebFrame _addHistoryItemForFragmentScroll]):
13683        (-[WebFrame _shouldTreatURLAsSameAsCurrent:]):
13684        (-[WebFrame _provisionalLoadStarted]):
13685        * WebView/WebFrameInternal.h:
13686
136872006-10-09  Maciej Stachowiak  <mjs@apple.com>
13688
13689        Not reviewed, build fix.
13690        
13691        - added forgotten files
13692
13693        * Loader/WebPolicyDecider.h: Added.
13694        * Loader/WebPolicyDecider.m: Added.
13695        (-[WebPolicyDecider invalidate]):
13696
136972006-10-09  Maciej Stachowiak  <mjs@apple.com>
13698
13699        Reviewed by Brady.
13700        
13701        - add wrapper for WebPolicyDecisionListener so we can remove the dependency from WebFrameLoader.
13702
13703        * Loader/WebFrameLoader.h:
13704        * Loader/WebFrameLoader.m:
13705        (-[WebFrameLoader _checkContentPolicyForMIMEType:andCall:withSelector:]):
13706        (-[WebFrameLoader cancelContentPolicy]):
13707        (-[WebFrameLoader invalidatePendingPolicyDecisionCallingDefaultAction:]):
13708        (-[WebFrameLoader checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
13709        (-[WebFrameLoader checkNavigationPolicyForRequest:documentLoader:formState:andCall:withSelector:]):
13710        (-[WebFrameLoader continueAfterWillSubmitForm:]):
13711        (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
13712        * Loader/WebFrameLoaderClient.h:
13713        * WebKit.xcodeproj/project.pbxproj:
13714        * WebView/WebFrame.m:
13715        (-[WebFrame _createPolicyDeciderWithTarget:action:]):
13716        (decisionListener):
13717        (-[WebFrame _dispatchDecidePolicyForMIMEType:request:decider:]):
13718        (-[WebFrame _dispatchDecidePolicyForNewWindowAction:request:newFrameName:decider:]):
13719        (-[WebFrame _dispatchDecidePolicyForNavigationAction:request:decider:]):
13720        (-[WebFrame _dispatchSourceFrame:willSubmitForm:withValues:submissionDecider:]):
13721        * WebView/WebPolicyDeciderMac.h: Added.
13722        * WebView/WebPolicyDeciderMac.m: Added.
13723        (-[WebPolicyDeciderMac initWithTarget:action:]):
13724        (-[WebPolicyDeciderMac dealloc]):
13725        (-[WebPolicyDeciderMac decisionListener]):
13726        (-[WebPolicyDeciderMac invalidate]):
13727
137282006-10-09  Brady Eidson  <beidson@apple.com>
13729
13730        Reviewed by John
13731
13732        http://bugs.webkit.org/show_bug.cgi?id=11195
13733        Added the WebIconDatabaseDelegate.  This allows the ability to allow customization of 
13734        IconDatabase behavior in the future, starting now with the ability to override the 
13735        default icon fairly flexibly
13736
13737        * Misc/WebIconDatabase.h: Added setIconDatabaseDelegate:
13738        * Misc/WebIconDatabase.m:
13739        (-[WebIconDatabase iconForURL:withSize:cache:]): Call the delegate for the default icon if delegate is set
13740        (-[WebIconDatabase defaultIconForURL:withSize:]): Get the default icon through the delegate if available, built-in if not
13741        (-[WebIconDatabase setDelegate:]):
13742        (-[WebIconDatabase delegate]):
13743        * Misc/WebIconDatabaseDelegate.h: Added.
13744        * Misc/WebIconDatabasePrivate.h: Added the delegate, nuked an unused class definition
13745        * WebKit.xcodeproj/project.pbxproj:
13746
137472006-10-09  Darin Adler  <darin@apple.com>
13748
13749        Reviewed by Maciej.
13750
13751        - eliminated uses of WebResource and WebView from WebFrameLoader
13752
13753        * Loader/WebFrameLoader.h:
13754        * Loader/WebFrameLoader.m:
13755        (-[WebFrameLoader setDefersCallbacks:]):
13756        (-[WebFrameLoader stopLoading]):
13757        (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
13758        (-[WebFrameLoader archiveLoadPendingForLoader:]):
13759        (-[WebFrameLoader cancelPendingArchiveLoadForLoader:]):
13760        (-[WebFrameLoader _canShowMIMEType:]):
13761        (-[WebFrameLoader _representationExistsForURLScheme:]):
13762        (-[WebFrameLoader _generatedMIMETypeForURLScheme:]):
13763        (-[WebFrameLoader loadDocumentLoader:]):
13764        (-[WebFrameLoader continueAfterNavigationPolicy:]):
13765        (-[WebFrameLoader sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
13766        (-[WebFrameLoader actionInformationForNavigationType:event:originalURL:]):
13767        * Loader/WebFrameLoaderClient.h:
13768        * Loader/WebMainResourceLoader.m:
13769        (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
13770        (-[WebMainResourceLoader loadWithRequestNow:]):
13771        * WebView/WebFrame.m:
13772        (-[WebFramePrivate dealloc]):
13773        (-[WebFrame loadRequest:]):
13774        (-[WebFrame loadArchive:]):
13775        (-[WebFrame _canUseResourceForRequest:]):
13776        (-[WebFrame _canUseResourceWithResponse:]):
13777        (-[WebFrame _deliverArchivedResourcesAfterDelay]):
13778        (-[WebFrame _willUseArchiveForRequest:originalURL:loader:]):
13779        (-[WebFrame _archiveLoadPendingForLoader:]):
13780        (-[WebFrame _cancelPendingArchiveLoadForLoader:]):
13781        (-[WebFrame _clearArchivedResources]):
13782        (-[WebFrame _deliverArchivedResources]):
13783        (-[WebFrame _setDefersCallbacks:]):
13784        (-[WebFrame _canHandleRequest:]):
13785        (-[WebFrame _canShowMIMEType:]):
13786        (-[WebFrame _representationExistsForURLScheme:]):
13787        (-[WebFrame _generatedMIMETypeForURLScheme:]):
13788        (-[WebFrame _elementForEvent:]):
13789
137902006-10-09  Maciej Stachowiak  <mjs@apple.com>
13791
13792        Reviewed by Darin.
13793        
13794        - do all the stuff that setting the referrer should
13795
13796        * Loader/WebFrameLoader.m:
13797        (setHTTPReferrer):
13798        (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
13799        (-[WebFrameLoader postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
13800        * WebKit.xcodeproj/project.pbxproj:
13801
138022006-10-09  Brady Eidson  <beidson@apple.com>
13803
13804        Reviewed by Maciej
13805
13806        Fix to elminate WebIconDatabaseBridge.h from WebFrameLoader
13807
13808        * Loader/WebFrameLoader.m:
13809        (-[WebFrameLoader _notifyIconChanged:]):
13810        * WebCoreSupport/WebIconDatabaseBridge.m:
13811        (+[WebIconDatabaseBridge createInstance]):
13812
138132006-10-09  Maciej Stachowiak  <mjs@apple.com>
13814
13815        Reviewed by Darin.
13816        
13817        (Was reviewed as part of a larger patch but it looks like Darin already did the rest of it)
13818        
13819        - avoid a needless use of WebFrame
13820
13821        * Loader/WebFrameLoader.m:
13822        (-[WebFrameLoader loadDocumentLoader:withLoadType:formState:]):
13823
138242006-10-09  Brady Eidson  <beidson@apple.com>
13825
13826        A *real* fake fix for the layouttest problem until the real fix
13827
13828        * Loader/WebFrameLoader.m:
13829        (-[WebFrameLoader _notifyIconChanged:]):
13830
138312006-10-09  Brady Eidson  <beidson@apple.com>
13832
13833        Quick layouttest fix until I make the real fix
13834
13835        * Loader/WebFrameLoader.m:
13836
138372006-10-09  Maciej Stachowiak  <mjs@apple.com>
13838
13839        Reviewed by Darin.
13840        
13841        - wean WebFrameLoader from WebDataSource private stuff
13842        
13843        (actually just tweaks tot he above to make merging my future
13844        patches easier since Darin did a lot of the same stuff)
13845
13846        * Loader/WebDocumentLoader.h:
13847        * Loader/WebDocumentLoader.m:
13848        (-[WebDocumentLoader URLForHistory]):
13849        * Loader/WebFrameLoader.m:
13850        (-[WebFrameLoader _loadRequest:archive:]):
13851        (-[WebFrameLoader revertToProvisionalWithDocumentLoader:]):
13852        (-[WebFrameLoader documentLoader:setMainDocumentError:]):
13853        (-[WebFrameLoader finalSetupForReplaceWithDocumentLoader:]):
13854        (-[WebFrameLoader didChangeTitleForDocument:]):
13855        (-[WebFrameLoader loadDocumentLoader:withLoadType:formState:]):
13856        * Loader/WebFrameLoaderClient.h:
13857        * WebView/WebDataSource.m:
13858        (-[WebDataSource _URLForHistory]):
13859        * WebView/WebFrame.m:
13860        (-[WebFrame _addDocumentLoader:toUnarchiveState:]):
13861        (-[WebFrame _revertToProvisionalStateForDocumentLoader:]):
13862        (-[WebFrame _setMainDocumentError:forDocumentLoader:]):
13863        (-[WebFrame _clearUnarchivingStateForLoader:]):
13864
138652006-10-09  Darin Adler  <darin@apple.com>
13866
13867        Reviewed by Brady.
13868
13869        - eliminated WebFrameLoader dependency on WebDataSourceInternal.h,
13870          WebIconDatabasePrivate.h, and WebKitErrorsPrivate.h, along with
13871          most but not all references to WebView
13872
13873        * Loader/WebFrameLoader.h:
13874        * Loader/WebFrameLoader.m:
13875        (-[WebFrameLoader removePlugInStreamLoader:]):
13876        (-[WebFrameLoader _receivedMainResourceError:complete:]):
13877        (-[WebFrameLoader _notifyIconChanged:]):
13878        (-[WebFrameLoader cancelledErrorWithRequest:]):
13879        (-[WebFrameLoader fileDoesNotExistErrorWithResponse:]):
13880        (-[WebFrameLoader handleUnimplementablePolicyWithError:]):
13881        (-[WebFrameLoader cannotShowMIMETypeWithResponse:]):
13882        (-[WebFrameLoader interruptForPolicyChangeErrorWithRequest:]):
13883        (-[WebFrameLoader _loadRequest:archive:]):
13884        (-[WebFrameLoader finishedLoadingDocument:]):
13885        (-[WebFrameLoader committedLoadWithDocumentLoader:data:]):
13886        (-[WebFrameLoader revertToProvisionalWithDocumentLoader:]):
13887        (-[WebFrameLoader documentLoader:setMainDocumentError:]):
13888        (-[WebFrameLoader finalSetupForReplaceWithDocumentLoader:]):
13889        (-[WebFrameLoader didChangeTitleForDocument:]):
13890        (-[WebFrameLoader continueAfterNavigationPolicy:]):
13891        (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
13892        (-[WebFrameLoader loadDocumentLoader:withLoadType:formState:]):
13893        (-[WebFrameLoader transitionToCommitted:]):
13894        (-[WebFrameLoader checkLoadCompleteForThisFrame]):
13895        (-[WebFrameLoader requestFromDelegateForRequest:identifier:error:]):
13896        (-[WebFrameLoader addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
13897        (-[WebFrameLoader checkLoadComplete]):
13898        * Loader/WebFrameLoaderClient.h:
13899        * Loader/WebMainResourceLoader.m:
13900        (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
13901        * WebView/WebFrame.m:
13902        (-[WebFrame _addDocumentLoader:toUnarchiveState:]):
13903        (-[WebFrame _formDelegate]):
13904        (-[WebFrame _finishedLoadingDocument:]):
13905        (-[WebFrame _committedLoadWithDocumentLoader:data:]):
13906        (-[WebFrame _revertToProvisionalWithDocumentLoader:]):
13907        (-[WebFrame _documentLoader:setMainDocumentError:]):
13908        (-[WebFrame _finalSetupForReplaceWithDocumentLoader:]):
13909        (-[WebFrame _URLForHistoryForDocumentLoader:]):
13910        (-[WebFrame _cancelledErrorWithRequest:]):
13911        (-[WebFrame _cannotShowURLErrorWithRequest:]):
13912        (-[WebFrame _interruptForPolicyChangeErrorWithRequest:]):
13913        (-[WebFrame _cannotShowMIMETypeErrorWithResponse:]):
13914        (-[WebFrame _fileDoesNotExistErrorWithResponse:]):
13915        (-[WebFrame _shouldFallBackForError:]):
13916        (-[WebFrame _hasWebView]):
13917        (-[WebFrame _mainFrameURL]):
13918        * WebView/WebFrameInternal.h:
13919
139202006-10-09  Maciej Stachowiak  <mjs@apple.com>
13921
13922        Reviewed, landed, tweaked a bit by Darin.
13923
13924        - removed most uses of WebFrameBridge from WebFrameLoader
13925          (WebCoreFrameBridge use is OK)
13926
13927        * Loader/WebDocumentLoader.m:
13928        (-[WebDocumentLoader bridge]):
13929        * Loader/WebFrameLoader.h:
13930        * Loader/WebFrameLoader.m:
13931        (-[WebFrameLoader initWithFrame:client:]):
13932        (-[WebFrameLoader defersCallbacksChanged]):
13933        (-[WebFrameLoader defersCallbacks]):
13934        (-[WebFrameLoader provisionalLoadStarted]):
13935        (-[WebFrameLoader stopLoadingSubframes]):
13936        (-[WebFrameLoader _willSendRequest:forResource:redirectResponse:]):
13937        (-[WebFrameLoader _receivedMainResourceError:complete:]):
13938        (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
13939        (-[WebFrameLoader continueFragmentScrollAfterNavigationPolicy:formState:]):
13940        (-[WebFrameLoader closeOldDataSources]):
13941        (-[WebFrameLoader commitProvisionalLoad:]):
13942        (-[WebFrameLoader bridge]):
13943        (-[WebFrameLoader _handleFallbackContent]):
13944        (-[WebFrameLoader _finishedLoading]):
13945        (-[WebFrameLoader reload]):
13946        (-[WebFrameLoader checkNavigationPolicyForRequest:documentLoader:formState:andCall:withSelector:]):
13947        (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
13948        (-[WebFrameLoader transitionToCommitted:]):
13949        (-[WebFrameLoader continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
13950        (-[WebFrameLoader loadRequest:inFrameNamed:]):
13951        (-[WebFrameLoader postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
13952        (-[WebFrameLoader detachFromParent]):
13953        (-[WebFrameLoader addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
13954        (-[WebFrameLoader safeLoadURL:]):
13955        (-[WebFrameLoader actionInformationForLoadType:isFormSubmission:event:originalURL:]):
13956        * WebCoreSupport/WebFrameBridge.m:
13957        (-[WebFrameBridge initMainFrameWithPage:frameName:view:]):
13958        (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
13959        * WebView/WebFrame.m:
13960        (-[WebFrame _atMostOneFrameHasSelection]):
13961        * WebView/WebFrameInternal.h:
13962
139632006-10-09  Darin Adler  <darin@apple.com>
13964
13965        Reviewed by Brady.
13966
13967        - removed almost all direct use of WebView from WebFrameLoader
13968
13969        * Loader/WebFrameLoader.m:
13970        (-[WebFrameLoader defersCallbacksChanged]):
13971        (-[WebFrameLoader defersCallbacks]):
13972        (-[WebFrameLoader clearProvisionalLoad]):
13973        (-[WebFrameLoader _willSendRequest:forResource:redirectResponse:]):
13974        (-[WebFrameLoader _didReceiveResponse:forResource:]):
13975        (-[WebFrameLoader _didReceiveData:contentLength:forResource:]):
13976        (-[WebFrameLoader _didFinishLoadingForResource:]):
13977        (-[WebFrameLoader _didFailLoadingWithError:forResource:]):
13978        (-[WebFrameLoader closeOldDataSources]):
13979        (-[WebFrameLoader _notifyIconChanged:]):
13980        (-[WebFrameLoader prepareForLoadStart]):
13981        (-[WebFrameLoader willChangeTitleForDocument:]):
13982        (-[WebFrameLoader didChangeTitleForDocument:]):
13983        (-[WebFrameLoader continueAfterNewWindowPolicy:]):
13984        (-[WebFrameLoader continueAfterNavigationPolicy:]):
13985        (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
13986        (-[WebFrameLoader didFirstLayout]):
13987        (-[WebFrameLoader transitionToCommitted:]):
13988        (-[WebFrameLoader checkLoadCompleteForThisFrame]):
13989        (-[WebFrameLoader addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
13990        * Loader/WebFrameLoaderClient.h:
13991        * WebKit.xcodeproj/project.pbxproj:
13992        * WebView/WebFrame.m:
13993        (-[WebFrame _currentBackForwardListItemToResetTo]):
13994        (-[WebFrame _hasBackForwardList]):
13995        (-[WebFrame _resetBackForwardList]):
13996        (-[WebFrame _dispatchDidReceiveIcon:]):
13997        (-[WebFrame _dispatchDidStartProvisionalLoadForFrame]):
13998        (-[WebFrame _dispatchDidCommitLoadForFrame]):
13999        (-[WebFrame _dispatchDidFailProvisionalLoadWithError:]):
14000        (-[WebFrame _dispatchDidFailLoadWithError:]):
14001        (-[WebFrame _dispatchDidFinishLoadForFrame]):
14002        (-[WebFrame _progressStarted]):
14003        (-[WebFrame _progressCompleted]):
14004        (-[WebFrame _incrementProgressForIdentifier:response:]):
14005        (-[WebFrame _incrementProgressForIdentifier:data:]):
14006        (-[WebFrame _completeProgressForIdentifier:]):
14007        (-[WebFrame _setMainFrameDocumentReady:]):
14008        (-[WebFrame _willChangeTitleForDocument:]):
14009        (-[WebFrame _didChangeTitleForDocument:]):
14010        (-[WebFrame _startDownloadWithRequest:]):
14011
140122006-10-09  Maciej Stachowiak  <mjs@apple.com>
14013
14014        Reviewed by Alice.
14015
14016        - moved WebFormState into Loader directory and tweaked to avoid WebKit dependencies
14017        
14018        * Loader/WebDocumentLoader.h:
14019        * Loader/WebFormState.h: Added.
14020        * Loader/WebFormState.m: Added.
14021        (-[WebFormState initWithForm:values:sourceFrame:]):
14022        (-[WebFormState dealloc]):
14023        (-[WebFormState form]):
14024        (-[WebFormState values]):
14025        (-[WebFormState sourceFrame]):
14026        * Loader/WebFrameLoader.h:
14027        * Loader/WebFrameLoader.m:
14028        (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
14029        (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
14030        (-[WebFrameLoader postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
14031        * WebKit.xcodeproj/project.pbxproj:
14032        * WebView/WebFrame.m:
14033        * WebView/WebFrameInternal.h:
14034
140352006-10-09  Maciej Stachowiak  <mjs@apple.com>
14036
14037        Reviewed by Oliver.
14038
14039        - remove dependency on WebNSURLRequestExtras.h
14040        
14041        * Loader/WebFrameLoader.h:
14042        * Loader/WebFrameLoader.m:
14043        (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
14044        (-[WebFrameLoader postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
14045        (-[WebFrameLoader addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
14046
140472006-10-09  Maciej Stachowiak  <mjs@apple.com>
14048
14049        Reviewed by Oliver.
14050        
14051        - removed unneeded logging code so I can take WebKitLogging.h out and remove a WebKit dependency
14052
14053        * Loader/WebFrameLoader.m:
14054        (-[WebFrameLoader setState:]):
14055        (-[WebFrameLoader clientRedirectCancelledOrFinished:]):
14056        (-[WebFrameLoader clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
14057        (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
14058        (-[WebFrameLoader continueFragmentScrollAfterNavigationPolicy:formState:]):
14059        (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
14060        (-[WebFrameLoader checkLoadCompleteForThisFrame]):
14061
140622006-10-09  Maciej Stachowiak  <mjs@apple.com>
14063
14064        Reviewed by Oliver.
14065        
14066        - remove WebDataSource from the WebFrameLoader interface (and thereby from a lot of internal use)
14067
14068        * Loader/WebDocumentLoader.h:
14069        * Loader/WebDocumentLoader.m:
14070        (-[WebDocumentLoader dealloc]):
14071        (-[WebDocumentLoader initialRequest]):
14072        (-[WebDocumentLoader URL]):
14073        (-[WebDocumentLoader unreachableURL]):
14074        * Loader/WebFrameLoader.h:
14075        * Loader/WebFrameLoader.m:
14076        (-[WebFrameLoader setState:]):
14077        (-[WebFrameLoader startLoading]):
14078        (-[WebFrameLoader startProvisionalLoad:]):
14079        (-[WebFrameLoader clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
14080        (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
14081        (-[WebFrameLoader opened]):
14082        (-[WebFrameLoader commitProvisionalLoad:]):
14083        (-[WebFrameLoader initialRequest]):
14084        (-[WebFrameLoader _finishedLoading]):
14085        (-[WebFrameLoader _notifyIconChanged:]):
14086        (-[WebFrameLoader _URL]):
14087        (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
14088        (-[WebFrameLoader _checkNavigationPolicyForRequest:andCall:withSelector:]):
14089        (-[WebFrameLoader shouldReloadToHandleUnreachableURLFromRequest:]):
14090        (-[WebFrameLoader _loadRequest:archive:]):
14091        (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
14092        (-[WebFrameLoader _reloadAllowingStaleDataWithOverrideEncoding:]):
14093        (-[WebFrameLoader reload]):
14094        (-[WebFrameLoader checkNavigationPolicyForRequest:documentLoader:formState:andCall:withSelector:]):
14095        (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
14096        (-[WebFrameLoader loadDocumentLoader:withLoadType:formState:]):
14097        (-[WebFrameLoader frameLoadCompleted]):
14098        (-[WebFrameLoader transitionToCommitted:]):
14099        (-[WebFrameLoader checkLoadCompleteForThisFrame]):
14100        (-[WebFrameLoader safeLoadURL:]):
14101        * Loader/WebFrameLoaderClient.h:
14102        * Plugins/WebBaseNetscapePluginView.m:
14103        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
14104        * WebCoreSupport/WebFrameBridge.m:
14105        (-[WebFrameBridge originalRequestURL]):
14106        * WebView/WebDataSource.m:
14107        (-[WebDataSource _URL]):
14108        (-[WebDataSource dealloc]):
14109        (-[WebDataSource initialRequest]):
14110        (-[WebDataSource unreachableURL]):
14111        * WebView/WebFrame.m:
14112        (-[WebFrame _loadItem:withLoadType:]):
14113        (-[WebFrame _prepareForDataSourceReplacement]):
14114        (-[WebFrame provisionalDataSource]):
14115        (-[WebFrame dataSource]):
14116        (-[WebFrame _makeDocumentView]):
14117        (-[WebFrame _updateHistoryForReload]):
14118        (-[WebFrame _updateHistoryForStandardLoad]):
14119        (-[WebFrame _updateHistoryForInternalLoad]):
14120        (-[WebFrame _forceLayoutForNonHTML]):
14121        (-[WebFrame _clearLoadingFromPageCacheForDocumentLoader:]):
14122        (-[WebFrame _isDocumentLoaderLoadingFromPageCache:]):
14123        (-[WebFrame _archivedSubresourceForURL:fromDocumentLoader:]):
14124        (-[WebFrame _makeRepresentationForDocumentLoader:]):
14125
141262006-10-09  Maciej Stachowiak  <mjs@apple.com>
14127
14128        Reviewed by Darin.
14129
14130        - removed need for WebFrameLoader to now about WebDocumentLoaderMac 
14131
14132        * Loader/WebFrameLoader.m:
14133        (-[WebFrameLoader loadDataSource:withLoadType:formState:]):
14134        * WebView/WebDocumentLoaderMac.h:
14135        * WebView/WebDocumentLoaderMac.m:
14136        (-[WebDocumentLoaderMac setFrameLoader:]):
14137        (-[WebDocumentLoaderMac detachFromFrameLoader]):
14138
141392006-10-09  Darin Adler  <darin@apple.com>
14140
14141        Reviewed by Maciej.
14142
14143        - passed calls that require WebScriptDebugServer across the client interface
14144
14145        * Loader/WebFrameLoader.m:
14146        (-[WebFrameLoader _finishedLoading]):
14147        (-[WebFrameLoader documentLoader:mainReceivedCompleteError:]):
14148        * Loader/WebFrameLoaderClient.h:
14149        * WebView/WebFrame.m:
14150        (-[WebFrame _dispatchDidLoadMainResourceForDocumentLoader:]):
14151
141522006-10-08  Darin Adler  <darin@apple.com>
14153
14154        Reviewed by Maciej.
14155
14156        - passed calls that require WebHTMLView or WebFrameView calls across
14157          the client interface
14158
14159        * Loader/WebFrameLoader.h:
14160        * Loader/WebFrameLoader.m:
14161        (isCaseInsensitiveEqual):
14162        (isBackForwardLoadType):
14163        (-[WebFrameLoader opened]):
14164        (-[WebFrameLoader cancelledErrorWithRequest:]):
14165        (-[WebFrameLoader fileDoesNotExistErrorWithResponse:]):
14166        (-[WebFrameLoader reload]):
14167        (-[WebFrameLoader transitionToCommitted:]):
14168        * Loader/WebFrameLoaderClient.h:
14169        * WebView/WebFrame.m:
14170        (-[WebFrame _forceLayout]):
14171        (-[WebFrame _setDocumentViewFromPageCache:]):
14172        (-[WebFrame _setCopiesOnScroll]):
14173
141742006-10-08  Maciej Stachowiak  <mjs@apple.com>
14175
14176        Reviewed by Darin.
14177        
14178        - pass remaining delegate methods across client interface
14179
14180        * Loader/WebFrameLoader.m:
14181        (-[WebFrameLoader _checkContentPolicyForMIMEType:andCall:withSelector:]):
14182        (-[WebFrameLoader checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
14183        (-[WebFrameLoader checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
14184        (-[WebFrameLoader handleUnimplementablePolicyWithErrorCode:forURL:]):
14185        (-[WebFrameLoader didFirstLayout]):
14186        (-[WebFrameLoader continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
14187        * Loader/WebFrameLoaderClient.h:
14188        * WebView/WebFrame.m:
14189        (-[WebFrame _dispatchDidFirstLayoutInFrame]):
14190        (-[WebFrame _dispatchCreateWebViewWithRequest:]):
14191        (-[WebFrame _dispatchShow]):
14192        (-[WebFrame _dispatchDecidePolicyForMIMEType:request:decisionListener:]):
14193        (-[WebFrame _dispatchDecidePolicyForNewWindowAction:request:newFrameName:decisionListener:]):
14194        (-[WebFrame _dispatchDecidePolicyForNavigationAction:request:decisionListener:]):
14195        (-[WebFrame _dispatchUnableToImplementPolicyWithError:]):
14196
141972006-10-08  Darin Adler  <darin@apple.com>
14198
14199        Reviewed by Maciej.
14200
14201        - use WebCoreSystemInterface instead of WebSystemInterface in Loader directory
14202
14203        * Loader/WebFrameLoader.m: Update includes.
14204        (-[WebFrameLoader commitProvisionalLoad:]): Use wk calls istead of WK.
14205        (-[WebFrameLoader _canUseResourceWithResponse:]): Ditto.
14206
14207        * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
14208        Added the three new symbols, and resorted the list.
14209
14210        * Loader/WebDataProtocol.m:
14211        * Loader/WebLoader.m:
14212        * Loader/WebMainResourceLoader.h:
14213        * Loader/WebMainResourceLoader.m:
14214        * Loader/WebNetscapePlugInStreamLoader.h:
14215        * Loader/WebNetscapePlugInStreamLoader.m:
14216        * Loader/WebSubresourceLoader.h:
14217        * Loader/WebSubresourceLoader.m:
14218        Changed import statements to consistently use the "" format.
14219
142202006-10-08  Maciej Stachowiak  <mjs@apple.com>
14221
14222        Not reviewed.
14223        
14224        - fix accidental build break due to editing while committing
14225
14226        * Loader/WebFrameLoader.m:
14227
142282006-10-08  Maciej Stachowiak  <mjs@apple.com>
14229
14230        Reviewed by Darin.
14231        
14232        - move all WebFrameLoadDelegate methods across client interface
14233
14234        * Loader/WebFrameLoader.m:
14235        (-[WebFrameLoader clientRedirectCancelledOrFinished:]):
14236        (-[WebFrameLoader clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
14237        (-[WebFrameLoader continueFragmentScrollAfterNavigationPolicy:formState:]):
14238        (-[WebFrameLoader closeOldDataSources]):
14239        (-[WebFrameLoader _notifyIconChanged:]):
14240        (-[WebFrameLoader prepareForLoadStart]):
14241        (-[WebFrameLoader didChangeTitleForDocument:]):
14242        (-[WebFrameLoader transitionToCommitted:]):
14243        (-[WebFrameLoader checkLoadCompleteForThisFrame]):
14244        * Loader/WebFrameLoaderClient.h:
14245        * WebView/WebFrame.m:
14246        (-[WebFrame _dispatchDidCancelClientRedirectForFrame]):
14247        (-[WebFrame _dispatchWillPerformClientRedirectToURL:delay:fireDate:]):
14248        (-[WebFrame _dispatchDidChangeLocationWithinPageForFrame]):
14249        (-[WebFrame _dispatchWillCloseFrame]):
14250        (-[WebFrame _dispatchDidReceiveIcon:]):
14251        (-[WebFrame _dispatchDidStartProvisionalLoadForFrame]):
14252        (-[WebFrame _dispatchDidReceiveTitle:]):
14253        (-[WebFrame _dispatchDidCommitLoadForFrame]):
14254        (-[WebFrame _dispatchDidFailProvisionalLoadWithError:]):
14255        (-[WebFrame _dispatchDidFailLoadWithError:]):
14256        (-[WebFrame _dispatchDidFinishLoadForFrame]):
14257
142582006-10-08  Darin Adler  <darin@apple.com>
14259
14260        Reviewed by Maciej.
14261
14262        - removed some of the WebKit dependencies in WebFrameLoader
14263
14264        * Loader/WebFrameLoader.m:
14265        (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
14266        (-[WebFrameLoader _downloadWithLoadingConnection:request:response:proxy:]):
14267        (-[WebFrameLoader reload]):
14268        (-[WebFrameLoader didChangeTitleForDocument:]):
14269        * Loader/WebFrameLoaderClient.h:
14270        * WebView/WebFrame.m:
14271        (-[WebFrame _loadItem:withLoadType:]):
14272        (-[WebFrame _loadURL:referrer:intoChild:]):
14273        (-[WebFrame _setTitle:forURL:]):
14274        (-[WebFrame _downloadWithLoadingConnection:request:response:proxy:]):
14275        * WebView/WebFrameInternal.h:
14276
14277        - some other tweaks
14278
14279        * Misc/WebNSURLRequestExtras.m:
14280        (-[NSMutableURLRequest _web_setHTTPReferrer:]):
14281        (-[NSMutableURLRequest _web_setHTTPUserAgent:]):
14282
142832006-10-08  Maciej Stachowiak  <mjs@apple.com>
14284
14285        Reviewed by Darin.
14286        
14287        - pass all WebResourceLoadDelegate methods across client, removing need to include related headers
14288
14289        * Loader/WebFrameLoader.m:
14290        (-[WebFrameLoader _willSendRequest:forResource:redirectResponse:]):
14291        (-[WebFrameLoader _didReceiveAuthenticationChallenge:forResource:]):
14292        (-[WebFrameLoader _didCancelAuthenticationChallenge:forResource:]):
14293        (-[WebFrameLoader _didReceiveResponse:forResource:]):
14294        (-[WebFrameLoader _didReceiveData:contentLength:forResource:]):
14295        (-[WebFrameLoader _didFinishLoadingForResource:]):
14296        (-[WebFrameLoader _didFailLoadingWithError:forResource:]):
14297        (-[WebFrameLoader sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
14298        (-[WebFrameLoader requestFromDelegateForRequest:identifier:error:]):
14299        * Loader/WebFrameLoaderClient.h:
14300        * WebView/WebFrame.m:
14301        (-[WebFrame _dispatchDidHandleOnloadEventsForFrame]):
14302        (-[WebFrame _dispatchDidReceiveServerRedirectForProvisionalLoadForFrame]):
14303        (-[WebFrame _dispatchIdentifierForInitialRequest:fromDocumentLoader:]):
14304        (-[WebFrame _dispatchResource:willSendRequest:redirectResponse:fromDocumentLoader:]):
14305        (-[WebFrame _dispatchDidReceiveAuthenticationChallenge:forResource:fromDocumentLoader:]):
14306        (-[WebFrame _dispatchDidCancelAuthenticationChallenge:forResource:fromDocumentLoader:]):
14307        (-[WebFrame _dispatchResource:didReceiveResponse:fromDocumentLoader:]):
14308        (-[WebFrame _dispatchResource:didReceiveContentLength:fromDocumentLoader:]):
14309        (-[WebFrame _dispatchResource:didFinishLoadingFromDocumentLoader:]):
14310        (-[WebFrame _dispatchResource:didFailLoadingWithError:fromDocumentLoader:]):
14311
143122006-10-08  Maciej Stachowiak  <mjs@apple.com>
14313
14314        Reviewed by Darin.
14315        
14316        - started adding some _dispatch methods to WebFrameLoaderClient for delegate dispatch
14317
14318        * Loader/WebFrameLoader.m:
14319        (-[WebFrameLoader startLoading]):
14320        (-[WebFrameLoader didReceiveServerRedirectForProvisionalLoadForFrame]):
14321        * Loader/WebFrameLoaderClient.h:
14322        * WebCoreSupport/WebFrameBridge.m:
14323        (-[WebFrameBridge handledOnloadEvents]):
14324        * WebView/WebFrame.m:
14325        (dataSource):
14326        (-[WebFrame _dataSourceForDocumentLoader:]):
14327        (-[WebFrame _dispatchDidHandleOnloadEventsForFrame]):
14328        (-[WebFrame _dispatchDidReceiveServerRedirectForProvisionalLoadForFrame]):
14329        (-[WebFrame _dispatchIdentifierForInitialRequest:fromDocumentLoader:]):
14330        * WebView/WebFrameInternal.h:
14331
143322006-10-08  Darin Adler  <darin@apple.com>
14333
14334        Reviewed by Maciej.
14335
14336        - moved more methods to WebFrameLoader from WebFrame
14337
14338        * Loader/WebFrameLoader.h:
14339        * Loader/WebFrameLoader.m:
14340        (-[WebFrameLoader defersCallbacksChanged]):
14341        (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
14342        (-[WebFrameLoader setState:]):
14343        (-[WebFrameLoader clearProvisionalLoad]):
14344        (-[WebFrameLoader markLoadComplete]):
14345        (-[WebFrameLoader commitProvisionalLoad]):
14346        (-[WebFrameLoader stopLoading]):
14347        (-[WebFrameLoader startProvisionalLoad:]):
14348        (-[WebFrameLoader setupForReplace]):
14349        (-[WebFrameLoader _identifierForInitialRequest:]):
14350        (-[WebFrameLoader _finishedLoadingResource]):
14351        (-[WebFrameLoader _receivedError:]):
14352        (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
14353        (-[WebFrameLoader continueFragmentScrollAfterNavigationPolicy:formState:]):
14354        (-[WebFrameLoader opened]):
14355        (-[WebFrameLoader commitProvisionalLoad:]):
14356        (-[WebFrameLoader _finishedLoading]):
14357        (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
14358        (-[WebFrameLoader _loadRequest:archive:]):
14359        (-[WebFrameLoader reload]):
14360        (-[WebFrameLoader documentLoader:mainReceivedCompleteError:]):
14361        (-[WebFrameLoader subframeIsLoading]):
14362        (-[WebFrameLoader checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
14363        (-[WebFrameLoader continueAfterNewWindowPolicy:]):
14364        (-[WebFrameLoader checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
14365        (-[WebFrameLoader sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
14366        (-[WebFrameLoader loadRequest:inFrameNamed:]):
14367        (-[WebFrameLoader postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
14368        (-[WebFrameLoader detachChildren]):
14369        (-[WebFrameLoader detachFromParent]):
14370        (-[WebFrameLoader addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
14371        (-[WebFrameLoader safeLoadURL:]):
14372        (-[WebFrameLoader actionInformationForLoadType:isFormSubmission:event:originalURL:]):
14373        (-[WebFrameLoader actionInformationForNavigationType:event:originalURL:]):
14374        (-[WebFrameLoader checkLoadComplete]):
14375        * Loader/WebFrameLoaderClient.h:
14376        * Loader/WebSubresourceLoader.m:
14377        (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
14378        * WebCoreSupport/WebFrameBridge.m:
14379        (-[WebFrameBridge close]):
14380        (-[WebFrameBridge tokenizerProcessedData]):
14381        (-[WebFrameBridge frameDetached]):
14382        * WebView/WebDataSourceInternal.h:
14383        * WebView/WebFrame.m:
14384        (-[WebFrame _loadItem:withLoadType:]):
14385        (-[WebFrame _prepareForDataSourceReplacement]):
14386        (-[WebFrame _detachedFromParent1]):
14387        (-[WebFrame _detachedFromParent2]):
14388        (-[WebFrame _detachedFromParent3]):
14389        (-[WebFrame _detachedFromParent4]):
14390        (-[WebFrame _updateHistoryAfterClientRedirect]):
14391        (-[WebFrame _loadedFromPageCache]):
14392        * WebView/WebFrameInternal.h:
14393        * WebView/WebPDFView.m:
14394        (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
14395        * WebView/WebView.m:
14396        (-[WebView _close]):
14397        (-[WebView setDefersCallbacks:]):
14398
143992006-10-08  Maciej Stachowiak  <mjs@apple.com>
14400
14401        Reviewed by Darin.
14402        
14403        - avoid need for WebKitSystemInterface in loader code, via WebCore cover for wkSupportsMultipartXMixedReplace
14404
14405        * Loader/WebDocumentLoader.m:
14406        (-[WebDocumentLoader initWithRequest:]):
14407        * Loader/WebMainResourceLoader.m:
14408        * Loader/WebSubresourceLoader.m:
14409        (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
14410        * WebCoreSupport/WebSystemInterface.m:
14411        (InitWebCoreSystemInterface):
14412        * WebView/WebDataSource.m:
14413        (-[WebDataSource _initWithDocumentLoader:]):
14414
144152006-10-08  Darin Adler  <darin@apple.com>
14416
14417        - build fix (also a fix for a crasher I forgot to commit before)
14418
14419        * Loader/WebFrameLoader.m: Added some missing includes.
14420        (-[WebFrameLoader checkLoadCompleteForThisFrame]):
14421        Added a needed retain/release.
14422
144232006-10-08  Darin Adler  <darin@apple.com>
14424
14425        Reviewed by Anders.
14426        
14427        - quick fix to loader problem causing layout test failures
14428
14429        * Loader/WebFrameLoader.m:
14430        (-[WebFrameLoader _finishedLoading]): Use a local variable for the bridge
14431        that we retain/release.
14432        (-[WebFrameLoader continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
14433        Same here.
14434
144352006-10-08  Maciej Stachowiak  <mjs@apple.com>
14436
14437        Reviewed by Adam.
14438        
14439        - removed a few includes from WebFrameLoader, fixed up as appropriate
14440        - segregated header includes into ones that need to go away to move the code and ones that don't
14441
14442        * Loader/WebFrameLoader.m:
14443        (-[WebFrameLoader _privateBrowsingEnabled]):
14444        (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
14445        * Loader/WebFrameLoaderClient.h:
14446        * WebView/WebFrame.m:
14447        (-[WebFrame _privateBrowsingEnabled]):
14448
144492006-10-08  Darin Adler  <darin@apple.com>
14450
14451        Reviewed by Maciej.
14452
14453        - moved a few methods from WebFrame to WebFrameLoader
14454
14455        * Loader/WebFrameLoader.h:
14456        * Loader/WebFrameLoader.m:
14457        (-[WebFrameLoader _setState:]):
14458        (-[WebFrameLoader stopLoadingSubframes]):
14459        (-[WebFrameLoader _receivedMainResourceError:complete:]):
14460        (-[WebFrameLoader closeOldDataSources]):
14461        (-[WebFrameLoader commitProvisionalLoad:]):
14462        (-[WebFrameLoader _finishedLoading]):
14463        (isBackForwardLoadType):
14464        (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
14465        (-[WebFrameLoader didFirstLayout]):
14466        (-[WebFrameLoader frameLoadCompleted]):
14467        (-[WebFrameLoader transitionToCommitted:]):
14468        (-[WebFrameLoader checkLoadCompleteForThisFrame]):
14469        (-[WebFrameLoader continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
14470        (-[WebFrameLoader sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
14471        (-[WebFrameLoader requestFromDelegateForRequest:identifier:error:]):
14472        (-[WebFrameLoader loadRequest:inFrameNamed:]):
14473        (-[WebFrameLoader postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
14474        * Loader/WebFrameLoaderClient.h:
14475        * Plugins/WebPluginController.m:
14476        (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
14477        * WebCoreSupport/WebFrameBridge.h:
14478        * WebCoreSupport/WebFrameBridge.m:
14479        (-[WebFrameBridge initMainFrameWithPage:frameName:view:]):
14480        (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
14481        (-[WebFrameBridge dealloc]):
14482        (-[WebFrameBridge frameLoader]):
14483        (-[WebFrameBridge setTitle:]):
14484        (-[WebFrameBridge receivedData:textEncodingName:]):
14485        (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
14486        (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
14487        (-[WebFrameBridge objectLoadedFromCacheWithURL:response:data:]):
14488        (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
14489        (-[WebFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
14490        (-[WebFrameBridge reportClientRedirectCancelled:]):
14491        (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
14492        (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
14493        (-[WebFrameBridge didFirstLayout]):
14494        (-[WebFrameBridge notifyIconChanged:]):
14495        (-[WebFrameBridge originalRequestURL]):
14496        (-[WebFrameBridge isLoadTypeReload]):
14497        * WebView/WebFrame.m:
14498        (-[WebFrame _opened]):
14499        (-[WebFrame _checkLoadComplete]):
14500        (-[WebFrame _loadItem:withLoadType:]):
14501        (-[WebFrame _actionInformationForLoadType:isFormSubmission:event:originalURL:]):
14502        (-[WebFrame _loadURL:referrer:intoChild:]):
14503        (-[WebFrame _currentBackForwardListItemToResetTo]):
14504        (-[WebFrame _updateBackground]):
14505        (-[WebFrame _frameLoader]):
14506        (-[WebFrame _frameLoadCompleted]):
14507        (-[WebFrame _makeDocumentView]):
14508        (-[WebFrame _updateHistoryForCommit]):
14509        (-[WebFrame _updateHistoryForReload]):
14510        (-[WebFrame _updateHistoryForStandardLoad]):
14511        (-[WebFrame _updateHistoryForBackForwardNavigation]):
14512        (-[WebFrame _updateHistoryForInternalLoad]):
14513        (-[WebFrame _tokenForLoadErrorReset]):
14514        (-[WebFrame _resetAfterLoadError:]):
14515        (-[WebFrame _doNotResetAfterLoadError:]):
14516        * WebView/WebFrameInternal.h:
14517
145182006-10-09  Mark Rowe  <bdash@webkit.org>
14519
14520        Rubber-stamped by Darin.
14521
14522        * WebCoreSupport/WebFrameBridge.m:
14523        (-[WebFrameBridge imageTitleForFilename:size:]): Revert accidental change to a UI_STRING that
14524        is triggering an assertion failure.
14525
145262006-10-08  Maciej Stachowiak  <mjs@apple.com>
14527
14528        Reviewed by Darin.
14529        
14530        - remove unneeded non-Loader header includes from WebFrameLoader.h (split WebFrameLoadType into
14531        two coincidentally matching enums)
14532
14533        * Loader/WebFrameLoader.h:
14534        * Loader/WebFrameLoader.m:
14535        (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
14536        (-[WebFrameLoader commitProvisionalLoad:]):
14537        (isBackForwardLoadType):
14538        (-[WebFrameLoader _loadRequest:archive:]):
14539        (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
14540        (-[WebFrameLoader _reloadAllowingStaleDataWithOverrideEncoding:]):
14541        (-[WebFrameLoader reload]):
14542        (-[WebFrameLoader isReplacing]):
14543        (-[WebFrameLoader setReplacing]):
14544        (-[WebFrameLoader loadType]):
14545        (-[WebFrameLoader setLoadType:]):
14546        (-[WebFrameLoader checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
14547        (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
14548        (-[WebFrameLoader loadDataSource:withLoadType:formState:]):
14549        (-[WebFrameLoader didFirstLayout]):
14550        * WebCoreSupport/WebFrameBridge.m:
14551        * WebView/WebFrame.m:
14552        (-[WebFrame _transitionToCommitted:]):
14553        (-[WebFrame _provisionalLoadStarted]):
14554        (-[WebFrame _opened]):
14555        (-[WebFrame _checkLoadCompleteForThisFrame]):
14556        (-[WebFrame _loadItem:withLoadType:]):
14557        (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):
14558        (-[WebFrame _goToItem:withLoadType:]):
14559        (-[WebFrame _actionInformationForLoadType:isFormSubmission:event:originalURL:]):
14560        (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
14561        (-[WebFrame _loadURL:referrer:intoChild:]):
14562        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
14563        (-[WebFrame _currentBackForwardListItemToResetTo]):
14564        (-[WebFrame _itemForRestoringDocState]):
14565        (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
14566        (-[WebFrame _loadType]):
14567        (-[WebFrame loadRequest:]):
14568        * WebView/WebFrameInternal.h:
14569        * WebView/WebView.m:
14570
145712006-10-08  Darin Adler  <darin@apple.com>
14572
14573        Reviewed by Maciej.
14574
14575        - move WebFrameLoader creation and ownership from WebFrame to WebFrameBridge
14576
14577        * Loader/WebFrameLoader.m:
14578        (-[WebFrameLoader stopLoadingSubframes]):
14579        (-[WebFrameLoader closeOldDataSources]):
14580        * WebCoreSupport/WebFrameBridge.h:
14581        * WebCoreSupport/WebFrameBridge.m:
14582        (-[WebFrameBridge initMainFrameWithPage:frameName:view:]):
14583        (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
14584        (-[WebFrameBridge dealloc]):
14585        (-[WebFrameBridge loader]):
14586        (-[WebFrameBridge setTitle:]):
14587        (-[WebFrameBridge receivedData:textEncodingName:]):
14588        (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
14589        (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
14590        (-[WebFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
14591        (-[WebFrameBridge reportClientRedirectCancelled:]):
14592        (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
14593        (-[WebFrameBridge didFirstLayout]):
14594        (-[WebFrameBridge imageTitleForFilename:size:]):
14595        (-[WebFrameBridge notifyIconChanged:]):
14596        (-[WebFrameBridge originalRequestURL]):
14597        (-[WebFrameBridge isLoadTypeReload]):
14598        * WebView/WebFrame.m:
14599        (-[NSView setWebFrame::]):
14600        (-[WebFramePrivate dealloc]):
14601        (-[WebFramePrivate setWebFrameView:]):
14602        (-[WebFramePrivate setProvisionalItem:]):
14603        (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
14604        (-[WebFrame _createItem:]):
14605        (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):
14606        (-[WebFrame _detachFromParent]):
14607        (-[WebFrame _makeDocumentView]):
14608        (-[WebFrame _transitionToCommitted:]):
14609        (-[WebFrame _provisionalLoadStarted]):
14610        (-[WebFrame _opened]):
14611        (-[WebFrame _checkLoadCompleteForThisFrame]):
14612        (-[WebFrame _loadItem:withLoadType:]):
14613        (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):
14614        (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
14615        (-[WebFrame _loadURL:referrer:intoChild:]):
14616        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
14617        (-[WebFrame _setTitle:]):
14618        (-[WebFrame _defersCallbacksChanged]):
14619        (-[WebFrame _currentBackForwardListItemToResetTo]):
14620        (-[WebFrame _itemForSavingDocState]):
14621        (-[WebFrame _itemForRestoringDocState]):
14622        (-[WebFrame _saveDocumentAndScrollState]):
14623        (-[WebFrame _shouldTreatURLAsSameAsCurrent:]):
14624        (-[WebFrame _loadRequest:inFrameNamed:]):
14625        (-[WebFrame _initWithWebFrameView:webView:bridge:]):
14626        (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
14627        (-[WebFrame _frameLoader]):
14628        (-[WebFrame _prepareForDataSourceReplacement]):
14629        (-[WebFrame _restoreScrollPositionAndViewState]):
14630        (-[WebFrame _firstLayoutDone]):
14631        (-[WebFrame _loadType]):
14632        (-[WebFrame frameView]):
14633        (-[WebFrame provisionalDataSource]):
14634        (-[WebFrame dataSource]):
14635        (-[WebFrame loadRequest:]):
14636        (-[WebFrame loadArchive:]):
14637        (-[WebFrame stopLoading]):
14638        (-[WebFrame reload]):
14639        (-[WebFrame _resetBackForwardList]):
14640        (-[WebFrame _invalidateCurrentItemPageCache]):
14641        (-[WebFrame _provisionalItemIsTarget]):
14642        (-[WebFrame _loadProvisionalItemFromPageCache]):
14643        * WebView/WebFrameInternal.h:
14644
146452006-10-08  Maciej Stachowiak  <mjs@apple.com>
14646
14647        Reviewed by Darin.
14648        
14649        - move remaining movable data fields from WebFrameLoader to WebFrame
14650
14651        * Loader/WebDocumentLoadState.m:
14652        (-[WebDocumentLoadState commitIfReady]):
14653        * Loader/WebFrameLoader.h:
14654        * Loader/WebFrameLoader.m:
14655        (-[WebFrameLoader provisionalLoadStarted]):
14656        (-[WebFrameLoader _setState:]):
14657        (-[WebFrameLoader stopLoadingSubframes]):
14658        (-[WebFrameLoader stopLoading]):
14659        (-[WebFrameLoader startLoading]):
14660        (-[WebFrameLoader _receivedMainResourceError:complete:]):
14661        (-[WebFrameLoader clientRedirectCancelledOrFinished:]):
14662        (-[WebFrameLoader clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
14663        (-[WebFrameLoader shouldReloadForCurrent:andDestination:]):
14664        (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
14665        (-[WebFrameLoader continueFragmentScrollAfterNavigationPolicy:formState:]):
14666        (-[WebFrameLoader closeOldDataSources]):
14667        (-[WebFrameLoader commitProvisionalLoad:]):
14668        (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
14669        (-[WebFrameLoader isQuickRedirectComing]):
14670        * Loader/WebFrameLoaderClient.h:
14671        * WebCoreSupport/WebFrameBridge.h:
14672        * WebCoreSupport/WebFrameBridge.m:
14673        (-[WebFrameBridge frameLoader]):
14674        (-[WebFrameBridge setTitle:]):
14675        (-[WebFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
14676        (-[WebFrameBridge reportClientRedirectCancelled:]):
14677        (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
14678        * WebView/WebDataSource.m:
14679        (-[WebDataSource _loadFromPageCache:]):
14680        * WebView/WebFrame.m:
14681        (-[NSView setWebFrame::]):
14682        (-[WebFrame _addHistoryItemForFragmentScroll]):
14683        (-[WebFrame _didFinishLoad]):
14684        (-[WebFrame _provisionalLoadStarted]):
14685        (-[WebFrame _checkLoadCompleteForThisFrame]):
14686        (-[WebFrame _loadItem:withLoadType:]):
14687        (-[WebFrame _loadURL:referrer:intoChild:]):
14688        (-[WebFrame _frameLoadCompleted]):
14689        (-[WebFrame stopLoading]):
14690        (-[WebFrame _invalidateCurrentItemPageCache]):
14691        * WebView/WebFrameInternal.h:
14692
146932006-10-08  Darin Adler  <darin@apple.com>
14694
14695        Rubber stamped by Maciej.
14696
14697        - changed "document load state" to "document loader"
14698
14699        * Loader/WebDocumentLoadState.h: Removed.
14700        * Loader/WebDocumentLoadState.m: Removed.
14701        * Loader/WebDocumentLoader.h: Added.
14702        * Loader/WebDocumentLoader.m: Added.
14703        (-[WebDocumentLoader setMainDocumentError:]):
14704        (-[WebDocumentLoader mainReceivedError:complete:]):
14705        (-[WebDocumentLoader finishedLoading]):
14706        (-[WebDocumentLoader commitLoadWithData:]):
14707        (-[WebDocumentLoader setupForReplaceByMIMEType:]):
14708        (-[WebDocumentLoader updateLoading]):
14709        (-[WebDocumentLoader setTitle:]):
14710        * Loader/WebFrameLoader.h:
14711        * Loader/WebFrameLoader.m:
14712        (-[WebFrameLoader dealloc]):
14713        (-[WebFrameLoader activeDocumentLoader]):
14714        (-[WebFrameLoader activeDataSource]):
14715        (-[WebFrameLoader addPlugInStreamLoader:]):
14716        (-[WebFrameLoader removePlugInStreamLoader:]):
14717        (-[WebFrameLoader addSubresourceLoader:]):
14718        (-[WebFrameLoader removeSubresourceLoader:]):
14719        (-[WebFrameLoader dataSource]):
14720        (-[WebFrameLoader setDocumentLoader:]):
14721        (-[WebFrameLoader documentLoader]):
14722        (-[WebFrameLoader policyDataSource]):
14723        (-[WebFrameLoader setPolicyDocumentLoader:]):
14724        (-[WebFrameLoader clearDataSource]):
14725        (-[WebFrameLoader provisionalDataSource]):
14726        (-[WebFrameLoader provisionalDocumentLoader]):
14727        (-[WebFrameLoader setProvisionalDocumentLoader:]):
14728        (-[WebFrameLoader _clearProvisionalDataSource]):
14729        (-[WebFrameLoader _setState:]):
14730        (-[WebFrameLoader clearProvisionalLoad]):
14731        (-[WebFrameLoader commitProvisionalLoad]):
14732        (-[WebFrameLoader stopLoading]):
14733        (-[WebFrameLoader startLoading]):
14734        (-[WebFrameLoader startProvisionalLoad:]):
14735        (-[WebFrameLoader setupForReplace]):
14736        (-[WebFrameLoader _didReceiveResponse:forResource:]):
14737        (-[WebFrameLoader _originalRequest]):
14738        (-[WebFrameLoader _receivedMainResourceError:complete:]):
14739        (-[WebFrameLoader _receivedData:]):
14740        (-[WebFrameLoader _setRequest:]):
14741        (-[WebFrameLoader _isStopping]):
14742        (-[WebFrameLoader _setupForReplaceByMIMEType:]):
14743        (-[WebFrameLoader _setResponse:]):
14744        (-[WebFrameLoader _mainReceivedError:complete:]):
14745        (-[WebFrameLoader _finishedLoading]):
14746        (-[WebFrameLoader _checkContentPolicyForMIMEType:andCall:withSelector:]):
14747        (-[WebFrameLoader _loadRequest:archive:]):
14748        (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
14749        (-[WebFrameLoader _reloadAllowingStaleDataWithOverrideEncoding:]):
14750        (-[WebFrameLoader reload]):
14751        (-[WebFrameLoader finishedLoadingDocument:]):
14752        (-[WebFrameLoader committedLoadWithDocumentLoader:data:]):
14753        (-[WebFrameLoader revertToProvisionalWithDocumentLoader:]):
14754        (-[WebFrameLoader documentLoader:setMainDocumentError:]):
14755        (-[WebFrameLoader documentLoader:mainReceivedCompleteError:]):
14756        (-[WebFrameLoader finalSetupForReplaceWithDocumentLoader:]):
14757        (-[WebFrameLoader willChangeTitleForDocument:]):
14758        (-[WebFrameLoader didChangeTitleForDocument:]):
14759        (-[WebFrameLoader checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
14760        (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
14761        (-[WebFrameLoader loadDataSource:withLoadType:formState:]):
14762        * Plugins/WebPluginController.m:
14763        (-[WebPluginController pluginView:receivedResponse:]):
14764        * WebCoreSupport/WebFrameBridge.m:
14765        (-[WebFrameBridge setTitle:]):
14766        (-[WebFrameBridge receivedData:textEncodingName:]):
14767        * WebKit.xcodeproj/project.pbxproj:
14768        * WebView/WebDataSource.m:
14769        (-[WebDataSourcePrivate dealloc]):
14770        (-[WebDataSource _mainDocumentError]):
14771        (-[WebDataSource _loadFromPageCache:]):
14772        (-[WebDataSource _bridge]):
14773        (-[WebDataSource _webView]):
14774        (-[WebDataSource _URLForHistory]):
14775        (-[WebDataSource _documentLoader]):
14776        (-[WebDataSource _initWithDocumentLoader:]):
14777        (-[WebDataSource initWithRequest:]):
14778        (-[WebDataSource dealloc]):
14779        (-[WebDataSource data]):
14780        (-[WebDataSource webFrame]):
14781        (-[WebDataSource initialRequest]):
14782        (-[WebDataSource request]):
14783        (-[WebDataSource response]):
14784        (-[WebDataSource textEncodingName]):
14785        (-[WebDataSource isLoading]):
14786        (-[WebDataSource unreachableURL]):
14787        (-[WebDataSource webArchive]):
14788        * WebView/WebDataSourceInternal.h:
14789        * WebView/WebDocumentLoadStateMac.h: Removed.
14790        * WebView/WebDocumentLoadStateMac.m: Removed.
14791        * WebView/WebDocumentLoaderMac.h: Added.
14792        * WebView/WebDocumentLoaderMac.m: Added.
14793        * WebView/WebFrame.m:
14794        (-[WebFrame _createItem:]):
14795        (-[WebFrame _receivedMainResourceError:]):
14796        (-[WebFrame _transitionToCommitted:]):
14797        (-[WebFrame _opened]):
14798        (-[WebFrame _checkLoadCompleteForThisFrame]):
14799        (-[WebFrame _loadItem:withLoadType:]):
14800        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
14801        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
14802        (-[WebFrame _addChild:]):
14803        (-[WebFrame _provisionalLoadStarted]):
14804        (-[WebFrame _dataSourceForDocumentLoader:]):
14805        (-[WebFrame _createDocumentLoaderWithRequest:]):
14806        * WebView/WebFrameInternal.h:
14807        * WebView/WebHTMLRepresentation.m:
14808        (-[WebHTMLRepresentation title]):
14809        * WebView/WebView.m:
14810        (-[WebView _mainFrameOverrideEncoding]):
14811
148122006-10-08  Darin Adler  <darin@apple.com>
14813
14814        Reviewed by Mitz.
14815
14816        - fix http://bugs.webkit.org/show_bug.cgi?id=11218
14817          REGRESSION: Assertion failure in WebFrameLoader when going back from a file: or data: URL
14818
14819        Also added a helper function in WebFrameLoader so that checks for back/forward load types
14820        are easier to read.
14821
14822        * Loader/WebFrameLoader.m:
14823        (-[WebFrameLoader _setPolicyDocumentLoadState:]): Fixed line of code that was setting the load
14824        state to nil instead of the passed-in object.
14825        (isBackForwardLoadType): Added.
14826        (-[WebFrameLoader shouldReloadToHandleUnreachableURLFromRequest:]): Use isBackForwardLoadType.
14827        (-[WebFrameLoader checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
14828        Ditto.
14829        (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]): Ditto.
14830
148312006-10-08  Darin Adler  <darin@apple.com>
14832
14833        Reviewed by Maciej.
14834
14835        - fix two recently introduced leaks: one of an NSString, the other of a WebDataSource
14836
14837        * Loader/WebDocumentLoadState.m: (-[WebDocumentLoadState setTitle:]):
14838        Rearranged code to avoid storage leak in case of identical title.
14839
14840        * Loader/WebFrameLoader.h: Removed _setPolicyDocumentLoadState: method
14841        from the header.
14842        * Loader/WebFrameLoader.m:
14843        (-[WebFrameLoader _setPolicyDocumentLoadState:]): Added logic to call detachFromFrameLoader
14844        as needed if this load state is going away rather than moving on to become the provisional
14845        load state.
14846        (-[WebFrameLoader shouldReloadToHandleUnreachableURLFromRequest:]): Tweaked formatting.
14847        (-[WebFrameLoader _loadRequest:archive:]): Added an assertion.
14848        (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]): Added an assertion.
14849        (-[WebFrameLoader _reloadAllowingStaleDataWithOverrideEncoding:]): Added an assertion.
14850        (-[WebFrameLoader reload]): Added an assertion.
14851        (-[WebFrameLoader loadDataSource:withLoadType:formState:]): Added a local variable to avoid
14852        calling _documentLoadState over and over again.
14853
148542006-10-07  Peter Kasting  <pkasting@google.com>
14855
14856        Reviewed/landed by Adam.
14857
14858        http://bugs.webkit.org/show_bug.cgi?id=11199
14859        Update Session History when a load is committed rather than completed.
14860
14861        * COM/WebFrame.cpp:
14862        (WebFrame::receivedResponse):
14863        (WebFrame::receivedAllData):
14864
148652006-10-07  Sam Weinig  <sam.weinig@gmail.com>
14866
14867        Reviewed by Tim H.
14868
14869        Patch for http://bugs.webkit.org/show_bug.cgi?id=11198
14870        Auto-generate a few more Objective-C DOM interfaces
14871
14872        * MigrateHeaders.make:
14873
148742006-10-07  Mark Rowe  <bdash@webkit.org>
14875
14876        Reviewed by Mitz.
14877
14878        Fix memory leak from -[WebDocumentLoadState setTitle:].
14879
14880        * Loader/WebDocumentLoadState.m:
14881        (-[WebDocumentLoadState setTitle:]): Ensure 'trimmed' is released even when length is
14882        zero, and untangle the confusing logic around this case.
14883
148842006-10-06  Brady Eidson  <beidson@apple.com>
14885
14886        Reviewed by Darin
14887
14888        Refactored a whole bunch of WebFramePrivate.h SPI to WebFrameInternal
14889
14890        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
14891        * History/WebHistoryItem.m:
14892        * Loader/WebFrameLoader.h:
14893        * Misc/WebCoreStatistics.m:
14894        * Misc/WebElementDictionary.m:
14895        * Plugins/WebNetscapePluginEmbeddedView.m:
14896        * Plugins/WebPluginController.m:
14897        * WebCoreSupport/WebViewFactory.m:
14898        * WebView/WebArchiver.m:
14899        * WebView/WebDataSource.m:
14900        * WebView/WebFrame.m:
14901        (-[WebFrame _isDescendantOfFrame:]):
14902        (-[WebFrame _setShouldCreateRenderers:]):
14903        (-[WebFrame _bodyBackgroundColor]):
14904        (-[WebFrame _isFrameSet]):
14905        (-[WebFrame _firstLayoutDone]):
14906        (-[WebFrame _loadType]):
14907        * WebView/WebFrameInternal.h:
14908        * WebView/WebFramePrivate.h:
14909        * WebView/WebHTMLRepresentation.m:
14910        * WebView/WebScriptDebugDelegate.m:
14911
149122006-10-06  Maciej Stachowiak  <mjs@apple.com>
14913
14914        Reviewed by Darin.
14915        
14916        - Move all delegate dispatching code out of WebDataSource.
14917
14918        * Loader/WebFrameLoader.m:
14919        (-[WebFrameLoader startLoading]):
14920        (-[WebFrameLoader _identifierForInitialRequest:]):
14921        (-[WebFrameLoader _willSendRequest:forResource:redirectResponse:]):
14922        (-[WebFrameLoader _didReceiveAuthenticationChallenge:forResource:]):
14923        (-[WebFrameLoader _didCancelAuthenticationChallenge:forResource:]):
14924        (-[WebFrameLoader _didReceiveResponse:forResource:]):
14925        (-[WebFrameLoader _didReceiveData:contentLength:forResource:]):
14926        (-[WebFrameLoader _didFinishLoadingForResource:]):
14927        (-[WebFrameLoader _didFailLoadingWithError:forResource:]):
14928        (-[WebFrameLoader _receivedMainResourceError:complete:]):
14929        (-[WebFrameLoader _downloadWithLoadingConnection:request:response:proxy:]):
14930        (-[WebFrameLoader _checkContentPolicyForMIMEType:andCall:withSelector:]):
14931        * WebView/WebDataSource.m:
14932        (-[WebDataSource _setLoadingFromPageCache:]):
14933        (-[WebDataSource _stopLoadingWithError:]):
14934        * WebView/WebDataSourceInternal.h:
14935
149362006-10-06  Darin Adler  <darin@apple.com>
14937
14938        Reviewed by Maciej.
14939
14940        - moved firstLayoutDone BOOL from WebFrame to WebFrameLoader
14941
14942        * Loader/WebFrameLoader.h:
14943        * Loader/WebFrameLoader.m:
14944        (-[WebFrameLoader didFirstLayout]):
14945        (-[WebFrameLoader provisionalLoadStarted]):
14946        (-[WebFrameLoader frameLoadCompleted]):
14947        (-[WebFrameLoader firstLayoutDone]):
14948        * WebCoreSupport/WebFrameBridge.m: (-[WebFrameBridge didFirstLayout]):
14949        * WebView/WebFrame.m:
14950        (-[WebFrame _firstLayoutDone]):
14951        (-[WebFrame _provisionalLoadStarted]):
14952        (-[WebFrame _frameLoadCompleted]):
14953        (-[WebFrame _restoreScrollPositionAndViewState]):
14954        * WebView/WebFrameInternal.h:
14955
149562006-10-06  Darin Adler  <darin@apple.com>
14957
14958        Reviewed by Maciej.
14959
14960        - moved more data and the corresponding code from WebFrame to WebFrameLoader
14961
14962        * Loader/WebFrameLoader.h:
14963        * Loader/WebFrameLoader.m:
14964        (-[WebFrameLoader cannotShowMIMETypeForURL:]):
14965        (-[WebFrameLoader _checkNavigationPolicyForRequest:andCall:withSelector:]):
14966        (-[WebFrameLoader shouldReloadToHandleUnreachableURLFromRequest:]):
14967        (-[WebFrameLoader _loadRequest:archive:]):
14968        (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
14969        (-[WebFrameLoader _reloadAllowingStaleDataWithOverrideEncoding:]):
14970        (-[WebFrameLoader reload]):
14971        (-[WebFrameLoader invalidatePendingPolicyDecisionCallingDefaultAction:]):
14972        (-[WebFrameLoader checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
14973        (-[WebFrameLoader _continueAfterNewWindowPolicy:]):
14974        (-[WebFrameLoader checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
14975        (-[WebFrameLoader continueAfterNavigationPolicy:]):
14976        (-[WebFrameLoader continueAfterWillSubmitForm:]):
14977        (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
14978        (-[WebFrameLoader loadDataSource:withLoadType:formState:]):
14979        (-[WebFrameLoader handleUnimplementablePolicyWithErrorCode:forURL:]):
14980        (-[WebFrameLoader delegateIsHandlingProvisionalLoadError]):
14981        (-[WebFrameLoader setDelegateIsHandlingProvisionalLoadError:]):
14982        * Loader/WebFrameLoaderClient.h:
14983        * WebView/WebFrame.m:
14984        (-[NSView setWebFrame::]):
14985        (-[WebFramePrivate dealloc]):
14986        (-[WebFrame _checkLoadCompleteForThisFrame]):
14987        (-[WebFrame _loadItem:withLoadType:]):
14988        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
14989        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
14990        (-[WebFrame _loadRequest:inFrameNamed:]):
14991        (-[WebFrame stopLoading]):
14992        (-[WebFrame _resetBackForwardList]):
14993        (-[WebFrame _quickRedirectComing]):
14994        (-[WebFrame _provisionalItemIsTarget]):
14995        (-[WebFrame _loadProvisionalItemFromPageCache]):
14996        * WebView/WebFrameInternal.h:
14997        * WebView/WebFramePrivate.h:
14998
14999        * WebKit.xcodeproj/project.pbxproj:
15000
150012006-10-06  Maciej Stachowiak  <mjs@apple.com>
15002
15003        Rubber stamped by Darin.
15004        
15005        - removed includes of unused headers.
15006
15007        * WebView/WebDataSource.m:
15008
150092006-10-06  Maciej Stachowiak  <mjs@apple.com>
15010
15011        Not reviewed.
15012        
15013        - fix build breakage
15014
15015        * Loader/WebFrameLoader.m:
15016        (-[WebFrameLoader willChangeTitleForDocumentLoadState:]):
15017        (-[WebFrameLoader didChangeTitleForDocumentLoadState:]):
15018
150192006-10-06  Maciej Stachowiak  <mjs@apple.com>
15020
15021        Reviewed by Darin.
15022        
15023        - move remaining movable WebDataSource fields to WebDocumentLoadState
15024
15025        * Loader/WebDocumentLoadState.h:
15026        * Loader/WebDocumentLoadState.m:
15027        (-[WebDocumentLoadState dealloc]):
15028        (-[WebDocumentLoadState isLoadingInAPISense]):
15029        (-[WebDocumentLoadState addResponse:]):
15030        (-[WebDocumentLoadState stopRecordingResponses]):
15031        (-[WebDocumentLoadState title]):
15032        (-[WebDocumentLoadState setLastCheckedRequest:]):
15033        (-[WebDocumentLoadState lastCheckedRequest]):
15034        (-[WebDocumentLoadState triggeringAction]):
15035        (-[WebDocumentLoadState setTriggeringAction:]):
15036        (-[WebDocumentLoadState responses]):
15037        (-[WebDocumentLoadState setOverrideEncoding:]):
15038        (-[WebDocumentLoadState overrideEncoding]):
15039        (-[WebDocumentLoadState setTitle:]):
15040        * Loader/WebFrameLoader.h:
15041        * Loader/WebFrameLoader.m:
15042        (-[WebFrameLoader _setState:]):
15043        (-[WebFrameLoader _loadRequest:archive:]):
15044        (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
15045        (-[WebFrameLoader _reloadAllowingStaleDataWithOverrideEncoding:]):
15046        (-[WebFrameLoader reload]):
15047        (-[WebFrameLoader willChangeTitleForDocumentLoadState:]):
15048        (-[WebFrameLoader didChangeTitleForDocumentLoadState:]):
15049        * WebCoreSupport/WebFrameBridge.m:
15050        (-[WebFrameBridge setTitle:]):
15051        (-[WebFrameBridge receivedData:textEncodingName:]):
15052        * WebView/WebDataSource.m:
15053        (-[WebDataSourcePrivate dealloc]):
15054        (-[WebDataSource _didReceiveResponse:forResource:]):
15055        (-[WebDataSource textEncodingName]):
15056        * WebView/WebDataSourceInternal.h:
15057        * WebView/WebFrame.m:
15058        (-[WebFrame _opened]):
15059        (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
15060        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
15061        (-[WebFrame _addChild:]):
15062        (-[WebFrame _loadDataSource:withLoadType:formState:]):
15063        * WebView/WebHTMLRepresentation.m:
15064        (-[WebHTMLRepresentation title]):
15065        * WebView/WebView.m:
15066        (-[WebView _mainFrameOverrideEncoding]):
15067
150682006-10-06  Darin Adler  <darin@apple.com>
15069
15070        Reviewed by Maciej.
15071
15072        - moved loadType into WebFrameLoader
15073
15074        * WebView/WebFramePrivate.h: Removed _setLoadType, but not _loadType because it's
15075        currently used by Safari.
15076
15077        * Loader/WebFrameLoader.h:
15078        * Loader/WebFrameLoader.m:
15079        (-[WebFrameLoader _loadRequest:archive:]):
15080        (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
15081        (-[WebFrameLoader isReplacing]):
15082        (-[WebFrameLoader setReplacing]):
15083        (-[WebFrameLoader loadType]):
15084        (-[WebFrameLoader setLoadType:]):
15085        * WebCoreSupport/WebFrameBridge.m:
15086        (-[WebFrameBridge isLoadTypeReload]):
15087        * WebView/WebFrame.m:
15088        (-[WebFrame _loadType]):
15089        (-[WebFrame _transitionToCommitted:]):
15090        (-[WebFrame _commitProvisionalLoad:]):
15091        (-[WebFrame _opened]):
15092        (-[WebFrame _checkLoadCompleteForThisFrame]):
15093        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
15094        (-[WebFrame _loadURL:referrer:intoChild:]):
15095        (-[WebFrame _currentBackForwardListItemToResetTo]):
15096        (-[WebFrame _itemForRestoringDocState]):
15097        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
15098        (-[WebFrame _didFirstLayout]):
15099        (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
15100        (-[WebFrame _provisionalLoadStarted]):
15101        (-[WebFrame loadRequest:]):
15102
151032006-10-06  Darin Adler  <darin@apple.com>
15104
15105        Reviewed by Maciej.
15106
15107        - added WebFrameLoaderClient protocol -- to be used to make WebFrameLoader forget all about WebFrame
15108
15109        * Loader/WebDocumentLoadState.h: Added comment about Maciej's planned renaming here.
15110        * Loader/WebFrameLoader.h:
15111        * Loader/WebFrameLoader.m: Renamed webFrame to client and added the new protocol.
15112        Eventually we'll be removing the dependency on WebFrame entirely.
15113        * WebView/WebFrame.m: (-[WebFrame _initWithWebFrameView:webView:bridge:]): Update to call the method
15114        by its new name.
15115
15116        * Loader/WebFrameLoaderClient.h: Added.
15117        * WebKit.xcodeproj/project.pbxproj: Updated for new file, sorted things.
15118
151192006-10-06  Maciej Stachowiak  <mjs@apple.com>
15120
15121        Reviewed by Darin.
15122        
15123        - segregate WebFrame methods into ones that should be moved into WebFrameLoader and ones that don't need to
15124        
15125        Also removed useless WebFrameLoader part
15126
15127        * WebView/WebFrame.m:
15128        (-[WebFramePrivate dealloc]): 
15129
151302006-10-06  Maciej Stachowiak  <mjs@apple.com>
15131
15132        Reviewed by Anders.
15133        
15134        - moved more data from WebDataSource to WebDocumentLoadState
15135
15136        * Loader/WebDocumentLoadState.h:
15137        * Loader/WebDocumentLoadState.m:
15138        (-[WebDocumentLoadState commitLoadWithData:]):
15139        (-[WebDocumentLoadState prepareForLoadStart]):
15140        (-[WebDocumentLoadState loadingStartedTime]):
15141        (-[WebDocumentLoadState setIsClientRedirect:]):
15142        (-[WebDocumentLoadState isClientRedirect]):
15143        (-[WebDocumentLoadState setPrimaryLoadComplete:]):
15144        (-[WebDocumentLoadState isLoadingInAPISense]):
15145        * Loader/WebFrameLoader.h:
15146        * Loader/WebFrameLoader.m:
15147        (-[WebFrameLoader _setState:]):
15148        (-[WebFrameLoader _finishedLoading]):
15149        (-[WebFrameLoader documentLoadState:mainReceivedCompleteError:]):
15150        (-[WebFrameLoader prepareForLoadStart]):
15151        (-[WebFrameLoader subframeIsLoading]):
15152        * WebView/WebDataSource.m:
15153        (-[WebDataSource _fileWrapperForURL:]):
15154        (-[WebDataSource _startLoading]):
15155        (-[WebDataSource _loadFromPageCache:]):
15156        (-[WebDataSource isLoading]):
15157        * WebView/WebDataSourceInternal.h:
15158        * WebView/WebFrame.m:
15159        (-[WebFrame _transitionToCommitted:]):
15160        (-[WebFrame _opened]):
15161        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
15162
151632006-10-06  Alexey Proskuryakov  <ap@nypop.com>
15164
15165        Reviewed by Darin.
15166
15167        http://bugs.webkit.org/show_bug.cgi?id=11183
15168        REGRESSION: Safari loads error pages unstyled
15169
15170        * WebView/WebFrame.m:
15171        (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]):
15172        Use utf-8 encoding instead of the string's "fastest" encoding.
15173
151742006-10-06  Maciej Stachowiak  <mjs@apple.com>
15175
15176        Reviewed by Adam.
15177        
15178        - fixed the following bugs:
15179        
15180        http://bugs.webkit.org/show_bug.cgi?id=11136
15181        "REGRESSION: Safari snippet editor doesn't work"
15182        http://bugs.webkit.org/show_bug.cgi?id=11140
15183        "REGRESSION: view source window blank"
15184        http://bugs.webkit.org/show_bug.cgi?id=11146
15185        "REGRESSION: Instead of showing the error page, Safari opens its Resources folder in the Finder"
15186        
15187        Possibly more.
15188
15189        * Loader/WebDocumentLoadState.h:
15190        * Loader/WebDocumentLoadState.m:
15191        (-[WebDocumentLoadState actualRequest]): New method.
15192        * WebView/WebDataSource.m:
15193        (-[WebDataSource _startLoading]): We need to make sure not to start loading the main
15194        resource with the fake external request for an applewebdata: request.
15195
151962006-10-05  Adele Peterson  <adele@apple.com>
15197
15198        Reviewed by the letter 'B'.
15199
15200        More build fixes.
15201
15202        * WebKit.xcodeproj/project.pbxproj:
15203        * WebView/WebDynamicScrollBarsView.h:
15204        * WebView/WebDynamicScrollBarsView.m:
15205        (-[WebDynamicScrollBarsView updateScrollers]):
15206        (-[WebDynamicScrollBarsView setAllowsScrolling:]):
15207        (-[WebDynamicScrollBarsView allowsScrolling]):
15208        (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
15209        (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]):
15210        (-[WebDynamicScrollBarsView allowsHorizontalScrolling]):
15211        (-[WebDynamicScrollBarsView allowsVerticalScrolling]):
15212        (-[WebDynamicScrollBarsView horizontalScrollingMode]):
15213        (-[WebDynamicScrollBarsView verticalScrollingMode]):
15214        (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
15215        (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
15216        (-[WebDynamicScrollBarsView setScrollingMode:]):
15217        * WebView/WebView.m:
15218        (-[WebView setAlwaysShowVerticalScroller:]):
15219        (-[WebView alwaysShowVerticalScroller]):
15220        (-[WebView setAlwaysShowHorizontalScroller:]):
15221        (-[WebView alwaysShowHorizontalScroller]):
15222
152232006-10-05  Vladimir Olexa  <vladimir.olexa@gmail.com>
15224
15225        Reviewed by Timothy.
15226
15227        Bug: http://bugs.webkit.org/show_bug.cgi?id=9887
15228        Continuous spell checking now remembers user's setting. The change is applied globally,
15229        meaning, both TextArea and TextField are affected when either of them enables/disables
15230        spell checking. 
15231
15232        * WebView/WebPreferenceKeysPrivate.h: added a define for WebContinuousSpellCheckingEnabled
15233        * WebView/WebView.m:
15234        (-[WebViewPrivate init]): reads WebContinuousSpellCheckingEnabled from NSUserDefaults
15235        (-[WebView setContinuousSpellCheckingEnabled:]):
15236        (-[WebView isContinuousSpellCheckingEnabled]):
15237
152382006-10-05  MorganL  <morganl.webkit@yahoo.com>
15239
15240        Reviewed by Darin.
15241
15242        Fixes http://bugs.webkit.org/show_bug.cgi?id=11162
15243
15244        * COM/WebFrame.cpp:
15245        (WebFrame::loadDataSource):
15246        (WebFrame::receivedResponse):
15247
152482006-10-05  Peter Kasting  <pkasting@google.com>
15249
15250        Reviewed by Darin, landed by Adam.
15251
15252        http://bugs.webkit.org/show_bug.cgi?id=11176
15253        Fix win32 build, adapt to Maciej's ResourceLoader changes.
15254
15255        * COM/WebFrame.cpp:
15256        (WebFrame::loadDataSource):
15257
152582006-10-05  Marvin Decker  <marv.decker@gmail.com>
15259
15260        Reviewed by Darin.
15261
15262        http://bugs.webkit.org/show_bug.cgi?id=10989
15263        Provide a way for embedders to implement BrowserExtensionWin
15264
15265        * COM/Interfaces/IWebUIDelegate.idl:
15266        * COM/WebFrame.cpp:
15267        (WebFrame::createNewWindow):
15268        * COM/WebFrame.h:
15269
152702006-10-04  Mark Rowe  <bdash@webkit.org>
15271
15272        Reviewed by NOBODY (build fix).
15273
15274        * WebView/WebView.m:
15275        (-[WebView scrollDOMRangeToVisible:]): Move scrollDOMRangeToVisible: into the correct category.
15276
152772006-09-26  David Smith  <catfish.man@gmail.com>
15278
15279        Reviewed by Timothy.
15280
15281        http://bugs.webkit.org/show_bug.cgi?id=3723
15282        Add -scrollDOMRangeToVisible:
15283
15284        * WebView/WebView.m:
15285        (-[WebView scrollDOMRangeToVisible:]):
15286        * WebView/WebViewPrivate.h:
15287
152882006-10-03  Graham Dennis  <graham.dennis@gmail.com>
15289
15290        Reviewed by Timothy.
15291
15292        <http://bugs.webkit.org/show_bug.cgi?id=10338>
15293        When contentEditable, cursor doesn't change to hand
15294        
15295        Allow the behaviour of editable links to be specified by a WebPreference
15296        The preference WebKitEditableLinkBehavior has four options:
15297         - AlwaysLive: Safari 2.0 behaviour
15298         - OnlyLiveWithShiftKey: Firefox/WinIE behaviour (and prior WebKit-ToT behaviour)
15299         - LiveWhenNotFocused: Editable links are live only when their editable block is not
15300             focused, or when the shift key is pressed
15301         - DefaultBehavior: This is the same as OnlyLiveWithShiftKey.
15302         
15303        No layout tests, just a modification of a manual-test as it isn't possible to test
15304        this automatically.
15305
15306        * WebView/WebPreferenceKeysPrivate.h:
15307        * WebView/WebPreferences.m:
15308        (+[WebPreferences initialize]):
15309        (-[WebPreferences editableLinkBehavior]):
15310        (-[WebPreferences setEditableLinkBehavior:]):
15311        * WebView/WebPreferencesPrivate.h:
15312        * WebView/WebView.m:
15313        (-[WebView _updateWebCoreSettingsFromPreferences:]):
15314
153152006-10-03  Justin Garcia  <justin.garcia@apple.com>
15316
15317        Reviewed by harrison
15318        
15319        execCommand("Cut"/"Copy"/"Paste") broken in editable subframes.
15320
15321        * WebCoreSupport/WebFrameBridge.m:
15322        (-[WebFrameBridge issueCutCommand]): Issue the command on the WebHTMLView, not the WebView.
15323        (-[WebFrameBridge issueCopyCommand]): Ditto.
15324        (-[WebFrameBridge issuePasteCommand]): Ditto.
15325        (-[WebFrameBridge issuePasteAndMatchStyleCommand]): Ditto.
15326        (-[WebFrameBridge issueTransposeCommand]): Fixed formatting.
15327        (-[WebFrameBridge canPaste]): Ask the WebHTMLView, not the WebView.
15328        * WebView/WebHTMLView.m:
15329        (-[WebHTMLView copy:]): Moved to WebInternal
15330        (-[WebHTMLView cut:]): Ditto.
15331        (-[WebHTMLView paste:]): Ditto.
15332        (-[WebHTMLView pasteAsPlainText:]): Ditto.
15333        * WebView/WebHTMLViewInternal.h:
15334        * WebView/WebView.m: Removed the now unused _canPaste.
15335        * WebView/WebViewInternal.h: Ditto.
15336
153372006-10-03  Justin Garcia  <justin.garcia@apple.com>
15338
15339        Reviewed by geoff
15340        
15341        <rdar://problem/4763519> REGRESSION: Multipart/x-mixed-replace sub-resources fail to load
15342
15343        * Loader/WebSubresourceLoader.m:
15344        (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]): 
15345        Enable multipart/x-mixed-replace support on the request.  This line was accidently removed during 
15346        some loader refactoring.
15347
153482006-10-02  Adam Roben  <aroben@apple.com>
15349
15350        Reviewed by Maciej.
15351
15352        Add message paramter to WebView::mouse* methods to pass down to
15353        PlatformMouseEvent.
15354
15355        * COM/WebView.cpp:
15356        (WebView::mouseMoved):
15357        (WebView::mouseDown):
15358        (WebView::mouseUp):
15359        (WebView::mouseDoubleClick):
15360        (WebViewWndProc):
15361        * COM/WebView.h:
15362
153632006-10-02  Maciej Stachowiak  <mjs@apple.com>
15364
15365        Reviewed by Alice.
15366        
15367        - take away direct knowledge of WebFrame from WebDataSource
15368
15369        * Loader/WebDocumentLoadState.h:
15370        * Loader/WebDocumentLoadState.m:
15371        (-[WebDocumentLoadState setFrameLoader:]):
15372        (-[WebDocumentLoadState detachFromFrameLoader]):
15373        * Loader/WebFrameLoader.m:
15374        (-[WebFrameLoader _setDocumentLoadState:]):
15375        (-[WebFrameLoader _setProvisionalDocumentLoadState:]):
15376        * WebView/WebDataSource.m:
15377        * WebView/WebDataSourceInternal.h:
15378        * WebView/WebDocumentLoadStateMac.m:
15379        (-[WebDocumentLoadStateMac detachFromFrameLoader]):
15380        * WebView/WebFrame.m:
15381        (-[WebFrame _loadDataSource:withLoadType:formState:]):
15382
153832006-10-02  Maciej Stachowiak  <mjs@apple.com>
15384
15385        Reviewed by Darin.
15386        
15387        - move a big slice of data and logic from WebDataSource to WebDocumentLoadState
15388        
15389        * Loader/WebDocumentLoadState.h:
15390        * Loader/WebDocumentLoadState.m:
15391        (-[WebDocumentLoadState initWithRequest:]):
15392        (-[WebDocumentLoadState dealloc]):
15393        (-[WebDocumentLoadState originalRequestCopy]):
15394        (-[WebDocumentLoadState request]):
15395        (-[WebDocumentLoadState replaceRequestURLForAnchorScrollWithURL:]):
15396        (-[WebDocumentLoadState setRequest:]):
15397        (-[WebDocumentLoadState setResponse:]):
15398        (-[WebDocumentLoadState isStopping]):
15399        (-[WebDocumentLoadState bridge]):
15400        (-[WebDocumentLoadState setMainDocumentError:]):
15401        (-[WebDocumentLoadState mainDocumentError]):
15402        (-[WebDocumentLoadState clearErrors]):
15403        (-[WebDocumentLoadState mainReceivedError:complete:]):
15404        (-[WebDocumentLoadState stopLoading]):
15405        (-[WebDocumentLoadState setupForReplace]):
15406        (-[WebDocumentLoadState commitIfReady]):
15407        (-[WebDocumentLoadState finishedLoading]):
15408        (-[WebDocumentLoadState setCommitted:]):
15409        (-[WebDocumentLoadState isCommitted]):
15410        (-[WebDocumentLoadState setLoading:]):
15411        (-[WebDocumentLoadState isLoading]):
15412        (-[WebDocumentLoadState commitLoadWithData:]):
15413        (-[WebDocumentLoadState doesProgressiveLoadWithMIMEType:]):
15414        (-[WebDocumentLoadState receivedData:]):
15415        (-[WebDocumentLoadState setupForReplaceByMIMEType:]):
15416        (-[WebDocumentLoadState updateLoading]):
15417        (-[WebDocumentLoadState response]):
15418        * Loader/WebFrameLoader.h:
15419        * Loader/WebFrameLoader.m:
15420        (-[WebFrameLoader activeDocumentLoadState]):
15421        (-[WebFrameLoader activeDataSource]):
15422        (-[WebFrameLoader _archivedSubresourceForURL:]):
15423        (-[WebFrameLoader addPlugInStreamLoader:]):
15424        (-[WebFrameLoader removePlugInStreamLoader:]):
15425        (-[WebFrameLoader addSubresourceLoader:]):
15426        (-[WebFrameLoader removeSubresourceLoader:]):
15427        (-[WebFrameLoader documentLoadState]):
15428        (-[WebFrameLoader provisionalDocumentLoadState]):
15429        (-[WebFrameLoader stopLoading]):
15430        (-[WebFrameLoader _originalRequest]):
15431        (-[WebFrameLoader _receivedData:]):
15432        (-[WebFrameLoader _setRequest:]):
15433        (-[WebFrameLoader bridge]):
15434        (-[WebFrameLoader _handleFallbackContent]):
15435        (-[WebFrameLoader _isStopping]):
15436        (-[WebFrameLoader _setupForReplaceByMIMEType:]):
15437        (-[WebFrameLoader _setResponse:]):
15438        (-[WebFrameLoader _mainReceivedError:complete:]):
15439        (-[WebFrameLoader _finishedLoading]):
15440        (-[WebFrameLoader didReceiveServerRedirectForProvisionalLoadForFrame]):
15441        (-[WebFrameLoader finishedLoadingDocumentLoadState:]):
15442        (-[WebFrameLoader commitProvisitionalLoad]):
15443        (-[WebFrameLoader committedLoadWithDocumentLoadState:data:]):
15444        (-[WebFrameLoader isReplacing]):
15445        (-[WebFrameLoader setReplacing]):
15446        (-[WebFrameLoader revertToProvisionalWithDocumentLoadState:]):
15447        (-[WebFrameLoader documentLoadState:setMainDocumentError:]):
15448        (-[WebFrameLoader documentLoadState:mainReceivedCompleteError:]):
15449        (-[WebFrameLoader finalSetupForReplaceWithDocumentLoadState:]):
15450        * WebView/WebDataSource.m:
15451        (-[WebDataSourcePrivate dealloc]):
15452        (-[WebDataSource _prepareForLoadStart]):
15453        (-[WebDataSource _mainDocumentError]):
15454        (-[WebDataSource _finishedLoading]):
15455        (-[WebDataSource _receivedData:]):
15456        (-[WebDataSource _setMainDocumentError:]):
15457        (-[WebDataSource _clearUnarchivingState]):
15458        (-[WebDataSource _revertToProvisionalState]):
15459        (-[WebDataSource _receivedMainResourceError:complete:]):
15460        (-[WebDataSource _startLoading]):
15461        (-[WebDataSource _loadFromPageCache:]):
15462        (-[WebDataSource _bridge]):
15463        (-[WebDataSource _setPrimaryLoadComplete:]):
15464        (-[WebDataSource _URLForHistory]):
15465        (-[WebDataSource _setTitle:]):
15466        (-[WebDataSource _initWithDocumentLoadState:]):
15467        (-[WebDataSource request]):
15468        (-[WebDataSource response]):
15469        (-[WebDataSource isLoading]):
15470        (-[WebDataSource webArchive]):
15471        * WebView/WebDataSourceInternal.h:
15472        * WebView/WebDocumentLoadStateMac.m:
15473        (-[WebDocumentLoadStateMac initWithRequest:]):
15474        * WebView/WebFrame.m:
15475        (-[WebFrame _createItem:]):
15476        (-[WebFrame _receivedMainResourceError:]):
15477        (-[WebFrame _transitionToCommitted:]):
15478        (-[WebFrame _commitProvisionalLoad:]):
15479        (-[WebFrame _checkLoadCompleteForThisFrame]):
15480        (-[WebFrame _loadItem:withLoadType:]):
15481        (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
15482        (-[WebFrame _didReceiveServerRedirectForProvisionalLoadForFrame]):
15483        (-[WebFrame _provisionalLoadStarted]):
15484        * WebView/WebFrameInternal.h:
15485
154862006-10-02  Justin Garcia  <justin.garcia@apple.com>
15487
15488        Reviewed by john
15489        
15490        <rdar://problem/4757583>
15491        REGRESSION: tabbing into page focuses wrong control on 2nd pass
15492        <rdar://problem/4757594>
15493        REGRESSION: Form field is left with secondary selection after tabbing out of WebView
15494
15495        * WebView/WebHTMLView.m:
15496        (-[NSArray maintainsInactiveSelection]): Replace code that I removed in error in the patch
15497        for 9642.  Only leave inactive editable selections in the WebHTMLView if the nextResponder 
15498        is in the same WebView.
15499
155002006-10-02  Maciej Stachowiak  <mjs@apple.com>
15501
15502        Reviewed by Anders.
15503        
15504        - remove webFrame field from WebDataSourcePrivate, it can get it from WebDocumentLoadState now
15505
15506        * Loader/WebDocumentLoadState.h:
15507        * Loader/WebDocumentLoadState.m:
15508        (-[WebDocumentLoadState frameLoader]):
15509        * WebView/WebDataSource.m:
15510        (-[WebDataSourcePrivate dealloc]):
15511        (-[WebDataSource _revertToProvisionalState]):
15512        (-[WebDataSource _setupForReplaceByMIMEType:]):
15513        (-[WebDataSource _updateLoading]):
15514        (-[WebDataSource _startLoading]):
15515        (-[WebDataSource _setWebFrame:]):
15516        (-[WebDataSource _defersCallbacksChanged]):
15517        (-[WebDataSource _stopLoading]):
15518        (-[WebDataSource _webView]):
15519        (-[WebDataSource _stopLoadingWithError:]):
15520        (-[WebDataSource _setPrimaryLoadComplete:]):
15521        (-[WebDataSource dealloc]):
15522        (-[WebDataSource webFrame]):
15523        (-[WebDataSource isLoading]):
15524
155252006-10-02  Maciej Stachowiak  <mjs@apple.com>
15526
15527        Reviewed by Anders.
15528        
15529        - fix crash on back/forward - reattach WebDocumentLoadState to data source when needed
15530
15531        * WebView/WebDataSource.m:
15532        (-[WebDataSource _setWebFrame:]):
15533        (-[WebDataSource _initWithDocumentLoadState:]):
15534        * WebView/WebDataSourceInternal.h:
15535
155362006-10-02  Maciej Stachowiak  <mjs@apple.com>
15537
15538        Build fix, not reviewed.
15539        
15540        - Added missing files to fix build.
15541
15542        * WebView/WebDocumentLoadStateMac.h: Added.
15543        * WebView/WebDocumentLoadStateMac.m: Added.
15544        (-[WebDocumentLoadStateMac initWithRequest:]):
15545        (-[WebDocumentLoadStateMac dealloc]):
15546        (-[WebDocumentLoadStateMac setDataSource:]):
15547        (-[WebDocumentLoadStateMac dataSource]):
15548        (-[WebDocumentLoadStateMac setFrameLoader:]):
15549
155502006-10-01  Maciej Stachowiak  <mjs@apple.com>
15551
15552        Reviewed by Brady and Oliver.
15553        
15554        - move things around so that WebDataSource and WebDocumentLoadState know about each other in
15555        the right way. This lines things up to move nearly all functionality down to WebDocumentLoadState.
15556
15557        * Loader/WebDocumentLoadState.h:
15558        * Loader/WebDocumentLoadState.m:
15559        (-[WebDocumentLoadState initWithRequest:]):
15560        (-[WebDocumentLoadState dealloc]):
15561        (-[WebDocumentLoadState originalRequest]):
15562        * Loader/WebFrameLoader.h:
15563        * Loader/WebFrameLoader.m:
15564        (-[WebFrameLoader dealloc]):
15565        (-[WebFrameLoader addSubresourceLoader:]):
15566        (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
15567        (-[WebFrameLoader dataSource]):
15568        (-[WebFrameLoader _setDocumentLoadState:]):
15569        (-[WebFrameLoader policyDataSource]):
15570        (-[WebFrameLoader _setPolicyDocumentLoadState:]):
15571        (-[WebFrameLoader clearDataSource]):
15572        (-[WebFrameLoader provisionalDataSource]):
15573        (-[WebFrameLoader _setProvisionalDocumentLoadState:]):
15574        (-[WebFrameLoader _clearProvisionalDataSource]):
15575        (-[WebFrameLoader _setState:]):
15576        (-[WebFrameLoader clearProvisionalLoad]):
15577        (-[WebFrameLoader commitProvisionalLoad]):
15578        (-[WebFrameLoader stopLoading]):
15579        (-[WebFrameLoader startLoading]):
15580        (-[WebFrameLoader startProvisionalLoad:]):
15581        (-[WebFrameLoader setupForReplace]):
15582        (-[WebFrameLoader activeDocumentLoadState]):
15583        (-[WebFrameLoader activeDataSource]):
15584        (-[WebFrameLoader _loadRequest:archive:]):
15585        (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
15586        (-[WebFrameLoader _reloadAllowingStaleDataWithOverrideEncoding:]):
15587        (-[WebFrameLoader reload]):
15588        * WebKit.xcodeproj/project.pbxproj:
15589        * WebView/WebDataSource.m:
15590        (-[WebDataSourcePrivate dealloc]):
15591        (-[WebDataSource _startLoading]):
15592        (-[WebDataSource _setWebFrame:]):
15593        (-[WebDataSource _documentLoadState]):
15594        (-[WebDataSource _initWithDocumentLoadState:]):
15595        (-[WebDataSource initWithRequest:]):
15596        (-[WebDataSource initialRequest]):
15597        (-[WebDataSource unreachableURL]):
15598        * WebView/WebDataSourceInternal.h:
15599        * WebView/WebFrame.m:
15600        (-[WebFramePrivate dealloc]):
15601        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
15602        (-[WebFrame _loadDataSource:withLoadType:formState:]):
15603        (-[WebFrame _policyDataSource]):
15604        (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
15605        (-[WebFrame _dataSourceForDocumentLoadState:]):
15606        (-[WebFrame _createDocumentLoadStateWithRequest:]):
15607        * WebView/WebFrameInternal.h:
15608
156092006-09-29  David Hyatt  <hyatt@apple.com>
15610
15611        Change the default minimum font size pref to 0 in order to allow
15612        font-size:0 to work.
15613
15614        * WebView/WebPreferences.m:
15615        (+[WebPreferences initialize]):
15616
156172006-09-28  Timothy Hatcher  <timothy@apple.com>
15618
15619        Reviewed by Maciej.
15620
15621        Switch the inspector over to use border-image with styled buttons and selects.
15622
15623        * WebInspector/WebInspector.m:
15624        (-[NSWindow window]):
15625        (-[NSWindow setWebFrame:]):
15626        (-[WebInspector _updateRoot]):
15627        * WebInspector/webInspector/Images/button.png: Added.
15628        * WebInspector/webInspector/Images/buttonDivider.png: Added.
15629        * WebInspector/webInspector/Images/buttonPressed.png: Added.
15630        * WebInspector/webInspector/Images/popup.png: Added.
15631        * WebInspector/webInspector/Images/popupFill.png: Removed.
15632        * WebInspector/webInspector/Images/popupFillPressed.png: Removed.
15633        * WebInspector/webInspector/Images/popupLeft.png: Removed.
15634        * WebInspector/webInspector/Images/popupLeftPressed.png: Removed.
15635        * WebInspector/webInspector/Images/popupPressed.png: Added.
15636        * WebInspector/webInspector/Images/popupRight.png: Removed.
15637        * WebInspector/webInspector/Images/popupRightPressed.png: Removed.
15638        * WebInspector/webInspector/Images/squareButtonRight.png: Removed.
15639        * WebInspector/webInspector/Images/squareButtonRightPressed.png: Removed.
15640        * WebInspector/webInspector/inspector.css:
15641        * WebInspector/webInspector/inspector.html:
15642        * WebInspector/webInspector/inspector.js:
15643
156442006-09-28  Alice Liu  <alice.liu@apple.com>
15645
15646        fixing the windows build
15647
15648        * COM/WebView.cpp:
15649        (WebView::mouseMoved):
15650        (WebView::mouseDown):
15651        (WebView::mouseUp):
15652        (WebView::mouseDoubleClick):
15653
156542006-09-27  Justin Garcia  <justin.garcia@apple.com>
15655
15656        Reviewed by thatcher
15657        
15658        <rdar://problem/4044271>
15659        Writing Direction menu doesn't reflect the current writing direction (9773)
15660
15661        * English.lproj/Localizable.strings: Added "Right to Left" and "Left to Right"
15662        * WebView/WebHTMLView.m:
15663        (-[NSArray validateUserInterfaceItem:]): Validate menu items that perform
15664        toggleBaseWritingDirection and changeBaseWritingDirection.  
15665        Disable the menu item that changes the writing direction to NSWritingDirectionNautral
15666        because NSWritingDirectionNatural's behavior can't be implemented with CSS.
15667        Take control of the title of the menu item that performs toggleBaseWritingDirection:
15668        instead of checking/unchecking it, otherwise we wouldn't know what a check means.
15669        (-[NSArray changeBaseWritingDirection:]): ASSERT that the requested writing
15670        direction is not NSWritingDirectionNatural, since we've disabled the
15671        menu item that performs it.
15672
156732006-09-27  MorganL  <morganl.webkit@yahoo.com>
15674
15675        Reviewed by Maciej, landed by Brady
15676
15677        Update URL request associated with provisional data source on redirect.
15678        Notify IWebFrameLoadDelegate of redirects for the provisional load.
15679        Notify IWebFrameLoadDelegate of a provisional load being commited.
15680
15681        * COM/WebDataSource.cpp:
15682        (WebDataSource::replaceRequest):
15683        * COM/WebDataSource.h:
15684        * COM/WebFrame.cpp:
15685        (WebFrame::receivedRedirect):
15686        (WebFrame::receivedResponse):
15687        (WebFrame::receivedData):
15688
156892006-09-26  John Sullivan  <sullivan@apple.com>
15690
15691        Reviewed by Darin
15692
15693        * WebView/WebHTMLViewPrivate.h:
15694        * WebView/WebHTMLView.m:
15695        (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]):
15696        Added limit parameter, passed over the bridge. Stop the search if it hits limit.
15697
15698        * WebView/WebViewPrivate.h:
15699        * WebView/WebView.m:
15700        (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
15701        Added limit parameter, passed to WebHTMLView.
15702
157032006-09-26  David Harrison  <harrison@apple.com>
15704
15705        Reviewed by John and TimH.
15706
15707        <rdar://problem/4743256> Seed: Ctrl-Y key binding does nothing when kill ring is empty
15708
15709        Use deleteBackward: when the killring string is empty. Was always using insertText:,
15710        but that ends up early-returning if the string to insert is empty.
15711        
15712        * WebView/WebHTMLView.m:
15713        (-[NSArray yank:]):
15714        (-[NSArray yankAndSelect:]):
15715
157162006-09-25  Timothy Hatcher  <timothy@apple.com>
15717
15718        Reviewed by Brady.
15719
15720        Use the non-deprecated method names for getComputedStyle, setEnd and setStart.
15721
15722        * WebInspector/WebInspector.m:
15723        (-[WebInspector _highlightNode:]):
15724        * WebView/WebHTMLView.m:
15725        (unionDOMRanges):
15726        (-[WebHTMLView _selectRangeInMarkedText:]):
15727        (-[WebTextCompleteController doCompletion]):
15728        * WebView/WebView.m:
15729        (-[WebView computedStyleForElement:pseudoElement:]):
15730
157312006-09-22  Timothy Hatcher  <timothy@apple.com>
15732
15733        Reviewed by Darin.
15734
15735        Pass all headers through unifdef to filter out BUILDING_ON_TIGER blocks
15736        if MACOSX_DEPLOYMENT_TARGET is 10.4.
15737
15738        * MigrateHeaders.make:
15739
157402006-09-20  Justin Garcia  <justin.garcia@apple.com>
15741
15742        Reviewed by john
15743        
15744        <http://bugs.webkit.org/show_bug.cgi?id=7165>
15745        TinyMCE: Dragging & dropping content always leaves a copy when editing inside a subframe
15746        
15747        The top level WebHTMLView is responsible for performing dragging operations, but
15748        the inner view, the view that holds the drag caret, should be consulted to determine
15749        if the drag is a move drag.
15750
15751        * WebCoreSupport/WebFrameBridge.m:
15752        (-[WebFrameBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
15753        * WebKit.xcodeproj/project.pbxproj:
15754        * WebView/WebHTMLView.m:
15755        (-[NSArray dragImage:at:offset:event:pasteboard:source:slideBack:]): Don't set initatedDrag here, because
15756        it's only the top level WebHTMLView that performs this operation.
15757        (-[WebHTMLView _setInitiatedDrag:]): Added.
15758        (-[WebHTMLView _initiatedDrag]): Ditto.
15759        (-[WebHTMLView _canProcessDragWithDraggingInfo:]): Ask the innerView if it initiated the drag,
15760        not the top level view.
15761        (-[WebHTMLView _isMoveDrag]): The top level view asks the innerView if it should perform
15762        a move drag, so don't ASSERT _isTopHTMLView.
15763        (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Ask the innerView if _isMoveDrag.
15764        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Ditto.
15765        * WebView/WebHTMLViewInternal.h: Added two private SPI so that
15766        the top level WebHTMLView can set and get the initiatedDrag BOOL.
15767
15768=== Safari-521.27 ===
15769
157702006-09-20  Brady Eidson  <beidson@apple.com>
15771
15772        Reviewed by Tim Omernick
15773
15774        Fixing part of a crash Tim O showed me.  [WebIconDatabase init] should finish
15775        gracefully even if we can't open the database
15776
15777        * Misc/WebIconDatabase.m:
15778        (-[WebIconDatabase init]):
15779
157802006-09-20  Timothy Hatcher  <timothy@apple.com>
15781
15782        Reviewed by Tim O.
15783
15784        <rdar://problem/4741392> Develop a system to find what version of WebKit an app was linked with
15785
15786        * Misc/WebKitVersionChecks.h: Added.
15787        * Misc/WebKitVersionChecks.m: Added.
15788        (WebKitLinkedOnOrAfter): Added.
15789        (WebKitLinkTimeVersion): Added.
15790        (WebKitRunTimeVersion): Added.
15791        * WebKit.xcodeproj/project.pbxproj:
15792
157932006-09-20  Tim Omernick  <timo@apple.com>
15794
15795        Reviewed by Darin.
15796
15797        * Misc/WebIconDatabase.m:
15798        (-[WebIconDatabase init]):
15799        Fixed a typo.
15800
158012006-09-20  Brady Eidson  <beidson@apple.com>
15802
15803        Reviewed by Darin
15804
15805        Preparing to make the WebIconDatabase disabled by default - this patch tells the bridge whether its enabled or not
15806
15807        * Misc/WebIconDatabase.m:
15808        (-[WebIconDatabase init]):
15809
158102006-09-19  Brady Eidson <beidson@apple.com>
15811
15812        Reviewed by Sarge Decker
15813
15814        <rdar://problem/4739892> and <rdar://problem/4729797>
15815        - WebCore::IconDatabase needs to have and respect an enabled() flag
15816        - Mail on ToT WebKit crashes in IconDatabase code when mailing a page from Safari
15817
15818        * Misc/WebIconDatabase.m:
15819        (-[WebIconDatabase init]): If preference says icons are disabled, tell the bridge
15820        (-[WebIconDatabase _isEnabled]): Ask the bridge if the database is enabled
15821
158222006-09-19  Alexey Proskuryakov  <ap@nypop.com>
15823
15824        Reviewed by Tim O.
15825
15826        http://bugs.webkit.org/show_bug.cgi?id=10661
15827        REGRESSION: CFM plug-ins (Shockwave, SVG) are not loaded
15828
15829        * Plugins/WebBasePluginPackage.m:
15830        (-[WebBasePluginPackage initWithPath:]): On 32-bit PowerPC, don't bail out if 
15831        the bundle is nil - it can be a CFM plugin.
15832
158332006-09-18  Brady Eidson  <beidson@apple.com>
15834
15835        Reviewed by Anders
15836
15837        Implement a bridge method so WebCore can find the reload type of a frame load
15838
15839        * WebCoreSupport/WebFrameBridge.m:
15840        (-[WebFrameBridge isLoadTypeReload]):
15841
158422006-09-18  Sam Weinig  <sam.weinig@gmail.com>
15843
15844        Reviewed by Tim H.
15845
15846        Patch for http://bugs.webkit.org/show_bug.cgi?id=10903
15847        Yet Another Objective-C Bindings Patch
15848
15849        * MigrateHeaders.make:
15850
158512006-09-17  David Harrison  <harrison@apple.com>
15852
15853        Reviewed by John Sullivan.
15854
15855        <rdar://problem/4494340> REGRESSION: Making the font size bigger/smaller in an HTML message doesn't affect the body until you reopen it
15856
15857        Problem was the public API -[WebView setTextSizeMultiplier] did not notify anyone that the value changed.
15858        
15859        * WebView/WebDocumentInternal.h:
15860        Add _textSizeMultiplierChanged to the _WebDocumentTextSizing protocol.
15861        
15862        * WebView/WebHTMLView.m:
15863        (-[WebHTMLView _textSizeMultiplierChanged]):
15864        Send [self _updateTextSizeMultiplier].
15865        
15866        * WebView/WebPDFView.m:
15867        (-[WebPDFView _textSizeMultiplierChanged]):
15868        ASSERT_NOT_REACHED() because WebPDFView does not track the common multiplier.
15869        
15870        * WebView/WebView.m:
15871        (-[WebView setTextSizeMultiplier:]):
15872        Send [self _notifyTextSizeMultiplierChanged];
15873        
15874        (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
15875        Alter the _textSizeMultiplier directly so that notification is not sent.
15876        Minor formatting.
15877        
15878        (-[WebView _notifyTextSizeMultiplierChanged]):
15879        New. Send _textSizeMultiplierChanged to all document views that track the common multiplier.
15880
158812006-09-16  Brady Eidson <beidson@apple.com>
15882
15883        Reviewed by Hyatt
15884
15885        WebIconLoader is dead, long live WebCore::IconLoader
15886        (code prune)
15887
15888        * Loader/WebFrameLoader.h:
15889        * Loader/WebFrameLoader.m:
15890        (-[WebFrameLoader dealloc]):
15891        (-[WebFrameLoader commitProvisionalLoad]):
15892        * Loader/WebIconLoader.h: Removed.
15893        * Loader/WebIconLoader.m: Removed.
15894        * Misc/WebIconDatabase.h:
15895        * Misc/WebIconDatabase.m:
15896        * Misc/WebIconDatabasePrivate.h:
15897        * WebCoreSupport/WebFrameBridge.m:
15898        (-[WebFrameBridge notifyIconChanged:]):
15899        * WebCoreSupport/WebIconDatabaseBridge.h:
15900        * WebCoreSupport/WebIconDatabaseBridge.m:
15901        (-[WebIconDatabaseBridge _init]):
15902        (-[WebIconDatabaseBridge _setIconData:forIconURL:]):
15903        (-[WebIconDatabaseBridge _setHaveNoIconForIconURL:]):
15904        * WebKit.exp:
15905        * WebKit.xcodeproj/project.pbxproj:
15906        * WebView/WebDataSource.m:
15907        (-[WebDataSourcePrivate dealloc]):
15908        (-[WebDataSource _stopLoading]):
15909        (-[WebDataSource _setPrimaryLoadComplete:]):
15910        * WebView/WebDataSourceInternal.h:
15911
159122006-09-16  Mark Rowe  <opendarwin.org@bdash.net.nz>
15913
15914        Reviewed by Anders.
15915
15916        http://bugs.webkit.org/show_bug.cgi?id=10887
15917        Fix build error
15918
15919        * MigrateHeaders.make: Remove reference to DOMEventPrivate.h.
15920
159212006-09-15  Timothy Hatcher  <timothy@apple.com>
15922
15923        Reviewed by Brady.
15924
15925        Make new style ObjC methods public API.
15926
15927        * MigrateHeaders.make:
15928
159292006-09-15  Sam Weinig  <sam.weinig@gmail.com>
15930
15931        Reviewed by Tim H.
15932
15933        Patch for http://bugs.webkit.org/show_bug.cgi?id=10870
15934        Auto-generate DOMNode for the Objective-C bindings
15935
15936        * MigrateHeaders.make:
15937
159382006-09-15  Timothy Hatcher  <timothy@apple.com>
15939
15940        Reviewed by Justin.
15941
15942        Call the bridge directly for alter selection calls. All of this logic is now
15943        in WebCore's SelectionController.
15944
15945        * WebView/WebHTMLView.m:
15946        (-[NSArray moveBackward:]):
15947        (-[NSArray moveBackwardAndModifySelection:]):
15948        (-[NSArray moveDown:]):
15949        (-[NSArray moveDownAndModifySelection:]):
15950        (-[NSArray moveForward:]):
15951        (-[NSArray moveForwardAndModifySelection:]):
15952        (-[NSArray moveLeft:]):
15953        (-[NSArray moveLeftAndModifySelection:]):
15954        (-[NSArray moveRight:]):
15955        (-[NSArray moveRightAndModifySelection:]):
15956        (-[NSArray moveToBeginningOfDocument:]):
15957        (-[NSArray moveToBeginningOfDocumentAndModifySelection:]):
15958        (-[NSArray moveToBeginningOfSentence:]):
15959        (-[NSArray moveToBeginningOfSentenceAndModifySelection:]):
15960        (-[NSArray moveToBeginningOfLine:]):
15961        (-[NSArray moveToBeginningOfLineAndModifySelection:]):
15962        (-[NSArray moveToBeginningOfParagraph:]):
15963        (-[NSArray moveToBeginningOfParagraphAndModifySelection:]):
15964        (-[NSArray moveToEndOfDocument:]):
15965        (-[NSArray moveToEndOfDocumentAndModifySelection:]):
15966        (-[NSArray moveToEndOfSentence:]):
15967        (-[NSArray moveToEndOfSentenceAndModifySelection:]):
15968        (-[NSArray moveToEndOfLine:]):
15969        (-[NSArray moveToEndOfLineAndModifySelection:]):
15970        (-[NSArray moveToEndOfParagraph:]):
15971        (-[NSArray moveToEndOfParagraphAndModifySelection:]):
15972        (-[NSArray moveParagraphBackwardAndModifySelection:]):
15973        (-[NSArray moveParagraphForwardAndModifySelection:]):
15974        (-[NSArray moveUp:]):
15975        (-[NSArray moveUpAndModifySelection:]):
15976        (-[NSArray moveWordBackward:]):
15977        (-[NSArray moveWordBackwardAndModifySelection:]):
15978        (-[NSArray moveWordForward:]):
15979        (-[NSArray moveWordForwardAndModifySelection:]):
15980        (-[NSArray moveWordLeft:]):
15981        (-[NSArray moveWordLeftAndModifySelection:]):
15982        (-[NSArray moveWordRight:]):
15983        (-[NSArray moveWordRightAndModifySelection:]):
15984        (-[NSArray pageUp:]):
15985        (-[NSArray pageDown:]):
15986        (-[NSArray pageUpAndModifySelection:]):
15987        (-[NSArray pageDownAndModifySelection:]):
15988
159892006-09-15  Adam Roben  <aroben@apple.com>
15990
15991        Reviewed by eseidel.
15992
15993        Fixes http://bugs.webkit.org/show_bug.cgi?id=10876
15994        containsItemForURLUnicode uses matchLetter instead of
15995        matchUnicodeLetter
15996
15997        Small fixes for _WebCoreHistoryProvider.
15998
15999        * History/WebHistory.m: Consistently use BUFFER_SIZE #define
16000        (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]):
16001        (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]):
16002        Replace incorrect call to matchLetter to matchUnicodeLetter
16003
160042006-09-13  Brady Eidson <beidson@apple.com>
16005
16006        Reviewed by Maciej
16007
16008        Add infrastructure to support icon loads taking place in WebCore
16009        Will remove WebKit icon loaders in a later patch
16010
16011        * WebCoreSupport/WebFrameBridge.m:
16012        (-[WebFrameBridge notifyIconChanged:]):
16013        (-[WebFrameBridge originalRequestURL]):
16014        - Nuked two old, obsolete methods
16015        - Added bridge for notifying of an icon change
16016        - Added bridge for getting the "original request URL" which is still needed
16017          until that info is available in the WebCore loaders
16018
16019        * WebView/WebDataSource.m:
16020        (-[WebDataSource _loadIcon]):
16021        - Empty body just for now, as it still gets called - next patch will prune all the old impl out
16022
160232006-09-13  Timothy Hatcher  <timothy@apple.com>
16024
16025        Reviewed by Tim O.
16026
16027        <rdar://problem/4726416> obsolete confusing "ADVISORY NOTE" comment in WebHistory.h
16028
16029        Removed the "ADVISORY NOTE: This method may change for the 1.0 SDK" comments.
16030
16031        * History/WebHistory.h:
16032
16033=== Safari-521.26 ===
16034
160352006-09-11  MorganL  <morlmor@yahoo.com>
16036
16037        Reviewed/landed by aroben.
16038
16039        Fixes http://bugs.webkit.org/show_bug.cgi?id=10765
16040        Windows build busted due to std::copy usage in Vector.h
16041
16042        * WebKit.vcproj/WebKit.vcproj: Define _SCL_SECURE_NO_DEPRECATE to get
16043        rid of deprecation warnings on std::copy
16044
160452006-09-11  Brady Eidson  <beidson@apple.com>
16046
16047        Despite the fact that some people built okay without this change, it sure was biting me, 
16048        probably because I just wiped my build directory for a fresh build - 
16049        Today's earlier removal of DOMList.h needed to occur in MigrateHeaders.make, as well
16050
16051        * MigrateHeaders.make: removed DOMList.h
16052
160532006-09-10  Darin Adler  <darin@apple.com>
16054
16055        Reviewed by Brady.
16056
16057        - fix http://bugs.webkit.org/show_bug.cgi?id=10547
16058          REGRESSION: Links that should open in a new window open in the same window,
16059          while opening another blank window
16060
16061        * WebView/WebFrame.m:
16062        (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
16063        Changed a mistaken "self" to "frame", which was the cause of the bug. Also
16064        fixed the method so that it won't crash if createWebViewWithRequest does
16065        something that has a side effect of releasing this WebView or this frame
16066        by retaining "self" and "frame" as needed. Also fixed a problem where the
16067        code to set "opener" was backwards, and would set the opener of the old
16068        frame to point to the new frame instead of vice versa.
16069
160702006-09-09  Sam Weinig  <sam.weinig@gmail.com>
16071
16072        Reviewed by Eric.
16073
16074        Patch for http://bugs.webkit.org/show_bug.cgi?id=10795
16075        Auto-generate the Objective-C DOM XPath bindings
16076
16077        * MigrateHeaders.make:
16078
160792006-09-09  Sam Weinig  <sam.weinig@gmail.com>
16080
16081        Reviewed by Eric.
16082
16083        Patch for http://bugs.webkit.org/show_bug.cgi?id=10791
16084        Even More Objective-C DOM auto-generation cleanup
16085
16086        * MigrateHeaders.make:
16087
160882006-09-08  Tim Omernick  <timo@apple.com>
16089
16090        Reviewed by Brady Eidson.
16091
16092        Rolled out Maciej's code cleanup from 8/22.  It turns out that keeping the "loading" flag
16093        is a useful optimization, as it avoids many Objective-C method calls while polling resources
16094        for their load state.
16095
16096        This fixes a 3-4% PLT performance regression (as measured on my MacBook Pro).
16097
16098        * Loader/WebFrameLoader.m:
16099        (-[WebFrameLoader addPlugInStreamLoader:]):
16100        (-[WebFrameLoader removePlugInStreamLoader:]):
16101        (-[WebFrameLoader addSubresourceLoader:]):
16102        (-[WebFrameLoader removeSubresourceLoader:]):
16103        * WebView/WebDataSource.m:
16104        (-[WebDataSourcePrivate dealloc]):
16105        (-[WebDataSource _prepareForLoadStart]):
16106        (-[WebDataSource _setLoading:]):
16107        (-[WebDataSource _updateLoading]):
16108        (-[WebDataSource _startLoading]):
16109        (-[WebDataSource _stopLoading]):
16110        (-[WebDataSource _setPrimaryLoadComplete:]):
16111        (-[WebDataSource isLoading]):
16112        * WebView/WebDataSourceInternal.h:
16113
161142006-09-07  Sam Weinig  <sam.weinig@gmail.com>
16115
16116        Reviewed by Darin and Tim H.
16117
16118        Patch for http://bugs.webkit.org/show_bug.cgi?id=10774
16119        Auto-generate the Objective-C DOM Traversal bindings
16120
16121        * MigrateHeaders.make:
16122
161232006-09-07  Sam Weinig  <sam.weinig@gmail.com>
16124
16125        Reviewed by Darin.
16126
16127        Patch for http://bugs.webkit.org/show_bug.cgi?id=10766
16128        Auto-generate the Objective-C DOM Events bindings
16129
16130        * MigrateHeaders.make:
16131        * WebKit.xcodeproj/project.pbxproj:
16132
161332006-09-06  Alexey Proskuryakov  <ap@nypop.com>
16134
16135        * MigrateHeaders.make: Fixed a double slash in 
16136        "$(PRIVATE_HEADERS_DIR)//DOMCharacterDataPrivate.h" (this was reported
16137        to cause a build failure under certain circumstances).
16138
161392006-09-05  MorganL  <morlmor@yahoocom>
16140
16141        Reviewed/landed by aroben.
16142
16143        Fixes bug 10743: Windows build is busted.
16144
16145        * COM/WebView.cpp:
16146        (WebView::keyPress):
16147
161482006-09-05  Timothy Hatcher  <timothy@apple.com>
16149
16150        Reviewed by Darin.
16151
16152        Drastically simplified the makefile for migrating headers from
16153        WebCore and JavaScriptCore. The old version was always copying the files.
16154
16155        * MigrateHeaders.make:
16156
161572006-09-05  Darin Adler  <darin@apple.com>
16158
16159        Reviewed by Alexey.
16160
16161        - WebKit side of changes to encoding
16162
16163        * WebView/WebHTMLRepresentation.m: (-[WebHTMLRepresentation documentSource]):
16164        Changed to call new -[WebCoreFrameBridge stringWithData:] instead of the calling
16165        the old methods that used a CFStringEncoding: -[WebCoreFrameBridge textEncoding]
16166        and +[WebCoreFrameBridge stringWithData:textEncoding:].
16167
16168        * WebView/WebResource.m: (-[WebResource _stringValue]): Removed special case for
16169        nil encoding name. The bridge itself now has the rule that "nil encoding name
16170        means Latin-1", so we don't need to check for nil.
16171
16172        * WebView/WebFrame.m: (-[WebFrame _checkLoadComplete]): Retain the frame until
16173        we get the parent frame while walking up parent frames, because it's possible
16174        for _checkLoadCompleteForThisFrame to release the last reference to the frame.
16175        (Not reviewed; needed to run performance tests successfully.)
16176
161772006-09-05  Timothy Hatcher  <timothy@apple.com>
16178
16179        Reviewed by Tim O.
16180
16181        <rdar://problem/4682225> conflicting typedefs in Netscape plug-in headers
16182
16183        * Plugins/npfunctions.h: fix the return type for NPN_IntFromIdentifierProcPtr to be int32_t
16184
161852006-09-04  Timothy Hatcher  <timothy@apple.com>
16186
16187        Reviewed by Darin.
16188
16189        Bug 10714: ObjC autogeneration needs safe-guards against easily modifying the public API
16190        http://bugs.webkit.org/show_bug.cgi?id=10714
16191
16192        - Added the new private DOM headers.
16193        - Factored out the common commands into variables.
16194        - Made WebDashboardRegion.h private again.
16195        - Rename DOMDOMImplementation.h to DOMImplementation.h when files
16196          are migrated. Also fixes up #imports.
16197
16198        * MigrateHeaders.make:
16199
162002006-09-03  Sam Weinig  <sam.weinig@gmail.com>
16201
16202        Reviewed by Darin and Tim H.
16203
16204        - patch for http://bugs.webkit.org/show_bug.cgi?id=10711
16205          Auto-generate the Objective-C DOM Stylesheet bindings
16206
16207        * MigrateHeaders.make:
16208
162092006-09-02  Sam Weinig  <sam.weinig@gmail.com>
16210
16211        Reviewed by Tim H.
16212
16213        - patch for http://bugs.webkit.org/show_bug.cgi?id=10684
16214          Auto-generate the Objective-C DOM CSS bindings
16215
16216        * MigrateHeaders.make:
16217
162182006-09-01  MorganL  <morlmor@yahoo.com>
16219
16220        Reviewed by Darin. Updated/landed by Adam.
16221
16222        Fixes http://bugs.webkit.org/show_bug.cgi?id=10553
16223        Windows build fixes
16224
16225        * COM/WebFrame.cpp:
16226        (WebFrame::initWithName):
16227
162282006-09-01  Brady Eidson  <beidson@apple.com>
16229
16230        Reviewed by Darin
16231
16232        A "never should be reached" method was reached - lets not release the shared database bridge, esp
16233        since we never retain it!
16234
16235        * Misc/WebIconDatabase.m:
16236        (-[WebIconDatabase _applicationWillTerminate:]): Don't release the bridge
16237
162382006-09-01  Darin Adler  <darin@apple.com>
16239
16240        Reviewed by Brady.
16241
16242        - a few small tweaks to the icon database bridge
16243
16244        * Misc/WebIconDatabase.m: (-[WebIconDatabase init]): Updated for name change.
16245
16246        * WebCoreSupport/WebIconDatabaseBridge.h: Removed unneeded declarations.
16247        * WebCoreSupport/WebIconDatabaseBridge.m:
16248        (-[WebIconDatabaseBridge init]): Added. Always returns nil since you're not supposed
16249        to allocate one of these.
16250        (-[WebIconDatabaseBridge _init]): Renamed from init. Used internally to make the
16251        shared instance. Added the "self = [super init]" idiom even though it's not important
16252        in this case just to be consistent.
16253        (-[WebIconDatabaseBridge releaseCachedLoaderForIconURL:]): Moved this up in the file
16254        so it can be called without declaring it in the header.
16255        (+[WebIconDatabaseBridge sharedInstance]): Renamed. Calls the new _init. Also use
16256        CFRetain for compatibility.
16257        (-[WebIconDatabaseBridge dealloc]): Emptied this out and made it just assert (false).
16258        (-[WebIconDatabaseBridge finalize]): Added and made it assert (false) too.
16259
162602006-09-01  Timothy Hatcher  <timothy@apple.com>
16261
16262        Reviewed by Adele.
16263
16264        Bug 10677: Omit "-webkit-text-security: none;" from the computed style list
16265        http://bugs.webkit.org/show_bug.cgi?id=10677
16266
16267        * WebInspector/webInspector/inspector.js:
16268
162692006-08-31  Sam Weinig  <sam.weinig@gmail.com>
16270
16271        Reviewed by Tim H.
16272
16273        - patch for http://bugs.webkit.org/show_bug.cgi?id=10669
16274          Auto-generate the remaining Objective-C HTML DOM bindings
16275
16276        * MigrateHeaders.make:
16277
162782006-08-31  Adele Peterson  <adele@apple.com>
16279
16280        Reviewed by Darin.
16281
16282        WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=10666
16283        Password: Disallow Spelling, Font, Speech, and Writing Direction context menu
16284
16285        * DefaultDelegates/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
16286          Check that the selection isn't in a password field before adding these items to the default editing context menu.
16287              Search In Google, Search In Spotlight, Look up in Dictionary, Spelling, Font, Speech, Writing Direction
16288        * WebView/WebHTMLView.m: (-[WebHTMLView _isSelectionInPasswordField]): Added.
16289        * WebView/WebHTMLViewPrivate.h:
16290
162912006-08-31  Sam Weinig  <sam.weinig@gmail.com>
16292
16293        Reviewed by Tim H.
16294
16295        - patch for http://bugs.webkit.org/show_bug.cgi?id=10653
16296          Auto-generate another 20 Objective-C DOM HTML bindings
16297
16298        * MigrateHeaders.make:
16299        * WebKit.xcodeproj/project.pbxproj:
16300
163012006-08-31  Adele Peterson  <adele@apple.com>
16302
16303        Reviewed by John Sullivan.
16304
16305        Removed wkSecureEventInput and wkSetSecureEventInput, since this can be done with API.
16306
16307        * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
16308
163092006-08-31  John Sullivan  <sullivan@apple.com>
16310
16311        Reviewed by Tim Omernick
16312        
16313        - fixed <rdar://problem/4711200> Loading history would be faster if it bypassed 
16314        NSURL API for local files
16315
16316        * History/WebHistory.m:
16317        (-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
16318        Load file URLs using [NSDictionary dictionaryWithContentsOfFile:]. I also cleaned up some minor
16319        style issues in this method, and I removed the support for old NSArray-style history files (which we
16320        stopped using before Safari 1.0).
16321
163222006-08-30  Adele Peterson  <adele@apple.com>
16323
16324        Reviewed by Hyatt.
16325
16326        WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=10575
16327        Enable secure input mode for new password fields
16328
16329        * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
16330
163312006-08-30  Brady Eidson  <beidson@apple.com>
16332
16333        Reviewed by John
16334
16335        <rdar://problem/4707718> Change behavior so if the WebCore::IconDatabase can't open, WebKit releases the bridge and 
16336        continues on as if the IconDatabase is disabled.
16337 
16338        * Misc/WebIconDatabase.m:
16339        (-[WebIconDatabase init]): Release the bridge on failure to open
16340        * WebCoreSupport/WebIconDatabaseBridge.m:
16341        (+[WebIconDatabaseBridge sharedBridgeInstance]): Moved static shared instance out as a global
16342        (-[WebIconDatabaseBridge dealloc]): Clear pointer to the shared instance
16343
163442006-08-30  Timothy Hatcher  <timothy@apple.com>
16345
16346        Reviewed by Darin.
16347
16348        Simplify the header copies from WebCore and JavaScriptCore.
16349        Headers that need to be migrated from the other projects need
16350        to be added to MigrateHeaders.make.
16351
16352        * MigrateHeaders.make: Added.
16353        * WebKit.xcodeproj/project.pbxproj:
16354
163552006-08-30  Sam Weinig  <sam.weinig@gmail.com>
16356
16357        Reviewed by Tim H.
16358
16359        - patch for http://bugs.webkit.org/show_bug.cgi?id=10640
16360          Auto-generate 10 more Objective-C DOM HTML bindings
16361
16362        * WebKit.xcodeproj/project.pbxproj:
16363
163642006-08-30  Adele Peterson  <adele@apple.com>
16365
16366        Reviewed by Darin.
16367
16368        WebKit part of fix for:
16369        http://bugs.webkit.org/show_bug.cgi?id=10576
16370        Disallow copy from new password fields
16371
16372        * WebView/WebHTMLView.m:
16373        (-[WebHTMLView _canCopy]): Now also calls across the bridge to ask if it mayCopy.
16374        (-[WebHTMLView _canCut]): Calls _canCopy now.
16375        (-[NSArray validateUserInterfaceItem:]): Calls _canCut when validating the "Cut" menu item.
16376         This used to call _canDelete (which used to be the same as _canCut), but now _canCut also checks _canCopy.
16377
163782006-08-30  Karl Adam  <karladam@yahoo-inc.com>
16379
16380        Reviewed by Eric and Tim H.
16381
16382        Bug 10634: -webView:dragDestinationActionMaskForDraggingInfo: is ignored
16383        http://bugs.webkit.org/show_bug.cgi?id=10634
16384        
16385        Remove the check for canShowFile: from _web_bestURL: since
16386        it shouldn't be concerned with whether or not the view
16387        can show the URL, merely return the most appropriate URL.
16388
16389        * Misc/WebNSPasteboardExtras.m:
16390        (-[NSPasteboard _web_bestURL]):
16391        * Misc/WebNSViewExtras.m:
16392        (-[NSView _web_dragOperationForDraggingInfo:]):
16393
163942006-08-29  Brady Eidson  <beidson@apple.com>
16395
16396        Reviewed by Kevin Decker (Sarge)
16397
16398        <rdar://problem/4678414> - New IconDB needs to delete icons when asked
16399
16400        * Misc/WebIconDatabase.m:
16401        (-[WebIconDatabase removeAllIcons]): Call through to WebCore to remove icons, then send notification
16402
164032006-08-29  Brady Eidson  <beidson@apple.com>
16404
16405        Reviewed by Alice
16406
16407        Added a truth value check for to setIconURL:forURL so WebKit can avoid sending a notification
16408        This is a win on the iBench
16409
16410        * Misc/WebIconDatabase.m:
16411        (-[WebIconDatabase _setIconURL:forURL:]):
16412
164132006-08-29  Brady Eidson  <beidson@apple.com>
16414
16415        Reviewed by Tim Hatchers rubber stamp
16416
16417        Removed some accidentally left-in console spew during the conversion to the new DB
16418 
16419        * Misc/WebIconDatabase.m:
16420        (objectFromPathForKey): Nuked some NSLogs
16421
164222006-08-29  Tim Omernick  <timo@apple.com>
16423
16424        Reviewed by Darin Adler.
16425
16426        <rdar://problem/4688618> REGRESSION(10.4.7-9A241): JMol java applet fails in Safari not Firefox
16427
16428        No layout test for now because Java doesn't work in DumpRenderTree.
16429
16430        * Plugins/WebPluginDatabase.m:
16431        (-[WebPluginDatabase refresh]):
16432        Add each plug-in MIME type to registeredMIMETypes, even if we don't register a document view class for the
16433        MIME type.  This fixes -[WebPluginDatabase isMIMETypeRegistered:] and thus fallback content for Java applets
16434        (we were always rendering fallback content, if any, for Java applets).
16435
164362006-08-29  Sam Weinig  <sam.weinig@gmail.com>
16437
16438        Reviewed by Tim H.
16439
16440        - patch for http://bugs.webkit.org/show_bug.cgi?id=10628
16441          Auto-generate the remaining Objective-C DOM bindings
16442
16443          Auto-generates DOMHTMLCollection, DOMHTMLElement, DOMHTMLFormElement,
16444          and DOMHTMLOptionsCollection.
16445
16446        * WebKit.xcodeproj/project.pbxproj:
16447
164482006-08-28  Brady Eidson  <beidson@apple.com>
16449
16450        Reviewed by Darin
16451
16452        Short of a few small snippets that still need to be pushed to WebCore, this
16453        is a final prune of WebIconDatabase.  WebFileDatabase and WebLRUFileList are gone
16454        and the small remaining snippets of WebFileDatabase code that were still important
16455        are now in static functions in WebIconDatabase.m
16456
16457        * Loader/WebIconLoader.m:
16458        (-[WebIconLoader didFinishLoading]): Removed the flag
16459        * Misc/WebFileDatabase.h: Removed.
16460        * Misc/WebFileDatabase.m: Removed.
16461        * Misc/WebIconDatabase.m:
16462        (+[WebIconDatabase sharedIconDatabase]):
16463        (-[WebIconDatabase init]):
16464        (-[WebIconDatabase iconForURL:withSize:cache:]):
16465        (-[WebIconDatabase iconURLForURL:]):
16466        (-[WebIconDatabase defaultIconWithSize:]):
16467        (-[WebIconDatabase retainIconForURL:]):
16468        (-[WebIconDatabase releaseIconForURL:]):
16469        (-[WebIconDatabase _isEnabled]):
16470        (-[WebIconDatabase _setIconData:forIconURL:]):
16471        (-[WebIconDatabase _setHaveNoIconForIconURL:]):
16472        (-[WebIconDatabase _setIconURL:forURL:]):
16473        (-[WebIconDatabase _hasEntryForIconURL:]):
16474        (-[WebIconDatabase _applicationWillTerminate:]):
16475        (-[WebIconDatabase _resetCachedWebPreferences:]):
16476        (uniqueFilePathForKey): Added from WebFileDatabase
16477        (objectFromPathForKey): Added from WebFileDatabase
16478        (iconDataFromPathForIconURL):
16479        (-[WebIconDatabase _convertToWebCoreFormat]): Make use of static functions and local variables
16480          instead of using WebFileDatabase and WebIconDatabase variables that are now obsolete
16481        * Misc/WebIconDatabasePrivate.h: Removed alot of obsoleted members
16482        * Misc/WebLRUFileList.h: Removed.
16483        * Misc/WebLRUFileList.m: Removed.
16484        * WebKit.xcodeproj/project.pbxproj: Deleted 4 files
16485        * WebKitPrefix.h: Removed ICONDEBUG
16486
164872006-08-28  Tim Omernick  <timo@apple.com>
16488
16489        Reviewed by Darin Adler.
16490
16491        * Plugins/WebBaseNetscapePluginView.m:
16492        (-[WebBaseNetscapePluginView createPluginScriptableObject]):
16493        Removed a bogus typecast.
16494
164952006-08-28  Tim Omernick  <timo@apple.com>
16496
16497        Reviewed by John Sullivan.
16498
16499        Part of <rdar://problem/4481553> NetscapeMoviePlugIn example code scripting doesn't work in Firefox (4319)
16500        <http://bugs.webkit.org/show_bug.cgi?id=4319>: NetscapeMoviePlugIn example code scripting doesn't work
16501        in Firefox
16502
16503        * Plugins/WebBaseNetscapePluginView.h:
16504        * Plugins/WebBaseNetscapePluginView.m:
16505        (-[WebBaseNetscapePluginView createPluginScriptableObject]):
16506        Renamed this method (see corresponding WebCore ChangeLog entry for an explanation).
16507        Style changes.
16508
165092006-08-28  Brady Eidson  <beidson@apple.com>
16510
16511        Reviewed by Tim Hatcher's rubberstamp
16512
16513        Rolled out my last change (16070 - pruning WebFileDatabase code) as it caused a difficult-to-track down
16514        failure in layout tests on a release build.
16515
16516        * Misc/WebFileDatabase.h:
16517        * Misc/WebFileDatabase.m:
16518        (+[WebFileDatabaseOp opWithCode:key:object:]):
16519        (-[WebFileDatabaseOp initWithCode:key:object:]):
16520        (-[WebFileDatabaseOp opcode]):
16521        (-[WebFileDatabaseOp key]):
16522        (-[WebFileDatabaseOp object]):
16523        (-[WebFileDatabaseOp perform:]):
16524        (-[WebFileDatabaseOp dealloc]):
16525        (SetThreadPriority):
16526        (-[WebFileDatabase _createLRUList:]):
16527        (-[WebFileDatabase _truncateToSizeLimit:]):
16528        (+[WebFileDatabase _syncLoop:]):
16529        (databaseInit):
16530        (-[WebFileDatabase setTimer]):
16531        (-[WebFileDatabase setObject:forKey:]):
16532        (-[WebFileDatabase removeObjectForKey:]):
16533        (-[WebFileDatabase removeAllObjects]):
16534        (-[WebFileDatabase objectForKey:]):
16535        (-[WebFileDatabase performSetObject:forKey:]):
16536        (-[WebFileDatabase performRemoveObjectForKey:]):
16537        (-[WebFileDatabase open]):
16538        (-[WebFileDatabase close]):
16539        (-[WebFileDatabase lazySync:]):
16540        (-[WebFileDatabase sync]):
16541        (-[WebFileDatabase sizeLimit]):
16542        (-[WebFileDatabase count]):
16543        (-[WebFileDatabase usage]):
16544        (-[WebFileDatabase setSizeLimit:]):
16545        * Misc/WebIconDatabase.m:
16546        (-[WebIconDatabase _createFileDatabase]):
16547        (-[WebIconDatabase _loadIconDictionaries]):
16548        * WebKit.xcodeproj/project.pbxproj:
16549
165502006-08-28  Darin Adler  <darin@apple.com>
16551
16552        Reviewed by Tim Hatcher.
16553
16554        * WebInspector/webInspector/inspector.js: Add "resize: none" to the list of
16555        default values for CSS properties so it will be omitted from most displays
16556        of computed style.
16557
165582006-08-28  Brady Eidson  <beidson@apple.com>
16559
16560        Reviewed by Maciej
16561
16562        Major prune of unnecessary WebFileDatabase code.  In the end, what
16563        useful code that remains in WebFileDatabase will likely be moved directly
16564        into WebIconDatabase
16565
16566        * Misc/WebFileDatabase.h:
16567        * Misc/WebFileDatabase.m:
16568        (-[WebFileDatabase initWithPath:]):
16569        (-[WebFileDatabase objectForKey:]):
16570        (-[WebFileDatabase open]):
16571        (-[WebFileDatabase close]):
16572        * Misc/WebIconDatabase.m:
16573        (-[WebIconDatabase _createFileDatabase]):
16574        (-[WebIconDatabase _loadIconDictionaries]):
16575        * Misc/WebLRUFileList.h: Removed.
16576        * Misc/WebLRUFileList.m: Removed.
16577        * WebKit.xcodeproj/project.pbxproj:
16578
165792006-08-27  Sam Weinig  <sam.weinig@gmail.com>
16580
16581        Reviewed by Tim H.
16582
16583        - patch for http://bugs.webkit.org/show_bug.cgi?id=4624
16584          WebCore needs autogenerated Obj-C DOM bindings
16585
16586          First round of auto-generated Objective C DOM bindings, starting
16587          with the DOM Core.
16588
16589        * WebKit.xcodeproj/project.pbxproj:
16590
165912006-08-25  Brady Eidson  <beidson@apple.com>
16592
16593        Reviewed by Tim Hatcher
16594
16595        Fixed up some leaks on [WebIconDatabase init]
16596
16597        * Misc/WebIconDatabase.m:
16598        (-[WebIconDatabase init]):
16599
166002006-08-24  Timothy Hatcher  <timothy@apple.com>
16601
16602        Reviewed by Darin.
16603
16604        * WebView/WebFrame.m:
16605        (-[WebFrame _updateBackground]): reworded the comment about scroll view and setDrawsBackground:YES
16606        * WebView/WebView.m:
16607        (-[WebViewPrivate dealloc]): release the background color
16608
166092006-08-24  Timothy Hatcher  <timothy@apple.com>
16610
16611        Reviewed by Hyatt.
16612
16613        WebView API to allow changing the background color that draws under transparent page backgrounds.
16614
16615        * WebView/WebFrame.m:
16616        (-[WebFrame _makeDocumentView]):
16617        (-[WebFrame _updateBackground]):
16618        * WebView/WebFrameInternal.h:
16619        * WebView/WebFrameView.m:
16620        (-[WebFrameView drawRect:]):
16621        * WebView/WebView.m:
16622        (-[WebView setBackgroundColor:]):
16623        (-[WebView backgroundColor]):
16624        (-[WebView _commonInitializationWithFrameName:groupName:]):
16625        (-[WebView setDrawsBackground:]):
16626        * WebView/WebViewPrivate.h:
16627
166282006-08-24  Timothy Hatcher  <timothy@apple.com>
16629
16630        Reviewed by Darin.
16631
16632        Fix for Mail stationary. Selecting a stationary item would cause this exception.
16633        *** -[WebSubresourceLoader copyWithZone:]: selector not recognized
16634        Uncaught exception - *** -[WebSubresourceLoader copyWithZone:]: selector not recognized
16635
16636        * Loader/WebFrameLoader.m:
16637        (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
16638        Use _webkit_setObject:forUncopiedKey: when addign the resource to pendingArchivedResources.
16639
166402006-08-23  Maciej Stachowiak  <mjs@apple.com>
16641
16642        Reviewed by Adele.
16643        
16644        - fix assertion which I accidentally changed to one that sometimes fails
16645        http://bugs.webkit.org/show_bug.cgi?id=10531
16646        
16647        * Loader/WebDocumentLoadState.m:
16648        (-[WebDocumentLoadState dealloc]):
16649        * WebView/WebDataSource.m:
16650        (-[WebDataSourcePrivate dealloc]):
16651        (-[WebDataSource dealloc]):
16652
166532006-08-23  Maciej Stachowiak  <mjs@apple.com>
16654
16655        Reviewed by Brady.
16656        
16657        - move WebFrame code that creates WebDataSources down to WebFrameLoader, in preparation
16658        for WebFrameLoader just holding on to WebDocumentLoadState
16659
16660        * Loader/WebFrameLoader.h:
16661        * Loader/WebFrameLoader.m:
16662        (-[WebFrameLoader _loadRequest:archive:]):
16663        (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
16664        (-[WebFrameLoader _reloadAllowingStaleDataWithOverrideEncoding:]):
16665        (-[WebFrameLoader reload]):
16666        * WebView/WebFrame.m:
16667        (-[WebFrame _loadItem:withLoadType:]):
16668        (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
16669        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
16670        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
16671        (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
16672        (-[WebFrame loadRequest:]):
16673        (-[WebFrame loadArchive:]):
16674        (-[WebFrame reload]):
16675        * WebView/WebFrameInternal.h:
16676        * WebView/WebFramePrivate.h:
16677        * WebView/WebView.m:
16678        (-[WebView setCustomTextEncodingName:]):
16679
166802006-08-23  Brady Eidson  <beidson@apple.com>
16681
16682        Reviewed by Maciej
16683
16684        First pass at pruning unused WebIconDatabase code.  Focus on removing methods that simply
16685        have no place in the new DB at all.  A few renames and a few important FIXMEs result, but no
16686        functionality changes.
16687
16688        * Loader/WebIconLoader.m:
16689        (-[WebIconLoader didFinishLoading]): Call to WebIconDatabase instead of directly to the bridge
16690        * Misc/WebIconDatabase.h:
16691        * Misc/WebIconDatabase.m:
16692        (-[WebIconDatabase init]):
16693        (-[WebIconDatabase iconForURL:withSize:cache:]):
16694        (-[WebIconDatabase iconURLForURL:]):
16695        (-[WebIconDatabase defaultIconWithSize:]):
16696        (-[WebIconDatabase retainIconForURL:]):
16697        (-[WebIconDatabase releaseIconForURL:]):
16698        (-[WebIconDatabase removeAllIcons]):
16699        (-[WebIconDatabase _setIconData:forIconURL:]):
16700        (-[WebIconDatabase _setHaveNoIconForIconURL:]):
16701        (-[WebIconDatabase _setIconURL:forURL:]):
16702        (-[WebIconDatabase _hasEntryForIconURL:]):
16703        (-[WebIconDatabase _applicationWillTerminate:]):
16704        (-[WebIconDatabase _resetCachedWebPreferences:]):
16705        * Misc/WebIconDatabasePrivate.h: Changed setIcon: to setIconData:
16706
167072006-08-23  Maciej Stachowiak  <mjs@apple.com>
16708
16709        Reviewed by Adele.
16710        
16711        - started factoring most of the guts of WebDataSource into a new class
16712        
16713        WebDocumentLoadState is decoupled from the rest of WebKit and will
16714        be moved down to WebCore. I only moved one of the data fields of
16715        WebDataSource for now.
16716
16717        * Loader/WebDocumentLoadState.h: Added.
16718        * Loader/WebDocumentLoadState.m: Added.
16719        (-[WebDocumentLoadState initWithRequest:]): New class.
16720        (-[WebDocumentLoadState dealloc]):
16721        (-[WebDocumentLoadState setFrameLoader:]):
16722        (-[WebDocumentLoadState setMainResourceData:]):
16723        (-[WebDocumentLoadState mainResourceData]):
16724        * Loader/WebFrameLoader.m:
16725        (-[WebFrameLoader _setDataSource:]): Remove redundant _setWebFrame: call,
16726        it would have been called already by this point.
16727        (-[WebFrameLoader _setProvisionalDataSource:]): ditto.
16728        * WebKit.xcodeproj/project.pbxproj:
16729        * WebView/WebDataSource.m:
16730        (-[WebDataSourcePrivate dealloc]):
16731        (-[WebDataSource _setWebFrame:]):
16732        (-[WebDataSource _setPrimaryLoadComplete:]):
16733        (-[WebDataSource initWithRequest:]):
16734        (-[WebDataSource data]):
16735
167362006-08-23  Maciej Stachowiak  <mjs@apple.com>
16737
16738        Reviewed by Adele.
16739        
16740        - refactoring of WebDataSource in preparation for moving a bunch of it to a new class
16741        
16742        - minimize WebDataSourceInternal.h to be only methods called from outside WebDataSource
16743        - reduce Private category implementation to be only the SPI methods
16744        - make new Internal and FileInternal categories which contain the
16745        remainder (depending on whether they are called from outside of
16746        WebDataSource)
16747
16748        * WebView/WebDataSource.m:
16749        (-[WebDataSource _setMainDocumentError:]):
16750        (addTypesFromClass):
16751        (+[WebDataSource _representationClassForMIMEType:]):
16752        (-[WebDataSource _commitIfReady]):
16753        (-[WebDataSource _commitLoadWithData:]):
16754        (-[WebDataSource _doesProgressiveLoadWithMIMEType:]):
16755        (-[WebDataSource _addResponse:]):
16756        (-[WebDataSource _revertToProvisionalState]):
16757        (-[WebDataSource _mainDocumentError]):
16758        (-[WebDataSource _addSubframeArchives:]):
16759        (-[WebDataSource _fileWrapperForURL:]):
16760        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
16761        (-[WebDataSource _decidePolicyForMIMEType:decisionListener:]):
16762        (-[WebDataSource _finishedLoading]):
16763        (-[WebDataSource _setResponse:]):
16764        (-[WebDataSource _setRequest:]):
16765        (-[WebDataSource _setupForReplaceByMIMEType:]):
16766        (-[WebDataSource _receivedMainResourceError:complete:]):
16767        (-[WebDataSource _mainReceivedError:complete:]):
16768        (-[WebDataSource _defersCallbacks]):
16769        (-[WebDataSource _downloadWithLoadingConnection:request:response:proxy:]):
16770        (-[WebDataSource _didFailLoadingWithError:forResource:]):
16771        (-[WebDataSource _didFinishLoadingForResource:]):
16772        (-[WebDataSource _didReceiveData:contentLength:forResource:]):
16773        (-[WebDataSource _didReceiveResponse:forResource:]):
16774        (-[WebDataSource _didCancelAuthenticationChallenge:forResource:]):
16775        (-[WebDataSource _didReceiveAuthenticationChallenge:forResource:]):
16776        (-[WebDataSource _willSendRequest:forResource:redirectResponse:]):
16777        (-[WebDataSource _identifierForInitialRequest:]):
16778        (-[WebDataSource _archivedSubresourceForURL:]):
16779        (-[WebDataSource _startLoading]):
16780        (-[WebDataSource _stopRecordingResponses]):
16781        (-[WebDataSource _loadingStartedTime]):
16782        (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]):
16783        (-[WebDataSource _documentFragmentWithArchive:]):
16784        (-[WebDataSource _documentFragmentWithImageResource:]):
16785        (-[WebDataSource _imageElementWithImageResource:]):
16786        (-[WebDataSource _title]):
16787        (-[WebDataSource _isStopping]):
16788        (-[WebDataSource _setWebFrame:]):
16789        (-[WebDataSource _URL]):
16790        (-[WebDataSource _loadFromPageCache:]):
16791        (-[WebDataSource _popSubframeArchiveWithName:]):
16792        (-[WebDataSource _setIsClientRedirect:]):
16793        (-[WebDataSource _setURL:]):
16794        (-[WebDataSource _setLastCheckedRequest:]):
16795        (-[WebDataSource _defersCallbacksChanged]):
16796        (-[WebDataSource _lastCheckedRequest]):
16797        (-[WebDataSource _stopLoading]):
16798        (-[WebDataSource _bridge]):
16799        (-[WebDataSource _webView]):
16800        (-[WebDataSource _triggeringAction]):
16801        (-[WebDataSource _setTriggeringAction:]):
16802        (-[WebDataSource __adoptRequest:]):
16803        (-[WebDataSource _isDocumentHTML]):
16804        (-[WebDataSource _stopLoadingWithError:]):
16805        (-[WebDataSource _setPrimaryLoadComplete:]):
16806        (-[WebDataSource _responses]):
16807        (-[WebDataSource _makeRepresentation]):
16808        (-[WebDataSource _isClientRedirect]):
16809        (-[WebDataSource _originalRequest]):
16810        (-[WebDataSource _URLForHistory]):
16811        (-[WebDataSource _addToUnarchiveState:]):
16812        (-[WebDataSource _setOverrideEncoding:]):
16813        (-[WebDataSource _setIconURL:]):
16814        (-[WebDataSource _setIconURL:withType:]):
16815        (-[WebDataSource _overrideEncoding]):
16816        (-[WebDataSource _setTitle:]):
16817        * WebView/WebDataSourceInternal.h:
16818
168192006-08-23  Brady Eidson  <beidson@apple.com>
16820
16821        Reviewed by John Sullivan
16822
16823        /me crosses fingers
16824        Flip the switch to the new Icon Database
16825        Massive code pruning is coming up
16826
16827        * WebKitPrefix.h: Flipped the switch
16828
168292006-08-23  Brady Eidson  <beidson@apple.com>
16830
16831        Reviewed by Beth
16832        Since I just pushed the default URL icon from WebKit to WebCore, but
16833        WebKit was still using its version of the default icon, this patch makes it
16834        use the WebCore version
16835
16836        * Misc/WebIconDatabase.m:
16837        (-[WebIconDatabase defaultIconWithSize:]):
16838
168392006-08-22  Maciej Stachowiak  <mjs@apple.com>
16840
16841        Reviewed by Brady.
16842        
16843        - remove "loading" flag from WebDataSource and code that manages it; it is redundat.
16844
16845        * Loader/WebFrameLoader.m:
16846        (-[WebFrameLoader addPlugInStreamLoader:]):
16847        (-[WebFrameLoader removePlugInStreamLoader:]):
16848        (-[WebFrameLoader addSubresourceLoader:]):
16849        (-[WebFrameLoader removeSubresourceLoader:]):
16850        * WebView/WebDataSource.m:
16851        (-[WebDataSourcePrivate dealloc]):
16852        (-[WebDataSource _setPrimaryLoadComplete:]):
16853        (-[WebDataSource _stopLoading]):
16854        (-[WebDataSource _prepareForLoadStart]):
16855        (-[WebDataSource _startLoading]):
16856        (-[WebDataSource isLoading]):
16857        * WebView/WebDataSourceInternal.h:
16858
168592006-08-22  Maciej Stachowiak  <mjs@apple.com>
16860
16861        Reviewed by Eric.
16862
16863        <rdar://problem/4683948> REGRESSION: Assertion failure in [FrameProgressEntry addChild:forDataSource:] (fandango.com)
16864        
16865        * Loader/WebFrameLoader.m:
16866        (-[WebFrameLoader addSubresourceLoader:]): Add a WebKit-level assertion that should fire when this bad
16867        situation occurs.
16868        * Loader/WebSubresourceLoader.m:
16869        (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]): Prevent
16870        the situation from occuring.
16871
168722006-08-22  Maciej Stachowiak  <mjs@apple.com>
16873
16874        Reviewed by Anders.
16875        
16876        - pull more WebDataSource code into WebFrameLoader
16877        - make WebMainResourceLoader not depend on WebKit or on SPI
16878
16879        * Loader/WebFrameLoader.h:
16880        * Loader/WebFrameLoader.m:
16881        (-[WebFrameLoader _downloadWithLoadingConnection:request:response:proxy:]):
16882        (-[WebFrameLoader _updateIconDatabaseWithURL:]):
16883        (-[WebFrameLoader _notifyIconChanged:]):
16884        (-[WebFrameLoader _iconLoaderReceivedPageIcon:]):
16885        (-[WebFrameLoader _checkNavigationPolicyForRequest:andCall:withSelector:]):
16886        (-[WebFrameLoader _checkContentPolicyForMIMEType:andCall:withSelector:]):
16887        (-[WebFrameLoader cancelContentPolicy]):
16888        * Loader/WebIconLoader.m:
16889        (-[WebIconLoader didFinishLoading]):
16890        * Loader/WebLoader.m:
16891        (-[NSURLProtocol loadWithRequest:]):
16892        (-[NSURLProtocol setDefersCallbacks:]):
16893        * Loader/WebMainResourceLoader.h:
16894        * Loader/WebMainResourceLoader.m:
16895        (-[WebMainResourceLoader initWithFrameLoader:]):
16896        (-[WebMainResourceLoader dealloc]):
16897        (-[WebMainResourceLoader cancelWithError:]):
16898        (-[WebMainResourceLoader continueAfterNavigationPolicy:formState:]):
16899        (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
16900        (-[WebMainResourceLoader continueAfterContentPolicy:]):
16901        (-[WebMainResourceLoader checkContentPolicy]):
16902        (-[WebMainResourceLoader didReceiveResponse:]):
16903        * Plugins/WebPluginContainerCheck.m:
16904        * WebCoreSupport/WebSystemInterface.m:
16905        (InitWebCoreSystemInterface):
16906        * WebView/WebDataSource.m:
16907        (-[WebDataSource _loadIcon]):
16908        (-[WebDataSource _cancelledError]):
16909        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
16910        (+[WebDataSource _representationClassForMIMEType:]):
16911        (-[WebDataSource _commitLoadWithData:]):
16912        (-[WebDataSource _isDocumentHTML]):
16913        * WebView/WebDataSourceInternal.h:
16914        * WebView/WebFramePrivate.h:
16915        * WebView/WebPolicyDelegate.m:
16916        * WebView/WebPolicyDelegatePrivate.h:
16917
169182006-08-21  Maciej Stachowiak  <mjs@apple.com>
16919
16920        Reviewed by Brady.
16921        
16922        - move more code from WebDataSource to WebFrameLoader
16923        
16924        Also marked a few more methods in WebDataSource as likely MOVABLE in a future round, since they do not
16925        use any of WebDataSource's private data.
16926
16927        * Loader/WebFrameLoader.h:
16928        * Loader/WebFrameLoader.m:
16929        (-[WebFrameLoader addPlugInStreamLoader:]):
16930        (-[WebFrameLoader removePlugInStreamLoader:]):
16931        (-[WebFrameLoader addSubresourceLoader:]):
16932        (-[WebFrameLoader removeSubresourceLoader:]):
16933        (-[WebFrameLoader _didReceiveAuthenticationChallenge:forResource:]):
16934        (-[WebFrameLoader _didCancelAuthenticationChallenge:forResource:]):
16935        (-[WebFrameLoader _didReceiveResponse:forResource:]):
16936        (-[WebFrameLoader _didReceiveData:contentLength:forResource:]):
16937        (-[WebFrameLoader _didFinishLoadingForResource:]):
16938        (-[WebFrameLoader _didFailLoadingWithError:forResource:]):
16939        (-[WebFrameLoader _privateBrowsingEnabled]):
16940        (-[WebFrameLoader _finishedLoadingResource]):
16941        (-[WebFrameLoader _receivedError:]):
16942        (-[WebFrameLoader _finishedLoading]):
16943        * Loader/WebMainResourceLoader.m:
16944        (-[WebMainResourceLoader didReceiveData:lengthReceived:allAtOnce:]):
16945        (-[WebMainResourceLoader didFinishLoading]):
16946        * Loader/WebNetscapePlugInStreamLoader.m:
16947        (-[WebNetscapePlugInStreamLoader didFinishLoading]):
16948        (-[WebNetscapePlugInStreamLoader didFailWithError:]):
16949        (-[WebNetscapePlugInStreamLoader cancelWithError:]):
16950        * Loader/WebSubresourceLoader.m:
16951        (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
16952        (-[WebSubresourceLoader signalFinish]):
16953        (-[WebSubresourceLoader didFailWithError:]):
16954        (-[WebSubresourceLoader cancel]):
16955        * Plugins/WebNetscapePluginStream.m:
16956        (-[WebNetscapePluginStream start]):
16957        * WebView/WebDataSource.m:
16958        (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]):
16959        (-[WebDataSource _updateIconDatabaseWithURL:]):
16960        (-[WebDataSource _loadIcon]):
16961        (-[WebDataSource _setPrimaryLoadComplete:]):
16962        (-[WebDataSource _cancelledError]):
16963        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
16964        (+[WebDataSource _representationClassForMIMEType:]):
16965        (-[WebDataSource _commitLoadWithData:]):
16966        (-[WebDataSource _receivedMainResourceError:complete:]):
16967        (-[WebDataSource _iconLoaderReceivedPageIcon:]):
16968        (-[WebDataSource _isDocumentHTML]):
16969        * WebView/WebDataSourceInternal.h:
16970
169712006-08-21  Brady Eidson  <beidson@apple.com>
16972
16973        Reviewed by John
16974
16975        Quick ICONDEBUG flag fix
16976
16977        * Misc/WebIconDatabase.m:
16978        (-[WebIconDatabase _applicationWillTerminate:]):
16979
169802006-08-21  Brady Eidson  <beidson@apple.com>
16981
16982        Reviewed by Anders
16983
16984        -Renamed an internal only method for clarity
16985        -Tweaked WebDataSource for notification purposes with the new expiring icons
16986        -Fixed a bug with the ICONDEBUG flag
16987
16988        * Misc/WebIconDatabase.m:
16989        (-[WebIconDatabase init]):
16990        (-[WebIconDatabase iconForURL:withSize:cache:]): #ifdef bug fixed
16991        (-[WebIconDatabase _hasEntryForIconURL:]): Renamed for clarity
16992        * Misc/WebIconDatabasePrivate.h:
16993        * WebView/WebDataSource.m:
16994        (-[WebDataSource _updateIconDatabaseWithURL:]):
16995        (-[WebDataSource _notifyIconChanged:]):
16996        (-[WebDataSource _loadIcon]):
16997        (-[WebDataSource _iconLoaderReceivedPageIcon:]):
16998
169992006-08-17  Maciej Stachowiak  <mjs@apple.com>
17000
17001        Reviewed by Brady.
17002        
17003        - pull a bit of WebDataSource code into WebFrameLoader
17004
17005        * Loader/WebFrameLoader.m:
17006        (-[WebFrameLoader _receivedError:]):
17007        (-[WebFrameLoader webFrame]):
17008        (-[WebFrameLoader _handleFallbackContent]):
17009        (+[WebFrameLoader _canShowMIMEType:]):
17010        (+[WebFrameLoader _representationExistsForURLScheme:]):
17011        (+[WebFrameLoader _generatedMIMETypeForURLScheme:]):
17012        * WebView/WebDataSource.m:
17013        * WebView/WebDataSourceInternal.h:
17014
170152006-08-17  Timothy Hatcher  <timothy@apple.com>
17016
17017        Reviewed by Kevin Decker.
17018
17019        <rdar://problem/4606857> WebKit: WebPreferencesChangedNotification not exported in 64-bit
17020
17021        * WebKit.LP64.exp:
17022
170232006-08-17  Timothy Hatcher  <timothy@apple.com>
17024
17025        Reviewed by Kevin Decker.
17026
17027        <rdar://problem/4633896> -[WebView close] should clear all delegates and call setHostWindow:nil
17028        <rdar://problem/4649759> Crash when selecting View Source menu using Chinese (-[WebView _close])
17029
17030        Check to make sure _private is not null. A WebView can be dealloced before _private is setup.
17031        Set the _private->closed flag at the beginning of _close to prevent reentry.
17032        Set the host window and all the delegates to nil in _close.
17033
17034        * WebView/WebView.m:
17035        (-[WebView _close]):
17036
170372006-08-16  Brady Eidson  <beidson@apple.com>
17038
17039        Reviewed by Maciej
17040
17041        * Misc/WebIconDatabase.m: Pruned unused method
17042        * Misc/WebIconDatabasePrivate.h: Ditto
17043
17044
170452006-08-15  Maciej Stachowiak  <mjs@apple.com>
17046
17047        Reviewed by Adele (preliminary version) and later by Kevin.
17048        
17049        - remove most WebKit dependencies from WebMainResourceLoader.
17050
17051        * Loader/WebFrameLoader.h:
17052        * Loader/WebFrameLoader.m:
17053        (-[WebFrameLoader cannotShowMIMETypeForURL:]):
17054        (-[WebFrameLoader interruptForPolicyChangeErrorWithRequest:]):
17055        (-[WebFrameLoader isHostedByObjectElement]):
17056        (-[WebFrameLoader isLoadingMainFrame]):
17057        (+[WebFrameLoader _canShowMIMEType:]):
17058        (+[WebFrameLoader _representationExistsForURLScheme:]):
17059        (+[WebFrameLoader _generatedMIMETypeForURLScheme:]):
17060        * Loader/WebMainResourceLoader.h:
17061        * Loader/WebMainResourceLoader.m:
17062        (-[WebMainResourceLoader interruptForPolicyChangeError]):
17063        (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
17064        (isCaseInsensitiveEqual):
17065        (shouldLoadAsEmptyDocument):
17066        (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
17067        (-[WebMainResourceLoader didReceiveResponse:]):
17068        (-[WebMainResourceLoader didReceiveData:lengthReceived:allAtOnce:]):
17069        (-[WebMainResourceLoader didFinishLoading]):
17070        (-[WebMainResourceLoader loadWithRequestNow:]):
17071        (-[WebMainResourceLoader loadWithRequest:]):
17072
170732006-08-15  Tim Omernick  <timo@apple.com>
17074
17075        Reviewed by Kevin Decker.
17076
17077        * Plugins/WebNetscapePluginPackage.m:
17078        (-[WebNetscapePluginPackage _unloadWithShutdown:]):
17079        Fixed a subtle problem with the 64-bit debug build -- as written, this would LOG() on 64-bit and do nothing on
17080        32-bit!
17081        * Plugins/WebPluginDatabase.m:
17082        (-[WebPluginDatabase _scanForNewPlugins]):
17083        Use +[NSMutableSet set] here.
17084
170852006-08-15  Tim Omernick  <timo@apple.com>
17086
17087        Reviewed by Darin Adler.
17088
17089        <http://bugs.webkit.org/show_bug.cgi?id=8980>
17090        ASSERTION FAILED: !isLoaded (WebKit/WebKit/Plugins/WebBasePluginPackage.m:228 -[WebBasePluginPackage dealloc])
17091
17092        <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc] running layout tests (8980)
17093        
17094        * Plugins/WebPluginDatabase.h:
17095        * Plugins/WebPluginDatabase.m:
17096        (+[WebPluginDatabase installedPlugins]):
17097        Observe NSApplicationWillTerminateNotification so we can unload plug-ins on quit.
17098        (-[WebPluginDatabase plugins]):
17099        'plugins' is now a dictionary.
17100        (-[WebPluginDatabase close]):
17101        Call new -_removePlugin: method.
17102        (-[WebPluginDatabase refresh]):
17103        Moved parts of this method out into other methods: -_addPlugin:, -_removePlugin:, and -_scanForNewPlugins.
17104        (-[WebPluginDatabase _plugInPaths]):
17105        No changes; just moved in file.
17106        (-[WebPluginDatabase _addPlugin:]):
17107        New method.  Refactored from -refresh.  Adds a plug-in to the database.
17108        (-[WebPluginDatabase _removePlugin:]):
17109        New method.  Refactored from -refresh.  Remove a plug-in from the database.
17110        (-[WebPluginDatabase _scanForNewPlugins]):
17111        New method.  Refactored from -refresh.  Returns the list of plug-in packages on disk.
17112        (-[WebPluginDatabase _applicationWillTerminate]):
17113        New method.  Called when the application terminates.  Closes the plug-in database so that all plug-ins are
17114        removed from the DB (and unloaded if necessary).
17115
17116        * Plugins/WebBasePluginPackage.h:
17117        * Plugins/WebBasePluginPackage.m:
17118        (-[WebBasePluginPackage initWithPath:]):
17119        Try to create the NSBundle first, so if the file is not a valid bundle we bail out early.  This
17120        avoids some stat()s and allocations during the plug-in refresh process.
17121        (-[WebBasePluginPackage isLoaded]):
17122        Removed.
17123        (-[WebBasePluginPackage load]):
17124        Base class for plug-in packages now always loads "successfully".
17125        (-[WebBasePluginPackage dealloc]):
17126        Removed this assertion.  The base plug-in package class has no concept of
17127        "unloading".
17128        (-[WebBasePluginPackage finalize]):
17129        ditto.
17130        (-[WebBasePluginPackage wasRemovedFromPluginDatabase:]):
17131        Moved code to unload plug-in package to WebNetscapePluginPackage.  Not all plug-in
17132        packages can be "unloaded".
17133
17134        * Plugins/WebNetscapePluginPackage.h:
17135        * Plugins/WebNetscapePluginPackage.m:
17136        (-[WebNetscapePluginPackage _unloadWithShutdown:]):
17137        Combined old -unload and -unloadWithoutShutdown methods into this new one.
17138        (-[WebNetscapePluginPackage initWithPath:]):
17139        Call new unload method.
17140        (-[WebNetscapePluginPackage load]):
17141        ditto
17142        (-[WebNetscapePluginPackage wasRemovedFromPluginDatabase:]):
17143        ditto
17144        (-[WebNetscapePluginPackage open]):
17145        New method.  Called when a plug-in instance starts running.
17146        (-[WebNetscapePluginPackage close]):
17147        New method.  Called when a plug-in instance stops running.  When all plug-in instances
17148        close the plug-in package, and the plug-in package is removed from the database, the plug-in
17149        is unloaded.
17150
17151        * Plugins/WebPluginPackage.m:
17152        (-[WebPluginPackage initWithPath:]):
17153        (-[WebPluginPackage load]):
17154        Made this a bit more efficient by checking if the bundle is already loaded.
17155        (-[WebBasePluginPackage unload]):
17156        Removed.
17157        (-[WebBasePluginPackage isLoaded]):
17158        Removed.
17159
17160        * Plugins/WebBaseNetscapePluginView.m:
17161        (-[WebBaseNetscapePluginView start]):
17162        Open the plug-in package so it remains loaded while this instance uses it.
17163        (-[WebBaseNetscapePluginView stop]):
17164        Close the plug-in package when the plug-in instance is stopped.
17165        
17166        * Plugins/WebBaseNetscapePluginStream.m:
17167        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
17168        This check is not necessary.  Netscape plug-in packages are never unloaded until all their instances have
17169        been stopped, and a Netscape plug-in instance will stop its streams when it is stopped.
17170        (-[WebBaseNetscapePluginStream _destroyStream]):
17171        ditto
17172        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
17173        ditto
17174        (-[WebBaseNetscapePluginStream _deliverData]):
17175        ditto
17176
171772006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
17178
17179        Reviewed by Tim H.
17180
17181        Build fix:  DWARF and -gfull are incompatible with symbol separation.
17182
17183        * WebKit.xcodeproj/project.pbxproj:
17184
171852006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
17186
17187        Reviewed by Tim H.
17188
17189        http://bugs.webkit.org/show_bug.cgi?id=10394
17190        Bug 10394: WebKit Release and Production configurations should enable dead code stripping
17191
17192        * WebKit.xcodeproj/project.pbxproj:
17193
171942006-08-15  Maciej Stachowiak  <mjs@apple.com>
17195
17196        Reviewed by Anders.
17197        
17198        - remove WebKit dependencies from WebPlugInStreamLoader via a protocol veil of ignorance
17199
17200        * Loader/WebNetscapePlugInStreamLoader.h:
17201        * Loader/WebNetscapePlugInStreamLoader.m:
17202        (-[WebNetscapePlugInStreamLoader initWithDelegate:frameLoader:]):
17203        * Loader/WebPlugInStreamLoaderDelegate.h: Added.
17204        * Plugins/WebBaseNetscapePluginStream.h:
17205        * Plugins/WebNetscapePluginStream.m:
17206        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
17207        * WebKit.xcodeproj/project.pbxproj:
17208
172092006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
17210
17211        Reviewed by Tim H.
17212
17213        http://bugs.webkit.org/show_bug.cgi?id=10384
17214        Bug 10384: Switch to DWARF for Release configuration
17215
17216        * WebKit.xcodeproj/project.pbxproj:
17217
172182006-08-15  Graham Dennis  <graham.dennis@gmail.com>
17219
17220        Reviewed by Darin.
17221        
17222        - patch for http://bugs.webkit.org/show_bug.cgi?id=10314
17223          WebUnarchivingState archivedResourceForURL: doesn't work
17224
17225        * WebView/WebUnarchivingState.m:
17226        (-[WebUnarchivingState archivedResourceForURL:]):
17227        Fixed to get objects from the archived resources dictionary using
17228        the URL as a string instead of as the URL itself (as this is how
17229        the data is put into the dictionary).
17230
172312006-08-14  Maciej Stachowiak  <mjs@apple.com>
17232
17233        Reviewed by Beth.
17234        
17235        - remove many (but not all) WebKit dependencies from WebNetscapePlugInStreamLoader (it still 
17236        depends on WebNetscapePluginStream).
17237
17238        * Loader/WebFrameLoader.h:
17239        * Loader/WebFrameLoader.m:
17240        (-[WebFrameLoader fileDoesNotExistErrorWithResponse:]):
17241        * Loader/WebNetscapePlugInStreamLoader.h:
17242        * Loader/WebNetscapePlugInStreamLoader.m:
17243        (-[WebNetscapePlugInStreamLoader initWithStream:frameLoader:]):
17244        (-[WebNetscapePlugInStreamLoader releaseResources]):
17245        (-[WebNetscapePlugInStreamLoader didReceiveResponse:]):
17246        * Plugins/WebNetscapePluginStream.m:
17247        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
17248
172492006-08-14  Maciej Stachowiak  <mjs@apple.com>
17250
17251        Reviewed by Tim Omernick.
17252        
17253        - fixed REGRESSION: crash when leaving youtube page while movie is still loading
17254        http://bugs.webkit.org/show_bug.cgi?id=10398
17255
17256        * Loader/WebNetscapePlugInStreamLoader.m:
17257        (-[WebNetscapePlugInStreamLoader initWithStream:view:]): Set the frame loader for this stream.
17258        (-[WebNetscapePlugInStreamLoader cancelWithError:]): Make sure to destroy the stream as well;
17259        otherwise, when we try to clean up later, we won't have the right context.
17260
172612006-08-14  David Hyatt  <hyatt@apple.com>
17262
17263        Fix for Radar bug 4478840, Safari should not reduce null events sent to
17264        plug-ins in windows that are inactive but visible.
17265
17266        With this fix you can view videos in visible background windows on YouTube
17267        (for example) and not see any drop in frame rate.
17268
17269        Reviewed by timo
17270
17271        * Plugins/WebBaseNetscapePluginView.m:
17272        (-[WebBaseNetscapePluginView restartNullEvents]):
17273
172742006-08-14  Maciej Stachowiak  <mjs@apple.com>
17275
17276        Reviewed by Brady.
17277        
17278        - removed WebKit-level dependencies from WebFormDataStream. Use WebCore version of system interface
17279
17280        * Loader/WebFormDataStream.m:
17281        (formCanRead):
17282        (formEventCallback):
17283        (webSetHTTPBody):
17284        * WebCoreSupport/WebSystemInterface.m:
17285        (InitWebCoreSystemInterface):
17286
172872006-08-14  Maciej Stachowiak  <mjs@apple.com>
17288
17289        Rubber stamped by Brady.
17290        
17291        - move WebFormDataStream from WebView to Loader
17292
17293        * WebKit.xcodeproj/project.pbxproj:
17294        * WebView/WebFormDataStream.h: Removed.
17295        * WebView/WebFormDataStream.m: Removed.
17296
172972006-08-13  Maciej Stachowiak  <mjs@apple.com>
17298
17299        Reviewed by Brady.
17300        
17301        - remove WebKit dependencies from WebSubresourceLoader, except WebFormDataStream
17302        
17303        (WebFormDataStream will be moved into the Loader directory soon)
17304
17305        * Loader/WebFrameLoader.h:
17306        * Loader/WebFrameLoader.m:
17307        (-[WebFrameLoader _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
17308        * Loader/WebSubresourceLoader.m:
17309        (isConditionalRequest):
17310        (hasCaseInsensitivePrefix):
17311        (isFileURLString):
17312        (setHTTPReferrer):
17313        (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
17314
173152006-08-13  Brady Eidson  <beidson@apple.com>
17316
17317        Reviewed by Maciej
17318
17319        Relocated the WebIconLoaders
17320
17321        * Misc/WebIconLoader.h: Moved to Loader/
17322        * Misc/WebIconLoader.m: Moved to Loader/
17323        * WebKit.xcodeproj/project.pbxproj:
17324
173252006-08-13  Maciej Stachowiak  <mjs@apple.com>
17326
17327        Reviewed by Beth.
17328        
17329        - removed non-Loader WebKit dependencies from WebDataProtocol for
17330        real (whoops) and fix some typos.
17331
17332        * Loader/WebDataProtocol.m:
17333        (isCaseInsensitiveEqual): Added.
17334        (+[WebDataProtocol _webIsDataProtocolURL:]): Avoid WebKit calls.
17335        (-[WebDataProtocol startLoading]): ditto
17336        * Loader/WebFrameLoader.m:
17337        (isCaseInsensitiveEqual): Fixed spelling from isCaseSensitiveEqual.
17338        (-[WebFrameLoader _canUseResourceForRequest:]): Use proper call.
17339
173402006-08-13  Brady Eidson  <beidson@apple.com>
17341
17342        Reviewed by Maciej
17343
17344        The way of detecting a failed icon load before was to try and construct
17345        an image from the icon and if that image construction failed, mark the icon
17346        as missing.  
17347        A much more efficient way is to check for an error response.  We'll still
17348        check for invalid image data, but most servers will correctly return an HTTP 
17349        error on a missing icon.
17350        
17351        * Misc/WebIconLoader.m:
17352        (-[WebIconLoader didFinishLoading]): Added check for http error response
17353
173542006-08-13  Maciej Stachowiak  <mjs@apple.com>
17355
17356        Reviewed by Darin.
17357        
17358        - remove all non-Loader dependencies from WebLoader
17359        
17360        As part of this I moved WebDataProtocol to the loader directory
17361        and removed dependencies on the rest of WebKit from that too.
17362
17363        * Loader/WebFrameLoader.h:
17364        * Loader/WebFrameLoader.m:
17365        (-[WebFrameLoader setDefersCallbacks:]):
17366        (-[WebFrameLoader stopLoading]):
17367        (-[WebFrameLoader cancelledErrorWithRequest:]):
17368        (-[WebFrameLoader clearArchivedResources]):
17369        (-[WebFrameLoader deliverArchivedResources]):
17370        (-[WebFrameLoader deliverArchivedResourcesAfterDelay]):
17371        (isCaseSensitiveEqual):
17372        (-[WebFrameLoader _canUseResourceForRequest:]):
17373        (-[WebFrameLoader _canUseResourceWithResponse:]):
17374        (-[WebFrameLoader pendingArchivedResources]):
17375        (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
17376        (-[WebFrameLoader archiveLoadPendingForLoader:]):
17377        (-[WebFrameLoader cancelPendingArchiveLoadForLoader:]):
17378        * Loader/WebLoader.h:
17379        * Loader/WebLoader.m:
17380        (-[NSURLProtocol releaseResources]):
17381        (-[NSURLProtocol loadWithRequest:]):
17382        (-[NSURLProtocol setDefersCallbacks:]):
17383        (-[NSURLProtocol addData:allAtOnce:]):
17384        (-[NSURLProtocol resourceData]):
17385        (-[NSURLProtocol didReceiveData:lengthReceived:allAtOnce:]):
17386        (-[NSURLProtocol connection:didReceiveData:lengthReceived:]):
17387        (-[NSURLProtocol cancelWithError:]):
17388        (-[NSURLProtocol cancelledError]):
17389        * Loader/WebMainResourceLoader.m:
17390        (-[WebMainResourceLoader addData:allAtOnce:]):
17391        (-[WebMainResourceLoader didReceiveData:lengthReceived:allAtOnce:]):
17392        * Loader/WebNetscapePlugInStreamLoader.m:
17393        (-[WebNetscapePlugInStreamLoader didReceiveData:lengthReceived:allAtOnce:]):
17394        * Loader/WebSubresourceLoader.m:
17395        (-[WebSubresourceLoader didReceiveData:lengthReceived:allAtOnce:]):
17396        * WebKit.xcodeproj/project.pbxproj:
17397        * WebView/WebDataProtocol.h: Removed.
17398        * WebView/WebDataProtocol.m: Removed.
17399
174002006-08-11  Tim Omernick  <timo@apple.com>
17401
17402        Reviewed by Darin.
17403
17404        <http://bugs.webkit.org/show_bug.cgi?id=10111> - Menu flickers over Flash content
17405        <rdar://problem/3052546> Plugins don't work with z-index (overlapping elements, etc.)
17406
17407        * Plugins/WebBaseNetscapePluginView.m:
17408        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
17409        Don't just clip to the dirty region for "transparent" plug-ins -- do it for all plug-ins.  This is a
17410        generally useful thing to do, as it prevents the plug-in from drawing over parts of the window that
17411        have already been drawn and are not expected to be redrawn in the same update.
17412
174132006-08-11  Brady Eidson  <beidson@apple.com>
17414
17415        Reviewed by John, Timo, Adele, and Darin
17416
17417        In addition to a few style/good-practice cleanups, this patch will convert the old icon database
17418        format to the WebCore format if the WebCore db is empty (implying this conversion has yet to take
17419        place).  After the conversion, it will delete all traces of the old format to free the unneeded space
17420
17421        * Misc/WebIconDatabase.m:
17422        (-[WebIconDatabase init]):  
17423        (-[WebIconDatabase _setIconURL:forURL:]):  Changed the bridge's name for this method to be more clear
17424        (-[WebIconDatabase _createFileDatabase]):  
17425        (-[WebIconDatabase _iconDataForIconURL:]):  This grabs the raw data for use in the conversion function
17426        (-[WebIconDatabase _convertToWebCoreFormat]):  This does the actual conversion
17427
174282006-08-11  Tim Omernick  <timo@apple.com>
17429
17430        Reviewed by John Sullivan.
17431        
17432        Needed for <rdar://problem/4678070>.
17433
17434        * Plugins/WebBaseNetscapePluginView.m:
17435        (-[WebBaseNetscapePluginView sendEvent:]):
17436        Changed an assertion to an early return.  It should be possible to send events, especially updateEvt (for image capturing
17437        purposes), to off-screen plug-ins.  It just doesn't work right now.  See <rdar://problem/4318269>.
17438
174392006-08-11  John Sullivan  <sullivan@apple.com>
17440
17441        Reviewed by Darin
17442        
17443        - fixed <rdar://problem/4522894> Would be nice if Safari shrank pages a little if necessary 
17444        to avoid printing an almost-empty page
17445
17446        * WebView/WebHTMLView.m:
17447        (-[NSArray knowsPageRange:]):
17448        If the last page has a short-enough orphan (< 1/10 of the page height is the number I pulled
17449        out of ... the air), then we adjust the scale factor slightly and check whether this reduces
17450        the page count and thus eliminates the orphan.
17451        
174522006-08-07  Brady Eidson  <beidson@apple.com>
17453
17454        Reviewed by Anders and John
17455
17456        * Misc/WebIconDatabase.m:
17457        (-[WebIconDatabase init]):
17458        (-[WebIconDatabase isIconExpiredForIconURL:]): Get if an icon expired
17459        (-[WebIconDatabase isIconExpiredForPageURL:]): Ditto
17460        (-[WebIconDatabase _setIconURL:forURL:]):
17461        (-[WebIconDatabase _sendNotificationForURL:]): Moved to WebKitPendingPublic for use outside of WebIconDatabase
17462        (-[WebIconDatabase loadIconFromURL:]): Allow a load outside the context of a page load
17463        * Misc/WebIconDatabasePrivate.h:
17464
17465        * Misc/WebIconLoader.m:
17466        (-[WebIconLoader didFinishLoading]): fixed up the "flipping the switch" #defs a bit
17467        (-[WebIconLoader willSendRequest:redirectResponse:]): override to allow a load
17468        outside of the context of a page load
17469
17470        * WebCoreSupport/WebIconDatabaseBridge.h: Added.
17471        * WebCoreSupport/WebIconDatabaseBridge.m: Added.
17472        (-[WebIconDatabaseBridge init]):
17473        (-[WebIconDatabaseBridge dealloc]):
17474        (-[WebIconDatabaseBridge loadIconFromURL:]):  Kick off a load on an icon outside
17475        of the context of any page load
17476        (-[WebIconDatabaseBridge _setIconData:forIconURL:]):  WebKit side of bridge method
17477        (-[WebIconDatabaseBridge _setHaveNoIconForIconURL:]):  WebKit side of bridge method
17478        (-[WebIconDatabaseBridge releaseCachedLoaderForIconURL:]): 
17479        (+[WebIconDatabaseBridge sharedBridgeInstance]): Moved this from WebCore to WebKit
17480        so both sides of the bridge get the WebKit version
17481        * WebKit.xcodeproj/project.pbxproj: Added some files
17482        * WebView/WebDataSource.m:
17483        (-[WebDataSource _loadIcon]): Added check for reload/expired icon to force
17484        a load even if we already have it
17485
174862006-08-04  Sam Weinig  <sam.weinig@gmail.com>
17487
17488        Reviewed by Darin.
17489
17490        - patch for http://bugs.webkit.org/show_bug.cgi?id=10192
17491          Make WebCore (and friends) compile with -Wshorten-64-to-32
17492
17493          * Adds 'f' to float literals where expecting a float.
17494          * Use ceilf() instead of ceil() when assigning to a float.
17495          * Adds explicit casts where OK.
17496          
17497          NOTE: The -Wshorten-64-to-32 flag was not added for WebKit
17498          because there are still a few places where no error handling 
17499          is in place.  The flag can be added as soon as those are worked
17500          out.
17501
17502        * Misc/WebNSControlExtras.m:
17503        (-[NSControl sizeToFitAndAdjustWindowHeight]):
17504        * Misc/WebNSImageExtras.m:
17505        (-[NSImage _web_scaleToMaxSize:]):
17506        * Misc/WebNSViewExtras.h:
17507        * Misc/WebNSViewExtras.m:
17508        * Plugins/WebBaseNetscapePluginView.m:
17509        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
17510        (-[WebBaseNetscapePluginView drawRect:]):
17511        * WebCoreSupport/WebFrameBridge.m:
17512        (-[WebFrameBridge expiresTimeForResponse:]):
17513        * WebInspector/WebInspector.m:
17514        (-[NSWindow window]):
17515        (-[WebInspector treeViewScrollTo:]):
17516        (-[WebInspector _updateSystemColors]):
17517        (-[WebInspector webView:plugInViewWithArguments:]):
17518        (-[WebInspector outlineView:objectValueForTableColumn:byItem:]):
17519        * WebInspector/WebInspectorOutlineView.m:
17520        (-[WebInspectorOutlineView _highlightRow:clipRect:]):
17521        * WebInspector/WebNodeHighlight.m:
17522        (-[WebNodeHighlight initWithBounds:andRects:forView:]):
17523        * WebInspector/WebNodeHighlightView.m:
17524        (-[WebNodeHighlightView roundedRect:withRadius:]):
17525        (-[WebNodeHighlightView initWithHighlight:andRects:forView:]):
17526        (-[WebNodeHighlightView drawRect:]):
17527        * WebView/WebFrame.m:
17528        (-[WebFrame _opened]):
17529        * WebView/WebFrameView.m:
17530        (-[WebFrameView initWithFrame:]):
17531        * WebView/WebHTMLView.m:
17532        (-[WebHTMLView _dragImageForLinkElement:]):
17533        (-[WebHTMLView _web_setPrintingModeRecursive]):
17534        (-[WebHTMLView _web_clearPrintingModeRecursive]):
17535        (-[NSArray layout]):
17536        (-[NSArray _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
17537        (-[NSArray adjustPageHeightNew:top:bottom:limit:]):
17538        (-[NSArray _scaleFactorForPrintOperation:]):
17539        (-[NSArray setPageWidthForPrinting:]):
17540        (-[NSArray _endPrintMode]):
17541        (-[NSArray knowsPageRange:]):
17542        (-[NSArray _originalFontA]):
17543        (-[NSArray _originalFontB]):
17544        (-[WebTextCompleteController _buildUI]):
17545        (-[WebTextCompleteController _placePopupWindow:]):
17546        * WebView/WebPDFView.m:
17547        (-[WebPDFView _makeTextStandardSize:]):
17548        (-[WebPDFView selectionImageForcingWhiteText:]):
17549        (-[PDFPrefUpdatingProxy forwardInvocation:]):
17550        * WebView/WebPreferences.m:
17551        (-[WebPreferences _floatValueForKey:]):
17552        * WebView/WebView.m:
17553        (-[WebView makeTextSmaller:]):
17554        (-[WebView canMakeTextStandardSize]):
17555        (-[WebView makeTextStandardSize:]):
17556
175572006-08-04  David Kilzer  <ddkilzer@kilzer.net>
17558
17559        Reviewed by NOBODY (build fix).
17560
17561        * WebCoreSupport/WebSubresourceLoader.m: REALLY moved to Loader/
17562        * WebView/WebFrameLoader.h: REALLY moved to Loader/
17563        * WebView/WebFrameLoader.m: REALLY moved to Loader/
17564        * WebView/WebLoader.h: REALLY moved to Loader/
17565        * WebView/WebLoader.m: REALLY moved to Loader/
17566        * WebView/WebMainResourceLoader.m: REALLY moved to Loader/
17567
175682006-08-03  Maciej Stachowiak  <mjs@apple.com>
17569
17570        Reviewed by Darin.
17571        
17572        - moved all loader code that is slated to be moved down to WebCore to a new Loader directory
17573        
17574        (next step is to remove dependencies on the rest of WebKit from this directory)
17575
17576        * Loader/WebNetscapePlugInStreamLoader.h: Added.
17577        * Loader/WebNetscapePlugInStreamLoader.m: Added. Cut out of WebNetscapePluginStream.m
17578        (-[WebNetscapePlugInStreamLoader initWithStream:view:]):
17579        (-[WebNetscapePlugInStreamLoader isDone]):
17580        (-[WebNetscapePlugInStreamLoader releaseResources]):
17581        (-[WebNetscapePlugInStreamLoader didReceiveResponse:]):
17582        (-[WebNetscapePlugInStreamLoader didReceiveData:lengthReceived:]):
17583        (-[WebNetscapePlugInStreamLoader didFinishLoading]):
17584        (-[WebNetscapePlugInStreamLoader didFailWithError:]):
17585        (-[WebNetscapePlugInStreamLoader cancelWithError:]):
17586        * Plugins/WebNetscapePluginStream.m:
17587        * WebKit.xcodeproj/project.pbxproj:
17588        * WebCoreSupport/WebSubresourceLoader.h: Moved to Loader/
17589        * WebCoreSupport/WebSubresourceLoader.m: Moved to Loader/
17590        * WebView/WebFrameLoader.h: Moved to Loader/
17591        * WebView/WebFrameLoader.m: Moved to Loader/
17592        * WebView/WebLoader.h: Moved to Loader/
17593        * WebView/WebLoader.m: Moved to Loader/
17594        * WebView/WebMainResourceLoader.h: Moved to Loader/
17595        * WebView/WebMainResourceLoader.m: Moved to Loader/
17596
175972006-08-03  Tim Omernick  <timo@apple.com>
17598
17599        Reviewed by Kevin Decker.
17600
17601        <rdar://problem/4667460> Windowless OpenGL plug-ins render incorrectly on PowerPC
17602
17603        * Plugins/WebBaseNetscapePluginView.m:
17604        (-[WebBaseNetscapePluginView _aglOffscreenImageForDrawingInRect:]):
17605        Fixed color component swapping so that it works on both x86 and PPC.  See comments.
17606
176072006-08-03  Brady Eidson  <beidson@apple.com>
17608
17609        Reviewed by Tim Hatcher's rubber stamp
17610        Fixed Intel build break caused by weinig's -W change in r15781
17611
17612        * WebView/WebView.m: wrapped cpu-dependent defs with defined() macro
17613
176142006-08-03  Maciej Stachowiak  <mjs@apple.com>
17615
17616        Reviewed by John.
17617
17618        - fixed problem that could cause assertion failures in Safari
17619        
17620        * Plugins/WebBaseNetscapePluginView.m:
17621        (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): Don't
17622        allow a plugin to start new loads once its document is no longer the one actively loading.
17623
176242006-08-03  Maciej Stachowiak  <mjs@apple.com>
17625
17626        Reviewed by John.
17627        
17628        - remove use of WebDataSource from WebLoader and subclasses, just have them talk to the
17629        WebFrameLoader instead. 
17630        
17631        For now this is done by forarding all the calls.
17632
17633        * Misc/WebIconLoader.m:
17634        (-[WebIconLoader didFinishLoading]):
17635        * Plugins/WebNetscapePluginStream.m:
17636        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
17637        (-[WebNetscapePluginStream start]):
17638        (-[WebNetscapePlugInStreamLoader didFinishLoading]):
17639        (-[WebNetscapePlugInStreamLoader didFailWithError:]):
17640        (-[WebNetscapePlugInStreamLoader cancelWithError:]):
17641        * WebCoreSupport/WebFrameBridge.m:
17642        (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
17643        (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
17644        * WebCoreSupport/WebSubresourceLoader.h:
17645        * WebCoreSupport/WebSubresourceLoader.m:
17646        (-[WebSubresourceLoader initWithLoader:frameLoader:]):
17647        (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
17648        (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forFrameLoader:]):
17649        (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forFrameLoader:]):
17650        (-[WebSubresourceLoader receivedError:]):
17651        (-[WebSubresourceLoader signalFinish]):
17652        (-[WebSubresourceLoader didFailWithError:]):
17653        (-[WebSubresourceLoader cancel]):
17654        * WebKit.xcodeproj/project.pbxproj:
17655        * WebView/WebDataSource.m:
17656        (-[WebDataSource _updateLoading]):
17657        (-[WebDataSource textEncodingName]):
17658        (-[WebDataSource _mainReceivedBytesSoFar:complete:]):
17659        * WebView/WebFrameLoader.h:
17660        * WebView/WebFrameLoader.m:
17661        (-[WebFrameLoader loadIconWithRequest:]):
17662        (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
17663        (-[WebFrameLoader clearIconLoader]):
17664        (-[WebFrameLoader commitProvisionalLoad]):
17665        (-[WebFrameLoader activeDataSource]):
17666        (-[WebFrameLoader _archivedSubresourceForURL:]):
17667        (-[WebFrameLoader _defersCallbacks]):
17668        (-[WebFrameLoader _identifierForInitialRequest:]):
17669        (-[WebFrameLoader _willSendRequest:forResource:redirectResponse:]):
17670        (-[WebFrameLoader _didReceiveAuthenticationChallenge:forResource:]):
17671        (-[WebFrameLoader _didCancelAuthenticationChallenge:forResource:]):
17672        (-[WebFrameLoader _didReceiveResponse:forResource:]):
17673        (-[WebFrameLoader _didReceiveData:contentLength:forResource:]):
17674        (-[WebFrameLoader _didFinishLoadingForResource:]):
17675        (-[WebFrameLoader _didFailLoadingWithError:forResource:]):
17676        (-[WebFrameLoader _privateBrowsingEnabled]):
17677        (-[WebFrameLoader _addPlugInStreamLoader:]):
17678        (-[WebFrameLoader _removePlugInStreamLoader:]):
17679        (-[WebFrameLoader _finishedLoadingResource]):
17680        (-[WebFrameLoader _receivedError:]):
17681        (-[WebFrameLoader _addSubresourceLoader:]):
17682        (-[WebFrameLoader _removeSubresourceLoader:]):
17683        (-[WebFrameLoader _originalRequest]):
17684        (-[WebFrameLoader webFrame]):
17685        (-[WebFrameLoader _receivedMainResourceError:complete:]):
17686        (-[WebFrameLoader initialRequest]):
17687        (-[WebFrameLoader _receivedData:]):
17688        (-[WebFrameLoader _setRequest:]):
17689        (-[WebFrameLoader _downloadWithLoadingConnection:request:response:proxy:]):
17690        (-[WebFrameLoader _handleFallbackContent]):
17691        (-[WebFrameLoader _isStopping]):
17692        (-[WebFrameLoader _decidePolicyForMIMEType:decisionListener:]):
17693        (-[WebFrameLoader _setupForReplaceByMIMEType:]):
17694        (-[WebFrameLoader _setResponse:]):
17695        (-[WebFrameLoader _mainReceivedError:complete:]):
17696        (-[WebFrameLoader _finishedLoading]):
17697        (-[WebFrameLoader _mainReceivedBytesSoFar:complete:]):
17698        (-[WebFrameLoader _iconLoaderReceivedPageIcon:]):
17699        (-[WebFrameLoader _URL]):
17700        * WebView/WebLoader.h:
17701        * WebView/WebLoader.m:
17702        (-[NSURLProtocol releaseResources]):
17703        (-[NSURLProtocol loadWithRequest:]):
17704        (-[NSURLProtocol setFrameLoader:]):
17705        (-[NSURLProtocol frameLoader]):
17706        (-[NSURLProtocol willSendRequest:redirectResponse:]):
17707        (-[NSURLProtocol didReceiveAuthenticationChallenge:]):
17708        (-[NSURLProtocol didCancelAuthenticationChallenge:]):
17709        (-[NSURLProtocol didReceiveResponse:]):
17710        (-[NSURLProtocol didReceiveData:lengthReceived:]):
17711        (-[NSURLProtocol signalFinish]):
17712        (-[NSURLProtocol didFailWithError:]):
17713        (-[NSURLProtocol willCacheResponse:]):
17714        (-[NSURLProtocol cancelWithError:]):
17715        * WebView/WebMainResourceLoader.h:
17716        * WebView/WebMainResourceLoader.m:
17717        (-[WebMainResourceLoader initWithFrameLoader:]):
17718        (-[WebMainResourceLoader receivedError:]):
17719        (-[WebMainResourceLoader cancelWithError:]):
17720        (-[WebMainResourceLoader _isPostOrRedirectAfterPost:redirectResponse:]):
17721        (-[WebMainResourceLoader addData:]):
17722        (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
17723        (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
17724        (-[WebMainResourceLoader continueAfterContentPolicy:]):
17725        (-[WebMainResourceLoader checkContentPolicyForResponse:]):
17726        (-[WebMainResourceLoader didReceiveResponse:]):
17727        (-[WebMainResourceLoader didReceiveData:lengthReceived:]):
17728        (-[WebMainResourceLoader didFinishLoading]):
17729        (-[WebMainResourceLoader didFailWithError:]):
17730        (-[WebMainResourceLoader loadWithRequestNow:]):
17731
177322006-08-03  Sam Weinig  <sam.weinig@gmail.com>
17733
17734        Reviewed by Darin.
17735
17736        - patch for http://bugs.webkit.org/show_bug.cgi?id=10176
17737          Make WebCore compile with -Wundef
17738
17739          * Adds -Wundef flag to Xcode project
17740          * Converts #ifs to #ifdef and #ifndefs where needed.
17741
17742        * Carbon/CarbonUtils.m:
17743        * Carbon/CarbonWindowAdapter.m:
17744        * Carbon/HIViewAdapter.m:
17745        (+[NSView bindHIViewToNSView:nsView:]):
17746        * Carbon/HIWebView.m:
17747        (HIWebViewEventHandler):
17748        * Misc/WebFileDatabase.m:
17749        (UniqueFilePathForKey):
17750        * Misc/WebNSWindowExtras.m:
17751        (swizzleInstanceMethod):
17752        * Misc/WebTypesInternal.h:
17753        * Plugins/WebNetscapeDeprecatedFunctions.c:
17754        * Plugins/WebNetscapeDeprecatedFunctions.h:
17755        * Plugins/WebNetscapePluginPackage.h:
17756        * Plugins/WebNetscapePluginPackage.m:
17757        (-[WebNetscapePluginPackage unloadWithoutShutdown]):
17758        (-[WebNetscapePluginPackage load]):
17759        * WebKit.xcodeproj/project.pbxproj:
17760
177612006-08-03  Darin Adler  <darin@apple.com>
17762
17763        Reviewed by Eric Seidel.
17764
17765        - fix storage leak
17766
17767        * WebView/WebFrame.m: (-[WebFramePrivate dealloc]): Release the frame loader.
17768
177692006-08-02  Timothy Hatcher  <timothy@apple.com>
17770
17771        Rubber stamped by Maciej.
17772
17773        Adding back resultsWithXpathQuery, removed by Darin's earlier change.
17774        This function is called from ObjC, but not used from JavaScript.
17775
17776        * WebInspector/webInspector/inspector.js:
17777
177782006-08-02  Timothy Hatcher  <timothy@apple.com>
17779
17780        Reviewed by Darin.
17781
17782        Bug 10200: [Drosera] Deadlock between Drosera and Safari while loading page
17783        http://bugs.webkit.org/show_bug.cgi?id=10200
17784
17785        Prevent reentrancy in our debugger callbacks. This was causing a deadlock in Drosera because
17786        suspendProcessIfPaused was being called during a DO call into Safari.
17787
17788        Preventing reentrancy also prevents scripts that Drosera injects and evaluates from showing
17789        up in rare cases (such as a iframe loading about:blank). I thought this would prevent cases
17790        where you call a function from the console and expect it to break on a breakpoint in them, but
17791        this appears to never have worked even without this change. When that is figured out we can
17792        reconsider a better solution to reentrancy. I have filed that as bug 10214.
17793
17794        I also removed the NSRunLoop runMode:beforeDate: calls since DO handles this for us since
17795        we don't use "onway void" as the return type for the callbacks. Note: using onway void for
17796        the listener callbacks causes bad synchronization issues and obscure crashes.
17797
17798        * DefaultDelegates/WebScriptDebugServer.m:
17799        (-[WebScriptDebugServer webView:didLoadMainResourceForDataSource:]):
17800        (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
17801        (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
17802        (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
17803        (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
17804        (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
17805        (-[WebScriptDebugServer webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
17806        * DefaultDelegates/WebScriptDebugServerPrivate.h:
17807
178082006-08-02  Maciej Stachowiak  <mjs@apple.com>
17809
17810        Reviewed by John.
17811        
17812        - fix assertion failure on layout tests by stopping plugins from loading at a clearly defined time
17813        - add more assertions for safety
17814
17815        * WebView/WebDataSource.m:
17816        (-[WebDataSourcePrivate dealloc]): Removed obsolete comment.
17817        (-[WebDataSource _updateLoading]): Add assertion ensuring this method is only called
17818        at a time when this data source is the one that might be loading for a frame.
17819        (-[WebDataSource _stopLoading]): Stop loading plugins as a FIXME suggests we should.
17820        * WebView/WebFrameLoader.m:
17821        (-[WebFrameLoader isLoadingPlugIns]): New helper method.
17822        (-[WebFrameLoader isLoading]): Consider plugin loads too - otherwise we won't stop them
17823        at stopLoading time.
17824
178252006-08-02  Adam Roben  <aroben@apple.com>
17826
17827        Reviewed by Brady.
17828
17829        - Rename TransferJob to ResourceLoader (this file was forgotten in an
17830        earlier change by Maciej)
17831
17832        * COM/WebView.cpp:
17833
178342006-08-01  Maciej Stachowiak  <mjs@apple.com>
17835
17836        Reviewed by Adele.
17837        
17838        - Change things around so WebFrameLoader tracks the main and provisional data source,
17839        as well as the frame load state, pulling much code out of WebFrame along the way.
17840        
17841        The most significant aspects of this change are:
17842        
17843        - management of WebDataSources and WebFrameState was moved into WebFrameLoader
17844        - there is now just one WebFrameLoader shared between the primary and provisional data source
17845
17846        * WebKit.xcodeproj/project.pbxproj:
17847        * WebView/WebDataSource.m:
17848        (-[WebDataSourcePrivate dealloc]):
17849        (-[WebDataSource _updateLoading]):
17850        (-[WebDataSource _loadIcon]):
17851        (-[WebDataSource _setPrimaryLoadComplete:]):
17852        (-[WebDataSource _stopLoading]):
17853        (-[WebDataSource _startLoading]):
17854        (-[WebDataSource _addSubresourceLoader:]):
17855        (-[WebDataSource _removeSubresourceLoader:]):
17856        (-[WebDataSource _addPlugInStreamLoader:]):
17857        (-[WebDataSource _removePlugInStreamLoader:]):
17858        (-[WebDataSource _defersCallbacksChanged]):
17859        (-[WebDataSource _stopLoadingWithError:]):
17860        (-[WebDataSource _revertToProvisionalState]):
17861        (-[WebDataSource _setupForReplaceByMIMEType:]):
17862        (-[WebDataSource initWithRequest:]):
17863        (-[WebDataSource data]):
17864        (-[WebDataSource isLoading]):
17865        * WebView/WebFrame.m:
17866        (-[WebFramePrivate init]):
17867        (-[WebFramePrivate dealloc]):
17868        (-[WebFrame _closeOldDataSources]):
17869        (-[WebFrame _detachFromParent]):
17870        (-[WebFrame _makeDocumentView]):
17871        (-[WebFrame _receivedMainResourceError:]):
17872        (-[WebFrame _transitionToCommitted:]):
17873        (+[WebFrame _timeOfLastCompletedLoad]):
17874        (-[WebFrame _checkLoadCompleteForThisFrame]):
17875        (-[WebFrame _loadItem:withLoadType:]):
17876        (-[WebFrame _continueAfterWillSubmitForm:]):
17877        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
17878        (-[WebFrame _initWithWebFrameView:webView:bridge:]):
17879        (-[WebFrame _frameLoader]):
17880        (-[WebFrame _provisionalLoadStarted]):
17881        (-[WebFrame _prepareForDataSourceReplacement]):
17882        (-[WebFrame _frameLoadCompleted]):
17883        (-[WebFrame provisionalDataSource]):
17884        (-[WebFrame dataSource]):
17885        (-[WebFrame stopLoading]):
17886        * WebView/WebFrameInternal.h:
17887        * WebView/WebFrameLoader.h:
17888        * WebView/WebFrameLoader.m:
17889        (-[WebFrameLoader initWithWebFrame:]):
17890        (-[WebFrameLoader dealloc]):
17891        (-[WebFrameLoader dataSource]):
17892        (-[WebFrameLoader _setDataSource:]):
17893        (-[WebFrameLoader clearDataSource]):
17894        (-[WebFrameLoader provisionalDataSource]):
17895        (-[WebFrameLoader _setProvisionalDataSource:]):
17896        (-[WebFrameLoader _clearProvisionalDataSource]):
17897        (-[WebFrameLoader state]):
17898        (+[WebFrameLoader timeOfLastCompletedLoad]):
17899        (-[WebFrameLoader _setState:]):
17900        (-[WebFrameLoader clearProvisionalLoad]):
17901        (-[WebFrameLoader markLoadComplete]):
17902        (-[WebFrameLoader commitProvisionalLoad]):
17903        (-[WebFrameLoader stopLoading]):
17904        (-[WebFrameLoader startLoading]):
17905        (-[WebFrameLoader startProvisionalLoad:]):
17906        (-[WebFrameLoader setupForReplace]):
17907        * WebView/WebFramePrivate.h:
17908
179092006-08-01  Tim Omernick  <timo@apple.com>
17910
17911        Reviewed by John Sullivan.
17912
17913        <rdar://problem/4480737> Flash crashes after it replaces itself via a document.write()
17914        
17915        I kind of hate to do this, but this is the best way to work around buggy plug-ins like Flash that assume that
17916        NPP_Destroy() cannot be called while the browser is calling one of its other plug-in functions.  The classic
17917        situation is a plug-in that replaces itself via an NPN_Invoke() that executes a document.write().
17918
17919        * Plugins/WebBaseNetscapePluginView.h:
17920        * Plugins/WebBaseNetscapePluginView.m:
17921        (-[WebBaseNetscapePluginView sendEvent:]):
17922        Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
17923        (-[WebBaseNetscapePluginView setWindowIfNecessary]):
17924        ditto
17925        (-[WebBaseNetscapePluginView start]):
17926        It should not be possible to start a plug-in instance while we are calling into it (one of those chicken/egg
17927        problems).  Added a sanity-checking assertion.
17928        (-[WebBaseNetscapePluginView stop]):
17929        If we're already calling a plug-in function, do not call NPP_Destroy().  The plug-in function we are calling
17930        may assume that its instance->pdata, or other memory freed by NPP_Destroy(), is valid and unchanged until said
17931        plugin-function returns.
17932        (-[WebBaseNetscapePluginView pluginScriptableObject]):
17933        Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
17934        (-[WebBaseNetscapePluginView willCallPlugInFunction]):
17935        Increment plug-in function call depth.
17936        (-[WebBaseNetscapePluginView didCallPlugInFunction]):
17937        Decrement plug-in function call depth.  Stop if we're supposed to stop.
17938        (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
17939        Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
17940        (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
17941        ditto
17942        (-[WebBaseNetscapePluginView _printedPluginBitmap]):
17943        ditto
17944
17945        * Plugins/WebBaseNetscapePluginStream.m:
17946        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
17947        Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
17948        (-[WebBaseNetscapePluginStream _destroyStream]):
17949        ditto
17950        (-[WebBaseNetscapePluginStream _deliverData]):
17951        ditto
17952
179532006-08-01  Maciej Stachowiak  <mjs@apple.com>
17954
17955        - fix build after last change
17956
17957        * WebView/WebFrame.m:
17958        (-[WebFrame _checkLoadCompleteForThisFrame]):
17959
179602006-08-01  Maciej Stachowiak  <mjs@apple.com>
17961
17962        Reviewed by Beth.
17963
17964        - revert part of my last fix that broke the Safari bookmarks view
17965        
17966        * WebView/WebFrame.m:
17967        (-[WebFrame _checkLoadCompleteForThisFrame]): still send layout message for non-HTML views
17968
179692006-08-01  Tim Omernick  <timo@apple.com>
17970
17971        Reviewed by Anders.
17972
17973        Fixed an assertion failure I ran into while debugging <rdar://problem/4652683>.
17974
17975        * Plugins/WebNetscapePluginEmbeddedView.m:
17976        (-[WebNetscapePluginEmbeddedView redeliverStream]):
17977        Don't clear the "instance" ivar here.  This code was refactored here from the old WebNetscapePluginRepresentation,
17978        which also had an "instance" ivar.  It is never appropriate to clear a plug-in view's instance.  That is done when
17979        the plug-in is destroyed.
17980
179812006-08-01  Maciej Stachowiak  <mjs@apple.com>
17982
17983        Reviewed by Geoff.
17984        
17985        - some refactoring in preparation for moving more stuff to WebFrameLoader.
17986
17987        * WebView/WebFrame.m:
17988        (-[WebFrame _clearDataSource]): 
17989        (-[WebFrame _detachFromParent]):
17990        (-[WebFrame _commitProvisionalLoad]):
17991        (-[WebFrame _transitionToCommitted:]):
17992        (-[WebFrame _clearProvisionalLoad]):
17993        (-[WebFrame _markLoadComplete]):
17994        (-[WebFrame _checkLoadCompleteForThisFrame]):
17995        (-[WebFrame _startProvisionalLoad:]):
17996        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
17997        (-[WebFrame stopLoading]):
17998
179992006-07-31  Maciej Stachowiak  <mjs@apple.com>
18000
18001        Reviewed by Tim Hatcher.
18002        
18003        - renamed TransferJob to ResourceLoader in WebCore
18004
18005        * COM/WebFrame.cpp:
18006        (WebFrame::loadDataSource):
18007        (WebFrame::receivedRedirect):
18008        (WebFrame::receivedResponse):
18009        (WebFrame::receivedData):
18010        (WebFrame::receivedAllData):
18011        (WebFrame::setStatusText):
18012        * COM/WebFrame.h:
18013
180142006-07-31  Darin Adler  <darin@apple.com>
18015
18016        Reviewed by Maciej.
18017
18018        - omit the margin and padding boxes for display types where they are ignored
18019        - use CSS instead of properties for table spacing and padding as suggested by Tim H.
18020
18021        * WebInspector/webInspector/inspector.css: Added rules for spacing and padding.
18022        Added rules that hide the margin and padding boxes (borders and all but the center cell)
18023        when the hide attribute is present.
18024        * WebInspector/webInspector/inspector.html: Added classes for the rules above.
18025        Removed cellpadding and cellspacing attributes.
18026        * WebInspector/webInspector/inspector.js: Added code to hide/show the margin and
18027        padding boxes based on the display type.
18028
180292006-07-31  Duncan Wilcox  <duncan@mclink.it>
18030
18031        Reviewed by Darin.
18032
18033        Fixes <http://bugs.webkit.org/show_bug.cgi?id=10159>
18034        "REGRESSION: delegate returning no menu elements crashes webkit"
18035
18036        No automated test, because there's no way to programmatically open a context menu,
18037        no manual test because there's no way to customize the context menu delegate.
18038
18039        * WebView/WebView.m:
18040        (-[WebView _menuForElement:defaultItems:]): Make sure the context menu returned
18041        some menu items before accessing the first one.
18042
180432006-07-31  Timothy Hatcher  <timothy@apple.com>
18044
18045        Reviewed by John.
18046
18047        <rdar://problem/4658194> REGRESSION: "Search in Google"
18048        and "Search in Spotlight" fail to work on text selected in a frame
18049
18050        Use selectedFrame to get the frame with the text selection.
18051
18052        * WebView/WebView.m:
18053        (-[WebView _searchWithGoogleFromMenu:]):
18054        (-[WebView _searchWithSpotlightFromMenu:]):
18055
180562006-07-31  Darin Adler  <darin@apple.com>
18057
18058        Reviewed by Tim Hatcher.
18059
18060        - http://bugs.webkit.org/show_bug.cgi?id=10168
18061          add a first cut at a Metrics pane to the inspector
18062
18063        * WebInspector/webInspector/inspector.css: Add styles for the new metrics pane.
18064        * WebInspector/webInspector/inspector.html: Add the new metrics pane, starting with
18065        the table to show the box model.
18066        * WebInspector/webInspector/inspector.js: Add the new metrics pane. Add back some
18067        "title" attributes so we have more tooltips. Removed the optional parameter to
18068        getComputedStyle.
18069
180702006-07-31  Anders Carlsson  <acarlsson@apple.com>
18071
18072        Reviewed by John.
18073
18074        * Plugins/WebPluginDatabase.m:
18075        (-[WebPluginDatabase refresh]):
18076        Create a mutable set instead of a mutable array.
18077
180782006-07-30  Darin Adler  <darin@apple.com>
18079
18080        Reviewed by Tim Hatcher.
18081
18082        * WebInspector/webInspector/inspector.js: Fix bug where a null property value
18083        leads to an empty style pane.
18084
180852006-07-30  Darin Adler  <darin@apple.com>
18086
18087        Reviewed by Tim Hatcher.
18088
18089        - http://bugs.webkit.org/show_bug.cgi?id=10163
18090          some improvements for the inspector
18091
18092        * WebInspector/WebInspector.m:
18093        (+[WebInspector sharedWebInspector:]): Fixed bug that could cause the inspector
18094        to be garbage collected if used in an application with GC enabled.
18095        (-[WebInspector dealloc]): Removed a call to a non-existent close method.
18096        (-[WebInspector window]): Added a custom WebPreferences object and called
18097        setPrivateBrowsingEnabled:YES so the inspector won't appear in the history menu.
18098        Also call setProhibitsMainFrameScrolling:YES to try to get rid of trouble where
18099        the inspector scrolls when dragging.
18100
18101        * WebInspector/webInspector/inspector.css: Added style for the new color swatch,
18102        and JavaScript properties. More of the style should be shared between the panes,
18103        but this should be OK for now.
18104
18105        * WebInspector/webInspector/inspector.html: Added a first cut at a JavaScript
18106        properties pane. Needs work, but better than nothing.
18107
18108        * WebInspector/webInspector/inspector.js: Lots of improvements:
18109        - Omit "typical" property values from computed style display, making it much shorter.
18110        - Use the words "black", "white", and "transparent" when appropriate for color values.
18111        - Refactored the loaded() function to get rid of repetitive scrollbar setup.
18112        - Added a new scrollarea for the JavaScript properties pane.
18113        - Simplified refreshScrollbars() -- we now refresh all scrollbars every time, which does no harm.
18114        - Removed unused resultsWithXpathQuery().
18115        - Use [] instead of "new Array()" and {} instead of "new Object()".
18116        - Removed unused xpathForNode().
18117        - Changed style pane to display the style for a text node's parent instead of saying
18118          it can't display the style for text.
18119        - Fixed regression I caused a while back by checking the length of a computed style
18120          and not trying to display anything if its length is 0. Before this change and the
18121          corresponding change in WebCore, we'd see a complete list of all styles with the
18122          empty string as the value for each one.
18123        - Changed the name of the computedStyle flag on the style rules array to isComputedStyle
18124          to make it easier to understand it's a boolean.
18125        - Fixed an error in the code that does !important scanning where it was trying to
18126          do a special case for computed style, but was checking the computed style flag on
18127          the wrong object.
18128        - Added populateStyleListItem() function to factor out things in common between the
18129          items in the top level list and the expanded tree for shorthand properties.
18130        - Added code to make a color swatch next to the textual representation for any
18131          property that contains a color.
18132        - Implemented a first cut at a simple JavaScript properties pane.
18133
181342006-07-29  Darin Adler  <darin@apple.com>
18135
18136        - Removed tabs from these source files that still had them.
18137          We don't use them; that way source files look fine in editors
18138          that have tabs set to 8 spaces or to 4 spaces.
18139        - Removed allow-tabs Subversion property from the files too.
18140
18141        * DefaultDelegates/WebDefaultPolicyDelegate.m:
18142        * History/WebHistory.m:
18143        * Misc/WebDownload.m:
18144        * Misc/WebIconDatabase.m:
18145        * Misc/WebKitErrors.m:
18146        * Misc/WebKitLogging.m:
18147        * Misc/WebNSDataExtras.m:
18148        * Misc/WebNSFileManagerExtras.m:
18149        * Panels/WebPanelAuthenticationHandler.m:
18150        * Plugins/WebBaseNetscapePluginView.m:
18151        * Plugins/npfunctions.h:
18152        * WebCoreSupport/WebSubresourceLoader.m:
18153        * WebView/WebMainResourceLoader.m:
18154        * WebView/WebView.h:
18155        * WebView/WebView.m:
18156
181572006-07-29  Sam Weinig  <sam.weinig@gmail.com>
18158
18159        Reviewed by Darin.
18160
18161        - patch for http://bugs.webkit.org/show_bug.cgi?id=10080
18162          Adopt pedantic changes from the Unity project to improve 
18163          cross-compiler compatibility
18164
18165          Changes include:
18166          * Adding missing newline to the end of the file.
18167          * Turning on gcc warning for missing newline at the end of a source file
18168            (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
18169
18170        * WebKit.xcodeproj/project.pbxproj:
18171        * WebView/WebResourcePrivate.h:
18172
181732006-07-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
18174
18175        Reviewed by John Sullivan.
18176
18177         - fix http://bugs.webkit.org/show_bug.cgi?id=9984
18178          ASSERTION FAILURE: _private->mouseDownEvent != nil
18179          (WebKit/WebView/WebHTMLView.m:4863 -[WebHTMLView(WebInternal) _delegateDragSourceActionMask])
18180
18181        * WebView/WebHTMLView.m:
18182        (-[WebHTMLView _setMouseDownEvent:]): Moved into the WebHTMLViewFileInternal category and changed
18183        to accept nil.
18184        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
18185        Copy the hit HTMLView's mouse down event to the top HTMLView.
18186        (-[WebHTMLView acceptsFirstMouse:]): Added a call to _setMouseDownEvent:nil before returning.
18187        (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): Added a call to _setMouseDownEvent:nil
18188        before returning.
18189        (-[WebHTMLView mouseUp:]): Added a call to _setMouseDownEvent:nil to clear the event set in
18190        mouseDown: (and used during dragging).
18191        (-[WebHTMLView _delegateDragSourceActionMask]): Copy the hit HTMLView's mouse down event to
18192        the top HTMLView.
18193
181942006-07-28  Timothy Hatcher  <timothy@apple.com>
18195
18196        Reviewed by John.
18197
18198        <rdar://problem/4657473> REGRESSION: Spell check not available from contextual menu in Mail
18199
18200        The context menu code should be checking isContentEditable
18201        on DOMNode not just DOMElement. This is needed because DOMText
18202        will be the node class of any text that is clicked.
18203
18204        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
18205        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
18206
182072006-07-25  Geoffrey Garen  <ggaren@apple.com>
18208
18209        Reviewed by Maciej, inspired by John.
18210        
18211        - Fixed <rdar://problem/4651931> 1% REGRESSION on iBench HTML due to 
18212        repeated requests for non-existent favicon
18213        
18214        An optimization to avoid serializing favicon data for missing icons had stomped an
18215        optimization to avoid GETing a missing favicon more than once. The solution
18216        is a happy marriage of optimizations, ensuring that we *retain* the missing
18217        favicon's "i am missing" data without posting a notification or saving it to disk.
18218
18219        * Misc/WebIconDatabase.m:
18220        (-[WebIconDatabase _setIconURL:forURL:]):
18221
182222006-07-25  David Harrison  <harrison@apple.com>
18223
18224        Reviewed by timo and Darin.
18225
18226        <rdar://problem/4618584> "Paste and Match Style" is not working in Mail (add SPI)
18227        
18228        * WebKit.xcodeproj/project.pbxproj:
18229        * WebView/WebView.m:
18230        (-[WebView replaceSelectionWithNode:]):
18231        (-[WebView _replaceSelectionWithNode:matchStyle:]):
18232        * WebView/WebViewPrivate.h:
18233        (-[WebView _replaceSelectionWithNode:matchStyle::]):
18234        New SPI that is same as replaceSelectionWithNode: with added parameter whether to match existing style.
18235
182362006-07-24  Darin Adler  <darin@apple.com>
18237
18238        Reviewed by Adele and Justin.
18239
18240        - update for change to require context when creating fragments from text
18241          (needed to handle whitespace properly)
18242
18243        * WebView/WebHTMLView.m:
18244        (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
18245        Added context parameter, pass through to bridge.
18246        (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Pass selection range as context
18247        when calling above method.
18248        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Pass drag caret as context when
18249        calling above method.
18250
182512006-07-24  Maciej Stachowiak  <mjs@apple.com>
18252
18253        Reviewed by Geoff.
18254        
18255        - fix <rdar://problem/4609195> Help Viewer loads empty window (not getting didFailLoadingWithError: callback)
18256        (without re-introducing http://bugs.webkit.org/show_bug.cgi?id=10062 )
18257
18258        * WebView/WebLoader.h:
18259        * WebView/WebMainResourceLoader.m:
18260        (-[WebMainResourceLoader receivedError:]): Copy in some code from the base class to do it in the proper
18261        order, surrounding the call to [ds _receivedMainResourceError:error complete:YES].
18262
182632006-07-24  Anders Carlsson  <acarlsson@apple.com>
18264
18265        Reviewed by Tim O.
18266
18267        * Misc/WebIconDatabase.m:
18268        (-[WebIconDatabase removeAllIcons]):
18269        Make an array of the keys and iterate through it to avoid modifying the
18270        dictionary while enumerating it.
18271
182722006-07-24  Timothy Hatcher  <timothy@apple.com>
18273
18274        Reviewed by John and Darin.
18275
18276        <rdar://problem/4634290> Cannot selectively install a custom
18277        scroller that differs from the default Aqua frame size.
18278
18279        Adds two new private methods to WebFrameView that allows
18280        an application to set a custom scroll view class. This is needed
18281        if the application wants to install a custom scroller that is wider
18282        than the typical scroller, because NSScrollView does the content
18283        rect calculations in a class method (ignoring custom scrollers.)
18284        The _setScrollViewClass method requires the class to be a subclass
18285        of WebDynamicScrollBarView, or nil can be passed to reset to the default class.
18286        A new scroll view of the specified class will then replace the previous
18287        one without the need to reload content of the frame.
18288
18289        * WebView/WebFrameView.m:
18290        (-[WebFrameView _customScrollViewClass]):
18291        (-[WebFrameView _setCustomScrollViewClass:]):
18292        * WebView/WebFrameViewPrivate.h:
18293
182942006-07-24  Alexey Proskuryakov  <ap@nypop.com>
18295
18296        Reviewed by Darin.
18297
18298        Fix http://bugs.webkit.org/show_bug.cgi?id=10009
18299        REGRESSION: Schubert-IT PDF Plug-in not working for full page (works in frames)
18300
18301        * WebView/WebView.m:
18302        (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): If we've got a type supported by WebPDFView,
18303        make sure to initialize the plugin database, in case a plugin wants to handle it.
18304
183052006-07-23  Mark Rowe  <opendarwin.org@bdash.net.nz>
18306
18307        Reviewed by Maciej.
18308
18309        Bug 9686: [Drosera] Need the ability to break into Drosera on Javascript exceptions
18310        http://bugs.webkit.org/show_bug.cgi?id=9686
18311
18312        WebKit portion of the fix.
18313
18314        * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
18315        (-[WebDefaultScriptDebugDelegate webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
18316        * DefaultDelegates/WebScriptDebugServer.h:
18317        * DefaultDelegates/WebScriptDebugServer.m:
18318        (-[WebScriptDebugServer webView:exceptionWasRaised:sourceId:line:forWebFrame:]): Notify
18319        listeners that an exception has been raised.
18320        * WebView/WebScriptDebugDelegate.h:
18321        * WebView/WebScriptDebugDelegate.m:
18322        (-[WebScriptCallFrame exceptionRaised:sourceId:line:]): Dispatch through to delegate and
18323        WebScriptDebugServer.
18324
183252006-07-23  Adele Peterson  <adele@apple.com>
18326
18327        Reviewed by Darin.
18328
18329        - Fix for <rdar://problem/4646276> CrashTracer: 7 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::paint + 155
18330
18331        * WebView/WebHTMLView.m: (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
18332        needsDisplay was returning NO even though the view has a dirty rect (see <rdar://problem/4647062>).  Since we know about
18333        the dirty rect, we don't actually need to check needsDisplay.
18334
183352006-07-22  Timothy Hatcher  <timothy@apple.com>
18336
18337        Rolling out r15572.
18338        
18339        Bug 10062: REGRESSION: dom/xhtml/level2/html/HTMLIFrameElement11.xhtml asserts/crashes
18340        http://bugs.webkit.org/show_bug.cgi?id=10062
18341
18342    2006-07-21  Timothy Hatcher  <timothy@apple.com>
18343
18344        Reviewed by Maciej.
18345
18346        <rdar://problem/4609195> Help Viewer loads empty window
18347        (not getting didFailLoadingWithError: callback)
18348
18349        Call super's didFailWithError before _receivedMainResourceError
18350        because _receivedMainResourceError will cause the datasource's
18351        frame to be set to nil before the didFailLoadingWithError delegate
18352        callback is sent. (This order is needed now that WebDataSource does
18353        not hold on to the WebView; it uses the WebFrame to get to the WebView.
18354        If the WebFrame is nil we can't get to the WebView's resource load delegate.)
18355
18356        * WebView/WebMainResourceLoader.m:
18357        (-[WebMainResourceLoader receivedError:]):
18358
18359
183602006-07-22  Timothy Hatcher  <timothy@apple.com>
18361
18362        Reviewed by Adele.
18363
18364        <rdar://problem/4646318> REGRESSION: Ctrl-clicking on a selection containing a word doesn't display a complete contextual menu
18365        
18366        Show the editing context menu if the WebView is editible.
18367        The original change only checked if the DOM element was editable,
18368        and isContentEditable returns NO if entire WebView is editable.
18369
18370        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
18371        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
18372
183732006-07-21  Timothy Hatcher  <timothy@apple.com>
18374
18375        Reviewed by Maciej.
18376
18377        <rdar://problem/4609195> Help Viewer loads empty window
18378        (not getting didFailLoadingWithError: callback)
18379
18380        Call super's didFailWithError before _receivedMainResourceError
18381        because _receivedMainResourceError will cause the datasource's
18382        frame to be set to nil before the didFailLoadingWithError delegate
18383        callback is sent. (This order is needed now that WebDataSource does
18384        not hold on to the WebView; it uses the WebFrame to get to the WebView.
18385        If the WebFrame is nil we can't get to the WebView's resource load delegate.)
18386
18387        * WebView/WebMainResourceLoader.m:
18388        (-[WebMainResourceLoader receivedError:]):
18389
18390=== Safari-521.20 ===
18391
183922006-07-21  Timothy Hatcher  <timothy@apple.com>
18393
18394        Reviewed by John.
18395
18396        <rdar://problem/4607572> REGRESSION (521.10.1 - 521.13): most context menu items missing when a form field is focused (common on google.com) (9680)
18397
18398        Do not use _isEditable call since that only checks if the current
18399        selection or frame is editible. We now check if the currently clicked element
18400        is a content editible area, a textarea, an isindex or an input element that
18401        return YES to _isTextField.
18402
18403        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
18404        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
18405
184062006-07-20  John Sullivan  <sullivan@apple.com>
18407
18408        Reviewed by Maciej
18409
18410        - WebKit part of fix for:
18411        <rdar://problem/4557386> REGRESSION (419.3-521.19): repro Safari world leak involving 
18412        closing tabs after clicking in a web page
18413
18414        * WebCoreSupport/WebFrameBridge.m:
18415        (-[WebFrameBridge textViewWasFirstResponderAtMouseDownTime:]):
18416        renamed to be more specific (formerly wasFirstResponderAtMouseDownTime:)        
18417        
18418        * WebView/WebHTMLViewInternal.h:
18419        * WebView/WebHTMLView.m:
18420        (-[WebTextCompleteController dealloc]):
18421        updated for name change
18422        (-[NSArray _setMouseDownEvent:]):
18423        Now only retains the first responder if it's a textView, since that's the only case that the only client
18424        actually cares about. This avoids a reference cycle caused by retaining self. This is the only substantive
18425        part of the patch; all the rest is just renaming for clarity, and comments.
18426        (-[NSArray mouseDown:]):
18427        updated for name change
18428        (-[WebHTMLView _textViewWasFirstResponderAtMouseDownTime:]):
18429        renamed to be more specific (formerly _wasFirstResponderAtMouseDownTime:)        
18430
184312006-07-19  Tim Omernick  <timo@apple.com>
18432
18433        Reviewed by Darin.
18434
18435        <rdar://problem/4523432> safari crashed right after disabling "block pop up windows" (or other WebPreferences changes)
18436
18437        * Plugins/WebBaseNetscapePluginView.m:
18438        (-[WebBaseNetscapePluginView viewWillMoveToSuperview:]):
18439        Stop the plug-in when it is removed from its superview.  It is not sufficient to do this in -viewWillMoveToWindow:nil, because
18440        the WebView might still has a hostWindow at that point, which prevents the plug-in from being destroyed.
18441        There is no need to start the plug-in when moving into a superview.  -viewDidMoveToWindow takes care of that.
18442
18443=== Safari-521.19 ===
18444
184452006-07-17  Tim Omernick  <timo@apple.com>
18446
18447        Reviewed by Maciej.
18448
18449        <rdar://problem/4612079> need a way to prevent pages from scrolling to reveal elements that are focused
18450        by script
18451
18452        * WebView/WebViewPrivate.h:
18453        * WebView/WebView.m:
18454        (-[WebView setProhibitsMainFrameScrolling:]):
18455        New method.  Prohibits scrolling in the WebView's main frame.  Used to "lock" a WebView to a specific
18456        scroll position.
18457
184582006-07-17  Timothy Hatcher  <timothy@apple.com>
18459
18460        Reviewed by Darin.
18461        
18462        <rdar://problem/4635311> REGRESSION: WebKit should call windowScriptObjectAvailable before attaching the script debugger
18463
18464        * WebCoreSupport/WebFrameBridge.m:
18465        (-[WebFrameBridge windowObjectCleared]):
18466
184672006-07-17  Timothy Hatcher  <timothy@apple.com>
18468
18469        Reviewed by Maciej.
18470
18471        <rdar://problem/4634874> WebScriptObject and WebUndefined are no longer defined by WebKit
18472
18473        Copy WebScriptObject.h from WebCore's private headers, not JavaScriptCore.
18474
18475        * WebKit.xcodeproj/project.pbxproj:
18476
184772006-07-17  John Sullivan  <sullivan@apple.com>
18478
18479        Reviewed by Tim Omernick.
18480        
18481        - fixed <rdar://problem/4604366> Orange Find highlight displays text in wrong size on PDF pages 
18482        if they're not at "actual size"
18483        
18484        To match WebHTMLView, I made the methods that return attributed strings take the view's scale
18485        factor into account.
18486
18487        * WebView/WebPDFView.m:
18488        (-[WebPDFView _scaledAttributedString:]):
18489        new helper method, takes an attributed string and returns one that's scaled by the view's
18490        current scale factor
18491        (-[WebPDFView attributedString]):
18492        pass result through _scaledAttributedString:
18493        (-[WebPDFView selectedAttributedString]):
18494        ditto
18495
184962006-07-17  Justin Garcia  <justin.garcia@apple.com>
18497
18498        Reviewed by levi
18499        
18500        Rolled the first fix for:
18501        <http://bugs.webkit.org/show_bug.cgi?id=9642>
18502        GMail Editor: Operations that use drop down menus blow away the selection
18503        back in and removed the call to _clearSelectionInOtherFrames from 
18504        -[WebHTMLView becomeFirstResponder] to fix the bug.
18505
18506        * WebView/WebHTMLView.m:
18507        (-[NSArray maintainsInactiveSelection]):
18508        (-[NSArray becomeFirstResponder]):
18509        * WebView/WebView.m:
18510        (-[WebView maintainsInactiveSelection]):
18511
185122006-07-15  Darin Adler  <darin@apple.com>
18513
18514        Reviewed by John Sullivan.
18515
18516        - fix http://bugs.webkit.org/show_bug.cgi?id=9928
18517          REGRESSION: Text Encoding menu inoperative (after gcc protocol build fix)
18518
18519        * WebView/WebHTMLView.m:
18520        (-[WebHTMLView _documentRange]): Moved into WebHTMLViewFileInternal category.
18521        (-[WebHTMLView selectionRect]): Moved into WebDocumentPrivateProtocols category.
18522        (-[WebHTMLView selectionView]): Ditto.
18523        (-[WebHTMLView selectionImageForcingWhiteText:]): Ditto.
18524        (-[WebHTMLView selectionImageRect]): Ditto.
18525        (-[WebHTMLView pasteboardTypesForSelection]): Ditto.
18526        (-[WebHTMLView selectAll]): Ditto.
18527        (-[WebHTMLView deselectAll]): Ditto.
18528        (-[WebHTMLView string]): Ditto.
18529        (-[WebHTMLView _attributeStringFromDOMRange:]): Ditto.
18530        (-[WebHTMLView attributedString]): Ditto.
18531        (-[WebHTMLView selectedString]): Ditto.
18532        (-[WebHTMLView selectedAttributedString]): Ditto.
18533        (-[WebHTMLView supportsTextEncoding]): Ditto.
18534        (-[WebHTMLView _canProcessDragWithDraggingInfo:]): Moved into WebDocumentInternalProtocols.
18535        (-[WebHTMLView _isMoveDrag]): Ditto.
18536        (-[WebHTMLView _isNSColorDrag:]): Ditto.
18537        (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Ditto.
18538        (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
18539        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Ditto.
18540        (-[WebHTMLView elementAtPoint:]): Ditto.
18541        (-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto.
18542
18543        * WebKit.xcodeproj/project.pbxproj: Let Xcode 2.3 do its thing.
18544
18545=== Safari-521.17 ===
18546
185472006-07-14  Timothy Hatcher  <timothy@apple.com>
18548
18549        Rolling out this fix from r15358 since it isn't resolved.
18550
18551    2006-07-11  Justin Garcia  <justin.garcia@apple.com>
18552
18553        Reviewed by levi & thatcher
18554
18555        <http://bugs.webkit.org/show_bug.cgi?id=9642>
18556        GMail Editor: Operations that use drop down menus blow away the selection
18557
18558        * WebView/WebHTMLView.m:
18559        (-[WebHTMLView maintainsInactiveSelection]): Maintain an inactive selection
18560        when resigning as first responder if the selection is editable
18561        or if the WebView tells us to.
18562        * WebView/WebView.m:
18563        (-[WebView maintainsInactiveSelection]): Just because a WebView is
18564        editable doesn't mean selections inside subframes will be.  Return
18565        NO by default.
18566
185672006-07-14  Timothy Hatcher  <timothy@apple.com>
18568
18569        <rdar://problem/4623957> SWB: gcc-5412 (new?) objc warning causes WebCore project failure
18570
18571        Build fix with the new GCC. Removes forward declarations of protocols.
18572
18573        * Misc/WebSearchableTextView.h:
18574        * WebCoreSupport/WebSubresourceLoader.h:
18575        * WebKit.xcodeproj/project.pbxproj:
18576        * WebView/WebDocumentInternal.h:
18577        * WebView/WebDocumentPrivate.h:
18578        * WebView/WebHTMLView.h:
18579        * WebView/WebPDFView.h:
18580        * WebView/WebScriptDebugDelegatePrivate.h:
18581
185822006-06-28  Darin Adler  <darin@apple.com>
18583
18584        Reviewed by Adele.
18585
18586        - fix http://bugs.webkit.org/show_bug.cgi?id=9625
18587          <rdar://problem/4604703>
18588          REGRESSION: Focus not removed from password field after ctrl-click in text field
18589
18590        * WebView/WebHTMLView.m: (-[WebHTMLView menuForEvent:]): Set handlingMouseDownEvent to
18591        YES while calling sendContextMenuEvent: on the bridge.
18592
185932006-07-14  Timothy Hatcher  <timothy@apple.com>
18594
18595        Reviewed by Maciej.
18596
18597        Moved JavaScriptCore to be a public framework.
18598
18599        * WebKit.xcodeproj/project.pbxproj:
18600
186012006-07-13  Mitz Pettel  <opendarwin.org@mitzpettel.com>
18602
18603        Reviewed by Darin.
18604
18605        - fix http://bugs.webkit.org/show_bug.cgi?id=9795
18606          REGRESSION: Crash in [WebHTMLView(WebPrivate) 
18607          _updateMouseoverWithEvent:]
18608          and http://bugs.webkit.org/show_bug.cgi?id=9850
18609          REGRESSION: Assertion failure (SHOULD NEVER BE REACHED) in -
18610          [WebHTMLView(WebPrivate) removeTrackingRect:]
18611
18612        * WebView/WebHTMLView.m:
18613        (-[WebHTMLView _updateMouseoverWithEvent:]): Return immediately if 
18614        the view has already been closed.
18615
186162006-07-13  David Harrison  <harrison@apple.com>
18617
18618        Reviewed by Justin and Levi.
18619
18620        <rdar://problem/4620743> REGRESSION: Option-Delete doesn't delete words during typing
18621
18622        * Tests:
18623        editing/deleting/delete-by-word-001.html
18624        editing/deleting/delete-by-word-002.html
18625
18626        * WebView/WebHTMLView.m:
18627        (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
18628
186292006-07-13  Timothy Hatcher  <timothy@apple.com>
18630
18631        Rolling out this earlier change (r15378) now that it is fixed on AGL's end.
18632        Fixes <rdar://problem/4624865> Restore 64-bit OpenGL plug-in support once AGL is 64-bit
18633
18634        <rdar://problem/4624858> AGL isn't 64-bit yet; temporarily remove it from WebKit 64-bit build
18635
18636        * Plugins/WebBaseNetscapePluginView.h:
18637        * Plugins/WebBaseNetscapePluginView.m:
18638
186392006-07-13  Timothy Hatcher  <timothy@apple.com>
18640
18641        Reviewed by Darin.
18642
18643        <rdar://problem/4616920> REGRESSION: tabbing in mail moves focus
18644        to next control instead of inserting a tab space.
18645
18646        Change editible WebView's tabKeyCyclesThroughElements to NO only
18647        if the setTabKeyCyclesThroughElements SPI wasn't called.
18648
18649        * WebView/WebView.m:
18650        (-[WebView setEditable:]):
18651
186522006-07-12  Anders Carlsson  <acarlsson@apple.com>
18653
18654        Reviewed by Darin.
18655
18656        http://bugs.webkit.org/show_bug.cgi?id=9624
18657        REGRESSION: After ctrl-clicking in a EMPTY input or textarea field, the contextual menu shows "Search in Google" and "Search in Spotlight" as active menu items
18658
18659        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
18660        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
18661        Don't create Dictionary, Spotlight or Google lookup items if there's no selection.
18662
186632006-07-12  Mark Rowe  <opendarwin.org@bdash.net.nz>
18664
18665        Reviewed by Timothy.
18666
18667        http://bugs.webkit.org/show_bug.cgi?id=9868
18668        Applications shown in Drosera's "Attach" window remain after exit
18669
18670        * DefaultDelegates/WebScriptDebugServer.m:
18671        (-[WebScriptDebugServer init]): Register for NSApplicationWillTerminateNotification so we will
18672        know when the application is being exited.
18673        (-[WebScriptDebugServer dealloc]): Unregister notification before we are deallocated.
18674        (-[WebScriptDebugServer applicationTerminating:]): Inform anyone listening that we are going away.
18675
186762006-07-12  Tim Omernick  <timo@apple.com>
18677
18678        Reviewed by Tim Hatcher.
18679
18680        <rdar://problem/4624858> AGL isn't 64-bit yet; temporarily remove it from WebKit 64-bit build
18681
18682        Also, fixed a LOG_ERROR() so that it uses the CGL error instead of the AGL error; Tim H missed this in his build fix
18683        from earlier.
18684
18685        * Plugins/WebBaseNetscapePluginView.h:
18686        * Plugins/WebBaseNetscapePluginView.m:
18687
186882006-07-11  John Sullivan  <sullivan@apple.com>
18689
18690        Reviewed by Kevin and Tim O
18691
18692        - added support for creating a selection image with white text
18693
18694        * WebView/WebDocumentPrivate.h:
18695        added -selectionImageForcingWhiteText: and -selectionImageRect to the private
18696        <WebDocumentSelection> protocol
18697
18698        * Misc/WebSearchableTextView.m:
18699        (-[NSString selectionImageForcingWhiteText:]):
18700        added stub for this new method to this obsolete class to satisfy the compiler
18701        (-[NSString selectionImageRect]):
18702        ditto
18703        
18704        * WebView/WebHTMLView.m:
18705        (-[WebHTMLView _selectionDraggingImage]):
18706        now calls -selectionImageForcingWhiteText:NO instead of just -selectionImage
18707        (-[WebHTMLView _selectionDraggingRect]):
18708        now calls selectionImageRect, to which the implementation moved
18709        (-[WebHTMLView selectionImageForcingWhiteText:]):
18710        implemented this new method by calling through to new bridge method selectionImageForcingWhiteText:
18711        (-[WebHTMLView selectionImageRect]):
18712        implemented this new method by using existing _selectionDraggingRect implementation
18713        
18714        * WebView/WebPDFView.m:
18715        (-[WebPDFView selectionImageForcingWhiteText:]):
18716        implemented by using code that was formerly in Safari
18717        (-[WebPDFView selectionImageRect]):
18718        implemented by returning selectionRect
18719
187202006-07-11  Tim Omernick  <timo@apple.com>
18721
18722        Reviewed by Geoff.
18723
18724        <http://bugs.webkit.org/show_bug.cgi?id=9843>:
18725        Give Netscape plug-ins access to their own DOM element
18726
18727        * Plugins/WebBaseNetscapePluginView.h:
18728        * Plugins/WebBaseNetscapePluginView.m:
18729        (-[WebBaseNetscapePluginView dealloc]):
18730        Release DOM element.
18731        (-[WebBaseNetscapePluginView getVariable:value:]):
18732        Return NPObject for plugin DOM element.
18733
18734        * Plugins/WebNetscapePluginEmbeddedView.h:
18735        * Plugins/WebNetscapePluginEmbeddedView.m:
18736        (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
18737        Now takes a DOMElement, in much the same way that WebKit plug-in views take a DOMElement.
18738
18739        * WebCoreSupport/WebFrameBridge.m:
18740        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
18741        Pass DOMElement to Netscape plug-ins.
18742        (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
18743        ditto
18744
187452006-07-11  Justin Garcia  <justin.garcia@apple.com>
18746
18747        Reviewed by levi & thatcher
18748        
18749        <http://bugs.webkit.org/show_bug.cgi?id=9642>
18750        GMail Editor: Operations that use drop down menus blow away the selection
18751        
18752        * WebView/WebHTMLView.m:
18753        (-[WebHTMLView maintainsInactiveSelection]): Maintain an inactive selection
18754        when resigning as first responder if the selection is editable
18755        or if the WebView tells us to.
18756        * WebView/WebView.m:
18757        (-[WebView maintainsInactiveSelection]): Just because a WebView is
18758        editable doesn't mean selections inside subframes will be.  Return
18759        NO by default.
18760
187612006-07-11  Tim Omernick  <timo@apple.com>
18762
18763        Reviewed by Tim Hatcher.
18764
18765        <rdar://problem/4622748> WebKit now uses deprecated AGL functions
18766
18767        * Plugins/WebBaseNetscapePluginView.m:
18768        (-[WebBaseNetscapePluginView _createWindowedAGLContext]):
18769        aglSetDrawable() is deprecated in AGL 3.0.  Use aglSetWindowRef() instead.
18770        (-[WebBaseNetscapePluginView _createWindowlessAGLContext]):
18771        aglSetOffScreen() is deprecated in AGL 3.0.  Use CGLSetOffScreen(), which does the same thing.
18772
187732006-07-11  Alexey Proskuryakov  <ap@nypop.com>
18774
18775        Reviewed by Tim O.
18776
18777        - http://bugs.webkit.org/show_bug.cgi?id=7808
18778        Assertion failure in -[WebBaseNetscapePluginStream dealloc] when requesting an invalid URL
18779
18780        * Plugins/WebNetscapePluginStream.m:
18781        (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
18782        Remove the early return when requesting an invalid (unsupported) URL.
18783
18784=== Safari-521.16 ===
18785
187862006-07-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
18787
18788        Reviewed by John Sullivan.
18789
18790        - fix <rdar://problem/4621541>, aka <http://bugs.webkit.org/show_bug.cgi?id=9838>
18791          REGRESSION (r14968-r14977): View Source doesn't work for pages from the back/forward cache
18792
18793        * WebView/WebDataSource.m:
18794        (-[WebDataSource _setPrimaryLoadComplete:]): Set our data only if the frame loader is
18795        has just loaded it (when coming from the back/forward cache, it hasn't).
18796
187972006-07-10  Brady Eidson  <beidson@apple.com>
18798
18799        Reviewed by Alexey
18800
18801        Resolved the console error messages people got from the new DB even if they didn't have it enabled
18802
18803        * Misc/WebIconDatabase.m:
18804        (-[WebIconDatabase init]):
18805        Disabled initializing the IconDatabaseBridge if user is living on the old DB
18806
188072006-07-10  Darin Adler  <darin@apple.com>
18808
18809        - try to fix Windows build
18810
18811        * COM/WebFrame.h: Qualify DeprecatedString and KURL with WebCore:: prefixes.
18812
188132006-07-09  Darin Adler  <darin@apple.com>
18814
18815        - try to fix Windows build
18816
18817        * COM/WebFrame.cpp: Rename QChar to DeprecatedChar.
18818
188192006-07-09  Darin Adler  <darin@apple.com>
18820
18821        - fix newlines to be consistent for all files in the COM directory
18822          (many had mixed style) and set the EOL style to "native" on them.
18823
18824        * COM/*: Set properties and changed files.
18825
188262006-07-09  Tim Omernick  <timo@apple.com>
18827
18828        Reviewed by Maciej.
18829
18830        <rdar://problem/4404652> Netscape plug-in mouse events broken in HiDPI
18831
18832        Multiply global mouse coordinates by the window scale factor so that plug-ins can use GlobalToLocal() in HiDPI.
18833        This fixes many bugs involving plug-in mouse event handling in HiDPI.  Most notably, the Flash player will now
18834        correctly respond to clicks.
18835
18836        * Plugins/WebBaseNetscapePluginView.m:
18837        (+[WebBaseNetscapePluginView getCarbonEvent:]):
18838        (-[WebBaseNetscapePluginView getCarbonEvent:withEvent:]):
18839
188402006-07-09  Darin Adler  <darin@apple.com>
18841
18842        Reviewed by Tim Hatcher.
18843
18844        - fix assertion firing in plug-in layout tests
18845
18846        * Plugins/WebBaseNetscapePluginView.m:
18847        (-[WebBaseNetscapePluginView restartNullEvents]):
18848        Don't start null events if the plug-in is not in the
18849        started state. This happens when the plug-in moves within
18850        its view hierarchy after it has been stopped.
18851
188522006-07-09  Timothy Hatcher  <timothy@apple.com>
18853
18854        Reviewed by Darin.
18855
18856        Bug 9820: Move new DOM API that has been through API review to public headers
18857        http://bugs.webkit.org/show_bug.cgi?id=9820
18858
18859        * Misc/WebElementDictionary.m: include DOMExtensions.h
18860        * Misc/WebNSViewExtras.m: include DOMExtensions.h
18861        * WebKit.xcodeproj/project.pbxproj: make DOMXPath.h public
18862
188632006-07-09  Timothy Hatcher  <timothy@apple.com>
18864
18865        Reviewed by Kevin.
18866
18867        Bug 9818: move new UIDelegate API that has been through API review to public headers
18868        http://bugs.webkit.org/show_bug.cgi?id=9818
18869
18870        <rdar://problem/4387541> API: Remove webView:setContentRect: & webViewContentRect: delegate methods?
18871        The fix for 4310363 removed the only use of webViewContentRect: in our code. webView:setContentRect:
18872        was never used to begin with. There's no harm in leaving these around in the API, but they'll cruft it up.
18873
18874        Also removes the never used webViewPrint: SPI that was replaced by webView:printFrameView:.
18875
18876        * DefaultDelegates/WebDefaultUIDelegate.m:
18877        * WebCoreSupport/WebFrameBridge.m:
18878        (-[WebFrameBridge print]):
18879        * WebView/WebFrameView.h:
18880        * WebView/WebFrameView.m:
18881        * WebView/WebFrameViewPrivate.h:
18882        * WebView/WebUIDelegate.h:
18883        * WebView/WebUIDelegatePrivate.h:
18884
188852006-07-09  Timothy Hatcher  <timothy@apple.com>
18886
18887        Reviewed by Darin.
18888
18889        Bug 9814: Move new WebView API that has been through API review to public headers
18890        http://bugs.webkit.org/show_bug.cgi?id=9814
18891
18892        * WebView/WebView.h:
18893        * WebView/WebView.m:
18894        (-[WebView close]):
18895        (-[WebView setShouldCloseWithWindow:]):
18896        (-[WebView shouldCloseWithWindow]):
18897        (-[WebView selectedFrame]):
18898        (-[WebView setMainFrameURL:]):
18899        (-[WebView mainFrameURL]):
18900        (-[WebView isLoading]):
18901        (-[WebView mainFrameTitle]):
18902        (-[WebView mainFrameIcon]):
18903        (-[WebView mainFrameDocument]):
18904        (-[WebView setDrawsBackground:]):
18905        (-[WebView drawsBackground]):
18906        (-[WebView toggleSmartInsertDelete:]):
18907        (-[WebView toggleContinuousSpellChecking:]):
18908        (-[WebView canMakeTextStandardSize]):
18909        (-[WebView makeTextStandardSize:]):
18910        (-[WebView maintainsInactiveSelection]):
18911        * WebView/WebViewPrivate.h:
18912
189132006-07-09  Timothy Hatcher  <timothy@apple.com>
18914
18915        Reviewed by Maciej.
18916
18917        Bug 9487: The XPath section should be removed and/or moved.
18918        http://bugs.webkit.org/show_bug.cgi?id=9487
18919
18920        * WebInspector/webInspector/inspector.css:
18921        * WebInspector/webInspector/inspector.html:
18922        * WebInspector/webInspector/inspector.js:
18923
189242006-07-09  Anders Carlsson  <acarlsson@apple.com>
18925
18926        Reviewed by Tim O.
18927
18928        * WebCoreSupport/WebSystemInterface.m:
18929        (InitWebCoreSystemInterface):
18930        Initialize wkPathFromFont.
18931
189322006-07-09  Darin Adler  <darin@apple.com>
18933
18934        - fix release build
18935
18936        * Plugins/WebBaseNetscapePluginView.m:
18937        (-[WebBaseNetscapePluginView restorePortState:]): Cast inside the assertion so
18938        that we don't have an unused variable in versions with assertions disabled.
18939        The alternative would be to wrap the whole thing in an #if statement.
18940
189412006-07-08  Tim Omernick  <timo@apple.com>
18942
18943        Reviewed by John Sullivan.
18944
18945        * Plugins/WebBaseNetscapePluginView.h:
18946        - Added ivars for OpenGL support.  Someday it would be nice to refactor this class so
18947          that each drawing model is encapsulated in a class; this would allow
18948          WebBaseNetscapePluginView to make more efficient use of space, for example by not
18949          keeping OpenGL-related ivars for Quickdraw plug-ins.
18950        
18951        * Plugins/WebBaseNetscapePluginView.m:
18952        - Declared a bunch of internal methods for OpenGL support (see below).
18953        - Removed "forUpdate" from CoreGraphics port state struct; it was always set to "YES",
18954          so I just cleaned up the silly code that used it.
18955        - Declared OpenGL port state struct.
18956        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
18957        - Moved a CoreGraphics-related assertion down to the big "switch" statement.
18958        - Don't set window.type here -- according to the Netscape Plug-in API docs, the plug-in
18959          should default to "windowed" mode, and may call NPN_SetValue() during its NPN_New() to
18960          request that the browser use a "windowless" (offscreen) context instead.
18961        - Moved the assertion from the top of this method here; removed a less restrictive
18962          assertion that is now obsolete.
18963        - Removed "forUpdate" flag from CoreGraphics port state struct.
18964        - Fill in OpenGL port state struct.  Set up the viewport appropriately for both windowed
18965          and windowless OpenGL plug-ins.  Windowed plug-ins need to have their GL viewport
18966          transformed by the amount the plug-in is clipped; windowless plug-ins are drawn off-screen
18967          into a surface whose geometry is never changed or clipped, so they may always draw with
18968          a viewport origin of (0, 0).
18969        (-[WebBaseNetscapePluginView restorePortState:]):
18970        - Removed "forUpdate" flag from CoreGraphics port state struct.
18971        - Restore the old OpenGL context saved by -saveAndSetNewPortStateForUpdate:.
18972        (-[WebBaseNetscapePluginView sendEvent:]):
18973        - Updated an assertion to also include OpenGL.  To ensure that attached plug-in window movements
18974          happen atomically with web page redisplays, we assert that the plug-in's window is set only while
18975          the plug-in view is redrawing.
18976        - Same deal as with the assertion; only save/set port state when redrawing the plug-in view.  Plug-ins
18977          that use the new drawing models are only allowed to draw when the web page draws.  I might consider
18978          changing this for windowed OpenGL plug-ins, since they always obscure the page content anyway.
18979        (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]):
18980        - Compare new NP_GLContext structs.
18981        (-[WebBaseNetscapePluginView updateAndSetWindow]):
18982        - In OpenGL mode, can only set window when updating plug-in view.
18983        (-[WebBaseNetscapePluginView setWindowIfNecessary]):
18984        - ditto
18985        - Updated logging for OpenGL drawing mode.
18986        (-[WebBaseNetscapePluginView addWindowObservers]):
18987        - No need to observe frame/bounds change notifications for this and all parent views.  See -renewGState
18988          comments below.
18989        (-[WebBaseNetscapePluginView removeWindowObservers]):
18990        - Don't need to remove frame/bounds observers anymore.
18991        (-[WebBaseNetscapePluginView start]):
18992        - Plug-ins are "windowed" by default.  This is not a change from our previous behavior, but this is a
18993          better place to set the default value as it allows the plug-in to override it later.
18994        (-[WebBaseNetscapePluginView stop]):
18995        - Destroy AGL context when the plug-in stops.
18996        (-[WebBaseNetscapePluginView dealloc]):
18997        - Assert that the AGL stuff has been cleaned up.
18998        (-[WebBaseNetscapePluginView drawRect:]):
18999        - If this is a windowless OpenGL plugin, blit its contents back into this view.
19000        (-[WebBaseNetscapePluginView renewGState]):
19001        - This method is called when the view or one of its parents is moved or resized (see comments).
19002        (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
19003        - Hide the AGL window if the plug-in view is about to be removed from its window.
19004        (-[WebBaseNetscapePluginView viewHasMoved:]):
19005        - Renamed and moved to the "Internal" category.
19006        (-[WebBaseNetscapePluginView invalidateRegion:]):
19007        - Style changes.
19008        - Add support for OpenGL (uses the same region type as CoreGraphics).
19009        (-[WebBaseNetscapePluginView getVariable:value:]):
19010        - Style changes.
19011        - Implemented NPNVsupportsOpenGLBool; returns YES since we now support the OpenGL drawing model.
19012        (-[WebBaseNetscapePluginView setVariable:value:]):
19013        - Implemented NPPVpluginWindowBool, which allows plug-ins to specify whether they should be rendered in
19014          "windowed" or "windowless" mode.  This is an older part of the Netscape Plug-in API that was never
19015          implemented in WebKit.  "Windowed" Quickdraw plug-ins do not actually reside in a separate window, and
19016          can already do many of the same things (such as transparency) that only "windowless" plug-ins can do on
19017          other platforms.  However, we need the "windowed" vs. "windowless" distinction for OpenGL plug-ins so
19018          that they have some way of specifying whether they should be rendered on an accelerated overlay surface,
19019          composited into the browser window.
19020        - Support for setting the drawing model to OpenGL.
19021        (-[WebBaseNetscapePluginView _viewHasMoved]):
19022        - Renamed from -viewHasMoved:, and moved down in the file.
19023        - None of this work is necessary when the plug-in is not in a window; the plug-in's state will be properly
19024          restored when it is moved back into a window.
19025        - Reshape OpenGL surface window here.
19026        (-[WebBaseNetscapePluginView _createAGLContextIfNeeded]):
19027        - Creates the AGL context of the appropriate type (windowed/windowless).
19028        (-[WebBaseNetscapePluginView _createWindowedAGLContext]):
19029        - Creates a windowed AGL context, which is an AGL context attached to a child window.  This is the only way
19030          to get true hardware acceleration.
19031        (-[WebBaseNetscapePluginView _createWindowlessAGLContext]):
19032        - Creates a windowless AGL context, which is an AGL context attached to an offscreen buffer.  This buffer can
19033          then be blitted back into the browser window with a different alpha, or scaled, or whatever.
19034        (-[WebBaseNetscapePluginView _cglContext]):
19035        - Returns the underlying CGL context from the AGL context.  We give the plug-in access to the CGL context because
19036          CGL is the more primitive of the GL drawable APIs and allows for finer control over the context.
19037        (-[WebBaseNetscapePluginView _getAGLOffscreenBuffer:width:height:]):
19038        - Returns the buffer allocated for the offscreen AGL context, if there is one.
19039        (-[WebBaseNetscapePluginView _destroyAGLContext]):
19040        - Destroys the AGL context, as well as the associated offscreen buffer or child window.
19041        (-[WebBaseNetscapePluginView _reshapeAGLWindow]):
19042        - Positions the AGL window over the browser window.
19043        (-[WebBaseNetscapePluginView _hideAGLWindow]):
19044        - Hides the AGL window.
19045        (-[WebBaseNetscapePluginView _aglOffscreenImageForDrawingInRect:]):
19046        - Returns an NSImage representation of the offscreen AGL context's framebuffer.  This is used to draw the offscreen
19047          bits back into the plug-in view.  This is kind of tricky because it has to convert the offscreen buffer in-place
19048          from BGRA to RGBA so that it can be wrapped in an NSBitmapImageRep.  See comments.
19049
19050        * WebKit.xcodeproj/project.pbxproj:
19051        Link OpenGL and AGL.
19052
190532006-07-09  Brady Eidson  <beidson@apple.com>
19054
19055        Reviewed by Maciej
19056
19057        The ICONDEBUG flag now chooses either the new icon database or the old one
19058        No longer any need to live side by side to compare results
19059
19060        * Misc/WebIconDatabase.m:
19061        (-[NSMutableDictionary iconURLForURL:]):
19062        (-[NSMutableDictionary retainIconForURL:]):
19063        (-[NSMutableDictionary releaseIconForURL:]):
19064        (-[WebIconDatabase _setHaveNoIconForIconURL:]):
19065        (-[WebIconDatabase _setIconURL:forURL:]):
19066        (-[WebIconDatabase _resetCachedWebPreferences:]):
19067
190682006-07-08  Timothy Hatcher  <timothy@apple.com>
19069
19070        Reviewed by Maciej.
19071
19072        Bug 5312: comments aren't available via DOM
19073        http://bugs.webkit.org/show_bug.cgi?id=5312
19074
19075        Makes the Web Inspector show comment node contents.
19076
19077        * WebInspector/WebInspector.m:
19078        (-[DOMNode _displayName]): return the contents of the comment
19079        * WebInspector/webInspector/inspector.js: check for comment nodes
19080
190812006-07-09  Alexey Proskuryakov  <ap@nypop.com>
19082
19083        Reviewed by Darin.
19084
19085        - http://bugs.webkit.org/show_bug.cgi?id=9572
19086        Add application/xhtml+xml to the Accept header
19087
19088        * WebView/WebFrame.m:
19089        (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]): Add an Accept header
19090        to main resource requests.
19091        * English.lproj/StringsNotToBeLocalized.txt: Added new strings.
19092
190932006-07-08  Darin Adler  <darin@apple.com>
19094
19095        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
19096        (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
19097        Removed misleading old comment.
19098
19099=== Safari-521.15 ===
19100
191012006-07-07  Levi Weintraub  <lweintraub@apple.com>
19102
19103        Reviewed by justin
19104
19105        Finished moving deletion selection expansion across the bridge... say that 3 times fast.
19106
19107        * WebView/WebHTMLView.m:  Pass granularity to WebCore to handle expansion
19108        (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
19109        (-[WebHTMLView _deleteSelection]):
19110        (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
19111        (-[WebHTMLView deleteToMark:]):
19112
191132006-07-07  Brady Eidson  <beidson@apple.com>
19114
19115        Reviewed by John
19116
19117        Changed an ASSERT to a LOG_ERROR for an error that could be handled gracefully, but
19118        whose assertion was reproducibly causing a build bot failure
19119
19120        * Misc/WebIconDatabase.m:
19121        (-[WebIconDatabase _releaseIconForIconURLString:]):
19122
191232006-07-06  Levi Weintraub  <lweintraub@apple.com>
19124
19125        Reviewed by justin
19126
19127        Improved table editing
19128
19129        * WebCoreSupport/WebFrameBridge.m: Added method to allow WebCore to trigger
19130        deletion editing delegate
19131        (-[WebFrameBridge shouldDeleteSelectedDOMRange:]):
19132        * WebView/WebHTMLView.m: Moved code that expanded a selection when the delete
19133        key is pressed over to WebCore so we can be more intelligent about how to handle it
19134        (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]):
19135        (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
19136
191372006-07-07  John Sullivan  <sullivan@apple.com>
19138
19139        Reviewed by Tim Hatcher
19140        
19141        - fixed <rdar://problem/4606857> WebKit: WebPreferencesChangedNotification not exported
19142
19143        * WebKit.exp:
19144        added surprisingly missing _WebPreferencesChangedNotification, defined in
19145        WebPreferences.h
19146
191472006-07-06  Brady Eidson  <beidson@apple.com>
19148
19149        Reviewed by John.
19150
19151        Small fix to my previous small fix that only lets the ASSERT off the hook if the DB
19152        is closing
19153
19154        * Misc/WebIconDatabase.m:
19155        (-[WebIconDatabase _releaseIconForIconURLString:]):
19156
191572006-07-05  Brady Eidson  <beidson@apple.com>
19158
19159        Reviewed by Maciej
19160
19161        Small fix that prevents an assertion from triggering if the DB is being cleaned up 
19162        (ie, the app being shut down)
19163
19164        * Misc/WebIconDatabase.h:
19165        * Misc/WebIconDatabase.m:
19166        (-[NSMutableDictionary init]):
19167        (-[WebIconDatabase _applicationWillTerminate:]):
19168        (-[WebIconDatabase _releaseIconForIconURLString:]):
19169
191702006-07-05  Adele Peterson  <adele@apple.com>
19171
19172        Reviewed by Maciej and Hyatt.
19173
19174        WebKit part of initial popup menu implementation.
19175
19176        * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
19177        Initialize WKPopupMenu.
19178
191792006-07-05  Anders Carlsson  <acarlsson@apple.com>
19180
19181        Reviewed by Maciej.
19182
19183        http://bugs.webkit.org/show_bug.cgi?id=3581
19184        iFrames set to display:none are Missing from frames array
19185        
19186        * WebCoreSupport/WebFrameBridge.m:
19187        (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
19188        (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
19189        Modify to pass the owner element instead of the owner renderer.
19190        
19191        * WebView/WebHTMLView.m:
19192        (-[WebHTMLView _topHTMLView]):
19193        Remove assertion, it's not valid anymore.
19194
191952006-07-05  Timothy Hatcher  <timothy@apple.com>
19196
19197        Reviewed by Harrison.
19198
19199        <rdar://problem/4608423> HIViewAdapter used but not defined
19200        Adds a new export file to fix the build.
19201
19202        * WebKit.LP64.exp: Added.
19203        * WebKit.xcodeproj/project.pbxproj:
19204
192052006-07-04  Timothy Hatcher  <timothy@apple.com>
19206
19207        Reviewed by Maciej.
19208
19209        Bug 9731: [Drosera] crash when trying to access the scope chain
19210        http://bugs.webkit.org/show_bug.cgi?id=9731
19211
19212        Because of <rdar://problem/4608404> the WebScriptObject, _globalObj, that
19213        WebCoreScriptDebugger holds is unprotected each time the page changes.
19214        This causes Drosera to crash Safari when trying to access the scope chain.
19215        We simply need to detach and re-attach the debugger when the window script
19216        object is cleared until 4608404 is fixed. This change also attaches the
19217        debugger before we call the windowScriptObjectAvailable: delegate method,
19218        so the debugger is ready before anyone might use the window object.
19219
19220        * WebCoreSupport/WebFrameBridge.m:
19221        (-[WebFrameBridge windowObjectCleared]):
19222
192232006-07-04  Timothy Hatcher  <timothy@apple.com>
19224
19225        Reviewed by Darin.
19226
19227        Bug 9732: [Drosera] calling removeListener to many times will cause
19228                  WebKit's listener count to underflow/wraparound
19229        http://bugs.webkit.org/show_bug.cgi?id=9732
19230
19231        Adds a check to make sure the listener was in our listeners set before
19232        decrementing the global listener count. Also checks for nil in addListner
19233        to prevent a possible exception when adding the object to the set.
19234
19235        * DefaultDelegates/WebScriptDebugServer.m:
19236        (-[WebScriptDebugServer addListener:]):
19237        (-[WebScriptDebugServer removeListener:]):
19238
192392006-07-04  Alexey Proskuryakov  <ap@nypop.com>
19240
19241        Reviewed by Maciej.
19242
19243        - http://bugs.webkit.org/show_bug.cgi?id=8210
19244        Conditional XMLHttpRequest gets should pass 304 responses unchanged
19245
19246        Test: http/tests/xmlhttprequest/cache-override.html
19247
19248        * Misc/WebNSURLRequestExtras.h: Added _web_isConditionalRequest
19249        * Misc/WebNSURLRequestExtras.m:
19250        (-[NSURLRequest _web_isConditionalRequest]):
19251        * WebCoreSupport/WebFrameBridge.m:
19252        (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
19253        Bypass the cache for conditional requests.
19254        * WebCoreSupport/WebSubresourceLoader.m:
19255        (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): Ditto.
19256
192572006-07-01  David Kilzer  <ddkilzer@kilzer.net>
19258
19259        Reviewed by NOBODY (fixed Tim's build fix).
19260
19261        * WebView/WebView.m: Added back missing '/' at the beginning of the file.
19262
192632006-07-01  Tim Omernick  <timo@apple.com>
19264
19265        Reviewed by NOBODY (build fix)
19266
19267        * WebView/WebView.m:
19268        (-[WebView _isMIMETypeRegisteredAsPlugin:]):
19269        Changed nil to NO (typo).
19270
19271=== Safari-521.14 ===
19272
192732006-06-30  Timothy Hatcher  <timothy@apple.com>
19274
19275        Reviewed by Darin.
19276
19277        Only enable shouldCloseWithWindow when ObjC GC is enabled.
19278        This maintains backwards compatibility with applications
19279        that expect a WebView to be usable after the window closes.
19280
19281        * WebView/WebView.m:
19282        (-[WebViewPrivate init]):
19283
192842006-06-30  Timothy Hatcher  <timothy@apple.com>
19285
19286        Reviewed by Anders.
19287
19288        Call _close in dealloc to ensure we cleanup for backwards
19289        compatibility. This will safeguard and cleanup even if the
19290        application doesn't use the new close API yet, like Mail.
19291
19292        * WebView/WebView.m:
19293        (-[WebView dealloc]):
19294
192952006-06-29  Timothy Hatcher  <timothy@apple.com>
19296
19297        Reviewed by Darin.
19298
19299        <rdar://problem/4484405> WebKit leaks, improper tear-down
19300        <rdar://problem/3694059> -[WebBackForwardList finalize] is incorrect; design change needed
19301        <rdar://problem/3694103> -[WebFrame finalize] is incorrect; design change needed
19302        <rdar://problem/3694104> -[WebHTMLView finalize] is incorrect; design change needed
19303
19304        Adds a close method to WebView, this needs to be called when the 
19305        WebView is no longer needed. To make this easier for the common cases
19306        there is now an "auto close" on WebView that listens to the view's
19307        parent window. If the parent window closes and the WebView has no
19308        hostWindow then the WebView is automatically closed if autoClose is YES.
19309        To manage WebView closing yourself call setAutoClose: and pass NO.
19310
19311        When a WebView closes it will tear-down and not be usable anymore.
19312        Close will will called on various other internal objects as a part
19313        of this, to ensure proper tear-down in GC without relying on finalize.
19314
19315        * History/WebBackForwardList.m:
19316        (-[WebBackForwardList dealloc]):
19317        (-[WebBackForwardList finalize]):
19318        (-[WebBackForwardList _close]):
19319        * History/WebHistoryItem.m:
19320        (+[WebHistoryItem _closeObjectsInPendingPageCaches]):
19321        (+[WebHistoryItem _releaseAllPendingPageCaches]):
19322        * History/WebHistoryItemPrivate.h:
19323        * WebCoreSupport/WebFrameBridge.m:
19324        (-[WebFrameBridge close]):
19325        (-[WebFrameBridge saveDocumentToPageCache:]):
19326        (-[WebFrameBridge canGoBackOrForward:]):
19327        * WebView/WebFrame.m:
19328        (-[WebFrame _detachFromParent]):
19329        (-[WebFrame dealloc]):
19330        (-[WebFrame finalize]):
19331        * WebView/WebFrameView.m:
19332        (-[WebFrameView _setWebFrame:]):
19333        (-[WebFrameView finalize]):
19334        * WebView/WebHTMLView.m:
19335        (-[WebHTMLView close]):
19336        (-[WebHTMLView dealloc]):
19337        (-[WebHTMLView finalize]):
19338        * WebView/WebHTMLViewInternal.h:
19339        * WebView/WebHTMLViewPrivate.h:
19340        * WebView/WebScriptDebugDelegate.m:
19341        (-[WebScriptCallFrame _initWithFrame:initWithWebFrame:]):
19342        (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
19343        (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
19344        (-[WebScriptCallFrame hitStatement:sourceId:line:]):
19345        (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
19346        * WebView/WebScriptDebugDelegatePrivate.h:
19347        * WebView/WebView.m:
19348        (-[WebViewPrivate init]):
19349        (-[WebView _close]):
19350        (-[WebView dealloc]):
19351        (-[WebView finalize]):
19352        (-[WebView viewWillMoveToWindow:]):
19353        (-[WebView _windowWillClose:]):
19354        (-[WebView setPreferencesIdentifier:]):
19355        (-[WebView mainFrame]):
19356        (-[WebView setHostWindow:]):
19357        (-[WebView searchFor:direction:caseSensitive:wrap:]):
19358        (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
19359        (-[WebView close]):
19360        (-[WebView setAutoClose:]):
19361        (-[WebView autoClose]):
19362        (-[WebView _frameViewAtWindowPoint:]):
19363        * WebView/WebViewPrivate.h:
19364
193652006-06-29  Kevin Decker  <kdecker@apple.com>
19366
19367        Reviewed by mjs and timo.
19368        
19369        Fixed: <rdar://problem/4609119> handleAuthenticationFromResource was removed; needed by the Dashboard
19370
19371        * WebView/WebViewPrivate.h: Added handleAuthenticationFromResource back into the header. Needed by the
19372        Dashboard, but was removed in r.14028 on 2006-04-23. 
19373
193742006-06-29  Tim Omernick  <timo@apple.com>
19375
19376        Reviewed by Kevin Decker.
19377
19378        <rdar://problem/4608487> REGRESSION: reproducible crash in +[WebCoreFrameBridge supportedImageMIMETypes]
19379
19380        * Plugins/WebPluginDatabase.m:
19381        (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
19382        One might be tempted to add additionalWebPlugInPaths to the global WebPluginDatabase here.
19383        For backward compatibility with earlier versions of the +setAdditionalWebPlugInPaths: SPI,
19384        we need to save a copy of the additional paths and not cause a refresh of the plugin DB
19385        at this time.
19386        (-[WebPluginDatabase _plugInPaths]):
19387        Include additionalWebPlugInPaths if this is the global DB.
19388        (-[WebPluginDatabase refresh]):
19389        Call -_plugInPaths to get the modified array of paths.  This is similar to what the old code
19390        (before we had per-WebView plugin search paths).
19391
193922006-06-29  Tim Omernick  <timo@apple.com>
19393
19394        Reviewed by John Sullivan.
19395
19396        WebHistoryItem now supports getting and setting arbitrary properties via _transientPropertyForKey: and
19397        -_setTransientProperty:forKey:.
19398        For now, these properties do not persist with the rest of the history data.  They are intended to hold transient
19399        per-history-item state, which is something that was until now difficult for a WebKit client app to do.
19400        
19401        * History/WebHistoryItemPrivate.h:
19402        * History/WebHistoryItem.m:
19403        (-[WebHistoryItemPrivate dealloc]):
19404        (-[WebHistoryItem _transientPropertyForKey:]):
19405        (-[WebHistoryItem _setTransientProperty:forKey:]):
19406
194072006-06-29  Timothy Hatcher  <timothy@apple.com>
19408
19409        Reviewed by Harrison.
19410
19411        Smart insert and delete, continuous spell checking and autoscroll
19412        can now be used for any WebView, not just editable ones. All of
19413        these make sense for documents that might contain content editable 
19414        areas or our new text fields. Autoscroll is usefull for dragging
19415        for file input controls also.
19416
19417        Added a SPI to toggle WebViews tab key behavior, tabKeyCyclesThroughElements.
19418        WebHTMLView's _interceptEditingKeyEvent now uses WebView's
19419        tabKeyCyclesThroughElements state to determine whether or not
19420        to process tab key events. The idea here is that tabKeyCyclesThroughElements
19421        will be YES when this WebView is being used in a browser, and we
19422        desire the behavior where tab moves to the next element in tab order.
19423        If tabKeyCyclesThroughElements is NO, it is likely that the WebView
19424        is being embedded as the whole view, as in Mail, and tabs should input
19425        tabs as expected in a text editor. Using Option-Tab always cycles
19426        through elements.
19427
19428        * WebView/WebHTMLRepresentation.m:
19429        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
19430        * WebView/WebHTMLView.m:
19431        (-[WebHTMLView _interceptEditingKeyEvent:]):
19432        * WebView/WebView.m:
19433        (-[WebViewPrivate init]):
19434        (-[WebView _autoscrollForDraggingInfo:timeDelta:]):
19435        (-[WebView _shouldAutoscrollForDraggingInfo:]):
19436        (-[WebView validateUserInterfaceItem:]):
19437        (-[WebView toggleSmartInsertDelete:]):
19438        (-[WebView toggleContinuousSpellChecking:]):
19439        (-[WebView setTabKeyCyclesThroughElements:]):
19440        (-[WebView tabKeyCyclesThroughElements]):
19441        * WebView/WebViewPrivate.h:
19442
194432006-06-29  Anders Carlsson  <acarlsson@apple.com>
19444
19445        Reviewed by Tim O.
19446
19447        * WebKit.xcodeproj/project.pbxproj:
19448        Add DOMXPath.h header.
19449
194502006-06-28  David Hyatt  <hyatt@apple.com>
19451
19452        Fix custom highlighting so that you can paint the entire line (and go
19453        outside the bounds of the line).
19454
19455        Reviewed by harrison
19456
19457        * WebCoreSupport/WebFrameBridge.m:
19458        (-[WebFrameBridge customHighlightRect:forLine:]):
19459        (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:]):
19460        * WebKit.xcodeproj/project.pbxproj:
19461        * WebView/WebHTMLViewPrivate.h:
19462
194632006-06-28  Maciej Stachowiak  <mjs@apple.com>
19464
19465        Reviewed by Anders.
19466        
19467        - fix Frame leak on layout tests
19468
19469        * WebCoreSupport/WebPageBridge.m:
19470        (-[WebPageBridge outerView]): Return WebFrameView for main frame instead
19471        of WebView to avoid reference cycle between WebView and Page.
19472
194732006-06-28  Timothy Hatcher  <timothy@apple.com>
19474
19475        Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
19476
19477        * WebKit.xcodeproj/project.pbxproj:
19478
194792006-06-28  Levi Weintraub  <lweintraub@apple.com>
19480
19481        Reviewed by justin
19482
19483        http://bugs.webkit.org/show_bug.cgi?id=7568
19484        Bug 7568: Implement Indent/Outdent
19485        Added undo action strings and enum values
19486
19487        * English.lproj/Localizable.strings:
19488        * WebCoreSupport/WebFrameBridge.m: 
19489        (-[WebFrameBridge nameForUndoAction:]):
19490
194912006-06-27  Brady Eidson  <beidson@apple.com>
19492
19493        Reviewed by Maciej
19494
19495        Hookup the new semi-functional SQLite icon database.
19496        For now, it is living side-by-side with the old DB so one can compare the
19497        two for debugging purposes.  Also, it is disabled (in WebKit) by default unless you
19498        compile with ICONDEBUG #defined.
19499        Note:  To repeat that, if you want to try the new DB, #define ICONDEBUG (WebKitPrefix.h is a good place to do it)
19500
19501        * Misc/WebIconDatabase.m:
19502        (-[NSMutableDictionary iconForURL:withSize:cache:]):
19503        (-[NSMutableDictionary iconURLForURL:]):
19504        (-[NSMutableDictionary retainIconForURL:]):
19505        (-[NSMutableDictionary releaseIconForURL:]):
19506        (-[WebIconDatabase _setHaveNoIconForIconURL:]):
19507        (-[WebIconDatabase _setIconURL:forURL:]):
19508        (-[WebIconDatabase _hasIconForIconURL:]):
19509        (-[WebIconDatabase _resetCachedWebPreferences:]):
19510        * Misc/WebIconLoader.m:
19511        (-[WebIconLoader didFinishLoading]):
19512        * WebKit.xcodeproj/project.pbxproj:
19513
195142006-06-26  David Hyatt  <hyatt@apple.com>
19515
19516        Fix for 9538, support syntax highlighting for HTML source.
19517
19518        Reviewed by darin
19519
19520        * WebKit.xcodeproj/project.pbxproj:
19521        * WebView/WebView.m:
19522        (-[WebView _setInViewSourceMode:]):
19523        (-[WebView _inViewSourceMode]):
19524        * WebView/WebViewPrivate.h:
19525
195262006-06-25  Timothy Hatcher  <timothy@apple.com>
19527
19528        Reviewed by Darin.
19529
19530        Bug 9574: Drosera should show inline scripts within the original HTML
19531        http://bugs.webkit.org/show_bug.cgi?id=9574
19532
19533        * Adds a new version of the didParseSource delegate callback with base line number.
19534        * Adds a new delegate callback for when a script fails to parse.
19535        * These new callbacks use NSURLs for the url parameter.
19536        * Adds a new script listener callback to notify when the main resource loads.
19537        * Adds a WebScriptErrorDomian and other keys for use with NSError.
19538
19539        * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
19540        (-[WebDefaultScriptDebugDelegate webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
19541        (-[WebDefaultScriptDebugDelegate webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
19542        * DefaultDelegates/WebScriptDebugServer.h:
19543        * DefaultDelegates/WebScriptDebugServer.m:
19544        (-[WebScriptDebugServer webView:didLoadMainResourceForDataSource:]):
19545        (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
19546        (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
19547        * DefaultDelegates/WebScriptDebugServerPrivate.h:
19548        * WebKit.exp:
19549        * WebView/WebDataSource.m:
19550        (-[WebDataSource _setPrimaryLoadComplete:]):
19551        * WebView/WebScriptDebugDelegate.h:
19552        * WebView/WebScriptDebugDelegate.m:
19553        (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
19554
195552006-06-24  David Kilzer  <ddkilzer@kilzer.net>
19556
19557        Reviewed by Timothy.
19558
19559        * Info.plist: Fixed copyright to include 2003-2006.
19560
195612006-06-24  Alexey Proskuryakov  <ap@nypop.com>
19562
19563        Reviewed by Darin.
19564
19565        - http://bugs.webkit.org/show_bug.cgi?id=9418
19566        WebKit will not build when Space exists in path
19567
19568        * WebKit.xcodeproj/project.pbxproj: Enclose search paths in quotes.
19569
195702006-06-23  Tim Omernick  <timo@apple.com>
19571
19572        Reviewed by John Sullivan.
19573
19574        * Plugins/WebBaseNetscapePluginView.m:
19575        (-[WebBaseNetscapePluginView sendEvent:]):
19576        Fixed a bug I found in the CoreGraphics drawing model that was preventing certain types of
19577        events from being dispatched to the plugin, unless the plugin was being updated.  The check
19578        for portState was only required to call -setWindowIfNecessary, not required for the entire
19579        event dispatch.
19580        Also, don't paint the green debug rect unless this is a QuickDraw plugin.  Otherwise the
19581        current QD port is not set, and the green rect fills the entire screen.  Pretty awesome
19582        looking, but not intended behavior.
19583        (-[WebBaseNetscapePluginView setWindowIfNecessary]):
19584        Improved the logging here to include the NPWindow's width and height.
19585
195862006-06-23  Timothy Hatcher  <timothy@apple.com>
19587
19588        Reviewed by Tim O.
19589
19590        Adds back SPI that Mail is still depending on.
19591
19592        * WebView/WebDataSource.m:
19593        (-[WebDataSource _addSubframeArchives:]):
19594        * WebView/WebDataSourcePrivate.h:
19595
19596=== WebKit-521.13 ===
19597
195982006-06-23  Timothy Hatcher  <timothy@apple.com>
19599
19600        Reviewed by Geoff.
19601
19602        script debugger should only attach to JavaScriptCore when there are listeners
19603        http://bugs.webkit.org/show_bug.cgi?id=9552
19604
19605        Attaches the debugger to all WebFrames when the first listener
19606        is added. Detaches when the last listener is removed.
19607        Also detach when the script debug delegate is set to nil.
19608
19609        * DefaultDelegates/WebScriptDebugServer.m:
19610        (+[WebScriptDebugServer listenerCount]):
19611        (-[WebScriptDebugServer dealloc]):
19612        (-[WebScriptDebugServer attachScriptDebuggerToAllWebViews]):
19613        (-[WebScriptDebugServer detachScriptDebuggerFromAllWebViews]):
19614        (-[WebScriptDebugServer listenerConnectionDidDie:]):
19615        (-[WebScriptDebugServer addListener:]):
19616        (-[WebScriptDebugServer removeListener:]):
19617        * DefaultDelegates/WebScriptDebugServerPrivate.h:
19618        * WebCoreSupport/WebFrameBridge.m:
19619        (-[WebFrameBridge windowObjectCleared]):
19620        * WebView/WebFrame.m:
19621        (-[WebFrame _attachScriptDebugger]):
19622        (-[WebFrame _detachScriptDebugger]):
19623        * WebView/WebFramePrivate.h:
19624        * WebView/WebScriptDebugDelegate.m:
19625        (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
19626        (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
19627        (-[WebScriptCallFrame hitStatement:sourceId:line:]):
19628        (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
19629        * WebView/WebView.m:
19630        (-[WebView _attachScriptDebuggerToAllFrames]):
19631        (-[WebView _detachScriptDebuggerFromAllFrames]):
19632        (-[WebView setScriptDebugDelegate:]):
19633        * WebView/WebViewPrivate.h:
19634
196352006-06-22  John Sullivan  <sullivan@apple.com>
19636
19637        Reviewed by Tim Omernick
19638        
19639        - added support for UIDelegate to be notified of scrolling in any WebHTMLView
19640        - cleaned up recently-added UIDelegate code
19641
19642        * WebView/WebUIDelegatePrivate.h:
19643        declared webView:didScrollDocumentInFrameView: method
19644
19645        * DefaultDelegates/WebDefaultUIDelegate.m:
19646        (-[NSApplication webView:didDrawRect:]):
19647        provide default (empty) implementation of this recently-added method, so the
19648        DelegateForwarder mechanism will work for it
19649        (-[NSApplication webView:didScrollDocumentInFrameView:]):
19650        same thing for the new method
19651        
19652        * WebView/WebHTMLView.m:
19653        (-[WebHTMLView _frameOrBoundsChanged]):
19654        use _UIDelegateForwarder mechanism to notify delegate that scrolling occurred
19655        (-[WebHTMLView drawSingleRect:]):
19656        use _UIDelegateForwarder mechanism instead of checking respondsToSelector stuff
19657        here (that's packaged up nicely by the forwarder mechanism)
19658        
196592006-06-22  Tim Omernick  <timo@apple.com>
19660
19661        Reviewed by NOBODY (build fix)
19662
19663        * WebView/WebFrameLoader.m:
19664        Import WebMainResourceLoader instead of using @class so that we can call WebMainResourceLoader
19665        methods.
19666        
196672006-06-22  Tim Omernick  <timo@apple.com>
19668
19669        Reviewed by NOBODY (build fix)
19670
19671        * WebView/WebFrameLoader.m:
19672        Import JavaScriptCore/Assertions.h instead of WebKit/WebAssertions.h (which no longer exists)
19673
196742006-06-22  Maciej Stachowiak  <mjs@apple.com>
19675
19676        Reviewed by Adele.
19677        
19678        - start moving loading logic to new WebFrameLoader class; move management of WebLoaders there
19679
19680        * Misc/WebIconLoader.h:
19681        * Misc/WebIconLoader.m:
19682        (-[WebIconLoader didFinishLoading]):
19683        * WebKit.xcodeproj/project.pbxproj:
19684        * WebView/WebDataSource.m:
19685        (-[WebDataSourcePrivate dealloc]):
19686        (-[WebDataSource _updateLoading]):
19687        (-[WebDataSource _loadIcon]):
19688        (-[WebDataSource _setPrimaryLoadComplete:]):
19689        (-[WebDataSource _stopLoading]):
19690        (-[WebDataSource _startLoading]):
19691        (-[WebDataSource _addSubresourceLoader:]):
19692        (-[WebDataSource _removeSubresourceLoader:]):
19693        (-[WebDataSource _addPlugInStreamLoader:]):
19694        (-[WebDataSource _removePlugInStreamLoader:]):
19695        (-[WebDataSource _iconLoaderReceivedPageIcon:]):
19696        (-[WebDataSource _defersCallbacksChanged]):
19697        (-[WebDataSource _stopLoadingWithError:]):
19698        (-[WebDataSource _setupForReplaceByMIMEType:]):
19699        (-[WebDataSource initWithRequest:]):
19700        (-[WebDataSource dealloc]):
19701        (-[WebDataSource finalize]):
19702        (-[WebDataSource data]):
19703        (-[WebDataSource isLoading]):
19704        * WebView/WebFrameLoader.h: Added.
19705        * WebView/WebFrameLoader.m: Added.
19706        (-[WebFrameLoader initWithDataSource:]):
19707        (-[WebFrameLoader dealloc]):
19708        (-[WebFrameLoader hasIconLoader]):
19709        (-[WebFrameLoader loadIconWithRequest:]):
19710        (-[WebFrameLoader stopLoadingIcon]):
19711        (-[WebFrameLoader addPlugInStreamLoader:]):
19712        (-[WebFrameLoader removePlugInStreamLoader:]):
19713        (-[WebFrameLoader setDefersCallbacks:]):
19714        (-[WebFrameLoader stopLoadingPlugIns]):
19715        (-[WebFrameLoader isLoadingMainResource]):
19716        (-[WebFrameLoader isLoadingSubresources]):
19717        (-[WebFrameLoader isLoading]):
19718        (-[WebFrameLoader stopLoadingSubresources]):
19719        (-[WebFrameLoader addSubresourceLoader:]):
19720        (-[WebFrameLoader removeSubresourceLoader:]):
19721        (-[WebFrameLoader mainResourceData]):
19722        (-[WebFrameLoader releaseMainResourceLoader]):
19723        (-[WebFrameLoader cancelMainResourceLoad]):
19724        (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
19725        (-[WebFrameLoader stopLoadingWithError:]):
19726
197272006-06-21  Brady Eidson  <beidson@apple.com>
19728
19729        Reviewed by Maciej
19730
19731        The WebCoreIconDatabaseBridge was getting messages sent to it after it had been closed, resulting in a crash
19732        on an ASSERT().  After closing the databaseBridge, we simply set it to nil so this can't happen.
19733        anymore.
19734
19735        * Misc/WebIconDatabase.m:
19736        (-[WebIconDatabase _applicationWillTerminate:]):
19737
197382006-06-21  Tim Omernick  <timo@apple.com>
19739
19740        Reviewed by Geoff Garen.
19741
19742        <rdar://problem/4564131> WebPluginDatabase setAdditionalWebPlugInPaths needs to be per WebView
19743
19744        Added some WebView SPI so that individual WebViews may have different plugin search paths.  There are some 
19745        limitations with the approach taken here:
19746
19747        - JavaScript may only access the global plugin DB.
19748        - When this SPI is in use, certain WebView methods may not give accurate results, such as +canShowMIMEType:.
19749        - This only works for plugins referenced using the <object> or <embed> tags; plugins that reside in non-standard
19750        file system locations may not be loaded directly into frames.
19751        
19752        None of these issues are important to the client that needs this SPI.  Rather than re-architect our entire
19753        plugin database, I think it is better to simply accept these limitations for now.
19754
19755        * Plugins/WebPluginDatabase.h:
19756        Added "plugInPaths" ivar, so different plugin databases can have different search paths.
19757        * Plugins/WebPluginDatabase.m:
19758        (+[WebPluginDatabase installedPlugins]):
19759        Give the global plugin database the default plugin search paths.
19760        (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
19761        Removed static global; this method now sets the plugin paths on the global plugin database.
19762        (-[WebPluginDatabase setPlugInPaths:]):
19763        Setter method for plugin paths.
19764        (-[WebPluginDatabase close]):
19765        New method; called when the plugin database is no longer needed (when its WebView is being destroyed).
19766        (-[WebPluginDatabase init]):
19767        Don't refresh in -init, so that callers can set the DB's plugin path array before it refreshes.
19768        (-[WebPluginDatabase dealloc]):
19769        Moved here from near the bottom of the file.  Release new ivar.
19770        (-[WebPluginDatabase refresh]):
19771        Use the plugInPaths ivar instead of calling pluginLocations().
19772        Notify plugin packages when they are added to and removed from a plugin database.  A plugin package will
19773        unload itself when it is removed from all of its plugin databases.
19774        The only really tricky thing here is that the global MIME <-> view class registrations are only modified
19775        by the shared plugin DB.
19776        (+[WebPluginDatabase _defaultPlugInPaths]):
19777        Refactored from the old pluginLocations() function; returns the default set of plugin search paths.
19778
19779        * Plugins/WebBasePluginPackage.h:
19780        * Plugins/WebBasePluginPackage.m:
19781        (-[WebBasePluginPackage dealloc]):
19782        Assert that this package has been removed from all of its containing plugin databases.
19783        (-[WebBasePluginPackage finalize]):
19784        ditto
19785        (-[WebBasePluginPackage wasAddedToPluginDatabase:]):
19786        Add plugin database to set.
19787        (-[WebBasePluginPackage wasRemovedFromPluginDatabase:]):
19788        Remove plugin database from set.  If it was the last DB, then unload the plugin package.
19789
19790        * WebView/WebViewInternal.h:
19791        Added instance methods to find the view class or plugin package, given a MIME type or file extension.
19792        * WebView/WebViewPrivate.h:
19793        Added SPI to set plugin search paths per WebView.
19794        * WebView/WebView.m:
19795        (-[WebView _viewClass:andRepresentationClass:forMIMEType:]):
19796        New method; tries the global MIME <-> view map first; failing that, it checks the WebView's plugin DB.
19797        (-[WebView _close]):
19798        Close the plugin DB.
19799        (-[WebView _setAdditionalWebPlugInPaths:]):
19800        Create the plugin DB if necessary, and set its plugin paths.
19801        (-[WebView _pluginForMIMEType:]):
19802        Checks global plugin DB, falls back on WebView DB.
19803        (-[WebView _pluginForExtension:]):
19804        ditto
19805        (-[WebView _isMIMETypeRegisteredAsPlugin:]):
19806        ditto
19807
19808        * WebCoreSupport/WebFrameBridge.m:
19809        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
19810        Use new WebView instance methods to look for plugins.
19811        (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
19812        ditto
19813        (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
19814        ditto
19815
198162006-06-20  Brady Eidson  <beidson@apple.com>
19817
19818        Reviewed by Maciej
19819
19820        Added calls through to the WebCoreIconDatabaseBridge for all the major WebIconDatabase API.  For now these calls
19821        are wrapped with #ifdef's and are for debugging only.
19822
19823        * Misc/WebIconDatabase.h:
19824        * Misc/WebIconDatabase.m:
19825        (-[NSMutableDictionary _scaleIcon:toSize:]):
19826        (-[NSMutableDictionary init]):
19827        (-[NSMutableDictionary iconForURL:withSize:cache:]):
19828        (-[NSMutableDictionary iconURLForURL:]):
19829        (-[NSMutableDictionary retainIconForURL:]):
19830        (-[NSMutableDictionary releaseIconForURL:]):
19831        (-[WebIconDatabase _setHaveNoIconForIconURL:]):
19832        (-[WebIconDatabase _setIconURL:forURL:]):
19833        (-[WebIconDatabase _hasIconForIconURL:]):
19834        * Misc/WebIconLoader.m:
19835        (-[WebIconLoader didFinishLoading]):
19836
19837        * Misc/WebKitLogging.h:  Added a logging channel for WebIconDatabase debugging
19838        * Misc/WebKitLogging.m:
19839        (WebKitInitializeLoggingChannelsIfNecessary):
19840
198412006-06-20  Adele Peterson  <adele@apple.com>
19842
19843        Reviewed by Tim Hatcher.
19844
19845        * WebView/WebMainResourceLoader.m: Added missing header to fix build on Leopard.
19846
198472006-06-20  Timothy Hatcher  <timothy@apple.com>
19848
19849        Reviewed by Darin.
19850
19851        Removes the @try/@catch from the callbacks to improve performance,
19852        simply check if the proxy object's connection is still valid first.
19853        Listener objects are now required to be NSDistantObjects.
19854
19855        Adds pause, resume and step support. The debugger process use to handle this,
19856        but it caused problems when there were multiple listeners.
19857
19858        Sends the bundle identifier in the notification userInfo dictionary along with
19859        process name and process ID.
19860
19861        * DefaultDelegates/WebScriptDebugServer.h:
19862        * DefaultDelegates/WebScriptDebugServer.m:
19863        (-[WebScriptDebugServer serverQuery:]):
19864        (-[WebScriptDebugServer addListener:]):
19865        (-[WebScriptDebugServer removeListener:]):
19866        (-[WebScriptDebugServer step]):
19867        (-[WebScriptDebugServer pause]):
19868        (-[WebScriptDebugServer resume]):
19869        (-[WebScriptDebugServer isPaused]):
19870        (-[WebScriptDebugServer suspendProcessIfPaused]):
19871        (-[WebScriptDebugServer webView:didParseSource:fromURL:sourceId:forWebFrame:]):
19872        (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
19873        (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
19874        (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
19875        * DefaultDelegates/WebScriptDebugServerPrivate.h:
19876        * WebKit.exp:
19877
198782006-06-19  Alexey Proskuryakov  <ap@nypop.com>
19879
19880        Reviewed by Darin.
19881
19882        - http://bugs.webkit.org/show_bug.cgi?id=5499
19883        Page reload does not send any cache control headers
19884
19885        * WebView/WebFrame.m:
19886        (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]): Set a proper Cache-Control header for 
19887        reload requests.
19888        (-[WebFrame loadRequest:]): Reset loadType to WebFrameLoadTypeStandard (after a reload, it stayed at 
19889        WebFrameLoadTypeReload, so _addExtraFieldsToRequest erroneously added a Cache-Control header to them).
19890
198912006-06-19  John Sullivan  <sullivan@apple.com>
19892
19893        Reviewed by Darin.
19894        
19895        - added mechanism to notify UIDelegate when part of the webview is redrawn. For now, it only
19896          works for HTML views.
19897
19898        * WebView/WebUIDelegatePrivate.h:
19899        Define a new UIDelegate method -webView:didDrawRect:
19900        * WebView/WebHTMLView.m:
19901        (-[WebView drawSingleRect:]):
19902        Call through to UIDelegate if it implements that method. I tested that this does not impact PLT numbers
19903        in the case where the delegate implements the method but does nothing in it.
19904
199052006-06-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>
19906
19907        Reviewed by Maciej.
19908
19909        - fix http://bugs.webkit.org/show_bug.cgi?id=9452
19910          Assertion failure in -[WebFramePrivate setProvisionalDataSource:]
19911
19912        * WebView/WebFrame.m:
19913        (-[WebFrame _checkLoadCompleteForThisFrame]): Avoid re-entering the delegate's
19914        -[webView:didFailProvisionalLoadWithError:forFrame].
19915
199162006-06-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
19917
19918        Reviewed by xenon.
19919
19920        - http://bugs.webkit.org/show_bug.cgi?id=9479
19921          Disassociate the inspector from the frame when it detaches from its parent
19922
19923        * WebInspector/WebInspector.m:
19924        (-[NSWindow setWebFrame:]): Added code to (de)register with the WebFrame
19925        the inspector is (no longer) targeting.
19926        (-[WebInspector _webFrameDetached:]): Added. Moved the code that was previously
19927        in -[inspectedWindowWillClose:] here. This is called by the WebFrame when it
19928        is detached from its parent.
19929        * WebInspector/WebInspectorInternal.h:
19930        * WebView/WebFrame.m:
19931        (-[WebFramePrivate dealloc]):
19932        (-[WebFrame _detachFromParent]): Added code to notify all registered inspectors
19933        that the WebFrame is detaching.
19934        (-[WebFrame _addInspector:]): Added.
19935        (-[WebFrame _removeInspector:]): Added.
19936        * WebView/WebFrameInternal.h:
19937
199382006-06-18  Anders Carlsson  <acarlsson@apple.com>
19939
19940        Reviewed by Geoff.
19941
19942        * WebCoreSupport/WebFrameBridge.m:
19943        (-[WebFrameBridge shouldInterruptJavaScript]):
19944        Ask the UI delegate if the script should be interrupted.
19945        
19946        * WebView/WebUIDelegatePrivate.h:
19947        Declare webViewShouldInterruptJavaScript: delegate method
19948
199492006-06-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
19950
19951        Reviewed by Darin.
19952
19953        - fix http://bugs.webkit.org/show_bug.cgi?id=9466
19954          Assertion failure when dragging an image from the document into Safari's address bar
19955
19956        * WebView/WebFrameView.m:
19957        (-[WebFrameView _setDocumentView:]): Reset the WebView's initiatedDrag flag
19958        when the document view is changed.
19959        * WebView/WebHTMLView.m:
19960        (-[WebHTMLView draggedImage:endedAt:operation:]): Changed the ASSERT to allow
19961        for drags that end after the view has been removed from the WebView.
19962
199632006-06-16  Timothy Hatcher  <timothy@apple.com>
19964
19965        Reviewed by Tim O.
19966
19967        Exposes a distributed objects server for clients to register for script debugger calls.
19968        For preformance concerns this is disabled by default, you will need to enable this per application.
19969        To enable for Safari do this: defaults write com.apple.Safari WebKitScriptDebuggerEnabled -bool true
19970
19971        Clients will need to listen to the following distributed notification to discover servers:
19972        WebScriptDebugServerDidLoadNotification
19973
19974        To discover servers that previously loaded before the client, the client needs to send the following notification:
19975        WebScriptDebugServerQueryNotification
19976
19977        All servers will reply with the WebScriptDebugServerQueryReplyNotification notification that contains the
19978        registered server connection name to use with distributed objects.
19979
19980        * DefaultDelegates/WebScriptDebugServer.h: Added.
19981        * DefaultDelegates/WebScriptDebugServer.m: Added.
19982        (+[WebScriptDebugServer sharedScriptDebugServer]):
19983        (-[WebScriptDebugServer init]):
19984        (-[WebScriptDebugServer dealloc]):
19985        (-[WebScriptDebugServer serverQuery:]):
19986        (-[WebScriptDebugServer listenerConnectionDidDie:]):
19987        (-[WebScriptDebugServer addListener:]):
19988        (-[WebScriptDebugServer removeListener:]):
19989        (-[WebScriptDebugServer webView:didParseSource:fromURL:sourceId:forWebFrame:]):
19990        (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
19991        (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
19992        (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
19993        * DefaultDelegates/WebScriptDebugServerPrivate.h: Added.
19994        * WebCoreSupport/WebFrameBridge.m:
19995        (-[WebFrameBridge windowObjectCleared]):
19996        * WebKit.exp:
19997        * WebKit.xcodeproj/project.pbxproj:
19998        * WebView/WebScriptDebugDelegate.m:
19999        (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
20000        (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
20001        (-[WebScriptCallFrame hitStatement:sourceId:line:]):
20002        (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
20003        * WebView/WebView.m:
20004        (+[WebView _developerExtrasEnabled]):
20005        (+[WebView _scriptDebuggerEnabled]):
20006        (-[WebView _menuForElement:defaultItems:]):
20007        (-[WebView _commonInitializationWithFrameName:groupName:]):
20008        * WebView/WebViewPrivate.h:
20009
200102006-06-16  Adele Peterson  <adele@apple.com>
20011
20012        Reviewed by Alice.
20013
20014        Added initialization for WKDrawBezeledTextArea.
20015
20016        * WebCoreSupport/WebSystemInterface.m:
20017        (InitWebCoreSystemInterface):
20018
200192006-06-15  Timothy Hatcher  <timothy@apple.com>
20020
20021        Reviewed by Geoff and Darin.
20022        
20023        Prefer the DWARF debugging symbols format for use in Xcode 2.3.
20024
20025        * WebKit.xcodeproj/project.pbxproj:
20026
200272006-06-15  John Sullivan  <sullivan@apple.com>
20028
20029        Reviewed by Tim O.
20030        
20031        Fixed bug in WebKit support for computing but not highlighting rects for text matches.
20032
20033        * WebView/WebView.m:
20034        (-[WebView rectsForTextMatches]):
20035        leave out empty rects, and convert rects to WebView coordinates. Since this makes a batch
20036        of autoreleased NSValue objects, use a local autorelease pool
20037
200382006-02-11  David Kilzer  <ddkilzer@kilzer.net>
20039
20040        Reviewed by John Sullivan.
20041
20042        * Plugins/WebPluginController.m:
20043        (-[WebPluginController _cancelOutstandingChecks]):
20044        add nil check before calling CFSetApplyFunction
20045
200462006-06-14  Levi Weintraub  <lweintraub@apple.com>
20047
20048        Reviewed by justin
20049        
20050        <http://bugs.webkit.org/show_bug.cgi?id=7580>
20051        TinyMCE: Implement execCommand(formatBlock, ...)
20052        
20053        * English.lproj/Localizable.strings:
20054        * WebCoreSupport/WebFrameBridge.m:
20055        (-[WebFrameBridge nameForUndoAction:]):
20056
200572006-06-14  Tim Omernick  <timo@apple.com>
20058
20059        Reviewed by John Sullivan.
20060
20061        <rdar://problem/4577988> GC: WebPluginController uses inefficient resurrecting enumeration
20062
20063        * Plugins/WebPluginController.m:
20064        (cancelOutstandingCheck):
20065        (-[WebPluginController _cancelOutstandingChecks]):
20066        Use CFSetApplyFunction() instead of an enumerator to guard against modifications to the set while enumerating.
20067
200682006-06-13  John Sullivan  <sullivan@apple.com>
20069
20070        Reviewed by Tim O.
20071        
20072        - fixed <rdar://problem/4498606> REGRESSION (417.8-420+): 3 missing items (but extra separators) in context 
20073        menu in Mail message body
20074
20075        * WebView/WebView.m:
20076        (-[WebView _menuForElement:defaultItems:]):
20077        Add special-case hackery to recover from this SPI -> API mismatch.
20078
200792006-06-13  Tim Omernick  <timo@apple.com>
20080
20081        Reviewed by Anders.
20082
20083        Fixed a recently-introduced assertion failure when handling 404 errors.
20084
20085        * WebView/WebDataSource.m:
20086        (-[WebDataSource _handleFallbackContent]):
20087        Use the -[WebFrame _bridge] instead of -[WebDataSource _bridge].  The former is not valid until the data
20088        source has been committed, which is not the case when the resource fails to load.  The latter is safe to call
20089        at any time.  This broke last night with Maciej's change to WebFrameResourceLoader.  The old code used to
20090        call -[WebFrame _bridge].
20091
200922006-06-13  Anders Carlsson  <acarlsson@apple.com>
20093
20094        Reviewed by Geoff.
20095
20096        http://bugs.webkit.org/show_bug.cgi?id=9406
20097        REGRESSION: fix for bug 9390 broke two layout tests
20098
20099        * Plugins/WebPluginDatabase.h:
20100        (-[WebPluginDatabase isMIMETypeRegistered:]):
20101        Add new function isMIMETypeRegistered which returns whether a given MIME type has a 
20102        plugin registered. 
20103
20104        * Plugins/WebPluginDatabase.m:
20105        (-[WebPluginDatabase init]):        
20106        Init set of registered MIME types.
20107        
20108        (-[WebPluginDatabase refresh]):
20109        Add and remove MIME types from the set of registered MIME types when registering and unregistering
20110        plugin MIME types.
20111        
20112        (-[WebPluginDatabase dealloc]):
20113        Release set of registered MIME types.
20114        
20115        * WebCoreSupport/WebFrameBridge.m:
20116        (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
20117        Use isMIMETypeRegistered here.
20118
201192006-06-12  Maciej Stachowiak  <mjs@apple.com>
20120
20121        - fix for cocoa exception (whoops)
20122
20123        * WebView/WebView.m:
20124        (+[WebView _generatedMIMETypeForURLScheme:]): put this back
20125        * WebView/WebDataSource.m:
20126        (+[WebDataSource _generatedMIMETypeForURLScheme:]): call WebView
20127
201282006-06-12  Maciej Stachowiak  <mjs@apple.com>
20129
20130        Reviewed by Darin.
20131        
20132        - remove use of WebView and related from WebMainResourceLoader
20133
20134        * WebKit.xcodeproj/project.pbxproj:
20135        * WebView/WebDataSource.m:
20136        (+[WebDataSource _generatedMIMETypeForURLScheme:]):
20137        (+[WebDataSource _representationExistsForURLScheme:]):
20138        (+[WebDataSource _canShowMIMEType:]):
20139        (-[WebDataSource _handleFallbackContent]):
20140        (-[WebDataSource _decidePolicyForMIMEType:decisionListener:]):
20141        * WebView/WebDataSourceInternal.h:
20142        * WebView/WebFrame.m:
20143        (-[WebFrame _isMainFrame]):
20144        * WebView/WebFrameInternal.h:
20145        * WebView/WebMainResourceLoader.m:
20146        (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
20147        (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
20148        (-[WebMainResourceLoader checkContentPolicyForResponse:]):
20149        (-[WebMainResourceLoader loadWithRequestNow:]):
20150        * WebView/WebView.m:
20151
201522006-06-12  Tim Omernick  <timo@apple.com>
20153
20154        Reviewed by Maciej.
20155
20156        <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc] running layout tests
20157
20158        * Plugins/WebNetscapePluginPackage.m:
20159        (-[WebNetscapePluginPackage _initWithPath:]):
20160        Renamed from -initWithPath:.  Instead of releasing/deallocating self on error, return NO.
20161        (-[WebNetscapePluginPackage initWithPath:]):
20162        Call the new -_initWithPath:.  If it returns NO, unload the plugin package before deallocating it.
20163
201642006-06-11  Darin Adler  <darin@apple.com>
20165
20166        - try to fix Windows build
20167
20168        * COM/WebKitDLL.cpp: (loadResourceIntoArray): Use Vector<char> instead of
20169        DeprecatedByteArray.
20170
201712006-06-11  Mitz Pettel  <opendarwin.org@mitzpettel.com>
20172
20173        Reviewed by Tim H.
20174
20175        - fix http://bugs.webkit.org/show_bug.cgi?id=8672
20176          Red outline from web inspector reappears after inspector is closed
20177
20178        * WebInspector/WebInspector.m:
20179        (-[NSWindow windowWillClose:]): Added a call to setWebFrame to avoid further
20180        load progress notifications.
20181        (-[NSWindow setWebFrame:]): Changed to resign the WebView's hostWindow rather
20182        than its window for close notifications, to avoid resigning from all windows' close
20183        notifications (including the inspector window's) when the WebView is in a hidden tab.
20184        Also changed to prevent highlighting the initial focused node.
20185
201862006-06-11  Anders Carlsson  <acarlsson@apple.com>
20187
20188        Reviewed by Tim.
20189
20190        http://bugs.webkit.org/show_bug.cgi?id=9390
20191        Move full-frame plugins to WebCore
20192
20193        * Plugins/WebBaseNetscapePluginStream.h:
20194        * Plugins/WebBaseNetscapePluginStream.m:
20195        (-[WebBaseNetscapePluginStream instance]):
20196        Add instance method which returns the plugin instance.
20197        
20198        * Plugins/WebBasePluginPackage.h:
20199        Add WebPluginManualLoader protocol
20200        
20201        * Plugins/WebNetscapePluginDocumentView.h: Removed.
20202        * Plugins/WebNetscapePluginDocumentView.m: Removed.
20203
20204        * Plugins/WebNetscapePluginEmbeddedView.h:
20205        * Plugins/WebNetscapePluginEmbeddedView.m:
20206        (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:]):
20207        (-[WebNetscapePluginEmbeddedView dealloc]):
20208        (-[WebNetscapePluginEmbeddedView didStart]):
20209        (-[WebNetscapePluginEmbeddedView pluginView:receivedResponse:]):
20210        (-[WebNetscapePluginEmbeddedView pluginView:receivedData:]):
20211        (-[WebNetscapePluginEmbeddedView pluginView:receivedError:]):
20212        (-[WebNetscapePluginEmbeddedView pluginViewFinishedLoading:]):
20213        (-[WebNetscapePluginEmbeddedView redeliverStream]):
20214        Make WebNetscapePluginEmbeddedView support the WebPluginManualLoader protocol. It creates a plugin stream and feeds the
20215        data manually. Much of this code has been copied from WebNetscapePluginRepresentation.
20216
20217        * Plugins/WebNetscapePluginRepresentation.h: Removed.
20218        * Plugins/WebNetscapePluginRepresentation.m: Removed.
20219
20220        * Plugins/WebPluginController.h:
20221        * Plugins/WebPluginController.m:
20222        (-[WebPluginController pluginView:receivedResponse:]):
20223        (-[WebPluginController pluginView:receivedData:]):
20224        (-[WebPluginController pluginView:receivedError:]):
20225        (-[WebPluginController pluginViewFinishedLoading:]):
20226        Make WebPluginController support the WebPluginManualLoader protocol so it can feed data manually to WebKit plugins.
20227
20228        * Plugins/WebPluginDatabase.m:        
20229        (-[WebPluginDatabase refresh]):
20230        Use WebHTMLView and WebHTMLRepresentation when registering/unregistering plug-in MIME types.
20231        
20232        * Plugins/WebPluginDocumentView.h: Removed.
20233        * Plugins/WebPluginDocumentView.m: Removed.
20234
20235        * WebCoreSupport/WebFrameBridge.m:
20236        (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
20237        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
20238        Add loadManually argument.
20239        
20240        (-[WebFrameBridge redirectDataToPlugin:]):
20241        Call down to the HTML representation.
20242        
20243        (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
20244        Pass NO to loadManually.
20245        
20246        (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
20247        Explicitly check if the MIME type is supported by a plug-in instead of checking the view class.
20248        
20249        * WebCoreSupport/WebViewFactory.m:
20250        (-[WebViewFactory pluginSupportsMIMEType:]):
20251        New function which returns whether any plugins support a given MIME type.
20252        
20253        * WebKit.xcodeproj/project.pbxproj:
20254        Update for removed files.
20255        
20256        * WebView/WebFrame.m:
20257        (-[WebFrame _reloadForPluginChanges]):
20258        Remove view type checks.
20259        
20260        (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
20261        (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
20262        Remove FIXME comments.
20263        
20264        * WebView/WebHTMLRepresentation.m:
20265        (-[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]):        
20266        New function which redirects incoming data to a manual loader.
20267        
20268        (-[WebHTMLRepresentation receivedData:withDataSource:]):
20269        (-[WebHTMLRepresentation receivedError:withDataSource:]):
20270        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
20271        Optionally redirect incoming data.
20272        
20273        * WebView/WebHTMLRepresentationPrivate.h:
20274
202752006-06-09  John Sullivan  <sullivan@apple.com>
20276
20277        Reviewed by Tim Omernick and Dave Hyatt.
20278
20279        WebKit support for computing but not highlighting rects for text matches.
20280
20281        * WebView/WebHTMLViewPrivate.h:
20282        added markedTextMatchesAreHighlighted/setMarkedTextMatchesAreHighlighted and
20283        rectsForTextMatches, and renamed related methods for clarity/consistency
20284        * WebView/WebHTMLView.m:
20285        (-[WebHTMLView markAllMatchesForText:caseSensitive:]):
20286        renamed, calls similarly-renamed method
20287        (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
20288        new method, calls through to bridge
20289        (-[WebHTMLView markedTextMatchesAreHighlighted]):
20290        ditto
20291        (-[WebHTMLView unmarkAllTextMatches]):
20292        renamed
20293        (-[WebHTMLView rectsForTextMatches]):
20294        new method, calls through to bridge
20295
20296        * WebView/WebViewPrivate.h:
20297        added rectsForTextMatches, renamed other methods (and added highlight: parameter)
20298        * WebView/WebView.m:
20299        (-[WebView markAllMatchesForText:caseSensitive:highlight:]):
20300        renamed for clarity/consistency, and now has highlight: parameter, which is passed down
20301        (-[WebView unmarkAllTextMatches]):
20302        renamed for clarity/consistency, and calls similarly-renamed method lower down. diff got
20303        confused with the end of this and the end of the next method.
20304        (-[WebView rectsForTextMatches]):
20305        new method, calls through to WebHTMLView as related methods currently do
20306
203072006-06-10  Graham Dennis  <Graham.Dennis@gmail.com>
20308
20309        <http://bugs.webkit.org/show_bug.cgi?id=9384>
20310        WebView's initWithCoder: method does not set useBackForwardList
20311        correctly
20312        
20313        Reviewed by John Sullivan.
20314
20315        * WebView/WebView.m:
20316        (-[WebView initWithCoder:]):
20317        Make sure that the function variable useBackForwardList is correctly
20318        set, so that the copy in the _private ivar is set.
20319
203202006-06-09  David Hyatt  <hyatt@apple.com>
20321
20322        Rename updateFocusState to updateActiveState.
20323
20324        * WebView/WebHTMLView.m:
20325        (-[WebHTMLView _updateActiveState]):
20326        (-[WebHTMLView viewDidMoveToWindow]):
20327        (-[WebHTMLView windowDidBecomeKey:]):
20328        (-[WebHTMLView windowDidResignKey:]):
20329        (-[WebHTMLView becomeFirstResponder]):
20330        (-[WebHTMLView resignFirstResponder]):
20331        (-[WebHTMLView _formControlIsBecomingFirstResponder:]):
20332        (-[WebHTMLView _formControlIsResigningFirstResponder:]):
20333        * WebView/WebHTMLViewPrivate.h:
20334
203352006-06-09  David Hyatt  <hyatt@apple.com>
20336
20337        Rename displaysWithFocusAttributes to isActive.
20338
20339        Reviewed by sfalken
20340
20341        * WebKit.xcodeproj/project.pbxproj:
20342        * WebView/WebHTMLView.m:
20343        (-[WebHTMLView _updateFocusState]):
20344
203452006-06-08  Justin Garcia  <justin.garcia@apple.com>
20346
20347        Reviewed by levi
20348        
20349        <http://bugs.webkit.org/show_bug.cgi?id=4468>
20350        Implement execCommand(Insert{Un}OrderedList)
20351
20352        * WebView/WebFrame.m:
20353        (-[WebFrame _findFrameWithSelection]): Removed an assertion
20354        that we only have one frame with a selection.  
20355        * WebView/WebView.m:
20356        (-[WebView selectedFrame]): Ditto.
20357
203582006-06-08  Timothy Hatcher  <timothy@apple.com>
20359
20360        Reviewed by Darin and John.
20361
20362        <rdar://problem/3600734> API: please add a way to turn vertical scrollbar
20363        always on (for Mail, to avoid reflow when typing)
20364
20365        Adds new methods to lock the scrolling mode on WebDynamicScrollBarsView.
20366        Locking the scroll mode prevents WebCore from changing it as needed.
20367        Also adds an SPI on WebView that will lock the "always on" mode
20368        for each scroller.
20369
20370        * WebKit.xcodeproj/project.pbxproj:
20371        * WebView/WebDynamicScrollBarsView.h:
20372        * WebView/WebDynamicScrollBarsView.m:
20373        (-[WebDynamicScrollBarsView setAllowsScrolling:]):
20374        (-[WebDynamicScrollBarsView allowsScrolling]):
20375        (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
20376        (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]):
20377        (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
20378        (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
20379        (-[WebDynamicScrollBarsView setScrollingMode:]):
20380        (-[WebDynamicScrollBarsView setHorizontalScrollingModeLocked:]):
20381        (-[WebDynamicScrollBarsView setVerticalScrollingModeLocked:]):
20382        (-[WebDynamicScrollBarsView setScrollingModesLocked:]):
20383        (-[WebDynamicScrollBarsView horizontalScrollingModeLocked]):
20384        (-[WebDynamicScrollBarsView verticalScrollingModeLocked]):
20385        * WebView/WebView.m:
20386        (-[WebView setAlwaysShowVerticalScroller:]):
20387        (-[WebView alwaysShowVerticalScroller]):
20388        (-[WebView setAlwaysShowHorizontalScroller:]):
20389        (-[WebView alwaysShowHorizontalScroller]):
20390        * WebView/WebViewPrivate.h:
20391
203922006-06-08  Darin Adler  <darin@apple.com>
20393
20394        Reviewed by Justin.
20395
20396        - fix http://bugs.webkit.org/show_bug.cgi?id=8616
20397          REGRESSION: TinyMCE: Crash on Undo
20398
20399        * WebView/WebHTMLView.m:
20400        (-[WebHTMLView _topHTMLView]): Added.
20401        (-[WebHTMLView _isTopHTMLView]): Added.
20402        (-[WebHTMLView _insideAnotherHTMLView]): Changed to use _topHTMLView.
20403        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
20404        Forward to the top HTML view, so that only the top view ever starts a dragging operation.
20405        Change dragging code to not assume that the dragged node is in the current view's document.
20406        Added checks that the node is an element in a couple places and coordinate conversions.
20407        (-[WebHTMLView _mayStartDragAtEventLocation:]): Forward to the top HTML view.
20408        (-[WebHTMLView addMouseMovedObserver]): Change to do nothing when the dataSource field is 0,
20409        since we now use the dataSource field to get to the WebView.
20410        (-[WebHTMLView removeMouseMovedObserver]): Added a comment.
20411        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
20412        Forward to the top HTML view.
20413        (-[WebHTMLView draggingSourceOperationMaskForLocal:]): Assert that it's the top HTML view.
20414        (-[WebHTMLView draggedImage:movedTo:]): Ditto.
20415        (-[WebHTMLView draggedImage:endedAt:operation:]): Ditto.
20416        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
20417        (-[WebHTMLView _canProcessDragWithDraggingInfo:]): Ditto.
20418        (-[WebHTMLView _isMoveDrag]): Ditto.
20419        (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Ditto.
20420        (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
20421        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Ditto. Also added code to work
20422        with the appropriate bridge when receiving a drag. This fixes the problem where the
20423        top level frame got a selection intended for the inner frame; the source of the bug.
20424        (-[WebHTMLView elementAtPoint:allowShadowContent:]): Added code to convert the coordinates
20425        so this works properly when returning an element from an inner frame.
20426        (-[WebHTMLView setDataSource:]): Added a call to addMouseMovedObserver, needed now that
20427        addMouseMovedObserver won't do anything if called when dataSource is nil.
20428        (-[WebHTMLView _delegateDragSourceActionMask]): Forward to the top HTML view.
20429
20430        * WebView/WebView.m:
20431        (-[WebViewPrivate dealloc]): Removed code to release dragCaretBridge since that field
20432        is now gone.
20433        (-[WebView moveDragCaretToPoint:]): Always call the main frame's bridge, since the
20434        drag caret is now a page-level item. Later we'll move it to the page bridge.
20435        (-[WebView removeDragCaret]): Ditto.
20436
204372006-06-07  David Hyatt  <hyatt@apple.com>
20438
20439        Add support for custom highlighting to WebKit.
20440
20441        Reviewed by justin
20442
20443        * WebCoreSupport/WebFrameBridge.m:
20444        (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:]):
20445        * WebView/WebHTMLView.m:
20446        (-[WebHTMLView _highlighterForType:]):
20447        * WebView/WebHTMLViewInternal.h:
20448        * WebView/WebHTMLViewPrivate.h:
20449
204502006-06-07  Adele Peterson  <adele@apple.com>
20451
20452        Reviewed by Hyatt. 
20453
20454        Added resources for missingImage and textAreaResizeCorner.
20455
20456        * COM/WebKitDLL.cpp:
20457        (loadResourceIntoArray): Added. Returns a DeprecatedByteArray with the resource's data.
20458        * WebKit.vcproj/WebKit.rc: Added missing image and resize pngs as resources. 
20459        * WebKit.vcproj/WebKit.vcproj: Added pngs.
20460        * WebKit.vcproj/missingImage.png: Added.
20461        * WebKit.vcproj/resource.h: Added entries for pngs.
20462        * WebKit.vcproj/textAreaResizeCorner.png: Added.
20463
204642006-06-07  David Hyatt  <hyatt@apple.com>
20465
20466        Add SPI for setting and removing custom highlighters.
20467
20468        Reviewed by Tim H
20469
20470        * WebView/WebHTMLView.m:
20471        (-[WebTextCompleteController dealloc]):
20472        (-[WebHTMLView _setHighlighter:ofType:]):
20473        (-[WebHTMLView _removeHighlighterOfType:]):
20474        * WebView/WebHTMLViewInternal.h:
20475        * WebView/WebHTMLViewPrivate.h:
20476
204772006-06-06  Adele Peterson  <adele@apple.com>
20478
20479        Reviewed by Justin. 
20480
20481        * COM/WebView.cpp:
20482        (WebView::keyPress): Added case for VK_RETURN. 
20483
204842006-06-06  Anders Carlsson  <acarlsson@apple.com>
20485
20486        Reviewed by John.
20487
20488        * WebView/WebFrame.m:
20489        (-[WebFrame _reloadForPluginChanges]):
20490        Don't traverse the view hierarchy looking for plugin views. Instead, just
20491        ask the frame whether it contains any plugins.
20492
204932006-06-03  Steve Falkenburg  <sfalken@apple.com>
20494
20495        Reviewed by hyatt.
20496        
20497        Add implementation of loadHTMLString for Spinneret
20498
20499        * COM/WebFrame.cpp:
20500        (WebFrame::loadHTMLString):
20501
205022006-06-02  Steve Falkenburg  <sfalken@apple.com>
20503
20504        Reviewed by darin.
20505
20506        New hosting for Spinneret to avoid static linking
20507
20508        * COM: Added.
20509        * COM/Interfaces: Added.
20510        * COM/Interfaces/DOMCSS.idl: Added.
20511        * COM/Interfaces/DOMCore.idl: Added.
20512        * COM/Interfaces/DOMHTML.idl: Added.
20513        * COM/Interfaces/DOMRange.idl: Added.
20514        * COM/Interfaces/IWebArchive.idl: Added.
20515        * COM/Interfaces/IWebAttributedString.idl: Added.
20516        * COM/Interfaces/IWebBackForwardList.idl: Added.
20517        * COM/Interfaces/IWebDataSource.idl: Added.
20518        * COM/Interfaces/IWebDocument.idl: Added.
20519        * COM/Interfaces/IWebDownload.idl: Added.
20520        * COM/Interfaces/IWebEditingDelegate.idl: Added.
20521        * COM/Interfaces/IWebError.idl: Added.
20522        * COM/Interfaces/IWebFrame.idl: Added.
20523        * COM/Interfaces/IWebFrameLoadDelegate.idl: Added.
20524        * COM/Interfaces/IWebFrameView.idl: Added.
20525        * COM/Interfaces/IWebHistoryItem.idl: Added.
20526        * COM/Interfaces/IWebIconDatabase.idl: Added.
20527        * COM/Interfaces/IWebImage.idl: Added.
20528        * COM/Interfaces/IWebMutableURLRequest.idl: Added.
20529        * COM/Interfaces/IWebNotification.idl: Added.
20530        * COM/Interfaces/IWebPolicyDelegate.idl: Added.
20531        * COM/Interfaces/IWebPreferences.idl: Added.
20532        * COM/Interfaces/IWebResource.idl: Added.
20533        * COM/Interfaces/IWebResourceLoadDelegate.idl: Added.
20534        * COM/Interfaces/IWebScriptObject.idl: Added.
20535        * COM/Interfaces/IWebUIDelegate.idl: Added.
20536        * COM/Interfaces/IWebURLAuthenticationChallenge.idl: Added.
20537        * COM/Interfaces/IWebURLRequest.idl: Added.
20538        * COM/Interfaces/IWebURLResponse.idl: Added.
20539        * COM/Interfaces/IWebUndoManager.idl: Added.
20540        * COM/Interfaces/IWebView.idl: Added.
20541        * COM/Interfaces/WebKit.idl: Added.
20542        * COM/WebBackForwardList.cpp: Added.
20543        (WebBackForwardList::WebBackForwardList):
20544        (WebBackForwardList::~WebBackForwardList):
20545        (WebBackForwardList::createInstance):
20546        (WebBackForwardList::QueryInterface):
20547        (WebBackForwardList::AddRef):
20548        (WebBackForwardList::Release):
20549        (WebBackForwardList::addItem):
20550        (WebBackForwardList::goBack):
20551        (WebBackForwardList::goForward):
20552        (WebBackForwardList::goToItem):
20553        (WebBackForwardList::backItem):
20554        (WebBackForwardList::currentItem):
20555        (WebBackForwardList::forwardItem):
20556        (WebBackForwardList::backListWithLimit):
20557        (WebBackForwardList::forwardListWithLimit):
20558        (WebBackForwardList::capacity):
20559        (WebBackForwardList::setCapacity):
20560        (WebBackForwardList::backListCount):
20561        (WebBackForwardList::forwardListCount):
20562        (WebBackForwardList::containsItem):
20563        (WebBackForwardList::itemAtIndex):
20564        (WebBackForwardList::setPageCacheSize):
20565        (WebBackForwardList::pageCacheSize):
20566        * COM/WebBackForwardList.h: Added.
20567        * COM/WebDataSource.cpp: Added.
20568        (WebDataSource::WebDataSource):
20569        (WebDataSource::~WebDataSource):
20570        (WebDataSource::createInstance):
20571        (WebDataSource::QueryInterface):
20572        (WebDataSource::AddRef):
20573        (WebDataSource::Release):
20574        (WebDataSource::initWithRequest):
20575        (WebDataSource::data):
20576        (WebDataSource::representation):
20577        (WebDataSource::webFrame):
20578        (WebDataSource::initialRequest):
20579        (WebDataSource::request):
20580        (WebDataSource::response):
20581        (WebDataSource::textEncodingName):
20582        (WebDataSource::isLoading):
20583        (WebDataSource::pageTitle):
20584        (WebDataSource::unreachableURL):
20585        (WebDataSource::webArchive):
20586        (WebDataSource::mainResource):
20587        (WebDataSource::subresources):
20588        (WebDataSource::subresourceForURL):
20589        (WebDataSource::addSubresource):
20590        * COM/WebDataSource.h: Added.
20591        * COM/WebFrame.cpp: Added.
20592        (WebFrame::WebFramePrivate::WebFramePrivate):
20593        (WebFrame::WebFramePrivate::~WebFramePrivate):
20594        (WebFrame::WebFrame):
20595        (WebFrame::~WebFrame):
20596        (WebFrame::createInstance):
20597        (WebFrame::QueryInterface):
20598        (WebFrame::AddRef):
20599        (WebFrame::Release):
20600        (WebFrame::initWithName):
20601        (WebFrame::name):
20602        (WebFrame::webView):
20603        (WebFrame::frameView):
20604        (WebFrame::DOMDocument):
20605        (WebFrame::frameElement):
20606        (WebFrame::loadRequest):
20607        (WebFrame::loadData):
20608        (WebFrame::loadHTMLString):
20609        (WebFrame::loadAlternateHTMLString):
20610        (WebFrame::loadArchive):
20611        (WebFrame::dataSource):
20612        (WebFrame::provisionalDataSource):
20613        (WebFrame::stopLoading):
20614        (WebFrame::reload):
20615        (WebFrame::findFrameNamed):
20616        (WebFrame::parentFrame):
20617        (WebFrame::childFrames):
20618        (WebFrame::paint):
20619        (WebFrame::impl):
20620        (WebFrame::loadDataSource):
20621        (WebFrame::loading):
20622        (WebFrame::goToItem):
20623        (WebFrame::loadItem):
20624        (WebSystemMainMemory):
20625        (WebFrame::getObjectCacheSize):
20626        (WebFrame::receivedRedirect):
20627        (WebFrame::receivedResponse):
20628        (WebFrame::receivedData):
20629        (WebFrame::receivedAllData):
20630        (WebFrame::openURL):
20631        (WebFrame::submitForm):
20632        (WebFrame::setTitle):
20633        (WebFrame::setStatusText):
20634        * COM/WebFrame.h: Added.
20635        * COM/WebHistoryItem.cpp: Added.
20636        (WebHistoryItem::WebHistoryItem):
20637        (WebHistoryItem::~WebHistoryItem):
20638        (WebHistoryItem::createInstance):
20639        (WebHistoryItem::QueryInterface):
20640        (WebHistoryItem::AddRef):
20641        (WebHistoryItem::Release):
20642        (WebHistoryItem::initWithURLString):
20643        (WebHistoryItem::originalURLString):
20644        (WebHistoryItem::URLString):
20645        (WebHistoryItem::title):
20646        (WebHistoryItem::lastVisitedTimeInterval):
20647        (WebHistoryItem::setAlternateTitle):
20648        (WebHistoryItem::alternateTitle):
20649        (WebHistoryItem::icon):
20650        * COM/WebHistoryItem.h: Added.
20651        * COM/WebIconDatabase.cpp: Added.
20652        (WebIconDatabase::WebIconDatabase):
20653        (WebIconDatabase::~WebIconDatabase):
20654        (WebIconDatabase::createInstance):
20655        (WebIconDatabase::QueryInterface):
20656        (WebIconDatabase::AddRef):
20657        (WebIconDatabase::Release):
20658        (WebIconDatabase::sharedIconDatabase):
20659        (WebIconDatabase::iconForURL):
20660        (WebIconDatabase::defaultIconWithSize):
20661        (WebIconDatabase::retainIconForURL):
20662        (WebIconDatabase::releaseIconForURL):
20663        (WebIconDatabase::delayDatabaseCleanup):
20664        (WebIconDatabase::allowDatabaseCleanup):
20665        * COM/WebIconDatabase.h: Added.
20666        * COM/WebKitClassFactory.cpp: Added.
20667        (WebKitClassFactory::WebKitClassFactory):
20668        (WebKitClassFactory::~WebKitClassFactory):
20669        (WebKitClassFactory::QueryInterface):
20670        (WebKitClassFactory::AddRef):
20671        (WebKitClassFactory::Release):
20672        (WebKitClassFactory::CreateInstance):
20673        (WebKitClassFactory::LockServer):
20674        * COM/WebKitClassFactory.h: Added.
20675        * COM/WebKitDLL.cpp: Added.
20676        (DllMain):
20677        (DllGetClassObject):
20678        (DllCanUnloadNow):
20679        (DllUnregisterServer):
20680        (DllRegisterServer):
20681        * COM/WebKitDLL.h: Added.
20682        * COM/WebMutableURLRequest.cpp: Added.
20683        (WebMutableURLRequest::WebMutableURLRequest):
20684        (WebMutableURLRequest::~WebMutableURLRequest):
20685        (WebMutableURLRequest::createInstance):
20686        (WebMutableURLRequest::QueryInterface):
20687        (WebMutableURLRequest::AddRef):
20688        (WebMutableURLRequest::Release):
20689        (WebMutableURLRequest::requestWithURL):
20690        (WebMutableURLRequest::allHTTPHeaderFields):
20691        (WebMutableURLRequest::cachePolicy):
20692        (WebMutableURLRequest::HTTPBody):
20693        (WebMutableURLRequest::HTTPBodyStream):
20694        (WebMutableURLRequest::HTTPMethod):
20695        (WebMutableURLRequest::HTTPShouldHandleCookies):
20696        (WebMutableURLRequest::initWithURL):
20697        (WebMutableURLRequest::mainDocumentURL):
20698        (WebMutableURLRequest::timeoutInterval):
20699        (WebMutableURLRequest::URL):
20700        (WebMutableURLRequest::valueForHTTPHeaderField):
20701        (WebMutableURLRequest::addValue):
20702        (WebMutableURLRequest::setAllHTTPHeaderFields):
20703        (WebMutableURLRequest::setCachePolicy):
20704        (WebMutableURLRequest::setHTTPBody):
20705        (WebMutableURLRequest::setHTTPBodyStream):
20706        (WebMutableURLRequest::setHTTPMethod):
20707        (WebMutableURLRequest::setHTTPShouldHandleCookies):
20708        (WebMutableURLRequest::setMainDocumentURL):
20709        (WebMutableURLRequest::setTimeoutInterval):
20710        (WebMutableURLRequest::setURL):
20711        (WebMutableURLRequest::setValue):
20712        (WebMutableURLRequest::setFormData):
20713        (WebMutableURLRequest::formData):
20714        * COM/WebMutableURLRequest.h: Added.
20715        * COM/WebView.cpp: Added.
20716        (WebView::WebView):
20717        (WebView::~WebView):
20718        (WebView::createInstance):
20719        (WebView::mouseMoved):
20720        (WebView::mouseDown):
20721        (WebView::mouseUp):
20722        (WebView::mouseDoubleClick):
20723        (WebView::keyPress):
20724        (registerWebView):
20725        (WebViewWndProc):
20726        (calculateScrollDelta):
20727        (scrollMessageForKey):
20728        (WebView::goToItem):
20729        (WebView::QueryInterface):
20730        (WebView::AddRef):
20731        (WebView::Release):
20732        (WebView::canShowMIMEType):
20733        (WebView::canShowMIMETypeAsHTML):
20734        (WebView::MIMETypesShownAsHTML):
20735        (WebView::setMIMETypesShownAsHTML):
20736        (WebView::URLFromPasteboard):
20737        (WebView::URLTitleFromPasteboard):
20738        (WebView::initWithFrame):
20739        (WebView::setUIDelegate):
20740        (WebView::uiDelegate):
20741        (WebView::setResourceLoadDelegate):
20742        (WebView::resourceLoadDelegate):
20743        (WebView::setDownloadDelegate):
20744        (WebView::downloadDelegate):
20745        (WebView::setFrameLoadDelegate):
20746        (WebView::frameLoadDelegate):
20747        (WebView::setPolicyDelegate):
20748        (WebView::policyDelegate):
20749        (WebView::mainFrame):
20750        (WebView::backForwardList):
20751        (WebView::setMaintainsBackForwardList):
20752        (WebView::goBack):
20753        (WebView::goForward):
20754        (WebView::goToBackForwardItem):
20755        (WebView::setTextSizeMultiplier):
20756        (WebView::textSizeMultiplier):
20757        (WebView::setApplicationNameForUserAgent):
20758        (WebView::applicationNameForUserAgent):
20759        (WebView::setCustomUserAgent):
20760        (WebView::customUserAgent):
20761        (WebView::userAgentForURL):
20762        (WebView::supportsTextEncoding):
20763        (WebView::setCustomTextEncodingName):
20764        (WebView::customTextEncodingName):
20765        (WebView::setMediaStyle):
20766        (WebView::mediaStyle):
20767        (WebView::stringByEvaluatingJavaScriptFromString):
20768        (WebView::windowScriptObject):
20769        (WebView::setPreferences):
20770        (WebView::preferences):
20771        (WebView::setPreferencesIdentifier):
20772        (WebView::preferencesIdentifier):
20773        (WebView::setHostWindow):
20774        (WebView::hostWindow):
20775        (WebView::searchFor):
20776        (WebView::registerViewClass):
20777        (WebView::takeStringURLFrom):
20778        (WebView::stopLoading):
20779        (WebView::reload):
20780        (WebView::canGoBack):
20781        (WebView::canGoForward):
20782        (WebView::canMakeTextLarger):
20783        (WebView::makeTextLarger):
20784        (WebView::canMakeTextSmaller):
20785        (WebView::makeTextSmaller):
20786        (WebView::computedStyleForElement):
20787        (WebView::editableDOMRangeForPoint):
20788        (WebView::setSelectedDOMRange):
20789        (WebView::selectedDOMRange):
20790        (WebView::selectionAffinity):
20791        (WebView::setEditable):
20792        (WebView::isEditable):
20793        (WebView::setTypingStyle):
20794        (WebView::typingStyle):
20795        (WebView::setSmartInsertDeleteEnabled):
20796        (WebView::smartInsertDeleteEnabled):
20797        (WebView::setContinuousSpellCheckingEnabled):
20798        (WebView::isContinuousSpellCheckingEnabled):
20799        (WebView::spellCheckerDocumentTag):
20800        (WebView::undoManager):
20801        (WebView::setEditingDelegate):
20802        (WebView::editingDelegate):
20803        (WebView::styleDeclarationWithText):
20804        (WebView::replaceSelectionWithNode):
20805        (WebView::replaceSelectionWithText):
20806        (WebView::replaceSelectionWithMarkupString):
20807        (WebView::replaceSelectionWithArchive):
20808        (WebView::deleteSelection):
20809        (WebView::applyStyle):
20810        (WebView::copy):
20811        (WebView::cut):
20812        (WebView::paste):
20813        (WebView::copyFont):
20814        (WebView::pasteFont):
20815        (WebView::delete_):
20816        (WebView::pasteAsPlainText):
20817        (WebView::pasteAsRichText):
20818        (WebView::changeFont):
20819        (WebView::changeAttributes):
20820        (WebView::changeDocumentBackgroundColor):
20821        (WebView::changeColor):
20822        (WebView::alignCenter):
20823        (WebView::alignJustified):
20824        (WebView::alignLeft):
20825        (WebView::alignRight):
20826        (WebView::checkSpelling):
20827        (WebView::showGuessPanel):
20828        (WebView::performFindPanelAction):
20829        (WebView::startSpeaking):
20830        (WebView::stopSpeaking):
20831        (WebView::viewWindow):
20832        * COM/WebView.h: Added.
20833        * WebKit.vcproj: Added.
20834        * WebKit.vcproj/Interfaces.vcproj: Added.
20835        * WebKit.vcproj/WebKit.def: Added.
20836        * WebKit.vcproj/WebKit.rc: Added.
20837        * WebKit.vcproj/WebKit.sln: Added.
20838        * WebKit.vcproj/WebKit.vcproj: Added.
20839        * WebKit.vcproj/WebKitGUID.vcproj: Added.
20840        * WebKit.vcproj/autoversion.h: Added.
20841        * WebKit.vcproj/resource.h: Added.
20842
208432006-06-02  Darin Adler  <darin@apple.com>
20844
20845        * WebCoreSupport/WebImageRendererFactory.m: Fix crash on Safari startup
20846        by include NSObject as a superclass (oops!).
20847
208482006-06-01  Darin Adler  <darin@apple.com>
20849
20850        Reviewed by Maciej.
20851
20852        - WebCore doesn't need to load WebKit images any more; removed code for that
20853
20854        * Resources/missing_image.tiff: Removed.
20855        * WebCoreSupport/WebImageRendererFactory.h: Removed.
20856
20857        * WebCoreSupport/WebImageRendererFactory.m: Moved @interface in here.
20858        Removed all but the "threaded decoding" calls that older Safari calls.
20859        This file can go altogether when compatibility with that older Safari
20860        is no longer needed.
20861
20862        * WebKit.xcodeproj/project.pbxproj: Removed WebImageRendererFactory.h
20863        and missing_image.tiff.
20864
20865        * WebView/WebFrameView.m: (-[WebFrameView initWithFrame:]): Removed call
20866        to [WebImageRendererFactory createSharedFactory].
20867
208682006-06-01  Brady Eidson  <beidson@apple.com>
20869
20870        Reviewed by Maciej.
20871
20872        Simple changes to hook up the new WebCore based Icon Database
20873        for testing.
20874
20875        * ChangeLog:
20876        * Misc/WebIconDatabase.m:
20877        (-[WebIconDatabase _applicationWillTerminate:]):
20878        * Misc/WebIconDatabasePrivate.h:
20879        * WebKit.xcodeproj/project.pbxproj:
20880
208812006-06-01  Anders Carlsson  <acarlsson@apple.com>
20882
20883        Reviewed by Darin.
20884
20885        http://bugs.webkit.org/show_bug.cgi?id=6309
20886        multiple problems prevent bookmarking/back button technique for AJAX/DHTML applications from working
20887
20888        * Misc/WebNSURLExtras.m:
20889        (-[NSString _webkit_URLFragment]):
20890        Don't include the "#" character in the fragment.
20891        
20892        * WebCoreSupport/WebFrameBridge.m:
20893        (-[WebFrameBridge historyURL:]):
20894        New function, returns the history URL for a given position in the back/forward list
20895        
20896        * WebView/WebFrame.m:
20897        (-[WebFrame _loadItem:withLoadType:]):
20898        Always call scrollToAnchorWithURL, even if there is no fragment. This way we keep the WebCore frame's
20899        URL up-to-date.
20900
209012006-06-01  Maciej Stachowiak  <mjs@apple.com>
20902
20903        Reviewed by Anders.
20904        
20905        - fixed "REGRESSION: Can't order from Pizza Hut (ToT, 05/24/06)"
20906        http://bugs.webkit.org/show_bug.cgi?id=9103
20907
20908        * WebView/WebDataSource.m:
20909        (-[WebDataSource _willSendRequest:forResource:redirectResponse:]): Set up the
20910        User-Agent header.
20911        * WebView/WebDataSourceInternal.h:
20912        * WebView/WebLoader.m:
20913        (-[NSURLProtocol willSendRequest:redirectResponse:]): Pass a mutable URL request
20914        so the above can work.
20915
209162006-06-01  Anders Carlsson  <acarlsson@apple.com>
20917
20918        Reviewed by Darin.
20919
20920        * WebView/WebFrameView.m:
20921        (+[WebFrameView _canShowMIMETypeAsHTML:]):
20922        Use _webkit_objectForMIMEType here so we'll get an object back for "text/".
20923
209242006-05-31  David Hyatt  <hyatt@apple.com>
20925
20926        Make programmatic focus/blur actually work on sub-frames.  Make the
20927        top-level UI delegate get called for deactivation of windows.
20928
20929        Reviewed by darin
20930
20931        * WebCoreSupport/WebFrameBridge.m:
20932        (-[WebFrameBridge activateWindow]):
20933        (-[WebFrameBridge deactivateWindow]):
20934        (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
20935        (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
20936        * WebKit.xcodeproj/project.pbxproj:
20937
20938=== WebKit-521.12 ===
20939
209402006-05-26  David Harrison  <harrison@apple.com>
20941
20942        Reviewed by John Sullivan.
20943
20944        <rdar://problem/4514529> Add a list type parameter and a return value to _increaseSelectionListLevel
20945
20946        * WebView/WebHTMLView.m:
20947        (-[WebHTMLView _increaseSelectionListLevel]):
20948        - Now returns DOMNode*
20949
20950        (-[WebHTMLView _increaseSelectionListLevelOrdered]):
20951        (-[WebHTMLView _increaseSelectionListLevelUnordered]):
20952        - Added.  These also return DOMNode*
20953
20954        * WebView/WebHTMLViewPrivate.h:
20955        - Updated as above
20956
209572006-05-25  Tim Omernick  <timo@apple.com>
20958
20959        Reviewed by Anders.
20960
20961        <http://bugs.webkit.org/show_bug.cgi?id=8347>
20962        REGRESSION: Flash movie audible but not visible until window is resized
20963
20964        * Plugins/WebNetscapePluginDocumentView.m:
20965        (-[WebNetscapePluginDocumentView dataSourceUpdated:]):
20966        Layout if needed here.  Maciej recently removed the "LayoutAcceptable" frame state, which used to
20967        cause plugin document views to lay out immediately upon receiving data.  This call to -layout has
20968        the same effect.
20969
20970=== WebKit-521.11.1 ===
20971
209722006-05-25  Timothy Hatcher  <timothy@apple.com>
20973
20974        Reviewed by Tim O.
20975
20976        <rdar://problem/4559808> WebKit fails to compile for ppc64
20977        <rdar://problem/4522085> 64-bit: WebKit uses FSSpec which is not available in 64-bit
20978        Gets WebKit building under 64-bit. Rename WebNSInt and WebNSUInt to WebNSInteger and WebNSUInteger.
20979        Start using WebNSInteger where we need to match AppKit API usage of NSInteger.
20980
20981        HIWebView and a couple of helper functions are disabled until they can be moved off of QuickDraw.
20982        <rdar://problem/4561772> HIWebView needs to be reworked to not use QuickDraw, needed for 64-bit
20983
20984        * Carbon/CarbonUtils.m: disabled this file in 64-bit <rdar://problem/4561772>
20985        * Carbon/CarbonWindowAdapter.m:
20986        (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
20987        * Carbon/CarbonWindowFrame.m:
20988        (+[CarbonWindowFrame frameRectForContentRect:styleMask:]):
20989        (+[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
20990        (+[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
20991        (-[CarbonWindowFrame frameRectForContentRect:styleMask:]):
20992        (-[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
20993        (-[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
20994        * Carbon/HIViewAdapter.m: disabled this file in 64-bit <rdar://problem/4561772>
20995        * Carbon/HIWebView.m: disabled this file in 64-bit <rdar://problem/4561772>
20996        (HIWebViewEventHandler):
20997        * DefaultDelegates/WebDefaultResourceLoadDelegate.m:
20998        (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]):
20999        * History/WebBackForwardList.m:
21000        (-[WebBackForwardList removeItem:]):
21001        (-[WebBackForwardList goToItem:]):
21002        * Misc/WebDownload.m:
21003        (-[WebDownloadInternal download:didReceiveDataOfLength:]):
21004        * Misc/WebFileDatabase.m:
21005        (UniqueFilePathForKey):
21006        * Misc/WebIconDatabase.m:
21007        (-[NSMutableDictionary retainIconForURL:]):
21008        (-[NSMutableDictionary releaseIconForURL:]):
21009        (-[WebIconDatabase _totalRetainCountForIconURLString:]):
21010        (-[WebIconDatabase _retainIconForIconURLString:]):
21011        (-[WebIconDatabase _releaseIconForIconURLString:]):
21012        * Misc/WebSearchableTextView.m:
21013        (-[NSString selectionRect]):
21014        * Misc/WebTypesInternal.h: Added.
21015        * Plugins/WebBaseNetscapePluginStream.m:
21016        (-[WebBaseNetscapePluginStream _destroyStream]):
21017        (CarbonPathFromPOSIXPath):
21018        * Plugins/WebBaseNetscapePluginView.m:
21019        (-[WebBaseNetscapePluginView sendActivateEvent:]):
21020        (-[WebBaseNetscapePluginView sendUpdateEvent]):
21021        (TSMEventHandler):
21022        (-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]):
21023        (-[WebBaseNetscapePluginView _printedPluginBitmap]):
21024        (-[NSData _web_locationAfterFirstBlankLine]):
21025        * Plugins/WebBasePluginPackage.m:
21026        (-[WebBasePluginPackage hash]):
21027        * Plugins/WebNetscapePluginPackage.m:
21028        (-[WebNetscapePluginPackage load]):
21029        (functionPointerForTVector):
21030        * WebInspector/WebInspector.m:
21031        (-[WebInspector _updateSystemColors]):
21032        * WebKit.xcodeproj/project.pbxproj:
21033        * WebView/WebDataSource.m:
21034        (-[WebDataSource _didReceiveData:contentLength:forResource:]):
21035        * WebView/WebFrame.m:
21036        (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
21037        * WebView/WebHTMLView.m:
21038        (-[WebHTMLView drawRect:]):
21039        (-[WebHTMLView characterIndexForPoint:]):
21040        (-[WebHTMLView conversationIdentifier]):
21041        * WebView/WebResourceLoadDelegate.h:
21042        * WebView/WebUIDelegate.h:
21043        * WebView/WebView.h:
21044        * WebView/WebView.m:
21045        (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
21046        (-[WebView spellCheckerDocumentTag]):
21047        * WebView/WebViewInternal.h:
21048        * WebView/WebViewPrivate.h:
21049
21050=== WebKit-521.11 ===
21051
210522006-05-23  Maciej Stachowiak  <mjs@apple.com>
21053
21054        Reviewed by Tim.
21055        
21056        - more loader refactoring to simplify things and remove knowledge of WebView from WebSubresourceLoader
21057
21058        * WebCoreSupport/WebSubresourceLoader.m:
21059        (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
21060        (-[WebSubresourceLoader didReceiveResponse:]):
21061        * WebView/WebDataSource.m:
21062        (-[WebDataSource _loadIcon]):
21063        (-[WebDataSource _startLoading]):
21064        * WebView/WebFrame.m:
21065        (-[WebFrame _loadRequest:archive:]):
21066        (-[WebFrame _loadItem:withLoadType:]):
21067        (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
21068        (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
21069        (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
21070        * WebView/WebFrameInternal.h:
21071        * WebView/WebFramePrivate.h:
21072        * WebView/WebLoader.h:
21073        * WebView/WebLoader.m:
21074        * WebView/WebMainResourceLoader.m:
21075        (-[WebMainResourceLoader initWithDataSource:]):
21076        (-[WebMainResourceLoader didReceiveResponse:]):
21077
210782006-05-23  Tim Omernick  <timo@apple.com>
21079
21080        Reviewed by John Sullivan.
21081
21082        <rdar://problem/4558301> REGRESSION (420+): After clearing history and closing bookmark view window,
21083        attempting to select Safari's menu bar results in a crash
21084
21085        * Misc/WebNSWindowExtras.m:
21086        (replacementPostWindowNeedsDisplay):
21087        My fix yesterday for 4557117 was not quite good enough.  Now that we cancel the display timer for a
21088        window *before* it deallocates, we need to make sure that while a window deallocates, no new display
21089        timers are scheduled for that window.  This is actually possible, as 4558301 demonstrates.
21090        Luckily, NSWindow sets a handy "windowDying" flag when it deallocates, so we can just check that flag
21091        and bail out of the throttle hack if it is set.  This should fix the last of the crashes involving
21092        display timers scheduled for deallocated or deallocating windows.
21093
210942006-05-23  Maciej Stachowiak  <mjs@apple.com>
21095
21096        Reviewed by Eric.
21097        
21098        - remove knowledge of WebView from WebLoader in preparation for moving the code down
21099
21100        * WebView/WebDataSource.m:
21101        (-[WebDataSource _defersCallbacks]):
21102        (-[WebDataSource _identifierForInitialRequest:]):
21103        (-[WebDataSource _willSendRequest:forResource:redirectResponse:]):
21104        (-[WebDataSource _didReceiveAuthenticationChallenge:forResource:]):
21105        (-[WebDataSource _didCancelAuthenticationChallenge:forResource:]):
21106        (-[WebDataSource _didReceiveResponse:forResource:]):
21107        (-[WebDataSource _didReceiveData:contentLength:forResource:]):
21108        (-[WebDataSource _didFinishLoadingForResource:]):
21109        (-[WebDataSource _didFailLoadingWithError:forResource:]):
21110        (-[WebDataSource _downloadWithLoadingConnection:request:response:proxy:]):
21111        (-[WebDataSource _privateBrowsingEnabled]):
21112        * WebView/WebDataSourceInternal.h:
21113        * WebView/WebLoader.h:
21114        * WebView/WebLoader.m:
21115        (-[WebLoader releaseResources]):
21116        (-[WebLoader setDataSource:]):
21117        (-[WebLoader willSendRequest:redirectResponse:]):
21118        (-[WebLoader didReceiveAuthenticationChallenge:]):
21119        (-[WebLoader didCancelAuthenticationChallenge:]):
21120        (-[WebLoader didReceiveResponse:]):
21121        (-[WebLoader didReceiveData:lengthReceived:]):
21122        (-[WebLoader signalFinish]):
21123        (-[WebLoader didFinishLoading]):
21124        (-[WebLoader didFailWithError:]):
21125        (-[WebLoader willCacheResponse:]):
21126        (-[WebLoader cancelWithError:]):
21127        * WebView/WebMainResourceLoader.m:
21128        (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
21129        * WebView/WebView.m:
21130        (-[WebView _incrementProgressForIdentifier:response:]):
21131        (-[WebView _incrementProgressForIdentifier:data:]):
21132        (-[WebView _completeProgressForIdentifier:]):
21133        * WebView/WebViewInternal.h:
21134
21135=== WebKit-521.10 ===
21136
211372006-05-22  Tim Omernick  <timo@apple.com>
21138
21139        Reviewed by Geoff.
21140
21141        <rdar://problem/4557117> TOT REGRESSION: Repro crash in cancelPendingWindowDisplay --> _timerRelease when
21142        opening file from file open dialog
21143
21144        Note that I could not reproduce this situation at all on any of my machines; I had to debug this on Geoff's
21145        machine.
21146
21147        * Misc/WebNSWindowExtras.m:
21148        (replacementDealloc):
21149        Cancel display timer before dealloc, not after.  Cancelling the timer can cause a message to be sent to the
21150        window; best to do that before the window deallocates.
21151        (replacementFinalize):
21152        ditto
21153
211542006-05-20  Maciej Stachowiak  <mjs@apple.com>
21155
21156        Reviewed by Beth.
21157        
21158        - fix assertion failure on layout tests
21159
21160        * WebView/WebDataSource.m:
21161        (-[WebDataSource _mainReceivedError:complete:]): Don't do anything
21162        if this data source is no longer connected to a frame. Used to be
21163        this couldn't happen because the WebView would have been nil, but
21164        we no longer go through the WebView.
21165
211662006-05-20  Timothy Hatcher  <timothy@apple.com>
21167
21168        Reviewed by Anders.
21169
21170        Bug 9018: REGRESSION: resizing the top area of the inspector does not grow as expected
21171        http://bugs.webkit.org/show_bug.cgi?id=9018
21172        
21173        Use clientHeight now that offsetHeight includes the border and padding.
21174        clientHeight should have been used initially.
21175
21176        * WebInspector/WebInspector.m:
21177        (-[WebInspector resizeTopArea]):
21178
211792006-05-18  Maciej Stachowiak  <mjs@apple.com>
21180
21181        Reviewed by Eric.
21182        
21183        - remove loading-related code from WebView
21184        http://bugs.webkit.org/show_bug.cgi?id=8981
21185
21186        * Plugins/WebNetscapePluginStream.m:
21187        (-[WebNetscapePlugInStreamLoader didFinishLoading]):
21188        (-[WebNetscapePlugInStreamLoader didFailWithError:]):
21189        * WebCoreSupport/WebSubresourceLoader.m:
21190        (-[WebSubresourceLoader receivedError:]):
21191        (-[WebSubresourceLoader signalFinish]):
21192        * WebView/WebDataSource.m:
21193        (-[WebDataSource _stopLoading]):
21194        (-[WebDataSource _receivedMainResourceError:complete:]):
21195        (-[WebDataSource _finishedLoadingResource]):
21196        (-[WebDataSource _mainReceivedBytesSoFar:complete:]):
21197        (-[WebDataSource _receivedError:]):
21198        (-[WebDataSource _mainReceivedError:complete:]):
21199        * WebView/WebDataSourceInternal.h:
21200        * WebView/WebFrame.m:
21201        (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
21202        * WebView/WebMainResourceLoader.m:
21203        (-[WebMainResourceLoader didReceiveData:lengthReceived:]):
21204        (-[WebMainResourceLoader didFinishLoading]):
21205        * WebView/WebView.m:
21206        * WebView/WebViewInternal.h:
21207
212082006-05-18  Tim Omernick  <timo@apple.com>
21209
21210        Reviewed by John Sullivan.
21211
21212        <rdar://problem/4551938> More options needed for window display throttle
21213
21214        We decided to play it safe and leave our window flushing behavior unchanged from the previous
21215        public release.  By default, CoreGraphics deferred updates are once again OFF, and the window
21216        display throttle is OFF.
21217
21218        Individual applications should set the WebKitThrottleWindowDisplayPreferenceKey and 
21219        WebKitEnableDeferredUpdatesPreferenceKey defaults to suit their needs.
21220
21221        Old behavior (like 10.4.6): WebKitThrottleWindowDisplayPreferenceKey=0 (or unset), 
21222        WebKitEnableDeferredUpdatesPreferenceKey (or unset).
21223
21224        Tear-free scrolling/animations: WebKitThrottleWindowDisplayPreferenceKey=0 (or unset),
21225        WebKitEnableDeferredUpdatesPreferenceKey=1.  While this configuration fixes the tearing issues
21226        caused by over-flushing, some applications will experience performance problems as over-flushing
21227        with CG deferred updates enabled will cause the app to block.
21228
21229        Tear-free scrolling/animations, high performance: WebKitThrottleWindowDisplayPreferenceKey=1, 
21230        WebKitEnableDeferredUpdatesPreferenceKey=1.  This is the riskiest configuration in that it
21231        enables the window display throttle "feature", potentially breaking applications' assumptions
21232        about when displays occur.  However, it provides the "best of both worlds", in that updates
21233        are tear-free, and performance impact should me minimal.
21234
21235        * WebView/WebPreferenceKeysPrivate.h:
21236        Declared WebKitThrottleWindowDisplayPreferenceKey and WebKitEnableDeferredUpdatesPreferenceKey.
21237
21238        * WebView/WebFrameView.m:
21239        (-[WebFrameView initWithFrame:]):
21240        Turn off CG deferred updates if WebKitEnableDeferredUpdatesPreferenceKey is NO or has no value.
21241        Added some comments.
21242
212432006-05-18  John Sullivan  <sullivan@apple.com>
21244
21245        Reviewed by Darin Adler.
21246        
21247        - fixed <rdar://problem/4552713> REGRESSION: WebFrameView no longer responds to responder methods sent by Safari code
21248
21249        * WebView/WebView.m:
21250        (-[WebView _responderForResponderOperations]):
21251        Treat sibling views of the main frameView the same as views outside of the webview for the purposes of this mechanism.
21252
212532006-05-18  Tim Omernick  <timo@apple.com>
21254
21255        Reviewed by John Sullivan.
21256
21257        <rdar://problem/4553450> Make disabling window throttle safer
21258
21259        * Misc/WebNSWindowExtras.m:
21260        (+[NSWindow _webkit_enableWindowDisplayThrottle]):
21261        Don't assume that +_webkit_disableWindowDisplayThrottle restored the NSWindow method implementations; 
21262        now we'll only swizzle them once, and our replacement IMPs will call the old IMPs when the window
21263        throttle is disabled.  This is a safer approach when other components/"haxies" override the same methods
21264        that we are overriding, as it allows the overrides to "chain" properly.
21265        Moved the dictionary initialization code down a bit.  The order doesn't matter here.
21266        (disableWindowDisplayThrottleApplierFunction):
21267        Noticed that this could have been written safer with respect to the timer having the last reference to
21268        the window.  I never experienced a crash here, but this code is definitely safer.
21269        (+[NSWindow _webkit_disableWindowDisplayThrottle]):
21270        Don't restore NSWindow method implementations; just clear the flag, flush pending displays, and destroy
21271        the dictionary.
21272        (replacementPostWindowNeedsDisplay):
21273        If throttling is disabled, just call the original IMP.
21274        (clearWindowDisplayInfo):
21275        Added an assert.
21276        (replacementDealloc):
21277        Don't call clearWindowDisplayInfo() when throttling is disabled.
21278        (replacementFinalize):
21279        ditto
21280        (cancelPendingWindowDisplay):
21281        Removed an unnecessary assertion.
21282
212832006-05-17  Tim Omernick  <timo@apple.com>
21284
21285        Reviewed by Kevin Decker and John Sullivan.
21286
21287        <rdar://problem/4550801> REGRESSION: Window throttle code can sometimes leak NSWindows
21288
21289        The window display throttle depended on windows being closed before they were deallocated; this is
21290        not guaranteed by AppKit.  Windows that were being released without being closed were getting stuck
21291        in our NSWindow -> WindowDisplayInfo dictionary.
21292        
21293        * Misc/WebNSWindowExtras.m:
21294        (+[NSWindow _webkit_enableWindowDisplayThrottle]):
21295        Don't retain the NSWindow keys in the window display info dictionary.
21296        Instead of overriding -close, override -dealloc and -finalize so that we can remove the NSWindow ->
21297        WindowDisplayInfo mapping when a window deallocates.
21298        (+[NSWindow _webkit_disableWindowDisplayThrottle]):
21299        Restore -dealloc and -finalize.
21300        (clearWindowDisplayInfo):
21301        Factored the WindowDisplayInfo cleanup code out of the now-defunct replacementClose().
21302        (replacementClose):
21303        Removed; no longer needed.
21304        (replacementDealloc):
21305        Clear the WindowDisplayInfo for the window after deallocation.
21306        (replacementFinalize):
21307        ditto
21308        (-[NSWindow _webkit_doPendingPostWindowNeedsDisplay:]):
21309        Rewrote this method to be safe in the case where the firing display timer has the last reference to the
21310        window.
21311        Added comments.
21312        
213132006-05-17  bradeeoh  <beidson@apple.com>
21314
21315        Reviewed by Tim Hatcher
21316
21317        Consolidated WebDatabase base class into WebFileDatabase as the inheritance relationship became 
21318        obsolete.  This improves readability and sets the stage for a further in-depth rewrite of the 
21319        WebIcon* code.
21320
21321        * Misc/WebDatabase.h: Removed.
21322        * Misc/WebDatabase.m: Removed.
21323        * Misc/WebFileDatabase.h:
21324        * Misc/WebFileDatabase.m:
21325        (-[WebFileDatabaseOp dealloc]): 
21326        (-[WebFileDatabase dealloc]):  
21327        (-[WebFileDatabase path]):
21328        (-[WebFileDatabase isOpen]):
21329        (-[WebFileDatabase sizeLimit]):
21330        * WebKit.xcodeproj/project.pbxproj:
21331
213322006-05-17  Adele Peterson  <adele@apple.com>
21333
21334        Reviewed by Hyatt.
21335
21336        WebKit part of initial checkin to prepare for http://bugs.webkit.org/show_bug.cgi?id=8948
21337        Switch to use new text field implementation for <textarea>
21338
21339        * WebView/WebHTMLView.m:
21340        (-[WebHTMLView insertNewline:]): If we're in plain text mode, insert a line break instead of a paragraph separator.
21341        (-[WebHTMLView insertParagraphSeparator:]): ditto.
21342        * WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]):
21343        Checks for textareas as well as textfields before allowing the delegate to control
21344        the context menu.  This won't affect the old textareas because AppKit handles those context menus.
21345
213462006-05-17  John Sullivan  <sullivan@apple.com>
21347
21348        Reviewed by Maciej.
21349
21350        First step towards making text-matching mechanism more flexible; updated for changes
21351        to WebCoreFrameBridge calls.
21352
21353        * WebView/WebHTMLView.m:
21354        (-[WebHTMLView highlightAllMatchesForString:caseSensitive:]):
21355        updated for name change in WebCoreFrameBridge, also now calls setMarkedTextMatchesAreHighlighted:
21356        (-[WebHTMLView clearHighlightedMatches]):
21357        updated for name change in WebCoreFrameBridge
21358
213592006-05-16  Matt Gough  <matt@softchaos.com>
21360
21361        Reviewed by Geoff.
21362        
21363        Ensured all the public headers have a newline at their end.
21364
21365        Client code can now have 'Missing Newline at end of File' warnings enabled without emitting
21366        such warnings against any WebKit includes.
21367
21368        * Misc/WebDownload.h:
21369        * Plugins/npfunctions.h:
21370        * WebView/WebResourceLoadDelegate.h:
21371        * WebView/WebUIDelegate.h:
21372        * WebView/WebView.h:
21373
213742006-05-16  Tim Omernick  <timo@apple.com>
21375
21376        Reviewed by Tim Hatcher.
21377
21378        http://bugs.webkit.org/show_bug.cgi?id=8945 (REGRESSION: Scrolling is very slow when dragging
21379        the thumb)
21380
21381        Rolled out one of my tweaks to the window display throttle hack (remember the last flush time instead
21382        of the last display time).  While that was technically a better approach, we discovered a problem
21383        with how it interacts with NSView scroll tracking.  Rather than further complicate this already
21384        crazy hack, I'm reverting back to the simple version.  This should yield similar numbers on iBench,
21385        but not exhibit the nasty scrolling problem.
21386        
21387        * Misc/WebNSWindowExtras.m:
21388        (+[NSWindow _webkit_enableWindowDisplayThrottle]):
21389        (+[NSWindow _webkit_disableWindowDisplayThrottle]):
21390        (getWindowDisplayInfo):
21391        (requestWindowDisplay):
21392
213932006-05-16  bradeeoh  <beidson@apple.com>
21394
21395        Reviewed by Maciej Stachowiak
21396
21397        - Fixed an old deprecated method in Misc/WebFileDatabase.m
21398
21399        * Misc/WebFileDatabase.m:
21400        (UniqueFilePathForKey):  changed `lossyCString` to `UTF8String`
21401
214022006-05-16  Darin Adler  <darin@apple.com>
21403
21404        Reviewed by Anders.
21405
21406        - did the name change from "ImageElement" to "ImageForElement" that I said I would
21407          (oops!)
21408
21409        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
21410        (-[WebDefaultUIDelegate copyImageToClipboard:]):
21411        * Misc/WebNSPasteboardExtras.h:
21412        * Misc/WebNSPasteboardExtras.m:
21413        (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
21414        * Misc/WebNSViewExtras.h:
21415        * Misc/WebNSViewExtras.m:
21416        (-[NSView _web_DragImageForElement:rect:event:pasteboard:source:offset:]):
21417        * WebView/WebHTMLView.m:
21418        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
21419        * WebView/WebView.m:
21420        (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]):
21421        (-[WebView writeElement:withPasteboardTypes:toPasteboard:]):
21422        * WebView/WebViewInternal.h:
21423
214242006-05-16  Darin Adler  <darin@apple.com>
21425
21426        Reviewed by Anders.
21427
21428        - http://bugs.webkit.org/show_bug.cgi?id=8940
21429          remove extra copy of image code
21430
21431        * English.lproj/StringsNotToBeLocalized.txt: Updated for many recent changes.
21432
21433        * WebKit.xcodeproj/project.pbxproj: Removed files.
21434        * WebCoreSupport/WebImageData.h: Removed.
21435        * WebCoreSupport/WebImageData.m: Removed.
21436        * WebCoreSupport/WebImageDecodeItem.h: Removed.
21437        * WebCoreSupport/WebImageDecodeItem.m: Removed.
21438        * WebCoreSupport/WebImageDecoder.h: Removed.
21439        * WebCoreSupport/WebImageDecoder.m: Removed.
21440        * WebCoreSupport/WebImageRenderer.h: Removed.
21441        * WebCoreSupport/WebImageRenderer.m: Removed.
21442
21443        * WebCoreSupport/WebImageRendererFactory.h:
21444        * WebCoreSupport/WebImageRendererFactory.m: Removed everything except for
21445        shouldUseThreadedDecoding, setShouldUseThreadedDecoding, and imageDataForName:.
21446
21447        * Misc/WebNSPasteboardExtras.h: Removed WebImageRenderer parameter from
21448        _web_declareAndWriteDragImage and renamed _web_declareAndWriteDragImageElement.
21449        * Misc/WebNSPasteboardExtras.m:
21450        (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): Changed to
21451        call +[WebFrameBridge supportedImageResourceMIMETypes] instead of
21452        -[WebImageRendererFactory supportedMIMETypes].
21453        (-[NSPasteboard _web_declareAndWriteDragImageElement:URL:title:archive:source:]):
21454        Removed WebImageRenderer parameter, and updated code since it was always nil.
21455
21456        * Misc/WebNSViewExtras.h: Removed WebImageRenderer parameter from
21457        _web_dragImage and renamed _web_dragImageElement.
21458        * Misc/WebNSViewExtras.m:
21459        (-[NSView _web_dragImageElement:rect:event:pasteboard:source:offset:]):
21460        Removed WebImageRenderer parameter, and updated code since it was always nil.
21461
21462        * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Added some new
21463        functions now used by WebCore.
21464
21465        * WebView/WebDataSource.m: (-[WebDataSource _documentFragmentWithArchive:]):
21466        Call +[WebFrameBridge supportedImageResourceMIMETypes] instead of
21467        -[WebImageRendererFactory supportedMIMETypes].
21468
21469        * WebView/WebFrameView.m: Removed include of WebImageRenderer.h.
21470
21471        * WebView/WebHTMLRepresentation.m: (+[WebHTMLRepresentation supportedImageMIMETypes]):
21472        Removed call to +[WebImageRendererFactory createSharedFactory].
21473
21474        * WebView/WebHTMLView.m:
21475        (-[WebHTMLView _imageExistsAtPaths:]): Call +[WebFrameBridge supportedImageResourceMIMETypes]
21476        instead of -[WebImageRendererFactory supportedMIMETypes].
21477        (-[WebHTMLView _documentFragmentWithPaths:]): Ditto.
21478        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Update
21479        to no longer pass nil for an image to _web_declareAndWriteDragImageElement and to
21480        _web_dragImageElement.
21481        (-[WebHTMLView dealloc]): Remove call to now-unneeded _reset.
21482        (-[WebHTMLView finalize]): Ditto.
21483        (-[WebHTMLView viewDidMoveToWindow]): Remove logic for calling _reset, including the inWindow
21484        boolean field.
21485
21486        * WebView/WebHTMLViewInternal.h: Removed inWindow boolean.
21487        * WebView/WebHTMLViewPrivate.h: Removed _reset method.
21488
214892006-05-16  Darin Adler  <darin@apple.com>
21490
21491        Reviewed by Hyatt.
21492
21493        - fix http://bugs.webkit.org/show_bug.cgi?id=8898
21494          REGRESSION: Attempting to right-click image in own tab on website causes crash
21495        - fix http://bugs.webkit.org/show_bug.cgi?id=8919
21496          REGRESSION: image could not be dragged, subsequent click-drag activity caused crash
21497
21498        These fixes may become obsolete when Anders lands his standalone image viewer
21499        patch, but in my tree they are needed to make Copy Image work after the fix
21500        over on the WebCore side to avoid the crashes.
21501
21502        * Misc/WebNSPasteboardExtras.h: Change _web_writeImage parameter to an NSImage.
21503        * Misc/WebNSPasteboardExtras.m:
21504        (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): Change parameter
21505        to an NSImage instead of a WebImageRenderer.
21506        (-[NSPasteboard _web_declareAndWriteDragImage:element:URL:title:archive:source:]):
21507        Call -[WebImageRenderer image] to get an NSImage to pass to _web_writeImage.
21508
21509        * WebView/WebView.m: (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
21510        Get the image using WebElementImageKey if WebElementDOMNodeKey is nil.
21511
215122006-05-16  Anders Carlsson  <acarlsson@apple.com>
21513
21514        Reviewed by Maciej.
21515
21516        http://bugs.webkit.org/show_bug.cgi?id=8921
21517        Use WebCore to render full-frame images
21518        
21519        * WebCoreSupport/WebFrameBridge.m:
21520        (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
21521        Remove WebImageView handling.
21522        
21523        (-[WebFrameBridge mainResourceURLResponse]):
21524        New function which returns the URL response for the main resource. This is used by the
21525        manual loading of images.
21526        
21527        (-[WebFrameBridge imageTitleForFilename:size:]):
21528        New function which returns a correctly translated image title given a filename and a size.
21529        
21530        * WebCoreSupport/WebImageRenderer.m:
21531        (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
21532        Remove WebImageView handling.
21533        
21534        * WebKit.xcodeproj/project.pbxproj:
21535        Remove WebImageRepresentation and WebImageView.
21536        
21537        * WebView/WebArchiver.h:
21538        * WebView/WebArchiver.m:
21539        (+[WebArchiver archiveMainResourceForFrame:]):
21540        New functions which returns a WebArchive with just the main resource, ignoring any subresources.
21541        
21542        * WebView/WebDataSource.m:
21543        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
21544        Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.
21545        
21546        * WebView/WebFrameView.m:
21547        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
21548        Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.
21549        
21550        (+[WebHTMLRepresentation supportedMIMETypes]):
21551        Create an array of image and non-image MIME Types.
21552        
21553        (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
21554        (+[WebHTMLRepresentation supportedImageMIMETypes]):
21555        New functions, separating the list of MIME types into image and non-image ones.
21556        
21557        * WebView/WebHTMLView.m:
21558        (+[WebHTMLView supportedImageMIMETypes]):
21559        (+[WebHTMLView supportedNonImageMIMETypes]):
21560        New functions which call down to WebHTMLRepresentation.
21561        
21562        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
21563        If the image element comes from an ImageDocument, just use an archive of the main resource
21564        instead of the generated HTML document.
21565        
21566        * WebView/WebHTMLViewPrivate.h:
21567        Declare new functions.
21568        
21569        * WebView/WebImageRepresentation.h: Removed.
21570        * WebView/WebImageRepresentation.m: Removed.
21571        * WebView/WebImageView.h: Removed.
21572        * WebView/WebImageView.m: Removed.
21573        
215742006-05-15  Tim Omernick  <timo@apple.com>
21575
21576        Reviewed by John Sullivan.
21577
21578        Part of <rdar://problem/4466508> Add 64-bit support to the Netscape Plugin API
21579
21580        Added to the Netscape Plugin API the concept of "plugin drawing models".  The drawing model
21581        determines the kind of graphics context created by the browser for the plugin, as well as 
21582        the Mac types of various Netscape Plugin API data structures.
21583
21584        There is a drawing model to represent the old QuickDraw-based API.  It is used by default
21585        if QuickDraw is available on the system, unless the plugin specifies another drawing model.
21586
21587        The big change is the addition of the CoreGraphics drawing model.  A plugin may request this
21588        drawing model to obtain access to a CGContextRef for drawing, instead of a QuickDraw CGrafPtr.
21589
21590        * Plugins/WebBaseNetscapePluginView.h:
21591        Added PluginPort union, which wraps a NP_Port and a NP_CGContext.  This is to make access to
21592        the nPort and lastSetPort ivars more convenient now that the port type differs based on the 
21593        drawing model.
21594        Changed types of nPort and lastSetPort to PluginPort so they can be used with any drawing model.
21595        Added drawingModel ivar.
21596        * Plugins/WebBaseNetscapePluginView.m:
21597        Renamed PortState to PortState_QD.  PortState is now an opaque pointer.  PortState_QD cannot be
21598        used if QuickDraw is unavailable.
21599        (-[WebBaseNetscapePluginView fixWindowPort]):
21600        Cannot be used if QuickDraw is unavailable.
21601        (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
21602        Only fix window port if drawing model is QuickDraw.
21603        Re-ordered some code so I could group QuickDraw-specific stuff into switch and if blocks (that's
21604        why the diff here is so terrible).
21605        Now returns a malloc()'ed PortState that the caller is responsible for freeing.  Renamed to
21606        better reflect this behavior.
21607        Support for the CoreGraphics drawing model -- fill PortState_CG struct, save CGContext state.
21608        (-[WebBaseNetscapePluginView restorePortState:]):
21609        Switch based on drawing model.
21610        Support for the CoreGraphics drawing model -- restore CGContext state saved earlier.
21611        (-[WebBaseNetscapePluginView sendEvent:]):
21612        Formatting.
21613        Don't set save/set port state or set the window in CoreGraphics mode unless the event being
21614        sent is an updateEvt.  We can't provide the plugin with a CGContext outside of our view display
21615        cycle.
21616        Don't restore PortState if it's NULL (didn't used to be a pointer).  Free when we're done with it.
21617        (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]):
21618        Formatting.
21619        Switch how we compare ports based on the drawing model.
21620        (-[WebBaseNetscapePluginView updateAndSetWindow]):
21621        Fixed for CoreGraphics by triggering a redisplay instead of sending an update event to the plugin
21622        outside of the view display cycle.
21623        Don't restore PortState if it's NULL (didn't used to be a pointer).  Free when we're done with it.
21624        (-[WebBaseNetscapePluginView setWindowIfNecessary]):
21625        Assert that the window is only set when updating in CoreGraphics mode.
21626        Log differently depending on the drawing model.
21627        (-[WebBaseNetscapePluginView start]):
21628        Fall back on QuickDraw if the plugin does not specify a drawing model.
21629        (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
21630        Cannot be used if QuickDraw is unavailable.
21631        (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
21632        Only call -tellQuickTimeToChill in QuickDraw mode.
21633        (-[WebBaseNetscapePluginView viewHasMoved:]):
21634        ditto
21635        (-[WebBaseNetscapePluginView invalidateRegion:]):
21636        NPRegion is a CGPathRef in CoreGraphics mode.
21637        (-[WebBaseNetscapePluginView getVariable:value:]):
21638        Added support for retriveing the NPNVpluginDrawingModel, NPNVsupportsQuickDrawBool, and
21639        NPNVsupportsCoreGraphicsBool browser variables.
21640        (-[WebBaseNetscapePluginView setVariable:value:]):
21641        Added support for setting the NPNVpluginDrawingModel variable.
21642
216432006-05-15  Tim Omernick  <timo@apple.com>
21644
21645        Reviewed by Kevin Decker.
21646
21647        Follow-up to my previous PLT fix.  I found upon further testing (by dramatically decreasing the
21648        allowed display rate) that +_webkit_displayThrottledWindows did not always force a display when
21649        necessary.  The reason is that I was not giving a proper timeout to CFRunLoopRunInMode().  I was
21650        passing 0, which was causing only "expired" timers to fire.  This method is actually supposed to
21651        block until all currently scheduled display timers fire.
21652
21653        I tested this change and found that it did not affect my PLT times when the display rate was
21654        capped to 60 fps.  It also behaves as expected when the display rate is set much lower (say, 1
21655        display per second); my previous fix did not work well at such display rates.
21656
21657        * Misc/WebNSWindowExtras.m:
21658        (+[NSWindow _webkit_displayThrottledWindows]):
21659        Run the runloop for an amount of time equal to the minimum allowed interval between displays.
21660        This ensures that we'll block until all currently scheduled display timers fire (but we won't
21661        block for future display timers).
21662
216632006-05-15  John Sullivan  <sullivan@apple.com>
21664
21665        Reviewed by Tim Omernick.
21666        
21667        - followup to previous fix; I hadn't tested quitting adequately
21668
21669        * WebView/WebHTMLView.m:
21670        (-[WebHTMLView dealloc]):
21671        call removeAllToolTips before clearing _private so that removeTrackingRect: override can work 
21672        properly. Normally removeAllToolTips would be called by super, but that's too late.
21673        (-[WebHTMLView finalize]):
21674        ditto
21675
216762006-05-15  John Sullivan  <sullivan@apple.com>
21677
21678        Reviewed by Darin.
21679        
21680        - fixed <rdar://problem/4503016> TOT assertion failure in -[WebHTMLView(WebPrivate) removeTrackingRect:]
21681        
21682        We have some tricky code to deal with tracking rects, which succumbed to a fix in AppKit. Updated our
21683        tricky code to work with the AppKit fix.
21684
21685        * WebView/WebHTMLViewInternal.h:
21686        new instance variable lastToolTipTag
21687        
21688        * WebView/WebHTMLView.m:
21689        (-[WebHTMLView removeTrackingRect:]):
21690        handle removing lastToolTipTag by calling super
21691        (-[WebHTMLView _setToolTip:]):
21692        save tool tip tag in lastToolTipTag; this apparently used to always return 0, so we formerly had no way
21693        to distinguish it from the no-tool-tips-yet case.
21694
21695        * WebKit.xcodeproj/project.pbxproj:
21696        Xcode removed some old cruft
21697
216982006-05-15  Tim Omernick  <timo@apple.com>
21699
21700        Reviewed by Darin.
21701
21702        Safari's Page Load Test (PLT) saturates the runloop with so many sources that timers are not allowed to fire 
21703        as frequently as they should.  This is a general problem with the PLT -- because of this, it does not measure
21704        work done in timer callbacks during/after the page load process.
21705
21706        Unfortunately, this aspect of the PLT interferes with our window display throttle hack.  Because we throttle
21707        display using timers, and the PLT starves timers, most of the pages loaded by the PLT do not actually display.
21708        This makes the PLT run "too fast", yielding ridiculously fast numbers compared to when throttling is disabled.
21709
21710        I've added a new method that the PLT can call after each page load to force any starved display throttle timers
21711        to fire.  By doing this, Safari's PLT will be guaranteed to display each page at least once.
21712
21713        * Misc/WebNSWindowExtras.h:
21714        * Misc/WebNSWindowExtras.m:
21715        Added a special internal runloop mode for the throttle timers.
21716        (+[NSWindow _webkit_displayThrottledWindows]):
21717        Run the runloop in our special internal mode until there are no more sources to handle.
21718        (requestWindowDisplay):
21719        Schedule the timer in the new mode as well as the standard modes.
21720        
217212006-05-15  Anders Carlsson  <acarlsson@apple.com>
21722
21723        Reviewed by Maciej.
21724
21725        http://bugs.webkit.org/show_bug.cgi?id=8913
21726        REGRESSION: Can view source for text files
21727
21728        * WebView/WebDocumentPrivate.h:
21729        Add canSaveAsWebArchive.
21730        
21731        * WebView/WebHTMLRepresentation.m:
21732        (-[WebHTMLRepresentation canProvideDocumentSource]):
21733        Call the bridge.
21734        
21735        (-[WebHTMLRepresentation canSaveAsWebArchive]):
21736        New function. This will be used in Safari ToT to determine if a page can be saved as an archive.
21737
217382006-05-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
21739
21740        Reviewed by Darin.
21741
21742        - fix http://bugs.webkit.org/show_bug.cgi?id=8739
21743          Crash in RenderTableSection::paint due to manipulating DOM on resize
21744
21745        Manual test: manual-tests/dom-manipulation-on-resize.html
21746
21747        * WebView/WebHTMLView.m:
21748        (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Relayout if necessary
21749        after sending the resize event.
21750
217512006-05-12  Maciej Stachowiak  <mjs@apple.com>
21752
21753        Reviewed by Brady.
21754        
21755        http://bugs.webkit.org/show_bug.cgi?id=8876
21756        - move most private WebDataSource methods to uninstalled header
21757        
21758        I put the declarations for the ones only used in WebKit in WebDataSourceInternal.h
21759        and removed two entirey unused ones.
21760
21761        * Plugins/WebNetscapePluginRepresentation.m:
21762        * Plugins/WebNetscapePluginStream.m:
21763        * Plugins/WebPluginController.m:
21764        * Plugins/WebPluginDocumentView.m:
21765        * WebCoreSupport/WebFrameBridge.m:
21766        (-[WebFrameBridge dataSource]):
21767        * WebCoreSupport/WebSubresourceLoader.m:
21768        * WebKit.xcodeproj/project.pbxproj:
21769        * WebView/WebDataSource.m:
21770        (-[WebDataSource _updateIconDatabaseWithURL:]):
21771        (-[WebDataSource _loadIcon]):
21772        (-[WebDataSource _clearErrors]):
21773        (-[WebDataSource _commitLoadWithData:]):
21774        (-[WebDataSource _doesProgressiveLoadWithMIMEType:]):
21775        (-[WebDataSource _addResponse:]):
21776        * WebView/WebDataSourceInternal.h: Added.
21777        * WebView/WebDataSourcePrivate.h:
21778        * WebView/WebFrame.m:
21779        * WebView/WebHTMLRepresentation.m:
21780        * WebView/WebHTMLView.m:
21781        * WebView/WebImageView.m:
21782        * WebView/WebLoader.m:
21783        * WebView/WebMainResourceLoader.m:
21784        * WebView/WebPDFView.m:
21785        * WebView/WebRenderNode.m:
21786        * WebView/WebView.m:
21787
217882006-05-12  Tim Omernick  <timo@apple.com>
21789
21790        Reviewed by John Sullivan.
21791
21792        <rdar://problem/4542808> REGRESSION: benchjs test 1 has slowed by over 150% (8740)
21793        <http://bugs.webkit.org/show_bug.cgi?id=8740>
21794
21795        Improvement to my NSWindow display throttle hack.  Remember the last flush time instead of the last display time.
21796        Our goal is to never draw less than 1/60th of a second after the window is flushed in order to avoid blocking on
21797        a CG coalesced update.  Using the last display time is close, but this is much more accurate.  I have verified that
21798        this further improves our score on BenchJS Test 1 (by 9.8% with the status bar shown compared to the previous build),
21799        as well as on our internal PLT scores by a smaller percentage.
21800
21801        * Misc/WebNSWindowExtras.m:
21802        Renamed lastDisplayTime to lastFlushTime.
21803        (+[NSWindow _webkit_enableWindowDisplayThrottle]):
21804        Replace -[NSWindow flushWindow] with our own implementation.
21805        (+[NSWindow _webkit_disableWindowDisplayThrottle]):
21806        Restore -[NSWindow flushWindow].
21807        (replacementFlushWindow):
21808        Use the last flush time instead of the last display time.
21809        (getWindowDisplayInfo):
21810        Renamed lastDisplayTime to lastFlushTime.
21811        (requestWindowDisplay):
21812        Moved some code to replacementFlushWindow().
21813
218142006-05-11  Timothy Hatcher  <timothy@apple.com>
21815
21816        Reviewed by Darin.
21817
21818        Bug 8856: Web Inspector should show the Xpath for the selected node
21819        http://bugs.webkit.org/show_bug.cgi?id=8856
21820        
21821        Adds an Xpath area to the Node panel.
21822
21823        * WebInspector/webInspector/inspector.css:
21824        * WebInspector/webInspector/inspector.html:
21825        * WebInspector/webInspector/inspector.js:
21826
218272006-05-11  Timothy Hatcher  <timothy@apple.com>
21828
21829        Reviewed by Anders.
21830
21831        Fixes <rdar://problem/4411845> lots of SPOD trying to scroll through
21832        Markup & Content inspecting body at apple.com (6614)
21833        http://bugs.webkit.org/show_bug.cgi?id=6614
21834
21835        Removed the Markup & Content pane when viewing a element.
21836        This pane was not that useful and made the inspector really slow
21837        when the markup was large. Only show this pane for text nodes.
21838
21839        * WebInspector/webInspector/inspector.css: use -webkit prefix
21840        * WebInspector/webInspector/inspector.html:
21841        * WebInspector/webInspector/inspector.js:
21842
218432006-05-11  Sam Weinig  <sam.weinig@gmail.com>
21844
21845        Reviewed by Timothy.
21846
21847        Patch for <http://bugs.webkit.org/show_bug.cgi?id=8810>
21848        Bug 8810: Scrollbars in WebInspector rendered incorrectly
21849
21850        * WebInspector/webInspector/inspector.css: 
21851        Make scroll bars absolutely positioned.
21852
218532006-05-10  Tim Omernick  <timo@apple.com>
21854
21855        Reviewed by Darin.
21856
21857        <rdar://problem/4542808> REGRESSION: benchjs test 1 has slowed by over 150% (8740)
21858        <http://bugs.webkit.org/show_bug.cgi?id=8740>
21859
21860        * Misc/WebNSWindowExtras.h:
21861        * Misc/WebNSWindowExtras.m:
21862        (+[NSWindow _webkit_enableWindowDisplayThrottle]):
21863        Overrides certain NSWindow methods so that window autodisplay can be throttled to 60Hz.
21864
21865        (disableWindowDisplayThrottleApplierFunction):
21866        CFDictionary applier function for when the throttle is disabled.  Cancels all pending window displays,
21867        and calls -displayIfNeeded on each window with a pending display.
21868
21869        (+[NSWindow _webkit_disableWindowDisplayThrottle]):
21870        Restores default NSWindow method implementations and clears pending window displays.
21871
21872        (swizzleInstanceMethod):
21873        Helper function to swizzle ObjC method implementations.
21874
21875        (replacementPostWindowNeedsDisplay):
21876        Don't call into -[NSWindow _postWindowNeedsDisplay] if requestWindowDisplay() returns NO (this is the
21877        function that throttles display).
21878
21879        (replacementClose):
21880        Clean up the WindowDisplayInfo struct for the window, since it's about to go away.
21881
21882        (getWindowDisplayInfo):
21883        Gets the WindowDisplayInfo struct for the window, or creates it if absent.
21884
21885        (requestWindowDisplay):
21886        Returns YES if a display is allowed right now.  Returns NO otherwise, and schedules a timer to try the
21887        display again.
21888
21889        (cancelPendingWindowDisplay):
21890        Cancels the pending display for the window, if any.
21891
21892        (-[NSWindow _webkit_doPendingPostWindowNeedsDisplay:]):
21893        Try to call _postWindowNeedsDisplay again.
21894
21895        * WebView/WebFrameView.m:
21896        (-[WebFrameView initWithFrame:]):
21897        If the secret "WebKitThrottleWindowDisplay" default is set, then enable the NSWindow throttle.
21898
218992006-05-10  Anders Carlsson  <acarlsson@apple.com>
21900
21901        Reviewed by Maciej.
21902
21903        * WebView/WebHTMLView.m:
21904        (+[WebHTMLView unsupportedTextMIMETypes]):
21905        Add text/rtf
21906        
219072006-05-09  Levi Weintraub  <lweintraub@apple.com>
21908
21909        Reviewed by justin.
21910
21911        <rdar://problem/4442395>
21912        Tiny MCE: Link isn't inserted after dragging into textarea field
21913        
21914        * WebView/WebHTMLView.m:
21915        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]):
21916        Modified to create an anchor object with a title as opposed to just the URL as text.
21917
219182006-05-09  Tim Omernick  <timo@apple.com>
21919
21920        Reviewed by Dave Harrison.
21921
21922        <rdar://problem/4523432> safari crashed right after disabling "block pop up windows" (or
21923        other WebPreferences changes)
21924
21925        * Plugins/WebBaseNetscapePluginView.m:
21926        (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]):
21927        When the plugin view is removed from both its window and its hostWindow, stop observing
21928        WebPreferences.
21929
219302006-05-09  Anders Carlsson  <acarlsson@apple.com>
21931
21932        Reviewed by Darin.
21933
21934        http://bugs.webkit.org/show_bug.cgi?id=8808
21935        WebCore should handle text files
21936
21937        * WebKit.exp:
21938        Remove WebTextView.
21939        
21940        * WebKit.xcodeproj/project.pbxproj:
21941        Get rid of WebTextView and WebTextRepresentation.
21942        
21943        * WebView/WebDataSource.m:
21944        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
21945        * WebView/WebFrameView.m:
21946        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
21947        * WebView/WebHTMLView.m:
21948        The text MIME types are now handled by WebHTMLView.
21949        
21950        (+[WebHTMLView unsupportedTextMIMETypes]):
21951        New function, moved here from WebTextView.
21952        
21953        * WebView/WebHTMLViewPrivate.h:
21954        * WebView/WebTextRepresentation.h: Removed.
21955        * WebView/WebTextRepresentation.m: Removed.
21956        * WebView/WebTextView.h: Removed.
21957        * WebView/WebTextView.m: Removed.
21958        
21959        * WebView/WebView.m:
21960        (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
21961        Now special-case WebHTMLView instead of WebTextView for MIME types
21962        that shouldn't be shown.
21963
219642006-05-09  Maciej Stachowiak  <mjs@apple.com>
21965
21966        Rubber stamped by Anders.
21967        
21968        - renamed kxmlcore to wtf
21969        
21970        kxmlcore --> wtf
21971        KXMLCore --> WTF
21972        KXC --> WTF
21973
21974        * Misc/WebKitLogging.h:
21975        * Misc/WebKitLogging.m:
21976        (initializeLogChannel):
21977
219782006-05-09  Timothy Hatcher  <timothy@apple.com>
21979
21980        Reviewed by Anders.
21981
21982        Bug 8804: Inspector should support searching by Xpath query
21983        http://bugs.webkit.org/show_bug.cgi?id=8804
21984
21985        * WebInspector/WebInspector.m:
21986        (-[WebInspector _refreshSearch]):
21987        * WebInspector/webInspector/inspector.js:
21988
219892006-05-08  Maciej Stachowiak  <mjs@apple.com>
21990
21991        Reviewed by Tim Hatcher.
21992        
21993        - refactor things so that WebKit doesn't save a WebResource for every loaded URL,
21994        but rather retrieves the data from the WebCore cache as needed.
21995        http://bugs.webkit.org/show_bug.cgi?id=8802
21996
21997        * WebCoreSupport/WebFrameBridge.m:
21998        (-[WebFrameBridge objectLoadedFromCacheWithURL:response:data:]):
21999        (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
22000        * WebCoreSupport/WebSubresourceLoader.m:
22001        (-[WebSubresourceLoader didReceiveResponse:]):
22002        * WebView/WebDataSource.m:
22003        (-[WebDataSourcePrivate dealloc]):
22004        (-[WebDataSource _setupForReplaceByMIMEType:]):
22005        (-[WebDataSource _archivedSubresourceForURL:]):
22006        (-[WebDataSource initWithRequest:]):
22007        (-[WebDataSource subresources]):
22008        (-[WebDataSource subresourceForURL:]):
22009        (-[WebDataSource addSubresource:]):
22010        * WebView/WebDataSourcePrivate.h:
22011        * WebView/WebFrame.m:
22012        * WebView/WebFrameInternal.h:
22013        * WebView/WebHTMLView.m:
22014        * WebView/WebLoader.h:
22015        * WebView/WebLoader.m:
22016        (-[NSURLProtocol loadWithRequest:]):
22017        (-[NSURLProtocol didFinishLoading]):
22018        * WebView/WebUnarchivingState.h:
22019        * WebView/WebUnarchivingState.m:
22020        (-[WebUnarchivingState addResource:]):
22021
220222006-05-04  Mitz Pettel  <opendarwin.org@mitzpettel.com>
22023
22024        Reviewed by Darin.
22025
22026        - fix http://bugs.webkit.org/show_bug.cgi?id=8594
22027          REGRESSION: Exception on closing a page containing (just) an mp3
22028
22029        Test: plugins/pluginDocumentView-deallocated-dataSource.html
22030
22031        * Plugins/WebPluginDocumentView.m:
22032        (-[WebPluginDocumentView dealloc]): Release the dataSource.
22033        (-[WebPluginDocumentView setDataSource:]): Retain the dataSource.
22034
220352006-05-04  Tim Omernick  <timo@apple.com>
22036
22037        Reviewed by Darin.
22038
22039        <rdar://problem/4537606> Give Java WebKit plugin access to its own DOM element
22040
22041        * WebCoreSupport/WebFrameBridge.m:
22042        (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
22043        Pass the DOMElement to the plugin if it's a WebKit plugin (we need to handle Netscape plugins
22044        differently).
22045
220462006-05-04  Tim Omernick  <timo@apple.com>
22047
22048        Reviewed by John Sullivan.
22049
22050        <rdar://problem/4480186> Give WebKit plugins access to their own DOM element
22051
22052        This does not fix <rdar://problem/4480187> Give Netscape plugins access to their own DOM element --
22053        we're not going to use the ObjC DOM API for that, but rather the NP bindings API.
22054
22055        * Plugins/WebPluginPackage.m:
22056        Declared WebPlugInContainingElementKey.  This is not a new plugin argument -- it's been in our public
22057        headers since all along, but has never been concretely declared -- plugins that referenced it would not
22058        link.
22059
22060        * WebCoreSupport/WebFrameBridge.m:
22061        (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:]):
22062        Added DOMElement parameter, which is now included in the plugin arguments dictionary.
22063        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:]):
22064        ditto
22065
22066        * WebKit.exp:
22067        Export WebPlugInContainingElementKey.
22068
220692006-05-02  Darin Adler  <darin@apple.com>
22070
22071        Reviewed by Eric.
22072
22073        - http://bugs.webkit.org/show_bug.cgi?id=8677
22074          REGRESSION: wkSetUpFontCache() may be called before the SPIs are connected.
22075
22076        I don't know how reproduce this without one of Rosyna's hacks installed, so I
22077        did not include a test.
22078
22079        * Misc/WebStringTruncator.m: (+[WebStringTruncator initialize]): Add call to
22080        InitWebCoreSystemInterface.
22081
22082        * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Add a boolean
22083        so we will only do this one time.
22084
220852006-05-02  Adele Peterson  <adele@apple.com>
22086
22087        Reviewed by Tim O.
22088
22089        - fix http://bugs.webkit.org/show_bug.cgi?id=6988
22090        REGRESSION: Display correct context menus for new text fields
22091
22092        * WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]):
22093        Don't let the UI delegate have control over the context menu for text fields.
22094
220952006-05-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>
22096
22097        Reviewed by Darin.
22098
22099        - fix http://bugs.webkit.org/show_bug.cgi?id=8658
22100          Assertion failure in -[WebPluginContainerCheck _isForbiddenFileLoad]
22101          (bridge is null) when clicking QuickTime object with href
22102
22103        * WebView/WebHTMLView.m:
22104       (-[WebHTMLView setDataSource:]): Set the pluginController's dataSource.
22105
221062006-05-01  Maciej Stachowiak  <mjs@apple.com>
22107
22108        - fix build
22109
22110        * WebKit.exp: Add symbol that the new Safari will need.
22111
221122006-05-01  John Sullivan  <sullivan@apple.com>
22113
22114        Reviewed by Tim Omernick.
22115        
22116        - fixed <rdar://problem/3126419> history load enforces history limit, but deletes the newest instead of oldest items
22117        - added notification reporting items discarded during load because the age limit or item count limit is exceeded
22118        - a few other minor tweaks
22119
22120        * History/WebHistory.h:
22121        fixed a typo and an incorrect method name
22122        
22123        * History/WebHistoryPrivate.h:
22124        Added declaration of WebHistoryItemsDiscardedWhileLoadingNotification. Also changed signature of
22125        WebHistoryPrivate method -loadFromURL:error: to have new collectDiscardedItemsInto: parameter.
22126        Also deleted declarations of two methods that didn't actually exist (loadHistory and initWithFile:), 
22127        and added comments about which methods should become public API, WebKit-internal, or file-internal.
22128
22129        * History/WebHistory.m:
22130        (-[WebHistoryPrivate arrayRepresentation]):
22131        This method, called only by _saveHistoryGuts:, used to deliberately leave out items that violated
22132        either the age limit or the item count limit. Now all the items are included (and thus saved), and
22133        all the pruning is done at load time, so clients can keep track of the pruned items by observing
22134        the new WebHistoryItemsDiscardedWhileLoadingNotification
22135        (-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
22136        Now keeps track of all the items that violated the age limit or item count limit in the new
22137        collectedDiscardedItemsInto: parameter. Also, now processes items in forward order rather than
22138        reverse order to fix 3126419. Now uses compare: rather than _webkit_compareDay: to check against
22139        age limit; this is faster and also more correct (most noticeable with small age limits).
22140        (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]):
22141        new collectDiscardedItemsInto: parameter, passed into _loadHistoryGuts:...
22142        (-[WebHistory loadFromURL:error:]):
22143        Now sends new WebHistoryItemsDiscardedWhileLoadingNotification if any items were discarded due
22144        to age limit or item count limit.
22145        
22146        * WebKit.exp:
22147        exported symbol for WebHistoryItemsDiscardedWhileLoadingNotification
22148
221492006-04-29  Timothy Hatcher  <timothy@apple.com>
22150
22151        Reviewed by Maciej.
22152
22153        Bug 8577: [TabBarView _web_superviewOfClass:stoppingAtClass:]
22154        http://bugs.webkit.org/show_bug.cgi?id=8577
22155
22156        Added back _web_superviewOfClass:stoppingAtClass:.
22157        This method was removed in r14032 (bug 8562), but Safari 2.0 still uses it.
22158        We should remove this method once Open Source users have a new version
22159        to use with TOT WebKit.
22160
22161        * Misc/WebNSViewExtras.m:
22162        (-[NSView _web_superviewOfClass:stoppingAtClass:]):
22163
221642006-04-28  David Hyatt  <hyatt@apple.com>
22165
22166        Double the cache size to account for our revised (more accurate)
22167        measurement of the image buffers.
22168
22169        Reviewed by darin
22170
22171        * WebView/WebPreferences.m:
22172        (+[WebPreferences initialize]):
22173
221742006-04-28  David Hyatt  <hyatt@apple.com>
22175
22176        Fix for 8586, move WebTextRenderer into WebCore.
22177
22178        Reviewed by darin
22179
22180        * Misc/WebKitNSStringExtras.m:
22181        (-[NSString _web_drawAtPoint:font:textColor:]):
22182        (-[NSString _web_widthWithFont:]):
22183        * Misc/WebStringTruncator.m:
22184        (+[WebStringTruncator centerTruncateString:toWidth:]):
22185        (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
22186        (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
22187        (+[WebStringTruncator widthOfString:font:]):
22188        * WebCoreSupport/WebSystemInterface.m:
22189        (InitWebCoreSystemInterface):
22190        * WebCoreSupport/WebTextRenderer.h: Removed.
22191        * WebCoreSupport/WebTextRenderer.m: Removed.
22192        * WebCoreSupport/WebTextRendererFactory.h: Removed.
22193        * WebCoreSupport/WebTextRendererFactory.m: Removed.
22194        * WebKit.xcodeproj/project.pbxproj:
22195        * WebView/WebFrameView.m:
22196        (-[WebFrameView initWithFrame:]):
22197        * WebView/WebHTMLView.m:
22198        (-[WebHTMLView _addToStyle:fontA:fontB:]):
22199        * WebView/WebTextView.m:
22200        (-[WebTextView setFixedWidthFont]):
22201        * WebView/WebView.m:
22202        (+[WebView _setAlwaysUseATSU:]):
22203        (+[WebView _setShouldUseFontSmoothing:]):
22204        (+[WebView _shouldUseFontSmoothing]):
22205
222062006-04-28  Eric Seidel  <eseidel@apple.com>
22207
22208        Reviewed by darin.
22209
22210        Misc. style cleanup.
22211        http://bugs.webkit.org/show_bug.cgi?id=8643
22212
22213        * Misc/WebIconDatabase.m:
22214        (-[NSMutableDictionary iconForURL:withSize:cache:]):
22215        (-[NSMutableDictionary iconURLForURL:]):
22216        (-[NSMutableDictionary retainIconForURL:]):
22217        (-[NSMutableDictionary releaseIconForURL:]):
22218        (-[WebIconDatabase _setIcon:forIconURL:]):
22219        (-[WebIconDatabase _iconsForIconURLString:]):
22220        (-[WebIconDatabase _forgetIconForIconURLString:]):
22221        (-[WebIconDatabase _releaseIconForIconURLString:]):
22222        (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
22223        * Plugins/WebBasePluginPackage.m:
22224        (+[WebBasePluginPackage pluginWithPath:]):
22225        (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]):
22226        (-[WebBasePluginPackage initWithPath:]):
22227        (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]):
22228        (-[WebBasePluginPackage pListForPath:createFile:]):
22229        (-[WebBasePluginPackage getPluginInfoFromPLists]):
22230        (-[WebBasePluginPackage load]):
22231        (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):
22232        (-[WebBasePluginPackage isNativeLibraryData:]):
22233        (-[NSArray _web_lowercaseStrings]):
22234        * Plugins/WebNetscapePluginPackage.m:
22235        (-[WebNetscapePluginPackage openResourceFile]):
22236        (-[WebNetscapePluginPackage closeResourceFile:]):
22237        (-[WebNetscapePluginPackage stringForStringListID:andIndex:]):
22238        (-[WebNetscapePluginPackage getPluginInfoFromResources]):
22239        (-[WebNetscapePluginPackage initWithPath:]):
22240        (-[WebNetscapePluginPackage executableType]):
22241        (-[WebNetscapePluginPackage unloadWithoutShutdown]):
22242        (-[WebNetscapePluginPackage load]):
22243        (-[WebNetscapePluginPackage unload]):
22244        * Plugins/WebNetscapePluginRepresentation.m:
22245        (-[WebNetscapePluginRepresentation redeliverStream]):
22246        * Plugins/WebPluginDatabase.m:
22247        (+[WebPluginDatabase installedPlugins]):
22248        (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
22249        (-[WebPluginDatabase pluginForExtension:]):
22250        (pluginLocations):
22251        (-[WebPluginDatabase init]):
22252        (-[WebPluginDatabase refresh]):
22253        * Plugins/npapi.m:
22254        (NPN_MemAlloc):
22255        (NPN_MemFree):
22256        (pluginViewForInstance):
22257        * WebCoreSupport/WebSubresourceLoader.m:
22258        (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
22259        (-[WebSubresourceLoader willSendRequest:redirectResponse:]):
22260        * WebView/WebDataSource.m:
22261        (-[WebDataSource isLoading]):
22262        * WebView/WebFrame.m:
22263        (-[WebFrame _loadDataSource:withLoadType:formState:]):
22264        (-[WebFrame _subframeIsLoading]):
22265        * WebView/WebView.m:
22266        (-[WebView initWithFrame:]):
22267        (-[WebView initWithFrame:frameName:groupName:]):
22268
222692006-04-26  Tim Omernick  <timo@apple.com>
22270
22271        Reviewed by Geoff.
22272
22273        <rdar://problem/4525105> Repro TOT crash in [WebBaseNetscapePluginView dealloc] at coachella.com
22274        <http://bugs.webkit.org/show_bug.cgi?id=8564> crashed when closing a tab
22275
22276        * WebView/WebFrame.m:
22277        (-[WebFramePrivate dealloc]):
22278        Assert that plugInViews has been released.
22279        (-[WebFrame _addPlugInView:]):
22280        New method.  Adds the plug-in view to the plugInViews set and calls -setWebFrame: on it.
22281        (-[WebFrame _removeAllPlugInViews]):
22282        New method.  Calls -setWebFrame:nil on all plug-in views and releases the plugInViews set.
22283        (-[WebFrame _willCloseURL]):
22284        New method.  Dispose of plug-in views when leaving a page (or closing the WebView).
22285
22286        * WebView/WebFrameInternal.h:
22287        Declared -_addPlugInView:, -_removeAllPlugInViews, -_willCloseURL
22288
22289        * WebCoreSupport/WebFrameBridge.m:
22290        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
22291        Call -[WebFrame _addPlugInView:] instead of directly setting plug-in views' frames.  This
22292        allows us to keep track of them so that we can explicitly dispose of them when leaving the page.
22293        (-[WebFrameBridge closeURL]):
22294        Override -[WebCoreFrameBridge closeURL] so that we can perform our own teardown when leaving
22295        a page or closing the WebView.
22296
22297        * Plugins/WebBaseNetscapePluginView.h:
22298        Declared -stop so that subclass WebNetscapePluginEmbeddedView can call it.
22299
22300        * Plugins/WebNetscapePluginEmbeddedView.m:
22301        (-[WebNetscapePluginEmbeddedView setWebFrame:]):
22302        Stop the plug-in when it is removed from its WebFrame.
22303
223042006-04-25  Tim Omernick  <timo@apple.com>
22305
22306        Reviewed by John Sullivan.
22307
22308        <rdar://problem/4472035> SPI that checks for URL policy fails in plugin documents
22309
22310        * Plugins/WebPluginController.h:
22311        * Plugins/WebPluginController.m:
22312        (-[WebPluginController URLPolicyCheckReferrer]):
22313        New method.  Get the referrer from the frame's data source's NSURLResponse.  Note that for
22314        document types loaded by WebCore, this URL is the same as -[WebCorePageBridge referrer],
22315        since the response URL is what we pass to -[WebCorePageBridge openURL:].
22316
22317        * Plugins/WebPluginContainerCheck.m:
22318        (-[WebPluginContainerCheck _isForbiddenFileLoad]):
22319        Use the WebPluginController's -URLPolicyCheckReferrer instead of assuming that the bridge's
22320        -referrer is valid.  -[WebCorePageBridge referrer] is only set during the normal WebCore page
22321        load process, which has nothing to do with loading standalone plugin documents.
22322
223232006-04-25  Tim Omernick  <timo@apple.com>
22324
22325        Reviewed by Eric.
22326
22327        <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc]
22328        running layout tests
22329
22330        * Plugins/WebPluginPackage.m:
22331        (-[WebPluginPackage unload]):
22332        Clear isLoaded here.  It turns out that only WebNetscapePluginPackage cleared its isLoaded
22333        flag in -unload.  We need to also do it here, because the superclass (WebBasePluginPackage)
22334        asserts in -dealloc that -unload has been called.
22335
223362006-04-25  Tim Omernick  <timo@apple.com>
22337
22338        Reviewed by Eric.
22339
22340        <rdar://problem/4526120> -[WebBasePluginPackage finalize] leaks the CFBundle (under GC only)
22341
22342        * Plugins/WebBasePluginPackage.m:
22343        (-[WebBasePluginPackage finalize]):
22344        Release the CFBundle here.
22345
223462006-04-25  Tim Omernick  <timo@apple.com>
22347
22348        Reviewed by Geoff.
22349
22350        <rdar://problem/4472037>
22351        
22352        Private extensions to the WebPlugin interface.  A plugin may implement these methods to receive loading callbacks
22353        for its main resource.  Plug-ins that implement this SPI show better loading progress in the browser, can be saved
22354        to disk, and are more efficient by avoiding making duplicate GET or POST requests for the plug-in's main resource.
22355
22356        I want to provide a solid API for plug-in networking, but time constraints require that I first provide this simple
22357        SPI for internal clients.
22358
22359        * Plugins/WebPluginViewFactoryPrivate.h:
22360        Added a new plugin argument, WebPlugInShouldLoadMainResourceKey.  If YES, the plugin is responsible
22361        for loading its own content.  If NO, the plugin should wait for WebKit to send it the data via the
22362        new request-sharing SPI.
22363
22364        * Plugins/WebPluginPrivate.h: Added.
22365        Request-sharing SPI.  See comments in code.
22366
22367        * Plugins/WebPluginDocumentView.h:
22368        Hang onto the plugin view as an ivar so we can call the new resource loading methods on it.
22369        * Plugins/WebPluginDocumentView.m:
22370        (-[WebPluginDocumentView dealloc]):
22371        Release pluginView ivar.
22372        (-[WebPluginDocumentView setDataSource:]):
22373        Pass NO for WebPlugInShouldLoadMainResourceKey to indicate to the plugin that it should not 
22374        load its own main resource -- the data will come from WebKit.  This is only necessary for plugin
22375        documents.  By the time we create the view for a plugin document, we already have fetched some
22376        of its main resource's data.  Embedded plugins do not have this issue because WebKit is not
22377        involved in loading their content.
22378        Call -webPlugInMainResourceDidReceivResponse: on the plugin if necessary.  This lets the plugin
22379        know how much and what kind of data is going to be received.
22380        (-[WebPluginDocumentView dataSourceUpdated:]):
22381        If the plugin implements the new request-sharing SPI, don't cancel the in-progress request.
22382        (-[WebPluginDocumentView receivedData:withDataSource:]):
22383        Forward to the plugin via the new request-sharing SPI.
22384        (-[WebPluginDocumentView receivedError:withDataSource:]):
22385        ditto
22386        (-[WebPluginDocumentView finishedLoadingWithDataSource:]):
22387        ditto
22388
22389        * Plugins/WebPluginPackage.m:
22390        Added WebPlugInShouldLoadMainResourceKey, tweaked some style a bit.
22391
22392        * WebCoreSupport/WebFrameBridge.m:
22393        (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]):
22394        Pass YES for WebPlugInShouldLoadMainResourceKey.  Embedded plugins must load their own data.
22395        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
22396        ditto
22397        
22398        * WebKit.xcodeproj/project.pbxproj:
22399        Added WebPluginPrivate.h
22400
224012006-04-24  Maciej Stachowiak  <mjs@apple.com>
22402
22403        Reviewed by Geoff.
22404        
22405        <rdar://problem/4525364> REGRESSION (yesterday?): LOG() mechanism is broken
22406        
22407        - initialize WebKit's log channels
22408
22409        * Misc/WebKitLogging.h:
22410        * Misc/WebKitLogging.m:
22411        (initializeLogChannel):
22412        (WebKitInitializeLoggingChannelsIfNecessary):
22413        * WebView/WebPreferences.m:
22414        (+[WebPreferences initialize]):
22415        * WebView/WebView.m:
22416        (-[WebView _commonInitializationWithFrameName:groupName:]):
22417
224182006-04-24  Maciej Stachowiak  <mjs@apple.com>
22419
22420        Build fix:
22421        
22422        - move some prematurely moved code back
22423
22424        * WebCoreSupport/WebFrameBridge.h:
22425        * WebCoreSupport/WebFrameBridge.m:
22426        (-[WebFrameBridge fini]):
22427        (-[WebFrameBridge _preferences]):
22428        (-[WebFrameBridge _retrieveKeyboardUIModeFromPreferences:]):
22429        (-[WebFrameBridge keyboardUIMode]):
22430
224312006-04-24  Maciej Stachowiak  <mjs@apple.com>
22432
22433        Reviewed by Darin.
22434
22435        - move more code from WebFrameBridge to WebCoreFrameBridge
22436
22437        * WebCoreSupport/WebFrameBridge.h:
22438        * WebCoreSupport/WebFrameBridge.m:
22439        (-[WebFrameBridge fini]):
22440        (-[WebFrameBridge expiresTimeForResponse:]):
22441        (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
22442        (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
22443        (-[WebFrameBridge valueForKey:keys:values:]):
22444        (-[WebFrameBridge _preferences]):
22445
224462006-04-24  Maciej Stachowiak  <mjs@apple.com>
22447
22448        Reviewed by Anders.
22449        
22450        - Remove use of _webSuperviewOfClass: and related
22451        http://bugs.webkit.org/show_bug.cgi?id=8562
22452        
22453        I removed all use of these, now objects get at each other via
22454        actual pointers, not using the view hierarchy. However, I left two
22455        of the calls in because other clients rely on them as SPI (ugh).
22456
22457        * History/WebHistoryItem.m:
22458        * Misc/WebNSViewExtras.h:
22459        * Misc/WebNSViewExtras.m:
22460        (-[NSView _web_superviewOfClass:]):
22461        (-[NSView _web_parentWebFrameView]):
22462        * Plugins/WebNetscapePluginDocumentView.m:
22463        (-[WebNetscapePluginDocumentView layout]):
22464        * Plugins/WebNetscapePluginEmbeddedView.h:
22465        * Plugins/WebNetscapePluginEmbeddedView.m:
22466        (-[WebNetscapePluginEmbeddedView setWebFrame:]):
22467        (-[WebNetscapePluginEmbeddedView dataSource]):
22468        * Plugins/WebNullPluginView.h:
22469        * Plugins/WebNullPluginView.m:
22470        (-[WebNullPluginView setWebFrame:]):
22471        (-[WebNullPluginView viewDidMoveToWindow]):
22472        * Plugins/WebPluginController.h:
22473        * Plugins/WebPluginController.m:
22474        (-[WebPluginController setDataSource:]):
22475        (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
22476        (-[WebPluginController webPlugInContainerShowStatus:]):
22477        (-[WebPluginController webPlugInContainerSelectionColor]):
22478        (-[WebPluginController webFrame]):
22479        * Plugins/WebPluginDocumentView.h:
22480        * Plugins/WebPluginDocumentView.m:
22481        (-[WebPluginDocumentView setDataSource:]):
22482        (-[WebPluginDocumentView layout]):
22483        (-[WebPluginDocumentView currentWindow]):
22484        (-[WebPluginDocumentView viewWillMoveToWindow:]):
22485        * WebCoreSupport/WebFrameBridge.m:
22486        (-[WebFrameBridge formControlIsBecomingFirstResponder:]):
22487        (-[WebFrameBridge formControlIsResigningFirstResponder:]):
22488        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
22489        * WebCoreSupport/WebViewFactory.m:
22490        (-[WebViewFactory bridgeForView:]):
22491        * WebView/WebClipView.m:
22492        (-[NSView initWithFrame:]):
22493        * WebView/WebFrameView.m:
22494        (-[WebFrameView _shouldDrawBorder]):
22495        (-[WebFrameView webCoreBridge]):
22496        * WebView/WebHTMLView.m:
22497        (-[WebTextCompleteController dealloc]):
22498        (-[WebHTMLView _dataSource]):
22499        (-[WebHTMLView _bridge]):
22500        (-[WebHTMLView _webView]):
22501        (-[WebHTMLView _frameView]):
22502        (-[WebHTMLView _web_firstResponderCausesFocusDisplay]):
22503        (-[WebHTMLView becomeFirstResponder]):
22504        (-[WebHTMLView setDataSource:]):
22505        (-[WebHTMLView pageUp:]):
22506        (-[WebHTMLView pageDown:]):
22507        (-[WebHTMLView pageUpAndModifySelection:]):
22508        (-[WebHTMLView pageDownAndModifySelection:]):
22509        (-[WebHTMLView _frame]):
22510        * WebView/WebHTMLViewInternal.h:
22511        * WebView/WebImageView.h:
22512        * WebView/WebImageView.m:
22513        (-[WebImageView drawRect:]):
22514        (-[WebImageView adjustFrameSize]):
22515        (-[WebImageView setDataSource:]):
22516        (-[WebImageView webView]):
22517        (-[WebImageView writeImageToPasteboard:types:]):
22518        (-[WebImageView copy:]):
22519        (-[WebImageView elementAtPoint:]):
22520        (-[WebImageView mouseDragged:]):
22521        * WebView/WebPDFView.h:
22522        * WebView/WebPDFView.m:
22523        (-[WebPDFView _applyPDFDefaults]):
22524        (-[WebPDFView _trackFirstResponder]):
22525        (-[PDFPrefUpdatingProxy forwardInvocation:]):
22526        * WebView/WebRenderNode.m:
22527        (-[WebRenderNode initWithWebFrameView:]):
22528        * WebView/WebTextView.h:
22529        * WebView/WebTextView.m:
22530        (-[WebTextView _textSizeMultiplierFromWebView]):
22531        (-[WebTextView _preferences]):
22532        (-[WebTextView setDataSource:]):
22533        (-[WebTextView _webFrame]):
22534        (-[WebTextView dragSelectionWithEvent:offset:slideBack:]):
22535        (-[WebTextView menuForEvent:]):
22536        (-[WebTextView resignFirstResponder]):
22537        (-[WebTextView drawPageBorderWithSize:]):
22538        (-[WebTextView knowsPageRange:]):
22539        * WebView/WebView.m:
22540        (-[WebView searchFor:direction:caseSensitive:wrap:]):
22541        (containingFrameView):
22542        (-[WebView _focusedFrame]):
22543        (-[WebView _frameViewAtWindowPoint:]):
22544
225452006-04-23  Maciej Stachowiak  <mjs@apple.com>
22546
22547        Reviewed by Darin.
22548        
22549        - push WebFileButton and WebStringTruncator code down to WebCore
22550        http://bugs.webkit.org/show_bug.cgi?id=8552
22551
22552        * Misc/WebStringTruncator.m:
22553        (+[WebStringTruncator centerTruncateString:toWidth:]):
22554        (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
22555        (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
22556        (+[WebStringTruncator widthOfString:font:]):
22557        * WebCoreSupport/WebFileButton.h: Removed.
22558        * WebCoreSupport/WebFileButton.m: Removed.
22559        * WebCoreSupport/WebFrameBridge.h:
22560        * WebCoreSupport/WebFrameBridge.m:
22561        (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
22562        * WebCoreSupport/WebViewFactory.m:
22563        (-[WebViewFactory fileButtonChooseFileLabel]):
22564        (-[WebViewFactory fileButtonNoFileSelectedLabel]):
22565        * WebKit.xcodeproj/project.pbxproj:
22566
225672006-04-23  Maciej Stachowiak  <mjs@apple.com>
22568
22569        Reviewed by Eric.
22570        
22571        - remove WebCookieAdapter, WebCore can just use Foundation directly.
22572
22573        * WebCoreSupport/WebCookieAdapter.h: Removed.
22574        * WebCoreSupport/WebCookieAdapter.m: Removed.
22575        * WebKit.xcodeproj/project.pbxproj:
22576        * WebView/WebFrameView.m:
22577        (-[WebFrameView initWithFrame:]):
22578
225792006-04-23  Maciej Stachowiak  <mjs@apple.com>
22580
22581        Reviewed by Adele.
22582        
22583        - prune WebView SPI of unused calls
22584        
22585        Specifically I moved methods that have no callers outside WebKit
22586        to WebViewInternal.h or removed them entirely.
22587
22588        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
22589        * Plugins/WebBaseNetscapePluginView.m:
22590        * Plugins/WebNetscapePluginDocumentView.m:
22591        * Plugins/WebNetscapePluginStream.m:
22592        * Plugins/WebNullPluginView.m:
22593        * Plugins/WebPluginContainerCheck.m:
22594        * Plugins/WebPluginController.m:
22595        * WebCoreSupport/WebFrameBridge.m:
22596        * WebCoreSupport/WebPageBridge.m:
22597        * WebCoreSupport/WebSubresourceLoader.m:
22598        * WebView/WebDataSource.m:
22599        * WebView/WebHTMLView.m:
22600        * WebView/WebImageView.m:
22601        * WebView/WebLoader.m:
22602        * WebView/WebMainResourceLoader.m:
22603        * WebView/WebPDFView.m:
22604        * WebView/WebScriptDebugDelegate.m:
22605        * WebView/WebView.m:
22606        (-[WebView _downloadURL:]):
22607        * WebView/WebViewInternal.h:
22608        * WebView/WebViewPrivate.h:
22609
226102006-04-22  Maciej Stachowiak  <mjs@apple.com>
22611
22612        Reviewed by Eric.
22613
22614        - remove WebKit copy of assertions code, use the assertions
22615        stuff from JavaScriptCore instead.
22616
22617        * Carbon/HIViewAdapter.m:
22618        * DOM/WebDOMOperations.m:
22619        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
22620        * DefaultDelegates/WebDefaultPolicyDelegate.m:
22621        (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]):
22622        * History/WebBackForwardList.m:
22623        * History/WebHistory.m:
22624        (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
22625        (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]):
22626        * History/WebHistoryItem.m:
22627        * Misc/WebAssertions.h: Removed.
22628        * Misc/WebAssertions.m: Removed.
22629        * Misc/WebDatabase.m:
22630        * Misc/WebDownload.m:
22631        * Misc/WebFileDatabase.m:
22632        (SetThreadPriority):
22633        * Misc/WebIconDatabase.m:
22634        (-[NSMutableDictionary iconForURL:withSize:cache:]):
22635        (-[NSMutableDictionary releaseIconForURL:]):
22636        (-[NSMutableDictionary delayDatabaseCleanup]):
22637        (-[NSMutableDictionary allowDatabaseCleanup]):
22638        (-[WebIconDatabase _loadIconDictionaries]):
22639        (-[WebIconDatabase _updateFileDatabase]):
22640        (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
22641        * Misc/WebIconLoader.m:
22642        * Misc/WebKitLogging.h:
22643        * Misc/WebKitLogging.m:
22644        * Misc/WebKitSystemBits.m:
22645        (initCapabilities):
22646        * Misc/WebLRUFileList.m:
22647        (WebLRUFileListRemoveOldestFileFromList):
22648        (WebLRUFileListGetFileSize):
22649        * Misc/WebLocalizableStrings.m:
22650        * Misc/WebNSCalendarDateExtras.m:
22651        * Misc/WebNSDataExtras.m:
22652        * Misc/WebNSDictionaryExtras.m:
22653        * Misc/WebNSFileManagerExtras.m:
22654        * Misc/WebNSPasteboardExtras.m:
22655        * Misc/WebNSURLExtras.m:
22656        (hexDigit):
22657        (hexDigitValue):
22658        (allCharactersInIDNScriptWhiteList):
22659        * Misc/WebNSURLRequestExtras.m:
22660        * Misc/WebNSUserDefaultsExtras.m:
22661        * Misc/WebStringTruncator.m:
22662        * Panels/WebAuthenticationPanel.m:
22663        (-[WebAuthenticationPanel loadNib]):
22664        * Panels/WebPanelAuthenticationHandler.m:
22665        * Plugins/WebBaseNetscapePluginStream.m:
22666        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
22667        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
22668        * Plugins/WebBaseNetscapePluginView.m:
22669        (TSMEventHandler):
22670        (-[WebBaseNetscapePluginView start]):
22671        (-[WebBaseNetscapePluginView status:]):
22672        (-[WebBaseNetscapePluginView _printedPluginBitmap]):
22673        * Plugins/WebBasePluginPackage.m:
22674        * Plugins/WebNetscapePluginDocumentView.m:
22675        * Plugins/WebNetscapePluginPackage.m:
22676        (-[WebNetscapePluginPackage load]):
22677        * Plugins/WebNetscapePluginRepresentation.m:
22678        * Plugins/WebPluginContainerCheck.m:
22679        * Plugins/WebPluginController.m:
22680        (-[WebPluginController addPlugin:]):
22681        (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
22682        (-[WebPluginController webPlugInContainerShowStatus:]):
22683        * Plugins/WebPluginDatabase.m:
22684        * Plugins/WebPluginDocumentView.m:
22685        * WebCoreSupport/WebCookieAdapter.m:
22686        * WebCoreSupport/WebFileButton.m:
22687        * WebCoreSupport/WebFrameBridge.m:
22688        (-[WebFrameBridge runModal]):
22689        * WebCoreSupport/WebImageData.m:
22690        (-[WebImageData _checkSolidColor:]):
22691        (-[WebImageData tileInRect:fromPoint:context:]):
22692        (-[WebImageData scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]):
22693        * WebCoreSupport/WebImageDecoder.m:
22694        * WebCoreSupport/WebImageRenderer.m:
22695        (-[WebImageRenderer TIFFRepresentation]):
22696        * WebCoreSupport/WebImageRendererFactory.m:
22697        * WebCoreSupport/WebJavaScriptTextInputPanel.m:
22698        * WebCoreSupport/WebKeyGenerator.m:
22699        * WebCoreSupport/WebPageBridge.m:
22700        * WebCoreSupport/WebSubresourceLoader.m:
22701        * WebCoreSupport/WebTextRenderer.m:
22702        (widthForGlyph):
22703        (-[WebTextRenderer initWithFont:]):
22704        (drawGlyphs):
22705        (initializeATSUStyle):
22706        (createATSULayoutParameters):
22707        (getTextBounds):
22708        (ATSU_draw):
22709        * WebCoreSupport/WebTextRendererFactory.m:
22710        * WebCoreSupport/WebViewFactory.m:
22711        * WebKit.exp:
22712        * WebKit.xcodeproj/project.pbxproj:
22713        * WebKitPrefix.h:
22714        * WebView/WebArchiver.m:
22715        (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
22716        * WebView/WebClipView.m:
22717        * WebView/WebDataProtocol.m:
22718        * WebView/WebDataSource.m:
22719        (-[WebDataSource _startLoading]):
22720        * WebView/WebFormDataStream.m:
22721        (formEventCallback):
22722        (webSetHTTPBody):
22723        * WebView/WebFrame.m:
22724        (-[WebFrame _transitionToCommitted:]):
22725        * WebView/WebFrameView.m:
22726        * WebView/WebHTMLRepresentation.m:
22727        * WebView/WebHTMLView.m:
22728        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
22729        (-[WebHTMLView drawSingleRect:]):
22730        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
22731        (-[WebHTMLView _scaleFactorForPrintOperation:]):
22732        (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]):
22733        (-[WebHTMLView checkSpelling:]):
22734        (-[WebHTMLView showGuessPanel:]):
22735        (-[WebHTMLView _changeSpellingToWord:]):
22736        (-[WebHTMLView ignoreSpelling:]):
22737        (-[WebHTMLView performFindPanelAction:]):
22738        (-[WebTextCompleteController doCompletion]):
22739        * WebView/WebImageView.m:
22740        * WebView/WebLoader.m:
22741        (-[NSURLProtocol connection:willCacheResponse:]):
22742        * WebView/WebPDFRepresentation.m:
22743        (+[WebPDFRepresentation PDFDocumentClass]):
22744        * WebView/WebPDFView.m:
22745        (+[WebPDFView PDFKitBundle]):
22746        (+[WebPDFView PDFViewClass]):
22747        (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
22748        * WebView/WebTextRepresentation.m:
22749        * WebView/WebTextView.m:
22750        * WebView/WebUnarchivingState.m:
22751        * WebView/WebView.m:
22752
227532006-04-22  Timothy Hatcher  <timothy@apple.com>
22754
22755        Reviewed by Eric.
22756
22757        http://bugs.webkit.org/show_bug.cgi?id=8514
22758        Bug 8514: Web Inspector hides when the app is in the background
22759
22760        Makes the inspector not hide in the background. Since the inspector is a floating panel
22761        we need to call setFloatingPanel:NO when the app is switching into the background. Then
22762        call setFloatingPanel:YES when the app is activated again. Without this the inspector
22763        would float above all applications.
22764
22765        * WebInspector/WebInspector.m:
22766        (-[NSWindow window]): setHidesOnDeactivate:NO
22767        (-[NSWindow windowWillClose:]): de-regiser appliction active notifications
22768        (-[NSWindow showWindow:]): register for appliction active notifications
22769        (-[WebInspector _applicationWillResignActive]): setFloatingPanel:NO
22770        (-[WebInspector _applicationDidBecomeActive]): setFloatingPanel:YES
22771
227722006-04-21  Adele Peterson  <adele@apple.com>
22773
22774        Reviewed by Darin.
22775
22776        - Fix for http://bugs.webkit.org/show_bug.cgi?id=8181
22777        REGRESSION: After tabbing in page's field, attempting to tab from Google toolbar search to page fails on first try
22778
22779        Test: manual-tests/tabbing-input-google.html
22780
22781        * WebView/WebHTMLView.m: (-[WebHTMLView resignFirstResponder]):
22782        When resigning first responder, reset willBecomeFirstResponderForNodeFocus, so when the WebHTMLView gets focus again
22783        it knows it can start moving through the tab cycle.
22784
227852006-04-20  Tim Omernick  <timo@apple.com>
22786
22787        Reviewed by John Sullivan.
22788
22789        <rdar://problem/4476875> Support printing for embedded Netscape plugins
22790
22791        NOTE: This only works with the Flash plugin right now.  It appears that the other
22792        major plugins either have awful printing support, or no printing support.  If someone
22793        can find an example of any other embedded Netscape plugin printing in any browser on
22794        the Mac, I will be happy to eat my own words!
22795
22796        * Plugins/WebBaseNetscapePluginView.m:
22797        (-[WebBaseNetscapePluginView drawRect:]):
22798        When printing, get the printed bitmap via -_printedPluginBitmap, and draw it into the
22799        plugin view.
22800        (-[WebBaseNetscapePluginView _printedPluginBitmap]):
22801        Call NPP_Print on the plugin to render it into a GWorld.  This GWorld has the same
22802        underlying buffer as an NSBitmapImageRep, which is returned to the caller.
22803
228042006-04-20 Mitz Pettel  <opendarwin.org@mitzpettel.com>
22805
22806        Reviewed by Darin.
22807
22808        WebKit part of:
22809        - fix http://bugs.webkit.org/show_bug.cgi?id=8276
22810          REGRESSION (NativeTextField): Pasting a Finder item into a text field results in
22811            a file: URL being pasted instead of just the file name
22812        - fix http://bugs.webkit.org/show_bug.cgi?id=8283
22813          REGRESSION: File's path doesn't appear after dragging file into input field
22814
22815        * WebView/WebHTMLView.m:
22816        (-[WebHTMLView _plainTextFromPasteboard:]): Added method that tries to copy AppKit
22817        text fields' logic for extracting plain text from the pasteboard.
22818        (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Added helper method.
22819        (-[WebHTMLView _shouldInsertText:replacingDOMRange:givenAction:]):
22820        (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]):
22821        (-[WebHTMLView readSelectionFromPasteboard:]): Paste as plain text if
22822        rich text is not allowed.
22823        (-[WebHTMLView validateUserInterfaceItem:]): Changed to not allow pasteAsRichText:
22824        if the paste is not going to be handled by the DOM and the selection
22825        does not allow pasting rich text.
22826        (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Paste as plain text if
22827        rich text is not allowed.
22828        (-[WebHTMLView paste:]): Ditto.
22829        (-[WebHTMLView pasteAsPlainText:]):
22830
228312006-04-20  Darin Adler  <darin@apple.com>
22832
22833        Reviewed by Adele.
22834
22835        - WebKit part of http://bugs.webkit.org/show_bug.cgi?id=8505
22836          eliminate WebCoreGraphics bridge, demonstrate new SystemInterface technique
22837
22838        * WebCoreSupport/WebGraphicsBridge.h: Removed.
22839        * WebCoreSupport/WebGraphicsBridge.m: Removed.
22840        * WebCoreSupport/WebSystemInterface.h: Added.
22841        * WebCoreSupport/WebSystemInterface.m: Added.
22842
22843        * WebKit.xcodeproj/project.pbxproj: Updated for removed and added files.
22844
22845        * WebCoreSupport/WebImageData.m: Removed unneeded include of WebGraphicsBridge.h.
22846        * WebCoreSupport/WebImageRenderer.m: Ditto.
22847        * WebCoreSupport/WebTextRenderer.m: Ditto.
22848
22849        * WebView/WebFrameView.m: (-[WebFrameView initWithFrame:]): Guarded all the one-time
22850        initialization inside a boolean, just in case some things take a little time. Added
22851        a call to InitWebCoreSystemInterface to the one-time initialization here. Later, we
22852        will need to add it in some other places if we call code that requires the use of
22853        WebCoreSystemInterface functions from anywhere that can be invoked before creations
22854        of the first WebFrameView, but for now there is no need.
22855
228562006-04-19  James G. Speth  <speth@end.com>
22857
22858        Reviewed by Timothy.
22859
22860        http://bugs.webkit.org/show_bug.cgi?id=8442
22861        Bug 8442: improvements to Cocoa bindings support in WebView - code simplification
22862
22863        Removes the WebController class added earlier; changes NSTreeController and 
22864        WebView to together without it. Now you can just bind the contentObject binding
22865        of the tree controller directly to the mainFrameDocument key of the WebView.
22866
22867        * WebCoreSupport/WebFrameBridge.m:
22868        (-[WebFrameBridge windowObjectCleared]):
22869        * WebView/WebDataSource.m:
22870        (-[WebDataSource _setTitle:]):
22871        * WebView/WebFrame.m:
22872        (-[WebFrame _closeOldDataSources]):
22873        * WebView/WebView.m:
22874        (-[WebView _progressStarted:]):
22875        (-[WebView _finalProgressComplete]):
22876        (-[WebView _commonInitializationWithFrameName:groupName:]):
22877        (-[WebView setMainFrameDocumentReady:]):
22878        (-[WebView mainFrameDocument]):
22879        * WebView/WebViewPrivate.h:
22880
228812006-04-19  James G. Speth  <speth@end.com>
22882
22883        Reviewed by Timothy.
22884
22885        http://bugs.webkit.org/show_bug.cgi?id=6635
22886        Bug 6635: Crash selecting inspector nodes for tabs that aren't foremost
22887
22888        Stop observing window will close notifications before we tell the highlight window to close,
22889        this prevents the crash. Also prevent drawing highlights for hidden tabs.
22890
22891        * WebInspector/WebInspector.m:
22892        (-[WebInspector _highlightNode:]):
22893        * WebInspector/WebNodeHighlight.m:
22894        (-[WebNodeHighlight expire]):
22895
228962006-04-19  James G. Speth  <speth@end.com>
22897
22898        Reviewed by Timothy.
22899
22900        http://bugs.webkit.org/show_bug.cgi?id=6637
22901        Bug 6637: selecting node in Inspector after closing window crashes Safari
22902
22903        When the window the Web Inspector was inspecting is closed, the inspector goes into its
22904        no-selection state. Choosing to inspect another element activates it again. The inspector
22905        will also follow the WebView if the URL changes and select the root element on the new page.
22906
22907        * WebInspector/WebInspector.m:
22908        (-[NSWindow setWebFrame:]):
22909        (-[NSWindow setRootDOMNode:]):
22910        (-[WebInspector _revealAndSelectNodeInTree:]):
22911        (-[WebInspector _update]):
22912        (-[WebInspector _updateRoot]):
22913        (-[WebInspector inspectedWebViewProgressFinished:]):
22914        (-[WebInspector inspectedWindowWillClose:]):
22915        (-[WebInspector webView:didFinishLoadForFrame:]):
22916        * WebInspector/WebInspectorPanel.m:
22917        (-[WebInspectorPanel canBecomeMainWindow]):
22918
229192006-04-18  Darin Adler  <darin@apple.com>
22920
22921        Reviewed by Beth.
22922
22923        * WebInspector/webInspector/inspector.css: Add "-webkit-" prefixes to the border
22924        radius properties to make the corners rounded again.
22925
229262006-04-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
22927
22928        Reviewed by Darin.
22929
22930        - WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=8324
22931          REGRESSION: textarea :focus not applied immediately
22932
22933        * WebCoreSupport/WebFrameBridge.m:
22934        (-[WebFrameBridge formControlIsBecomingFirstResponder:]): Added. Calls the ancestor
22935        WebHTMLView's _formControlIsBecomingFirstResponder:
22936        * WebView/WebHTMLView.m:
22937        (-[WebHTMLView _updateFocusState:]): If a descendant is becoming first responder,
22938        enable focused appearance.
22939        (-[WebHTMLView _formControlIsBecomingFirstResponder:]): Added. Calls _updateFocusState,
22940        causing the frame to display with focus attributes.
22941        * WebView/WebHTMLViewInternal.h:
22942
229432006-04-14  James G. Speth  <speth@end.com>
22944
22945        Reviewed by Timothy.
22946
22947        Bug 8389: support for Cocoa bindings - binding an NSTreeController to the WebView's DOM
22948        http://bugs.webkit.org/show_bug.cgi?id=8389
22949
22950        Added a controller class, WebController, that is a subclass of
22951        NSTreeController that has a new outlet/binding for the WebView.
22952
22953        * WebCoreSupport/WebFrameBridge.m:
22954        (-[WebFrameBridge windowObjectCleared]): notify bindings about the document change
22955        * WebView/WebView.m:
22956        (-[WebView _progressStarted:]): notify bindings about the document change
22957        (-[WebView _finalProgressComplete]): notify bindings about the document change
22958        (-[WebView _declaredKeys]): added a key for the main frame document
22959        (-[WebController init]):
22960        (-[WebController exposedBindings]):
22961        (-[WebController valueClassForBinding:]):
22962        (-[WebController setContent:]):
22963        (-[WebController webView]):
22964        (-[WebController setWebView:]):
22965        (-[WebView mainFrameDocument]): get the main frame's DOMDocument
22966        * WebView/WebViewPrivate.h: Adds mainFrameDocument to pending public.
22967
229682006-04-12  David Harrison  <harrison@apple.com>
22969
22970        Reviewed by Darin.
22971        
22972        <rdar://problem/4386640> AX: AXPreviousSentenceStartTextMarkerForTextMarker does not respect paragraph boundary
22973        <rdar://problem/4414575> AX: Dictionary popup cannot find some words on Dictionary.app
22974        
22975        (see related changes in WebCore)
22976        
22977        Tests added:
22978        * editing/selection/extend-by-sentence-001.html: Added.
22979        * fast/dom/inner-text-001.html: Added.
22980
22981        * WebView/WebHTMLView.m:
22982        (-[WebHTMLView validateUserInterfaceItem:]):
22983        (-[WebHTMLView moveToBeginningOfSentence:]):
22984        (-[WebHTMLView moveToBeginningOfSentenceAndModifySelection:]):
22985        (-[WebHTMLView moveToEndOfSentence:]):
22986        (-[WebHTMLView moveToEndOfSentenceAndModifySelection:]):
22987        (-[WebHTMLView selectSentence:]):
22988        * WebView/WebView.m:
22989        * WebView/WebViewPrivate.h:
22990        Add sentence navigation and selection.
22991
229922006-04-12  Tim Omernick  <timo@apple.com>
22993
22994        Reviewed by Darin.
22995
22996        Part of <rdar://problem/4482530>
22997
22998        * WebView/WebView.m:
22999        (-[WebView _focusedFrame]):
23000        Fixed up the logic here to take into account immediate subviews of WebView, which are not actually in a WebFrameView
23001        (they are peers to the main frame's WebFrameView).
23002
230032006-04-10  John Sullivan  <sullivan@apple.com>
23004
23005        Reviewed by Tim Omernick.
23006        
23007        - fixed <rdar://problem/4139799> Seed: Safari: Private Browsing leaves traces in Icon Cache
23008        
23009        * Misc/WebIconDatabasePrivate.h:
23010        new ivars: pageURLsBoundDuringPrivateBrowsing, iconURLsBoundDuringPrivateBrowsing, and privateBrowsingEnabled
23011
23012        * Misc/WebIconDatabase.m:
23013        (-[NSMutableDictionary init]):
23014        initialize new ivars, and listen for notifications that WebPreferences changed so we can react to changes
23015        to private browsing.
23016        (-[NSMutableDictionary iconForURL:withSize:cache:]):
23017        Don't remove icon URL from extraRetain dictionary; that's now done in _forgetIconForIconURLString. (I left a
23018        comment here earlier about why I was worried about this change, but I convinced myself that it's fine.)
23019        (-[WebIconDatabase removeAllIcons]):
23020        Removed no-longer-true (and never very clear) comment, and braces. Also remove all objects from the two
23021        private-browsing-related dictionaries.
23022        (-[WebIconDatabase _setIcon:forIconURL:]):
23023        remember icon URL if private browsing is enabled
23024        (-[WebIconDatabase _setHaveNoIconForIconURL:]):
23025        remember icon URL if private browsing is enabled
23026        (-[WebIconDatabase _setIconURL:forURL:]):
23027        added an assert that helped me out at one point
23028        (-[WebIconDatabase _clearDictionaries]):
23029        clear the two new dictionaries too
23030        (-[WebIconDatabase _loadIconDictionaries]):
23031        made an existing ERROR not fire in the expected case where there are no icons at all on disk
23032        (-[WebIconDatabase _updateFileDatabase]):
23033        when saving the pageURLToIconURL dictionary to disk, first remove any values that were created during
23034        private browsing
23035        (-[WebIconDatabase _retainIconForIconURLString:]):
23036        skip the code that deals with saving changes to disk if private browsing is enabled
23037        (-[WebIconDatabase _forgetIconForIconURLString:]):
23038        Remove the icon URL from extraRetain dictionary here. We're forgetting everything about this icon URL
23039        so we should forget its former extraRetain count too.
23040        (-[WebIconDatabase _resetCachedWebPreferences:]):
23041        Cache the new value of private browsing. If it has now been turned off, forget everything we learned
23042        while it was on. This causes (e.g.) icons for bookmarks or pre-existing history items to be forgotten
23043        if the icon was only learned during private browsing.
23044
23045        * History/WebHistoryItem.m:
23046        removed an unnecessary #import I happened to notice
23047        
230482006-04-10  David Hyatt  <hyatt@apple.com>
23049
23050        Make the broken CG focus ring painting work when WebCore sets a clip
23051        (in addition to respecting the dirty rect clip).
23052
23053        Reviewed by darin
23054
23055        * WebCoreSupport/WebGraphicsBridge.m:
23056        (-[WebGraphicsBridge drawFocusRingWithPath:radius:color:clipRect:]):
23057
230582006-04-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
23059
23060        Reviewed by Darin.
23061
23062        - fix http://bugs.webkit.org/show_bug.cgi?id=8100
23063          REGRESSION (NativeTextField): Right-aligned and RTL text jitters in new text fields
23064
23065        * WebCoreSupport/WebTextRenderer.m:
23066        (overrideLayoutOperation): For RTL runs, apply the word-rounding on the left.
23067        (CG_floatWidthForRun): For RTL runs, apply the last character's rounding
23068        on the left by adjusting the start position.
23069        (initializeWidthIterator): Added finalRoundingWidth field to WidthIterator.
23070        (advanceWidthIterator): For RTL runs, apply rounding on the left of the character,
23071        by increasing the width of the next character (which is the character to the left). For
23072        the last character, keep the rounding width in the iterator's finalRoundingWidth, to be used by
23073        CG_floatWidthForRun().
23074
230752006-04-08  John Sullivan  <sullivan@apple.com>
23076
23077        Reviewed by Adele Peterson.
23078
23079        - fixed http://bugs.webkit.org/show_bug.cgi?id=8260
23080        REGRESSION: Assertion failure: ![_private->iconsToSaveWithURLs containsObject:iconURLString] 
23081        in WebIconDatabase.m:695-[WebIconDatabase(WebInternal) _retainIconForIconURLString:]
23082
23083        * Misc/WebIconDatabase.m:
23084        (-[WebIconDatabase _retainIconForIconURLString:]):
23085        This new assertion was one block too high; moved it in.
23086
230872006-04-07  David Hyatt  <hyatt@apple.com>
23088
23089        A fix that makes coalesced updates work much better (and makes our
23090        single animated GIF timer work better).  The new rect painting algorithm
23091        for WebHTMLView will use the single unioned rect if the # of rects exceeds
23092        a threshold (10 is my initial cut), or if the union has enough "wasted"
23093        additional pixels (conservatively set at 75%).
23094
23095        Reviewed by darin
23096
23097        * WebView/WebHTMLView.m:
23098        (-[WebHTMLView drawSingleRect:]):
23099        (-[WebHTMLView drawRect:]):
23100
231012006-04-07  Maciej Stachowiak  <mjs@apple.com>
23102
23103        Reviewed by Darin.
23104        
23105        - simplify archive loading
23106
23107        * WebView/WebDataSource.m:
23108        (-[WebDataSource representation]): fix whitespace
23109        * WebView/WebHTMLRepresentation.m:
23110        (-[WebHTMLRepresentation loadArchive]): Use WebFrame's loadArchive: instead
23111        of trying to do a manual load here.
23112        (-[WebHTMLRepresentation documentSource]): No more special case for WebArchive.
23113
231142006-04-07  John Sullivan  <sullivan@apple.com>
23115
23116        Reviewed by Tim Omernick.
23117        
23118        - fixed <rdar://problem/4507054> If an icon file is removed from disk behind Safari's back, 
23119        Safari will not try to refetch it
23120        
23121        In addition to letting WebIconDatabase recover from disk/memory mismatches as per 4507054, I also found
23122        a bug in the way icons are remembered that could account for some of the other cases where
23123        site icons didn't appear (and you'd get an ERROR on debug builds about WebIconDatabase saying it
23124        had some icon when it really doesn't).
23125
23126        * Misc/WebIconDatabase.m:
23127        (-[WebIconDatabase iconForURL:withSize:cache:]):
23128        When the icon file for a previously-saved site icon isn't found, forget about the darn icon URL thoroughly
23129        so that this situation is self-correcting. Formerly, once you got into this state WebKit would never find
23130        the icon again (short of removing the entire icon database cleanly). Note that this does *not* change
23131        the behavior of sites that didn't have a site icon when WebKit checked -- these will continue to not
23132        return a site icon indefinitely (that's a separate, possibly performance-sensitive issue).
23133        (-[WebIconDatabase _retainIconForIconURLString:]):
23134        This code did the wrong thing in the case where an icon was in the process of being forgotten about. In
23135        that case, the icon would still be in _private->iconsOnDiskWithURLs, so we wouldn't try to save it here,
23136        so the new icon wouldn't stick.
23137
231382006-04-07  David Hyatt  <hyatt@apple.com>
23139
23140        Re-enable coalesced updates.  Our move to a single timer has essentially
23141        implemented coalescing of updates anyway, so the regression has already
23142        come back.  Since we have to deal with that now anyway, there's no reason
23143        to visually tear also. :)
23144
23145        Reviewed by darin
23146
23147        * ChangeLog:
23148        * WebView/WebView.m:
23149        (-[WebView _commonInitializationWithFrameName:groupName:]):
23150
231512006-04-05  Darin Adler  <darin@apple.com>
23152
23153        - fixed a storage leak from that last check-in
23154
23155        * WebView/WebUnarchivingState.m: (-[WebUnarchivingState dealloc]):
23156        Release the two dictionaries.
23157
231582006-04-05  Maciej Stachowiak  <mjs@apple.com>
23159
23160        Reviewed by Eric.
23161        
23162        - start on factoring WebArchive unpacking more into a separate class.
23163        http://bugs.webkit.org/show_bug.cgi?id=8208
23164        
23165        * WebKit.xcodeproj/project.pbxproj:
23166        * WebView/WebDataSource.m:
23167        (-[WebDataSourcePrivate dealloc]):
23168        (-[WebDataSource _addToUnarchiveState:]):
23169        (-[WebDataSource _popSubframeArchiveWithName:]):
23170        (-[WebDataSource _documentFragmentWithArchive:]):
23171        (-[WebDataSource _setupForReplaceByMIMEType:]):
23172        (-[WebDataSource subresourceForURL:]):
23173        * WebView/WebDataSourcePrivate.h:
23174        * WebView/WebFrame.m:
23175        (-[WebFrame _loadRequest:archive:]):
23176        (-[WebFrame loadRequest:]):
23177        (-[WebFrame loadArchive:]):
23178        * WebView/WebFramePrivate.h:
23179        * WebView/WebHTMLRepresentation.m:
23180        (-[WebHTMLRepresentation loadArchive]):
23181        * WebView/WebUnarchivingState.h: Added.
23182        * WebView/WebUnarchivingState.m: Added.
23183        (-[WebUnarchivingState init]):
23184        (-[WebUnarchivingState addArchive:]):
23185        (-[WebUnarchivingState archivedResourceForURL:]):
23186        (-[WebUnarchivingState popSubframeArchiveWithFrameName:]):
23187
231882006-04-04  Timothy Hatcher  <timothy@apple.com>
23189
23190        Reviewed by Darin.
23191
23192        The Debug and Release frameworks are now built with install paths relative to the build products directory.
23193        This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore. 
23194
23195        * WebKit.xcodeproj/project.pbxproj:
23196
231972006-04-04  John Sullivan  <sullivan@apple.com>
23198
23199        Reviewed by Adele Peterson.
23200
23201        - WebKit part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing
23202
23203        * WebView/WebView.m:
23204        (-[WebView _updateWebCoreSettingsFromPreferences:]):
23205        Pass private browsing setting down to WebCore.
23206
232072006-04-03  John Sullivan  <sullivan@apple.com>
23208
23209        Reviewed by Tim Hatcher.
23210        
23211        - re-fixed <rdar://problem/4481198> REGRESSION (TOT): search results list in bookmarks view 
23212        remains when search text is deleted
23213
23214        * WebView/WebView.m:
23215        (-[WebView searchFor:direction:caseSensitive:wrap:]):
23216        I fixed this recently, but then broke it again by adding an early bail-out to this method. So
23217        now I'm removing the early bail-out.
23218
232192006-04-02  Trey Matteson  <trey@usa.net>
23220
23221        Reviewed by Maciej.
23222
23223        fix http://bugs.webkit.org/show_bug.cgi?id=8121
23224        REGRESSION: 404s are not displayed
23225
23226        * WebView/WebMainResourceLoader.m:
23227        (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
23228        Only cancel failed loads for object elements, not for frames or a whole page.
23229
232302006-04-02  Maciej Stachowiak  <mjs@apple.com>
23231
23232        Reviewed by Hyatt.
23233
23234        - fixed <rdar://problem/4198619> REGRESSION: tabbing through links fails after hitting text field w/ sys's "tab to all controls" off
23235        - fixed <rdar://problem/4463760> REGRESSION: Can't tab from old text field (like password fields) to new text field (6811)
23236        (http://bugs.webkit.org/show_bug.cgi?id=6811)
23237        - fixed tab and shift tab don't select the right things
23238        http://bugs.webkit.org/show_bug.cgi?id=5685
23239
23240        * WebCoreSupport/WebFrameBridge.m:
23241        (-[WebFrameBridge willMakeFirstResponderForNodeFocus]): New method
23242        - let WebHTMLView know that the next time it becomes first
23243        responder, it's to change focus within the page and the right node
23244        has already been set, so it should not move focus forward or
23245        backward inside it.
23246        * WebView/WebHTMLView.m:
23247        (-[WebHTMLView needsPanelToBecomeKey]): Override to return YES, oddly enough this
23248        is the right way to tell AppKit that you should be in the tab cycle loop.
23249        (-[WebHTMLView becomeFirstResponder]): Don't move forward or back in tab cycle
23250        when this becomeFirstResponder is for tabbing from a control in the page.
23251        (-[WebHTMLView _willMakeFirstResponderForNodeFocus]): Note that the next
23252        time this view becomes first responder, it will be for in-page focus 
23253        navigation.
23254        * WebView/WebHTMLViewInternal.h:
23255
232562006-04-01  Darin Adler  <darin@apple.com>
23257
23258        Reviewed by Maciej.
23259
23260        - fix http://bugs.webkit.org/show_bug.cgi?id=8105
23261          REGRESSION (NativeTextField): Option-delete deletes one space before the deleted word
23262
23263        Test: fast/forms/input-text-option-delete.html
23264
23265        * WebView/WebHTMLView.m:
23266        (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Pass NO for
23267        smartDeleteOK. Smart deletion only applies to deleting a word at a time, and none of
23268        the callers of this function that delete a word at a time want smart deletion.
23269        (-[WebHTMLView deleteToEndOfLine:]): Fixed tiny formatting glitch.
23270
232712006-03-31  Timothy Hatcher  <timothy@apple.com>
23272
23273        Reviewed by Darin.
23274
23275        We need to set reachedTerminalState to YES before we release
23276        the resources to prevent a double dealloc of WebView
23277
23278        Fixes <rdar://problem/4372628> crash deallocating a WebView in -[WebFrame stopLoading]
23279
23280        * WebView/WebLoader.m:
23281        (-[NSURLProtocol releaseResources]): set reachedTerminalState earlier
23282
232832006-03-31  John Sullivan  <sullivan@apple.com>
23284
23285        Reviewed by Tim Omernick.
23286        
23287        Some cleanup in the WebIconDatabase code in a fruitless search for the cause
23288        of the mysterious -[WebFileDatabase performSetObject:forKey] crash
23289
23290        * Misc/WebIconDatabase.m:
23291        (-[WebIconDatabase _createFileDatabase]):
23292        removed obsolete comment
23293        (-[WebIconDatabase _loadIconDictionaries]):
23294        Added ERRORs for unexpected early returns. Made dictionaries be autoreleased until
23295        the end of the method where they are retained, so that the early returns don't leak;
23296        added ASSERTs that the _private->dictionary values aren't being leaked.
23297        (-[WebIconDatabase _updateFileDatabase]):
23298        Added an ERROR for an unexpected early return, and made a trivial style fix.
23299
233002006-03-31  Trey Matteson  <trey@usa.net>
23301
23302        Reviewed by Maciej, landed by ap.
23303
23304        http://bugs.webkit.org/show_bug.cgi?id=7739
23305        REGRESSION: Assertion failure loading acid2 test in -[WebCoreFrameBridge installInFrame:]
23306
23307        Tests: http/tests/misc/acid2.html, http/tests/misc/acid2-pixel.html
23308
23309        The gist of this change is that we must cancel the load from the Webkit side when we
23310        realize we're switching to the fallback content.  This is somewhat a temp workaround
23311        since control of loading will be moving to WebCore.
23312
23313        * WebView/WebMainResourceLoader.m:
23314        (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
23315
233162006-03-30  Justin Garcia  <justin.garcia@apple.com>
23317
23318        Reviewed by darin
23319        
23320        http://bugs.webkit.org/show_bug.cgi?id=6989
23321        REGRESSION: Plain-text mode needed for contenteditable area used in new text field
23322
23323        * WebView/WebHTMLView.m:
23324        (-[WebHTMLView _canEditRichly]): Added.
23325        (-[WebHTMLView _canIncreaseSelectionListLevel]): Use _canEditRichly
23326        (-[WebHTMLView _canDecreaseSelectionListLevel]): Ditto.
23327        (-[WebHTMLView _increaseSelectionListLevel]):
23328        (-[WebHTMLView _decreaseSelectionListLevel]):
23329        (-[WebHTMLView validateUserInterfaceItem:]): 
23330        Split rich text editing actions off from ones that can be applied anywhere.
23331        (-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
23332        (-[WebHTMLView _applyParagraphStyleToSelection:withUndoAction:]):
23333        (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]):
23334        * WebView/WebHTMLViewPrivate.h:
23335
233362006-03-29  Tim Omernick  <timo@apple.com>
23337
23338        Reviewed by John Sullivan.
23339
23340        <rdar://problem/4495316> REGRESSION (420+): After page has loaded, spinning progress indicator is displayed on
23341        tab at versiontracker.com
23342
23343        * WebView/WebFrame.m:
23344        (-[WebFrame _receivedMainResourceError:]):
23345        Call -_clientRedirectCancelledOrFinished: here so that the frame load delegate is notified that the redirect's
23346        status has changed, if there was a redirect.  The frame load delegate may have saved some state about
23347        the redirect in its -webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:.  Since we are definitely
23348        not going to use this provisional resource, as it was cancelled, notify the frame load delegate that the redirect
23349        has ended.
23350        The fix for 4432562 was similar to this, but only took care of the case where the redirect load was actually
23351        committed to the frame.  The new call to -_clientRedirectCancelledOrFinished: handles the case where the redirect
23352        load was successful, but was not committed.  This happens with downloads.
23353        
233542006-03-29  John Sullivan  <sullivan@apple.com>
23355
23356        Reviewed by Tim Omernick.
23357        
23358        - fixed these bugs:
23359        <rdar://problem/4483806> REGRESSION (417.8-TOT): PDFs don't scale correctly with auto-size (5356)
23360        <rdar://problem/3874856> Safari PDF display should be full width by default rather than 
23361        sized to show the entire page
23362
23363        * WebView/WebPDFRepresentation.m:
23364        (-[WebPDFRepresentation finishedLoadingWithDataSource:]):
23365        Let the WebPDFView handle setting the document, because that's the best time to apply
23366        the sizing-related preferences.
23367        
23368        * WebView/WebPDFView.h:
23369        eliminated firstLayoutDone ivar and -PDFSubview public method; added -setPDFDocument:
23370        
23371        * WebView/WebPDFView.m:
23372        (-[WebPDFView initWithFrame:]):
23373        eliminate use of obsolete firstLayoutDone ivar
23374        (-[WebPDFView _applyPDFDefaults]):
23375        renamed from _readPDFDefaults for clarity
23376        (-[WebPDFView layout]):
23377        removed code that applied the preferences here. This was too early to handle auto-sizing correctly,
23378        because -layout can be called before the document exists, and calling setAutoSize:YES at that
23379        point confuses PDFView into setting the scale factor to 20 (the maximum).
23380        (-[WebPDFView setPDFDocument:]):
23381        New method, does what WebPDFRepresentation used to do and also applies the preferences here.
23382        This is a good place to apply them because the document is guaranteed to now exist (of course).
23383        (-[WebPDFView PDFSubview]):
23384        Moved this into a new FileInternal category because it's still needed by another class in
23385        this file but no longer needs to be public.
23386        
23387        * WebView/WebPreferences.m:
23388        (+[WebPreferences initialize]):
23389        Change WebKitPDFScaleFactorPreferenceKey to 0, which represents auto-size. This fixes 3874856,
23390        but wasn't feasible until 4483806 was fixed.
23391
233922006-03-28  Darin Adler  <darin@apple.com>
23393
23394        Reviewed by Geoff.
23395
23396        - added a build step that checks for init routines
23397
23398        * WebKit.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
23399        check-for-global-initializers script.
23400
234012006-03-28  Tim Omernick  <timo@apple.com>
23402
23403        Reviewed by Darin.
23404
23405        <rdar://problem/3694090> -[WebBaseNetscapePluginView finalize] is incorrect; design change needed
23406
23407        * Plugins/WebBaseNetscapePluginView.m:
23408        (-[WebBaseNetscapePluginView initWithFrame:]):
23409        Don't observe preferences changes here -- we only want to observe preferences while the view is 
23410        installed in the view hierarchy.  Plugins will appropriately start and stop themselves when added to
23411        or removed from a window.
23412        (-[WebBaseNetscapePluginView dealloc]):
23413        Don't remove observers here -- they should have been removed when the view was removed from its
23414        window.
23415        (-[WebBaseNetscapePluginView finalize]):
23416        ditto
23417        (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
23418        Stop observing preferences when the view is removed from its window.
23419        (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
23420        Start observing preferences when the view is added to a window.
23421
234222006-03-27  Tim Omernick  <timo@apple.com>
23423
23424        Reviewed by Eric.
23425
23426        <rdar://problem/3694090> -[WebBaseNetscapePluginView finalize] is incorrect; design change needed
23427
23428        * ChangeLog:
23429        * Plugins/WebBaseNetscapePluginView.m:
23430        (-[WebBaseNetscapePluginView dealloc]):
23431        Instead of calling -stop, assert that the plugin is not running.  A plugin view cannot be deallocated
23432        until it is removed from its window.  When a plugin view is removed from its window, it calls -stop
23433        on itself.  Therefore I believe that this call to -stop is unnecessary; if I'm wrong, then the
23434        assertion will help catch any edge cases.
23435        (-[WebBaseNetscapePluginView finalize]):
23436        ditto
23437
234382006-03-27  Tim Omernick  <timo@apple.com>
23439
23440        Reviewed by Eric.
23441
23442        <rdar://problem/3694086> -[WebBaseNetscapePluginStream finalize] is incorrect; design change needed
23443
23444        * Plugins/WebBaseNetscapePluginStream.m:
23445        (-[WebBaseNetscapePluginStream dealloc]):
23446        Assert that the stream file path either never existed, or was deleted and NULL-ed out.  The stream file
23447        is now deleted immediately after calling NPP_StreamAsFile().
23448        (-[WebBaseNetscapePluginStream finalize]):
23449        ditto
23450        (-[WebBaseNetscapePluginStream _destroyStream]):
23451        Delete the file after calling NPP_StreamAsFile(), instead of in -dealloc/-finalize.  It should be OK
23452        to delete the file here -- NPP_StreamAsFile() is always called immediately before NPP_DestroyStream()
23453        (the stream destruction function), so there can be no expectation that a plugin will read the stream file
23454        asynchronously after NPP_StreamAsFile() is called.
23455
234562006-03-27  Tim Omernick  <timo@apple.com>
23457
23458        Reviewed by Eric.
23459
23460        <rdar://problem/3694093> -[WebBasePluginPackage finalize] is incorrect; design change needed
23461
23462        Call -unload on plug-in packages instead of relying on -dealloc/-finalize to do it.  Currently
23463        the only place plug-in packages are deallocated is when refreshing the set of plugins, as when
23464        handling JavaScript's navigator.plugins.refresh().
23465
23466        * Plugins/WebBasePluginPackage.m:
23467        (-[WebBasePluginPackage dealloc]):
23468        Assert that the plug-in has been unloaded by the time -dealloc is called.
23469        (-[WebBasePluginPackage finalize]):
23470        ditto
23471
23472        * Plugins/WebPluginDatabase.m:
23473        (-[WebPluginDatabase refresh]):
23474        Call -unload on the plug-in packages before releasing them.
23475
234762006-03-27  Tim Omernick  <timo@apple.com>
23477
23478        Reviewed by Tim Hatcher.
23479
23480        Part of <rdar://problem/4448350> Deprecated ObjC language API used in JavaScriptCore, WebCore,
23481        WebKit and WebBrowser
23482
23483        * Carbon/HIViewAdapter.h:
23484        HIViewAdapter is no longer an NSView subclass, since we no longer pose it as NSView.
23485        * Carbon/HIViewAdapter.m:
23486        (+[NSView bindHIViewToNSView:nsView:]):
23487        Replace individual NSView methods instead of posing as NSView.
23488        (_webkit_NSView_setNeedsDisplay):
23489        Replacement implementation of -[NSView setNeedsDisplay:].
23490        (_webkit_NSView_setNeedsDisplayInRect):
23491        Replacement implementation of -[NSView setNeedsDisplayInRect:]
23492        (_webkit_NSView_nextValidKeyView):
23493        Replacement implementation of -[NSView nextValidKeyView]
23494
234952006-03-27  John Sullivan  <sullivan@apple.com>
23496
23497        Reviewed by Darin Adler.
23498        
23499        Removed two overzealous assertions that the steps to reproduce 4451831 were running into.
23500        Improved comments to match.
23501
23502        * WebCoreSupport/WebFrameBridge.m:
23503        (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
23504        Remove assertion that _inNextKeyViewOutsideWebFrameViews should always be false here.
23505        
23506        * WebView/WebHTMLView.m:
23507        (-[WebHTMLView nextValidKeyView]):
23508        Removed assertion that the frame should never be the main frame here.
23509
235102006-03-27  Tim Omernick  <timo@apple.com>
23511
23512        Reviewed by Tim Hatcher.
23513
23514        Removed tabs & reformatted code.
23515        
23516        * Carbon/HIViewAdapter.m:
23517        (+[NSView bindHIViewToNSView:nsView:]):
23518        (+[NSView getHIViewForNSView:]):
23519        (+[NSView unbindNSView:]):
23520        (-[NSView setNeedsDisplay:]):
23521        (-[NSView setNeedsDisplayInRect:]):
23522        (-[NSView nextValidKeyView]):
23523        (SetViewNeedsDisplay):
23524
235252006-03-26  Justin Garcia  <justin.garcia@apple.com>
23526
23527        Reviewed by darin
23528        
23529        <http://bugs.webkit.org/show_bug.cgi?id=7974>
23530        Add EditActions and WebUndoActions for CreateLink and Unlink
23531
23532        * English.lproj/Localizable.strings:
23533        * WebCoreSupport/WebFrameBridge.m:
23534        (-[WebFrameBridge nameForUndoAction:]):
23535
235362006-03-23  Tim Omernick  <timo@apple.com>
23537
23538        Reviewed by John Sullivan.
23539
23540        At John's suggestion, renamed a private WebFrame method and tightened up some of the redirect logic I recently touched.
23541
23542        * WebView/WebFramePrivate.h:
23543        Renamed -_clientRedirectCancelled: to -_clientRedirectCancelledOrFinished:, since we call this both when a redirect is
23544        cancelled and when a redirect is successfully committed.
23545        * WebCoreSupport/WebFrameBridge.m:
23546        (-[WebFrameBridge reportClientRedirectCancelled:]):
23547        Call renamed WebFrame method.
23548        * WebView/WebFrame.m:
23549        Added sentRedirectNotification flag to WebFramePrivate.  This flag is set when we notify the frame load delegate that a
23550        redirect will occur.  We check this flag when committing a provisional load to ensure that the frame load delegate is
23551        notified that the redirect finished.
23552        (-[WebFrame _commitProvisionalLoad:]):
23553        After committing a provisional load, make sure that the frame load delegate is notified that there is no longer a pending
23554        redirect.
23555        (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
23556        Set the new sentRedirectNotification flag.
23557        (-[WebFrame _clientRedirectCancelledOrFinished:]):
23558        Renamed method.
23559        Clear the sentRedirectNotification flag.
23560        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
23561        Call renamed method.
23562
235632006-03-23  Tim Omernick  <timo@apple.com>
23564
23565        Reviewed by John Sullivan.
23566
23567        <rdar://problem/4439752> TinyMCE: "Search in Google" context menu is active but fails to work when selection is active
23568        in textarea field.
23569
23570        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
23571        (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
23572        Added a representedObject parameter, which is set on the newly created menu item.
23573        (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
23574        Instead of setting the representedObject on each menu item after creating them all, pass the element to
23575        -menuItemWithTag:target:representedObject:.
23576        (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
23577        ditto.  This fixes 4439752 because this method failed to set the representedObject on the menu items as
23578        -contextMenuItemsForElement:defaultMenuItems: did.
23579
235802006-03-23  Darin Adler  <darin@apple.com>
23581
23582        Reviewed by Eric.
23583
23584        - fix <rdar://problem/4380465> repro crash when unsuccessfully attempting to import image from Services menu
23585
23586        * WebView/WebDataSource.m:
23587        (-[WebDataSource _imageElementWithImageResource:]): Quietly do nothing if passed nil.
23588        (-[WebDataSource _documentFragmentWithImageResource:]): Ditto.
23589
235902006-03-22  Tim Omernick  <timo@apple.com>
23591
23592        Reviewed by Kevin Decker.
23593
23594        Even better fix for <rdar://problem/4432562>.  We need to notify the frame delegate of a finished redirect for both
23595        "fast" and "slow" redirects, after committing the load.  My previous change only notified for "fast", history-locking
23596        redirects.  Now we notify the frame delegate after committing any kind of provisional load, not just in the case of
23597        a fast redirect.
23598
23599        * WebView/WebFrame.m:
23600        (-[WebFrame _transitionToCommitted:]):
23601        (-[WebFrame _commitProvisionalLoad:]):
23602
236032006-03-22  Tim Omernick  <timo@apple.com>
23604
23605        Reviewed by Kevin Decker.
23606
23607        Better fix for <rdar://problem/4432562> REGRESSION (TOT): Safari's "stop loading" active, "view source" inactive after page load [7058]
23608
23609        * WebView/WebFrame.m:
23610        (-[WebFrame _transitionToCommitted:]):
23611        Cancel the client redirect when we commit the provisional load, if we were waiting for a redirect.
23612        This is a better fix for 7058 (<rdar://problem/4432562>).  The original fix for 7058 changed the timing of the redirect cancel
23613        in such a way that WebKit was precluded from ever reusing back/forward list entries for redirects.  Clearing the redirect state
23614        here actually makes logical sense, as the redirect's target page is being committed at this point.
23615
236162006-03-21  Darin Adler  <darin@apple.com>
23617
23618        - fix http://bugs.webkit.org/show_bug.cgi?id=3784
23619          <rdar://problem/4483827> JavaScript save dialog disappears right away (sheet triggers blur event) (3784)
23620
23621        * WebView/WebHTMLView.m:
23622        (-[WebHTMLView _updateFocusState]): Treat window as having focus if its sheet is key.
23623        (-[WebHTMLView addWindowObservers]): Observe all focus notifications, not just the ones involving this window.
23624        (-[WebHTMLView removeWindowObservers]): Ditto.
23625        (-[WebHTMLView windowDidBecomeKey:]): Add checks so that we call the methods only when appropriate,
23626        since this will now be called for all windows.
23627        (-[WebHTMLView windowDidResignKey:]): Ditto.
23628
236292006-03-21  Adele Peterson  <adele@apple.com>
23630
23631        Reviewed by Darin.
23632
23633        - Fix for http://bugs.webkit.org/show_bug.cgi?id=6813
23634        elementAtPoint needs to return input element when clicking on new text field
23635
23636        * WebView/WebDocumentInternal.h: Added elementAtPoint:allowShadowContent:
23637        * WebView/WebHTMLView.m:
23638        (-[WebHTMLView elementAtPoint:]): Does not allow shadow content.  This way, by default, callers would get the input element instead of the inner div.
23639        (-[WebHTMLView elementAtPoint:allowShadowContent:]): Allows callers to specify whether or not the element can be a shadow node.
23640        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Allows shadow content when getting element.
23641        (-[WebHTMLView _mayStartDragAtEventLocation:]): ditto.
23642        (-[WebHTMLView _isSelectionEvent:]): ditto.
23643        (-[WebHTMLView _canProcessDragWithDraggingInfo:]): ditto.
23644        * WebView/WebFrame.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Does not allow shadow content when getting element.
23645        * WebView/WebImageView.m: (-[WebImageView elementAtPoint:allowShadowContent:]): Added to conform to the WebDocumentElement protocol.
23646        * WebView/WebPDFView.m: (-[WebPDFView elementAtPoint:allowShadowContent:]): ditto.
23647        * WebView/WebTextView.m: (-[WebTextView elementAtPoint:allowShadowContent:]): ditto.
23648
236492006-03-21  Tim Omernick  <timo@apple.com>
23650
23651        Reviewed by Tim Hatcher and Darin.
23652
23653        <rdar://problem/4427068> LMGetCurApRefNum, CloseConnection and GetDiskFragment deprecated, used in Netscape
23654        plugin code
23655
23656        * Plugins/WebNetscapeDeprecatedFunctions.h: Added.
23657        * Plugins/WebNetscapeDeprecatedFunctions.c: Added.
23658        Added wrappers for deprecated CFM and LowMem functions.  These exist in a separate file so that we can set
23659        -Wno-deprecated-declarations on this one file without ignoring other deprecated function usage elsewhere.
23660        (WebGetDiskFragment):
23661        (WebCloseConnection):
23662        (WebLMGetCurApRefNum):
23663        (WebLMSetCurApRefNum):
23664
23665        * Plugins/WebNetscapePluginPackage.h:
23666        Don't include connID ivar in 64-bit, since CFM is not supported in 64-bit.
23667        * Plugins/WebNetscapePluginPackage.m:
23668        (+[WebNetscapePluginPackage initialize]):
23669        Don't bother setting the resource refNum in 64-bit, because the API to get and set it does not exist.
23670        A theoretical 64-bit plugin couldn't possibly rely this, since there is no API.
23671        (-[WebNetscapePluginPackage unloadWithoutShutdown]):
23672        No need to close the connID in 64-bit.
23673        (-[WebNetscapePluginPackage load]):
23674        Don't load CFM bundles in 64-bit, because CFM is not supported.
23675
23676        * WebKit.xcodeproj/project.pbxproj:
23677        Added WebNetscapeDeprecatedFunctions.[hm].
23678
236792006-03-21  John Sullivan  <sullivan@apple.com>
23680
23681        Reviewed by Kevin Decker.
23682        
23683        - fixed <rdar://problem/4485637> Implementors of searchFor:direction:caseSensitive:wrap: should bail 
23684        out early if search string is empty
23685        
23686        This doesn't change any existing behavior, but avoids unnecessary work.
23687
23688        * Misc/WebSearchableTextView.m:
23689        (-[WebSearchableTextView searchFor:direction:caseSensitive:wrap:]):
23690        bail out immediately (returning NO) if search string is empty
23691        
23692        * WebView/WebHTMLView.m:
23693        (-[WebView searchFor:direction:caseSensitive:wrap:]):
23694        ditto
23695        
23696        * WebView/WebPDFView.m:
23697        (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
23698        ditto
23699        
23700        * WebView/WebView.m:
23701        (-[WebView searchFor:direction:caseSensitive:wrap:]):
23702        ditto
23703
237042006-03-20  Tim Omernick  <timo@apple.com>
23705
23706        Reviewed by John Sullivan.
23707
23708        Moved -_contentView from WebFrameViewInternal to WebFrameViewPrivate.  Safari
23709        needs this.
23710
23711        * WebView/WebFrameView.m:
23712        (-[WebFrameView _contentView]):
23713        * WebView/WebFrameViewInternal.h:
23714        * WebView/WebFrameViewPrivate.h:
23715
237162006-03-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
23717
23718        Reviewed by Darin, landed by Beth.
23719
23720        - fix http://bugs.webkit.org/show_bug.cgi?id=7693
23721          WebKit relies on unpredictable timing for onload events
23722
23723        * WebView/WebDataSource.m:
23724        (-[WebDataSource _receivedMainResourceError:complete:]): Check for 
23725        completion on the WebCore side before checking on the WebKit side, 
23726        to ensure that the onload event is emitted before the WebFrame load 
23727        delegate is sent the webView:didFinishLoadForFrame: message. For 
23728        DumpRenderTree, this ensures that the render tree is dumped after 
23729        the onload handler is run.
23730        * WebView/WebLoader.m:
23731        (-[NSURLProtocol didFailWithError:]): If load has already been 
23732        cancelled (which could happen if the parent's onload handler caused 
23733        the frame to detach), do nothing.
23734
237352006-03-17  John Sullivan  <sullivan@apple.com>
23736
23737        Reviewed by Beth Dakin
23738        
23739        - fixed <rdar://problem/4239051> Sometimes "Copy Link" in Safari results in a 
23740        URL on the pasteboard with no usable "title"
23741
23742        * History/WebURLsWithTitles.m:
23743        (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]):
23744        trim whitespace from titles that are put on pasteboard. This leaves an empty string
23745        for the title in cases where there's no displayed text, like an image in an <a> element
23746        that happens to have whitespace in the source, e.g. <a href="foo"> <img whatever></a>
23747
237482006-03-17  Darin Adler  <darin@apple.com>
23749
23750        - missing bit of my check-in yesterday
23751
23752        Maciej moved setWindowFrame for me, but I also had removed
23753        setWindowContentRect.
23754
23755        * WebCoreSupport/WebFrameBridge.m: Removed unused setWindowContextRect and
23756        windowContentRect methods.
23757
237582006-03-17  Adele Peterson  <adele@apple.com>
23759
23760        Reviewed by Hyatt.
23761
23762        WebKit part of fix for:
23763        http://bugs.webkit.org/show_bug.cgi?id=7797 
23764        Can't set background color on new text fields
23765
23766        Added function to draw bezeled text field without drawing background.
23767
23768        * WebCoreSupport/WebGraphicsBridge.m:
23769        (-[WebGraphicsBridge drawBezeledTextFieldCell:enabled:]): Added.
23770
237712006-03-16  Maciej Stachowiak  <mjs@apple.com>
23772
23773        Reviewed by Eric.
23774        
23775        - move setWindowFrame / windowFrame to WebPageBridge to fix build
23776
23777        * WebCoreSupport/WebFrameBridge.m:
23778        * WebCoreSupport/WebPageBridge.m:
23779        (-[WebPageBridge setWindowFrame:]):
23780        (-[WebPageBridge windowFrame]):
23781
237822006-03-15  Darin Adler  <darin@apple.com>
23783
23784        Fix by Patrick Beard, reviewed by me.
23785
23786        - fix <rdar://problem/4478181> WebPluginController leaks NSArray and NSMutableSet objects
23787
23788        * Plugins/WebPluginController.m:
23789        (-[WebPluginController initWithDocumentView:]): Call CFMakeCollectable on the CFSet
23790        so we can act like it's an NSSet.
23791        (-[WebPluginController dealloc]): Release _views and _checksInProgress.
23792
237932006-03-13  Tim Omernick  <timo@apple.com>
23794
23795        Reviewed by Maciej.
23796
23797        <rdar://problem/4476873> Support printing for plugin documents (not embedded plugins)
23798
23799        * WebView/WebFrameViewPrivate.h:
23800        * WebView/WebFrameView.m:
23801        (-[WebFrameView documentViewShouldHandlePrint]):
23802        Called by the host application before it initializes and runs a print operation.  If NO
23803        is returned, the host application will abort its print operation and call
23804        -printDocumentView on the WebFrameView.  The document view is then expected to run its
23805        own print operation.  If YES is returned, the host application's print operation will
23806        continue as normal.
23807        (-[WebFrameView printDocumentView]):
23808        Called by the host application when the WebFrameView returns YES from -documentViewShouldHandlePrint.
23809
23810        * Plugins/WebNetscapePluginDocumentView.m:
23811        (-[WebNetscapePluginDocumentView documentViewShouldHandlePrint]):
23812        Allow the plugin to take over printing if it defines an NPP_Print function
23813        (-[WebNetscapePluginDocumentView printDocumentView]):
23814        Print the plugin document.
23815
238162006-03-13  Geoffrey Garen  <ggaren@apple.com>
23817
23818        Reviewed by timo.
23819
23820        - Fixed the load progress indicator to give more incremental feedback, 
23821        and to stop spending so much time near 100%.
23822
23823        I did two things:
23824        (1) Fixed some bugs and a misspelling in the previous heuristic's 
23825        implementation
23826        (2) Added two new rules to the heuristic:
23827            (a) Treat the first layout as the half-way point.
23828            (b) Just like we jump the first 10% to indicate that a load has
23829            started, jump the last 10% to indicate that a load has finished.
23830
23831        Rule 2a is good for two reasons. First, it seems unnatural for loading
23832        to be "more than half done" when you can't even see anything. Second,
23833        in the early stages of laading our estimate of how much we'll need to
23834        load is often off by as much as 6000% (e.g., cnn.com). So anything that
23835        makes the progress indicator more conservative in the early stages of 
23836        loading is helpful.
23837
23838        Rule 2b is good because it's confusing for loading to be "100% done"
23839        but still ongoing.
23840
23841        FIXME: The indicator still isn't perfect. For example, the old behavior
23842        shows up @ moviefone.com. Two areas for future work:
23843        (1) Estimate number of linked resources. Our code estimates the size
23844        of a single resource, but does nothing to estimate the number of
23845        resources that resource might link to. This is the key to why we're
23846        so wrong at the beginning.
23847        (2) Improve "when to do first layout" heuristic. A JavaScript query
23848        for a style property forces layout, creating a phantom first layout 
23849        with no content, essentially nullifying 2a for certain pages.
23850        
23851        Filed <rdar://problem/4475834> to track estimating the number of 
23852        linked resources. Phantom layouts are already on Hyatt's radar.
23853
23854        * WebView/WebFrame.m:
23855        (-[WebFrame _setState:]): Update firstLayoutDone
23856        (-[WebFrame _numPendingOrLoadingRequests:]): Bug fix: In the recurisve 
23857        case, query 'frame' instead of 'self', so that we actually recurse.
23858        (-[WebFrame _firstLayoutDone]): New method
23859        (-[WebFrame _didFirstLayout]): Update firstLayoutDone
23860        * WebView/WebFramePrivate.h: Added firstLayoutDone ivar
23861        * WebView/WebView.m:
23862        (-[WebView _incrementProgressForConnectionDelegate:data:]):
23863        (1) Implemented 2a and 2b
23864        (2) Bug fix: only update the 'last time I sent a notification' time if 
23865        we actually send a notification.
23866        (3) Don't test for progress < 0 because ensuring progress < max
23867        also ensures max - progress > 0. (Do still test for progress > max 
23868        because rounding errors make that a possibility -- although a very 
23869        minor one.)
23870        (4) Query only the loading frame and its subframes for pending
23871        requests instead of defaulting to the main frame. This is a slight
23872        optimization in cases where the main frame did not begin the load,
23873        and it makes the code more consistent.
23874
238752006-03-13  John Sullivan  <sullivan@apple.com>
23876
23877        Reviewed by Tim Omernick.
23878        
23879        - fixed <rdar://problem/4475857> API: Setting a history item limit programmatically doesn't work
23880
23881        * History/WebHistory.m:
23882        (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
23883        use [self historyItemLimit], which prefers the explicitly-set value and falls back to the
23884        NSUserDefaults value, instead of using the NSUserDefaults value explicitly.
23885
238862006-03-10  Darin Adler  <darin@apple.com>
23887
23888        Reviewed by Adele.
23889
23890        * WebCoreSupport/WebFrameBridge.m: Remove unused requestedURLString method.
23891
238922006-03-10  Darin Adler  <darin@apple.com>
23893
23894        Reviewed by Geoff.
23895
23896        - change how frame namespacing works to be more completely on the WebCore side
23897
23898        * WebView/WebFrameInternal.h: Remove _setFrameNamespace: and _frameNamespace.
23899        * WebView/WebFrame.m: Ditto.
23900
23901        * WebView/WebView.m:
23902        (-[WebView setGroupName:]): Call -[WebCorePageBridge setGroupName:].
23903        (-[WebView groupName]): Call -[WebCorePageBridge groupName].
23904
239052006-03-09  Alexey Proskuryakov  <ap@nypop.com>
23906
23907        Reviewed by Darin.
23908
23909        - http://bugs.webkit.org/show_bug.cgi?id=7656
23910         Query string always appended to Flash URLs, instead of being replaced.
23911
23912        * Misc/WebNSURLExtras.h: Added _webkit_URLByRemovingResourceSpecifier.
23913        * Misc/WebNSURLExtras.m:
23914        (+[NSURL _web_URLWithData:relativeToURL:]): Call _webkit_URLByRemovingResourceSpecifier to
23915        work around CFURL not removing non-path components from base URLs in some cases.
23916        (-[NSURL _webkit_URLByRemovingComponent:]): New generic function for removing URL components.
23917        (-[NSURL _webkit_URLByRemovingFragment]): Moved implementation to the above method.
23918        (-[NSURL _webkit_URLByRemovingResourceSpecifier]): Added.
23919
239202006-03-07  Darin Adler  <darin@apple.com>
23921
23922        Reviewed by Anders.
23923
23924        - fix http://bugs.webkit.org/show_bug.cgi?id=7655
23925          unwanted output while running layout tests
23926
23927        * WebView/WebDataSourcePrivate.h:
23928        * WebView/WebDataSource.m:
23929        (-[WebDataSource _setRepresentation:]): Clear the flag that records whether we've sent
23930        all the data to the representation or not; need this to prevent telling the same representation
23931        both that we've succeeded and then later that we've failed.
23932        (-[WebDataSource _setMainDocumentError:]): Don't send an error if representationFinishedLoading
23933        is already YES. Set representationFinishedLoading.
23934        (-[WebDataSource _finishedLoading]): Set representationFinishedLoading.
23935        (-[WebDataSource _setupForReplaceByMIMEType:]): Ditto.
23936
239372006-03-06  Tim Omernick  <timo@apple.com>
23938
23939        Reviewed by Kevin Decker.
23940
23941        <rdar://problem/4457574> assertion failure watching trailers at netflix.com -[WebNetscapePluginRepresentation
23942        receivedData:withDataSource:] + 684
23943
23944        * Plugins/WebNetscapePluginRepresentation.m:
23945        (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
23946        Moved the ASSERT(instance) to the block that actually requires an assertion -- the plugin view should never
23947        have a NULL instance by the time we start the NPStream (by calling -startStreamWithResponse:).
23948        Some stream teardown logic changed with my fix to 4153419: when a WebBaseNetscapePluginStream is destroyed,
23949        it now clears its NPP instance backpointer.  The WebBaseNetscapePluginStream may be destroyed from within
23950        -startStreamWithResponse: if NPP_NewStream() returns an error.  We can handle this gracefully by changing
23951        the assertion before -receivedData: to a simple NULL check.
23952        This is unrelated to the Radar, but prior to this fix, we would attempt an NPP_Write() with the initial
23953        stream data even if NPP_NewStream() returned an error.  Seems like that alone could cause issues, though
23954        I'm guessing that plugins handle this in practice.
23955
239562006-03-03  Timothy Hatcher  <timothy@apple.com>
23957
23958        Reviewed by Darin.
23959        
23960        <rdar://problem/4411822> wrong element shown in Inspector inspecting main image at apple.com
23961        <rdar://problem/4411908> in the Web Inspector, state of disclosure triangles should be preserved after search
23962        http://bugs.webkit.org/show_bug.cgi?id=6616
23963        Bug 6616: Double-clicking on a search result seems broken
23964        http://bugs.webkit.org/show_bug.cgi?id=6709
23965        Bug 6709: TypeError: Value undefined (result of expression treeScrollbar.refresh) is not object.
23966
23967        Code clean up and move more code into JavaScript.
23968        Removes a few unused ObjC methods.
23969        Many search fixes. Reveals the focused node when exiting the search.
23970        Shows a "No Selection" screen when there are no search results.
23971        Shows a node count for the number of results.
23972        Fixes a couple of TypeErrors that show on the console.
23973        Uses the system selection color in the Style pane tables.
23974
23975        * English.lproj/Localizable.strings: removed localized strings
23976        * WebInspector.subproj/WebInspector.m:
23977        (-[WebInspector init]):
23978        (-[WebInspector dealloc]):
23979        (-[WebInspector window]):
23980        (-[WebInspector setSearchQuery:]):
23981        (-[WebInspector resizeTopArea]):
23982        (-[WebInspector searchPerformed:]): called from JavaScript when a search happens
23983        (-[WebInspector _toggleIgnoreWhitespace:]):
23984        (-[WebInspector _exitSearch:]): exit search results on double click
23985        (-[WebInspector _focusRootNode:]):
23986        (-[WebInspector _revealAndSelectNodeInTree:]):
23987        (-[WebInspector _refreshSearch]):
23988        (-[WebInspector _update]):
23989        (-[WebInspector _updateTraversalButtons]):
23990        (-[WebInspector _updateRoot]):
23991        (-[WebInspector _updateTreeScrollbar]):
23992        (-[WebInspector _updateSystemColors]): update CSS with system colors
23993        (-[WebInspector webView:didFinishLoadForFrame:]):
23994        (-[WebInspector webView:plugInViewWithArguments:]):
23995        (-[WebInspector outlineViewSelectionDidChange:]): test for webViewLoaded
23996        (-[WebInspectorPrivate init]): alloc rightArrowImage and downArrowImage
23997        (-[WebInspectorPrivate dealloc]): no more matchedRules
23998        (-[DOMNode _displayName]): removed localization UI_STRING calls.
23999        * WebInspector.subproj/WebInspectorInternal.h:
24000        * WebInspector.subproj/webInspector/inspector.css:
24001        * WebInspector.subproj/webInspector/inspector.html:
24002        * WebInspector.subproj/webInspector/inspector.js:
24003
240042006-03-02  Alexey Proskuryakov  <ap@nypop.com>
24005
24006        Fixed a typo in the comments added in the previous checkin.
24007
24008        * WebCoreSupport/WebFrameBridge.m:
24009        (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
24010        * WebCoreSupport/WebSubresourceLoader.m:
24011        (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
24012        (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
24013
240142006-03-02  Alexey Proskuryakov  <ap@nypop.com>
24015
24016        Reviewed by Darin.
24017
24018        - http://bugs.webkit.org/show_bug.cgi?id=7540
24019          REGRESSION: frequent cache-related crashes
24020
24021        - http://bugs.webkit.org/show_bug.cgi?id=7393
24022          A stale comment about XMLHttpRequest responses being never cached
24023
24024        * WebCoreSupport/WebFrameBridge.m: Don't call setHTTPHeader if the method is GET.
24025        (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
24026        * WebCoreSupport/WebSubresourceLoader.m: Ditto. Also removed a stale comment about
24027        XMLHTTPRequests.
24028        (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
24029        (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
24030
240312006-02-23  David Harrison  <harrison@apple.com>
24032
24033        Reviewed by Justin.
24034
24035        <rdar://problem/4359736> Support outlining ability with lists
24036
24037        Added Mail SPI for list level changes.  It is SPI because it is not complete support
24038        for outlining.  See <rdar://problem/4457070> "API for html lists as note outlines".
24039        
24040        * WebView/WebHTMLView.m:
24041        (-[WebHTMLView _canIncreaseSelectionListLevel]):
24042        (-[WebHTMLView _canDecreaseSelectionListLevel]):
24043        (-[WebHTMLView _increaseSelectionListLevel]):
24044        (-[WebHTMLView _decreaseSelectionListLevel]):
24045        * WebView/WebHTMLViewPrivate.h:
24046
240472006-03-01  Alexey Proskuryakov  <ap@nypop.com>
24048
24049        Reviewed by Darin.
24050
24051        - http://bugs.webkit.org/show_bug.cgi?id=3812
24052          XMLHttpRequest: PUT, DELETE, HEAD and all other methods but POST actually do a GET.
24053
24054        All WebKit changes are to use the method parameter passed from WebCore.
24055
24056        * WebCoreSupport/WebFrameBridge.m:
24057        (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
24058        (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
24059        (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
24060        * WebCoreSupport/WebSubresourceLoader.h:
24061        * WebCoreSupport/WebSubresourceLoader.m:
24062        (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
24063        (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
24064
240652006-03-01  Timothy Hatcher  <timothy@apple.com>
24066
24067        Reviewed by Darin.
24068
24069        http://bugs.webkit.org/show_bug.cgi?id=7450
24070        elementAtPoint is expensive and should return a smart dictionary
24071        
24072        <rdar://problem/2952761> moving the mouse around eats more CPU than I would expect (7450)
24073        
24074        elementAtPoint for WebHTMLView now returns a WebElementDictionary,
24075        when objectForKey is called it will lookup in the DOM, cache and return the value
24076
24077        * Misc/WebElementDictionary.h: Added.
24078        * Misc/WebElementDictionary.m: Added.
24079        (addLookupKey):
24080        (cacheValueForKey):
24081        (+[WebElementDictionary initializeLookupTable]):
24082        (-[WebElementDictionary initWithInnerNonSharedNode:innerNode:URLElement:andPoint:]):
24083        (-[WebElementDictionary dealloc]):
24084        (-[WebElementDictionary _fillCache]):
24085        (-[WebElementDictionary count]):
24086        (-[WebElementDictionary keyEnumerator]):
24087        (-[WebElementDictionary objectForKey:]):
24088        (-[WebElementDictionary _domNode]):
24089        (-[WebElementDictionary _webFrame]):
24090        (-[WebElementDictionary _targetWebFrame]):
24091        (-[WebElementDictionary _title]):
24092        (-[WebElementDictionary _imageRect]):
24093        (-[WebElementDictionary _isSelected]):
24094        * Misc/WebNSViewExtras.m:
24095        (-[NSView _web_dragImage:element:rect:event:pasteboard:source:offset:]):
24096        * WebKit.xcodeproj/project.pbxproj:
24097        * WebView/WebHTMLView.m:
24098        (-[WebHTMLView _updateMouseoverWithEvent:]):
24099        (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
24100        (-[WebHTMLView elementAtPoint:]):
24101        * WebView/WebView.m:
24102        * WebView/WebViewPrivate.h:
24103
241042006-02-28  Darin Adler  <darin@apple.com>
24105
24106        Reviewed by Adele.
24107
24108        - remove obsolete WebCoreScrollView class
24109
24110        * WebView/WebDynamicScrollBarsView.h: Change base class to NSScrollView instead of WebCoreScrollView.
24111        * WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView autoforwardsScrollWheelEvents]): Added.
24112
241132006-02-28  John Sullivan  <sullivan@apple.com>
24114
24115        Reviewed by Eric Seidel
24116        
24117        Wean WebKit from one more SPI call. We learned about this new-to-Tiger
24118        API from filing Radar 4433222.
24119
24120        * WebView/WebHTMLView.m:
24121        (-[WebHTMLView _autoscroll]):
24122        use public CGEventSourceButtonState() instead of WKMouseIsDown() (which was using SPI internally)
24123
241242006-02-27  Tim Omernick  <timo@apple.com>
24125
24126        Reviewed by Adele.
24127
24128        <rdar://problem/4222043> Safari should reduce null events sent to invisible plugins
24129
24130        * Plugins/WebBaseNetscapePluginView.h:
24131        * Plugins/WebBaseNetscapePluginView.m:
24132        (-[WebBaseNetscapePluginView restartNullEvents]):
24133        Check to see if the plugin view is completely obscured (scrolled out of view, for example).  If it is
24134        obscured and it wasn't before, or the other way around, then restart the null event timer so it can
24135        fire at the appropriate rate.
24136        (-[WebBaseNetscapePluginView viewHasMoved:]):
24137        If a plugin is obscured, send it null events as if it were in an inactive window.
24138
241392006-02-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
24140
24141        Test: fast/frames/empty-frame-document.html
24142
24143        Reviewed by Darin.
24144
24145        - fix http://bugs.webkit.org/show_bug.cgi?id=7293
24146          REGRESSION: Using Javascript Bookmarklets that reference location.href on a blank tab crashes WebKit
24147
24148        The crash happened because an empty frame did not have a document.
24149
24150        * WebView/WebFrame.m:
24151        (-[WebFrame _commitProvisionalLoad:]): Use "about:blank" instead of an empty URL for empty
24152        frames. This causes a document to be created for the frame.
24153
241542006-02-21  Kevin Decker  <kdecker@apple.com>
24155
24156        Reviewed by Darin.
24157
24158        Backed out my previous check in. Since these methods are internal to WebKit (and not private)
24159        it's perfectly OK for them to remain as categories. 
24160        * ChangeLog:
24161        * WebView/WebPreferences.m:
24162        (-[WebPreferences _integerValueForKey:]):
24163        (-[WebPreferences _setIntegerValue:forKey:]):
24164        (-[WebPreferences _floatValueForKey:]):
24165        (-[WebPreferences _setFloatValue:forKey:]):
24166        (-[WebPreferences _boolValueForKey:]):
24167        (-[WebPreferences _setBoolValue:forKey:]):
24168        * WebView/WebPreferencesPrivate.h:
24169
241702006-02-20  Darin Adler  <darin@apple.com>
24171
24172        Collaborated with Graham Dennis <Graham.Dennis@gmail.com> on this.
24173
24174        - WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=6831
24175          contentEditable outline darkens as caret moves
24176
24177        * WebCoreSupport/WebGraphicsBridge.m:
24178        (-[WebGraphicsBridge drawFocusRingWithPath:radius:color:]):
24179        Replaced the old bridge function that set up style with this one that renders a path.
24180
241812006-02-19  Darin Adler  <darin@apple.com>
24182
24183        Reviewed by Maciej.
24184
24185        - cut out a little unneeded bridge code
24186
24187        * WebCoreSupport/WebFrameBridge.m:
24188        (-[WebFrameBridge webView]): Added. Helper, since the WebCore side of the bridge no longer
24189        has this method.
24190        (-[WebFrameBridge createWindowWithURL:]): Removed the frameName parameter -- this is now
24191        handled on the WebCore side. Also return a page bridge instead of a frame bridge.
24192        (-[WebFrameBridge createModalDialogWithURL:]): Changed to return a page bridge instead of
24193        a frame bridge.
24194
24195        * WebView/WebFrame.m: (-[WebFrame webView]): Change to get the webView from the page bridge
24196        instead of the frame bridge, since it's a per-page thing.
24197
24198        * WebView/WebView.m: Removed init method since it just does what the default does (calls
24199        initWithFrame: with a zero rect).
24200        (-[WebView initWithCoder:]): Added checking so that if the obejcts have the wrong type
24201        we will fail gracefully instead of hitting "method not found" and the like.
24202        (-[WebView setPreferencesIdentifier:]): Fix storage leak. The WebPreferences object was
24203        not released.
24204        (-[WebView mainFrame]): Removed excess "return nil".
24205        (-[WebView _pageBridge]): Added. Helper to let you go from the WebView to the bridge
24206        from outside the WebView class.
24207        * WebView/WebViewInternal.h: Put _pageBridge into an internal header.
24208
24209        * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge outerView]): Added. Replaces "webView"
24210        as public method to tell the WebCore side about the view everything's embedded in.
24211
24212        - other cleanup
24213
24214        * WebCoreSupport/WebPageBridge.h: Removed some unneeded declarations.
24215
24216        * Plugins/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]):
24217        Rearrange code so it doesn't have to get the main frame twice.
24218
242192006-02-18  Maciej Stachowiak  <mjs@apple.com>
24220
24221        Not reviewed.
24222        
24223        - fix build broken by my last checkin, the remaining code was not doing anything.
24224
24225        * WebView/WebDataSource.m:
24226        * WebView/WebDataSourcePrivate.h:
24227        * WebView/WebFrame.m:
24228        (-[WebFrame _createPageCacheForItem:]):
24229
242302006-02-16  Maciej Stachowiak  <mjs@apple.com>
24231
24232        Reviewed by Darin.
24233        
24234        - removed a few unused fields and methods of WebDataSource
24235
24236        * WebView/WebDataSource.m:
24237        * WebView/WebDataSourcePrivate.h:
24238        * WebView/WebView.m:
24239        (+[WebView _MIMETypeForFile:]):
24240        (-[WebView _updateWebCoreSettingsFromPreferences:]):
24241
242422006-02-15  Justin Garcia  <justin.garcia@apple.com>
24243
24244        Reviewed by darin
24245        
24246        <http://bugs.webkit.org/show_bug.cgi?id=7148>
24247        Add drag and drop support to DumpRenderTree
24248        
24249        Added a UI delegate method so that DumpRenderTree can perform dragging on its own.
24250        Made _updateFocusState SPI, to allow us to test the behavior and appearance of
24251        windows that have or don't have focus.
24252
24253        * WebView/WebHTMLView.m:
24254        (-[WebHTMLView _updateFocusState]):
24255        (-[WebHTMLView viewDidMoveToWindow]):
24256        (-[WebHTMLView windowDidBecomeKey:]):
24257        (-[WebHTMLView windowDidResignKey:]):
24258        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
24259        (-[WebHTMLView becomeFirstResponder]):
24260        (-[WebHTMLView resignFirstResponder]):
24261        (-[WebHTMLView _formControlIsResigningFirstResponder:]):
24262        * WebView/WebHTMLViewInternal.h:
24263        * WebView/WebHTMLViewPrivate.h:
24264        * WebView/WebUIDelegatePrivate.h:
24265        * WebView/WebView.m:
24266
242672006-02-15  Darin Adler  <darin@apple.com>
24268
24269        * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
24270
242712006-02-15  Maciej Stachowiak  <mjs@apple.com>
24272
24273        Rubber stamped by Anders.
24274
24275        * WebView/WebControllerPolicyHandlerDelegate.h: Removed.
24276
242772006-02-15  Maciej Stachowiak  <mjs@apple.com>
24278
24279        Reviewed by Anders.
24280        
24281        - remove some voodoo code
24282
24283        * WebView/WebDataSource.m:
24284        (-[WebDataSource _setLoading:]): Removed useless ref/deref of self and WebView.
24285        A WebDataSource cannot be loading unless it is still connected to the WebView that
24286        owns it and retained by it, because getting disconnected stops loading.
24287
242882006-02-13  Maciej Stachowiak  <mjs@apple.com>
24289
24290        Reviewed by Anders.
24291        
24292        Improvements to frame loading:
24293        
24294        - remove LayoutAcceptable state entirely
24295        - fix WebImageView to work right without LayoutAcceptable state
24296        - move guts of commitIfReady: to WebFrame
24297        - try to separate page cache loading from normal loading a bit more
24298
24299        * English.lproj/StringsNotToBeLocalized.txt:
24300        * WebView/WebDataSource.m:
24301        (-[WebDataSource _prepareForLoadStart]):
24302        (-[WebDataSource _loadFromPageCache:]):
24303        (-[WebDataSource _startLoading]):
24304        (-[WebDataSource _commitIfReady]):
24305        (-[WebDataSource _setupForReplaceByMIMEType:]):
24306        * WebView/WebDataSourcePrivate.h:
24307        * WebView/WebFrame.m:
24308        (-[WebFrame _transitionToCommitted:]):
24309        (-[WebFrame _commitProvisionalLoad:]):
24310        (-[WebFrame _checkLoadCompleteForThisFrame]):
24311        (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
24312        * WebView/WebFramePrivate.h:
24313        * WebView/WebImageRepresentation.h:
24314        * WebView/WebImageRepresentation.m:
24315        * WebView/WebImageView.m:
24316        (-[WebImageView dataSourceUpdated:]):
24317        (-[WebImageView setNeedsLayout:]):
24318        (-[WebImageView writeImageToPasteboard:types:]):
24319        (-[WebImageView copy:]):
24320        (-[WebImageView mouseDragged:]):
24321        * WebView/WebView.m:
24322        (-[WebView _finishedLoadingResourceFromDataSource:]):
24323        (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]):
24324
243252006-02-13  John Sullivan  <sullivan@apple.com>
24326
24327        Reviewed by Tim Omernick.
24328
24329        Support for highlighting multiple text matches.
24330
24331        * WebView/WebHTMLViewPrivate.h:
24332        * WebView/WebHTMLView.m:
24333        (-[WebHTMLView highlightAllMatchesForString:caseSensitive:]):
24334        new method, calls through to bridge
24335        (-[WebHTMLView clearHighlightedMatches]):
24336        ditto
24337
24338        * WebView/WebViewPrivate.h:
24339        * WebView/WebView.m:
24340        (-[WebView highlightAllMatchesForString:caseSensitive:]):
24341        new method, calls through to documentView. For now this is hardwired to only work
24342        with WebHTMLViews.
24343        (-[WebView clearHighlightedMatches]):
24344        ditto
24345
243462006-02-13  Darin Adler  <darin@apple.com>
24347
24348        Reviewed by Maciej.
24349
24350        - move pointer from frame to page over to WebCore
24351
24352        * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge initWithMainFrameName:webView:frameView:]):
24353        Call super init to create the page before creating the main frame and calling setMainFrame: with it.
24354
24355        * WebCoreSupport/WebFrameBridge.h: Remove page pointer, and change init function parameters.
24356        * WebCoreSupport/WebFrameBridge.m:
24357        (-[WebFrameBridge initMainFrameWithPage:frameName:view:]): New function that is used only for
24358        the main frame. Passes the page over to the other side of the bridge.
24359        (-[WebFrameBridge initSubframeWithRenderer:frameName:view:]): New function that is used only for
24360        subframes. Passes the renderer over to the other side of the bridge.
24361        (-[WebFrameBridge mainFrame]):
24362        (-[WebFrameBridge webView]):
24363        (-[WebFrameBridge createWindowWithURL:frameName:]):
24364        (-[WebFrameBridge showWindow]):
24365        (-[WebFrameBridge areToolbarsVisible]):
24366        (-[WebFrameBridge setToolbarsVisible:]):
24367        (-[WebFrameBridge isStatusbarVisible]):
24368        (-[WebFrameBridge setStatusbarVisible:]):
24369        (-[WebFrameBridge setWindowFrame:]):
24370        (-[WebFrameBridge windowFrame]):
24371        (-[WebFrameBridge setWindowContentRect:]):
24372        (-[WebFrameBridge windowContentRect]):
24373        (-[WebFrameBridge setWindowIsResizable:]):
24374        (-[WebFrameBridge windowIsResizable]):
24375        (-[WebFrameBridge firstResponder]):
24376        (-[WebFrameBridge makeFirstResponder:]):
24377        (-[WebFrameBridge closeWindowSoon]):
24378        (-[WebFrameBridge runJavaScriptAlertPanelWithMessage:]):
24379        (-[WebFrameBridge runJavaScriptConfirmPanelWithMessage:]):
24380        (-[WebFrameBridge canRunBeforeUnloadConfirmPanel]):
24381        (-[WebFrameBridge runBeforeUnloadConfirmPanelWithMessage:]):
24382        (-[WebFrameBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
24383        (-[WebFrameBridge addMessageToConsole:]):
24384        (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
24385        (-[WebFrameBridge setStatusText:]):
24386        (-[WebFrameBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
24387        (-[WebFrameBridge focusWindow]):
24388        (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
24389        (-[WebFrameBridge userAgentForURL:]):
24390        (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
24391        (-[WebFrameBridge previousKeyViewOutsideWebFrameViews]):
24392        (-[WebFrameBridge defersLoading]):
24393        (-[WebFrameBridge setDefersLoading:]):
24394        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
24395        (-[WebFrameBridge _preferences]):
24396        (-[WebFrameBridge selectWordBeforeMenuEvent]):
24397        (-[WebFrameBridge historyLength]):
24398        (-[WebFrameBridge canGoBackOrForward:]):
24399        (-[WebFrameBridge goBackOrForward:]):
24400        (-[WebFrameBridge print]):
24401        (-[WebFrameBridge pollForAppletInView:]):
24402        (-[WebFrameBridge respondToChangedContents]):
24403        (-[WebFrameBridge respondToChangedSelection]):
24404        (-[WebFrameBridge undoManager]):
24405        (-[WebFrameBridge issueCutCommand]):
24406        (-[WebFrameBridge issueCopyCommand]):
24407        (-[WebFrameBridge issuePasteCommand]):
24408        (-[WebFrameBridge issuePasteAndMatchStyleCommand]):
24409        (-[WebFrameBridge canPaste]):
24410        (-[WebFrameBridge overrideMediaType]):
24411        (-[WebFrameBridge isEditable]):
24412        (-[WebFrameBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
24413        (-[WebFrameBridge shouldBeginEditing:]):
24414        (-[WebFrameBridge shouldEndEditing:]):
24415        (-[WebFrameBridge windowObjectCleared]):
24416        (-[WebFrameBridge spellCheckerDocumentTag]):
24417        (-[WebFrameBridge isContinuousSpellCheckingEnabled]):
24418        (-[WebFrameBridge didFirstLayout]):
24419        (-[WebFrameBridge dashboardRegionsChanged:]):
24420        (-[WebFrameBridge createModalDialogWithURL:]):
24421        (-[WebFrameBridge canRunModal]):
24422        (-[WebFrameBridge runModal]):
24423        Change all calls to [_page webView] to use [self webView] instead.
24424
24425=== WebKit-521.7
24426
244272006-02-11  Maciej Stachowiak  <mjs@apple.com>
24428
24429        Reviewed by Hyatt.
24430        
24431        - factor WebArchive creation code out of other classes into new WebArchiver
24432        http://bugs.webkit.org/show_bug.cgi?id=7208
24433
24434        * DOM/WebDOMOperations.m:
24435        (-[DOMNode webArchive]):
24436        (-[DOMRange webArchive]):
24437        * WebKit.xcodeproj/project.pbxproj:
24438        * WebView/WebArchiver.h: Added.
24439        * WebView/WebArchiver.m: Added.
24440        (+[WebArchiver _subframeArchivesForFrame:]):
24441        (+[WebArchiver archiveFrame:]):
24442        (+[WebArchiver _archiveCurrentStateForFrame:]):
24443        (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
24444        (+[WebArchiver archiveRange:]):
24445        (+[WebArchiver archiveNode:]):
24446        (+[WebArchiver archiveSelectionInFrame:]):
24447        * WebView/WebDataSource.m:
24448        (-[WebDataSource webArchive]):
24449        * WebView/WebDataSourcePrivate.h:
24450        * WebView/WebHTMLView.m:
24451        (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
24452        (-[WebHTMLView _writeSelectionToPasteboard:]):
24453        * WebView/WebHTMLViewPrivate.h:
24454
244552006-02-11  Darin Adler  <darin@apple.com>
24456
24457        * English.lproj/StringsNotToBeLocalized.txt: Updated paths for recent changes in directory structure.
24458
244592006-02-11  David Kilzer  <ddkilzer@kilzer.net>
24460
24461        Reviewed by John Sullivan.
24462
24463        - Fix http://bugs.webkit.org/show_bug.cgi?id=7171
24464        No description in WebKitErrors.m for WebKitErrorPlugInWillHandleLoad
24465
24466        * English.lproj/Localizable.strings: Added new UI_STRING().
24467        * Misc/WebKitErrors.m: Added #define for description.
24468        (registerErrors): Added dictionary entry.
24469
244702006-02-09  Tim Omernick  <timo@apple.com>
24471
24472        Reviewed by Tim Hatcher.
24473
24474        <rdar://problem/4153419> CrashTracer: 576 crashes in Safari at com.apple.WebKit: NPN_DestroyStream + 56
24475
24476        I never could reproduce this crasher, which seems to be caused by the Speed Download plugin.  However,
24477        I did find a way to make the affected code more bulletproof for those who are experiencing the crash.
24478        
24479        * Plugins/WebBaseNetscapePluginStream.h:
24480        Keep a WebBaseNetscapePluginView instead of the WebNetscapePluginPackage, since the plugin view could
24481        potentially be deallocated before the stream finishes loading.
24482        * Plugins/WebBaseNetscapePluginStream.m:
24483        (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
24484        Use pluginView instead of plugin.
24485        (-[WebBaseNetscapePluginStream dealloc]):
24486        Assert that the plugin instance has been nulled out, since that's now part of the stream's teardown
24487        phase.
24488        Release pluginView instead of plugin.
24489        (-[WebBaseNetscapePluginStream setPluginPointer:]):
24490        Retain the plugin view instead of the plugin package, since the plugin view could be deallocated while
24491        the stream is running.
24492        This method now accepts a NULL argument so that we can easily clear out the pluginView backpointer
24493        (and other ivars derived from it).
24494        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
24495        Use pluginView instead of plugin.
24496        (-[WebBaseNetscapePluginStream _destroyStream]):
24497        ditto
24498        (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
24499        ditto
24500        (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError]):
24501        Set the plugin instance to NULL, so that the pluginView backpointer is released.  This method is called
24502        for every plugin view's stream when the plugin view is stopped/destroyed.
24503        (-[WebBaseNetscapePluginStream _deliverData]):
24504        Use pluginView instead of plugin.
24505
24506== Rolled over to ChangeLog-2006-02-09 ==
24507