2008-08-05 Anders Carlsson <andersca@apple.com>
[webkit/qt.git] / WebKit / mac / ChangeLog
blobec2ffc6e05bd8dead333f578bb75ba5fd676fff3
1 2008-08-05  Anders Carlsson  <andersca@apple.com>
3         Pass in the correct class here.
4         
5         * WebView/WebResource.mm:
6         (-[WebResourcePrivate dealloc]):
8 2008-08-05  Anders Carlsson  <andersca@apple.com>
10         Reviewed by Darin.
12         <rdar://problem/6037398>
13         ER: Deallocate WebKit objects on the main thread, even if released on secondary thread
14         
15         Add calls to WebCoreObjCScheduleDeallocateOnMainThread in dealloc methods of objects we expose.
17         * Carbon/CarbonWindowAdapter.m:
18         (-[CarbonWindowAdapter dealloc]):
19         * History/WebBackForwardList.mm:
20         (-[WebBackForwardList dealloc]):
21         * History/WebHistoryItem.mm:
22         (-[WebHistoryItem dealloc]):
23         * Misc/WebElementDictionary.mm:
24         (+[WebElementDictionary initialize]):
25         (-[WebElementDictionary dealloc]):
26         * WebCoreSupport/WebEditorClient.mm:
27         (-[WebEditCommand dealloc]):
28         * WebCoreSupport/WebFrameLoaderClient.mm:
29         * WebView/WebArchive.mm:
30         (-[WebArchivePrivate dealloc]):
31         * WebView/WebDataSource.mm:
32         (-[WebDataSourcePrivate dealloc]):
33         * WebView/WebHTMLView.mm:
34         (-[WebHTMLViewPrivate dealloc]):
35         (-[WebHTMLView dealloc]):
36         * WebView/WebResource.mm:
37         (-[WebResourcePrivate dealloc]):
39 2008-08-05  Anders Carlsson  <andersca@apple.com>
41         Reviewed by Darin.
43         Remove MainThreadObjectDeallocator.{h|mm}.
45         * WebView/MainThreadObjectDeallocator.h: Removed.
46         * WebView/MainThreadObjectDeallocator.mm: Removed.
47         
48         * WebView/WebView.mm:
49         (-[WebView dealloc]):
50         Call WebCoreObjCScheduleDeallocateOnMainThread instead.
52 2008-08-05  Anders Carlsson  <andersca@apple.com>
54         Reviewed by Darin.
56         Make the main thread object deallocator work with subclasses.
57         
58         * WebView/MainThreadObjectDeallocator.h:
59         * WebView/MainThreadObjectDeallocator.mm:
60         (deallocCallback):
61         Call the correct dealloc method.
62                 
63         (scheduleDeallocateOnMainThread):
64         Store both the class and the instance, so we know which dealloc method to call.
65         
66         * WebView/WebView.mm:
67         (-[WebViewPrivate dealloc]):
68         Schedule deallocation on the main thread.
70 2008-08-05  Dan Bernstein  <mitz@apple.com>
72         Reviewed by Mark Rowe and Anders Carlsson.
74         - fix WebMemorySize() reporting a value capped at 2GB
76         * misc/WebKitSystemBits.m:
77         (WebMemorySize): Changed to return the max_mem field, which, unlike
78         memory_size, is not capped at 2GB.
79         * WebView/WebView.mm:
80         (+[WebView _setCacheModel:]): Made the cache sizes for over 2GB RAM the
81         same as for 2GB, so that behavior on machines that have more than 2GB
82         RAM is not affected by the fix to WebMemorySize().
84 2008-08-04  Mark Rowe  <mrowe@apple.com>
86         Build fix.
88         * WebView/WebHTMLView.mm:
90 2008-08-04  Mark Rowe  <mrowe@apple.com>
92         Reviewed by Kevin Decker.
94         Adopt the formal protocols where necessary.
95         Final part of fix for <rdar://problem/5853147>.
97         * WebCoreSupport/WebInspectorClient.mm:
98         * WebView/WebHTMLView.mm:
99         * WebView/WebView.mm:
100         (-[WebView _openFrameInNewWindowFromMenu:]):
102 2008-08-04  Mark Rowe  <mrowe@apple.com>
104         Reviewed by Darin Adler.
106         Declare empty protocols when using versions of AppKit that do not use formal protocols for delegates and data sources.
107         Part one of fix for <rdar://problem/5853147>.
109         * Misc/EmptyProtocolDefinitions.h:
110         * WebKitPrefix.h:
112 2008-08-04  Brady Eidson  <beidson@apple.com>
114         Reviewed by Mitz Pettel
116         Fix <rdar://problem/5820157> - Saving WebArchives of Mail attachments broken.
118         This broke in r31355 when we stopped returning nil WebResources when there was nil
119         resource data.
121         * WebView/WebResource.mm:
122         (-[WebResource _initWithCoreResource:]): Restore previous behavior of returning nil
123           when the resource data is null.
125 2008-08-02  Matt Lilek  <webkit@mattlilek.com>
127         Reviewed by Tim Hatcher.
129         Update the window gradient offset to match the inspector toolbar's new height.
131         * WebCoreSupport/WebInspectorClient.mm:
132         (-[WebInspectorWindowController window]):
134 2008-08-01  Anders Carlsson  <andersca@apple.com>
136         Reviewed by Jon.
138         <rdar://problem/6120206>
139         Crash when plug-in queries for NPPVpluginWantsAllNetworkStreams.
140         
141         Pass in a pointer to a void* to make sure that plug-ins don't overwrite the stack.
143         * Plugins/WebBaseNetscapePluginStream.mm:
144         (-[WebBaseNetscapePluginStream wantsAllStreams]):
146 2008-07-31  Anders Carlsson  <andersca@apple.com>
148         Reviewed by Darin.
150         <rdar://problem/5949410>
151         Add the ability to transfer a given application cache to a new database.
153         * Misc/WebKitNSStringExtras.h:
154         * Misc/WebKitNSStringExtras.m:
155         (+[NSString _webkit_applicationCacheDirectoryWithBundleIdentifier:]):
156         New method which returns the appopriate cache directory for a given bundle identifier.
157         
158         * WebView/WebDataSource.mm:
159         (-[WebDataSource _transferApplicationCache:]):
160         Transfer the application cache.
161         
162         * WebView/WebDataSourcePrivate.h:
163         * WebView/WebView.mm:
164         (WebKitInitializeApplicationCachePathIfNecessary):
165         Change this to use _webkit_applicationCacheDirectoryWithBundleIdentifier.
167 2008-07-31  John Sullivan  <sullivan@apple.com>
169         WebKit part of <rdar://problem/6116650> Text-only zoom setting should be stored in WebKit prefs
171         Reviewed by Hyatt
173         * WebView/WebPreferenceKeysPrivate.h:
174         added WebKitZoomsTextOnlyPreferenceKey
175         
176         * WebView/WebPreferences.mm:
177         (+[WebPreferences initialize]):
178         default value of YES for WebKitZoomsTextOnlyPreferenceKey
179         (-[WebPreferences zoomsTextOnly]):
180         getter for WebKitZoomsTextOnlyPreferenceKey
181         (-[WebPreferences setZoomsTextOnly:]):
182         setter for WebKitZoomsTextOnlyPreferenceKey
183         
184         * WebView/WebPreferencesPrivate.h:
185         declare zoomsTextOnly/setZoomsTextOnly:
186         
187         * WebView/WebView.mm:
188         (-[WebView _preferencesChangedNotification:]):
189         update WebCore::Settings value for zoomsTextOnly
191 2008-07-31  David D. Kilzer  <ddkilzer@webkit.org>
193         Fix layout test results for webarchive/test-xml-stylesheet.xml
195         Reviewed by Darin.
197         Needed to expose -[WebHTMLRepresentation supportedNonImageMIMETypes]
198         for DumpRenderTree.
200         * WebView/WebHTMLRepresentationInternal.h: Added.
202 2008-07-31  Alexey Proskuryakov  <ap@webkit.org>
204         Release build fix.
206         * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView setWindowIfNecessary]):
207         Don't define to npErr in release builds, as it is only used for logging.
209 2008-07-31  John Sullivan  <sullivan@apple.com>
211         Fixed <https://bugs.webkit.org/show_bug.cgi?id=5195>
212         drawing with cacheDisplayInRect:toBitmapImageRep: doesn't trigger layout on Leopard
214         Reviewed by Dan
216         * WebView/WebHTMLView.mm:
217         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
218         include Leopard in the #ifdef that forces a layout if needed
220 2008-07-30  Brady Eidson  <beidson@apple.com>
222         Reviewed by Adam and Hyatt
224         Fix for <rdar://problem/6099748>
226         * WebView/WebView.mm:
227         (-[WebView _preferencesChangedNotification:]): Set the "don't enforce CSS mime type in strict mode" 
228           quirk when running under iWeb 2
230 2008-07-31  Alexey Proskuryakov  <ap@webkit.org>
232         Rubber-stamped by Maciej.
234         Eliminate JSLock (it was already disabled, removing the stub implementaion and all
235         call sites now).
237         * ForwardingHeaders/kjs/JSLock.h: Removed.
238         * Misc/WebCoreStatistics.mm:
239         (+[WebCoreStatistics javaScriptObjectsCount]):
240         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
241         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
242         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
243         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
244         (+[WebCoreStatistics shouldPrintExceptions]):
245         (+[WebCoreStatistics setShouldPrintExceptions:]):
246         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
247         * Plugins/WebBaseNetscapePluginStream.mm:
248         (-[WebBaseNetscapePluginStream wantsAllStreams]):
249         * Plugins/WebBaseNetscapePluginView.mm:
250         (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
251         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
252         (-[WebBaseNetscapePluginView start]):
253         (-[WebBaseNetscapePluginView createPluginScriptableObject]):
254         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
255         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
256         (-[WebBaseNetscapePluginView loadPluginRequest:]):
257         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
258         * Plugins/WebPluginController.mm:
259         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
260         (-[WebPluginController startAllPlugins]):
261         (-[WebPluginController stopAllPlugins]):
262         (-[WebPluginController addPlugin:]):
263         (-[WebPluginController destroyPlugin:]):
264         (-[WebPluginController destroyAllPlugins]):
265         * WebView/WebFrame.mm:
266         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
267         * WebView/WebScriptDebugDelegate.mm:
268         (-[WebScriptCallFrame evaluateWebScript:]):
269         * WebView/WebView.mm:
270         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
272 2008-07-30  Beth Dakin  <bdakin@apple.com>
274         Reviewed by Anders Carlsson.
276         Fixes <rdar://problem/6041390>
278         Adds the ability to have a frame that is "disconnected" from the 
279         main frame from the perspective of top and parent in 
280         Javascript.
282         * WebView/WebFrame.mm:
283         (-[WebFrame _setIsDisconnectedFrame]):
284         * WebView/WebFramePrivate.h:
286 2008-07-29  Mark Rowe  <mrowe@apple.com>
288         Tweak to the build fix to keep Dan happy.
290         * Plugins/WebBaseNetscapePluginView.mm:
291         * WebView/WebHTMLView.mm:
293 2008-07-29  Mark Rowe  <mrowe@apple.com>
295         Build fix.
297         * Plugins/WebBaseNetscapePluginView.mm:
298         (-[WebBaseNetscapePluginView inputContext]):
299         * WebView/WebHTMLView.mm:
301 2008-07-28  Anders Carlsson  <andersca@apple.com>
303         Reviewed by Kevin Decker.
305         Based on a patch by Dimcho Balev.
306         
307         https://bugs.webkit.org/show_bug.cgi?id=18676
308         <rdar://problem/6106578>
309         Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
311         * Plugins/WebBaseNetscapePluginStream.h:
312         Add NPP_GetValue pointer.
313         
314         * Plugins/WebBaseNetscapePluginStream.mm:
315         (-[WebBaseNetscapePluginStream setPlugin:]):
316         Initialize NPP_GetValue.
317         
318         (-[WebBaseNetscapePluginStream wantsAllStreams]):
319         Call NPP_GetValue.
320         
321         * Plugins/WebPlugInStreamLoaderDelegate.h:
322         * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h:
323         * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm:
324         (WebNetscapePlugInStreamLoaderClient::wantsAllStreams):
325         Implement this and call down to the stream.
327 2008-07-28  Anders Carlsson  <andersca@apple.com>
329         Reviewed by Adam.
331         <rdar://problem/6105529> 
332         https://bugs.webkit.org/show_bug.cgi?id=19659
333         Turning off plugins causes crash
334         
335         When an active page has plug-ins, and plug-ins are disabled, they will be stopped and will
336         end up in a state where they don't have an event handler. Because of this, we need to 
337         check that the plug-in has been started before calling the event handler.
338         
339         * Plugins/WebBaseNetscapePluginView.mm:
340         (-[WebBaseNetscapePluginView sendActivateEvent:]):
341         (-[WebBaseNetscapePluginView sendDrawRectEvent:]):
342         (-[WebBaseNetscapePluginView setHasFocus:]):
343         (-[WebBaseNetscapePluginView mouseDown:]):
344         (-[WebBaseNetscapePluginView mouseUp:]):
345         (-[WebBaseNetscapePluginView mouseEntered:]):
346         (-[WebBaseNetscapePluginView mouseExited:]):
347         (-[WebBaseNetscapePluginView handleMouseMoved:]):
348         (-[WebBaseNetscapePluginView mouseDragged:]):
349         (-[WebBaseNetscapePluginView scrollWheel:]):
350         (-[WebBaseNetscapePluginView keyUp:]):
351         (-[WebBaseNetscapePluginView keyDown:]):
352         (-[WebBaseNetscapePluginView flagsChanged:]):
353         (-[WebBaseNetscapePluginView cut:]):
354         (-[WebBaseNetscapePluginView copy:]):
355         (-[WebBaseNetscapePluginView paste:]):
356         (-[WebBaseNetscapePluginView selectAll:]):
357         (-[WebBaseNetscapePluginView drawRect:]):
358         (-[WebBaseNetscapePluginView inputContext]):
360 2008-07-26  Daniel Jalkut  <jalkut@red-sweater.com>
362         Reviewed by Geoff Garen.
364         Changes to accommodate newly named/signatured loading methods in WebCore.
366         * Plugins/WebNetscapePluginStream.mm:
367         (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
368         * Plugins/WebPluginContainerCheck.mm:
369         (-[WebPluginContainerCheck _isForbiddenFileLoad]):
370         * WebView/WebPDFView.mm:
371         (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
373 2008-07-21  Mark Rowe  <mrowe@apple.com>
375         Reviewed by Sam Weinig.
377         <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
379         * Configurations/Version.xcconfig:
380         * Info.plist:
382 2008-07-21  Anders Carlsson  <andersca@apple.com>
384         Reviewed by Geoff.
386         <rdar://problem/5820667> 
387         CrashTracer: [USER] 3759 crashes in Safari at FrameLoader::activeDocumentLoader const + 6 while canceling plug-in load
388         
389         Don't allow URLs to be loaded in response to an NPP_DestroyStream that happens when tearing down the plug-in.
390         
391         * Plugins/WebBaseNetscapePluginView.mm:
392         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
394 2008-07-21  Mark Rowe  <mrowe@apple.com>
396         Reviewed by Adam Roben.
398         <rdar://problem/5624143> WebView printing doesn't work correctly in x86_64
400         Fix the return type of an NSView method that we override so that the correct data type is used in 64-bit.
401         This prevents a garbage value being used for the scale factor that the NSView print machinery applies.
403         * WebView/WebHTMLView.mm:
405 2008-07-21  Mark Rowe  <mrowe@apple.com>
407         Reviewed by Adam Roben.
409         Fix CallDelegateReturningFloat for x86_64.  The x86_64 Objective-C runtime
410         only uses objc_msgSend_fpret for long double return values.  For float return
411         values the standard objc_msgSend is used, as on ppc and ppc64.
413         * WebView/WebView.mm: Use objc_msgSend_float_return as the name of our version of
414         objc_msgSend with the correct return type.  We can no longer call it objc_msgSend_fpret
415         as that method is defined by the Objective-C runtime for x86_64.
416         (CallDelegateReturningFloat):
418 2008-07-14  Dan Bernstein  <mitz@apple.com>
420         Reviewed by John Sullivan.
422         - WebKit part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
424         * Plugins/WebBaseNetscapePluginView.mm:
425         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Changed
426         to account for the case of being drawn into a bitmap context that is not
427         a window's backing store. In that case, there are no valid "rects being
428         drawn" to clip to.
429         * WebView/WebHTMLView.mm:
430         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
431         Added an override of this NSView method which is used in for
432         -cacheDisplayInRect:toBitmapImageRep:. Like two existing NSView drawing
433         machinery overrides, it sets subviews aside before invoking the
434         superclass implementation. On Tiger, it also updates the layout.
436 2008-07-14  Alexey Proskuryakov  <ap@webkit.org>
438         Reviewed by Geoff Garen.
440         Eliminate per-thread JavaScript global data instance support and make arbitrary
441         global data/global object combinations possible.
443         * Misc/WebCoreStatistics.mm:
444         (+[WebCoreStatistics javaScriptObjectsCount]):
445         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
446         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
447         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
448         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
449         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
450         Ask WebCore for its instance of JSGlobalData, now that it is not in per-thread storage.
452 2008-07-11  Stephanie Lewis  <slewis@apple.com>
454         Reviewed by Darin Adler.
456         Disable WTF leak messages when using fast teardown.  Use full document teardown while running in debug.
458         * WebView/WebPreferences.m: Removed.
459         * WebView/WebPreferences.mm: Copied from http:/svn.webkit.org/repository/webkit/trunk/WebKit/mac/WebView/WebPreferences.m.
460         (+[WebPreferences initialize]): if running in Default enable full  document teardown
461         (-[WebPreferences editableLinkBehavior]):
462         (-[WebPreferences setFullDocumentTeardownEnabled:]):
463         * WebView/WebView.mm:
464         (-[WebView _close]): disable leak messages if using fast teardown
466 2008-07-10  Mark Rowe  <mrowe@apple.com>
468         Reviewed by Sam Weinig.
470         Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
472         * Configurations/WebKit.xcconfig:
474 2008-07-10  Mark Rowe  <mrowe@apple.com>
476         Reviewed by Sam Weinig.
478         Fix the Tiger build by omitting annotations from methods declared in categories when using old versions of GCC.
480         * Plugins/WebPlugin.h: Wrap annotations on methods declared in categories in the WEBKIT_CATEGORY_METHOD_ANNOTATION macro.
481         * WebView/WebFrameLoadDelegate.h: Ditto.
482         * WebView/WebUIDelegate.h: Ditto.
484 2008-07-10  Anders Carlsson  <andersca@apple.com>
486         Reviewed by Mark.
487         
488         Add availability macros for the new WebPlugin methods.
490         * Plugins/WebPlugin.h:
491         * Plugins/WebPluginViewFactory.h:
493 2008-07-09  Mark Rowe  <mrowe@apple.com>
495         Reviewed by Geoff Garen.
497         Don't warn about deprecated functions in production builds.
499         * Configurations/Base.xcconfig:
500         * Configurations/DebugRelease.xcconfig:
502 2008-07-09  Brady Eidson  <beidson@apple.com>
504         Reviewed by Darin
506         <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
507         has been installed in a frame tree.
509         The root of this problem was that calling init() on a new frame could end up calling arbitrary
510         javascript that might end up removing the frame from the tree.  This opened up a small can of worms
511         such as the frame not having yet been installed in its frame tree, and other assumed behavior while
512         destroying the frame.
514         Note that each platforms WebKit API layer needs to make this new guarantee:
515         "The new Frame must be installed in its FrameTree before newCoreFrame->init() is called"
516         I am fixing Mac, and Windows and GTK already have this property.  Wx currently has subframes disabled
517         but will need to add this guarantee when re-enabling, and Qt is currently vulnerable to this same bug.
519         Alternately, the way frames are created right now is roundabout and asinine, and this is a key
520         architectural improvement we can make in the future so the individual platform clients are no longer
521         vulnerable to this problem, which should really have been a WebCore issue.
523         * WebCoreSupport/WebFrameLoaderClient.mm:
524         (WebFrameLoaderClient::createFrame):  Don't bother null checking the newCoreFrame - can't be NULL.
525           Don't appendChild() the new frame here.
526           Null-check the new frame's page before loading the URL into it, as it might already have been
527           removed from the page.
529         * WebView/WebFrame.mm:
530         (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):  If there is an ownerElement,
531           go ahead and install the new frame in the frame tree *before* calling init() on it.
533 2008-07-09  Anders Carlsson  <andersca@apple.com>
535         Reviewed by Darin.
537         Make some WebPlugin and WebPluginFactory SPI public.
538         
539         * Plugins/WebPlugin.h:
540         * Plugins/WebPluginPrivate.h:
541         * Plugins/WebPluginViewFactory.h:
542         * Plugins/WebPluginViewFactoryPrivate.h:
544 2008-07-08  Jon Honeycutt  <jhoneycutt@apple.com>
546         Reviewed by Anders.
548         Port r34988 to Mac: don't call NPP_DestroyStream if NPP_NewStream was
549         unsuccessful.
551         * Plugins/WebBaseNetscapePluginStream.h: Added new member,
552         newStreamSuccessful.
553         * Plugins/WebBaseNetscapePluginStream.mm:
554         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): Initialize new member.
555         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): If NPP_NewStream is successful, set
556         newStreamSuccessful to YES.
557         (-[WebBaseNetscapePluginStream _destroyStream]): Only call
558         NPP_DestroyStream if newStreamSuccessful is true.
560 2008-07-08  Dan Bernstein  <mitz@apple.com>
562         Reviewed by John Sullivan.
564         - WebKit part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
566         * WebView/WebHTMLView.mm:
567         (-[WebHTMLView addWindowObservers]): Added code to observe when the
568         window goes onscreen.
569         (-[WebHTMLView removeWindowObservers]): Added.
570         (-[WebHTMLView windowWillOrderOnScreen:]): Added. If the view is set to
571         not update when offscreen, calls -setNeedsDisplay: just before it comes
572         onscreen.
573         * WebView/WebPreferenceKeysPrivate.h: Added preference key.
574         * WebView/WebPreferences.m:
575         (+[WebPreferences initialize]): Made updates when offscreen on by
576         default.
577         (-[WebPreferences updatesWhenOffscreen]): Added.
578         (-[WebPreferences setUpdatesWhenOffscreen:]): Added.
579         * WebView/WebPreferencesPrivate.h:
580         * WebView/WebView.mm:
581         (-[WebView _preferencesChangedNotification:]): Added code to update the
582         updatesWhenOffscreen setting in WebCore.
584 2008-07-07  Anders Carlsson  <andersca@apple.com>
586         Reviewed by Darin.
588         Speculative fix for     
589         <rdar://problem/5839800>
590         CrashTracer: [USER] 5802 crashes in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389
591         
592         Set _private->closed to YES before calling -[WebPluginController destroyAllPlugins].
593         
594         My theory is that the plug-in destruction callbacks could end up rescheduling timers or re-adding notifications.
595         This is usually protected by _private->closed, but in this case it might still be false.
597         * WebView/WebHTMLView.mm:
598         (-[WebHTMLView close]):
600 2008-07-05  Mark Rowe  <mrowe@apple.com>
602         Reviewed by John Sullivan.
604         Remove WebSearchableTextView as it has been unused for some time now.
606         * Misc/WebSearchableTextView.h: Removed.
607         * Misc/WebSearchableTextView.m: Removed.
609 2008-07-05  Mark Rowe  <mrowe@apple.com>
611         Reviewed by John Sullivan.
613         Don't leak the result of WKCopyCFLocalizationPreferredName when running under GC.
615         * Misc/WebNSUserDefaultsExtras.m:
616         (-[NSString _webkit_HTTPStyleLanguageCode]):
618 2008-07-02  Alexey Proskuryakov  <ap@webkit.org>
620         Inspired and reviewed by Mark Rowe.
622         Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style.
624         * Carbon/HIViewAdapter.m:
625         * DOM/WebDOMOperations.mm:
626         * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
627         * DefaultDelegates/WebDefaultPolicyDelegate.m:
628         * History/WebBackForwardList.mm:
629         * History/WebHistory.mm:
630         * History/WebHistoryItem.mm:
631         * History/WebHistoryItemInternal.h:
632         * Misc/WebCoreStatistics.mm:
633         * Misc/WebDownload.m:
634         * Misc/WebGraphicsExtras.c:
635         * Misc/WebKitLogging.h:
636         * Misc/WebKitSystemBits.m:
637         * Misc/WebLocalizableStrings.m:
638         * Misc/WebNSArrayExtras.m:
639         * Misc/WebNSDataExtras.m:
640         * Misc/WebNSDictionaryExtras.m:
641         * Misc/WebNSFileManagerExtras.m:
642         * Misc/WebNSPasteboardExtras.mm:
643         * Misc/WebNSURLExtras.mm:
644         * Misc/WebNSUserDefaultsExtras.m:
645         * Panels/WebAuthenticationPanel.m:
646         * Panels/WebPanelAuthenticationHandler.m:
647         * Plugins/WebBaseNetscapePluginView.mm:
648         * Plugins/WebBasePluginPackage.m:
649         * Plugins/WebNetscapePluginEmbeddedView.mm:
650         * Plugins/WebPluginContainerCheck.mm:
651         * Plugins/WebPluginController.mm:
652         * Plugins/WebPluginDatabase.mm:
653         * WebCoreSupport/WebJavaScriptTextInputPanel.m:
654         * WebCoreSupport/WebKeyGenerator.m:
655         * WebCoreSupport/WebViewFactory.mm:
656         * WebKitPrefix.h:
657         * WebView/WebHTMLRepresentation.mm:
658         * WebView/WebPDFRepresentation.m:
659         * WebView/WebPDFView.mm:
660         * WebView/WebScriptDebugger.mm:
662 2008-07-01  Alexey Proskuryakov  <ap@webkit.org>
664         Reviewed by Darin.
666         Disable JSLock for per-thread contexts.
668         * Misc/WebCoreStatistics.mm:
669         (+[WebCoreStatistics javaScriptObjectsCount]):
670         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
671         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
672         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
673         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
674         (+[WebCoreStatistics shouldPrintExceptions]):
675         (+[WebCoreStatistics setShouldPrintExceptions:]):
676         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
677         * Plugins/WebBaseNetscapePluginView.mm:
678         (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
679         (-[WebBaseNetscapePluginView setWindowIfNecessary]):
680         (-[WebBaseNetscapePluginView start]):
681         (-[WebBaseNetscapePluginView createPluginScriptableObject]):
682         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
683         (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
684         (-[WebBaseNetscapePluginView loadPluginRequest:]):
685         (-[WebBaseNetscapePluginView _printedPluginBitmap]):
686         * Plugins/WebPluginController.mm:
687         (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
688         (-[WebPluginController startAllPlugins]):
689         (-[WebPluginController stopAllPlugins]):
690         (-[WebPluginController addPlugin:]):
691         (-[WebPluginController destroyPlugin:]):
692         (-[WebPluginController destroyAllPlugins]):
693         * WebView/WebFrame.mm:
694         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
695         * WebView/WebScriptDebugDelegate.mm:
696         (-[WebScriptCallFrame evaluateWebScript:]):
697         * WebView/WebView.mm:
698         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
699         Pass a parameter (always false) to JSLock and JSLock::DropAllLocks to indicate that WebKit
700         doesn't need locking. In the future, it may be possible to remove some of these if we
701         establish that this won't make JSC assertions fail (and that we don't want to add such
702         assertions either).
703         Added includes that are now needed.
705 2008-07-01  Kevin McCullough  <kmccullough@apple.com>
707         Build fix.
709         * WebView/WebView.mm:
711 2008-07-01  Anders Carlsson  <andersca@apple.com>
713         Reviewed by Darin.
715         Use the PluginMainThreadScheduler, and implement NPN_PluginThreadAsyncCall.
716         
717         * Plugins/WebBaseNetscapePluginView.mm:
718         (-[WebBaseNetscapePluginView _createPlugin]):
719         Register the plug-in instance.
720         
721         (-[WebBaseNetscapePluginView _destroyPlugin]):
722         Unegister the plug-in instance.
723         
724         * Plugins/WebNetscapePluginPackage.m:
725         (-[WebNetscapePluginPackage load]):
726         Set NPN_PluginThreadAsyncCall.
727         
728         * Plugins/npapi.mm:
729         (NPN_PluginThreadAsyncCall):
730         Implement this.
732 2008-07-01  Dan Bernstein  <mitz@apple.com>
734         Reviewed by Darin Adler.
736         - WebKit part of moving the method to set the base writing direction from Frame to Editor
738         * WebView/WebHTMLView.mm:
739         (-[WebHTMLView toggleBaseWritingDirection:]): Changed back to call the
740         Editor method.
741         (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
742         (-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto.
744 2008-07-01  Geoffrey Garen  <ggaren@apple.com>
746         Build fix: forgot to check in this file.
748         * WebView/WebScriptDebugger.mm:
749         (WebScriptDebugger::WebScriptDebugger):
751 2008-06-30  Dan Bernstein  <mitz@apple.com>
753         Reviewed by Adele Peterson.
755         - WebKit/mac part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari
757         * WebView/WebHTMLView.mm:
758         (-[WebHTMLView toggleBaseWritingDirection:]): Changed to call
759         WebCore::Frame::setSelectionBaseWritingDirection() instead of
760         WebCore::Editor::setBaseWritingDirection().
761         (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
762         (-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto.
764 2008-06-28  Darin Adler  <darin@apple.com>
766         - fix build
768         * WebView/WebView.mm:
769         (aeDescFromJSValue): Use get instead of getItem, which no longer exists.
771 2008-06-26  Anders Carlsson  <andersca@apple.com>
773         Reviewed by Darin.
775         Add a new MainThreadObjectDeallocator which can schedule dealloc calls on the main thread
776         if necessary. Use this for the WebView class. 
777                 
778         * WebView/MainThreadObjectDeallocator.h: Added.
779         * WebView/MainThreadObjectDeallocator.mm: Added.
780         (deallocCallback):
781         (scheduleDeallocateOnMainThread):
782         * WebView/WebView.mm:
783         (-[WebViewPrivate dealloc]):
784         (+[WebView initialize]):
786 2008-06-25  Anders Carlsson  <andersca@apple.com>
788         Reviewed by Mark.
790         <rdar://problem/5984270> 
791         REGRESSION (Tiger only) : Mail crashes because message load is being processed on a secondary thread
792         
793         * WebView/WebView.mm:
794         (tigerMailReleaseIMP):
795         New method that makes sure that the final release happens on the main thread.
796         
797         (-[WebView release]):
798         New method that just calls [super release];
799         
800         (+[WebView initialize]):
801         When running under Tiger mail, replace the release method with tigerMailReleaseIMP.
803 2008-06-19  Alexey Proskuryakov  <ap@webkit.org>
805         Reviewed by Geoff.
807         Make Machine per-JSGlobalData.
809         * WebView/WebScriptDebugger.mm:
810         (WebScriptDebugger::WebScriptDebugger):
812 2008-06-17  Alexey Proskuryakov  <ap@webkit.org>
814         Reviewed by Darin.
816         Prepare JavaScript heap for being per-thread.
818         * Misc/WebCoreStatistics.mm:
819         (+[WebCoreStatistics javaScriptObjectsCount]):
820         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
821         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
822         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
823         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
824         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
825         Use JSGlobalData::threadInstance()->heap instead of static Collector calls.
827 2008-06-17  Darin Adler  <darin@apple.com>
829         Reviewed by Sam.
831         * WebView/WebHTMLView.mm:
832         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Use create instead of new
833         to create a CSSMutableStyleDeclaration.
835 2008-06-16  Mark Rowe  <mrowe@apple.com>
837         Reviewed by Darin Adler.
839         <rdar://problem/5951874> WebHTMLHighlighter mistakenly gained two new methods, causing compile warnings
841         _pauseNullEventsForAllNetscapePlugins and _resumeNullEventsForAllNetscapePlugins ended up being declared both in
842         WebHTMLViewInternal.h and as members of the WebHTMLHighlighter protocol in WebHTMLViewPrivate.h.  They don't belong
843         in the protocol, but they do need to be available outside of WebKit so they're being moved to the correct location
844         in WebHTMLViewPrivate.h and removed from WebHTMLViewInternal.h.
846         * WebView/WebHTMLView.mm:
847         (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
848         (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
849         * WebView/WebHTMLViewInternal.h:
850         * WebView/WebHTMLViewPrivate.h:
852 2008-06-15  Darin Adler  <darin@apple.com>
854         - give Frame object functions shorter names: scriptProxy() -> script(),
855           selectionController() -> selection(), animationController() -> animation()
857         * Plugins/WebPluginController.mm:
858         (-[WebPluginController webPlugInContainerSelectionColor]):
859         * WebView/WebFrame.mm:
860         (-[WebFrame _attachScriptDebugger]):
861         (-[WebFrame _hasSelection]):
862         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
863         (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
864         (-[WebFrame _convertToNSRange:]):
865         (-[WebFrame _convertToDOMRange:]):
866         (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
867         (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
868         (-[WebFrame _insertParagraphSeparatorInQuotedContent]):
869         (-[WebFrame _selectedNSRange]):
870         (-[WebFrame _selectNSRange:]):
871         (-[WebFrame globalContext]):
872         * WebView/WebHTMLView.mm:
873         (-[WebHTMLView _selectedRange]):
874         (-[WebHTMLView _hasSelection]):
875         (-[WebHTMLView _hasSelectionOrInsertionPoint]):
876         (-[WebHTMLView _hasInsertionPoint]):
877         (-[WebHTMLView _isEditable]):
878         (-[WebHTMLView _updateFocusedAndActiveState]):
879         (-[WebHTMLView readSelectionFromPasteboard:]):
880         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
881         (-[WebHTMLView maintainsInactiveSelection]):
882         (-[WebHTMLView paste:]):
883         (isTextInput):
884         (-[WebHTMLView inputContext]):
885         (-[WebTextCompleteController doCompletion]):
886         (-[WebHTMLView selectAll]):
887         (-[WebHTMLView deselectAll]):
888         (-[WebHTMLView selectedAttributedString]):
889         * WebView/WebView.mm:
890         (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
891         (-[WebView setSelectedDOMRange:affinity:]):
892         (-[WebView selectedDOMRange]):
893         (-[WebView selectionAffinity]):
895 2008-06-15  Darin Adler  <darin@apple.com>
897         - rename KJS::List to KJS::ArgList
899         * WebView/WebScriptDebugger.h:
901 2008-06-15  Darin Adler  <darin@apple.com>
903         - new names for more JavaScriptCore files
905         * WebView/WebView.mm:
907 2008-06-15  Darin Adler  <darin@apple.com>
909         - new names for a few key JavaScriptCore files
911         * ForwardingHeaders/kjs/JSFunction.h: Copied from WebKit/mac/ForwardingHeaders/kjs/function.h.
912         * ForwardingHeaders/kjs/JSObject.h: Copied from WebKit/mac/ForwardingHeaders/kjs/object.h.
913         * ForwardingHeaders/kjs/JSString.h: Copied from WebKit/mac/ForwardingHeaders/kjs/internal.h.
914         * ForwardingHeaders/kjs/JSValue.h: Copied from WebKit/mac/ForwardingHeaders/kjs/value.h.
915         * ForwardingHeaders/kjs/function.h: Removed.
916         * ForwardingHeaders/kjs/internal.h: Removed.
917         * ForwardingHeaders/kjs/object.h: Removed.
918         * ForwardingHeaders/kjs/value.h: Removed.
919         * WebView/WebScriptDebugDelegate.mm:
921 2008-06-15  Darin Adler  <darin@apple.com>
923         Rubber stamped by Sam.
925         - use JS prefix and simpler names for basic JavaScriptCore types,
926           to complement JSValue and JSObject
928         * WebView/WebView.mm:
929         (aeDescFromJSValue):
931 2008-06-14  Darin Adler  <darin@apple.com>
933         Rubber stamped by Sam.
935         - new names for kjs_binding.h and kjs_proxy.h
937         * WebView/WebFrame.mm:
938         * WebView/WebScriptDebugDelegate.mm:
939         * WebView/WebView.mm:
941 2008-06-14  Darin Adler  <darin@apple.com>
943         Rubber stamped by Sam.
945         - renamed HTMLGenericFormElement to HTMLFormControlElement
947         * WebView/WebHTMLRepresentation.mm:
948         (-[WebHTMLRepresentation elementWithName:inForm:]):
949         (-[WebHTMLRepresentation controlsInForm:]):
951 2008-06-14  Darin Adler  <darin@apple.com>
953         Reviewed by Sam.
955         - more of https://bugs.webkit.org/show_bug.cgi?id=17257
956           start ref counts at 1 instead of 0 for speed
958         * WebCoreSupport/WebFrameLoaderClient.mm:
959         (WebFrameLoaderClient::createDocumentLoader): Use create instead of new.
960         (WebFrameLoaderClient::createFrame): Remove now-obsolete adoptRef that was balanced by
961         a ref call inside the Frame constructor. The lifetime rules for Frame are now the
962         conventional ones without a special case.
964         * WebView/WebDataSource.mm:
965         (-[WebDataSource _initWithDocumentLoader:]): Changed argument to be a PassRefPtr, since
966         this function takes ownership of the DocumentLoader.
967         (-[WebDataSource initWithRequest:]): Use create instead of new.
968         * WebView/WebDataSourceInternal.h: Changed _initWithDocumentLoader argument to be a
969         PassRefPtr and also cleaned up the header a bit.
971         * WebView/WebDocumentLoaderMac.h:
972         (WebDocumentLoaderMac::create): Added. Also made the constructor and a couple of virtual
973         functions private.
975         * WebView/WebFrame.mm:
976         (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Use create instead
977         of new.
979 2008-06-14  Darin Adler  <darin@apple.com>
981         Reviewed by Sam.
983         - more work on https://bugs.webkit.org/show_bug.cgi?id=17257
984           start ref counts at 1 instead of 0 for speed
986         * WebView/WebFrame.mm:
987         (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
988         * WebView/WebPDFView.mm:
989         (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
991 2008-06-13  Darin Adler  <darin@apple.com>
993         Reviewed by John Sullivan.
995         - updated for addition of FormState argument to action policy functions
996         - added WebActionFormKey
998         * WebCoreSupport/WebFrameLoaderClient.h:
999         * WebCoreSupport/WebFrameLoaderClient.mm:
1000         (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
1001         (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
1002         (WebFrameLoaderClient::actionDictionary):
1003         * WebKit.exp:
1004         * WebView/WebPolicyDelegate.mm:
1005         * WebView/WebPolicyDelegatePrivate.h:
1007 2008-06-12  John Sullivan  <sullivan@apple.com>
1009         Reviewed by Dan and Darin
1011         Clear up the confusion about _close (older private method) vs -close (newer public method).
1013         * WebView/WebView.mm:
1014         (-[WebView _isClosed]):
1015         simplified style
1016         (-[WebView _close]):
1017         added a comment about how clients and subclasses should use -close instead
1018         (-[WebView dealloc]):
1019         call -close instead of _close, so subclasses that override the public method will have the intended behavior
1020         (-[WebView close]):
1021         added a comment
1022         (-[WebView _windowWillClose:]):
1023         call -close instead of _close, so subclasses that override the public method will have the intended behavior
1025         * WebView/WebViewPrivate.h:
1026         added a comment about how clients and subclasses should use -close instead
1028 2008-06-07  Darin Adler  <darin@apple.com>
1030         Reviewed by Mitz.
1032         - work on https://bugs.webkit.org/show_bug.cgi?id=17257
1033           start ref counts at 1 instead of 0 for speed
1035         * History/WebHistoryItem.mm:
1036         (-[WebHistoryItem init]):
1037         (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
1038         (-[WebHistoryItem initWithURL:target:parent:title:]):
1039         (-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]):
1040         * WebView/WebView.mm:
1041         (+[WebView _decodeData:]):
1043 2008-06-03  Oliver Hunt  <oliver@apple.com>
1045         Reviewed by Tim.
1047         Bug 12983: Web Inspector break on the debugger keyword
1048         <https://bugs.webkit.org/show_bug.cgi?id=12983>
1050         Add stubs to allow old webkit debugger interface to build.
1052         * WebView/WebScriptDebugger.h:
1053         * WebView/WebScriptDebugger.mm:
1055 2008-06-03  Anders Carlsson  <andersca@apple.com>
1057         Reviewed by Darin.
1059         <rdar://problem/5980961>
1060         
1061         In 64-bit Web Kit, converting between float and double, can cause rounding errors which in turn causes
1062         newBottom to be larger than oldBottom which is illegal.
1063         
1064         * WebView/WebHTMLView.mm:
1065         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
1067 2008-06-02  Anders Carlsson  <andersca@apple.com>
1069         Reviewed by Mitz.
1071         Speculative fix for <rdar://problem/5661112> 
1072         CrashTracer: [USER] 49 crashes in DashboardClient at com.apple.WebCore: WebCore::RenderPart::setWidget + 62
1073         
1074         Defer loads while calling NPP_New. Some plug-ins start a run-loop inside NPP_New and finished loads could cause
1075         layouts to be triggered.
1076         
1077         * Plugins/WebBaseNetscapePluginView.mm:
1078         (-[WebBaseNetscapePluginView _createPlugin]):
1080 2008-05-29  Justin Garcia  <justin.garcia@apple.com>
1082         Reviewed by Darin.
1083         
1084         <rdar://problem/5949462> REGRESSION: Can't paste screen captures into Mail
1085         
1086         AppKit started putting PNG instead of PICT onto the pasteboard for screen 
1087         captures.  Added support for PNG with kUTTypePNG.  Tiger doesn't support
1088         setting and retrieving pasteboard types with UTIs, but we don't know of any
1089         applications on Tiger that put only PNG on the pasteboard.
1091         * WebView/WebHTMLView.mm:
1092         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
1093         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
1095 2008-05-29  Anders Carlsson  <andersca@apple.com>
1097         Reviewed by Brady.
1099         <rdar://problem/5970312> 
1100         icon file specified for stand alone web app causes crash if the icon can't be found
1101         
1102         Handle the case where iconData is null.
1103         
1104         * Misc/WebIconFetcher.mm:
1105         (WebIconFetcherClient::finishedFetchingIcon):
1107 2008-05-29  Anders Carlsson  <andersca@apple.com>
1109         Reviewed by Mitz.
1111         <rdar://problem/5971845>
1112         https://bugs.webkit.org/show_bug.cgi?id=19313
1113         Add version member to NPCocoaEvent
1115         Initialize the version member to 0 for all events.
1116         
1117         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
1118         (initializeEvent):
1119         (WebNetscapePluginEventHandlerCocoa::drawRect):
1120         (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
1121         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
1122         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
1123         (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
1124         (WebNetscapePluginEventHandlerCocoa::focusChanged):
1126 2008-05-29  Dan Bernstein  <mitz@apple.com>
1128         Reviewed by Jessica Kahn.
1130         - fix <rdar://problem/5965013> Page 2 does not print correctly
1132         When printing, _recursiveDisplayRectIfNeededIgnoringOpacity:... and
1133         _recursiveDisplayAllDirtyWithLockFocus:... can be invoked without
1134         -viewWillDraw being sent first, which could lead to painting without
1135         valid layout. The fix is to ensure up-to-date layout in those methods
1136         when printing.
1138         * WebView/WebHTMLView.mm:
1139         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
1140         (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
1142 2008-05-28  Anders Carlsson  <andersca@apple.com>
1144         Reviewed by Jon.
1146         Remove workaround, this is no longer a problem.
1147         
1148         * WebView/WebView.mm:
1149         (-[WebView _removeObjectForIdentifier:]):
1151 2008-05-27  Geoffrey Garen  <ggaren@apple.com>
1153         Reviewed by Tim Hatcher.
1154         
1155         Fixed https://bugs.webkit.org/show_bug.cgi?id=19183
1156         REGRESSION (r33979): Crash in DebuggerCallFrame::functionName when
1157         clicking button in returnEvent-crash.html
1158         
1159         Added implementations for willExecuteProgram and didExecuteProgram, which
1160         take care of making sure we're not hanging on to stale data.
1162 2008-05-27  Timothy Hatcher  <timothy@apple.com>
1164         Fixes a bug where unplugging the monitor from a video card and
1165         moving it to another video card would no longer show OpenGL plugins
1166         until you relaunched Safari.
1168         <rdar://problem/5790983> Add AllowOfflineDisplays pixel format
1169         attribute to OpenGL contexts
1171         Reviewed by Kevin Decker.
1173         * Plugins/WebBaseNetscapePluginView.mm:
1174         (-[WebBaseNetscapePluginView _createWindowedAGLContext]): Added
1175         AGL_ALLOW_OFFLINE_RENDERERS for non-Tiger builds.
1176         (-[WebBaseNetscapePluginView _createWindowlessAGLContext]): Ditto.
1178 2008-05-25  Mark Rowe  <mrowe@apple.com>
1180         Reviewed by Darin Adler.
1182         <rdar://problem/5840884> _recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined
1184         Follow-up for r33052.  _recursive_resumeNullEventsForAllNetscapePlugins and _recursive_pauseNullEventsForAllNetscapePlugins
1185         need to be declared in WebFramePrivate.h rather than WebFrameInternal.h so they can be used from outside of WebKit.
1187         * WebView/WebFrame.mm:
1188         (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
1189         (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
1190         * WebView/WebFrameInternal.h:
1191         * WebView/WebFramePrivate.h:
1193 2008-05-23  Timothy Hatcher  <timothy@apple.com>
1195         Fix attaching and detaching the Web Inspector. This change removes
1196         the clunky animation that never looked right and was causing issues
1197         where the inspected WebView would get into a no useable state.
1199         <rdar://problem/5958812> Attaching and Detaching the Web Inspector
1200         can cause the inspected WebVIew to be unusable
1202         Reviewed by Adam Roben.
1204         * WebCoreSupport/WebInspectorClient.mm:
1205         (-[WebInspectorWindowController close]): Removes animation code.
1206         Sets the frame directly and does a displayIfNeeded to prevent
1207         showing the Inspector in the page and in the Inspector window.
1208         (-[WebInspectorWindowController showWindow:]): Removes animation code.
1209         Sets the frame directly.
1210         (-[WebInspectorWindowController attach]): Simplified.
1211         (-[WebInspectorWindowController detach]): Ditto.
1213 2008-05-22  Dan Bernstein  <mitz@apple.com>
1215         Reviewed by Darin Adler.
1217         - fix broken documentation of
1218           webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
1220         * WebView/WebUIDelegate.h: Fixed method name in HeaderDoc for
1221         -webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
1223 2008-05-22  Timothy Hatcher  <timothy@apple.com>
1225         <rdar://problem/5956403> Update the Develop menu to match the new Inspector items
1227         Reviewed by Adam Roben.
1229         * WebCoreSupport/WebInspectorClient.mm:
1230         (-[WebInspectorWindowController showWebInspector:]):
1231         (-[WebInspectorWindowController showErrorConsole:]):
1232         (-[WebInspectorWindowController toggleDebuggingJavaScript:]):
1233         (-[WebInspectorWindowController toggleProfilingJavaScript:]):
1234         (-[WebInspectorWindowController validateUserInterfaceItem:]):
1235         * WebInspector/WebInspector.h:
1236         * WebInspector/WebInspector.mm:
1237         (-[WebInspector showConsole:]):
1238         (-[WebInspector showTimeline:]):
1239         (-[WebInspector isDebuggingJavaScript]):
1240         (-[WebInspector toggleDebuggingJavaScript:]):
1241         (-[WebInspector startDebuggingJavaScript:]):
1242         (-[WebInspector stopDebuggingJavaScript:]):
1243         (-[WebInspector isProfilingJavaScript]):
1244         (-[WebInspector toggleProfilingJavaScript:]):
1245         (-[WebInspector startProfilingJavaScript:]):
1246         (-[WebInspector stopProfilingJavaScript:]):
1248 2008-05-22  Josh Aas  <joshmoz@gmail.com>
1250         Reviewed by Anders.
1252         <rdar://problem/5956429> 
1253         https://bugs.webkit.org/show_bug.cgi?id=19192
1254         remove NPNVpluginEventModel, fix example plugin
1255         
1256         * Plugins/WebBaseNetscapePluginView.mm:
1257         (-[WebBaseNetscapePluginView getVariable:value:]):
1259 2008-05-21  Anders Carlsson  <andersca@apple.com>
1261         Reviewed by Maciej.
1263         Add WebIconFetcher.
1264         
1265         * Misc/WebIconFetcher.h: Added.
1266         * Misc/WebIconFetcher.mm: Added.
1267         (WebIconFetcherClient::WebIconFetcherClient):
1268         (WebIconFetcherClient::finishedFetchingIcon):
1269         (WebIconFetcherClient::setFetcher):
1270         (-[WebIconFetcher init]):
1271         (-[WebIconFetcher dealloc]):
1272         (-[WebIconFetcher finalize]):
1273         (-[WebIconFetcher cancel]):
1274         (-[WebIconFetcher _initWithIconFetcher:client:]):
1275         (+[WebIconFetcher _fetchApplicationIconForFrame:target:selector:]):
1276         * Misc/WebIconFetcherInternal.h: Added.
1277         * WebView/WebFrame.mm:
1278         (-[WebFrame fetchApplicationIcon:selector:]):
1279         * WebView/WebFramePrivate.h:
1281 === End merge of squirrelfish ===
1283 2008-05-21  Geoffrey Garen  <ggaren@apple.com>
1285         Reviewed by Tim Hatcher.
1286         
1287         Updated for API changes from merging with trunk WebCore's new debugger.
1289         * WebView/WebScriptDebugDelegate.mm:
1290         (-[WebScriptCallFrame evaluateWebScript:]): Explicitly check for an
1291         exception return, since the DebuggerCallFrame no longer automatically
1292         substitutes the exception for the return value.
1294         * WebView/WebScriptDebugger.mm: Use the dynamic global object, not the
1295         lexical global object, since the debugger attaches based on dynamic
1296         global object.
1298 2008-05-17  Geoffrey Garen  <ggaren@apple.com>
1300         Reviewed by Oliver Hunt.
1301         
1302         Re-enabled previously disabled debugging functionality.
1303         
1304         There are two major changes from how the WebKit debugger used to work:
1305         
1306         (1) All the interesting bits are implemented down in JavaScriptCore. The
1307         debugger just calls through to KJS::DebuggerCallFrame for everything.
1308         
1309         (2) Instead of copyihng a pointer to an ExecState once, the debugger
1310         copies the DebuggerCallFrame passed to it in each callback. This is
1311         because the VM no longer maintains a fully transparent execution state
1312         to which you can hold a pointer, and the DebuggerCallFrames it vends
1313         are temporaries.
1314         
1315         Also, we NULL out a WebScriptCallFrame's DebuggerCallFrame upon return
1316         from its function. This is safer than the old method, which was to
1317         hold a stale ExecState* and hope for the best.
1319 2008-05-13  Geoffrey Garen  <ggaren@apple.com>
1321         Reviewed by Oliver Hunt.
1323         Updated for API changes in KJS::Debugger.
1325         * WebView/WebFrame.mm:
1326         (-[WebFrame _attachScriptDebugger]): Changed the order of operations to
1327         fix an ASSERT that can happen when re-entering _attachScriptDebugger.
1329 2008-05-13  Geoffrey Garen  <ggaren@apple.com>
1331         Reviewed by Oliver Hunt.
1332         
1333         Updated WebScriptDebugger API to accept a SourceProvider instead
1334         of a WebCore::String, to avoid copying.
1336         (WebScriptDebugger::sourceParsed): Updated this function not to return
1337         a value.
1339 2008-04-30  Geoffrey Garen  <ggaren@apple.com>
1341         Build fix: #ifdef'd out some code that doesn't work anymore.
1343 2008-04-30  Geoffrey Garen  <ggaren@apple.com>
1345         Reviewed by Oliver Hunt.
1346         
1347         #ifdef'd out some debugger code that doesn't work anymore.
1349         * WebView/WebScriptDebugDelegate.mm:
1350         (-[WebScriptCallFrame scopeChain]):
1352 2008-04-21  Geoffrey Garen  <ggaren@apple.com>
1354         Build fix.
1356         * ChangeLog:
1357         * WebView/WebScriptDebugDelegate.mm:
1358         (-[WebScriptCallFrame scopeChain]):
1360 2008-03-30  Geoffrey Garen  <ggaren@apple.com>
1362         Reviewed by Oliver Hunt.
1363         
1364         Build fix.
1366 === Start merge of squirrelfish ===
1368 2008-05-21  Darin Adler  <darin@apple.com>
1370         - fix build
1372         * WebView/WebViewPrivate.h: Remove declaration of closeWithFastTeardown. We can add it back later
1373         if we want, but if we do, we should probably make some refinements like checking _private->closed
1374         and applicationIsTerminating.
1376 2008-05-21  Darin Adler  <darin@apple.com>
1378         Reviewed by Anders and Kevin Decker.
1380         - fix <rdar://problem/5951130> REGRESSION: crash on quit after reopening windows from previous session
1382         * WebView/WebView.mm:
1383         (-[WebViewPrivate dealloc]): Fix assertions to not complain when fast teardown is used.
1384         (-[WebView _closePluginDatabases]): Factored out some common code from both versions of close.
1385         (-[WebView _closeWithFastTeardown]): Added an underscore to this method's name, since it's internal.
1386         Streamlined the code a bit. Added a line of code to set _private->closed (this is the bug fix).
1387         (-[WebView _close]): Changed for new method name and to use _closePluginDatabases.
1389 2008-05-19  Stephanie Lewis  <slewis@apple.com>
1391         Reviewed by Darin.
1392     
1393         more fast teardown performance work
1395         * Misc/WebDownload.m:
1396         (-[WebDownloadInternal downloadDidBegin:]):
1397         (-[WebDownloadInternal downloadDidFinish:]):
1398         (-[WebDownloadInternal download:didFailWithError:]):
1399         * WebCoreSupport/WebChromeClient.h:
1400         * WebCoreSupport/WebChromeClient.mm:
1401         (WebChromeClient::disableSuddenTermination):
1402         (WebChromeClient::enableSuddenTermination):
1404 2008-05-18  Dan Bernstein  <mitz@apple.com>
1406         Reviewed by Sam Weinig.
1408         - fix <rdar://problem/5944596> IDNs are displayed as punycode in the authentication panel
1410         * Panels/WebAuthenticationPanel.m:
1411         (-[WebAuthenticationPanel setUpForChallenge:]):
1413 2008-05-16  Timothy Hatcher  <timothy@apple.com>
1415         Removes WebScriptDebugServer files and related calls. This removes
1416         the hooks that Drosera uses for debugging. Now that the Web Inspector
1417         has a better debugger, we don't need these anymore.
1419         Reviewed by Sam Weinig.
1421         * DefaultDelegates/WebScriptDebugServer.h: Removed.
1422         * DefaultDelegates/WebScriptDebugServer.m: Removed.
1423         * DefaultDelegates/WebScriptDebugServerPrivate.h: Removed.
1424         * WebCoreSupport/WebFrameLoaderClient.mm:
1425         * WebKit.exp:
1426         * WebView/WebScriptDebugDelegate.mm:
1427         * WebView/WebScriptDebugger.mm:
1428         (WebScriptDebugger::sourceParsed):
1429         (WebScriptDebugger::callEvent):
1430         (WebScriptDebugger::atStatement):
1431         (WebScriptDebugger::returnEvent):
1432         (WebScriptDebugger::exception):
1433         * WebView/WebView.mm:
1434         (-[WebView _commonInitializationWithFrameName:groupName:]):
1435         * WebView/WebViewPrivate.h:
1437 2008-05-16  Brady Eidson  <beidson@apple.com>
1439         Reviewed by Anders
1441         <rdar://problem/5942616> - Need to standardize LocalStorage persistence path
1443         Took the opportunity to touch up another pref that needs the same standardization.
1444         That pref is currently not in use on Mac.
1446         * WebView/WebPreferences.m:
1447         (-[WebPreferences _setFTPDirectoryTemplatePath:]):
1448         (-[WebPreferences _localStorageDatabasePath]):
1449         (-[WebPreferences _setLocalStorageDatabasePath:]):
1450         (-[WebPreferences _ftpDirectoryTemplatePath]):
1452 2008-05-16  Chris Fleizach  <cfleizach@apple.com>
1454         Reviewed by Alice Liu
1456         <rdar://problem/5710317> REGRESSION:Selecting ranges of text should be possible using the keyboard (15310)
1458         * WebView/WebFrame.mm:
1459         (-[WebFrame _accessibilityTree]):
1461 2008-05-15  Stephanie Lewis  <slewis@apple.com>
1462         
1463         fix mac build
1465         * WebView/WebView.mm:
1466         (-[WebView closeWithFastTeardown]):
1468 2008-05-15  Stephanie Lewis  <slewis@apple.com>
1470         Reviewed by Anders.
1472         Turn on fast teardown.  I added a preference for using full teardown because 
1473         the LEAKS output will be useless without a full teardown.  
1475         preference for fullteardown
1476         * WebView/WebPreferenceKeysPrivate.h:
1477         * WebView/WebPreferences.m:
1478         (-[WebPreferences setFullDocumentTeardownEnabled:]):
1479         (-[WebPreferences fullDocumentTeardownEnabled]):
1480         * WebView/WebPreferencesPrivate.h:
1481         
1482         on application quit dispatch unload events and destroy plugins then exit
1483         * WebView/WebView.mm:
1484         (-[WebView closeWithFastTeardown]):
1485         (-[WebView _close]):
1486         * WebView/WebViewPrivate.h:
1488 2008-05-15  Stephanie Lewis  <slewis@apple.com>
1490         Reviewed by Anders.
1492         get the pending frame unload count from WebCore
1494         * WebView/WebFrame.mm:
1495         (-[WebFrame _pendingFrameUnloadEventCount]):
1496         * WebView/WebFramePrivate.h:
1498 2008-05-15  John Sullivan  <sullivan@apple.com>
1500         Reviewed by Kevin Decker
1501         
1502         - fixed <rdar://problem/5940275> Inspector highlighting moves to bottom-left corner of 
1503           screen when new tab appears
1504           
1505         The highlight should go away entirely, but this simple patch just makes it not jump away.
1506         The issue with it not going away entirely is harder to fix and covered by <rdar://problem/5322306>
1508         * WebInspector/WebNodeHighlight.m:
1509         (-[WebNodeHighlight _repositionHighlightWindow]):
1510         Bail out if target view isn't in a window
1512 2008-05-15  Stephanie Lewis  <slewis@apple.com>
1514         Reviewed by Anders.
1516         Track views that contain plugin instances so that they can be destroyed at application
1517         quit without walking the entire document tree.
1519         Add/Remove Netscape plugin views from instance list.  Start/stop are when netscape
1520         plugins are created and destroyed
1521         * Plugins/WebBaseNetscapePluginView.mm:
1522         (-[WebBaseNetscapePluginView start]):
1523         (-[WebBaseNetscapePluginView stop]):
1525         Add/remove WebKit plugin views from instance list
1526         * Plugins/WebPluginController.mm:
1527         (-[WebPluginController addPlugin:]):
1528         (-[WebPluginController destroyPlugin:]):
1529         (-[WebPluginController destroyAllPlugins]):
1531         Add a set of views with plugin instances to the WebPluginDatabase
1532         * Plugins/WebPluginDatabase.h:
1533         * Plugins/WebPluginDatabase.mm:
1534         (-[WebPluginDatabase init]):
1535         (-[WebPluginDatabase dealloc]):
1536         (-[WebPluginDatabase addPluginInstanceView:]):
1537         (-[WebPluginDatabase removePluginInstanceView:]):
1538         (-[WebPluginDatabase removePluginInstanceViewsFor:]):
1539         (-[WebPluginDatabase destroyAllPluginInstanceViews]):
1540         
1541         Handle cases where plugin views are detached before the plugin is destroyed.
1542         * WebCoreSupport/WebFrameLoaderClient.mm:
1543         (WebFrameLoaderClient::detachedFromParent2):
1544         (WebFrameLoaderClient::transitionToCommittedFromCachedPage):
1545         (WebFrameLoaderClient::transitionToCommittedForNewPage):
1547         Add plugin instances to the set in the WebPluginDatabase by way of the WebView
1548         * WebView/WebHTMLView.mm:
1549         (-[WebHTMLView _destroyAllWebPlugins]):
1550         * WebView/WebHTMLViewInternal.h:
1551         * WebView/WebView.mm:
1552         (-[WebView addPluginInstanceView:]):
1553         (-[WebView removePluginInstanceView:]):
1554         (-[WebView removePluginInstanceViewsFor:]):
1555         * WebView/WebViewInternal.h:
1557 2008-05-15  Brady Eidson  <beidson@apple.com>
1559         Reviewed by Tim Hatcher
1561         Until the settings/preferences equation can be reworked, we'll need to manually set the local storage path
1562         before setting the page group of the new page.
1563         
1564         * WebView/WebView.mm:
1565         (-[WebView _commonInitializationWithFrameName:groupName:]): Set the LocalStorage path 
1566           immediately after creating the page so it is in place for initializing the LocalStorageThread
1568 2008-05-15  Timothy Hatcher  <timothy@apple.com>
1570         Fixes the bug where the Web Inspector would flash white while resizing.
1571         This was cause by deferring the window creation.
1573         <rdar://problem/5873549> REGRESSION: Inspector flickers horribly while resizing (17979)
1575         Reviewed by Darin Adler.
1577         * WebCoreSupport/WebInspectorClient.mm:
1578         (-[WebInspectorWindowController window]): Don't defer the window creation.
1580 2008-05-15  Alexey Proskuryakov  <ap@webkit.org>
1582         Tiger build fix.
1584         * Misc/WebNSAttributedStringExtras.mm: Import WebTypesInternal.h for NSUInteger.
1586 2008-05-15  Adele Peterson  <adele@apple.com>
1588         Reviewed and landed by Alexey.
1590         Use TextIterator in +[NSAttributedString _web_attributedStringFromRange:].
1592         * Misc/WebNSAttributedStringExtras.mm:
1593         (+[NSAttributedString _web_attributedStringFromRange:]):
1595 2008-05-14  Eric Seidel  <eric@webkit.org>
1597         Reviewed by Oliver.
1599         Add missing NULL check to match rest of file, this was found by the editing fuzzer.
1601         * WebView/WebResource.mm:
1602         (-[WebResource data]):
1604 2008-05-14  Alexey Proskuryakov  <ap@webkit.org>
1606         Reviewed by Dan Bernstein.
1608         NPP_ValidAttributesForMarkedText should return NSArray*, not NSArray.
1610         * Plugins/nptextinput.h:
1612 2008-05-13  Anders Carlsson  <andersca@apple.com>
1614         Reviewed by Sam.
1616         Don't empty the application cache in _setCacheModel, since it will be called during initialization.
1617         Instead, do it in [WebCache empty].
1618         
1619         * Misc/WebCache.mm:
1620         (+[WebCache empty]):
1621         * WebView/WebView.mm:
1622         (+[WebView _setCacheModel:]):
1624 2008-05-13  chris fleizach  <cfleizach@apple.com>
1626         Reviewed by Beth Dakin
1628         <rdar://problem/4780592> WebKit application has its window announced as HTML content
1630         * WebCoreSupport/WebViewFactory.mm:
1631         (-[WebViewFactory AXWebAreaText]):
1633 2008-05-13  Timothy Hatcher  <timothy@apple.com>
1635         Fixes a crash seen in Xcode where CallUIDelegateReturningBoolean
1636         was referencing a nil WebView under validateUserInterfaceItem.
1637         The validateUserInterfaceItem methods was being called at a time
1638         when the WebHTMLView is being torndown.
1640         <rdar://problem/5806229> A crash occurs at CallUIDelegateReturningBoolean()
1641         while mousing down on menu bar after Xcode News window is opened
1643         Reviewed by Ada Chan.
1645         * WebView/WebHTMLView.mm:
1646         (-[WebHTMLView validateUserInterfaceItem:]): NULL check the WebView and
1647         return NO when it is nil. Adds a comment.
1648         * WebView/WebPDFView.mm:
1649         (-[WebPDFView validateUserInterfaceItem:]): Ditto.
1651 2008-05-13  Mark Rowe  <mrowe@apple.com>
1653         Reviewed by John Sullivan.
1655         <rdar://problem/5926425> HIWebViewCreateWithClass declared as API in HIWebView.h but never exported from WebKit.framework
1657         * Carbon/HIWebView.h: Remove HIWebViewCreateWithClass.
1658         * Carbon/HIWebView.m: Ditto.
1659         (HIWebViewCreate):
1660         (HIWebViewConstructor):
1662 2008-05-12  Dan Bernstein  <mitz@apple.com>
1664         Reviewed by Ada Chan.
1666         - WebKit/mac changes for https://bugs.webkit.org/show_bug.cgi?id=17097
1667           <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
1669         Added font cache statistics and a function to purge inactive font data.
1671         * Misc/WebCoreStatistics.h:
1672         * Misc/WebCoreStatistics.mm:
1673         (+[WebCoreStatistics cachedFontDataCount]):
1674         (+[WebCoreStatistics cachedFontDataInactiveCount]):
1675         (+[WebCoreStatistics purgeInactiveFontData]):
1676         (+[WebCoreStatistics glyphPageCount]):
1678 2008-05-12  Mark Rowe  <mrowe@apple.com>
1680         Reviewed by Tim Hatcher.
1682         Decorate some deprecated delegate methods with the availability macros.
1684         The compiler doesn't appear to warn if a delegate implements these methods, but using the availability
1685         macros is good for consistency and documentation.
1687         * WebView/WebFrameLoadDelegate.h:
1688         * WebView/WebUIDelegate.h:
1690 2008-05-12  Mark Rowe  <mrowe@apple.com>
1692         Reviewed by Tim Hatcher.
1694         <rdar://problem/5835604> Deprecate HIWebView
1696         Use of HIWebView is deprecated in favor of embedding a WebView in a HICocoaView.
1698         * Carbon/CarbonUtils.h: Include the availability macro header and decorate the functions appropriately.
1699         * Carbon/HIWebView.h: Ditto.
1701 2008-05-12  Kevin Decker  <kdecker@apple.com>
1703         Reviewed by Anders.
1705         Fixed: <rdar://problem/5840884>_recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined
1706         
1707         Re-added these SPI methods because they are needed by some clients. They were accidentally removed
1708         in changeset <http://trac.webkit.org/changeset/31028>
1709         
1710         * Plugins/WebBaseNetscapePluginView.h: Added stopTimers, restartTimers to the header.
1711         * WebView/WebFrame.mm:
1712         (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): Re-addd.
1713         (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): Ditto.
1714         * WebView/WebFrameInternal.h: Ditto.
1715         * WebView/WebHTMLView.mm: Ditto.
1716         (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]): Ditto.
1717         (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]): Ditto.
1718         * WebView/WebHTMLViewInternal.h: Ditto.
1719         * WebView/WebHTMLViewPrivate.h: Ditto.
1721 2008-05-12  Anders Carlsson  <andersca@apple.com>
1723         Reviewed by Alexey.
1725         Empty the application cache when changing the cache model.
1726         
1727         * WebView/WebView.mm:
1728         (+[WebView _setCacheModel:]):
1730 2008-05-12  Anders Carlsson  <andersca@apple.com>
1732         Reviewed by Oliver.
1734         <rdar://problem/5774495> Make Unicode text input possible in Netscape-style plug-ins
1735         
1736         * Plugins/WebBaseNetscapePluginView.h:
1737         * Plugins/WebBaseNetscapePluginView.mm:
1738         (-[WebBaseNetscapePluginView start]):
1739         Get the plug-in text input vtable pointer.
1740         
1741         (-[WebBaseNetscapePluginView stop]):
1742         Set the plug-in text input vtable pointer to 0.
1743         
1744         (-[WebBaseNetscapePluginView inputContext]):
1745         Return 0 for Carbon plug-ins since we don't want Cocoa to handle text input for them.
1746         
1747         (-[WebBaseNetscapePluginView hasMarkedText]):        
1748         (-[WebBaseNetscapePluginView insertText:]):
1749         (-[WebBaseNetscapePluginView markedRange]):
1750         (-[WebBaseNetscapePluginView selectedRange]):
1751         (-[WebBaseNetscapePluginView setMarkedText:selectedRange:]):
1752         (-[WebBaseNetscapePluginView unmarkText]):
1753         (-[WebBaseNetscapePluginView validAttributesForMarkedText]):
1754         (-[WebBaseNetscapePluginView attributedSubstringFromRange:]):
1755         (-[WebBaseNetscapePluginView characterIndexForPoint:]):
1756         (-[WebBaseNetscapePluginView doCommandBySelector:]):
1757         (-[WebBaseNetscapePluginView firstRectForCharacterRange:]):
1758         (-[WebBaseNetscapePluginView conversationIdentifier]):
1759         Implement NSTextInput and call into the plug-in text input vtable.
1760         
1761         (browserTextInputFuncs):
1762         New method which returns the browser input vtable.
1763         
1764         (-[WebBaseNetscapePluginView getVariable:value:]):
1765         Support getting the browser input vtable pointer.
1766         
1767         * Plugins/WebNetscapePluginEventHandlerCocoa.h:
1768         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
1769         (WebNetscapePluginEventHandlerCocoa::keyDown):
1770         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
1771         If the plug-in returns 0 when a NPCocoaEventKeyDown is passed to NPP_HandleEvent,
1772         it means that the event should be passed on to the input manager.
1773          
1774         * Plugins/npapi.mm:
1775         (NPN_MarkedTextAbandoned):
1776         (NPN_MarkedTextSelectionChanged):
1777         Add implementations of browser input method methods.
1778         
1779         * Plugins/nptextinput.h: Added.
1780         Add file with new text input API.
1782 2008-05-12  Alexey Proskuryakov  <ap@webkit.org>
1784         Roll out recent  threading changes (r32807, r32810, r32819, r32822) to simplify
1785         SquirrelFish merging.
1787         * Misc/WebCoreStatistics.mm:
1788         (+[WebCoreStatistics javaScriptObjectsCount]):
1789         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
1790         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
1791         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
1792         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
1793         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
1794         * WebView/WebScriptDebugDelegate.mm:
1795         (-[WebScriptCallFrame evaluateWebScript:]):
1797 2008-05-07  Anders Carlsson  <andersca@apple.com>
1799         Reviewed by Mitz.
1801         REGRESSION (3.1.1-TOT): Arrow keys are sticky in Google Maps street view
1802         https://bugs.webkit.org/show_bug.cgi?id=18880
1803         <rdar://problem/5909513>
1805         Stop suspending key up events before calling handleEvent.
1806         
1807         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
1808         (WebNetscapePluginEventHandlerCarbon::sendEvent):
1810 2008-05-06  Stephanie Lewis  <slewis@apple.com>
1812         Reviewed by Andersca.
1814         prepare for plugin fast teardown work - make WebPluginDatabase a objective C++ file.
1816         * Plugins/WebPluginDatabase.m: Removed.
1817         * Plugins/WebPluginDatabase.mm: Copied from WebKit/mac/Plugins/WebPluginDatabase.m.
1818         * Plugins/npapi.m: Removed.
1819         * Plugins/npapi.mm: Copied from WebKit/mac/Plugins/npapi.m.
1821 2008-05-06  Anders Carlsson  <andersca@apple.com>
1823         Reviewed by Darin.
1825         Initialize numArchs to 0.
1826         
1827         * Plugins/WebBasePluginPackage.m:
1828         (-[WebBasePluginPackage isNativeLibraryData:]):
1830 2008-05-06  Anders Carlsson  <andersca@apple.com>
1832         Reviewed by Darin.
1834         Add implementation of NPN_PopUpContextMenu.
1835         
1836         * Plugins/WebBaseNetscapePluginView.mm:
1837         (-[WebBaseNetscapePluginView popUpContextMenu:]):
1838         * Plugins/WebBaseNetscapePluginViewPrivate.h:
1839         * Plugins/WebNetscapePluginPackage.m:
1840         (-[WebNetscapePluginPackage load]):
1841         * Plugins/npapi.m:
1842         (NPN_PopUpContextMenu):
1844 2008-05-06  Anders Carlsson  <andersca@apple.com>
1846         Fix typo (don't read random memory).
1847         
1848         * Plugins/WebBasePluginPackage.m:
1849         (-[WebBasePluginPackage isNativeLibraryData:]):
1851 2008-05-05  Anders Carlsson  <andersca@apple.com>
1853         Reviewed by Darin.
1855         Change the isNativeLibraryData: method to handle universal binaries.
1856         
1857         * Plugins/WebBasePluginPackage.m:
1858         (swapIntsInHeader):
1859         (-[WebBasePluginPackage isNativeLibraryData:]):
1861 2008-05-06  Brady Eidson  <beidson@apple.com>
1863         Reviewed by Darin Adler
1865         Preparation for upcoming work making LocalStorage persistent.
1867         When the application terminates, all LocalStorage areas must be sync'ed out to disk first.
1869         * WebView/WebView.mm:
1870         (+[WebView _applicationWillTerminate]):  Close all LocalStorage areas before quitting.
1872 2008-05-05  Sam Weinig  <sam@webkit.org>
1874         Reviewed by Darin Adler.
1876         Fix for <rdar://problem/5884383>
1877         Escape look-a-like characters from the the entire url.
1879         * Misc/WebNSURLExtras.mm:
1880         (escapeUnsafeCharacters):
1881         (-[NSURL _web_userVisibleString]):
1883 2008-05-05  Justin Garcia  <justin.garcia@apple.com>
1885         Reviewed by Darin.
1886         
1887         <rdar://problem/5865171> REGRESSION: Creating a new quote places caret at beginning of quote instead of the end
1889         * WebView/WebView.mm:
1890         (-[WebView _updateSettingsFromPreferences:]): Disable Range mutation on changes to
1891         the document for Tiger and Leopard Mail.  There is code in Mail that does it, and
1892         the two interfere.
1894 2008-05-05  Sam Weinig  <sam@webkit.org>
1896         Reviewed by Tim Hatcher.
1898         Make the Inspector's localizable strings file match the format used by Dashboard widgets.
1900         * WebCoreSupport/WebInspectorClient.mm:
1901         (WebInspectorClient::localizedStringsURL):
1903 2008-05-05  Anders Carlsson  <andersca@apple.com>
1905         Reviewed by Jess.
1907         Apparently preflighting can cause hangs for some reason. Revert this for now.
1908         
1909         * Plugins/WebNetscapePluginPackage.m:
1910         (-[WebNetscapePluginPackage _initWithPath:]):
1911         * Plugins/WebPluginPackage.m:
1912         (-[WebPluginPackage initWithPath:]):
1914 2008-05-05  Darin Adler  <darin@apple.com>
1916         Reviewed by Mitz.
1918         - https://bugs.webkit.org/show_bug.cgi?id=18789
1919           fix some shouldCloseWithWindow edge cases
1921         * WebView/WebView.mm:
1922         (-[WebView viewWillMoveToWindow:]): Fix bug where we would stop observing the
1923         NSWindowWillCloseNotification if the view was moved out of the window but still
1924         had that window set as the host window. Also make sure this function doesn't do
1925         anything if the WebView is already closed.
1926         (-[WebView setHostWindow:]): Ditto.
1928 2008-05-04  David Kilzer  <ddkilzer@apple.com>
1930         Make parameters match for WebChromeClient::addMessageToConsole()
1932         Reviewed by John.
1934         * WebCoreSupport/WebChromeClient.h:
1935         (WebChromeClient::addMessageToConsole): Renamed sourceID parameter
1936         to sourceURL to match implementation in WebChromeClient.mm.
1938 2008-05-02  Anders Carlsson  <andersca@apple.com>
1940         Reviewed by Mark.
1942         Various Cocoa event model and 64-bit plug-in fixes.
1943         
1944         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
1945         (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
1946         Set click count.
1947         
1948         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
1949         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
1950         Don't try to get the mouse location for keyboard events.
1951         
1952         * Plugins/WebPluginPackage.m:
1953         (-[WebPluginPackage initWithPath:]):
1954         Preflight the bundle so we won't show 32-bit WebKit plug-ins when running as 64-bit.
1956 2008-05-02  Anders Carlsson  <andersca@apple.com>
1958         Reviewed by Sam.
1960         The event union is now named.
1961         
1962         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
1963         (WebNetscapePluginEventHandlerCocoa::drawRect):
1964         (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
1965         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
1966         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
1967         (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
1968         (WebNetscapePluginEventHandlerCocoa::focusChanged):
1970 2008-05-02  Anders Carlsson  <andersca@apple.com>
1972         Reviewed by Mark.
1974         Make sure that 32-bit only plug-ins aren't shown when running as 64-bit.
1975         
1976         Call preflightAndReturnError on the bundle, which will check if any of the architectures
1977         in the bundle match the current architecture.
1978         
1979         * Plugins/WebNetscapePluginPackage.m:
1980         (-[WebNetscapePluginPackage _initWithPath:]):
1982 2008-05-02  Alexey Proskuryakov  <ap@webkit.org>
1984         Reviewed by Geoffrey Garen.
1986         https://bugs.webkit.org/show_bug.cgi?id=18826
1987         Make JavaScript heap per-thread
1989         * Misc/WebCoreStatistics.mm:
1990         (+[WebCoreStatistics javaScriptObjectsCount]):
1991         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
1992         (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
1993         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
1994         (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
1995         (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
1996         Replaced static Collector calls with calls to a current thread's instance.
1998         * WebView/WebScriptDebugDelegate.mm:
1999         (-[WebScriptCallFrame evaluateWebScript:]):
2000         Pass ExecState to jsString().
2002 2008-05-01  Anders Carlsson  <andersca@apple.com>
2004         Reviewed by Mark.
2006         64-bit NPAPI plugin build fixes.
2007         
2008         * Plugins/WebBaseNetscapePluginView.mm:
2009         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2010         (-[WebBaseNetscapePluginView updateAndSetWindow]):
2011         (-[WebBaseNetscapePluginView start]):
2012         (-[WebBaseNetscapePluginView windowBecameKey:]):
2013         * Plugins/WebNetscapeDeprecatedFunctions.c:
2014         * Plugins/WebNetscapeDeprecatedFunctions.h:
2015         * Plugins/WebNetscapePluginEventHandler.mm:
2016         (WebNetscapePluginEventHandler::create):
2017         * Plugins/WebNetscapePluginEventHandlerCarbon.h:
2018         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
2019         * Plugins/WebPluginDatabase.m:
2020         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
2022 2008-05-01  Anders Carlsson  <andersca@apple.com>
2024         Reviewed by Tim.
2026         Remove duplicate npfunctions.h header from WebKit.
2028         * MigrateHeaders.make:
2029         Migrate npfunctions.h
2030         
2031         * Plugins/npfunctions.h: Removed.
2033 2008-05-01  Anders Carlsson  <andersca@apple.com>
2035         Reviewed by John.
2036         
2037         Add null checks for the event handler.
2038         
2039         * Plugins/WebBaseNetscapePluginView.mm:
2040         (-[WebBaseNetscapePluginView stopTimers]):
2041         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2043 2008-05-01  Anders Carlsson  <andersca@apple.com>
2045         Fix 64-bit build.
2046         
2047         * Plugins/WebNetscapePluginEventHandlerCocoa.h:
2048         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
2049         * WebCoreSupport/WebFrameLoaderClient.mm:
2051 2008-05-01  Anders Carlsson  <andersca@apple.com>
2053         Fix build.
2054         
2055         * Plugins/npfunctions.h:
2057 2008-05-01  Anders Carlsson  <andersca@apple.com>
2059         Reviewed by Adam.
2061         Forward mouse move events to the Netscape plug-in view.
2062         
2063         * Plugins/WebBaseNetscapePluginView.h:
2064         * Plugins/WebBaseNetscapePluginView.mm:
2065         (-[WebBaseNetscapePluginView handleMouseMoved:]):
2066         New method that just calls the current event handler.
2067         
2068         * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
2069         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
2070         NSFlagsChanged is not a regular keyboard event and some of the NSEvent accessors
2071         don't work on it so don't call them.
2072         
2073         * WebCoreSupport/WebFrameLoaderClient.mm:
2074         (NetscapePluginWidget::NetscapePluginWidget):
2075         New Widget subclass to be used for Netscape plug-ins.
2076         
2077         (NetscapePluginWidget::handleEvent):
2078         Forward NSMouseMoved events to the plug-in.
2079         
2080         (WebFrameLoaderClient::createPlugin):
2081         Wrap the plug-in view in a NetscapePluginWidget.
2083 2008-05-01  Alp Toker  <alp@nuanti.com>
2085         Rubber-stamped by Anders.
2087         GTK+ build fix for changes in r32752. Use int32, not int32_t types in
2088         npapi.h.
2090         Additional fix to use same signedness in npapi.h and Mac for the
2091         interval parameter.
2093         * Plugins/WebBaseNetscapePluginView.h:
2094         * Plugins/WebBaseNetscapePluginView.mm:
2095         (PluginTimer::PluginTimer):
2096         (-[WebBaseNetscapePluginView stopTimers]):
2097         (-[WebBaseNetscapePluginView restartTimers]):
2098         (-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
2099         (-[WebBaseNetscapePluginView unscheduleTimer:]):
2100         * Plugins/WebBaseNetscapePluginViewPrivate.h:
2101         * Plugins/npapi.m:
2102         (NPN_ScheduleTimer):
2103         (NPN_UnscheduleTimer):
2104         * Plugins/npfunctions.h:
2106 2008-04-30  Anders Carlsson  <andersca@apple.com>
2108         Reviewed by Adam.
2110         Add new Cocoa event model and the NPN_ScheduleTimer/NPN_UnscheduleTimer methods.
2111         
2112         * Plugins/WebBaseNetscapePluginView.h:
2113         * Plugins/WebBaseNetscapePluginView.mm:
2114         (PluginTimer::PluginTimer):
2115         (PluginTimer::start):
2116         (PluginTimer::fired):
2117         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
2118         (-[WebBaseNetscapePluginView stopTimers]):
2119         (-[WebBaseNetscapePluginView restartTimers]):
2120         (-[WebBaseNetscapePluginView scrollWheel:]):
2121         (-[WebBaseNetscapePluginView flagsChanged:]):
2122         (-[WebBaseNetscapePluginView start]):
2123         (-[WebBaseNetscapePluginView eventModel]):
2124         (-[WebBaseNetscapePluginView fini]):
2125         (-[WebBaseNetscapePluginView getVariable:value:]):
2126         (-[WebBaseNetscapePluginView setVariable:value:]):
2127         (-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
2128         (-[WebBaseNetscapePluginView unscheduleTimer:]):
2129         * Plugins/WebBaseNetscapePluginViewInternal.h:
2130         * Plugins/WebBaseNetscapePluginViewPrivate.h:
2131         * Plugins/WebNetscapePluginEventHandler.h:
2132         * Plugins/WebNetscapePluginEventHandler.mm:
2133         (WebNetscapePluginEventHandler::create):
2134         * Plugins/WebNetscapePluginEventHandlerCarbon.h:
2135         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
2136         (WebNetscapePluginEventHandlerCarbon::scrollWheel):
2137         (WebNetscapePluginEventHandlerCarbon::flagsChanged):
2138         (WebNetscapePluginEventHandlerCarbon::platformWindow):
2139         * Plugins/WebNetscapePluginEventHandlerCocoa.h: Added.
2140         (WebNetscapePluginEventHandlerCocoa::startTimers):
2141         (WebNetscapePluginEventHandlerCocoa::stopTimers):
2142         * Plugins/WebNetscapePluginEventHandlerCocoa.mm: Added.
2143         (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
2144         (WebNetscapePluginEventHandlerCocoa::drawRect):
2145         (WebNetscapePluginEventHandlerCocoa::mouseDown):
2146         (WebNetscapePluginEventHandlerCocoa::mouseDragged):
2147         (WebNetscapePluginEventHandlerCocoa::mouseEntered):
2148         (WebNetscapePluginEventHandlerCocoa::mouseExited):
2149         (WebNetscapePluginEventHandlerCocoa::mouseMoved):
2150         (WebNetscapePluginEventHandlerCocoa::mouseUp):
2151         (WebNetscapePluginEventHandlerCocoa::scrollWheel):
2152         (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
2153         (WebNetscapePluginEventHandlerCocoa::keyDown):
2154         (WebNetscapePluginEventHandlerCocoa::keyUp):
2155         (WebNetscapePluginEventHandlerCocoa::flagsChanged):
2156         (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
2157         (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
2158         (WebNetscapePluginEventHandlerCocoa::focusChanged):
2159         (WebNetscapePluginEventHandlerCocoa::platformWindow):
2160         (WebNetscapePluginEventHandlerCocoa::sendEvent):
2161         * Plugins/WebNetscapePluginPackage.m:
2162         (-[WebNetscapePluginPackage load]):
2163         * Plugins/npapi.m:
2164         (NPN_ScheduleTimer):
2165         (NPN_UnscheduleTimer):
2166         * Plugins/npfunctions.h:
2168 2008-04-30  Brady Eidson  <beidson@apple.com>
2170         Fix my WebPreferences revert check-in
2172         * WebView/WebView.mm:
2173         (-[WebView _preferencesChangedNotification:]):
2175 2008-04-30  Brady Eidson  <beidson@apple.com>
2177         Rubberstamped by John Sullivan
2179         Revert the remainder of my original preferences changes from last week.
2180         They caused a massive PLT regression (too many notifications being sent out
2181         or listened to that weren't previously) and it's not in my schedule to refine
2182         the preferences code instead of working on my feature!
2184         * WebView/WebView.mm:
2185         (-[WebView _updateSettingsFromPreferences:]):
2186         (-[WebView _commonInitializationWithFrameName:groupName:]):
2188 2008-04-30  Anders Carlsson  <andersca@apple.com>
2190         Fix the 64-bit build.
2191         
2192         * Plugins/WebNetscapePluginEventHandler.h:
2193         * Plugins/WebNetscapePluginEventHandler.mm:
2194         * Plugins/WebNetscapePluginEventHandlerCarbon.h:
2195         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
2197 2008-04-29  David D. Kilzer  <ddkilzer@apple.com>
2199         BUILD FIX for Release build.
2201         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
2202         (WebNetscapePluginEventHandlerCarbon::drawRect): Declare acceptedEvent
2203         separately so the compiler doesn't complain about an unused variable.
2204         (WebNetscapePluginEventHandlerCarbon::TSMEventHandler): Ditto.
2206 2008-04-29  Anders Carlsson  <andersca@apple.com>
2208         Reviewed by Adam.
2210         Refactor the Carbon event handling code out into a separate class in preparation for adding
2211         the Cocoa event handling code.
2212         
2213         * Plugins/WebBaseNetscapePluginView.h:
2214         * Plugins/WebBaseNetscapePluginView.mm:
2215         (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
2216         (-[WebBaseNetscapePluginView sendActivateEvent:]):
2217         (-[WebBaseNetscapePluginView sendDrawRectEvent:]):
2218         (-[WebBaseNetscapePluginView stopTimers]):
2219         (-[WebBaseNetscapePluginView restartTimers]):
2220         (-[WebBaseNetscapePluginView setHasFocus:]):
2221         (-[WebBaseNetscapePluginView mouseDown:]):
2222         (-[WebBaseNetscapePluginView mouseUp:]):
2223         (-[WebBaseNetscapePluginView mouseEntered:]):
2224         (-[WebBaseNetscapePluginView mouseExited:]):
2225         (-[WebBaseNetscapePluginView mouseDragged:]):
2226         (-[WebBaseNetscapePluginView keyUp:]):
2227         (-[WebBaseNetscapePluginView keyDown:]):
2228         (-[WebBaseNetscapePluginView cut:]):
2229         (-[WebBaseNetscapePluginView copy:]):
2230         (-[WebBaseNetscapePluginView paste:]):
2231         (-[WebBaseNetscapePluginView selectAll:]):
2232         (-[WebBaseNetscapePluginView start]):
2233         (-[WebBaseNetscapePluginView stop]):
2234         (-[WebBaseNetscapePluginView fini]):
2235         (-[WebBaseNetscapePluginView drawRect:]):
2236         (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
2237         (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
2238         (-[WebBaseNetscapePluginView windowBecameKey:]):
2239         (-[WebBaseNetscapePluginView windowResignedKey:]):
2240         (-[WebBaseNetscapePluginView windowDidMiniaturize:]):
2241         (-[WebBaseNetscapePluginView windowDidDeminiaturize:]):
2242         (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]):
2243         (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]):
2244         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2245         (-[WebBaseNetscapePluginView _viewHasMoved]):
2246         * Plugins/WebBaseNetscapePluginViewInternal.h:
2247         * Plugins/WebNetscapePluginEmbeddedView.h:
2248         * Plugins/WebNetscapePluginEventHandler.h: Added.
2249         (WebNetscapePluginEventHandler::~WebNetscapePluginEventHandler):
2250         (WebNetscapePluginEventHandler::currentEventIsUserGesture):
2251         (WebNetscapePluginEventHandler::WebNetscapePluginEventHandler):
2252         * Plugins/WebNetscapePluginEventHandler.mm: Added.
2253         (WebNetscapePluginEventHandler::create):
2254         * Plugins/WebNetscapePluginEventHandlerCarbon.h: Added.
2255         * Plugins/WebNetscapePluginEventHandlerCarbon.mm: Added.
2256         (WebNetscapePluginEventHandlerCarbon::WebNetscapePluginEventHandlerCarbon):
2257         (getCarbonEvent):
2258         (modifiersForEvent):
2259         (WebNetscapePluginEventHandlerCarbon::sendNullEvent):
2260         (WebNetscapePluginEventHandlerCarbon::drawRect):
2261         (WebNetscapePluginEventHandlerCarbon::mouseDown):
2262         (WebNetscapePluginEventHandlerCarbon::mouseUp):
2263         (WebNetscapePluginEventHandlerCarbon::mouseEntered):
2264         (WebNetscapePluginEventHandlerCarbon::mouseExited):
2265         (WebNetscapePluginEventHandlerCarbon::mouseDragged):
2266         (WebNetscapePluginEventHandlerCarbon::mouseMoved):
2267         (WebNetscapePluginEventHandlerCarbon::keyDown):
2268         (keyMessageForEvent):
2269         (WebNetscapePluginEventHandlerCarbon::keyUp):
2270         (WebNetscapePluginEventHandlerCarbon::focusChanged):
2271         (WebNetscapePluginEventHandlerCarbon::windowFocusChanged):
2272         (WebNetscapePluginEventHandlerCarbon::TSMEventHandler):
2273         (WebNetscapePluginEventHandlerCarbon::installKeyEventHandler):
2274         (WebNetscapePluginEventHandlerCarbon::removeKeyEventHandler):
2275         (WebNetscapePluginEventHandlerCarbon::nullEventTimerFired):
2276         (WebNetscapePluginEventHandlerCarbon::startTimers):
2277         (WebNetscapePluginEventHandlerCarbon::stopTimers):
2278         (WebNetscapePluginEventHandlerCarbon::sendEvent):
2280 2008-04-29  Mark Rowe  <mrowe@apple.com>
2282         Reviewed by David Harrison.
2284         Ensure that WebDynamicScrollBarsView defines WebCoreScrollbarAlwaysOn to keep Mail building.
2286         * WebKit.exp:
2287         * WebView/WebDynamicScrollBarsView.h:
2288         * WebView/WebDynamicScrollBarsView.m:
2290 2008-04-29  Greg Bolsinga  <bolsinga@apple.com>
2292         Reviewed by Darin.
2294         Wrapped Dashboard code with ENABLE(DASHBOARD_SUPPORT)
2296         * WebCoreSupport/WebChromeClient.h:
2297         * WebCoreSupport/WebChromeClient.mm:
2298         * WebView/WebClipView.m:
2299         (-[WebClipView scrollWheel:]):
2300         * WebView/WebHTMLView.mm:
2301         (-[WebHTMLView addMouseMovedObserver]):
2302         (-[WebHTMLView removeMouseMovedObserver]):
2303         (-[WebHTMLView acceptsFirstMouse:]):
2304         * WebView/WebUIDelegatePrivate.h:
2305         * WebView/WebView.mm:
2306         (-[WebViewPrivate init]):
2307         * WebView/WebViewPrivate.h:
2309 2008-04-28  Rob Buis  <buis@kde.org>
2311         Reviewed by Maciej.
2313         Build fix for Tiger.
2315         * WebView/WebView.mm:
2316         (WebKitInitializeApplicationCachePathIfNecessary):
2318 2008-04-28  Adele Peterson  <adele@apple.com>
2320         Reviewed by Dan Bernstein, Tim Hatcher, Anders Carlsson, and Darin Adler.
2322         WebKit part of fix for <rdar://problem/3709505>
2323         Safari should have a way to upload bundles from the file upload control (as zip)
2325         Added UIDelegate methods to let the application handle generating replacement files for uploads.
2326         In this case, Safari will create archived files for bundles so they can be uploaded properly.
2328         * DefaultDelegates/WebDefaultUIDelegate.m:
2329         (-[WebDefaultUIDelegate webView:shouldReplaceUploadFile:usingGeneratedFilename:]):
2330         (-[WebDefaultUIDelegate webView:generateReplacementFile:]):
2331         * WebCoreSupport/WebChromeClient.h:
2332         * WebCoreSupport/WebChromeClient.mm:
2333         (WebChromeClient::shouldReplaceWithGeneratedFileForUpload):
2334         (WebChromeClient::generateReplacementFile):
2335         * WebView/WebUIDelegatePrivate.h:
2337 2008-04-28  Anders Carlsson  <andersca@apple.com>
2339         Reviewed by Sam, Mark, Adele and Darin.
2341         Initialize the application cache path.
2342         
2343         * WebView/WebView.mm:
2344         (WebKitInitializeApplicationCachePathIfNecessary):
2345         (-[WebView _commonInitializationWithFrameName:groupName:]):
2347 2008-04-28  Alice Liu  <alice.liu@apple.com>
2349         Reviewed by Darin.
2351         Fix <rdar://problem/4911289> Add tabindex property to all children 
2352         of HTMLElement (7138)
2353         http://bugs.webkit.org/show_bug.cgi?id=7138
2355         * MigrateHeaders.make:
2356         Removing DOMHTMLLabelElementPrivate.h and DOMHTMLLegendElementPrivate.h
2357         because now that focus() has been moved to DOMHTMLElement.h, these
2358         files are no longer needed.
2360 2008-04-25  Alexey Proskuryakov  <ap@webkit.org>
2362         Reviewed by Darin.
2364         Fix run-webkit-tests --threading
2365         and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
2366         Proxy server issue in Sunday's Nightly
2368         * WebView/WebView.mm: (-[WebViewPrivate init]): Initialize threading. Previously, this was
2369         only done from icon database code, which is not robust enough.
2371 2008-04-20 Adam Barth <hk9565@gmail.com>
2373         Reviewed by Adam Roben and Sam Weinig.
2375         Updated WebSecurityOrigin to match new SecurityOrigin API.
2377         Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.
2379         * Storage/WebSecurityOrigin.mm:
2380         (-[WebSecurityOrigin host]):
2381         (-[WebSecurityOrigin domain]):
2382         * Storage/WebSecurityOriginPrivate.h:
2384 2008-04-25  Mark Rowe  <mrowe@apple.com>
2386         Rubber-stamped by Sam Weinig.
2388         Add some content to an empty ICU header file to prevent verification errors.
2390         * icu/unicode/utf_old.h:
2392 2008-04-25  Anders Carlsson  <andersca@apple.com>
2394         Reviewed by Sam.
2396         Add offlineWebApplicationCacheEnabled preference.
2397         
2398         * WebView/WebPreferenceKeysPrivate.h:
2399         * WebView/WebPreferences.m:
2400         (+[WebPreferences initialize]):
2401         (-[WebPreferences offlineWebApplicationCacheEnabled]):
2402         (-[WebPreferences setOfflineWebApplicationCacheEnabled:]):
2403         * WebView/WebPreferencesPrivate.h:
2404         * WebView/WebView.mm:
2405         (-[WebView _updateSettingsFromPreferences:]):
2407 2008-04-24  Mark Rowe  <mrowe@apple.com>
2409         Reviewed by Sam Weinig.
2411         Remove code for calculating the glyph cache size.
2413         * WebCoreSupport/WebSystemInterface.m:
2414         (InitWebCoreSystemInterface): Remove unused symbol.
2416 2008-04-24  Mark Rowe  <mrowe@apple.com>
2418         Reviewed by Sam Weinig.
2420         Add a definition of BUILDING_ON_LEOPARD to complement BUILDING_ON_TIGER.
2422         * WebKitPrefix.h:
2424 2008-04-24  Brady Eidson  <beidson@apple.com>
2426         Reviewed by Darin
2428         Fix layout test regressions from my earlier preferences/settings tweak.
2430         * WebView/WebView.mm:
2431         (-[WebView _commonInitializationWithFrameName:groupName:]): Even if we're not posting
2432           the notification to update the settings, each WebView still needs to register for the
2433           notification - restore that behavior.
2435 2008-04-24  Dan Bernstein  <mitz@apple.com>
2437         Reviewed by Darin Adler.
2439         - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729
2440           <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
2442         * WebView/WebFrame.mm:
2443         (-[WebFrame _caretRectAtNode:offset:affinity:]): Changed to use
2444         VisiblePosition::caretRect() instead of the RenderObject method which
2445         was removed.
2447 2008-04-24  Brady Eidson  <beidson@apple.com>
2449         Reviewed by Darin
2451         Rework the Settings population again.
2453         * WebView/WebView.mm:
2454         (-[WebView _updateSettingsFromPreferences:]): This method is called both from _preferencesChangedNotification
2455           and directly from WebView's common init function.
2456         (-[WebView _preferencesChangedNotification:]):
2457         (-[WebView _commonInitializationWithFrameName:groupName:]): Call _updateSettingsFromPreferences immediately
2458           after creating the new Page
2460 2008-04-24  Darin Adler  <darin@apple.com>
2462         Reviewed by Geoff.
2464         - fix crash in regression test where we'd ask a frame for a user agent string
2465           after the WebView was already closed
2467         * WebCoreSupport/WebFrameLoaderClient.mm:
2468         (WebFrameLoaderClient::userAgent): Assert that the WebView is not nil. Also
2469         added some code to prevent the crash in release builds if this problem happens
2470         again.
2472 2008-04-24  Anders Carlsson  <andersca@apple.com>
2474         Reviewed by Sam.
2476         Change some String arguments to be const references instead.
2478         * WebCoreSupport/WebEditorClient.h:
2479         * WebCoreSupport/WebEditorClient.mm:
2480         (WebEditorClient::shouldInsertText):
2482 2008-04-24  John Sullivan  <sullivan@apple.com>
2484         Mac build fix
2485         
2486         * WebCoreSupport/WebViewFactory.mm:
2487         (-[WebViewFactory AXButtonActionVerb]):
2488         implement this method using the text in WebCoreLocalizedStrings.cpp
2489         (-[WebViewFactory AXRadioButtonActionVerb]):
2490         ditto
2491         (-[WebViewFactory AXTextFieldActionVerb]):
2492         ditto
2493         (-[WebViewFactory AXCheckedCheckBoxActionVerb]):
2494         ditto
2495         (-[WebViewFactory AXUncheckedCheckBoxActionVerb]):
2496         ditto
2497         (-[WebViewFactory AXLinkActionVerb]):
2498         ditto
2500 2008-04-23  Brady Eidson  <beidson@apple.com>
2502         Reviewed by Sam Weinig
2504         In some current work I noticed that when a new Page is created, it is possible that it requires info from its Settings
2505         object before the Settings object is initialized.  It seems quite prudent to post the preferences changed notification,
2506         thereby populating the Settings object, immediately after the Page is created.
2508         * WebView/WebView.mm:
2509         (-[WebView _commonInitializationWithFrameName:groupName:]): Post the notification right after the Page is created
2511 2008-04-24  John Sullivan  <sullivan@apple.com>
2513         Reviewed by Jess
2514         
2515         - fixed <rdar://problem/5886655> JavaScript input panel automatic resizing doesn't work right with HiDPI
2517         * Misc/WebNSControlExtras.m:
2518         (-[NSControl sizeToFitAndAdjustWindowHeight]):
2519         deploy userSpaceScaleFactor when using view distances on the window
2521 2008-04-22  Anders Carlsson  <andersca@apple.com>
2523         Reviewed by Darin.
2525         Add NPN_Construct and NPN_PluginThreadAsyncCall declarations.
2526         
2527         * Plugins/npfunctions.h:
2529 2008-04-20  Matt Lilek  <webkit@mattlilek.com>
2531         Mysteriously reviewed by mitz|away.
2533         Bug 18111: Closing a tab while dragging crashes Safari
2534         https://bugs.webkit.org/show_bug.cgi?id=18111
2536         Null check the page before handling drag events.
2538         * WebView/WebView.mm:
2539         (-[WebView draggingUpdated:]):
2540         (-[WebView draggingExited:]):
2542 2008-04-19  Brady Eidson  <beidson@apple.com>
2544         Reviewed by Tim Hatcher
2546         Add a WebPreference for the path of the local storage persistent store.
2548         * WebView/WebPreferenceKeysPrivate.h:
2550         * WebView/WebPreferences.m:
2551         (-[WebPreferences _localStorageDatabasePath]):
2552         (-[WebPreferences _setLocalStorageDatabasePath:]):
2553         * WebView/WebPreferencesPrivate.h:
2555         * WebView/WebView.mm:
2556         (-[WebView _preferencesChangedNotification:]):
2558 2008-04-18  Brady Eidson  <beidson@apple.com>
2560         Reviewed by Sam Weinig
2562         Don't clear the PageGroup on _close, as the WebCore::Page destructor already does this.
2563         No reason to do the work twice...
2565         * WebView/WebView.mm:
2566         (-[WebView _close]):
2568 2008-04-17  Eric Seidel  <eric@webkit.org>
2570         Reviewed by beth.
2572         Rename Frame::renderer() to contentRenderer() and fix uses.
2574         * Misc/WebCoreStatistics.mm:
2575         * WebView/WebRenderNode.mm:
2576         (-[WebRenderNode initWithWebFrameView:]):
2578 2008-04-17  Jon Honeycutt  <jhoneycutt@apple.com>
2580         Reviewed by mrowe.
2582         * WebView/WebFrame.mm: Remove temporary build fix.
2584 2008-04-17  Mark Rowe  <mrowe@apple.com>
2586         Reviewed by Dan Bernstein.
2588         Fix <rdar://problem/5863552> REGRESSION (r30741): Attachments don't appear in the iChat message window after sending
2590         The order of arguments to -[NSDictionary initWithObjects:andKeys:] had been transposed accidentally during refactoring.
2592         * WebCoreSupport/WebFrameLoaderClient.mm:
2593         (WebFrameLoaderClient::createPlugin): Pass the arguments in the correct order.
2595 2008-04-17  Mark Rowe  <mrowe@apple.com>
2597         Rubber-stamped by Dan Bernstein.
2599         Fix the Mac build.
2601         * WebView/WebFrame.mm: Define HAVE_ACCESSIBILITY before including AccessibilityObject.h and AXObjectCache.h to get things building
2602         for now.  This comes from config.h in WebCore but we don't have an equivalent in WebKit so we'll need to work out the correct place
2603         for this to live going forward.
2605 2008-04-15  Kevin Decker  <kdecker@apple.com>
2607         Reviewed by Anders.
2609         <rdar://problem/5412759> CrashTracer: [USER] 22 crashes in Safari at com.apple.quicktime.webplugin: NPN_SetValue + 15403
2610         
2611         In certain situations, code in WebBasePluginPackage would load a plug-in only for the explicit reason of asking it to create a
2612         preference file, but wouldn't actually unload the bundle. This created problems for the QuickTime WebKit plug-in by unloading
2613         a bundle out from underneath itself.
2615         * Plugins/WebBasePluginPackage.h: Added unload method.
2616         * Plugins/WebBasePluginPackage.m:
2617         (-[WebBasePluginPackage unload]): Added new method. Currently, only Netscape plug-ins support unload.
2618         (-[WebBasePluginPackage pListForPath:createFile:]): Added a call to unload.
2619         * Plugins/WebNetscapePluginPackage.m:
2620         (-[WebNetscapePluginPackage unload]): Added.
2622 2008-04-15  Anders Carlsson  <andersca@apple.com>
2624         Reviewed by Adam.
2626         Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
2628         * Configurations/WebKit.xcconfig:
2630 2008-04-15  Brady Eidson  <beidson@apple.com>
2632         Reviewed by John Sullivan
2634         Do a more complete job adding the "WebArchiveDebugMode" pref
2636         * WebView/WebPreferences.m: Add both getter *and* setter
2637         (-[WebPreferences webArchiveDebugModeEnabled]):
2638         (-[WebPreferences setWebArchiveDebugModeEnabled:]):
2639         * WebView/WebPreferencesPrivate.h:
2641         * WebView/WebView.mm:
2642         (-[WebView _preferencesChangedNotification:]): Call the renamed getter
2644 2008-04-14  Brady Eidson  <beidson@apple.com>
2646         Reviewed by Anders
2648         Add a hidden pref to debug WebArchive loading.  With this pref on, when loading a WebArchive,
2649         if the resource isn't in the ArchiveResourceCollection, the loader will not fall back to the 
2650         network and will instead fail the load as "cancelled."
2652         * WebView/WebPreferenceKeysPrivate.h:
2654         * WebView/WebPreferences.m:
2655         (+[WebPreferences initialize]):
2656         (-[WebPreferences _webArchiveDebugModeEnabled]):
2657         * WebView/WebPreferencesPrivate.h:
2659         * WebView/WebView.mm:
2660         (-[WebView _preferencesChangedNotification:]):
2662 2008-04-11  David Hyatt  <hyatt@apple.com>
2664         Rename CachedResource ref/deref methods to addClient/removeClient.
2666         Reviewed by olliej
2668         * WebView/WebHTMLView.mm:
2669         (-[WebHTMLViewPrivate dealloc]):
2670         (-[WebHTMLViewPrivate finalize]):
2671         (-[WebHTMLViewPrivate clear]):
2672         (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
2674 2008-04-07  Brady Eidson  <beidson@apple.com>
2676         Add "ENABLE_DOM_STORAGE" to keep in sync with the rest of the project
2678         * Configurations/WebKit.xcconfig:
2680 2008-04-04  Adam Roben  <aroben@apple.com>
2682         Use WebCore's ICU headers instead of our own copy
2684         Rubberstamped by Tim Hatcher.
2686         * Configurations/WebKit.xcconfig: Pick up ICU headers from WebCore's
2687         PrivateHeaders.
2689 2008-04-04  Adam Roben  <aroben@apple.com>
2691         Fix <rdar://problem/5804776> Would like to use WebCore's
2692         ForwardingHeaders in WebKit without manually creating copies
2694         Patch by Tim Hatcher, typed by me.
2696         * Configurations/WebKit.xcconfig: Use the copy of ForwardingHeaders in
2697         WebCore's PrivateHeaders instead of our own copy.
2699 2008-04-04  Ada Chan  <adachan@apple.com>
2701         Now we pass width and height directly as integers to format
2702         the window title for a standalone image.
2704         Reviewed by Dan.
2706         * WebCoreSupport/WebViewFactory.mm:
2707         (-[WebViewFactory imageTitleForFilename:width:height:]):
2709 2008-04-03  Nicholas Shanks  <webkit@nickshanks.com>
2711         Updated by Dan Bernstein. Reviewed by Dave Hyatt.
2713         - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=6484
2714           font-weight does not properly support graded weights
2716         * WebView/WebHTMLView.mm:
2717         (-[WebHTMLView _styleFromFontAttributes:]):
2718         (-[WebHTMLView _originalFontB]):
2719         (-[WebHTMLView _addToStyle:fontA:fontB:]):
2721 2008-04-02  Mark Rowe  <mrowe@apple.com>
2723         Reviewed by Oliver Hunt.
2725         Ensure that debug symbols are generated for x86_64 and ppc64 builds.
2727         * Configurations/Base.xcconfig:
2729 2008-03-31  Alice Liu  <alice.liu@apple.com>
2731         Reviewed by Darin.
2733         * WebView/WebFrame.mm:
2734         (-[WebFrame _accessibilityTree]):
2735         The syntax for fetching an object from the AXObjectCache changed slightly
2737 2008-03-31  Brady Eidson  <beidson@apple.com>
2739         Reviewed by Jon Honeycutt
2740         
2741         Move a WebArchive loading check into WebCore
2743         * WebView/WebHTMLRepresentation.mm:
2744         (-[WebHTMLRepresentation receivedData:withDataSource:]): Don't check "isDisplayingWebArchive" as WebCore is now
2745           responsible for checking that state
2747 2008-03-31  Brady Eidson  <beidson@apple.com>
2749         Reviewed by Darin and Mitz's rubber stamp
2751         Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore
2753         * WebCoreSupport/WebEditorClient.mm:
2754         * WebCoreSupport/WebEditorClient.h:
2756 2008-03-28  Brady Eidson  <beidson@apple.com>
2758         Rubberstamped by Darin Adler
2760         Remove WebArchiver.h/mm
2762         * WebView/WebArchiver.h: Removed.
2763         * WebView/WebArchiver.mm: Removed.
2765         * DOM/WebDOMOperations.mm:
2766         * WebCoreSupport/WebDragClient.mm:
2767         * WebCoreSupport/WebEditorClient.mm:
2768         * WebView/WebDataSource.mm:
2769         * WebView/WebHTMLView.mm:
2771 2008-03-28  Brady Eidson  <beidson@apple.com>
2773         Reviewed by Darin Adler
2775         Now that WebCore can create archives from a frame selection directly, we don't need it in WebArchiver anymore
2777         * WebCoreSupport/WebEditorClient.mm:
2778         (WebEditorClient::dataForArchivedSelection):
2780         * WebView/WebArchiver.h: Nuke archiveSelectionInFrame, as there are no remaining users
2781         * WebView/WebArchiver.mm: Ditto
2783         * WebView/WebHTMLView.mm:
2784         (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
2786 2008-03-28  Brady Eidson  <beidson@apple.com>
2788         Reviewed by Darin Adler
2790         More Kit->Core WebArchive changes.
2792         Create an archive from the current selection in a frame
2794         * WebView/WebArchiver.mm: Remove one more *undeclared* method, the last method will drop off
2795           easily in a followup
2797 2008-03-28  Brady Eidson  <beidson@apple.com>
2799         Reviewed by Sam Weinig
2801         WebArchive saga continues - Can now make archives from ranges in WebCore
2803         * DOM/WebDOMOperations.mm:
2804         (-[DOMRange webArchive]):
2805         (-[DOMRange markupString]):
2807         * WebView/WebArchiver.h: Remove newly obsolete [WebArchiver archiveRange:]
2808         * WebView/WebArchiver.mm:
2810 2008-03-28  Brady Eidson  <beidson@apple.com>
2812         Reviewed by Sam Weinig
2814         More Kit->Core webarchive code movement
2816         * DOM/WebDOMOperations.mm:
2817         (-[DOMNode markupString]): Call createFullMarkup() instead
2819         * WebView/WebFrame.mm: Remove obsolete _markupStringFromNode
2820         * WebView/WebFrameInternal.h: Ditto
2822 2008-03-28  Brady Eidson  <beidson@apple.com>
2824         Reviewed by Sam Weinig
2826         Fold [WebArchiver archiveFrame:] into WebDataSource - the last remaining caller
2828         * WebView/WebArchiver.h:
2829         * WebView/WebArchiver.mm:
2830         * WebView/WebDataSource.mm:
2831         (-[WebDataSource webArchive]):
2833 2008-03-28  Brady Eidson  <beidson@apple.com>
2835         Reviewed by Sam Weinig
2837         Remove unused [WebArchiver archiveNode:], made obsolete in r31400
2839         * WebView/WebArchiver.h:
2840         * WebView/WebArchiver.mm:
2842 2008-03-28  Brady Eidson  <beidson@apple.com>
2844         Reviewed by Darin
2846         "Yet another transitional step" to empty out WebKit-based code for archiving.
2848         With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
2849         entirely within WebCore, and opens the door to saving WebArchives on Windows.
2851         * DOM/WebDOMOperations.mm:
2852         * WebView/WebArchiver.mm:
2853         (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
2855 2008-03-27  Brady Eidson  <beidson@apple.com>
2857         Reviewed by Adam Roben
2859         Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore
2860         as the push to core-ify WebArchives continues.
2862         This patch also introduces a behavior change.  WebCore allows ArchiveResources with null or empty data.  
2863         WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null.  
2864         Since WebResource is API, I decided to leave it be to avoid a behavior change.  But internally created resources 
2865         (as in "while archiving a page") are accepting of null or empty data.
2867         This actually fixes a bug where not all subframes are archived, and resulted in a layout test change. 
2869         * WebView/WebDataSource.mm:
2870         (-[WebDataSource mainResource]): Call DocumentLoader implementation
2871         (-[WebDataSource subresources]): Ditto
2872         * WebView/WebFrame.mm: Remove [WebFrame _getAllResourceDatas:andResponses:] as its only caller is obsolete
2873         * WebView/WebFrameInternal.h:
2875 2008-03-27  Brady Eidson  <beidson@apple.com>
2877         Reviewed by Adam
2879         Change the "init from WebCore resource" version of WebResource to take PassRefPtr
2880         (more efficient)
2882         * WebView/WebResource.mm:
2883         (-[WebResource _initWithCoreResource:]):
2884         * WebView/WebResourceInternal.h:
2886 2008-03-26  Brady Eidson  <beidson@apple.com>
2888         Build fix - accidentally checked in this change which was work in progress
2890         * DOM/WebDOMOperations.mm:
2892 2008-03-26  Brady Eidson  <beidson@apple.com>
2894         Reviewed by Darin
2896         When we create a WebArchive, we walk every node from some starting point, asking each node
2897         along the way "What are your subresource URLs?"
2899         That logic is currently in DOMNode in WebKitMac - this patch moves that ability down into
2900         WebCore::Node
2902         * DOM/WebDOMOperations.mm:
2903         (-[DOMNode _subresourceURLs]): One generic DOMNode method can now handle all DOMNodes by
2904           calling into individual WebCore::Node implementations
2905         * DOM/WebDOMOperationsPrivate.h:
2907 2008-03-26  Brady Eidson  <beidson@apple.com>
2909         Reviewed by Mark Rowe
2911         Part of the continued push to move WebArchive-related code down to WebCore, this
2912         moves [WebDataSource subresourceForURL:] down to DocumentLoader->subresource()
2914         * WebView/WebDataSource.mm:
2915         (-[WebDataSource subresourceForURL:]): Call through to the DocumentLoader 
2917         * WebView/WebFrame.mm: Remove [WebFrame _getData:andResponse:forURL:], as its only use
2918           has now been ported down to WebCore
2919         * WebView/WebFrameInternal.h:
2921 2008-03-26  Mark Rowe  <mrowe@apple.com>
2923         Rubber-stamped by Brady Eidson.
2925         Update FEATURE_DEFINES to be consistent with the other locations in which it is defined.
2927         * Configurations/WebKit.xcconfig:
2929 2008-03-26  Mark Rowe  <mrowe@apple.com>
2931         Reviewed by David Hyatt.
2933         Make the Ahem font antialias correctly on Acid3 on Tiger.
2935         * WebCoreSupport/WebSystemInterface.m:
2936         (InitWebCoreSystemInterface):
2938 2008-03-26  Mark Rowe  <mrowe@apple.com>
2940         Fix the Mac build.
2942         * MigrateHeaders.make: Copy the newly generated header into the right place.
2944 2008-03-25  Brady Eidson  <beidson@apple.com>
2946         Reviewed by Beth Dakin
2948         Remove entirely unused internal method
2950         * WebView/WebArchiver.h:
2951         * WebView/WebArchiver.mm:
2953 2008-03-25  Brady Eidson  <beidson@apple.com>
2955         Reviewed by Adam Roben
2957         <rdar://problem/5819308> - View Source is empty when view webarchives
2959         * WebCore.base.exp:
2960         * loader/DocumentLoader.cpp:
2961         (WebCore::DocumentLoader::setParsedArchiveData):
2962         (WebCore::DocumentLoader::parsedArchiveData):
2963         * loader/DocumentLoader.h:
2965         * loader/FrameLoader.cpp:
2966         (WebCore::FrameLoader::finishedLoadingDocument): Set the archive's MainResource data as the parsedArchiveData
2967           in the DocumentLoader
2969 2008-03-25  Dan Bernstein  <mitz@apple.com>
2971         Reviewed by Darin Adler.
2973         - fix http://bugs.webkit.org/show_bug.cgi?id=17933
2974           Reopen All Windows From Last Session causes crash
2976         * WebView/WebHTMLView.mm:
2977         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Added null
2978         check.
2980 2008-03-25  Brady Eidson  <beidson@apple.com>
2982         Reviewed by Jon Honeycutt's rubberstamp
2984         Fix a leak with the new WebArchive setup
2986         * WebView/WebArchive.mm:
2987         (-[WebArchivePrivate setCoreArchive:]): Deref() the old WebArchive
2989 2008-03-25  Brady Eidson  <beidson@apple.com>
2991         Reviewed by Darin
2993         Removed the concept of "pending archive resources" and the "archive resources delivery timer"
2994         from WebFrameLoaderClient, as those concepts have been pushed into WebCore
2996         * WebCoreSupport/WebFrameLoaderClient.h:
2997         * WebCoreSupport/WebFrameLoaderClient.mm:
2998         (WebFrameLoaderClient::WebFrameLoaderClient):
3000 2008-03-25  Brady Eidson  <beidson@apple.com>
3002         Reviewed by Darin
3004         Remove newly obsolete FrameLoaderClient methods
3006         * WebCoreSupport/WebFrameLoaderClient.h:
3007         * WebCoreSupport/WebFrameLoaderClient.mm:
3009 2008-03-25  Brady Eidson  <beidson@apple.com>
3011         Release build fix
3013         * WebView/WebArchive.mm:
3014         (-[WebArchive subresources]):
3015         (-[WebArchive subframeArchives]):
3017 2008-03-25  Brady Eidson  <beidson@apple.com>
3019         Reviewed by Darin
3021         <rdar://problem/4516169> - Support WebArchives on Windows
3022         And paves the way for many future WebArchive bug fixes and enhancements
3024         This change moves most of the real workhorse code about WebArchives into WebCore.  It maintains 
3025         1-to-1 relationships between a few objects in WebCore and WebKit.  Such as:
3026          * WebArchive <-> LegacyWebArchive
3027          * WebResource <-> ArchiveResource
3028          * WebUnarchivingState <-> ArchiveResourceCollection
3030         The other biggest changes involve many FrameLoaderClient methods that existed soley for WebArchives 
3031         and now exist in WebCore
3033         * WebCoreSupport/WebFrameLoaderClient.mm:
3034         (WebFrameLoaderClient::clearUnarchivingState): Emptied - to be removed in a followup patch
3035         (WebFrameLoaderClient::finalSetupForReplace):
3036         (WebFrameLoaderClient::setDefersLoading):
3037         (WebFrameLoaderClient::willUseArchive):
3038         (WebFrameLoaderClient::isArchiveLoadPending):
3039         (WebFrameLoaderClient::cancelPendingArchiveLoad):
3040         (WebFrameLoaderClient::clearArchivedResources):
3041         (WebFrameLoaderClient::createFrame):
3043         * WebView/WebArchive.mm:
3044         (+[WebArchivePrivate initialize]):
3045         (-[WebArchivePrivate init]):
3046         (-[WebArchivePrivate initWithCoreArchive:]):
3047         (-[WebArchivePrivate coreArchive]):
3048         (-[WebArchivePrivate setCoreArchive:]):
3049         (-[WebArchivePrivate dealloc]):
3050         (-[WebArchivePrivate finalize]):
3051         (-[WebArchive init]):
3052         (-[WebArchive initWithMainResource:subresources:subframeArchives:]):
3053         (-[WebArchive initWithData:]):
3054         (-[WebArchive initWithCoder:]):
3055         (-[WebArchive encodeWithCoder:]):
3056         (-[WebArchive mainResource]):
3057         (-[WebArchive subresources]):
3058         (-[WebArchive subframeArchives]):
3059         (-[WebArchive data]):
3060         (-[WebArchive _initWithCoreLegacyWebArchive:WebCore::]):
3061         (-[WebArchive WebCore::]):
3062         * WebView/WebArchiveInternal.h: Added.
3064         * WebView/WebDataSource.mm:
3065         (-[WebDataSourcePrivate dealloc]):
3066         (-[WebDataSource _addSubframeArchives:]):
3067         (-[WebDataSource _documentFragmentWithArchive:]):
3068         (-[WebDataSource subresourceForURL:]):
3069         (-[WebDataSource addSubresource:]):
3070         * WebView/WebDataSourceInternal.h:
3072         * WebView/WebFrame.mm:
3073         (-[WebFrame loadArchive:]):
3074         * WebView/WebFrameInternal.h:
3076         * WebView/WebHTMLRepresentation.mm:
3077         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
3079         * WebView/WebResource.mm:
3080         (+[WebResourcePrivate initialize]):
3081         (-[WebResourcePrivate init]):
3082         (-[WebResourcePrivate initWithCoreResource:]):
3083         (-[WebResourcePrivate dealloc]):
3084         (-[WebResourcePrivate finalize]):
3085         (-[WebResource initWithCoder:]):
3086         (-[WebResource encodeWithCoder:]):
3087         (-[WebResource data]):
3088         (-[WebResource URL]):
3089         (-[WebResource MIMEType]):
3090         (-[WebResource textEncodingName]):
3091         (-[WebResource frameName]):
3092         (-[WebResource _initWithCoreResource:WebCore::]):
3093         (-[WebResource WebCore::]):
3094         (-[WebResource _ignoreWhenUnarchiving]):
3095         (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
3096         (-[WebResource _fileWrapperRepresentation]):
3097         (-[WebResource _response]):
3098         (-[WebResource _stringValue]):
3099         * WebView/WebResourceInternal.h: Added.
3100         * WebView/WebResourcePrivate.h:
3102         * WebView/WebUnarchivingState.h: Removed.
3103         * WebView/WebUnarchivingState.m: Removed.
3105 2008-03-24  Oliver Hunt  <oliver@apple.com>
3107         Reviewed by Mark Rowe.
3109         Bug 18030: REGRESSION(r31236): Space bar fails to scroll down page
3110         <http://bugs.webkit.org/show_bug.cgi?id=18030>
3112         Rollout keyDown changes from r31236 -- fix for keyDown behaviour is
3113         tracked by Bug 18057: keyDown incorrectly propagates up the frame tree
3114         <http://bugs.webkit.org/show_bug.cgi?id=18057>
3116         * WebView/WebHTMLView.mm:
3117         (-[WebHTMLView keyDown:]):
3119 2008-03-24  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
3121         Reviewed by Maciej, landed by Brady
3123         Bug 3580: iFrames Appear to be Cached
3124         <http://bugs.webkit.org/show_bug.cgi?id=3580>
3126         Bug 15486: REGRESSION: Reload causes WebKit to *forget* fragment URLs
3127         <http://bugs.webkit.org/show_bug.cgi?id=15486>
3129         Bug 15554: Reload causes <object> to use old data
3130         <http://bugs.webkit.org/show_bug.cgi?id=15554>
3132         If a page is reloaded, a child frame's URL can not be taken from a history item.
3134         * WebView/WebFrame.mm:
3135         (-[WebFrame _loadURL:referrer:intoChild:]):
3137 2008-03-24  Darin Adler  <darin@apple.com>
3139         Reviewed by Beth.
3141         - fix <rdar://problem/5817067> -[WebDataSource unreachableURL] invokes KURL's copy constructor
3143         * History/WebHistoryItem.mm:
3144         (-[WebHistoryItem URL]): Use a reference to avoid making a copy.
3145         * WebView/WebDataSource.mm:
3146         (-[WebDataSource _URL]): Ditto.
3147         (-[WebDataSource unreachableURL]): Ditto.
3148         * WebView/WebHTMLView.mm:
3149         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
3151         * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
3152         * History/WebHistory.mm:
3153         * Misc/WebElementDictionary.mm:
3154         * Misc/WebNSAttributedStringExtras.mm:
3155         Remove unneeded imports of KURL.h.
3157 2008-03-24  Brady Eidson  <beidson@apple.com>
3159         Reviewed by Darin's rubberstamp
3161         Rename this file for upcoming work.
3163         * WebView/WebArchive.m: Removed.
3164         * WebView/WebArchive.mm: Copied from WebKit/mac/WebView/WebArchive.m.
3166 2008-03-24  Alexey Proskuryakov  <ap@webkit.org>
3168         Build fix.
3170         * MigrateHeaders.make: Added DOMSVGAltGlyphElement.h and DOMSVGAltGlyphElementInternal.h.
3172 2008-03-23  Oliver Hunt  <oliver@apple.com>
3174         Reviewed by Maciej.
3176         Bug 17670: Key events may improperly propagate from iframe to parent frame
3177         <http://bugs.webkit.org/show_bug.cgi?id=17670>
3178         Bug 16381: REGRESSION: Shift, command, option, ctrl keys in Gmail Rich Text changes focus
3179         <http://bugs.webkit.org/show_bug.cgi?id=16381>
3181         Prevent the Cocoa event system from propagating key events to the parent WebHTMLView,
3182         as that results in us dispatching the key events for each frame going up the frame
3183         tree.
3185         * WebView/WebHTMLView.mm:
3186         (-[WebHTMLView keyDown:]):
3187         (-[WebHTMLView keyUp:]):
3188         (-[WebHTMLView flagsChanged:]):
3190 2008-03-21  Timothy Hatcher  <timothy@apple.com>
3192         Bug 17980: Regression: Inspector highlighting of webpage not cleared when going to new URL
3193         http://bugs.webkit.org/show_bug.cgi?id=17980
3195         Reviewed by Adam.
3197         The new highlight drawing was not honoring the fade value, so it was
3198         always drawing at full opacity. The animation code didn't match Windows
3199         and the new highlight anyway, so it has been removed. The highlight
3200         how just detaches when it is hidden.
3202         * WebCoreSupport/WebInspectorClient.mm:
3203         (-[WebInspectorWindowController windowShouldClose:]): Call hideHighlight.
3204         (-[WebInspectorWindowController close]): Ditto.
3205         (-[WebInspectorWindowController highlightNode:]): Call attach.
3206         (-[WebInspectorWindowController hideHighlight]): Call detach and release _currentHighlight.
3207         * WebInspector/WebNodeHighlight.h:
3208         * WebInspector/WebNodeHighlight.m:
3209         (-[WebNodeHighlight initWithTargetView:inspectorController:]):
3210         (-[WebNodeHighlight dealloc]): Assert we have no _highlightView.
3211         (-[WebNodeHighlight attach]): Renamed from attachHighlight.
3212         (-[WebNodeHighlight detach]): Renamed from detachHighlight.
3213         (-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Renamed from setHolesNeedUpdateInTargetViewRect:.
3214         * WebInspector/WebNodeHighlightView.h:
3215         * WebInspector/WebNodeHighlightView.m:
3216         (-[WebNodeHighlightView setNeedsDisplayInRect:]): Renamed from setHolesNeedUpdateInRect:.
3218 2008-03-20  Mark Rowe  <mrowe@apple.com>
3220         Reviewed by Sam Weinig.
3222         Ensure that the defines in FEATURE_DEFINES are sorted so that they will match the default settings of build-webkit.
3223         This will prevent the world from being rebuilt if you happen to switch between building in Xcode and with build-webkit on the
3224         command-line.
3226         * Configurations/WebKit.xcconfig:
3228 2008-03-20  Adam Roben  <aroben@apple.com>
3230         Make WebNodeHighlightView use InspectorController to do its painting
3232         Reviewed by Tim Hatcher.
3234         * WebCoreSupport/WebInspectorClient.mm:
3235         (-[WebInspectorWindowController highlightNode:]): Pass the
3236         InspectorController to the WebNodeHighlight, and don't call
3237         setHighlightedNode: (which has been removed).
3238         (-[WebInspectorWindowController hideHighlight]): Removed call to
3239         setHighlightedNode:.
3240         * WebInspector/WebNodeHighlight.h:
3241           - Replaced _highlightNode with _inspectorController
3242           - Removed _highlightedNode accessors
3243           - Added -inspectorController method
3244         * WebInspector/WebNodeHighlight.m:
3245         (-[WebNodeHighlight initWithTargetView:inspectorController:]): Now
3246         takes an InspectorController* and stores it in _inspectorController.
3247         (-[WebNodeHighlight dealloc]): Removed code dealing with
3248         _highlightedNode.
3249         (-[WebNodeHighlight inspectorController]): Added.
3250         * WebInspector/WebNodeHighlightView.m: Removed FileInternal category.
3251         (-[WebNodeHighlightView isFlipped]): Added. WebCore expects all
3252         GraphicsContexts to be based on a flipped CGContext, so we have to
3253         specify that this view is flipped.
3254         (-[WebNodeHighlightView drawRect:]): Changed to create a
3255         GraphicsContext and pass it to InspectorController::drawNodeHighlight.
3257 2008-03-18  David Hyatt  <hyatt@apple.com>
3259         Add support for a preference in WebKit that can be used in nightly builds to test full page
3260         zoom.
3262         Reviewed by Antti
3264         * WebView/WebPreferenceKeysPrivate.h:
3265         * WebView/WebView.mm:
3266         (-[WebView setTextSizeMultiplier:]):
3267         (-[WebView canMakeTextSmaller]):
3268         (-[WebView makeTextSmaller:]):
3269         (-[WebView canMakeTextLarger]):
3270         (-[WebView makeTextLarger:]):
3271         (-[WebView canMakeTextStandardSize]):
3272         (-[WebView makeTextStandardSize:]):
3274 2008-03-17  Eric Seidel  <eric@webkit.org>
3276         Reviewed by darin.
3278         Export _NPN_IntFromIdentifier as part of our NPAPI interface
3280         * Plugins/WebNetscapePluginPackage.m:
3281         (-[WebNetscapePluginPackage load]):
3283 2008-03-14  Brady Eidson  <beidson@apple.com>
3285         Reviewed by Brian Dash's rubberstamp
3287         Remove a class declaration for a class that has never existed
3289         * WebView/WebResource.h:
3291 2008-03-14  David D. Kilzer  <ddkilzer@apple.com>
3293         Unify concept of enabling the Mac Java bridge.
3295         Reviewed by Darin and Anders.
3297         * Plugins/WebPluginJava.h: Removed unused file.
3298         * WebCoreSupport/WebFrameLoaderClient.h:
3299         (WebFrameLoaderClient::javaApplet): Added #if ENABLE(MAC_JAVA_BRIDGE) guard.
3300         * WebCoreSupport/WebFrameLoaderClient.mm: Ditto for #import and NSView SPI method.
3301         (WebFrameLoaderClient::javaApplet): Ditto.
3303 2008-03-13  Antti Koivisto  <antti@apple.com>
3305         Reviewed by Darin.
3307         * ForwardingHeaders/wtf/Deque.h: Added.
3309 2008-03-13  Anders Carlsson  <andersca@apple.com>
3311         Reviewed by Adam.
3313         Call originalRequest, not initialRequest.
3314         
3315         * WebView/WebDataSource.mm:
3316         (-[WebDataSource initialRequest]):
3318 2008-03-12  Darin Adler  <darin@apple.com>
3320         Reviewed by John Sullivan.
3322         - cleanup after removing the bridge
3324         * DOM/WebDOMOperations.mm:
3325         (-[DOMDocument URLWithAttributeString:]): Call computeURL directly.
3327         * Misc/WebCoreStatistics.mm:
3328         (-[WebFrame renderTreeAsExternalRepresentation]): Call externalRepresentation directly.
3330         * Plugins/WebBaseNetscapePluginView.mm:
3331         (-[WebBaseNetscapePluginView loadPluginRequest:]): Use core function instead of
3332         _frameLoader method.
3333         (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
3334         Ditto.
3335         * Plugins/WebPluginController.mm:
3336         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Ditto.
3338         * WebCoreSupport/WebFrameLoaderClient.mm:
3339         (WebFrameLoaderClient::frameLoaderDestroyed): Added a call to the new _clearCoreFrame
3340         method. Without this we could leave a stale frame pointer around.
3341         (WebFrameLoaderClient::dispatchDidReceiveIcon): Rewrote assertion so it's not the single
3342         caller of the _isMainFrame method.
3343         (WebFrameLoaderClient::transitionToCommittedForNewPage): Use core function instead of
3344         _frameLoader method.
3345         (WebFrameLoaderClient::createFrame): Moved code here from _addChild.
3347         * WebView/WebFrame.mm: Removed lots of methods. Some were moved elsewhere, others
3348         turned out to be unused.
3349         (core): Added overload for DocumentFragment.
3350         (kit): Ditto.
3351         (-[WebFrame _loadURL:referrer:intoChild:]): Get to Frame using _private->coreFrame and
3352         to FrameLoader with _private->coreFrame->loader().
3353         (-[WebFrame _attachScriptDebugger]): Ditto.
3354         (-[WebFrame _clearCoreFrame]): Added.
3355         (-[WebFrame _updateBackground]): More of the same.
3356         (-[WebFrame _unmarkAllBadGrammar]): Ditto.
3357         (-[WebFrame _unmarkAllMisspellings]): Ditto.
3358         (-[WebFrame _hasSelection]): Ditto.
3359         (-[WebFrame _atMostOneFrameHasSelection]): Ditto.
3360         (-[WebFrame _findFrameWithSelection]): Ditto.
3361         (-[WebFrame _dataSource]): Ditto.
3362         (-[WebFrame _addData:]): Streamlined code a bit.
3363         (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
3364         (-[WebFrame _receivedData:textEncodingName:]): Ditto.
3365         (-[WebFrame _isDescendantOfFrame:]): Ditto.
3366         (-[WebFrame _bodyBackgroundColor]): Ditto.
3367         (-[WebFrame _isFrameSet]): Ditto.
3368         (-[WebFrame _firstLayoutDone]): Ditto.
3369         (-[WebFrame _loadType]): Ditto.
3370         (-[WebFrame _isDisplayingStandaloneImage]): Ditto.
3371         (-[WebFrame name]): Ditto.
3372         (-[WebFrame DOMDocument]): Ditto.
3373         (-[WebFrame frameElement]): Ditto.
3374         (-[WebFrame provisionalDataSource]): Ditto.
3375         (-[WebFrame dataSource]): Ditto.
3376         (-[WebFrame loadRequest:]): Ditto.
3377         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Ditto.
3378         (-[WebFrame loadArchive:]): Ditto.
3379         (-[WebFrame stopLoading]): Ditto.
3380         (-[WebFrame reload]): Ditto.
3381         (-[WebFrame findFrameNamed:]): Ditto.
3382         (-[WebFrame parentFrame]): Ditto.
3383         (-[WebFrame childFrames]): Ditto.
3384         (-[WebFrame windowObject]): Ditto.
3385         (-[WebFrame globalContext]): Ditto.
3387         * WebView/WebFrameInternal.h: Added overloads of core and kit.
3388         Removed method declarations.
3390         * WebView/WebHTMLRepresentation.mm:
3391         (-[WebHTMLRepresentation documentSource]): Moved code here from WebFrame.
3392         (formElementFromDOMElement): Ditto.
3393         (-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
3394         (inputElementFromDOMElement): Ditto.
3395         (-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
3396         (-[WebHTMLRepresentation elementIsPassword:]): Ditto.
3397         (-[WebHTMLRepresentation formForElement:]): Ditto.
3398         (-[WebHTMLRepresentation currentForm]): Ditto.
3399         (-[WebHTMLRepresentation controlsInForm:]): Ditto.
3400         (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
3401         (-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
3403         * WebView/WebHTMLView.mm:
3404         (-[WebHTMLView _frameOrBoundsChanged]): Moved sendScrollEvent code here from WebFrame.
3405         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
3406         Call createFragmentFromText directly instead of via WebFrame.
3407         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
3408         Moved layout calls here from WebFrame.
3409         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
3410         (-[WebHTMLView _updateFontPanel]): Ditto, but with fontForSelection.
3411         (-[WebHTMLView _canSmartCopyOrDelete]): Ditto, but with selectionGranularity.
3412         (-[WebHTMLView markedRange]): Moved code here from _markedTextNSRange.
3413         (-[WebHTMLView attributedSubstringFromRange:]): Tweaked code a bit.
3414         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
3415         Moved code here from WebFrame.
3416         (-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto.
3417         (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
3418         (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
3419         (-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
3420         (-[WebHTMLView unmarkAllTextMatches]): Ditto.
3421         (-[WebHTMLView rectsForTextMatches]): Ditto.
3423         * WebView/WebHTMLViewInternal.h: Removed unused method declarations.
3425         * WebView/WebPDFView.mm:
3426         (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Use core function instead of
3427         _frameLoader method.
3429         * WebView/WebRenderNode.mm:
3430         (copyRenderNode): Moved code here from WebFrame.
3431         (-[WebRenderNode initWithWebFrameView:]): Ditto.
3433         * WebView/WebResource.mm:
3434         (-[WebResource _stringValue]): Moved code here from WebFrame.
3436         * WebView/WebView.mm:
3437         (-[WebView _close]): Use core function intsead of _frameLoader method.
3438         (-[WebView setCustomTextEncodingName:]): Ditto.
3439         (-[WebView setHostWindow:]): Moved code here from WebFrame.
3440         (aeDescFromJSValue): Moved this here from WebFrame.
3441         (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Moved code here from WebFrame.
3443 2008-03-12  Darin Adler  <darin@apple.com>
3445         Reviewed by Anders.
3447         - http://bugs.webkit.org/show_bug.cgi?id=17640
3448           eliminate WebCoreFrameBridge
3450         Moved all the code from the bridge into WebFrame. This need not be the final
3451         home of these methods -- they can be moved closer to their callers and improved
3452         further -- but it eliminates the bridge without requiring a rewrite of the code.
3453         It's a fairly mechanical process (just adding underscores to method names really).
3455         There's even a chance that some of the methods are unused. Those we can remove
3456         after checking if that's so.
3458         * DOM/WebDOMOperations.mm:
3459         (-[DOMNode markupString]): Use WebFrame rather than bridge.
3460         (-[DOMDocument webFrame]): Changed to use the core and kit functions
3461         instead of using the bridge.
3462         (-[DOMDocument URLWithAttributeString:]): Use WebFrame rather than bridge.
3463         (-[DOMRange markupString]): Ditto.
3464         * DOM/WebDOMOperationsPrivate.h: Removed _bridge methods.
3466         * DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded import.
3467         * History/WebHistoryItem.mm: Ditto.
3469         * MigrateHeaders.make: Added DOMDocumentFragmentInternal.h.
3470         * Misc/WebCoreStatistics.mm:
3471         (-[WebFrame renderTreeAsExternalRepresentation]): Use WebFrame rather than bridge.
3473         * Misc/WebElementDictionary.mm: Removed unneeded import.
3475         * Misc/WebKitStatistics.m:
3476         (+[WebKitStatistics bridgeCount]): Removed WebBridgeCount and just return 0.
3477         * Misc/WebKitStatisticsPrivate.h: Ditto.
3479         * Misc/WebNSAttributedStringExtras.mm: Removed unneeded import.
3480         * Misc/WebNSPasteboardExtras.mm: Ditto.
3482         * Plugins/WebBaseNetscapePluginView.mm:
3483         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Use WebFrame
3484         rather than bridge.
3486         * Plugins/WebNetscapePluginEmbeddedView.mm: Removed unneeded import.
3487         * Plugins/WebNetscapePluginStream.mm: Ditto.
3489         * Plugins/WebPluginContainerCheck.mm:
3490         (-[WebPluginContainerCheck _isForbiddenFileLoad]): Use WebFrame rather than
3491         bridge to get to the WebCore::Frame.
3493         * Plugins/WebPluginController.h: Declare webFrame method and remove bridge method.
3494         * Plugins/WebPluginController.mm:
3495         (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Use WebFrame
3496         rather than bridge.
3498         * WebCoreSupport/WebEditorClient.mm:
3499         (selectorForKeyEvent): Tweaked comment.
3501         * WebCoreSupport/WebFrameBridge.h: Removed.
3502         * WebCoreSupport/WebFrameBridge.mm: Removed.
3504         * WebCoreSupport/WebFrameLoaderClient.mm:
3505         (WebFrameLoaderClient::frameLoaderDestroyed): Removed bridge assertion.
3506         (WebFrameLoaderClient::detachedFromParent4): Removed bridge teardown code.
3507         I could remove this function entirely, but it looks like the Qt port is using it.
3509         * WebCoreSupport/WebViewFactory.mm: Removed unneeded import.
3511         * WebView/WebArchiver.mm:
3512         (+[WebArchiver archiveRange:]): Use WebFrame rather than bridge.
3513         (+[WebArchiver archiveNode:]): Ditto.
3514         (+[WebArchiver archiveSelectionInFrame:]): Ditto.
3516         * WebView/WebDataSource.mm:
3517         (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): Ditto.
3518         (-[WebDataSource _documentFragmentWithArchive:]): Ditto.
3519         (-[WebDataSource subresources]): Ditto.
3520         (-[WebDataSource subresourceForURL:]): Ditto.
3522         * WebView/WebDataSourceInternal.h: Removed _bridge method.
3524         * WebView/WebFrame.mm:
3525         (-[WebFramePrivate dealloc]): Removed code to release the bridge.
3526         (core): Go directly to the core frame, not via the bridge.
3527         (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
3528         Remove the code to deal with the bridge.
3529         (-[WebFrame _initWithWebFrameView:webView:]): Ditto. Also added code to set the
3530         shouldCreateRenderers flag, formerly on the bridge.
3531         (-[WebFrame _updateBackground]): Change to call mehods on self, not bridge.
3532         (aeDescFromJSValue): Moved here from bridge.
3533         (-[WebFrame _domain]): Ditto.
3534         (-[WebFrame _addData:]): Ditto.
3535         (-[WebFrame _stringWithDocumentTypeStringAndMarkupString:]): Ditto.
3536         (-[WebFrame _nodesFromList:]): Ditto.
3537         (-[WebFrame _markupStringFromNode:nodes:]): Ditto.
3538         (-[WebFrame _markupStringFromRange:nodes:]): Ditto.
3539         (-[WebFrame _selectedString]): Ditto.
3540         (-[WebFrame _stringForRange:]): Ditto.
3541         (-[WebFrame _forceLayoutAdjustingViewSize:]): Ditto.
3542         (-[WebFrame _forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
3543         (-[WebFrame _sendScrollEvent]): Ditto.
3544         (-[WebFrame _drawRect:]): Ditto.
3545         (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]): Ditto.
3546         (-[WebFrame _adjustPageHeightNew:top:bottom:limit:]): Ditto.
3547         (-[WebFrame _copyRenderNode:copier:]): Ditto.
3548         (-[WebFrame _copyRenderTree:]): Ditto.
3549         (inputElementFromDOMElement): Ditto.
3550         (formElementFromDOMElement): Ditto.
3551         (-[WebFrame _elementWithName:inForm:]): Ditto.
3552         (-[WebFrame _elementDoesAutoComplete:]): Ditto.
3553         (-[WebFrame _elementIsPassword:]): Ditto.
3554         (-[WebFrame _formForElement:]): Ditto.
3555         (-[WebFrame _currentForm]): Ditto.
3556         (-[WebFrame _controlsInForm:]): Ditto.
3557         (-[WebFrame _searchForLabels:beforeElement:]): Ditto.
3558         (-[WebFrame _matchLabels:againstElement:]): Ditto.
3559         (-[WebFrame _URLWithAttributeString:]): Ditto.
3560         (-[WebFrame _searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
3561         (-[WebFrame _markAllMatchesForText:caseSensitive:limit:]): Ditto.
3562         (-[WebFrame _markedTextMatchesAreHighlighted]): Ditto.
3563         (-[WebFrame _setMarkedTextMatchesAreHighlighted:]): Ditto.
3564         (-[WebFrame _unmarkAllTextMatches]): Ditto.
3565         (-[WebFrame _rectsForTextMatches]): Ditto.
3566         (-[WebFrame _stringByEvaluatingJavaScriptFromString:]): Ditto.
3567         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Ditto.
3568         (-[WebFrame _aeDescByEvaluatingJavaScriptFromString:]): Ditto.
3569         (-[WebFrame _caretRectAtNode:offset:affinity:]): Ditto.
3570         (-[WebFrame _firstRectForDOMRange:]): Ditto.
3571         (-[WebFrame _scrollDOMRangeToVisible:]): Ditto.
3572         (-[WebFrame _baseURL]): Ditto.
3573         (-[WebFrame _stringWithData:]): Ditto.
3574         (+[WebFrame _stringWithData:textEncodingName:]): Ditto.
3575         (-[WebFrame _needsLayout]): Ditto.
3576         (-[WebFrame _renderTreeAsExternalRepresentation]): Ditto.
3577         (-[WebFrame _accessibilityTree]): Ditto.
3578         (-[WebFrame _setBaseBackgroundColor:]): Ditto.
3579         (-[WebFrame _setDrawsBackground:]): Ditto.
3580         (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
3581         Ditto.
3582         (-[WebFrame _selectionGranularity]): Ditto.
3583         (-[WebFrame _convertToNSRange:]): Ditto.
3584         (-[WebFrame _convertToDOMRange:]): Ditto.
3585         (-[WebFrame _convertNSRangeToDOMRange:]): Ditto.
3586         (-[WebFrame _convertDOMRangeToNSRange:]): Ditto.
3587         (-[WebFrame _markDOMRange]): Ditto.
3588         (-[WebFrame _markedTextNSRange]): Ditto.
3589         (-[WebFrame _smartDeleteRangeForProposedRange:]): Ditto.
3590         (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
3591         (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Ditto.
3592         (-[WebFrame _documentFragmentWithText:inContext:]): Ditto.
3593         (-[WebFrame _documentFragmentWithNodesAsParagraphs:]): Ditto.
3594         (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Ditto.
3595         (-[WebFrame _replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]): Ditto.
3596         (-[WebFrame _replaceSelectionWithMarkupString:baseURLString:selectReplacement:smartReplace:]): Ditto.
3597         (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
3598         (-[WebFrame _insertParagraphSeparatorInQuotedContent]): Ditto.
3599         (-[WebFrame _visiblePositionForPoint:]): Ditto.
3600         (-[WebFrame _characterRangeAtPoint:]): Ditto.
3601         (-[WebFrame _typingStyle]): Ditto.
3602         (-[WebFrame _setTypingStyle:withUndoAction:]): Ditto.
3603         (-[WebFrame _fontForSelection:]): Ditto.
3604         (-[WebFrame _dragSourceMovedTo:]): Ditto.
3605         (-[WebFrame _dragSourceEndedAt:operation:]): Ditto.
3606         (-[WebFrame _getData:andResponse:forURL:]): Ditto.
3607         (-[WebFrame _getAllResourceDatas:andResponses:]): Ditto.
3608         (-[WebFrame _canProvideDocumentSource]): Ditto.
3609         (-[WebFrame _canSaveAsWebArchive]): Ditto.
3610         (-[WebFrame _receivedData:textEncodingName:]): Ditto.
3611         (-[WebFrame _setShouldCreateRenderers:]): Put the code from the bridge in this preexisting
3612         function. Couldn't just keep the bridge method because this was already here with the same name.
3613         (-[WebFrame _selectedNSRange]): Ditto.
3614         (-[WebFrame _selectNSRange:]): Ditto.
3615         (-[WebFrame dealloc]): Remove bridge-related code.
3616         (-[WebFrame finalize]): Ditto.
3618         * WebView/WebFrameInternal.h: Added all the method declarations from the bridge.
3619         Removed the bridge parameter from the init method. Removed the #if blocks that
3620         tried to make this header work in non-C++ ObjC files -- they were broken and unused.
3621         Removed the _bridge method.
3623         * WebView/WebFrameView.mm: Removed the _bridge method.
3625         * WebView/WebHTMLRepresentation.mm:
3626         (-[WebHTMLRepresentation setDataSource:]): Removed the code to set up the bridge
3627         field.
3628         (-[WebHTMLRepresentation receivedData:withDataSource:]): Use WebFrame instead of bridge.
3629         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Ditto.
3630         (-[WebHTMLRepresentation canProvideDocumentSource]): Ditto.
3631         (-[WebHTMLRepresentation canSaveAsWebArchive]): Ditto.
3632         (-[WebHTMLRepresentation documentSource]): Ditto.
3633         (-[WebHTMLRepresentation DOMDocument]): Ditto.
3634         (-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
3635         (-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
3636         (-[WebHTMLRepresentation elementIsPassword:]): Ditto.
3637         (-[WebHTMLRepresentation formForElement:]): Ditto.
3638         (-[WebHTMLRepresentation currentForm]): Ditto.
3639         (-[WebHTMLRepresentation controlsInForm:]): Ditto.
3640         (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
3641         (-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
3643         * WebView/WebHTMLRepresentationPrivate.h: Removed the _bridge method.
3645         * WebView/WebHTMLView.mm:
3646         (-[WebHTMLView _documentFragmentWithPaths:]): Use WebFrame instead of bridge.
3647         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Ditto.
3648         (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Ditto.
3649         (-[WebHTMLView _updateTextSizeMultiplier]): Ditto.
3650         (-[WebHTMLView _frameOrBoundsChanged]): Ditto.
3651         (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
3652         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto.
3653         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
3654         (-[WebHTMLView drawSingleRect:]): Ditto.
3655         (-[WebHTMLView draggedImage:movedTo:]): Ditto.
3656         (-[WebHTMLView draggedImage:endedAt:operation:]): Ditto.
3657         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
3658         (-[WebHTMLView knowsPageRange:]): Ditto.
3659         (-[WebHTMLView accessibilityAttributeValue:]): Ditto.
3660         (-[WebHTMLView accessibilityFocusedUIElement]): Ditto.
3661         (-[WebHTMLView accessibilityHitTest:]): Ditto.
3662         (-[WebHTMLView _accessibilityParentForSubview:]): Ditto.
3663         (-[WebHTMLView changeDocumentBackgroundColor:]): Ditto.
3664         (-[WebHTMLView _changeWordCaseWithSelector:]): Ditto.
3665         (-[WebHTMLView _changeSpellingToWord:]): Ditto.
3666         (-[WebHTMLView startSpeaking:]): Ditto.
3667         (-[WebHTMLView _updateFontPanel]): Ditto.
3668         (-[WebHTMLView _canSmartCopyOrDelete]): Ditto.
3669         (-[WebHTMLView _layoutIfNeeded]): Ditto.
3670         (-[WebHTMLView characterIndexForPoint:]): Ditto.
3671         (-[WebHTMLView firstRectForCharacterRange:]): Ditto.
3672         (-[WebHTMLView selectedRange]): Ditto.
3673         (-[WebHTMLView markedRange]): Ditto.
3674         (-[WebHTMLView attributedSubstringFromRange:]): Ditto.
3675         (-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
3676         (-[WebHTMLView insertText:]): Ditto.
3677         (-[WebTextCompleteController _insertMatch:]): Ditto.
3678         (-[WebTextCompleteController doCompletion]): Ditto.
3679         (-[WebTextCompleteController endRevertingChange:moveLeft:]): Ditto.
3680         (-[WebHTMLView string]): Ditto.
3681         (-[WebHTMLView selectedString]): Ditto.
3682         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
3683         (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
3684         (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
3685         (-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
3686         (-[WebHTMLView unmarkAllTextMatches]): Ditto.
3687         (-[WebHTMLView rectsForTextMatches]): Ditto.
3688         * WebView/WebRenderNode.mm:
3689         (-[WebRenderNode initWithWebFrameView:]): Ditto.
3690         * WebView/WebResource.mm:
3691         (-[WebResource _stringValue]): Ditto.
3693         * WebView/WebScriptDebugDelegate.mm: Removed unneeded include.
3695         * WebView/WebView.mm:
3696         (-[WebView _dashboardRegions]): Use WebFrame instead of bridge.
3697         (-[WebView setProhibitsMainFrameScrolling:]): Ditto.
3698         (-[WebView _setInViewSourceMode:]): Ditto.
3699         (-[WebView _inViewSourceMode]): Ditto.
3700         (-[WebView _executeCoreCommandByName:value:]): Ditto.
3701         (-[WebView stringByEvaluatingJavaScriptFromString:]): Ditto.
3702         (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
3703         (-[WebView scrollDOMRangeToVisible:]): Ditto.
3704         (-[WebView setSelectedDOMRange:affinity:]): Ditto.
3705         (-[WebView setEditable:]): Ditto.
3706         (-[WebView setTypingStyle:]): Ditto.
3707         (-[WebView typingStyle]): Ditto.
3708         (-[WebView replaceSelectionWithNode:]): Ditto.
3709         (-[WebView replaceSelectionWithText:]): Ditto.
3710         (-[WebView replaceSelectionWithMarkupString:]): Ditto.
3711         (-[WebView replaceSelectionWithArchive:]): Ditto.
3712         (-[WebView _insertNewlineInQuotedContent]): Ditto.
3713         (-[WebView _replaceSelectionWithNode:matchStyle:]): Ditto.
3715 2008-03-12  David Hyatt  <hyatt@apple.com>
3717         Make the zoom factor a float and not a percent.
3719         Reviewed by antti
3721         * WebView/WebView.mm:
3722         (-[WebView _setZoomMultiplier:isTextOnly:]):
3724 2008-03-11  David Hyatt  <hyatt@apple.com>
3726         This patch prepares Mac WebKit to handle two different zooming modes (full page zoom and text only zoom).
3727         New API is added that is parallel to the text zoom public API.  You can get/set a pageSizeMultiplier and you
3728         can zoom the page in, out or reset it to the standard size.
3730         In the implementation only one zoom factor is stored, and setting one multiplier will shift you into that mode
3731         and set the common zoom factor.  In other words you can't combine text zoom and page zoom.  One will always
3732         win.
3734         Reviewed by Tim H.
3736         * WebCoreSupport/WebFrameBridge.mm:
3737         (-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]):
3738         * WebView/WebDocumentInternal.h:
3739         * WebView/WebHTMLView.mm:
3740         (-[WebHTMLView viewDidMoveToSuperview]):
3741         * WebView/WebPDFView.h:
3742         * WebView/WebPDFView.mm:
3743         (-[WebPDFView _zoomOut:]):
3744         (-[WebPDFView _zoomIn:]):
3745         (-[WebPDFView _resetZoom:]):
3746         (-[WebPDFView _canZoomOut]):
3747         (-[WebPDFView _canZoomIn]):
3748         (-[WebPDFView _canResetZoom]):
3749         * WebView/WebView.mm:
3750         (-[WebViewPrivate init]):
3751         (-[WebView setTextSizeMultiplier:]):
3752         (-[WebView textSizeMultiplier]):
3753         (-[WebView _setZoomMultiplier:isTextOnly:]):
3754         (-[WebView _zoomMultiplier:]):
3755         (-[WebView _realZoomMultiplier]):
3756         (-[WebView _realZoomMultiplierIsTextOnly]):
3757         (-[WebView _canZoomOut:]):
3758         (-[WebView _canZoomIn:]):
3759         (-[WebView _zoomOut:isTextOnly:]):
3760         (-[WebView _zoomIn:isTextOnly:]):
3761         (-[WebView _canResetZoom:]):
3762         (-[WebView _resetZoom:isTextOnly:]):
3763         (-[WebView canMakeTextSmaller]):
3764         (-[WebView makeTextSmaller:]):
3765         (-[WebView canMakeTextLarger]):
3766         (-[WebView makeTextLarger:]):
3767         (-[WebView canMakeTextStandardSize]):
3768         (-[WebView makeTextStandardSize:]):
3769         (-[WebView setPageSizeMultiplier:]):
3770         (-[WebView pageSizeMultiplier]):
3771         (-[WebView canZoomPageIn]):
3772         (-[WebView zoomPageIn:]):
3773         (-[WebView canZoomPageOut]):
3774         (-[WebView zoomPageOut:]):
3775         (-[WebView canResetPageZoom]):
3776         (-[WebView resetPageZoom:]):
3777         (-[WebView _searchWithSpotlightFromMenu:]):
3778         * WebView/WebViewInternal.h:
3779         * WebView/WebViewPrivate.h:
3781 2008-03-12  Dan Bernstein  <mitz@apple.com>
3783         Reviewed by Darin Adler and Sam Weinig.
3785         - <rdar://problem/4433248> use CoreText API instead of SPI on Leopard
3787         * WebCoreSupport/WebSystemInterface.m:
3788         (InitWebCoreSystemInterface): Made WKGetCGFontFromNSFont and
3789         WKGetNSFontATSUFontId Tiger-only.
3791 2008-03-12  Darin Adler  <darin@apple.com>
3793         - fix http://bugs.webkit.org/show_bug.cgi?id=17794
3794           REGRESSION (r30980): 23 tests hanging on the Mac buildbot
3796         * WebView/WebFrame.mm:
3797         (-[WebFrame _initWithWebFrameView:webView:bridge:]): Added missing call to set
3798         up pointer from the bridge to the frame. (My next check-in removes the bridge
3799         entirely, but we need this until then.)
3801 2008-03-11  Darin Adler  <darin@apple.com>
3803         Reviewed by Sam.
3805         - remove all bridge-related things from WebCore except the bridge itself
3807         * DOM/WebDOMOperations.mm:
3808         (-[DOMNode _bridge]): Reimplemented to not use the bridgeForDOMDocument: method.
3810         * DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded include.
3812         * Plugins/WebPluginController.mm: Ditto.
3814         * WebCoreSupport/WebFrameBridge.h: Removed unneeded things, including the
3815         init and close methods. Added a setWebFrame: method.
3817         * WebCoreSupport/WebFrameBridge.mm:
3818         (-[WebFrameBridge setWebFrame:]): Added.
3820         * WebCoreSupport/WebFrameLoaderClient.mm:
3821         (WebFrameLoaderClient::frameLoaderDestroyed): Added an assertion.
3822         (WebFrameLoaderClient::detachedFromParent4): Moved the call to close on the
3823         bridge here. Soon we will be able to remove this entirely!
3824         (WebFrameLoaderClient::createFrame): Rewrote this to use the method moved
3825         into WebFrame from the bridge.
3827         * WebView/WebFrame.mm:
3828         (-[WebFramePrivate dealloc]): Added code to release the bridge, because it's
3829         now owned by the frame.
3830         (-[WebFramePrivate finalize]): Added this missing method. We'd leak the script
3831         debugger under GC without this!
3832         (kit): Rewrote the function that maps from a WebCore::Frame to a WebFrame to
3833         use WebFrameLoaderClient instead of the bridge.
3834         (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Added.
3835         This is code that used to live in the bridge's init function.
3836         (+[WebFrame _createMainFrameWithPage:frameName:frameView:]): Ditto.
3837         (+[WebFrame WebCore::_createSubframeWithOwnerElement:frameName:frameView:]): Ditto.
3838         (-[WebFrame _initWithWebFrameView:webView:bridge:]): Retain the bridge, since
3839         the WebView is now the bridge's owner.
3840         (-[WebFrame _updateBackground]): Changed this one call site that was calling the
3841         WebCore::Frame::bridge function directly to use the kit function instead.
3842         (-[WebFrame dealloc]): Added code to clear the WebFrame pointer in the bridge.
3843         This code won't last long -- we're eliminating the bridge soon.
3844         (-[WebFrame finalize]): Ditto.
3846         * WebView/WebFrameInternal.h: Added a coreFrame backpointer and two new methods
3847         for creating frames.
3849         * WebView/WebView.mm:
3850         (-[WebView _commonInitializationWithFrameName:groupName:]): Rewrote this to use
3851         the method moved into WebFrame from the bridge. Gets rid of the unpleasant idiom
3852         where we have to allocate a WebFrameBridge and then immediately release it.
3854 2008-03-11  Darin Adler  <darin@apple.com>
3856         Reviewed by Anders.
3858         - remove code depending on the bridge to get from an NSView to a WebCore::Frame
3860         * WebCoreSupport/WebFrameLoaderClient.mm:
3861         (WebFrameLoaderClient::transitionToCommittedForNewPage): Remove incorrect call
3862         to setView. A couple lines later, there is a call to _install, which sets the
3863         view to the scroll view.
3865         * WebCoreSupport/WebViewFactory.mm: Removed bridgeForView method.
3867         * WebView/WebDynamicScrollBarsView.h: Moved most of the declarations out of
3868         this file, since it's used by Safari.
3869         * WebView/WebDynamicScrollBarsViewInternal.h: Added.
3870         * WebView/WebDynamicScrollBarsView.m:
3871         (-[WebDynamicScrollBarsView updateScrollers]): Ditto.
3872         (-[WebDynamicScrollBarsView setAllowsScrolling:]): Ditto.
3873         (-[WebDynamicScrollBarsView allowsScrolling]): Ditto.
3874         (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]): Ditto.
3875         (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]): Ditto.
3876         (-[WebDynamicScrollBarsView allowsHorizontalScrolling]): Ditto.
3877         (-[WebDynamicScrollBarsView allowsVerticalScrolling]): Ditto.
3878         (-[WebDynamicScrollBarsView horizontalScrollingMode]): Ditto.
3879         (-[WebDynamicScrollBarsView verticalScrollingMode]): Ditto.
3880         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]): Ditto.
3881         (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]): Ditto.
3882         (-[WebDynamicScrollBarsView setVerticalScrollingMode:]): Ditto.
3883         (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]): Ditto.
3884         (-[WebDynamicScrollBarsView setScrollingMode:]): Ditto.
3885         (-[WebDynamicScrollBarsView setScrollingMode:andLock:]): Ditto.
3887         * WebView/WebFrameView.mm:
3888         (-[WebFrameView _web_frame]): Added. Replaces the webCoreBridge method.
3890         * WebView/WebView.mm:
3891         (-[WebView setAlwaysShowVerticalScroller:]): Updated for changes to WebCoreFrameView.h.
3892         (-[WebView alwaysShowVerticalScroller]): Ditto.
3893         (-[WebView setAlwaysShowHorizontalScroller:]): Ditto.
3894         (-[WebView alwaysShowHorizontalScroller]): Ditto.
3896 2008-03-11  Darin Adler  <darin@apple.com>
3898         Reviewed by Sam.
3900         - eliminate the remaining parts of WebCoreBridge used for calls to WebKit from WebCore
3902         * WebCoreSupport/WebChromeClient.h: Added new virtual functions that replace
3903         bridge methods.
3904         * WebCoreSupport/WebChromeClient.mm: Added lots of BEGIN_BLOCK_OBJC_EXCEPTIONS
3905         to recently-created functions.
3906         (WebChromeClient::firstResponder): Moved code here from the bridge.
3907         (WebChromeClient::makeFirstResponder): Ditto.
3908         (WebChromeClient::runOpenPanel): Ditto.
3909         (WebChromeClient::willPopUpMenu): Ditto.
3911         * WebCoreSupport/WebFrameBridge.h: Removed almost everything. What's left
3912         is related to creating the bridge and connecting it to WebCore, which will
3913         go next when I eliminate use of the bridge to get to/from the Frame*.
3914         * WebCoreSupport/WebFrameBridge.mm:
3915         (-[WebFrameBridge close]): Moved the code to track the bridge count here
3916         instead of the dealloc and finalize methods.
3918 2008-03-11  Darin Adler  <darin@apple.com>
3920         Reviewed by Mitz.
3922         - update code affected by Range changes
3924         * Misc/WebNSAttributedStringExtras.mm:
3925         (+[NSAttributedString _web_attributedStringFromRange:]): Update for name changes.
3926         * WebView/WebHTMLRepresentation.mm:
3927         (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
3928         Use Range::create.
3929         * WebView/WebHTMLView.mm:
3930         (-[WebHTMLView attributedString]): Ditto.
3932 2008-03-10  Darin Adler  <darin@apple.com>
3934         Reviewed by Sam.
3936         - eliminate keyboard UI mode method from WebCoreFrameBridge
3938         * WebCoreSupport/WebChromeClient.h: Added keyboardUIMode function.
3939         * WebCoreSupport/WebChromeClient.mm:
3940         (WebChromeClient::keyboardUIMode): Ditto. Calls WebView.
3941         * WebCoreSupport/WebFrameBridge.h: Removed unused things, including the
3942         fields for keyboard UI mode.
3943         * WebCoreSupport/WebFrameBridge.mm:
3944         (-[WebFrameBridge dealloc]): Removed unneeded code; eliminated the fini
3945         method.
3946         (-[WebFrameBridge finalize]): Ditto.
3947         * WebView/WebView.mm: Moved the keyboard mode code in here.
3948         (-[WebView _close]): Remove observer from the distributed notification
3949         center as well as the normal one.
3950         (-[WebView _retrieveKeyboardUIModeFromPreferences:]): Added. Code moved
3951         here from the bridge.
3952         (-[WebView _keyboardUIMode]): Ditto.
3953         * WebView/WebViewInternal.h: Added _keyboardUIMode method.
3955 2008-03-10  Darin Adler  <darin@apple.com>
3957         Reviewed by Sam.
3959         - eliminate Java applet methods from WebCoreFrameBridge
3961         * WebCoreSupport/WebChromeClient.mm: Removed unneeded headers and declarations.
3962         * WebCoreSupport/WebFrameBridge.mm: Ditto. Also removed unneeded methods, including
3963         the ones that load Java applets.
3964         * WebCoreSupport/WebFrameLoaderClient.h: Added javaApplet function.
3965         * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
3967 2008-03-07  Simon Hausmann  <hausmann@webkit.org>
3969         Reviewed by Darin.
3971         Done with Lars.
3973         Simplified WebViewFactory's refreshPlugins method to only refresh the
3974         plugins and not reload the frames anymore since that's now done in a
3975         platform independent manner by WebCore::Page.
3977         Also removed the now unused pluginNameForMIMEType and
3978         pluginSupportsMIMEType methods.
3980         * WebCoreSupport/WebViewFactory.mm:
3981         * WebView/WebFrame.mm:
3982         * WebView/WebFrameInternal.h:
3983         * WebView/WebView.mm:
3985 2008-03-08  Mark Rowe  <mrowe@apple.com>
3987         Reviewed by Darin Adler.
3989         Fix 64-bit build with GCC 4.2.
3991         * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Use NSUInteger in place of unsigned where required.
3992         * DefaultDelegates/WebDefaultUIDelegate.m: Ditto.
3993         * History/WebHistoryItem.mm: Ditto.
3994         * Misc/WebElementDictionary.mm: Ditto.
3995         * WebCoreSupport/WebFrameLoaderClient.mm:
3996         (WebFrameLoaderClient::objectContentType): Move variable declaration outside of if to avoid warning about the
3997         variable being unused in 64-bit.
3998         * WebCoreSupport/WebInspectorClient.mm: Use NSUInteger in place of unsigned where required.
3999         * WebView/WebHTMLView.mm:
4000         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Use CGFloat in place of float where required.
4001         (-[WebTextCompleteController numberOfRowsInTableView:]): Use NSInteger in place of int where required.
4003 2008-03-08  Darin Adler  <darin@apple.com>
4005         Reviewed by Adele.
4007         - eliminate custom highlight methods from WebCoreFrameBridge
4009         * WebCoreSupport/WebChromeClient.h: Added custom highlight functions.
4010         * WebCoreSupport/WebChromeClient.mm:
4011         (WebChromeClient::customHighlightRect): Moved code here from bridge.
4012         (WebChromeClient::paintCustomHighlight): Ditto.
4013         * WebCoreSupport/WebFrameBridge.mm: Removed code here.
4015 2008-03-07  David D. Kilzer  <ddkilzer@apple.com>
4017         Unify concept of enabling Netscape Plug-in API (NPAPI).
4019         Reviewed by Darin.
4021         * WebKit.exp: Removed unused class export for WebBaseNetscapePluginView.
4023         * WebKitPrefix.h: Removed WTF_USE_NPOBJECT since we now use
4024         ENABLE(NETSCAPE_PLUGIN_API) as defined in Platform.h.
4026         * Plugins/WebBaseNetscapePluginStream.h: Replaced #ifndef __LP64__ with
4027         #if ENABLE(NETSCAPE_PLUGIN_API).
4028         * Plugins/WebBaseNetscapePluginStream.mm: Ditto.
4029         * Plugins/WebBaseNetscapePluginView.h: Ditto.
4030         * Plugins/WebBaseNetscapePluginView.mm: Ditto.
4031         * Plugins/WebBaseNetscapePluginViewInternal.h: Ditto.
4032         * Plugins/WebBaseNetscapePluginViewPrivate.h: Ditto.
4033         * Plugins/WebBasePluginPackage.h: Ditto.
4034         * Plugins/WebBasePluginPackage.m: Ditto.
4035         (+[WebBasePluginPackage pluginWithPath:]):
4036         * Plugins/WebNetscapeDeprecatedFunctions.c: Ditto.
4037         * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
4038         * Plugins/WebNetscapePluginEmbeddedView.h: Ditto.
4039         * Plugins/WebNetscapePluginEmbeddedView.mm: Ditto.
4040         * Plugins/WebNetscapePluginPackage.h: Ditto.
4041         * Plugins/WebNetscapePluginPackage.m: Ditto.
4042         * Plugins/WebNetscapePluginStream.h: Ditto.
4043         * Plugins/WebNetscapePluginStream.mm: Ditto.
4044         * Plugins/WebPluginDatabase.m: Ditto.
4045         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
4046         * Plugins/npapi.m: Ditto.
4047         * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
4048         (WebFrameLoaderClient::objectContentType):
4049         (WebFrameLoaderClient::createPlugin):
4050         * WebView/WebHTMLView.mm: Ditto.
4051         (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
4052         * WebView/WebHTMLViewInternal.h: Ditto.
4054         * WebView/WebFrame.mm: Replaced #ifndef __LP64__ with
4055         #if ENABLE(NETSCAPE_PLUGIN_API). Moved methods below from (WebPrivate)
4056         category to (WebInternal) category so we don't expose the ENABLE() macro
4057         from the private header.
4058         (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
4059         (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
4060         * WebView/WebFrameInternal.h: Ditto.
4061         * WebView/WebFramePrivate.h: Ditto.
4063 2008-03-07  Alexey Proskuryakov  <ap@webkit.org>
4065         Reviewed by Darin.
4067         <rdar://problem/5579292> REGRESSION: (safari 2-3): "Default default" encoding for Korean
4068         changed from Korean (Windows, DOS) to Korean (ISO 2022-KR), which breaks some sites
4070         * WebView/WebPreferences.m:
4071         (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Make encoding name match
4072         the one used in Safari.
4074 2008-03-07  Mark Rowe  <mrowe@apple.com>
4076         Reviewed by Oliver Hunt.
4078         Fix WebKit build with GCC 4.2.
4080         * Plugins/WebBaseNetscapePluginView.mm: Use the correct return type in method signature.
4082 2008-03-07  Darin Adler  <darin@apple.com>
4084         Reviewed by Adam.
4086         - eliminated WebCoreFrameBridge runOpenPanel
4088         * WebCoreSupport/WebChromeClient.h: Added runOpenPanel.
4089         * WebCoreSupport/WebChromeClient.mm:
4090         (WebChromeClient::runOpenPanel): Added.
4091         (-[WebOpenPanelResultListener initWithChooser:]): Added. Used to wrap the
4092         FileChooser so it can get a result from the UI delegate.
4093         (-[WebOpenPanelResultListener dealloc]): Added.
4094         (-[WebOpenPanelResultListener finalize]): Added.
4095         (-[WebOpenPanelResultListener cancel]): Added.
4096         (-[WebOpenPanelResultListener chooseFilename:]): Added.
4098 2008-03-06  Darin Adler  <darin@apple.com>
4100         Reviewed by Mitz.
4102         - fix regression test failures from the visited-link change
4104         * History/WebHistory.mm:
4105         (+[WebHistory setOptionalSharedHistory:]): Call PageGroup::setShouldTrackVisitedLinks
4106         to turn off visited links if there is no history object. Also call
4107         removeAllVisitedLinks so we can start over from scratch with the new history.
4109 2008-03-06  Dan Bernstein  <mitz@apple.com>
4111         Reviewed by Darin Adler.
4113         - fix a regression from r30741: a crash under
4114           WebFrameLoaderClient::createPlugin() when showing a Mail message with
4115           an attachment
4117         * WebCoreSupport/WebFrameLoaderClient.mm:
4118         (WebFrameLoaderClient::createPlugin):
4120 2008-03-06  Darin Adler  <darin@apple.com>
4122         - fix Tiger build
4124         * History/WebHistory.mm: Added include of WebTypesInternal.h.
4126 2008-03-06  Darin Adler  <darin@apple.com>
4128         - fix Release build
4130         * History/WebHistory.mm:
4131         (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]): Removed underscore.
4132         (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]): Added #if.
4133         (-[WebHistoryPrivate saveToURL:error:]): Ditto.
4135 2008-03-06  Darin Adler  <darin@apple.com>
4137         Reviewed by Mitz.
4139         - fix http://bugs.webkit.org/show_bug.cgi?id=17526
4140           REGRESSION: iframes are added to Safari's History menu
4141           by separating the visited link machinery from global history
4143         * History/WebHistory.mm: Moved WebHistoryPrivate inside this file.
4144         (-[WebHistoryPrivate removeItemFromDateCaches:]): Removed the underscore from this
4145         method name, since it's on a private object.
4146         (-[WebHistoryPrivate removeItemForURLString:]): Added a call to the
4147         PageGroup::removeAllVisitedLinks function if the last URL was removed.
4148         (-[WebHistoryPrivate addItemToDateCaches:]): Removed the underscore from this
4149         method name, since it's on a private object.
4150         (-[WebHistoryPrivate removeAllItems]): Call PageGroup::removeAllVisitedLinks.
4151         (-[WebHistoryPrivate ageLimitDate]): Removed the underscore from this
4152         method name, since it's on a private object.
4153         (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
4154         Ditto.
4155         (-[WebHistoryPrivate saveHistoryGuts:URL:error:]): Ditto. Also changed this
4156         to correctly return the error by using the newer version of writeToURL: and
4157         removed the FIXME about that.
4158         (-[WebHistoryPrivate addVisitedLinksToPageGroup:]): Added. Calls addVisitedLink
4159         for every link in the history.
4160         (-[WebHistory saveToURL:error:]): Removed the FIXME, since we do get the error now.
4161         (-[WebHistory addItem:]): Moved into the WebPrivate category.
4162         (-[WebHistory addItemForURL:]): Ditto.
4163         (-[WebHistory _addItemForURL:title:]): Added. Used for the normal case where we
4164         create an item and already know its title.
4165         (-[WebHistory ageLimitDate]): Moved into the WebPrivate category.
4166         (-[WebHistory containsItemForURLString:]): Ditto.
4167         (-[WebHistory removeItem:]): Ditto.
4168         (-[WebHistory setLastVisitedTimeInterval:forItem:]): Ditto.
4169         (-[WebHistory _itemForURLString:]): Ditto.
4170         (-[WebHistory _addVisitedLinksToPageGroup:]): Added. For use only inside WebKit.
4172         * History/WebHistoryInternal.h: Added.
4173         * History/WebHistoryItemInternal.h: Tweaked formatting and includes.
4174         * History/WebHistoryPrivate.h: Moved the WebHistoryPrivate class out of this header.
4175         Also reorganized what was left behind.
4177         * WebCoreSupport/WebChromeClient.h: Added populateVisitedLinks.
4178         * WebCoreSupport/WebChromeClient.mm:
4179         (WebChromeClient::populateVisitedLinks): Added a call to the new
4180         -[WebHistory _addVisitedLinksToPageGroup:] method.
4182         * WebCoreSupport/WebFrameLoaderClient.mm:
4183         (WebFrameLoaderClient::updateGlobalHistory): Changed code to use the new
4184         -[WebHistory _addItemForURL:title:] method.
4186 2008-03-05  Adam Roben  <aroben@apple.com>
4188         Rename WebCoreScriptDebuggerImp.{h,mm} to WebScriptDebugger.{h,mm}
4190         Reviewed by Kevin M.
4192         * WebView/WebFrame.mm:
4193         * WebView/WebScriptDebugDelegate.mm:
4194         * WebView/WebScriptDebugger.h: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.h.
4195         * WebView/WebScriptDebugger.mm: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.mm.
4197 2008-03-05  Adam Roben  <aroben@apple.com>
4199         Rename WebCoreScriptDebuggerImp to WebScriptDebugger
4201         Reviewed by Kevin M.
4203         * WebView/WebCoreScriptDebuggerImp.h:
4204         * WebView/WebCoreScriptDebuggerImp.mm:
4205         * WebView/WebFrame.mm:
4206         (-[WebFrame _attachScriptDebugger]):
4207         * WebView/WebFrameInternal.h:
4209 2008-03-05  Adam Roben  <aroben@apple.com>
4211         Remove WebScriptDebugger
4213         Uses of WebScriptDebugger have been replaced with
4214         WebCoreScriptDebuggerImp.
4216         Reviewed by Kevin M.
4218         * WebView/WebFrame.mm:
4219         (-[WebFramePrivate dealloc]): Use delete instead of release since
4220         WebCoreScriptDebuggerImp is a C++ class.
4221         (-[WebFrame _attachScriptDebugger]): Updated to use early returns and
4222         WebCoreScriptDebuggerImp.
4223         (-[WebFrame _detachScriptDebugger]): Ditto.
4224         * WebView/WebFrameInternal.h:
4225         * WebView/WebScriptDebugDelegate.mm: Removed WebScriptDebugger
4226         * WebView/WebScriptDebugDelegatePrivate.h: Removed.
4227         * WebView/WebView.mm:
4229 2008-03-05  Adam Roben  <aroben@apple.com>
4231         Remove -webFrame and -globalObject from WebScriptDebugger
4233         WebCoreScriptDebuggerImp is now unaware of WebScriptDebugger
4235         Reviewed by Kevin M.
4237         * WebView/WebCoreScriptDebuggerImp.h: Removed WebScriptDebugger*
4238         parameter to the constructor.
4239         * WebView/WebCoreScriptDebuggerImp.mm:
4240         (toWebFrame): Added.
4241         (WebCoreScriptDebuggerImp::sourceParsed): Call toWebFrame.
4242         (WebCoreScriptDebuggerImp::callEvent): Ditto, and get the Frame's
4243         WindowScriptObject ourselves instead of asking WebScriptDebugger for
4244         it.
4245         (WebCoreScriptDebuggerImp::atStatement): Call toWebFrame.
4246         (WebCoreScriptDebuggerImp::returnEvent): Ditto.
4247         (WebCoreScriptDebuggerImp::exception): Ditto.
4248         * WebView/WebScriptDebugDelegate.mm:
4249         (-[WebScriptDebugger initWithWebFrame:]): Updated for change to
4250         WebScriptDebuggerImp's constructor.
4251         * WebView/WebScriptDebugDelegatePrivate.h: Removed
4252         -webFrame/-globalObject.
4254 2008-03-05  Adam Roben  <aroben@apple.com>
4256         Remove -enterFrame: and -leaveFrame from WebScriptDebugger
4258         Reviewed by Kevin M.
4260         * WebView/WebCoreScriptDebuggerImp.h: Changed to store m_topCallFrame
4261         in a RetainPtr, now that WebCoreScriptDebuggerImp is in charge of its
4262         lifetime.
4263         * WebView/WebCoreScriptDebuggerImp.mm:
4264           - Added declaration of -[WebScriptCallFrame
4265             _initWithGlobalObject:caller:state:].
4266           - Changed most uses of m_topCallFrame to m_topCallFrame.get()
4267         (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Removed
4268         now-unnecessary initialization of m_topCallFrame.
4269         (WebCoreScriptDebuggerImp::callEvent): Replaced call to enterFrame:
4270         with its implementation. The one difference between this
4271         implementation and the old enterFrame: method is that we don't hand
4272         our reference to m_topCallFrame to _initWithGlobalObject: -- that
4273         method must now retain the passed-in WebScriptCallFrame manually.
4274         (WebCoreScriptDebuggerImp::atStatement):
4275         (WebCoreScriptDebuggerImp::returnEvent): Replaced call to leaveFrame
4276         with its implementation.
4277         (WebCoreScriptDebuggerImp::exception):
4278         * WebView/WebScriptDebugDelegate.mm: Removed declaration of
4279         -[WebScriptCallFrame _initWithGlobalObject:caller:state:].
4280         (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Changed
4281         to retain the passed-in caller.
4282         * WebView/WebScriptDebugDelegatePrivate.h:
4283           - Removed _current ivar
4284           - Removed enterFrame:/leaveFrame declarations.
4286 2008-03-05  Adam Roben  <aroben@apple.com>
4288         Remove -parsedSource: from WebScriptDebugger
4290         Reviewed by Kevin M.
4292         * WebView/WebCoreScriptDebuggerImp.mm:
4293         (WebCoreScriptDebuggerImp::sourceParsed): Moved code here from
4294         -[WebScriptDebugger parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]
4295         * WebView/WebScriptDebugDelegate.mm: Removed -parsedSource:.
4296         * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
4298 2008-03-05  Adam Roben  <aroben@apple.com>
4300         Remove -enteredFrame:, -leavingFrame:, and -exceptionRaised: from WebScriptDebugger
4302         Reviewed by Kevin M.
4304         * WebView/WebCoreScriptDebuggerImp.mm:
4305         (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Changed to call
4306         trhough to callEvent instead of duplicating its code here.
4307         (WebCoreScriptDebuggerImp::callEvent): Moved code from
4308         -[WebScriptDebugger enteredFrame:sourceId:line:] here.
4309         (WebCoreScriptDebuggerImp::returnEvent): Moved code from
4310         -[WebScriptDebugger leavingFrame:sourceId:line:] here.
4311         (WebCoreScriptDebuggerImp::exception): Moved code from
4312         -[WebScriptDebugger exceptionRaised:sourceId:line:] here.
4313         * WebView/WebScriptDebugDelegate.mm: Removed -enteredFrame:,
4314         -leavingFrame:, and -exceptionRaised:.
4315         * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
4317 2008-03-05  Adam Roben  <aroben@apple.com>
4319         Remove -[WebScriptDebugger hitStatement:sourceId:line:]
4321         Reviewed by Kevin M.
4323         * WebView/WebCoreScriptDebuggerImp.mm:
4324         (WebCoreScriptDebuggerImp::atStatement): Moved code here from
4325         -[WebScriptDebugger hitStatement:sourceId:line:].
4326         * WebView/WebScriptDebugDelegate.mm:
4327         (-[WebScriptDebugger webFrame]): Added.
4328         * WebView/WebScriptDebugDelegatePrivate.h:
4330 2008-03-05  Adam Roben  <aroben@apple.com>
4332         Remove WebCoreScriptDebugger
4334         Reviewed by Kevin M.
4336         * WebView/WebCoreScriptDebugger.h: Removed.
4337         * WebView/WebCoreScriptDebugger.mm: Removed.
4338         * WebView/WebCoreScriptDebuggerImp.h: Replaced WebCoreScriptDebugger
4339         with WebScriptDebugger.
4340         * WebView/WebCoreScriptDebuggerImp.mm: Ditto, and replaced [m_debugger
4341         delegate] with just m_debugger.
4342         (toNSString): Moved here from WebCoreScriptDebugger.mm.
4343         (toNSURL): Ditto.
4344         (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
4345         (WebCoreScriptDebuggerImp::sourceParsed):
4346         (WebCoreScriptDebuggerImp::callEvent):
4347         (WebCoreScriptDebuggerImp::atStatement):
4348         (WebCoreScriptDebuggerImp::returnEvent):
4349         (WebCoreScriptDebuggerImp::exception):
4350         * WebView/WebScriptDebugDelegate.mm:
4351         (-[WebScriptDebugger initWithWebFrame:]): _debugger now holds a
4352         WebCoreScriptDebuggerImp, so initialize it properly.
4353         * WebView/WebScriptDebugDelegatePrivate.h: Changed _debugger to hold a
4354         WebCoreScriptDebuggerImp.
4356 2008-03-05  Adam Roben  <aroben@apple.com>
4358         Move WebCoreScriptDebuggerImp to its own source files
4360         Also changed WebCoreScriptDebuggerImp coding style to match our style
4361         guidelines.
4363         Reviewed by Kevin M.
4365         * WebView/WebCoreScriptDebugger.h: Added declaration of toNSURL
4366         function.
4367         * WebView/WebCoreScriptDebugger.mm: Removed WebCoreScriptDebuggerImp
4368         implementation.
4369         (toNSURL): Made no longer static.
4370         * WebView/WebCoreScriptDebuggerImp.h: Added.
4371         * WebView/WebCoreScriptDebuggerImp.mm: Added. Code was moved here from
4372         WebCoreScriptDebugger.mm and cleaned up.
4373         (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
4374         (WebCoreScriptDebuggerImp::sourceParsed):
4375         (WebCoreScriptDebuggerImp::callEvent):
4376         (WebCoreScriptDebuggerImp::atStatement):
4377         (WebCoreScriptDebuggerImp::returnEvent):
4378         (WebCoreScriptDebuggerImp::exception):
4380 2008-03-05  Adam Roben  <aroben@apple.com>
4382         Move -_enterFrame and -_leaveFrame from WebCoreScriptDebugger to WebScriptDebugger
4384         Reviewed by Kevin M.
4386         * WebView/WebCoreScriptDebugger.h:
4387           - Removed newFrameWithGlobalObject:caller:state: from
4388             WebScriptDebugger protocol
4389           - Added enterFrame: and leaveFrame: to WebScriptDebugger protocol
4390           - Removed _current ivar from WebCoreScriptDebugger
4391         * WebView/WebCoreScriptDebugger.mm:
4392         (WebCoreScriptDebuggerImp::callEvent): Changed to call enterFrame on
4393         the delegate.
4394         (WebCoreScriptDebuggerImp::returnEvent): Ditto for leaveFrame.
4395         * WebView/WebScriptDebugDelegate.mm:
4396         (-[WebScriptDebugger dealloc]): Added code to release _current.
4397         (-[WebScriptDebugger enterFrame:]): Added. Code came from
4398         WebCoreScriptDebugger.
4399         (-[WebScriptDebugger leaveFrame]): Ditto.
4400         * WebView/WebScriptDebugDelegatePrivate.h: Added _current ivar.
4402 2008-03-05  Adam Roben  <aroben@apple.com>
4404         Remove WebCoreScriptCallFrame
4406         Reviewed by Tim.
4408         * WebView/WebCoreScriptDebugger.h:
4409           - Replaced WebCoreScriptCallFrame with WebScriptCallFrame
4410           - Replaced -newWrapperForFrame: with
4411             -newFrameWithGlobalObject:caller:state:
4412           - Removed WebCoreScriptCallFrame interface.
4413         * WebView/WebCoreScriptDebugger.mm: Replaced WebCoreScriptCallFrame
4414         with WebScriptCallFrame.
4415         (-[WebCoreScriptDebugger _enterFrame:]): Changed to call
4416         -newFrameWithGlobalObject:caller:state.
4417         (-[WebCoreScriptDebugger _leaveFrame]):
4418         * WebView/WebScriptDebugDelegate.h: Changed WebScriptCallFrame's
4419         _private ivar to be of type WebScriptCallFramePrivate*.
4420         * WebView/WebScriptDebugDelegate.mm:
4421           - Replaced WebCoreScriptCallFrame with WebScriptCallFrame
4422           - Added WebScriptCallFramePrivate
4423         (-[WebScriptDebugger enteredFrame:sourceId:line:]):
4424         (-[WebScriptDebugger hitStatement:sourceId:line:]):
4425         (-[WebScriptDebugger leavingFrame:sourceId:line:]):
4426         (-[WebScriptDebugger exceptionRaised:sourceId:line:]):
4427         (-[WebScriptCallFramePrivate dealloc]): Added.
4428         (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Added.
4429         Code came from WebCoreScriptCallFrame.
4430         (-[WebScriptCallFrame dealloc]): Added a call to release the _private
4431         ivar.
4432         (-[WebScriptCallFrame _convertValueToObjcValue:]): Replaced calls to
4433         _private with direct access of _private's ivars.
4434         (-[WebScriptCallFrame caller]): Ditto.
4435         (-[WebScriptCallFrame scopeChain]): Ditto.
4436         (-[WebScriptCallFrame evaluateWebScript:]): Ditto.
4438 2008-03-05  Adam Roben  <aroben@apple.com>
4440         Move -_convertValueToObjcValue to WebScriptCallFrame
4442         Reviewed by Darin.
4444         * WebView/WebCoreScriptDebugger.h: Removed declaration of
4445         -_convertValueToObjcValue.
4446         * WebView/WebCoreScriptDebugger.mm: Removed -_convertValueToObjcValue.
4447         * WebView/WebScriptDebugDelegate.mm:
4448         (-[WebScriptCallFrame _convertValueToObjcValue:]): Added. Code came
4449         from -[WebCoreScriptCallFrame _convertValueToObjcValue].
4450         (-[WebScriptCallFrame scopeChain]): Changed to call
4451         -_convertValueToObjcValue on self instead of _private.
4452         (-[WebScriptCallFrame exception]): Ditto.
4453         (-[WebScriptCallFrame evaluateWebScript:]): Ditto.
4455 2008-03-05  Adam Roben  <aroben@apple.com>
4457         Move -exception and -evaluateWebScript: to WebScriptCallFrame
4459         Reviewed by Darin.
4461         * WebView/WebCoreScriptDebugger.h: Removed declarations of -exception
4462         and -evaluateWebScript:.
4463         * WebView/WebCoreScriptDebugger.mm: Removed -exception and
4464         -evaluateWebScript:.
4465         * WebView/WebScriptDebugDelegate.mm:
4466         (-[WebScriptCallFrame exception]): Added. Code came from
4467         -[WebCoreScriptCallFrame exception].
4468         (-[WebScriptCallFrame evaluateWebScript:]): Added. Code came from
4469         -[WebCoreScriptCallFrame evaluateWebScript:].
4471 2008-03-05  Adam Roben  <aroben@apple.com>
4473         Move -scopeChain to WebScriptCallFrame
4475         Reviewed by Darin.
4477         * WebView/WebCoreScriptDebugger.h:
4478           - Added declarations of -globalObject and -_convertValueToObjcValue:
4479             to WebCoreScriptCallFrame
4480           - Removed declaration of -scopeChain.
4481         * WebView/WebCoreScriptDebugger.mm: Moved -_convertValueToObjcValue
4482         within the main WebCoreScriptCallFrame implementation.
4483         (-[WebCoreScriptCallFrame globalObject]): Added.
4484         * WebView/WebScriptDebugDelegate.mm:
4485         (-[WebScriptCallFrame scopeChain]): Added. Code came from
4486         -[WebCoreScriptCallFrame scopeChain].
4488 2008-03-05  Adam Roben  <aroben@apple.com>
4490         Move -functionName from WebCoreScriptCallFrame to WebScriptCallFrame
4492         Reviewed by Darin.
4494         * WebView/WebCoreScriptDebugger.h:
4495           - Removed #else case of #ifdef __cplusplus since this file is only
4496             ever used by C++ Objective-C files
4497           - Removed 'using KJS::ExecState' statement since we prefer not to
4498             have using statements in header files
4499           - Consequently prefixed uses of ExecState with KJS::
4500           - Added declaration of toNSString method that takes a const
4501             UString&
4502           - Added declaration of -[WebCoreScriptCallFrame state]
4503           - Removed declaration of -[WebCoreScriptCallFrame functionName]
4504         * WebView/WebCoreScriptDebugger.mm:
4505         (toNSString): Made this no longer static.
4506         (-[WebCoreScriptCallFrame state]): Added.
4507         * WebView/WebScriptDebugDelegate.mm:
4508         (-[WebScriptCallFrame functionName]): Added. Code came from
4509         -[WebCoreScriptCallFrame functionName], though I changed some nested
4510         ifs into early returns.
4512 2008-03-05  Adam Roben  <aroben@apple.com>
4514         Move WebCoreScriptDebugger to WebKit
4516         Reviewed by Darin.
4518         * WebView/WebCoreScriptDebugger.h: Renamed from WebCore/page/mac/WebCoreScriptDebugger.h.
4519         * WebView/WebCoreScriptDebugger.mm: Renamed from WebCore/page/mac/WebCoreScriptDebugger.mm.
4520         (toNSString):
4521         (toNSURL):
4522         (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
4523         (WebCoreScriptDebuggerImp::sourceParsed):
4524         (WebCoreScriptDebuggerImp::callEvent):
4525         (WebCoreScriptDebuggerImp::atStatement):
4526         (WebCoreScriptDebuggerImp::returnEvent):
4527         (WebCoreScriptDebuggerImp::exception):
4528         (+[WebCoreScriptDebugger initialize]):
4529         (-[WebCoreScriptDebugger initWithDelegate:]):
4530         (-[WebCoreScriptDebugger dealloc]):
4531         (-[WebCoreScriptDebugger finalize]):
4532         (-[WebCoreScriptDebugger delegate]):
4533         (-[WebCoreScriptDebugger _enterFrame:]):
4534         (-[WebCoreScriptDebugger _leaveFrame]):
4535         (-[WebCoreScriptCallFrame _initWithGlobalObject:caller:state:]):
4536         (-[WebCoreScriptCallFrame _setWrapper:]):
4537         (-[WebCoreScriptCallFrame _convertValueToObjcValue:]):
4538         (-[WebCoreScriptCallFrame dealloc]):
4539         (-[WebCoreScriptCallFrame wrapper]):
4540         (-[WebCoreScriptCallFrame caller]):
4541         (-[WebCoreScriptCallFrame scopeChain]):
4542         (-[WebCoreScriptCallFrame functionName]):
4543         (-[WebCoreScriptCallFrame exception]):
4544         (-[WebCoreScriptCallFrame evaluateWebScript:]):
4545         * WebView/WebScriptDebugDelegate.mm: Updated header path.
4546         * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
4548 2008-03-05  Anders Carlsson  <andersca@apple.com>
4550         Reviewed by Geoff.
4552         Include file changes.
4553         
4554         * Plugins/WebBaseNetscapePluginView.mm:
4555         * Plugins/WebNetscapePluginPackage.m:
4557 2008-03-04  Timothy Hatcher  <timothy@apple.com>
4559         Reviewed by Darin Adler.
4561         <rdar://problem/5720160> Browser windows "do nothing" while modal
4562         dialog or menu is up due to run loop modes (or while scrolling)
4564         Add new API that lets a WebView be scheduled with multiple runloops and modes.
4565         This lets loading continue when in a nested runloop or in a different mode.
4567         * Misc/WebKitVersionChecks.h: Add a new version define:
4568         WEBKIT_FIRST_VERSION_WITH_LOADING_DURING_COMMON_RUNLOOP_MODES.
4569         * WebView/WebView.mm:
4570         (-[WebView _commonInitializationWithFrameName:groupName:]): Schedule in the main runloop and with
4571         the default runloop mode if we are linked on an earlier WebKit version, use common modes otherwise.
4572         (-[WebView scheduleInRunLoop:forMode:]): New API, that calls through to Page.
4573         (-[WebView unscheduleFromRunLoop:forMode:]): Ditto.
4574         * WebView/WebViewPrivate.h: Add the new pending API methods.
4576 2008-03-04  Anders Carlsson  <andersca@apple.com>
4578         Reviewed by Darin.
4580         Fix crash that happens when trying to load a page with a Java applet.
4581         
4582         * WebCoreSupport/WebFrameLoaderClient.mm:
4583         Don't release the names and values array - the kit method returns an autoreleased array.
4585 2008-03-04  Darin Adler  <darin@apple.com>
4587         Reviewed by Adam.
4589         - fix 200+ failing regression tests
4590         - fix http://bugs.webkit.org/show_bug.cgi?id=17668
4591           Vertical scrollbar at slashdot.org is randomly not shown
4593         * WebCoreSupport/WebFrameLoaderClient.mm:
4594         (WebFrameLoaderClient::transitionToCommittedForNewPage): Changed the refcounting
4595         code here to exactly match the way it was before it was moved from WebCore. I had
4596         introduced a storage leak and that was causing problems with scroll bars!
4598 2008-03-04  Darin Adler  <darin@apple.com>
4600         Reviewed by Adam.
4602         - remove WebCoreFrameBridge reapplyStyles method
4604         * WebView/WebHTMLView.mm:
4605         (-[WebHTMLView reapplyStyles]): Moved code to reapply styles here from the bridge.
4607 2008-03-04  Darin Adler  <darin@apple.com>
4609         Reviewed by Adam.
4611         - eliminate WebCoreFrameBridge createFrameViewWithNSView
4613         * WebCoreSupport/WebFrameLoaderClient.mm:
4614         (WebFrameLoaderClient::transitionToCommittedForNewPage):
4615         Moved code here from createFrameViewWithNSView.
4617 2008-03-04  Darin Adler  <darin@apple.com>
4619         Reviewed by Adam.
4621         - removed WebCoreFrameBridge scrollOverflowInDirection
4623         * WebView/WebFrameView.mm:
4624         (-[WebFrameView _scrollOverflowInDirection:granularity:]): Changed to call
4625         EventHandler directly instead of using the bridge.
4626         (-[WebFrameView scrollToBeginningOfDocument:]): Updated to use WebCore enums instead
4627         of the ones from the bridge.
4628         (-[WebFrameView scrollToEndOfDocument:]): Ditto.
4629         (-[WebFrameView _pageVertically:]): Ditto.
4630         (-[WebFrameView _pageHorizontally:]): Ditto.
4631         (-[WebFrameView _scrollLineVertically:]): Ditto.
4632         (-[WebFrameView _scrollLineHorizontally:]): Ditto.
4634 2008-03-04  Darin Adler  <darin@apple.com>
4636         Reviewed by Adam.
4638         - remove WebCoreFrameBridge installInFrame: method
4640         * WebCoreSupport/WebFrameLoaderClient.mm:
4641         (WebFrameLoaderClient::transitionToCommittedForNewPage): Call
4642         -[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:].
4643         * WebView/WebFrameView.mm:
4644         (-[WebFrameView _install]): Added. Has code from -[WebCoreFrameBridge installInFrame:].
4645         (-[WebFrameView _setCustomScrollViewClass:]): Used early return idiom so the entire
4646         method isn't nested inside an if statement. Call
4647         -[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:].
4648         * WebView/WebFrameViewInternal.h: Added declaration of _install method so it can be
4649         used in WebFrameLoaderClient.mm.
4651 2008-03-04  Darin Adler  <darin@apple.com>
4653         Reviewed by Adam.
4655         - remove WebCoreFrameBridge window method
4657         * WebCoreSupport/WebFrameBridge.mm: Removed window method.
4659 2008-03-04  Darin Adler  <darin@apple.com>
4661         Reviewed by Adam.
4663         - move code from WebFrameBridge into WebFrameLoaderClient
4665         * WebCoreSupport/WebFrameBridge.h: Removed unused fields, changed frame name parameters
4666         to use WebCore::String instead of NSString, add initSubframeWithOwnerElement declaration,
4667         removed viewForPluginWithFrame, viewForJavaAppletWithFrame, createChildFrameNamed,
4668         redirectDataToPlugin, determineObjectFromMIMEType, and windowObjectCleared methods.
4669         * WebCoreSupport/WebFrameBridge.mm:
4670         (-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]):
4671         Changed to use WebCore::String.
4672         (-[WebFrameBridge initMainFrameWithPage:frameName:WebCore::frameView:]): Ditto.
4673         (-[WebFrameBridge initSubframeWithOwnerElement:frameName:WebCore::frameView:]): Ditto.
4675         * WebCoreSupport/WebFrameLoaderClient.mm:
4676         (WebFrameLoaderClient::setOriginalURLForDownload): Removed some dead code I found here
4677         and added a FIXME.
4678         (WebFrameLoaderClient::createFrame): Moved the code from WebFrameBridge here.
4679         (WebFrameLoaderClient::objectContentType): Ditto.
4680         (parameterValue): Added.  Helper function, based on code originally in WebFrameBridge.
4681         (pluginView): Ditto.
4682         (WebFrameLoaderClient::createPlugin): Moved the code from WebFrameBridge here.
4684 2008-03-04  Darin Adler  <darin@apple.com>
4686         Reviewed by Adam.
4688         - remove -[WebCoreFrameBridge dashboardRegionsChanged:]
4690         * WebCoreSupport/WebChromeClient.h:
4691         * WebCoreSupport/WebChromeClient.mm:
4692         (WebChromeClient::dashboardRegionsChanged): Moved code here from the bridge.
4693         The WebCore side now calls this only when there's an actual change.
4694         * WebCoreSupport/WebFrameBridge.h: Removed lastDashboardRegions.
4695         * WebCoreSupport/WebFrameBridge.mm:
4696         (-[WebFrameBridge dealloc]): Removed code to release lastDashboardRegions.
4697         Removed _compareDashboardRegions: and dashboardRegionsChanged: methods.
4699 2008-03-04  Darin Adler  <darin@apple.com>
4701         Reviewed by Adam.
4703         - remove WebCoreFrameBridge issuePasteComand method
4705         * WebCoreSupport/WebFrameBridge.mm: Removed issuePasteCommand method.
4706         * WebView/WebHTMLViewInternal.h: Removed declaration of paste: method.
4708 2008-03-03  Darin Adler  <darin@apple.com>
4710         Reviewed by Adam.
4712         - some "cleanup" on the path to removing WebCoreFrameBridge
4714         * Storage/WebDatabaseManager.mm: Tweak includes.
4715         * Storage/WebDatabaseTrackerClient.mm: Ditto.
4716         * Storage/WebSecurityOrigin.mm: Ditto.
4717         * Storage/WebSecurityOriginInternal.h: Ditto.
4719         * WebView/WebFrame.mm:
4720         (core): Changed to get rid of the requirement that WebKitEditableLinkBehavior exactly
4721         match WebCore::EditableLinkBehavior.
4722         * WebView/WebFrameInternal.h: Removed unused kit function.
4724         * WebView/WebHTMLView.mm: Moved WebHTMLViewPrivate class in here.
4725         * WebView/WebHTMLViewInternal.h: Moved WebHTMLVewPrivate class out of here.
4726         * WebView/WebHTMLViewPrivate.h: Tweaked formatting and removed some unneeded declarations.
4728         * WebView/WebPreferencesPrivate.h: Removed a no-longer-needed comment.
4730 2008-03-01  Mark Rowe  <mrowe@apple.com>
4732         Reviewed by Tim Hatcher.
4734         Update Xcode configuration to support building debug and release from the mysterious future.
4736         * Configurations/DebugRelease.xcconfig:
4738 2008-02-29  Mark Rowe  <mrowe@apple.com>
4740         Reviewed by Anders Carlsson.
4742         Replace use of WKPathFromFont with implementation in terms of public API.
4744         * WebCoreSupport/WebSystemInterface.m:
4745         (InitWebCoreSystemInterface): Remove unused symbol.
4747 2008-02-29  Mark Rowe  <mrowe@apple.com>
4749         Reviewed by Oliver Hunt.
4751         Fix spelling of "request" in name of WKNSURLProtocolClassForRequest.
4753         * Misc/WebNSURLExtras.mm:
4754         (-[NSURL _webkit_canonicalize]):
4755         * WebKit.order:
4757 2008-02-29  Mark Rowe  <mrowe@apple.com>
4759         Reviewed by Oliver Hunt.
4761         Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
4763         * WebCoreSupport/WebSystemInterface.m:
4764         (InitWebCoreSystemInterface):
4766 2008-02-29  Mark Rowe  <mrowe@apple.com>
4768         Reviewed by Oliver Hunt.
4770         Remove obsolete code that had been left intact to support users running WebKit with older versions of Safari.
4772         * Misc/WebNSViewExtras.m:  Remove _web_superviewOfClass:stoppingAtClass:.
4773         * Misc/WebNSWindowExtras.m:  Remove _webkit_displayThrottledWindows.
4774         * Misc/WebSearchableTextView.m:  Remove selectionImageForcingWhiteText:.
4775         * WebCoreSupport/WebImageRendererFactory.m:  Update comment to mention the last version of Safari that
4776         requires this class.
4777         * WebInspector/WebInspector.mm:  Remove sharedWebInspector and update comments to mention the last version
4778         of Safari that calls other obsolete methods.
4779         * WebView/WebDocumentPrivate.h:  Remove selectionImageForcingWhiteText:.
4780         * WebView/WebHTMLView.mm:  Ditto.
4781         * WebView/WebPDFView.mm:  Ditto.
4782         * WebView/WebView.mm:  Update comment to mentoin the last version of Safari that requires the obsolete method.
4784 2008-02-29  Mark Rowe  <mrowe@apple.com>
4786         Rubber-stamped by Eric Seidel.
4788         Remove unneeded includes of WebKitSystemInterface.h.
4790         * History/WebHistoryItem.mm:
4791         * Misc/WebNSViewExtras.m:
4792         * WebCoreSupport/WebFrameLoaderClient.mm:
4793         * WebView/WebDataSource.mm:
4794         * WebView/WebPDFView.mm:
4796 2008-02-29  Mark Rowe  <mrowe@apple.com>
4798         Reviewed by Oliver Hunt and Oliver Hunt.
4800         <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
4802         * WebCoreSupport/WebSystemInterface.m:
4803         (InitWebCoreSystemInterface):  Remove unused symbol.
4804         * WebKit.order:  Ditto.
4806 2008-02-28  Mark Rowe  <mrowe@apple.com>
4808         Reviewed by Dave Hyatt.
4810         Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
4812         * WebCoreSupport/WebSystemInterface.m:
4813         (InitWebCoreSystemInterface): Only initialize wkGetFontMetrics on Tiger.
4815 2008-02-27  Brady Eidson  <beidson@apple.com>
4817         Reviewed by Mark Rowe (code) and Darin (concept)
4819         Much better fix for <rdar://problem/4930688> (see r19549)
4820         Original fix for <rdar://problem/3947312> (and 14 dupes)
4821         
4822         Let me tell you a story:
4823         A long time ago, in a cvs repository far, far away, loader code was almost all up in WebKit.
4824         WebArchive code was intertwined with that code in bizarre and complex ways.
4825         During the months long loader re-factoring where we pushed much loader code down into WebCore,
4826         many portions of the WebKit loader were thinned out until they ceased to exist.  Others remained
4827         with a sole purpose.
4829         One such section of code whose lineage traces back from WebFrameLoaderClient to WebFrameLoader
4830         to WebLoader was originally rooted in the method [WebLoader loadRequest:].  This method was the 
4831         single entry point for almost all loading (network or web archives)
4833         This method would check various headers and other fields on the NSURLRequest and NSURLResponse 
4834         to make decisions about the load.  If the cache control fields were expired or other conditions 
4835         in the headers were met, the load would be forced to go out to the network.
4837         As the loader was moved and tweaked repeatedly, most of this code was pruned or re-factored.  
4838         At some point, all that remained was the special cases for loading WebArchives.  
4839         
4840         Somewhere in the r16,000s, this remaining responsibility was noticed and related methods we renamed
4841         to be WebArchive specific, further cementing the assumed design.
4843         Problem is, the design was bad.  A WebArchive is meant to be a static snapshot of a WebPage at a
4844         specific point in time.  Referring to the request to see if the resource should be reloaded seems
4845         nonsensical, as does referring to the response headers to see if the resource is "expired".  In the 
4846         context of loading a WebArchive, available data should *always* be loaded from the WebArchive, at least
4847         during the initial load!
4849         After discovering the secret to reproducing all of these bugs is both emptying our your Foundation 
4850         cache and disconnecting your network, it was easy to reproduce the 16 individually reported cases 
4851         that were all symptoms of this bug, and easy to verify that they are fixed with this patch.
4853         * WebCoreSupport/WebFrameLoaderClient.h:
4854         * WebCoreSupport/WebFrameLoaderClient.mm:
4855         (WebFrameLoaderClient::willUseArchive): Do not call either form of "canUseArchivedResource()" that
4856           inspect the request or response objects - We are loading from a WebArchive, and we should never
4857           make the decision to go out to the network when we actually have the resource available.
4859         * WebCoreSupport/WebSystemInterface.m:
4860         (InitWebCoreSystemInterface):  Remove two methods that are no longer used anywhere in WebKit
4862 2008-02-27  Matt Lilek  <webkit@mattlilek.com>
4864         Reviewed by Adam Roben.
4866         Bug 14348: Messing up the inspector by dragging an URL into it
4867         http://bugs.webkit.org/show_bug.cgi?id=14348
4868         <rdar://problem/5283620> and <rdar://problem/5712808>
4870         * WebCoreSupport/WebInspectorClient.mm:
4871         (-[WebInspectorWindowController init]): Remove duplicate preference setting.
4872         (-[WebInspectorWindowController webView:dragDestinationActionMaskForDraggingInfo:]):
4874 2008-02-25  Darin Adler  <darin@apple.com>
4876         Reviewed by Adam.
4878         * WebView/WebArchiver.mm:
4879         (+[WebArchiver archiveSelectionInFrame:]): Use blankURL.
4880         * WebView/WebFrame.mm:
4881         (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Avoid the
4882         variable name URL to avoid clashing with the renamed KURL in the future. Also use
4883         blankURL.
4884         (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): Ditto.
4885         (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]): Ditto.
4886         (-[WebFrame loadHTMLString:baseURL:]): Ditto.
4887         (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto.
4889 2008-02-24  Darin Adler  <darin@apple.com>
4891         Reviewed by Sam.
4893         - remove separate client calls for "standard" and "reload' history
4895         * WebCoreSupport/WebFrameLoaderClient.h:
4896         * WebCoreSupport/WebFrameLoaderClient.mm:
4897         (WebFrameLoaderClient::updateGlobalHistory):
4899 2008-02-23  Alexey Proskuryakov  <ap@webkit.org>
4901         Reviewed by Darin.
4903         Move basic threading support from WebCore to WTF.
4905         * ForwardingHeaders/wtf/Threading.h: Added.
4906         * ForwardingHeaders/wtf/Locker.h: Added.
4908 2008-02-23  David Kilzer  <ddkilzer@apple.com>
4910         Please clarify licensing for some files
4911         <http://bugs.webkit.org/show_bug.cgi?id=14970>
4913         Reviewed by Darin.
4915         * Plugins/WebNetscapeDeprecatedFunctions.c: Updated copyright statement
4916         and added Apple BSD-style license.
4917         * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
4919 2008-02-22  John Sullivan  <sullivan@apple.com>
4921         Reviewed by Adam Roben
4922         
4923         Reverted the changed from yesterday to add pasteAndMatchStyle:, as the existing
4924         pasteAsPlainText: has the same behavior.
4926         * WebView/WebHTMLView.mm:
4927         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
4928         (-[WebHTMLView readSelectionFromPasteboard:]):
4929         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
4930         (-[WebHTMLView pasteAsRichText:]):
4931         (-[WebHTMLView paste:]):
4932         * WebView/WebView.mm:
4933         * WebView/WebViewPrivate.h:
4935 2008-02-21  Anders Carlsson  <andersca@apple.com>
4937         Reviewed by Sam.
4939         Use BackForwardList::create instead.
4940         
4941         * History/WebBackForwardList.mm:
4942         (-[WebBackForwardList init]):
4944 2008-02-21  John Sullivan  <sullivan@apple.com>
4946         Reviewed by Jessica Kahn
4947         
4948         support for pasteAndMatchStyle: command (see <rdar://problem/5723952>)
4950         * WebView/WebHTMLView.mm:
4951         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:matchStyle:]):
4952         added matchStyle parameter, passed along to bridge (formerly always passed NO to bridge)
4953         (-[WebHTMLView readSelectionFromPasteboard:]):
4954         pass NO for new matchStyle parameter to match old behavior
4955         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
4956         validate pasteAndMatchStyle the same way as pasteAsRichText
4957         (-[WebHTMLView pasteAndMatchStyle:]):
4958         just like pasteAsRichText but passes YES for matchStyle
4959         (-[WebHTMLView pasteAsRichText:]):
4960         pass NO for new matchStyle parameter to match old behavior
4961         (-[WebHTMLView paste:]):
4962         ditto
4963         
4964         * WebView/WebView.mm:
4965         added macro(pasteAndMatchStyle)
4966         
4967         * WebView/WebViewPrivate.h:
4968         added pasteAndMatchStyle: to WebViewEditingActionsPendingPublic category
4970 2008-02-20  Sam Weinig  <sam@webkit.org>
4972         Reviewed by Darin and Geoff.
4974         - WebKit part of <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
4976         * WebView/WebView.mm:
4977         (-[WebView _preferencesChangedNotification:]): Added a call to Settings::setNeedsSiteSpecificQuirks.
4978         There are currently no site-specific quirks on Mac, but we will propagate the state
4979         to WebCore to avoid possible mistakes later.
4981 2008-02-19  Anders Carlsson  <andersca@apple.com>
4983         Reviewed by Darin.
4985         Move back WebKit methods that were unused in WebCore.
4986         
4987         * Misc/WebNSURLExtras.mm:
4988         (+[NSURL _web_URLWithData:]):
4989         (+[NSURL _web_URLWithData:relativeToURL:]):
4990         (-[NSURL _web_originalData]):
4991         (-[NSURL _web_originalDataAsString]):
4992         (-[NSURL _web_isEmpty]):
4993         (-[NSURL _webkit_canonicalize]):
4994         (-[NSURL _webkit_URLByRemovingComponent:]):
4995         (-[NSURL _webkit_URLByRemovingFragment]):
4996         (-[NSURL _webkit_URLByRemovingResourceSpecifier]):
4997         (-[NSURL _webkit_isFileURL]):
4998         (-[NSString _webkit_isFileURL]):
4999         * WebCoreSupport/WebFrameLoaderClient.mm:
5000         (WebFrameLoaderClient::setTitle):
5001         * WebCoreSupport/WebSystemInterface.m:
5002         (InitWebCoreSystemInterface):
5004 2008-02-18  Darin Adler  <darin@apple.com>
5006         Reviewed by Sam.
5008         * Misc/WebNSAttributedStringExtras.mm:
5009         (+[NSAttributedString _web_attributedStringFromRange:]): Eliminate use of
5010         DeprecatedString.
5012 2008-02-17  Sam Weinig  <sam@webkit.org>
5014         Reviewed by Dan Bernstein.
5016         Fix for http://bugs.webkit.org/show_bug.cgi?id=17365
5017         document.createEvent("MessageEvent") throws NOT_SUPPORTED_ERR
5019         * MigrateHeaders.make: Migrate DOMProgressEvent.h and DOMTextPrivate.h which were
5020         mistakenly not migrated.
5022 2008-02-15  Dan Bernstein  <mitz@apple.com>
5024         Reviewed by Alexey Proskuryakov.
5026         - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=17360
5027           <rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html
5029         * WebView/WebDataSource.mm:
5030         (+[WebDataSource _representationClassForMIMEType:]):
5031         (-[WebDataSource _responseMIMEType]):
5032         (-[WebDataSource subresources]):
5033         (-[WebDataSource subresourceForURL:]):
5034         * WebView/WebResource.mm:
5035         (-[WebResource _initWithData:URL:response:]):
5036         * WebView/WebResourcePrivate.h:
5038 2008-02-15  Adam Roben  <aroben@apple.com>
5040         Make WebKit's FEATURE_DEFINES match WebCore's
5042         Reviewed by Mark.
5044         * Configurations/WebKit.xcconfig:
5046 2008-02-14  Darin Adler  <darin@apple.com>
5048         Reviewed by Eric Seidel.
5050         - updated for WebCore KURL changes
5052         * History/WebHistoryItem.mm:
5053         (-[WebHistoryItem URL]): Removed getNSURL call.
5054         * Misc/WebElementDictionary.mm:
5055         (-[WebElementDictionary _absoluteImageURL]): Ditto.
5056         (-[WebElementDictionary _absoluteLinkURL]): Ditto.
5057         * Misc/WebNSAttributedStringExtras.mm:
5058         (fileWrapperForElement): Ditto.
5059         (+[NSAttributedString _web_attributedStringFromRange:]): Ditto.
5060         * Misc/WebNSURLExtras.mm:
5061         (-[NSString _webkit_stringByReplacingValidPercentEscapes]): Updated
5062         for function name change.
5063         * WebCoreSupport/WebContextMenuClient.mm:
5064         (WebContextMenuClient::downloadURL): Removed getNSURL call.
5065         * WebCoreSupport/WebDragClient.mm:
5066         (WebDragClient::createDragImageForLink): Ditto.
5067         * WebCoreSupport/WebFrameLoaderClient.mm:
5068         (WebFrameLoaderClient::dispatchWillPerformClientRedirect): Ditto.
5069         (WebFrameLoaderClient::startDownload): Ditto.
5070         (WebFrameLoaderClient::updateGlobalHistoryForStandardLoad): Ditto.
5071         (WebFrameLoaderClient::updateGlobalHistoryForReload): Ditto.
5072         (WebFrameLoaderClient::cancelledError): Ditto.
5073         (WebFrameLoaderClient::blockedError): Ditto.
5074         (WebFrameLoaderClient::cannotShowURLError): Ditto.
5075         (WebFrameLoaderClient::interruptForPolicyChangeError): Ditto.
5076         (WebFrameLoaderClient::cannotShowMIMETypeError): Ditto.
5077         (WebFrameLoaderClient::fileDoesNotExistError): Ditto.
5078         (WebFrameLoaderClient::willUseArchive): Ditto.
5079         (WebFrameLoaderClient::setTitle): Ditto.
5080         (WebFrameLoaderClient::actionDictionary): Ditto.
5081         (WebFrameLoaderClient::createFrame): Ditto.
5082         (WebFrameLoaderClient::objectContentType): Ditto.
5083         (WebFrameLoaderClient::createPlugin): Ditto.
5084         (WebFrameLoaderClient::createJavaAppletWidget): Ditto.
5085         * WebView/WebDataSource.mm:
5086         (-[WebDataSource _URL]): Ditto.
5087         (-[WebDataSource _initWithDocumentLoader:]): Ditto.
5088         (-[WebDataSource unreachableURL]): Ditto.
5089         * WebView/WebHTMLView.mm:
5090         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
5092 2008-02-14  Stephanie Lewis  <slewis@apple.com>
5094         Reviewed by Geoff.
5096         Update order files.
5098         * WebKit.order:
5100 2008-02-14  Alexey Proskuryakov  <ap@webkit.org>
5102         Reviewed by Adam Roben.
5104         http://bugs.webkit.org/show_bug.cgi?id=17207
5105         Database example doesn't work (requires not-yet-released Safari)
5107         * WebCoreSupport/WebChromeClient.mm:
5108         (WebChromeClient::exceededDatabaseQuota): Check Safari version, and allow 5 megabytes of storage
5109         if it's too old.
5111 2008-02-11  Darin Adler  <darin@apple.com>
5113         - roll out fix for <rdar://problem/5726016> REGRESSION: Xcode News window renders
5114           incorrectly due to visibility fix
5116         Removed the Xcode-specific quirk at the request of some folks on the Xcode team.
5118         * Misc/WebKitVersionChecks.h: Removed the constant.
5120         * WebView/WebView.mm:
5121         (-[WebView _needsXcodeVisibilityQuirk]): Removed.
5122         (-[WebView _preferencesChangedNotification:]): Removed call to
5123         setNeedsXcodeVisibilityQuirk.
5125 2008-02-12  Anders Carlsson  <andersca@apple.com>
5127         Reviewed by Mitz.
5129         * WebCoreSupport/WebFrameBridge.mm:
5130         * WebCoreSupport/WebViewFactory.mm:
5131         (-[WebViewFactory imageTitleForFilename:size:]):
5132         Move implementation from WebFrameBridge to WebViewFactory.
5134 2008-02-11  Darin Adler  <darin@apple.com>
5136         Reviewed by Mitz.
5138         - fix <rdar://problem/5726016> REGRESSION: Xcode News window renders
5139           incorrectly due to visibility fix
5141         Added an Xcode-specific quirk.
5143         * Misc/WebKitVersionChecks.h: Added a constant for the "linked on or after"
5144         part of the check.
5146         * WebView/WebView.mm:
5147         (-[WebView _needsXcodeVisibilityQuirk]): Added.
5148         (-[WebView _preferencesChangedNotification:]): Added a call to
5149         setNeedsXcodeVisibilityQuirk based on _needsXcodeVisibilityQuirk.
5151 2008-02-10  Darin Adler  <darin@apple.com>
5153         - fix http://bugs.webkit.org/show_bug.cgi?id=17274
5154           REGRESSION: User Agent string broken in r30119
5156         * WebView/WebView.mm:
5157         (-[WebView _userAgentWithApplicationName:andWebKitVersion:]):
5158         Fix wrong variable name. Doh!
5160 2008-02-09  Darin Adler  <darin@apple.com>
5162         Reviewed by Tim Hatcher.
5164         - fix <rdar://problem/5725996> crash every time you open the Xcode documentation window
5166         * WebView/WebView.mm:
5167         (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Work around a bug in the
5168         garbage collector's Objective C++ support by not initializing a static to an object
5169         that needs to be marked when running under GC.
5171 2008-02-05  Dan Bernstein  <mitz@apple.com>
5173         Reviewed by Darin Adler.
5175         - WebKit part of <rdar://problem/5724303> Should implement writing direction shortcuts
5177         The key bindings are Command-Control-left arrow and
5178         Command-Control-right arrow. To match AppKit, the bindings are enabled
5179         only when certain user defaults are set.
5181         * WebView/WebHTMLView.mm:
5182         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
5183         (-[WebHTMLView toggleBaseWritingDirection:]): Changed to call
5184         Frame::baseWritingDirectionForSelectionStart() and
5185         Editor::setBaseWritingDirection() directly.
5186         (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
5187         (writingDirectionKeyBindingsEnabled): Added.
5188         (-[WebHTMLView _changeBaseWritingDirectionTo:]): Added this helper
5189         method.
5190         (-[WebHTMLView changeBaseWritingDirectionToLTR:]): Added.
5191         (-[WebHTMLView changeBaseWritingDirectionToRTL:]): Added.
5192         * WebView/WebView.mm:
5194 2008-02-05  Mark Rowe  <mrowe@apple.com>
5196         Unreviewed build fix.
5198         * WebView/WebView.mm: Add missing #import.
5200 2008-02-05  Mark Rowe  <mrowe@apple.com>
5202         Reviewed by Oliver Hunt.
5204         Update versioning to support the mysterious future.
5206         * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
5208 2008-01-30  Justin Garcia  <justin.garcia@apple.com>
5210         Reviewed by Darin Adler.
5211         
5212         <rdar://problem/5708115> REGRESSION: Words selected with a double click and copied won't paste into Mail
5214         * WebView/WebHTMLView.mm:
5215         (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Brought 
5216         this back, it's used by Mail.
5217         (-[WebHTMLView _canSmartReplaceWithPasteboard:]): This WebInternal method is
5218         also used by Mail.  Moved to WebPrivate.
5219         * WebView/WebHTMLViewPrivate.h: Expose two methods that Mail uses here, so that we don't
5220         accidently remove them in the future.
5222 2008-01-30  Mark Rowe  <mrowe@apple.com>
5224         Reviewed by Oliver Hunt.
5226         Move off deprecated NSTableView methods.
5228         * WebView/WebHTMLView.mm:
5229         (-[WebTextCompleteController _buildUI]): Switch from -setDrawsGrid: to -setGridStyleMask:.
5230         (-[WebTextCompleteController _placePopupWindow:]): Switch from -selectRow:byExtendingSelection: to -selectRowIndexes:byExtendingSelection:.
5231         (-[WebTextCompleteController filterKeyDown:]): Ditto.
5233 2008-01-26  Mark Rowe  <mrowe@apple.com>
5235         Reviewed by Darin Adler.
5237         Fix leaks seen after loading <http://www.funnyordie.com/videos/d70b5a11cb>.
5239         * Misc/WebNSDataExtras.m:
5240         (-[NSString _web_capitalizeRFC822HeaderFieldName]): Transfer ownerhip of the allocated buffers
5241         to the new CFString so that they will be freed when no longer needed.
5243 2008-01-26  Greg Bolsinga  <bolsinga@apple.com>
5245         <rdar://problem/5708388> WebDashboardRegion.h duplicated between WebCore / WebKit
5247         Reviewed by Darin.
5249         * WebCoreSupport/WebDashboardRegion.h: Removed.
5250         * WebView/WebView.mm: Updated #import to use copy of WebDashboardRegion.h from WebCore.
5252 2008-01-21  Darin Adler  <darin@apple.com>
5254         Reviewed by John Sullivan.
5256         - fix <rdar://problem/5644324> Delegate-less WebKit clients should have no databases
5257         - add a missing export of WebDatabaseExpectedSizeKey
5258         - implement deleteOrigin: and remove deleteDatabasesWithOrigin:
5260         * Storage/WebDatabaseManager.mm:
5261         (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Updated to check for a null
5262         name instead of calling isValid().
5263         (-[WebDatabaseManager deleteOrigin:]): Implemented.
5264         (WebKitInitializeDatabasesIfNecessary): Updated for name change.
5266         * Storage/WebDatabaseManagerPrivate.h: Removed deleteDatabasesWithOrigin:.
5268         * WebCoreSupport/WebChromeClient.h: Updated for changes to ChromeClient.
5269         * WebCoreSupport/WebChromeClient.mm:
5270         (WebChromeClient::exceededDatabaseQuota): Replaced the two different client functions
5271         we had before with a single one.
5273         * WebKit.exp: Added missing export for WebDatabaseExpectedSizeKey.
5275         * WebView/WebPreferenceKeysPrivate.h: Removed WebKitDefaultDatabaseQuotaKey.
5276         * WebView/WebPreferences.m:
5277         (+[WebPreferences initialize]): Removed the default for WebKitDefaultDatabaseQuotaKey.
5278         * WebView/WebPreferencesPrivate.h: Removed defaultDatabaseQuota and
5279         setDefaultDatabaseQuota:.
5281         * WebView/WebUIDelegatePrivate.h: Replaced the two different database quota delegate
5282         methods we had before with a single one.
5284         * WebView/WebView.mm:
5285         (-[WebView _preferencesChangedNotification:]): Removed the code to set the
5286         default database origin quota in WebCore::Settings based on WebPreferences.
5288         * WebView/WebViewInternal.h: Removed delegate method dispatch functions for unusual
5289         types of parameters that the database UI delegate methods had before.
5291 2008-01-20  Mark Rowe  <mrowe@apple.com>
5293         Reviewed by Dan Bernstein.
5295         Remove code bracketed by REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM as we are no longer
5296         interested in supporting Safari 2 with TOT WebKit.
5298         * WebView/WebView.mm:
5299         (+[WebView initialize]):
5301 2008-01-17  Timothy Hatcher  <timothy@apple.com>
5303         Reviewed by Adam Roben.
5305         <rdar://problem/5693558> REGRESSION (r29581): no form field focus rings
5306         and inactive text selection after loading a page
5307         Bug 16917: REGRESSION (r29581/2): Google Maps search box loses focused appearance
5309         The problem was other frames were changing the FocusController's active
5310         status to false after the first responder frame set it to true. The last
5311         frame to call _updateActiveState would win.
5313         * WebView/WebHTMLView.mm:
5314         (-[WebHTMLView _updateActiveState]): Only call page->focusController()->setActive()
5315         if the first responder is the current WebHTMLView or the WebFrameView.
5316         (-[WebHTMLView _web_firstResponderCausesFocusDisplay]): Removed, inlined code in _updateActiveState.
5318 2008-01-18  Adam Roben  <aroben@apple.com>
5320         Rename _updateActiveState to _updateFocusedAndActiveState
5322         Also renamed any related methods/members similarly.
5324         Reviewed by Adele.
5326         * WebView/WebHTMLView.mm:
5327         (-[WebHTMLViewPrivate dealloc]):
5328         (-[WebHTMLView _cancelUpdateFocusedAndActiveStateTimer]):
5329         (-[WebHTMLView close]):
5330         (_updateFocusedAndActiveStateTimerCallback):
5331         (-[WebHTMLView viewWillMoveToWindow:]):
5332         (-[WebHTMLView viewDidMoveToWindow]):
5333         (-[WebHTMLView windowDidBecomeKey:]):
5334         (-[WebHTMLView windowDidResignKey:]):
5335         (-[WebHTMLView becomeFirstResponder]):
5336         (-[WebHTMLView resignFirstResponder]):
5337         * WebView/WebHTMLViewInternal.h:
5338         * WebView/WebHTMLViewPrivate.h:
5340 2008-01-17  John Sullivan  <sullivan@apple.com>
5342         Reviewed by Darin
5343         
5344         - fixed <rdar://problem/5692068> -1 WebFrameView world leaks reported after closing view source window
5346         * WebView/WebFrameView.mm:
5347         (-[WebFrameView initWithCoder:]):
5348         override to bump the global WebFrameView count
5350 2008-01-16  Adam Roben  <aroben@apple.com>
5352         Updated for renames/removal of WebCore methods.
5354         Reviewed by Darin.
5356         * Plugins/WebPluginController.mm:
5357         (-[WebPluginController webPlugInContainerSelectionColor]): Changed to
5358         ask isFocusedAndActive directly, instead of going through the frame
5359         bridge.
5360         * WebView/WebHTMLView.mm:
5361         (-[WebHTMLView _updateActiveState]): Updated for method renames.
5363 2008-01-16  John Sullivan  <sullivan@apple.com>
5365         Reviewed by Adam and Dan
5366         
5367         - cleaned up some existing logging
5369         * WebView/WebHTMLView.mm:
5370         (-[WebHTMLView setNeedsDisplay:]):
5371         add method name to log, use "YES" and "NO" instead of (int)flag
5372         (-[WebHTMLView setNeedsLayout:]):
5373         ditto
5374         (-[WebHTMLView setNeedsToApplyStyles:]):
5375         ditto
5377 2008-01-15  Geoffrey Garen  <ggaren@apple.com>
5379         Reviewed by Andre Boule.
5381         Fixed <rdar://problem/5667627> [WebCache empty] implementation should
5382         not disable/enable the cache
5383         
5384         Toggle the cache model instead -- toggling disable/enable just causes
5385         the cache to forget about resources, not reclaim their memory.
5387         * Misc/WebCache.mm:
5388         (+[WebCache empty]):
5389         * WebView/WebView.mm:
5390         * WebView/WebViewInternal.h:
5392 2008-01-15  Adele Peterson  <adele@apple.com>
5394         Reviewed by Adam and Antti.
5396         WebKit part of fix for <rdar://problem/5619062> Add load progress indicator to video controls
5398         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
5399           Removed initialization for GetMediaControlBackgroundImageData.  Added initialization for DrawMediaSliderTrack.
5401 2008-01-10  Geoffrey Garen  <ggaren@apple.com>
5403         Reviewed by John Sullivan.
5405         Fixed some world leak reports:
5406         * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
5407         Interpreter after running cvs-base suite
5409         * <rdar://problem/5669423> PLT complains about world leak if browser
5410         window is open when PLT starts
5411         
5412         These were both bugs in the reporting mechanism, so I took the
5413         opportunity to do some house cleaning there.
5415         * Misc/WebCoreStatistics.h: Did a little renaming, to match
5416         JavaScriptCore better. I kept the methods with the old names around,
5417         though, because old versions of Safari need them.
5419         * Misc/WebCoreStatistics.mm: Removed dependence on
5420         WebCore::JavaScriptStatistics, which is gone now. 
5421         
5422         These two methods are now distinct, for the sake of world leak reporting:
5423         (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
5424         (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
5426 2008-01-10  Maciej Stachowiak  <mjs@apple.com>
5428         Not reviewed. Build fix.
5429         
5430         - Attempt to fix mac build.
5432         * Storage/WebDatabaseManager.mm:
5434 2008-01-10  Maciej Stachowiak  <mjs@apple.com>
5436         Reviewed by Sam.
5438         - remove SecurityOriginData and fold its functionality into SecurityOrigin
5440         * Storage/WebDatabaseManager.mm:
5441         (-[WebDatabaseManager origins]):
5442         (-[WebDatabaseManager databasesWithOrigin:]):
5443         (-[WebDatabaseManager detailsForDatabase:withOrigin:]):
5444         (-[WebDatabaseManager deleteDatabasesWithOrigin:]):
5445         (-[WebDatabaseManager deleteDatabase:withOrigin:]):
5446         * Storage/WebDatabaseTrackerClient.h:
5447         * Storage/WebDatabaseTrackerClient.mm:
5448         (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
5449         (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
5450         * Storage/WebSecurityOrigin.mm:
5451         (-[WebSecurityOrigin initWithProtocol:domain:port:]):
5452         (-[WebSecurityOrigin protocol]):
5453         (-[WebSecurityOrigin domain]):
5454         (-[WebSecurityOrigin port]):
5455         (-[WebSecurityOrigin usage]):
5456         (-[WebSecurityOrigin quota]):
5457         (-[WebSecurityOrigin setQuota:]):
5458         (-[WebSecurityOrigin isEqual:]):
5459         (-[WebSecurityOrigin dealloc]):
5460         (-[WebSecurityOrigin finalize]):
5461         (-[WebSecurityOrigin _initWithWebCoreSecurityOrigin:]):
5462         (-[WebSecurityOrigin _core]):
5463         * Storage/WebSecurityOriginInternal.h:
5464         * WebCoreSupport/WebChromeClient.h:
5465         * WebCoreSupport/WebChromeClient.mm:
5466         (WebChromeClient::requestQuotaIncreaseForNewDatabase):
5467         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
5469 2008-01-10  Sam Weinig  <sam@webkit.org>
5471         Reviewed by Anders Carlsson.
5473         Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
5474         <rdar://problem/5657355>
5476         * Plugins/WebBaseNetscapePluginView.mm:
5477         (-[WebBaseNetscapePluginView loadPluginRequest:]): call findFrameForNavigation
5478         to ensure the shouldAllowNavigation check is made.
5480 2008-01-07  Nikolas Zimmermann  <zimmermann@kde.org>
5482         Reviewed by Mark.
5484         Enable SVG_FONTS by default.
5486         * Configurations/WebKit.xcconfig:
5488 2008-01-07  Adele Peterson  <adele@apple.com>
5490         Reviewed by Antti, Adam, and Mitz.
5492         WebKit part of fix for 
5493         <rdar://problem/5619073> Updated look for <video> controls
5494         <rdar://problem/5619057> Add volume control to video controls
5496         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
5498 2008-01-07  Dan Bernstein  <mitz@apple.com>
5500         Reviewed by Dave Hyatt.
5502         - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
5504         * Misc/WebNSAttributedStringExtras.mm:
5506 2008-01-03  Alexey Proskuryakov  <ap@webkit.org>
5508         Reviewed by Darin.
5510         <rdar://problem/5463489> A number of layout tests should be using execCommand instead of textInputController
5512         * WebView/WebView.mm:
5513         (-[WebView _executeCoreCommandByName:value:]):
5514         * WebView/WebViewPrivate.h:
5515         Added an SPI to implement layoutTestController.execCommand.
5517 2008-01-03  Kevin Decker  <kdecker@apple.com>
5519         Reviewed by Darin.
5521         Fixed: <rdar://problem/4106190> Include "Where from" metadata in drag-and-dropped images
5522         
5523         * Misc/WebNSFileManagerExtras.h:
5524         * Misc/WebNSFileManagerExtras.m:
5525         (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Added new method. Uses WebKitSystemInterface to set
5526         "Where from:" metadata information.
5527         * WebView/WebHTMLView.mm:
5528         (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Added "Where from:" metadata for drag and dropped images.
5529         
5530 2008-01-03  Alice Liu  <alice.liu@apple.com>
5532         Reviewed by Darin.
5534         This fixes pageup/down in iframes.  test for this is fast/frames/iframe-scroll-page-up-down.html
5536         * WebView/WebHTMLView.mm:
5537         (-[WebHTMLView doCommandBySelector:]):
5538         Have the editor handle all the commands it supports instead of just text commands.
5539         If not handled by the editor, the webview will handle the command. 
5541 2008-01-02  Kevin Decker  <kdecker@apple.com>
5543         Reviewed by Darin.
5544         
5545         Fixed: <rdar://problem/5660603> QuickDraw plug-ins can cause a 100% reproducible assertion failure in AppKit (breaks Safari UI)
5547         * Plugins/WebBaseNetscapePluginView.mm:
5548         (-[WebBaseNetscapePluginView updateAndSetWindow]): Simplified an early return for non-QuickDraw plug-ins and switched
5549         to using the more NSView friendly version of lockFocus, lockFocusIfCanDraw.
5551 2008-01-01  David D. Kilzer  <ddkilzer@webkit.org>
5553         Reviewed by Dan.
5555         - fix http://bugs.webkit.org/show_bug.cgi?id=16700
5556           Fix -[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]
5558         * DefaultDelegates/WebDefaultPolicyDelegate.m: Check return value of
5559         -[NSFileManager fileExistsAtPath:isDirectory:] before using the value
5560         of isDirectory.
5562 2007-12-29  Nikolas Zimmermann  <zimmermann@kde.org>
5564         Reviewed by Eric.
5566         Add DOMSVGFontElement/DOMSVGGlyphElement/DOMSVGMissingGlyphElement to MigrateHeaders.make
5568         * MigrateHeaders.make:
5570 2007-12-25  Dan Bernstein  <mitz@apple.com>
5572         Reviewed by Oliver Hunt.
5574         - fix an assertion failure when pressing the num lock key
5576         * WebView/WebHTMLView.mm:
5577         (-[WebHTMLView flagsChanged:]): Avoid passing key code 10 down to
5578         WebCore.
5580 2007-12-20  Darin Adler  <darin@apple.com>
5582         Reviewed by Oliver.
5584         - fix <rdar://problem/5658787> Selector -[WebView insertLineBreak:] is not implemented
5586         * WebView/WebView.mm: Added all selectors implemented by WebHTMLView to the list of
5587         selectors to forward here. The new ones are: changeBaseWritingDirection:, changeSpelling:,
5588         deleteToMark:, insertLineBreak:, moveParagraphBackwardAndModifySelection:,
5589         moveParagraphForwardAndModifySelection:, pageDownAndModifySelection:, pageUpAndModifySelection:,
5590         selectToMark:, setMark:, swapWithMark:, takeFindStringFromSelection:, toggleBaseWritingDirection:,
5591         and transpose:.
5593 2007-12-20  Kevin Decker  <kdecker@apple.com>
5595         Reviewed by Anders.
5596         
5597         Fixed: <rdar://problem/5638288> REGRESSION: Flash movies show up in other tabs above the page (16373)
5599         * Plugins/WebBaseNetscapePluginView.mm:
5600         (-[WebBaseNetscapePluginView updateAndSetWindow]): QuickDraw plug-ins must manually be told when to stop
5601          writing to the window backing store. The problem was that change-set 28400 introduced an early return 
5602          which prevented this necessary operation. The fix is to limit the scope of the early return to CG and GL
5603          plug-ins and to tweak the needsFocus check to prevent an exception from occurring in QuickDraw-based plug-ins.
5605 2007-12-19  Geoffrey Garen  <ggaren@apple.com>
5607         Reviewed by Oliver Hunt.
5609         Build fix.
5611         * ForwardingHeaders/kjs/SymbolTable.h: Added.
5612         * ForwardingHeaders/wtf/VectorTraits.h: Added.
5614 2007-12-16  Mark Rowe  <mrowe@apple.com>
5616         Reviewed by Maciej Stachowiak.
5618         Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation.
5620         * Plugins/WebBaseNetscapePluginStream.h:
5621         * Plugins/WebNetscapePluginStream.h:
5622         * Plugins/WebNetscapePluginStream.mm:
5623         (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
5624         (-[WebNetscapePluginStream dealloc]):
5625         (-[WebNetscapePluginStream finalize]):
5626         * Plugins/WebPlugInStreamLoaderDelegate.h: Moved from WebCore.
5627         * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h: Added.
5628         (WebNetscapePlugInStreamLoaderClient::WebNetscapePlugInStreamLoaderClient):
5629         * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm: Added.
5630         (WebNetscapePlugInStreamLoaderClient::didReceiveResponse): Call through to the equivalent WebPlugInStreamLoaderDelegate method.
5631         (WebNetscapePlugInStreamLoaderClient::didReceiveData): Ditto.
5632         (WebNetscapePlugInStreamLoaderClient::didFail): Ditto.
5633         (WebNetscapePlugInStreamLoaderClient::didFinishLoading): Ditto.
5635 2007-12-16  Alexey Proskuryakov  <ap@webkit.org>
5637         Reviewed by Darin.
5639         http://bugs.webkit.org/show_bug.cgi?id=14140
5640         <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly
5642         * WebView/WebHTMLView.mm:
5643         (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Made command replaying work
5644         when handling keypress, too.
5645         (-[WebHTMLView doCommandBySelector:]): Adapted for the new way to store commands in events.
5646         (-[WebHTMLView insertText:]): Append a command, not replace the whole existing vector. Also,
5647         restore the state for additional commands to be saved correctly.
5649 2007-12-14  David D. Kilzer  <ddkilzer@apple.com>
5651         <rdar://problem/5647272> Remove user agent string hack for flickr.com
5653         Reviewed by Darin.
5655         * WebView/WebView.mm:
5656         (-[WebView _userAgentForURL:]): Removed hack.
5658 2007-12-14  David D. Kilzer  <ddkilzer@apple.com>
5660         <rdar://problem/5647261> Remove user agent string hack for yahoo.com
5662         Reviewed by Darin.
5664         * WebView/WebView.mm:
5665         (-[WebView _userAgentForURL:]): Removed hack.
5667 2007-12-14  Darin Adler  <darin@apple.com>
5669         Reviewed by Brady.
5671         - fix http://bugs.webkit.org/show_bug.cgi?id=16296
5672           <rdar://problem/5635641> -[WebFrameLoadDelegate didReceiveIcon:forFrame:] never called
5674         * WebView/WebView.mm:
5675         (-[WebView setFrameLoadDelegate:]): Call [WebIconDatabase sharedIconDatabase] if the
5676         a didReceiveIcon method is present.
5678 2007-12-14  Darin Adler  <darin@apple.com>
5680         Reviewed by Alexey.
5682         - Changed a few more editing operations to use WebCore instead of WebKit.
5683         - Removed some obsolete unused code.
5685         * WebCoreSupport/WebFrameBridge.h: Moved declarations of methods that are both
5686         defined and used on the WebKit side to here. These no longer belong on the bridge
5687         and should be moved to the WebFrame class (or elsewhere).
5688         * WebCoreSupport/WebFrameBridge.mm: Removed some unused methods.
5690         * WebView/WebFrameView.mm:
5691         (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Fix typo in comment.
5693         * WebView/WebHTMLView.mm:
5694         (-[WebHTMLViewPrivate dealloc]): Removed unused firstResponderTextViewAtMouseDownTime.
5695         (-[WebHTMLViewPrivate clear]): Ditto.
5696         (-[WebHTMLView _setMouseDownEvent:]): Ditto.
5697         (commandNameForSelector): Added special cases for pageDown:, pageDownAndModifySelection:,
5698         pageUp:, and pageUpAndModifySelection:, since those names probably aren't specific enough
5699         to be used in WebCore (what AppKit calls scrollPageDown: vs. pageDown: needs to be
5700         disambiguated with the word "Move"). Added deleteBackward:,
5701         deleteBackwardByDecomposingPreviousCharacter:, deleteForward:, deleteToBeginningOfLine:,
5702         deleteToBeginningOfParagraph:, deleteToEndOfLine:, deleteToEndOfParagraph:, pageDown:,
5703         pageDownAndModifySelection:, pageUp:, pageUpAndModifySelection:, selectLine:,
5704         selectParagraph:, selectSentence:, and selectWord: to the list of commands that are
5705         forwarded to WebCore.
5706         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Eliminated the long list of
5707         operations that we forward to WebCore. Instead, look up any command that WebCore can
5708         handle, after any that we handle specially in WebHTMLView. Also fixed a bug where
5709         an item that's not a menu item with changeBaseWritingDirection:NSWritingDirectionNatural
5710         would end up enabled instead of disabled and streamlined the logic for toggleGrammarChecking:.
5711         (-[WebHTMLView mouseDown:]): Removed unused firstResponderTextViewAtMouseDownTime.
5712         (-[WebHTMLView becomeFirstResponder]): Removed unused willBecomeFirstResponderForNodeFocus.
5713         (-[WebHTMLView resignFirstResponder]): Ditto.
5714         (-[WebHTMLView checkSpelling:]): Took unneeded extra initialization of NSSpellChecker.
5716         * WebView/WebHTMLViewInternal.h: Removed unused willBecomeFirstResponderForNodeFocus,
5717         firstResponderTextViewAtMouseDownTime, _textViewWasFirstResponderAtMouseDownTime: and
5718         _willMakeFirstResponderForNodeFocus.
5720 2007-12-13  Alexey Proskuryakov  <ap@webkit.org>
5722         Reviewed by Darin.
5724         Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
5726         * Misc/WebKitVersionChecks.h:
5727         * WebView/WebView.mm:
5728         (-[WebView _needsKeyboardEventHandlingQuirks]):
5729         (-[WebView _preferencesChangedNotification:]):
5731 2007-12-12  Brady Eidson  <beidson@apple.com>
5733         Reviewed by Sam Weinig
5735         Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
5737         * WebCoreSupport/WebCachedPagePlatformData.h: Added.
5738         (WebCachedPagePlatformData::WebCachedPagePlatformData): Constructor takes a WebDocumentView for later restoration
5739         (WebCachedPagePlatformData::clear):
5740         (WebCachedPagePlatformData::webDocumentView):
5742         * WebCoreSupport/WebFrameLoaderClient.h:
5743         * WebCoreSupport/WebFrameLoaderClient.mm:
5744         (WebFrameLoaderClient::savePlatformDataToCachedPage):
5745         (WebFrameLoaderClient::transitionToCommittedFromCachedPage): Don't set the DocumentLoader to the Frame here, 
5746           because that is now done in WebCore.
5747         (WebFrameLoaderClient::transitionToCommittedForNewPage):
5749 2007-12-12  Mark Rowe  <mrowe@apple.com>
5751         Reviewed by Dave Kilzer.
5753         Remove abuse of projectDirPath from WebKit.xcodeproj to fix Production builds.
5755         * Configurations/WebKit.xcconfig:
5757 2007-12-11  Sam Weinig  <sam@webkit.org>
5759         Reviewed by Darin Adler.
5761         Scrub URL out of the tree in preparation for renaming KURL to URL.
5763         * WebCoreSupport/WebFrameLoaderClient.mm:
5764         (WebFrameLoaderClient::actionDictionary):
5765         * WebView/WebDataSource.mm:
5766         (-[WebDataSource _URL]):
5767         * WebView/WebView.mm:
5768         (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
5770 2007-12-11  Darin Adler  <darin@apple.com>
5772         Reviewed by Geoff.
5774         - change more editing commands to use WebCore::Editor
5775         - change to use the new WebCore::Editor::command() function
5777         * WebView/WebHTMLView.mm: Changed alignCenter, alignJustified, alignLeft,
5778         alignRight, cut, copy, deleteToMark, indent, insertNewlineIgnoringFieldEditor,
5779         insertTabIgnoringFieldEditor, outdent, selectAll, selectToMark, setMark,
5780         subscript, superscript, swapWithMark, underline, unscript, yank, and yankAndSelect
5781         to use the "forward to WebCore" macro instead of having hand-written implementations.
5782         (kit): Added function to change a TriState to an AppKit-style tri-state value.
5783         (-[WebHTMLView coreCommandBySelector:]): Added. No longer converts case of the
5784         first character or copies the selector name, since the Editor commands are not case
5785         sensitive any more. Returns a command object.
5786         (-[WebHTMLView coreCommandByName:]): Added.
5787         (-[WebHTMLView executeCoreCommandBySelector:]): Renamed from callWebCoreCommand:,
5788         and changed to use the new coreCommandBySelector: method.
5789         (-[WebHTMLView executeCoreCommandByName:]): Added.
5790         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Changed all the
5791         methods that call through to WebCore to also use the state() and isEnabled()
5792         functions on the commands for the menu item state and user interface item enabling.
5793         (-[WebHTMLView _handleStyleKeyEquivalent:]): Use ToggleBold and ToggleItalic by
5794         name rather than having local methods for them; no need for methods with a single
5795         call site.
5796         (-[WebHTMLView insertParagraphSeparator:]): Use executeCoreCommandByName: rather
5797         than the deprecated execCommand().
5798         (-[WebHTMLView doCommandBySelector:]): Changed to use command().execute() rather
5799         than the deprecated execCommand().
5800         * WebView/WebHTMLViewInternal.h: Removed some unneeded method declarations.
5802 2007-12-07  Alexey Proskuryakov  <ap@webkit.org>
5804         Reviewed by Darin.
5806         <rdar://problem/5535636>
5807         Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
5809         http://bugs.webkit.org/show_bug.cgi?id=13916
5810         JavaScript detects Tab as a character input on a textfield validation
5812         * WebCoreSupport/WebEditorClient.h:
5813         Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
5814         Renamed handleInputMethodKeypress() to handleInputMethodKeydown().
5815         * WebCoreSupport/WebEditorClient.mm:
5816         (WebEditorClient::handleKeyboardEvent): This change makes sense only remotely, but it helped
5817         to get tests working. I guess Mac keyboard event handling needs further refactoring.
5819         * WebView/WebHTMLView.mm:
5820         (selectorToCommandName): Convert AppKit editing selector name to Editor command name - extracted
5821         from callWebCoreCommand:.
5822         (_interceptEditingKeyEvent:shouldSaveCommand:): Insert text from keypress.
5824         * WebView/WebPDFView.mm:
5825         (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
5826         Convert incoming platform KeyDown into RawKeyDown, as this is what the view is interested in.
5828 2007-12-10  Brady Eidson  <beidson@apple.com>
5830         Reviewed by John Sullivan
5832         Fix for <rdar://problem/5640080> - Database UI delegate calls need to specify WebFrame
5834         This is because a common UI case is to want to know the originating URL of a Database
5836         * WebCoreSupport/WebChromeClient.mm:
5837         (WebChromeClient::requestQuotaIncreaseForNewDatabase):
5838         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
5840         * WebView/WebUIDelegatePrivate.h:
5842         * WebView/WebView.mm:
5843         (CallDelegateReturningUnsignedLongLong):
5844         (CallUIDelegateReturningUnsignedLongLong):
5845         * WebView/WebViewInternal.h:
5847 2007-12-10  Timothy Hatcher  <timothy@apple.com>
5849         Reviewed by Mark Rowe.
5851         <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
5853         * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
5854           so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
5856 2007-12-10  Kevin Decker  <kdecker@apple.com>
5858         Reviewed by Darin.
5860         Fixed: <rdar://problem/4290098> Right-mouse click on element doesn't call onmousedown handler
5861         
5862         * WebView/WebHTMLView.mm:
5863         (-[WebHTMLView menuForEvent:]): Match behavior of other browsers by sending an onmousedown event for right clicks.
5865 2007-12-08  Oliver Hunt  <oliver@apple.com>
5867         Reviewed by Sam W.
5869         Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
5870         
5871         Fixes <rdar://problem/5620249> Must disable SVG animation
5872         <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
5873         
5874         Minor updates to the feature flags used.
5876         * Configurations/WebKit.xcconfig:
5877         * DOM/WebDOMOperations.mm:
5879 2007-12-07  Darin Adler  <darin@apple.com>
5881         Reviewed by Kevin Decker and Tim Hatcher.
5883         - speculative fix for <rdar://problem/5400159> CrashTracer: [USER] 726 crashes
5884           in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389
5886         * WebView/WebHTMLView.mm:
5887         (-[WebHTMLView _frameOrBoundsChanged]): Only schedule the mouseover timer if we are in a window
5888         and not closed. That's because viewDidMoveToWindow and close are the entry points for cancelling.
5889         (-[WebHTMLView close]): Add code to cancel both timers. Needed for the case where the entire
5890         window goes away, and the view is never removed from the window.
5891         (-[WebHTMLView viewDidMoveToWindow]): Don't do work if the view is closed.
5893 2007-12-07  Darin Adler  <darin@apple.com>
5895         Reviewed by Mitz.
5897         - http://bugs.webkit.org/show_bug.cgi?id=15981
5898           speed up visited-link code a bit
5900         * History/WebHistory.mm: Removed unused Latin-1 code path.
5901         (-[_WebCoreHistoryProvider containsURL:length:]): Updated for method name change.
5903 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
5905         Reviewed by Sam Weinig.
5906         
5907         Added a forwarding header, since we now #include nodes.h through some
5908         JavaScriptCore headers.
5910         * ForwardingHeaders/wtf/ListRefPtr.h: Added.
5912 2007-12-06  Brady Eidson  <beidson@apple.com>
5914         Reviewed by Oliver's rubber stamp
5916         Let's go ahead and call the correct UI Delegate method, shall we?
5918         * WebCoreSupport/WebChromeClient.mm:
5919         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Call the correct UI delegate
5921 2007-12-06  Adam Roben  <aroben@apple.com>
5923         Remove some assertions we know can fire and replace them with a FIXME
5925         Reviewed by Anders.
5927         * WebCoreSupport/WebFrameLoaderClient.mm:
5929 2007-12-06  Timothy Hatcher  <timothy@apple.com>
5931         Change the ASSERT added for the previous fix. The ASSERT was firing for 10.5.0.
5932         Only assert if the major version is zero, since zero is handled in the other cases.
5934         * WebView/WebView.mm:
5935         (callGestalt): Remove the ASSERT.
5936         (createMacOSXVersionString): ASSERT that major is not zero.
5938 2007-12-06  Darin Adler  <darin@apple.com>
5940         Reviewed by Tim Hatcher.
5942         - fix <rdar://problem/5513394> No way to detect Tiger vs Leopard from Safari's user agent string
5944         * WebView/WebView.mm:
5945         (callGestalt): Added.
5946         (createMacOSXVersionString): Added.
5947         (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Added Mac OS X version string,
5948         right after the string "Mac OS X", but with underscores instead of dots to avoid the dreaded
5949         "4." problem (old libraries that think a "4." anywhere in the user agent means Netscape 4).
5950         (-[WebView _userAgentForURL:]): Fixed incorrect bug numbers.
5952 2007-12-04  Geoffrey Garen  <ggaren@apple.com>
5954         Reviewed by Darin Adler.
5956         Third step in refactoring JSGlobalObject: Moved data members and data
5957         member access from Interpreter to JSGlobalObject.
5958         
5959         * WebView/WebFrame.mm:
5960         (-[WebFrame _attachScriptDebugger]):
5962 2007-12-04  Kevin McCullough  <kmccullough@apple.com>
5964         Reviewed by Darin.
5966         - <rdar://5621435>
5967         - Security Fix. Instead of having it off by default, WebKit now must
5968         explicitly turn off local-resource restriction when needed for backwards
5969         coimpatibility reasons.
5971         * WebView/WebView.mm:
5972         (-[WebView _commonInitializationWithFrameName:groupName:]):
5974 2007-12-05  Brady Eidson  <beidson@apple.com>
5976         Reviewed by Kevin Deckers rubberstamp
5978         Disclose and export the Databases Directory defaults key
5980         * Storage/WebDatabaseManager.mm:
5981         * Storage/WebDatabaseManagerPrivate.h:
5982         * WebKit.exp:
5984 2007-12-04  Kevin Decker  <kdecker@apple.com>
5986         Reviewed by Anders.
5988         <rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type
5990         * WebCoreSupport/WebViewFactory.mm:
5991         (-[WebViewFactory pluginNameForMIMEType:]): Added.
5993 2007-12-04  Brady Eidson  <beidson@apple.com>
5995         Reviewed by Mark Rowe
5997         Tweaked the way we typedef and cast these objc_msgSend calls
5999         * WebView/WebView.mm:
6000         (CallDelegateReturningUnsignedLongLong):
6002 2007-12-04  John Sullivan  <sullivan@apple.com>
6004         Reviewed by Brady Eidson (with help from Mark Rowe)
6005         
6006         Fixed return values for unsigned-long-long delegate methods
6008         * WebView/WebView.mm:
6009         (CallDelegateReturningUnsignedLongLong):
6010         redid the change that Brady did at home over the weekend but forgot to check in
6012 2007-11-27  Adam Roben  <aroben@apple.com>
6014         Remove -[WebFrameBridge setNeedsReapplyStyles]
6016         This functionality is now WebCore's responsibility.
6018         Reviewed by Hyatt.
6020         * WebCoreSupport/WebFrameBridge.mm:
6021         * WebKit.order:
6023 2007-12-04  John Sullivan  <sullivan@apple.com>
6025         Reviewed by Darin
6026         
6027         Added deleteOrigin: SPI, which isn't fully implemented
6029         * Storage/WebDatabaseManagerPrivate.h:
6030         * Storage/WebDatabaseManager.mm:
6031         (-[WebDatabaseManager deleteOrigin:]):
6032         just calls deleteDatabasesWithOrigin: for now, but needs to delete origin itself too
6034 2007-12-04  Timothy Hatcher  <timothy@apple.com>
6036         Reviewed by Mark Rowe.
6038         Remove a check for early versions of Leopard CFNetwork now that
6039         Leopard has shipped.
6041         * Misc/WebKitVersionChecks.h: Remove WEBKIT_FIRST_CFNETWORK_VERSION_WITH_LARGE_DISK_CACHE_FIX.
6042         * WebView/WebView.mm:
6043         (+[WebView _setCacheModel:]): Remove the early Leopard CFNetwork check.
6045 2007-12-04  Kevin Decker  <kdecker@apple.com>
6047         Reviewed by Darin.
6049         Revised fix for: <rdar://problem/5586978> REGRESSION (Safari 2-3): WebKit sometimes doesn't invoke Flash's NPP_SetWindow function and causes a hang
6051         This fix is exactly the same as chageset 28359 with the exception of an added early return in
6052         updateAndSetWindow to cover the additional case of when a plug-in isn't drawable.
6053         
6054         The CG-based Flash player would sometimes hang because (for CoreGraphics-based plug-ins) our code would
6055         only call into the NPP_SetWindow() function when we tell the plug-in to draw. This created havoc with 
6056         Flash because Flash expects the browser to call NPP_SetWindow() and provide a valid graphics context 
6057         regardless of whether or not it actually needs to draw. 
6058         
6059         * Plugins/WebBaseNetscapePluginView.mm:
6060         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed an incorrect comment and toned
6061         down an ASSERT that was too strict. 
6062         (-[WebBaseNetscapePluginView updateAndSetWindow]): Removed an early return for CoreGraphics-based plug-ins
6063         which would sometimes altogether prevent updating the PortState and calling into a plug-ins NPP_SetWindow()
6064         function. Also tweaked a comment and added an early return if the plug-in can't draw.
6066 2007-12-04  Darin Adler  <darin@apple.com>
6068         Reviewed by Kevin Decker.
6070         * WebCoreSupport/WebFrameLoaderClient.h: Removed obsolete privateBrowsingEnabled.
6071         * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
6072         * WebKit.order: Ditto.
6074 2007-12-03  Dan Bernstein  <mitz@apple.com>
6076         Reviewed by Dave Hyatt.
6078         - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
6080         * WebView/WebHTMLView.mm:
6081         (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Removed the code
6082         that checked if the view had resized and sent the resize event, since
6083         FrameView sends resize events now.
6084         * WebView/WebHTMLViewInternal.h:
6086 2007-12-03  Timothy Hatcher  <timothy@apple.com>
6088         Reviewed by Darin.
6090         Change WebViewGetResourceLoadDelegateImplementations and WebViewGetFrameLoadDelegateImplementations
6091         to return a pointer to the implementation struct instead of a copy of the struct. This changes
6092         all of the callers to dereference the pointer to access the struct fields.
6094         * Plugins/WebNullPluginView.mm:
6095         (-[WebNullPluginView reportFailure]):
6096         * WebCoreSupport/WebFrameBridge.mm:
6097         * WebCoreSupport/WebFrameLoaderClient.mm:
6098         (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
6099         (WebFrameLoaderClient::assignIdentifierToInitialRequest):
6100         (WebFrameLoaderClient::dispatchWillSendRequest):
6101         (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
6102         (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
6103         (WebFrameLoaderClient::dispatchDidReceiveResponse):
6104         (WebFrameLoaderClient::willCacheResponse):
6105         (WebFrameLoaderClient::dispatchDidReceiveContentLength):
6106         (WebFrameLoaderClient::dispatchDidFinishLoading):
6107         (WebFrameLoaderClient::dispatchDidFailLoading):
6108         (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
6109         (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
6110         (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
6111         (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
6112         (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
6113         (WebFrameLoaderClient::dispatchWillClose):
6114         (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
6115         (WebFrameLoaderClient::dispatchDidReceiveTitle):
6116         (WebFrameLoaderClient::dispatchDidCommitLoad):
6117         (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
6118         (WebFrameLoaderClient::dispatchDidFailLoad):
6119         (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
6120         (WebFrameLoaderClient::dispatchDidFinishLoad):
6121         (WebFrameLoaderClient::dispatchDidFirstLayout):
6122         * WebView/WebView.mm:
6123         (WebViewGetResourceLoadDelegateImplementations):
6124         (WebViewGetFrameLoadDelegateImplementations):
6125         (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
6126         * WebView/WebViewInternal.h:
6128 2007-12-03  Timothy Hatcher  <timothy@apple.com>
6130         Reviewed by Brady Eidson.
6132         <rdar://problem/5539913> 188 crashes in WebViewGetFrameLoadDelegateImplementations
6133         <rdar://problem/5586095> CrashTracer: [USER] 5000+ crashes in Safari and Dashboard in dispatchDidFailLoading
6134         <rdar://problem/5607081> CrashTracer: [USER] 2150 crashes in Safari at com.apple.WebKit:
6135         WebViewGetResourceLoadDelegateImplementations + 28
6137         * WebView/WebView.mm:
6138         (-[WebView _cacheResourceLoadDelegateImplementations]): If the delegate is nil, bzero the
6139         implementation cache. This just prevents us from calling getMethod() multiple times just to zero.
6140         (-[WebView _cacheFrameLoadDelegateImplementations]): Ditto.
6141         (WebViewGetResourceLoadDelegateImplementations): Return a zeroed implementations struct
6142         if the WebView is nil. This fixes the crashes.
6143         (WebViewGetFrameLoadDelegateImplementations): Ditto.
6145 2007-12-02  Geoffrey Garen  <ggaren@apple.com>
6147         Reviewed by Eric Seidel.
6149         Updated to match the JavaScriptCore change to move virtual methods from
6150         Interpreter to JSGlobalObject.
6152         * WebView/WebFrame.mm:
6153         (-[WebFrame globalContext]): Use the toRef function instead of manually
6154         casting.
6156 2007-12-01  Brady Eidson  <beidson@apple.com>
6158         Reviewed by Tim
6160         Added a default database quota of 5mb to the default WebPreferences
6162         * WebView/WebPreferences.m:
6163         (+[WebPreferences initialize]):
6165 2007-11-30  John Sullivan  <sullivan@apple.com>
6167         Reviewed by Geoff Garen
6168         
6169         Added another symbol for WebDatabaseManager clients
6171         * WebKit.exp:
6172         added .objc_class_name_WebSecurityOrigin
6174 2007-11-30  Brady Eidson  <beidson@apple.com>
6176         Reviewed by Geoff
6178         Add isEqual operator to WebSecurityOrigin
6180         * Storage/WebSecurityOrigin.mm:
6181         (-[WebSecurityOrigin isEqual:]):
6183 2007-11-30  John Sullivan  <sullivan@apple.com>
6185         Reviewed by Darin
6186         
6187         Tweaks to newly-declared NSString * constants to make them usable from clients
6189         * Storage/WebDatabaseManagerPrivate.h:
6190         * Storage/WebDatabaseManager.mm:
6191         removed "const" from new NSNotification names and userInfo keys; these generate compiler warnings when used
6192         
6193         * WebKit.exp:
6194         export new NSNotification names and userInfo keys so clients can use them
6196 2007-11-29  Anders Carlsson  <andersca@apple.com>
6198         Reviewed by John.
6200         Rename WebKitShrinksStandaloneImagesToFitKey to WebKitShrinksStandaloneImagesToFit.
6201         
6202         This is safe to do because the preference is off by default and Safari 3, which is the only client that turns it on,
6203         is using the setter and not messing around with NSUserDefaults.
6204         
6205         * WebView/WebPreferenceKeysPrivate.h:
6206         * WebView/WebPreferences.m:
6207         (+[WebPreferences initialize]):
6208         (-[WebPreferences shrinksStandaloneImagesToFit]):
6209         (-[WebPreferences setShrinksStandaloneImagesToFit:]):
6211 2007-11-29  Brady Eidson  <beidson@apple.com>
6213         Reviewed by Anders
6215         Support for <rdar://problem/5556381> and <rdar://problem/5556379>
6217         Hook up UI Delegate calls for the database engine feature and other small tweaks
6219         * Storage/WebDatabaseManager.mm:
6220         (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
6221         (-[WebDatabaseManager deleteDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
6222         * Storage/WebDatabaseManagerPrivate.h:
6224         * Storage/WebDatabaseTrackerClient.h:
6225         * Storage/WebDatabaseTrackerClient.mm:
6226         (WebDatabaseTrackerClient::dispatchDidModifyDatabase): Renamed databaseName parameter to databaseIdentifier for clarity
6228         * WebCoreSupport/WebChromeClient.h:
6229         * WebCoreSupport/WebChromeClient.mm:
6230         (WebChromeClient::requestQuotaIncreaseForNewDatabase): Call through to the UI Delegate
6231         (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Ditto
6233         * WebView/WebUIDelegatePrivate.h: Added the two UI Delegate methods
6235         * WebView/WebView.mm:
6236         (CallDelegateReturningUnsignedLongLong):
6237         (CallUIDelegateReturningUnsignedLongLong):
6238         * WebView/WebViewInternal.h:
6240 2007-11-28  Kevin McCullough  <kmccullough@apple.com>
6242         Reviewed by Sam.
6244         - Added recursive runloop guards.
6246         * DefaultDelegates/WebScriptDebugServer.m:
6247         (-[WebScriptDebugServer suspendProcessIfPaused]):
6249 2007-11-29  Mark Rowe  <mrowe@apple.com>
6251         Reviewed by Oliver Hunt.
6253         Fix an assertion failure seen on the layout tests, and when closing the window after
6254         visiting <http://www.coudal.com/losalamos/>.
6256         * Plugins/WebBaseNetscapePluginStream.mm:
6257         (-[WebBaseNetscapePluginStream _destroyStream]): Unlink the file and close the file
6258         descriptor even when the stream is being destroyed without the load completing. This
6259         avoids leaking the path and file descriptor, and leaving the temporary file on disk.
6261 2007-11-28  Adele Peterson  <adele@apple.com>
6263         Reviewed by Darin.
6265         Fix for <rdar://problem/5524216> CrashTracer: [USER] 496 crashes in Safari at com.apple.WebCore: WebCore::Frame::eventHandler const + 6
6267         The CrashTracer shows a variety of crashes in different methods (including keyDown and keyUp). This change adds nil checks for the frame in 
6268         WebHTMLView to prevent future problems in other methods as well.
6270         * WebView/WebHTMLView.mm:
6271         (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
6272         (-[WebHTMLView keyDown:]):
6273         (-[WebHTMLView keyUp:]):
6274         (-[WebHTMLView flagsChanged:]):
6275         (-[WebHTMLView _selectionStartFontAttributesAsRTF]):
6276         (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
6277         (-[WebHTMLView checkSpelling:]):
6278         (-[WebHTMLView showGuessPanel:]):
6279         (-[WebHTMLView indent:]):
6280         (-[WebHTMLView outdent:]):
6281         (-[WebHTMLView paste:]):
6282         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
6283         (-[WebHTMLView insertText:]):
6284         (-[WebHTMLView selectionTextRects]):
6286 2007-11-28  Dan Bernstein  <mitz@apple.com>
6288         Reviewed by Maciej Stachowiak.
6290         - fix <rdar://problem/5596160> fast/events/objc-event-api.html fails when run alone (or first)
6292         * WebView/WebHTMLView.mm:
6293         (-[WebHTMLView setDataSource:]): This method calls addMouseMovedObserver
6294         because addMouseMovedObserver returns early if the dataSource
6295         is not nil. But if the dataSource is already set (which happens when
6296         a WebHTMLView is being reused) then addMouseMovedObserver must not
6297         be called again.
6299 2007-11-27  Anders Carlsson  <andersca@apple.com>
6301         Reviewed by Brady.
6303         * Storage/WebDatabaseManager.mm:
6304         * Storage/WebDatabaseManagerPrivate.h:
6305         * Storage/WebDatabaseTrackerClient.mm:
6306         (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
6307         (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
6308         * Storage/WebSecurityOrigin.mm:
6309         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
6310         * Storage/WebSecurityOriginInternal.h:
6312 2007-11-27  Kevin Decker  <kdecker@apple.com>
6314         Reviewed by Darin, landed by Anders.
6316         Fixed: <rdar://problem/4610818> CrashTracer: 1533 crashes in Safari at com.macromedia.Flash Player.plugin: native_ShockwaveFlash_TCallLabel + 271131
6318         The problem was that some Leopard users were still inadvertently using the old Flash 8 plug-in, even though Leopard
6319         shipped with Flash 9. To avoid loading an older version of a plug-in when a newer version is installed, the plug-in
6320         database will compare bundle versions and always load the latest version.
6322         * Plugins/WebBasePluginPackage.h:
6323         * Plugins/WebBasePluginPackage.m:
6324         (-[WebBasePluginPackage versionNumber]): New method. CFBundleGetVersionNumber doesn't work with all possible versioning schemes,
6325         but we think for now it's good enough for us.
6326         * Plugins/WebPluginDatabase.m:
6327         (considerCandidate): Added a C utility function which compares the current plug-in against a candidate plug-in's version number.
6328         If both plug-ins have the same bundle ID and the candiate is newer, the current plug-in becomes the candidate.
6329         (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): Calls the new considerCandidate() function.
6331 2007-11-26  Timothy Hatcher  <timothy@apple.com>
6333         Reviewed by Dave Hyatt.
6335         <rdar://problem/5569233> Add the ability to disable author and user CSS styles
6337         * WebView/WebPreferenceKeysPrivate.h: Define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey.
6338         * WebView/WebPreferences.m:
6339         (+[WebPreferences initialize]): Default WebKitRespectStandardStyleKeyEquivalentsPreferenceKey to YES.
6340         (-[WebPreferences authorAndUserStylesEnabled]): Return the setting's BOOL value.
6341         (-[WebPreferences setAuthorAndUserStylesEnabled:]): Set the setting's BOOL value.
6342         * WebView/WebPreferencesPrivate.h: Add authorAndUserStylesEnabled and setAuthorAndUserStylesEnabled:.
6343         * WebView/WebView.mm:
6344         (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings::authorAndUserStylesEnabled.
6346 2007-11-26  Brady Eidson  <beidson@apple.com>
6348         Reviewed by Mark Rowe
6350         Provide API for setting the default storage quota per database origin
6352         * Misc/WebNSDictionaryExtras.h:
6353         * Misc/WebNSDictionaryExtras.m:
6354         (-[NSMutableDictionary _webkit_setUnsignedLongLong:forKey:]): Helper for UINT64 preferences
6356         * WebView/WebPreferenceKeysPrivate.h:
6357         * WebView/WebPreferences.m:
6358         (-[WebPreferences _unsignedLongLongValueForKey:]): Helper for UINT64 prefs
6359         (-[WebPreferences _setUnsignedLongLongValue:forKey:]): Ditto
6360         (-[WebPreferences defaultDatabaseQuota]):
6361         (-[WebPreferences setDefaultDatabaseQuota:]):
6362         * WebView/WebPreferencesPrivate.h:
6364         * WebView/WebView.mm:
6365         (-[WebView _preferencesChangedNotification:]): Set the WebCore Settings version of the default storage pref
6367 2007-11-26  Darin Adler  <darin@apple.com>
6369         Reviewed by Adele.
6371         - some middle-mouse-button-related fixes
6373         These don't affect Safari since it maps the middle mouse button to the command key,
6374         but that might not always be the case for future versions.
6376         * WebView/WebHTMLView.mm:
6377         (-[WebHTMLView otherMouseDown:]): Pass through middle mouse down events to WebCore.
6378         (-[WebHTMLView otherMouseDragged:]): Ditto, for drag events.
6379         (-[WebHTMLView otherMouseUp:]): Ditto, for up events.
6381         * WebView/WebPolicyDelegate.h: Fixed inaccurate documentation of WebActionButtonKey.
6383 2007-11-26  Anders Carlsson  <andersca@apple.com>
6385         Reviewed by Brady.
6387         Get rid of the WebSecurityOriginPrivate object and store 
6388         the WebCore::SecurityOriginData pointer in the _private field of
6389         the WebSecurityOrigin object instead.
6390         
6391         * Storage/WebDatabaseManager.mm:
6392         (-[WebDatabaseManager databasesWithOrigin:]):
6393         (-[WebDatabaseManager detailsForDatabase:withOrigin:]):
6394         (-[WebDatabaseManager deleteDatabasesWithOrigin:]):
6395         (-[WebDatabaseManager deleteDatabase:withOrigin:]):
6396         * Storage/WebSecurityOrigin.mm:
6397         (-[WebSecurityOrigin initWithProtocol:domain:port:]):
6398         (-[WebSecurityOrigin protocol]):
6399         (-[WebSecurityOrigin domain]):
6400         (-[WebSecurityOrigin port]):
6401         (-[WebSecurityOrigin usage]):
6402         (-[WebSecurityOrigin quota]):
6403         (-[WebSecurityOrigin setQuota:]):
6404         (-[WebSecurityOrigin dealloc]):
6405         (-[WebSecurityOrigin finalize]):
6406         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
6407         (-[WebSecurityOrigin _core]):
6408         * Storage/WebSecurityOriginInternal.h:
6410 2007-11-26  Timothy Hatcher  <timothy@apple.com>
6412         Reviewed by Adam Roben.
6414         Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
6415         http://bugs.webkit.org/show_bug.cgi?id=16137
6417         Create the Web Inspector window with the textured style. Set the content border
6418         thickness for the top of the window or the height of the toolbar. Also make the
6419         window's bottom corners square, since a normal textured window normally has
6420         rounded bottom corners.
6422         * WebCoreSupport/WebInspectorClient.mm:
6423         (-[WebInspectorWindowController window]):
6425 2007-11-24  Mark Rowe  <mrowe@apple.com>
6427         Tiger build fix.
6429         * Plugins/WebBaseNetscapePluginStream.mm:
6430         (CarbonPathFromPOSIXPath): Use WebCFAutorelease as this also works on Tiger.
6432 2007-11-24  Mark Rowe  <mrowe@apple.com>
6434         Reviewed by Tim Hatcher.
6436         Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream).
6437         http://bugs.webkit.org/show_bug.cgi?id=13705
6439         Have NP_ASFILE and NP_ASFILEONLY streams write the data to disk as they receive it rather than
6440         dumping the data to disk in a single go when the stream has completed loading.  On a test case
6441         involving a 150MB Flash movie being streamed from a local web server this reduces memory consumption
6442         on page load from around 400MB to 22MB.
6444         The only plugin I have found that uses NP_ASFILE or NP_ASFILEONLY on the Mac is our NetscapeMoviePlugin
6445         example code so the NP_ASFILE portion of this change has not had any testing with a real-world plugin.
6447         * Plugins/WebBaseNetscapePluginStream.h:
6448         * Plugins/WebBaseNetscapePluginStream.mm:
6449         (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
6450         (-[WebBaseNetscapePluginStream dealloc]):
6451         (-[WebBaseNetscapePluginStream finalize]):
6452         (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
6453         (-[WebBaseNetscapePluginStream _destroyStream]): Update to work with paths as NSStrings.
6454         (-[WebBaseNetscapePluginStream _deliverDataToFile:]): Open the file if it is not already open, and write any data
6455         to disk.
6456         (-[WebBaseNetscapePluginStream finishedLoading]): If the stream is NP_ASFILE or NP_ASFILEONLY we need to ensure
6457         that the file exists before _destroyStream passes it to the plugin.  Simulating the arrival of an empty data block
6458         ensure that the file will be created if it has not already.
6459         (-[WebBaseNetscapePluginStream receivedData:]):
6460         (CarbonPathFromPOSIXPath):
6461         * Plugins/WebBaseNetscapePluginView.mm:
6462         (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]): Data is dealt with incrementally so there's no need to pass
6463         it to finishedLoading.
6464         (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Ditto.
6466 2007-11-23  Oliver Hunt  <oliver@apple.com>
6468         Reviewed by Mark Rowe.
6469         
6470         Fixed <rdar://problem/3759190> allow input methods the option of processing mouse events themselves
6472         * WebView/WebHTMLView.mm:
6473         (-[WebHTMLView mouseDown:]):
6475 2007-11-22  Dan Bernstein  <mitz@apple.com>
6477         Reviewed by Antti Koivisto.
6479         - http://bugs.webkit.org/show_bug.cgi?id=15811
6480           WebKit plug-ins can re-enter WebKit under attach()
6481           <rdar://problem/5577978>
6483         * Plugins/WebNullPluginView.mm:
6484         (-[WebNullPluginView viewDidMoveToWindow]): Removed workaround for the
6485         above bug that added as part of fixing
6486         <http://bugs.webkit.org/show_bug.cgi?id=15804>.
6488 2007-11-21  Mark Rowe  <mrowe@apple.com>
6490         Reviewed by Eric.
6492         Fix WebKit to build without warnings under GCC 4.2.
6494         * Configurations/Base.xcconfig:
6496 2007-11-21  Mark Rowe  <mrowe@apple.com>
6498         Reviewed by Tim Hatcher.
6500         Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings
6502         Update format strings to use format specifiers that match the argument types.
6504         * Misc/WebGraphicsExtras.c:
6505         (WebConvertBGRAToARGB):
6507 2007-11-19  Brady Eidson <beidson@apple.com>
6509         Reviewed by Maciej
6511         Finished hooking up the WebKit API for database management.
6512         Most of the API is actually implemented in WebCore and some of those methods might
6513         only be stubs for now.
6515         * Storage/WebDatabaseManager.mm:
6516         (-[WebDatabaseManager origins]): Call through to the WebCore tracker and construct an API result
6517         (-[WebDatabaseManager databasesWithOrigin:]): Ditto
6518         (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Ditto
6520         * Storage/WebSecurityOrigin.mm:
6521         (-[WebSecurityOrigin usage]): Call through to WebCore
6522         (-[WebSecurityOrigin quota]): Ditto
6523         (-[WebSecurityOrigin setQuota:]): Ditto
6524         (-[WebSecurityOrigin _core]): Get WebCore version of this object
6525         * Storage/WebSecurityOriginInternal.h:
6527 2007-11-17  Timothy Hatcher  <timothy@apple.com>
6529         Reviewed by Mark Rowe.
6531         Bug 13470: i18n: The Web Inspector is not localizable
6532         http://bugs.webkit.org/show_bug.cgi?id=13470
6534         Implement the localizedStringsURL() client method to return the
6535         localized URL of InspectorLocalizedStrings.js in WebCore.
6537         * WebCoreSupport/WebInspectorClient.h: Added localizedStringsURL.
6538         * WebCoreSupport/WebInspectorClient.mm:
6539         (WebInspectorClient::localizedStringsURL): Added.
6540         (WebInspectorClient::updateWindowTitle): Localized the window title.
6541         (-[WebInspectorWindowController init]): Remove a FIXME that dosen't make sense anymore.
6542         (-[WebInspectorWindowController initWithInspectedWebView:]): Code style cleanup.
6544 2007-11-17  Alexey Proskuryakov  <ap@webkit.org>
6546         Reviewed by Darin.
6548         http://bugs.webkit.org/show_bug.cgi?id=15969
6549         Eliminate Editor::deleteRange()
6551         * WebView/WebHTMLView.mm:
6552         (+[WebHTMLView initialize]):
6553         (-[WebHTMLView yank:]):
6554         (-[WebHTMLView yankAndSelect:]):
6555         (-[WebHTMLView setMark:]):
6556         (-[WebHTMLView deleteToMark:]):
6557         (-[WebHTMLView selectToMark:]):
6558         (-[WebHTMLView swapWithMark:]):
6559         Pushed all kill ring methods to WebCore. They were guilty of using Editor::deleteRange()!
6561 2007-11-16  Mark Rowe  <mrowe@apple.com>
6563         Reviewed by Tim Hatcher.
6565         Build WebCore as a sub-framework of WebKit in all configurations.
6567         * Configurations/WebKit.xcconfig:
6569 2007-11-16  John Sullivan  <sullivan@apple.com>
6571         Reviewed by Brady
6573         * WebKit.exp:
6574         Exported some new database-related symbols
6576 2007-11-16  Brady Eidson  <beidson@apple.com>
6578         Reviewed by John
6580         Database management API tweaks
6582         Fleshed out "WebSecurityOrigin" to be the API object representing an origin.  This relieves some
6583         burden off WebDatabaseManager and allows usage/quota operations on the SecurityOrigin object itself
6585         Also added a new subdirectory for Storage related API - Why are we afraid to add new directories to
6586         the WebKit tree?
6588         * Misc/WebSecurityOrigin.mm: Removed.
6589         * Misc/WebSecurityOriginInternal.h: Removed.
6590         * Misc/WebSecurityOriginPrivate.h: Removed.
6592         * Storage/WebDatabaseManager.mm: Work in terms of WebSecurityOrigin
6593         * Storage/WebDatabaseManagerPrivate.h:
6595         * Storage/WebSecurityOrigin.mm: Added.
6596         (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
6597         (-[WebSecurityOriginPrivate initWithWebCoreSecurityOrigin:]):
6598         (-[WebSecurityOriginPrivate finalize]):
6599         (-[WebSecurityOriginPrivate dealloc]):
6600         (-[WebSecurityOrigin initWithProtocol:domain:]):
6601         (-[WebSecurityOrigin initWithProtocol:domain:port:]):
6602         (-[WebSecurityOrigin protocol]):
6603         (-[WebSecurityOrigin domain]):
6604         (-[WebSecurityOrigin port]):
6605         (-[WebSecurityOrigin usage]): 
6606         (-[WebSecurityOrigin quota]):
6607         (-[WebSecurityOrigin setQuota:]): Clients will set quotas on the WebSecurityOrigin object itself
6608         (-[WebSecurityOrigin dealloc]):
6609         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
6610         * Storage/WebSecurityOriginInternal.h: Added.
6611         * Storage/WebSecurityOriginPrivate.h: Added.
6613 2007-11-15  Brady Eidson  <beidson@apple.com>
6615         Reviewed by John
6617         Stubbing out everything required for a WebKit API for databases
6619         These interfaces seem to provide everything we need for UI and management at the browser level
6621         * Misc/WebDatabaseManager.h: Removed.
6622         * Misc/WebDatabaseManager.mm: Removed.
6623         * Misc/WebDatabaseManagerPrivate.h: Removed.
6625         * Misc/WebSecurityOrigin.mm: Added. Object that acts as a container for the "SecurityOrigin tuple"
6626           (protocol, domain, and port)
6627         (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
6628         (-[WebSecurityOriginPrivate dealloc]):
6629         (-[WebSecurityOrigin initWithProtocol:domain:]):
6630         (-[WebSecurityOrigin initWithProtocol:domain:port:]):
6631         (-[WebSecurityOrigin protocol]):
6632         (-[WebSecurityOrigin domain]):
6633         (-[WebSecurityOrigin port]):
6634         (-[WebSecurityOrigin dealloc]):
6635         (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:WebCore::]):
6636         * Misc/WebSecurityOriginInternal.h: Added.
6637         * Misc/WebSecurityOriginPrivate.h: Added.
6639         * Storage/WebDatabaseManager.mm: Added.
6640         (+[WebDatabaseManager sharedWebDatabaseManager]):
6641         (-[WebDatabaseManager origins]):  Get a list of all origins currently tracked
6642         (-[WebDatabaseManager detailsForOrigin:]): Get the current usage and current quota for the given origin
6643         (-[WebDatabaseManager databasesWithOrigin:]): Get all databases for a certain origin
6644         (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Get all details about a specific database
6645         (-[WebDatabaseManager setQuota:forOrigin:]): Change origin-wide quota
6646         (-[WebDatabaseManager deleteAllDatabases]):
6647         (-[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
6648         (-[WebDatabaseManager deleteDatabase:withOrigin:]):
6649         * Storage/WebDatabaseManagerPrivate.h: Added.
6650         * Storage/WebDatabaseManagerInternal.h: Added.
6651         (WebKitInitializeDatabasesIfNecessary): One-time initialization of database-related things
6653         * Storage/WebDatabaseTrackerClient.h: Added. Stubbed out client for notifications
6654         * Storage/WebDatabaseTrackerClient.mm: Added.
6655         (WebDatabaseTrackerClient::sharedWebDatabaseTrackerClient):
6656         (WebDatabaseTrackerClient::WebDatabaseTrackerClient):
6657         (WebDatabaseTrackerClient::~WebDatabaseTrackerClient):
6658         (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
6659         (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
6661         * WebView/WebView.mm:
6662         (-[WebView _commonInitializationWithFrameName:groupName:]): Do one-time initialization of
6663           Database-related things here
6665 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
6667         Reviewed by Anders Carlsson.
6668         
6669         Renamed Shared to RefCounted.
6671         * ForwardingHeaders/wtf/RefCounted.h: Copied from WebKit/mac/ForwardingHeaders/wtf/Shared.h.
6672         * ForwardingHeaders/wtf/Shared.h: Removed.
6673         * WebCoreSupport/WebContextMenuClient.h:
6675 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
6677         Reviewed by Sam Weinig.
6679         Moved Shared.h into wtf so it could be used in more places.
6681         * ChangeLog:
6682         * WebCoreSupport/WebContextMenuClient.h:
6684 2007-11-13  John Sullivan  <sullivan@apple.com>
6686         Reviewed by Darin.
6688         removed recently-added PreferredType concept; we found a better way to do what
6689         ths was accomplishing
6691         * WebCoreSupport/WebChromeClient.mm:
6692         (WebChromeClient::createWindow):
6693         removed use of PreferredType
6695 2007-11-13  John Sullivan  <sullivan@apple.com>
6697         Reviewed by Dan Bernstein.
6698         
6699         - fixed <rdar://problem/5567954> REGRESSION (Safari 2-3): Autofill no longer automatically fills in 
6700         form fields other than the one you're typing into
6702         * WebCoreSupport/WebEditorClient.mm:
6703         (selectorForKeyEvent):
6704         correct the key identifier strings for Tab and Esc; these were updated in WebCore as part of r21445
6705         but didn't get updated here.
6707 2007-11-12  Josh Aas  <joshmoz@gmail.com>
6709         Reviewed by Darin.
6711         - http://bugs.webkit.org/show_bug.cgi?id=15946
6712           add NPPValue NPPVpluginDrawingModel (Mozilla bug 403418 compat)
6714         * Plugins/WebBaseNetscapePluginView.mm:
6715         (-[WebBaseNetscapePluginView setVariable:value:]):
6717 2007-11-12  Alexey Proskuryakov  <ap@webkit.org>
6719         Reviewed by Darin.
6721         http://bugs.webkit.org/show_bug.cgi?id=15954
6722         Move DOM Selection operations out of SelectionController
6724         * WebView/WebHTMLView.mm:
6725         (-[WebHTMLView _expandSelectionToGranularity:]):
6726         (-[WebHTMLView selectToMark:]):
6727         (-[WebHTMLView swapWithMark:]):
6728         * WebView/WebView.mm:
6729         (-[WebView setSelectedDOMRange:affinity:]):
6730         Adapted for SelectionController::setSelectedRange() now returning a bool.
6732 2007-11-12  Oliver Hunt  <oliver@apple.com>
6734         Reviewed by Darin and Geoff.
6736         <rdar://problem/5522011> The content of the password field of 
6737         Safari is displayed by reconversion.
6739         Some input methods (notably Kotoeri) can incorrectly provide 
6740         access to the raw text of a password field.  To work around 
6741         this we forcefully override the inputContext whenever a password
6742         field is active.
6744         * WebView/WebHTMLView.mm:
6745         (-[WebHTMLView inputContext]):
6747 2007-11-12  John Sullivan  <sullivan@apple.com>
6749         Reviewed by Tim Hatcher
6750         
6751         - speculative fix for <rdar://problem/5509989> CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit: 
6752         -[WebPDFView(FileInternal) _updatePreferencesSoon] + 56
6753         
6754         The crash is probably due to messaging a dealloc'ed dataSource ivar. The dataSource ivar isn't retained
6755         by this class, but should be. (It is retained by WebHTMLView, e.g.).
6757         * WebView/WebPDFView.mm:
6758         (-[WebPDFView dealloc]):
6759         release dataSource ivar
6760         (-[WebPDFView setDataSource:]):
6761         retain dataSource ivar
6763 2007-11-09  Tristan O'Tierney  <tristan@apple.com>
6765         Reviewed by Timothy Hatcher.
6766         
6767         This patch is for the WebKit side of <rdar://problem/5591115>.
6768         We need a way to tell context menu navigations, such as "Open in New Window"
6769         to override any sort of browser preference for tab based navigation.
6771         * WebCoreSupport/WebChromeClient.mm:
6772         (WebChromeClient::createWindow):
6773         Pass up the new preferredType parameter as a string.
6774         
6775 2007-11-09  Timothy Hatcher  <timothy@apple.com>
6777         Reviewed by John.
6779         <rdar://problem/5103720> REGRESSION: [WebView stringByEvaluatingJavaScriptFromString:] fails if "return" is used
6781         Extend the linked on or after check to every application when a script passed to
6782         stringByEvaluatingJavaScriptFromString: has a return statement. Before the check
6783         was limited to VitalSource Bookshelf, but other developers are running into this.
6785         * Misc/WebKitVersionChecks.h: Add the WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK define.
6786         * WebView/WebDocumentLoaderMac.mm:
6787         (needsDataLoadWorkaround): Use WEBKIT_FIRST_VERSION_WITHOUT_ADOBE_INSTALLER_QUIRK sicne the
6788           WebKitLinkedOnOrAfter check here was about the Adobe installer, not VitalSource.
6789         * WebView/WebView.mm:
6790         (-[WebView stringByEvaluatingJavaScriptFromString:]): Remove the bundle ID check and use
6791           WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK for the WebKitLinkedOnOrAfter call.
6793 2007-11-08  Kevin McCullough  <kmccullough@apple.com>
6795         Build Fix.
6797         * WebCoreSupport/WebFrameLoaderClient.h:
6798         * WebCoreSupport/WebFrameLoaderClient.mm:
6799         (WebFrameLoaderClient::windowObjectCleared):
6801 2007-11-07  Darin Adler  <darin@apple.com>
6803         Reviewed by Steve.
6805         - removed some unused WebCore bridge methods
6807         * WebCoreSupport/WebFrameBridge.mm: Removed issueTransposeCommand and overrideMediaType.
6809         * WebCoreSupport/WebFrameLoaderClient.mm:
6810         (WebFrameLoaderClient::overrideMediaType): Changed to call WebView directly instead of
6811         using the bridge object.
6813 2007-11-06  Mark Rowe  <mrowe@apple.com>
6815         Rubber-stamped by Dave Kilzer.
6817         Move Mac files from WebKit into WebKit/mac.
6819         * Carbon: Copied from WebKit/Carbon.
6820         * ChangeLog: Copied from WebKit/ChangeLog.
6821         * ChangeLog-2002-12-03: Copied from WebKit/ChangeLog-2002-12-03.
6822         * ChangeLog-2006-02-09: Copied from WebKit/ChangeLog-2006-02-09.
6823         * ChangeLog-2007-10-14: Copied from WebKit/ChangeLog-2007-10-14.
6824         * Configurations: Copied from WebKit/Configurations.
6825         * DOM: Copied from WebKit/DOM.
6826         * DefaultDelegates: Copied from WebKit/DefaultDelegates.
6827         * ForwardingHeaders: Copied from WebKit/ForwardingHeaders.
6828         * History: Copied from WebKit/History.
6829         * Info.plist: Copied from WebKit/Info.plist.
6830         * MigrateHeaders.make: Copied from WebKit/MigrateHeaders.make.
6831         * Misc: Copied from WebKit/Misc.
6832         * Panels: Copied from WebKit/Panels.
6833         * Plugins: Copied from WebKit/Plugins.
6834         * PublicHeaderChangesFromTiger.txt: Copied from WebKit/PublicHeaderChangesFromTiger.txt.
6835         * Resources: Copied from WebKit/Resources.
6836         * WebCoreSupport: Copied from WebKit/WebCoreSupport.
6837         * WebInspector: Copied from WebKit/WebInspector.
6838         * WebKit.exp: Copied from WebKit/WebKit.exp.
6839         * WebKit.order: Copied from WebKit/WebKit.order.
6840         * WebKitPrefix.h: Copied from WebKit/WebKitPrefix.h.
6841         * WebView: Copied from WebKit/WebView.
6842         * icu: Copied from WebKit/icu.
6844 2007-11-06  Alexey Proskuryakov  <ap@webkit.org>
6846         Reviewed by Darin.
6848         http://bugs.webkit.org/show_bug.cgi?id=15847
6849         Some editing cleanup
6851         No change in functionality.
6853         * WebView/WebHTMLView.mm:
6854         (-[WebHTMLView deleteToEndOfLine:]):
6855         (-[WebHTMLView deleteToEndOfParagraph:]):
6856         WebCore had a duplicate of the same logic already. We are passing a boundary value to
6857         a function that expects granularity, this may need to be straightened out in the future.
6859 2007-11-05  John Sullivan  <sullivan@apple.com>
6861         * WebView/WebView.mm:
6862         (-[WebView _searchWithSpotlightFromMenu:]):
6864         Teeny style tweak to test svn access on other machine
6866 2007-11-05  John Sullivan  <sullivan@apple.com>
6868         * WebView/WebView.mm:
6869         (-[WebView computedStyleForElement:pseudoElement:]):
6870         
6871         Teeny style tweak to test svn access
6873 2007-11-02  Tristan O'Tierney  <tristan@apple.com>
6875         Reviewed by Darin Adler.
6877         * DefaultDelegates/WebDefaultUIDelegate.m:
6878         (-[WebDefaultUIDelegate webView:createWebViewWithRequest:windowFeatures:]):
6879         Forward the UI delegate to call webView:createWebViewWithRequest: if
6880         this method doesn't exist.
6881         
6882         * WebCoreSupport/WebFrameLoaderClient.mm:
6883         (WebFrameLoaderClient::dispatchCreatePage):
6884         * Plugins/WebBaseNetscapePluginView.mm:
6885         (-[WebBaseNetscapePluginView loadPluginRequest:]):
6886         * WebView/WebView.mm:
6887         (-[WebView _openNewWindowWithRequest:]):
6888         Revised to use new webView:createWebViewWithRequest:windowFeatures: callback.
6889         
6890         * WebCoreSupport/WebChromeClient.h:
6891         * WebCoreSupport/WebChromeClient.mm:
6892         (WebChromeClient::createWindow):
6893         Added a new createWindow that accepts 3 parameters, so we can pass up windowFeatures to the chrome.
6894         Removed createModalDialog to use new createWindow function.
6895         
6896         * WebView/WebUIDelegatePrivate.h:
6897         Added new webView:createWebViewWithRequest:windowFeatures: method.
6899 2007-11-05  Geoffrey Garen  <ggaren@apple.com>
6901         Reviewed by Darin Adler.
6902         
6903         http://bugs.webkit.org/show_bug.cgi?id=15835
6905         Small adaptations to new KJS::List class.
6907         * ForwardingHeaders/kjs/value.h: Added.
6909 2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
6911         Sort files(...); sections of Xcode project files.
6913         Rubber-stamped by Darin.
6915         * WebKit.xcodeproj/project.pbxproj:
6917 2007-11-02  Antti Koivisto  <antti@apple.com>
6919         Reviewed by Darin.
6920         
6921         Add method to enable video composition.
6923         * WebCoreSupport/WebSystemInterface.m:
6924         (InitWebCoreSystemInterface):
6926 2007-11-02  Darin Adler  <darin@apple.com>
6928         Reviewed by Mitz.
6930         - fix problem I ran into while doing some testing on Mac for
6931           <rdar://problem/5530185> WebKit does not show <object>
6932           fallback content when both URL and MIME type is omitted
6934         I don't know how to reproduce this failure in DumpRenderTree, so there is no
6935         regression test.
6937         * Plugins/WebNullPluginView.h: Removed some unneeded declarations, including
6938         the didSendError local variable. Instead we just set the error to nil once
6939         we've sent it.
6940         * Plugins/WebNullPluginView.mm:
6941         (-[WebNullPluginView initWithFrame:error:DOMElement:]): Refactored so that
6942         the null plug-in image code is separate from the rest of the function and
6943         so that the whole thing is not inside an if statement. Also don't hold a
6944         reference to the DOM element if there is no error to report.
6945         (-[WebNullPluginView reportFailure]): Added. Does the actual delegate
6946         callback. Happens back at the top level of the run loop so it doesn't
6947         fire deep inside layout. Also wrote this so that it is guaranteed not to
6948         reenter and so that it can handle the case where the delegate destroys
6949         the world (including this object). NOTE: This is not a real, general
6950         solution to the problem of plug-ins that do work inside layout. We will need
6951         a more general fix that works for other plug-ins, and we'll track that with
6952         a separate bug report.
6953         (-[WebNullPluginView viewDidMoveToWindow]): Removed most of the code;
6954         changed so it just does a performSelector:afterDelay:0.
6956 2007-11-02  Mark Rowe  <mrowe@apple.com>
6958         Reviewed by Darin Adler.
6960         Fix http://bugs.webkit.org/show_bug.cgi?id=15780
6961         Bug 15780: WebFrameLoaderClient: WebActionElementKey wrong if view is scrolled
6963         * WebCoreSupport/WebFrameLoaderClient.mm:
6964         (WebFrameLoaderClient::actionDictionary): Retrieve the mouse event coordinates
6965         in the page coordinate system rather than the client area coordinate system.
6967 2007-11-01  Dan Bernstein  <mitz@apple.com>
6969         Reviewed by Oliver Hunt.
6971         - fix an assertion failure when Command-Tabbing out of Safari
6973         * WebView/WebHTMLView.mm:
6974         (-[WebHTMLView flagsChanged:]): Avoid passing key code 0 down to
6975         WebCore.
6977 2007-11-01  Justin Garcia  <justin.garcia@apple.com>
6979         Reviewed by Oliver Hunt.
6980         
6981         <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply
6982         
6983         No need to match style when pasting plain text, since the fragment we build for plain text
6984         won't have any style information on it.
6986         * WebView/WebHTMLView.mm:
6987         (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]): There's no
6988         longer a need to know whether this function chosePlaintext.
6989         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
6990         (-[WebHTMLView _documentFragmentFromPasteboard:]):
6992 2007-10-31  Timothy Hatcher  <timothy@apple.com>
6994         Reviewed by John Sullivan.
6996         Move the developer extras preference to WebPreferences.
6998         * WebView/WebPreferenceKeysPrivate.h: Add WebKitDeveloperExtrasEnabledPreferenceKey
6999         * WebView/WebPreferences.m:
7000         (+[WebPreferences initialize]): Initialize WebKitDeveloperExtrasEnabledPreferenceKey to NO.
7001         (-[WebPreferences developerExtrasEnabled]): Check DisableWebKitDeveloperExtras, WebKitDeveloperExtras
7002           and IncludeDebugMenu in addition to WebKitDeveloperExtrasEnabledPreferenceKey.
7003         (-[WebPreferences setDeveloperExtrasEnabled:]): Set WebKitDeveloperExtrasEnabledPreferenceKey.
7004         * WebView/WebPreferencesPrivate.h: Add developerExtrasEnabled and setDeveloperExtrasEnabled:.
7005         * WebView/WebView.mm:
7006         (+[WebView _developerExtrasEnabled]): Removed.
7007         (-[WebView _preferencesChangedNotification:]): Check the WebPreferences object for developerExtrasEnabled.
7008         * WebView/WebViewPrivate.h: Removed _developerExtrasEnabled.
7010 2007-10-30  David D. Kilzer  <ddkilzer@webkit.org>
7012         Generated files missing from WebCore's Xcode project file
7013         <http://bugs.webkit.org/show_bug.cgi?id=15406>
7015         Reviewed by Darin.
7017         Added the following private header files to MigrateHeaders.make:
7019         - DOMCSSStyleSheetPrivate.h
7020         - DOMEventPrivate.h
7021         - DOMHTMLCollectionPrivate.h
7022         - DOMHTMLEmbedElementPrivate.h
7023         - DOMHTMLIFrameElementPrivate.h
7024         - DOMHTMLObjectElementPrivate.h
7025         - DOMHTMLSelectElementPrivate.h
7027         * MigrateHeaders.make:
7029 2007-10-29  Antti Koivisto  <antti@apple.com>
7031         Reviewed by Maciej.
7032         
7033         Some SPIs for media support.
7035         * WebCoreSupport/WebSystemInterface.m:
7036         (InitWebCoreSystemInterface):
7038 2007-10-29  Timothy Hatcher  <timothy@apple.com>
7040         Reviewed by John Sullivan.
7042         Various semi-related changes:
7043         - A WebView can now be asked for it's WebInspector. There is one
7044           WebInspector per WebView. 
7045         - Refactor the WebInspector class and move obsolete methods to
7046           a special category.
7047         - Add new WebInspector methods to show, hide and show the
7048           console/timeline panels.
7049         - Add an isDisabled method to WebCache.
7050         - Allow WebLocalizableStrings.h to be used in C files.
7052         * Misc/WebCache.h: Add isDisabled.
7053         * Misc/WebCache.mm:
7054         (+[WebCache isDisabled]): New method.
7056         * Misc/WebLocalizableStrings.h: Changes to allow use in plain C files.
7058         * WebCoreSupport/WebInspectorClient.mm:
7059         (-[WebInspectorWindowController showWindow:]): Call super if already visible
7060           so the window will be ordered front.
7061         (-[WebInspectorWindowController showWebInspector:]): Method used by menu items,
7062           so they are enabled and work when the Inspector window is key.
7063         (-[WebInspectorWindowController showErrorConsole:]): Ditto.
7064         (-[WebInspectorWindowController showNetworkTimeline:]): Ditto.
7066         * WebInspector/WebInspector.h: Add and remove methods.
7067         * WebInspector/WebInspector.mm:
7068         (-[WebInspector webViewClosed]): Called when the WebView is closed/dealloced.
7069           Clears the _webView pointer.
7070         (-[WebInspector show:]): Calls thru to the Page's InspectorController.
7071         (-[WebInspector showConsole:]): Ditto.
7072         (-[WebInspector showTimeline:]): Ditto.
7073         (-[WebInspector close:]): Ditto.
7074         (-[WebInspector attach:]): Ditto.
7075         (-[WebInspector detach:]): Ditto.
7076         (+[WebInspector sharedWebInspector]): Moved to the obsolete category.
7077         (+[WebInspector webInspector]): Ditto.
7078         (-[WebInspector setWebFrame:]): Ditto.
7079         (-[WebInspector window]): Ditto.
7080         (-[WebInspector showWindow:]): Ditto.
7082         * WebView/WebView.mm:
7083         (-[WebViewPrivate dealloc]): Release the WebInspector.
7084         (-[WebView _close]): Call webViewClosed on the WebInspector.
7085         (-[WebView inspector]): Create a WebInspector if needed and return it.
7086         * WebView/WebViewPrivate.h: Add the inspector method.
7088 2007-10-30  Adele Peterson  <adele@apple.com>
7090         Reviewed by Darin.
7092         WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
7093         <rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields
7095         * WebView/WebHTMLView.mm:
7096         (-[WebHTMLView flagsChanged:]): Call capsLockStateMayHaveChanged so WebCore knows it may have to update a password field.
7097         (+[WebHTMLView _postFlagsChangedEvent:]): Added a comment with a Radar number for why this isn't just in flagsChanged.
7098         (-[WebHTMLView scrollWheel:]): Instead of calling the next responder explicitly, we can just call super, which will take care of this.
7100 2007-10-27  Mark Ambachtsheer  <mark.a@apple.com>
7102         Reviewed by Darin.
7104         Fix for bug 15710, When QD plugins draw to an offscreen bitmap and the plugin is not at 
7105         (0, 0) the clipping rectangle is not correct.
7106         Added the origin to the window clip rectangle coordinates to account for plugins that
7107         don't originate at (0,0); affects code for offscreen GWorlds only.
7109         * Plugins/WebBaseNetscapePluginView.mm:
7110         (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
7112 2007-10-26  Adele Peterson  <adele@apple.com>
7114         Reviewed by Oliver.
7116         Adding WebKitSystemInterface support for the caps lock indicator
7118         * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
7120 2007-10-25  David Hyatt  <hyatt@apple.com>
7122         Fix for bug 15672, backgrounds don't tile properly inside transforms.  This patch fixes tiling
7123         of backgrounds inside CSS transforms and also of HTML content with background images inside SVG
7124         transforms.
7126         Reviewed by aroben and mmitz
7128         * WebCoreSupport/WebSystemInterface.m:
7129         (InitWebCoreSystemInterface):
7130         * WebKit.xcodeproj/project.pbxproj:
7132 2007-10-25  John Sullivan  <sullivan@apple.com>
7134         Reviewed by Tim Hatcher
7135         
7136         Removed the support for toggling whether WebKit uses the 10.5 PDFKit improvements. Now it
7137         always does, when available.
7139         * WebView/WebPreferencesPrivate.h:
7140         removed _usePDFPreviewView and _setUsePDFPreviewView:. Note that these were guarded with
7141         a comment that says that they can be removed when no longer needed. That time is now.
7143         * WebView/WebPreferences.m:
7144         (+[WebPreferences initialize]):
7145         removed WebKitUsePDFPreviewViewPreferenceKey
7146         (-[WebPreferences _usePDFPreviewView]):
7147         removed
7148         (-[WebPreferences _setUsePDFPreviewView:]):
7149         removed
7151         * WebView/WebPDFView.mm:
7152         (-[WebPDFView initWithFrame:]):
7153         don't check _usePDFPreviewView
7154         
7155         * WebView/WebPreferenceKeysPrivate.h:
7156         removed WebKitUsePDFPreviewViewPreferenceKey
7157         
7158 2007-10-24  Timothy Hatcher  <timothy@apple.com>
7160         Reviewed by Mark Rowe.
7162         <rdar://problem/5069711> OpenSource version of libWebKitSystemInterface.a is Tiger only, causes issues if used on Leopard
7164         Use the WebKitSystemInterface that matches the system version.
7166         * Configurations/DebugRelease.xcconfig:
7167         * WebKit.xcodeproj/project.pbxproj:
7169 2007-10-24  Brady Eidson  <beidson@apple.com>
7171         Reviewed by Anders
7173         <rdar://problem/5554130> DatabaseTracker.o has a global initializer
7175         * Misc/WebDatabaseManager.mm:
7176         (WebKitSetWebDatabasesPathIfNecessary): Call the member function instead of a static one
7178 2007-10-23  Mark Rowe  <mrowe@apple.com>
7180         Build fix for Eric's build fix in r26916.
7182         * MigrateHeaders.make:
7184 2007-10-22  Eric Seidel  <eric@webkit.org>
7186         Reviewed by Maciej.
7188         * MigrateHeaders.make: copy over font-face related DOM headers
7190 2007-10-22  Andrew Wellington  <proton@wiretapped.net>
7192         Reviewed by Mark Rowe.
7193         
7194         Fix for local database support after r26879
7195         Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set
7197         * Configurations/WebKit.xcconfig:
7199 2007-10-19  Brady Eidson <beidson@apple.com>
7201         Reviewed by Tim Hatcher
7203         Added support for Chrome prompts required by the Storage API
7204         Added support API for future managing of databases from the WebKit client
7205         Added preference and initialization for the databases path
7207         * Misc/WebDatabaseManager.h: Added.  WebDatabaseManager is how a WebKit application can list and
7208           remove the current available databases
7209         * Misc/WebDatabaseManager.mm: Added.
7210         (+[WebDatabaseManager origins]):
7211         (+[WebDatabaseManager databasesWithOrigin:]):
7212         (+[WebDatabaseManager deleteAllDatabases]):
7213         (+[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
7214         (+[WebDatabaseManager deleteDatabaseWithOrigin:named:]):
7215         (WebKitSetWebDatabasesPathIfNecessary): Setup the database path
7216         * Misc/WebDatabaseManagerPrivate.h: Added.
7218         * WebCoreSupport/WebChromeClient.h: Support for calling the delegate to run the prompt for 
7219           an origin exceeding its size limit
7220         * WebCoreSupport/WebChromeClient.mm:
7221         (WebChromeClient::runDatabaseSizeLimitPrompt):
7222         * WebKit.xcodeproj/project.pbxproj:
7223         * WebView/WebUIDelegate.h:
7225         * WebView/WebView.mm:
7226         (-[WebView _commonInitializationWithFrameName:groupName:]): Setup the database path
7227         * WebView/WebViewInternal.h:
7229 2007-10-19  John Sullivan  <sullivan@apple.com>
7231         Reviewed by Tim Hatcher
7232         
7233         - fixed <rdar://problem/5540325> REGRESSION (2.0.4-3): History menu looks odd after clearing history
7235         * History/WebHistory.mm:
7236         (-[WebHistoryPrivate removeAllItems]):
7237         This was fallout from r25275. We need to clear the orderedLastVisitedDays cache here, in addition
7238         to the other places where it's cleared.
7240 2007-10-18  Dan Bernstein  <mitz@apple.com>
7242         Tiger build fix.
7244         * WebView/WebDataSource.mm:
7245         (-[WebDataSource _MIMETypeOfResponse:]):
7247 2007-10-18  Dan Bernstein  <mitz@apple.com>
7249         Reviewed by Adam Roben.
7251         - fix <rdar://problem/5313523>
7252         REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
7254         * WebCoreSupport/WebFrameLoaderClient.mm:
7255         (WebFrameLoaderClient::makeDocumentView): Changed to use _responseMIMEType.
7256         * WebView/WebDataSource.mm:
7257         (-[WebDataSource _MIMETypeOfResponse:]): Added. Works around
7258         <rdar://problem/5321972> by testing for the case of an NSHTTPURLResponse
7259         with a MIMEType of application/octet-stream and a Content-Type header
7260         starting with text/plain and returning text/plain as the MIME type in
7261         that case.
7262         (-[WebDataSource _responseMIMEType]): Added. Used to get the correct
7263         response MIME type.
7264         (-[WebDataSource _isDocumentHTML]): Changed to use _responseMIMEType.
7265         (-[WebDataSource _makeRepresentation]): Ditto.
7266         (-[WebDataSource mainResource]): Ditto.
7267         (-[WebDataSource subresources]): Changed to use _MIMETypeOfResponse and
7268         pass the MIME type explicitly.
7269         (-[WebDataSource subresourceForURL:]): Ditto.
7270         * WebView/WebDataSourcePrivate.h:
7271         * WebView/WebFrameView.mm:
7272         (-[WebFrameView _makeDocumentViewForDataSource:]): Changed to use
7273         _responseMIMEType.
7274         * WebView/WebResource.mm:
7275         (-[WebResource _initWithData:URL:response:MIMEType:]): Changed this
7276         method to take a MIME type instead of extracting it from the response,
7277         so that WebDataSource could pass the correct MIME type.
7278         * WebView/WebResourcePrivate.h:
7280 2007-10-17  Darin Adler  <darin@apple.com>
7282         Reviewed by Mark Rowe.
7284         - fix <rdar://problem/5183775> Uninitialized memory in -[WebDynamicScrollBarsView updateScrollers]
7286         * WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]):
7287         Change code path so it doesn't dispatch a method that returns an NSSize passing a nil object.
7288         It's safe to do that for functions that return integers or pointers, but not structures.
7290 2007-10-16  David Kilzer  <ddkilzer@apple.com>
7292         Reviewed by Timothy.
7294         <rdar://problem/5544354> Wrong delegate method called in
7295         WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
7297         * WebCoreSupport/WebFrameLoaderClient.mm:
7298         (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Fixed selector name.
7300 2007-10-16  Darin Adler  <darin@apple.com>
7302         Reviewed by Adele.
7304         - moved transpose command implementation into WebCore
7306         * WebView/WebHTMLView.mm: Removed transpose: and replaced it with standard WebCore forwarding.
7308 2007-10-16  Darin Adler  <darin@apple.com>
7310         Reviewed by Maciej and Geoff (and looked over by Eric).
7312         - http://bugs.webkit.org/show_bug.cgi?id=15519
7313           eliminate use of <ctype.h> for processing ASCII
7315         * ForwardingHeaders/wtf/ASCIICType.h: Added.
7316         * ForwardingHeaders/wtf/DisallowCType.h: Added.
7318         * WebKitPrefix.h: Include DisallowCType.h.
7320         * Misc/WebNSURLExtras.mm: (-[NSURL _web_URLWithLowercasedScheme]): Use toASCIILower.
7321         * WebView/WebHTMLView.mm:
7322         (-[WebHTMLView callWebCoreCommand:]): Use toASCIIUpper.
7323         (-[WebTextCompleteController filterKeyDown:]): Add a list of specific character codes,
7324         instead of using ispunct.
7326 2007-10-16  John Sullivan  <sullivan@apple.com>
7328         Reviewed by Adam Roben
7329         
7330         Cleaned up localizable strings
7332         * English.lproj/Localizable.strings:
7333         updated
7334         * StringsNotToBeLocalized.txt:
7335         updated
7336         * WebKit.xcodeproj/project.pbxproj:
7337         StringsNotToBeLocalized.txt recently moved but project file wasn't updated to match; now it is
7339 2007-10-15  Kevin Decker  <kdecker@apple.com>
7341         Reviewed by Darin Adler.
7342         
7343         Fixed: <rdar://problem/5520541> REGRESSION: Broken image when forwarding certain email on Tiger
7344         
7345         * WebCoreSupport/WebFrameBridge.mm: The problem was that we were loading Mail's WebKit plug-in
7346         too soon, which borked some necessary housekeeping on behalf of Mail. The fix is to add a quirk
7347         that treats Tiger Mail's WebKit plug-in like a Netscape plug-in, thus ensuring the plug-in will
7348         load during first layout and not attach time. For this plug-in, loading at first layout is 
7349         expected and is consistent with Safari 2 behavior.
7351 2007-10-15  John Sullivan  <sullivan@apple.com>
7353         Reviewed by Geoff Garen
7354         
7355         Replaced NS_DURING/NS_HANDLER with @try/@catch throughout WebKit
7357         I made the following changes:
7358         - replaced NS_DURING with @try, and added opening brace if there wasn't one
7359         - replaced NS_HANDLER with @catch (NSException *localException), and added braces if there weren't any
7360         - removed NS_ENDHANDLER, and added a closing brace if there wasn't one
7361         - in a couple of places, fixed indentation therein
7363         * Misc/WebIconDatabase.mm:
7364         (objectFromPathForKey):
7365         * WebView/WebHTMLView.mm:
7366         (-[WebHTMLView drawSingleRect:]):
7367         (-[WebHTMLView beginDocument]):
7368         (-[WebHTMLView deleteToMark:]):
7369         * WebView/WebView.mm:
7370         (-[WebView initWithCoder:]):
7372 == Rolled over to ChangeLog-2007-10-14 ==